{"version":3,"file":"static/js/main.24a20038.js","mappings":";uBAAA,SAASA,EAAyBC,GAGjC,OAAOC,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBL,EAAM,KAEjD,MADAI,EAAEE,KAAO,mBACHF,CAAC,GAET,CACAL,EAAyBQ,KAAO,IAAM,GACtCR,EAAyBG,QAAUH,EACnCA,EAAyBS,GAAK,MAC9BC,EAAOC,QAAUX,sCCXjB,IAAIY,EAAmBC,MAAQA,KAAKD,kBAAqBE,OAAOC,OAAU,SAASC,EAAGC,EAAGC,EAAGC,QAC7EC,IAAPD,IAAkBA,EAAKD,GAC3B,IAAIG,EAAOP,OAAOQ,yBAAyBL,EAAGC,GACzCG,KAAS,QAASA,GAAQJ,EAAEM,WAAaF,EAAKG,UAAYH,EAAKI,gBAClEJ,EAAO,CAAEK,YAAY,EAAMC,IAAK,WAAa,OAAOV,EAAEC,EAAI,IAE5DJ,OAAOc,eAAeZ,EAAGG,EAAIE,EACjC,EAAM,SAASL,EAAGC,EAAGC,EAAGC,QACTC,IAAPD,IAAkBA,EAAKD,GAC3BF,EAAEG,GAAMF,EAAEC,EACd,GACIW,EAAgBhB,MAAQA,KAAKgB,cAAiB,SAASZ,EAAGN,GAC1D,IAAK,IAAImB,KAAKb,EAAa,YAANa,GAAoBhB,OAAOiB,UAAUC,eAAeC,KAAKtB,EAASmB,IAAIlB,EAAgBD,EAASM,EAAGa,EAC3H,EACAnB,EAAQY,YAAa,EACrBM,EAAaK,EAAQ,OAAYvB,iCCZjCA,EAAQY,YAAa,EACrBZ,EAAQwB,0BAAuB,EAC/B,IAAIC,EAAWF,EAAQ,OACnBG,EAAO,CACP,CACIC,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,uBACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,QACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,uBACdF,KAAM,SACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,sBACNG,KAAM,YAGdH,KAAM,iBACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,iBACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,aAGVP,EAAsC,WACtC,SAASA,IACT,CAQA,OAPAA,EAAqBU,gBAAkB,WACnC,OAAO,IAAIT,EAASU,MAAMC,UAAUV,EACxC,EACAF,EAAqBa,QAAU,SAAUC,EAASC,GAC9C,OAAO,IAAId,EAASe,SAASF,EAASZ,EAAMa,EAChD,EACAf,EAAqBiB,IAAMf,EACpBF,CACX,CAX0C,GAY1CxB,EAAQwB,qBAAuBA,gCCjI/BxB,EAAQY,YAAa,EACrBZ,EAAQ0C,4BAAyB,EACjC,IAAIjB,EAAWF,EAAQ,OACnBG,EAAO,CACP,CACIiB,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,gBACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,WACNG,KAAM,YAGdH,KAAM,uBACNG,KAAM,SAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,SACdF,KAAM,kBACNG,KAAM,WAGdH,KAAM,WACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,UACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,uBACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,QACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,6BACdF,KAAM,OACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,UACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,gBACNG,KAAM,YAGdH,KAAM,SACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,oBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,WACNG,KAAM,YAGdH,KAAM,oBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,cACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,uBACdF,KAAM,SACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,0BACNC,QAAS,CACL,CACIC,aAAc,QACdF,KAAM,UACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,iBACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,kBACNG,KAAM,YAGdH,KAAM,gBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,kBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,aACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,aAGVW,EAAwC,WACxC,SAASA,IACT,CAQA,OAPAA,EAAuBR,gBAAkB,WACrC,OAAO,IAAIT,EAASU,MAAMC,UAAUV,EACxC,EACAgB,EAAuBL,QAAU,SAAUC,EAASC,GAChD,OAAO,IAAId,EAASe,SAASF,EAASZ,EAAMa,EAChD,EACAG,EAAuBD,IAAMf,EACtBgB,CACX,CAX4C,GAY5C1C,EAAQ0C,uBAAyBA,sCC9QjC,IAAIG,EAAa3C,MAAQA,KAAK2C,WAAe,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3C,OAAO8C,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAI7B,KAAK6B,EAAO7C,OAAOiB,UAAUC,eAAeC,KAAK0B,EAAG7B,KAAI4B,EAAE5B,GAAK6B,EAAE7B,GAAI,EAC7F2B,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAII,UAAU,uBAAyBC,OAAOL,GAAK,iCAE7D,SAASM,IAAOpD,KAAKqD,YAAcR,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAa7C,OAAOC,OAAO4C,IAAMM,EAAGlC,UAAY4B,EAAE5B,UAAW,IAAIkC,EACnF,CACJ,CAd6C,GAe7CtD,EAAQY,YAAa,EACrBZ,EAAQwD,sCAAmC,EAI3C,IAAI/B,EAAWF,EAAQ,OACnBG,EAAO,CACP,CACIC,OAAQ,CACJ,CACIG,aAAc,uBACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,aACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,eAEV,CACIJ,OAAQ,GACRC,KAAM,wBACNC,QAAS,CACL,CACIC,aAAc,4BACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,OACNG,KAAM,WAEV,CACID,aAAc,aACdF,KAAM,aACNG,KAAM,eAGdH,KAAM,gBACNC,QAAS,CACL,CACIC,aAAc,4BACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,OACNG,KAAM,WAEV,CACID,aAAc,aACdF,KAAM,aACNG,KAAM,eAGdH,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,aAGV0B,EAAY,i8uBAEZD,EAAkD,SAAUE,GAE5D,SAASF,IAEL,IADA,IAAIG,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GASzB,OANgBD,EAToBG,OAAS,EAUjCJ,EAAOK,MAAM7D,KAAMyD,IAASzD,KAG5BwD,EAAOpC,KAAKpB,KAAMwB,EAAM+B,EAAWE,EAAK,KAAOzD,IAG/D,CAqBA,OAnCA2C,EAAUW,EAAkCE,GAe5CF,EAAiCpC,UAAU4C,OAAS,SAAUC,EAAYC,EAAYC,GAClF,OAAOT,EAAOtC,UAAU4C,OAAO1C,KAAKpB,KAAM+D,EAAYC,EAAYC,GAAa,CAAC,EACpF,EACAX,EAAiCpC,UAAUgD,qBAAuB,SAAUH,EAAYC,EAAYC,GAChG,OAAOT,EAAOtC,UAAUgD,qBAAqB9C,KAAKpB,KAAM+D,EAAYC,EAAYC,GAAa,CAAC,EAClG,EACAX,EAAiCpC,UAAUiD,OAAS,SAAU/B,GAC1D,OAAOoB,EAAOtC,UAAUiD,OAAO/C,KAAKpB,KAAMoC,EAC9C,EACAkB,EAAiCpC,UAAUiB,QAAU,SAAUiC,GAC3D,OAAOZ,EAAOtC,UAAUiB,QAAQf,KAAKpB,KAAMoE,EAC/C,EACAd,EAAiCtB,gBAAkB,WAC/C,OAAO,IAAIT,EAASU,MAAMC,UAAUV,EACxC,EACA8B,EAAiCnB,QAAU,SAAUC,EAASC,GAC1D,OAAO,IAAId,EAASe,SAASF,EAASZ,EAAMa,EAChD,EACAiB,EAAiCe,SAAWd,EAC5CD,EAAiCf,IAAMf,EAChC8B,CACX,CArCsD,CAqCpD/B,EAAS+C,iBACXxE,EAAQwD,iCAAmCA,sCC5I3C,IAAIX,EAAa3C,MAAQA,KAAK2C,WAAe,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3C,OAAO8C,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAI7B,KAAK6B,EAAO7C,OAAOiB,UAAUC,eAAeC,KAAK0B,EAAG7B,KAAI4B,EAAE5B,GAAK6B,EAAE7B,GAAI,EAC7F2B,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAII,UAAU,uBAAyBC,OAAOL,GAAK,iCAE7D,SAASM,IAAOpD,KAAKqD,YAAcR,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAa7C,OAAOC,OAAO4C,IAAMM,EAAGlC,UAAY4B,EAAE5B,UAAW,IAAIkC,EACnF,CACJ,CAd6C,GAe7CtD,EAAQY,YAAa,EACrBZ,EAAQyE,+BAA4B,EAIpC,IAAIhD,EAAWF,EAAQ,OACnBG,EAAO,CACP,CACIC,OAAQ,CACJ,CACIG,aAAc,uBACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,eAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,gBACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,WACNG,KAAM,YAGdH,KAAM,eACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,iBACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,QACdF,KAAM,UACNG,KAAM,UAGdH,KAAM,cACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,aACdF,KAAM,eACNG,KAAM,cAEV,CACIa,SAAS,EACTd,aAAc,aACdF,KAAM,eACNG,KAAM,eAGdH,KAAM,mBACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,uBACdF,KAAM,aACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,QACNG,KAAM,YAGdH,KAAM,2BACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,iBACNG,KAAM,YAGdH,KAAM,WACNG,KAAM,SAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,uBACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,OACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,OACNG,KAAM,UAGdH,KAAM,UACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,YACdF,KAAM,OACNG,KAAM,aAEV,CACID,aAAc,UACdF,KAAM,OACNG,KAAM,YAGdH,KAAM,eACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,kBACNC,QAAS,CACL,CACIC,aAAc,aACdF,KAAM,GACNG,KAAM,eAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,aACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,aACdF,KAAM,aACNG,KAAM,eAGdH,KAAM,aACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,QACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,QACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,gBACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,oBACNG,KAAM,YAGdH,KAAM,YACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,oBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,OACNG,KAAM,UAGdH,KAAM,mBACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,uBACdF,KAAM,SACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,sBACNG,KAAM,YAGdH,KAAM,iBACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,iBACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,kBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,oBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIC,gBAAiB,UACjBD,KAAM,YAGV0B,EAAY,i5gBAEZgB,EAA2C,SAAUf,GAErD,SAASe,IAEL,IADA,IAAId,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GASzB,OANgBD,EAToBG,OAAS,EAUjCJ,EAAOK,MAAM7D,KAAMyD,IAASzD,KAG5BwD,EAAOpC,KAAKpB,KAAMwB,EAAM+B,EAAWE,EAAK,KAAOzD,IAG/D,CAqBA,OAnCA2C,EAAU4B,EAA2Bf,GAerCe,EAA0BrD,UAAU4C,OAAS,SAAUU,EAAcC,EAAcR,GAC/E,OAAOT,EAAOtC,UAAU4C,OAAO1C,KAAKpB,KAAMwE,EAAcC,EAAcR,GAAa,CAAC,EACxF,EACAM,EAA0BrD,UAAUgD,qBAAuB,SAAUM,EAAcC,EAAcR,GAC7F,OAAOT,EAAOtC,UAAUgD,qBAAqB9C,KAAKpB,KAAMwE,EAAcC,EAAcR,GAAa,CAAC,EACtG,EACAM,EAA0BrD,UAAUiD,OAAS,SAAU/B,GACnD,OAAOoB,EAAOtC,UAAUiD,OAAO/C,KAAKpB,KAAMoC,EAC9C,EACAmC,EAA0BrD,UAAUiB,QAAU,SAAUiC,GACpD,OAAOZ,EAAOtC,UAAUiB,QAAQf,KAAKpB,KAAMoE,EAC/C,EACAG,EAA0BvC,gBAAkB,WACxC,OAAO,IAAIT,EAASU,MAAMC,UAAUV,EACxC,EACA+C,EAA0BpC,QAAU,SAAUC,EAASC,GACnD,OAAO,IAAId,EAASe,SAASF,EAASZ,EAAMa,EAChD,EACAkC,EAA0BF,SAAWd,EACrCgB,EAA0BhC,IAAMf,EACzB+C,CACX,CArC+C,CAqC7ChD,EAAS+C,iBACXxE,EAAQyE,0BAA4BA,sCC/dpC,IAAI5B,EAAa3C,MAAQA,KAAK2C,WAAe,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3C,OAAO8C,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAI7B,KAAK6B,EAAO7C,OAAOiB,UAAUC,eAAeC,KAAK0B,EAAG7B,KAAI4B,EAAE5B,GAAK6B,EAAE7B,GAAI,EAC7F2B,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAII,UAAU,uBAAyBC,OAAOL,GAAK,iCAE7D,SAASM,IAAOpD,KAAKqD,YAAcR,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAa7C,OAAOC,OAAO4C,IAAMM,EAAGlC,UAAY4B,EAAE5B,UAAW,IAAIkC,EACnF,CACJ,CAd6C,GAe7CtD,EAAQY,YAAa,EACrBZ,EAAQ4E,+BAA4B,EAIpC,IAAInD,EAAWF,EAAQ,OACnBG,EAAO,CACP,CACIC,OAAQ,CACJ,CACIG,aAAc,uBACdF,KAAM,cACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,eAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,gBACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,WACNG,KAAM,YAGdH,KAAM,uBACNG,KAAM,SAEV,CACIJ,OAAQ,GACRC,KAAM,eACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,gBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,SACdF,KAAM,kBACNG,KAAM,WAGdH,KAAM,WACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,mBACdF,KAAM,mBACNG,KAAM,YAGdH,KAAM,WACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,GACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdH,KAAM,WACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,UACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,cACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,uBACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,aACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,mBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,GACNG,KAAM,YAGdH,KAAM,UACNC,QAAS,CACL,CACIC,aAAc,mBACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,QACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,6BACdF,KAAM,OACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,UACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,gBACNG,KAAM,YAGdH,KAAM,SACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,oBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,WACNG,KAAM,YAGdH,KAAM,oBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdH,KAAM,cACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,cACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,GACRC,KAAM,qBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,uBACdF,KAAM,SACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,0BACNC,QAAS,CACL,CACIC,aAAc,QACdF,KAAM,UACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,iBACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,kBACNG,KAAM,YAGdH,KAAM,gBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,kBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,aACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,kBACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,mBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,aAGV0B,EAAY,u1fAEZmB,EAA2C,SAAUlB,GAErD,SAASkB,IAEL,IADA,IAAIjB,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GASzB,OANgBD,EAToBG,OAAS,EAUjCJ,EAAOK,MAAM7D,KAAMyD,IAASzD,KAG5BwD,EAAOpC,KAAKpB,KAAMwB,EAAM+B,EAAWE,EAAK,KAAOzD,IAG/D,CAqBA,OAnCA2C,EAAU+B,EAA2BlB,GAerCkB,EAA0BxD,UAAU4C,OAAS,SAAUa,EAAaV,GAChE,OAAOT,EAAOtC,UAAU4C,OAAO1C,KAAKpB,KAAM2E,EAAaV,GAAa,CAAC,EACzE,EACAS,EAA0BxD,UAAUgD,qBAAuB,SAAUS,EAAaV,GAC9E,OAAOT,EAAOtC,UAAUgD,qBAAqB9C,KAAKpB,KAAM2E,EAAaV,GAAa,CAAC,EACvF,EACAS,EAA0BxD,UAAUiD,OAAS,SAAU/B,GACnD,OAAOoB,EAAOtC,UAAUiD,OAAO/C,KAAKpB,KAAMoC,EAC9C,EACAsC,EAA0BxD,UAAUiB,QAAU,SAAUiC,GACpD,OAAOZ,EAAOtC,UAAUiB,QAAQf,KAAKpB,KAAMoE,EAC/C,EACAM,EAA0B1C,gBAAkB,WACxC,OAAO,IAAIT,EAASU,MAAMC,UAAUV,EACxC,EACAkD,EAA0BvC,QAAU,SAAUC,EAASC,GACnD,OAAO,IAAId,EAASe,SAASF,EAASZ,EAAMa,EAChD,EACAqC,EAA0BL,SAAWd,EACrCmB,EAA0BnC,IAAMf,EACzBkD,CACX,CArC+C,CAqC7CnD,EAAS+C,iBACXxE,EAAQ4E,0BAA4BA,sCC1fpC,IAAI/B,EAAa3C,MAAQA,KAAK2C,WAAe,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3C,OAAO8C,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAI7B,KAAK6B,EAAO7C,OAAOiB,UAAUC,eAAeC,KAAK0B,EAAG7B,KAAI4B,EAAE5B,GAAK6B,EAAE7B,GAAI,EAC7F2B,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAII,UAAU,uBAAyBC,OAAOL,GAAK,iCAE7D,SAASM,IAAOpD,KAAKqD,YAAcR,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAa7C,OAAOC,OAAO4C,IAAMM,EAAGlC,UAAY4B,EAAE5B,UAAW,IAAIkC,EACnF,CACJ,CAd6C,GAe7CtD,EAAQY,YAAa,EACrBZ,EAAQ8E,yBAAsB,EAI9B,IAAIrD,EAAWF,EAAQ,OACnBG,EAAO,CACP,CACIC,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,WACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,OACNG,KAAM,WAEV,CACID,aAAc,SACdF,KAAM,aACNG,KAAM,UAEV,CACID,aAAc,SACdF,KAAM,aACNG,KAAM,UAEV,CACID,aAAc,OACdF,KAAM,gBACNG,KAAM,QAEV,CACID,aAAc,QACdF,KAAM,eACNG,KAAM,UAGdH,KAAM,kBACNG,KAAM,SAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,SACdF,KAAM,SACNG,KAAM,WAGdH,KAAM,WACNG,KAAM,SAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,sBACNG,KAAM,SAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,aACNG,KAAM,YAGdH,KAAM,4BACNG,KAAM,SAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,WACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,OACdF,KAAM,YACNG,KAAM,QAEV,CACID,aAAc,SACdF,KAAM,aACNG,KAAM,UAEV,CACID,aAAc,SACdF,KAAM,aACNG,KAAM,UAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,UAGdD,aAAc,gCACdF,KAAM,aACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,aACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,cACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,gBACNG,KAAM,UAGdH,KAAM,mBACNG,KAAM,SAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,WACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,OACdF,KAAM,YACNG,KAAM,QAEV,CACID,aAAc,SACdF,KAAM,aACNG,KAAM,UAEV,CACID,aAAc,SACdF,KAAM,aACNG,KAAM,UAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,UAGdD,aAAc,gCACdF,KAAM,aACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,aACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,cACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,gBACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACIE,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,yCACdF,KAAM,iBACNG,KAAM,UAGdH,KAAM,kCACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,YACNG,KAAM,YAGdH,KAAM,kBACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,eACNG,KAAM,YAGdH,KAAM,YACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,aACNG,KAAM,YAGdH,KAAM,6BACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,cACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,kBACNG,KAAM,YAGdH,KAAM,cACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,eACNG,KAAM,YAGdH,KAAM,gBACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,kBACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,iBACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,YACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,OACdF,KAAM,UACNG,KAAM,QAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,gBACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,gBACNG,KAAM,YAGdH,KAAM,qBACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,QACdF,KAAM,eACNG,KAAM,UAGdH,KAAM,4BACNG,KAAM,SAEV,CACIY,WAAW,EACXhB,OAAQ,CACJ,CACIiB,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,kBACNG,KAAM,WAEV,CACIa,SAAS,EACTd,aAAc,UACdF,KAAM,SACNG,KAAM,YAGdH,KAAM,YACNG,KAAM,SAEV,CACIJ,OAAQ,GACRC,KAAM,wBACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,UAGdH,KAAM,8BACNC,QAAS,GACTG,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,SACdF,KAAM,kBACNG,KAAM,WAGdH,KAAM,WACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,YACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,YACNC,QAAS,GACTG,gBAAiB,UACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdH,KAAM,WACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,OACdF,KAAM,SACNG,KAAM,QAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,SACdF,KAAM,kBACNG,KAAM,UAEV,CACID,aAAc,SACdF,KAAM,eACNG,KAAM,WAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,UACdF,KAAM,UACNG,KAAM,YAGdH,KAAM,iBACNC,QAAS,CACL,CACII,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,OACdF,KAAM,SACNG,KAAM,QAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,SACdF,KAAM,kBACNG,KAAM,UAEV,CACID,aAAc,SACdF,KAAM,eACNG,KAAM,WAGdD,aAAc,mCACdF,KAAM,OACNG,KAAM,UAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,QACdF,KAAM,WACNG,KAAM,UAGdH,KAAM,mBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,uBACdF,KAAM,SACNG,KAAM,UAGdH,KAAM,gBACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,GACNG,KAAM,YAGdC,gBAAiB,OACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIA,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,yBACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,uBACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,4CACdF,KAAM,mBACNG,KAAM,WAEV,CACID,aAAc,kBACdF,KAAM,cACNG,KAAM,YAGdH,KAAM,sBACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,YACNG,KAAM,UAGdD,aAAc,yBACdF,KAAM,MACNG,KAAM,WAEV,CACID,aAAc,kBACdF,KAAM,cACNG,KAAM,YAGdH,KAAM,YACNC,QAAS,GACTG,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIG,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACIE,WAAY,CACR,CACIA,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,YACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,YAGdD,aAAc,iCACdF,KAAM,UACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,aACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,UACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,gBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,WACNG,KAAM,YAGdD,aAAc,+BACdF,KAAM,SACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,UACNG,KAAM,UAGdH,KAAM,gBACNC,QAAS,CACL,CACIC,aAAc,UACdF,KAAM,gBACNG,KAAM,YAGdC,gBAAiB,aACjBD,KAAM,YAEV,CACIJ,OAAQ,CACJ,CACIM,WAAY,CACR,CACIH,aAAc,UACdF,KAAM,SACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,QACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,QACdF,KAAM,WACNG,KAAM,SAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,qBACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,eACNG,KAAM,WAEV,CACID,aAAc,UACdF,KAAM,uBACNG,KAAM,WAEV,CACID,aAAc,QACdF,KAAM,mBACNG,KAAM,SAEV,CACID,aAAc,QACdF,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ACjBD,KAAM,aAEFw0M,GAAkB,CAAC,CACvBx0M,KAAM,WACNC,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,0BACND,OAAQ,GACRE,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,4BACND,OAAQ,CAAC,CACPC,KAAM,eACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,yBACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,uBACNG,KAAM,UACND,aAAc,2CACdG,WAAY,CAAC,CACXL,KAAM,iBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,SACNG,KAAM,QACND,aAAc,0CACdG,WAAY,CAAC,CACXL,KAAM,+BACNG,KAAM,OACND,aAAc,QACb,CACDF,KAAM,qBACNG,KAAM,WACND,aAAc,YACb,CACDF,KAAM,sBACNG,KAAM,WACND,aAAc,YACb,CACDF,KAAM,oBACNG,KAAM,UACND,aAAc,6CACdG,WAAY,CAAC,CACXL,KAAM,WACNG,KAAM,SACND,aAAc,YAEf,CACDF,KAAM,oBACNG,KAAM,UACND,aAAc,6CACdG,WAAY,CAAC,CACXL,KAAM,WACNG,KAAM,SACND,aAAc,UACb,CACDF,KAAM,iBACNG,KAAM,UACND,aAAc,kBAKtBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,gCACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,UACND,aAAc,kDACdG,WAAY,CAAC,CACXL,KAAM,WACNG,KAAM,SACND,aAAc,UACb,CACDF,KAAM,OACNG,KAAM,QACND,aAAc,qCAGlBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,aACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,cACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,OACND,aAAc,SAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,aACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,OACND,aAAc,SAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,mBACND,OAAQ,CAAC,CACPC,KAAM,aACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,QACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,SACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,6BACND,OAAQ,CAAC,CACPC,KAAM,eACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,SACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,oBACND,OAAQ,GACRE,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,gBACND,OAAQ,CAAC,CACPC,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,2BACND,OAAQ,GACRE,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,cACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,GACTG,gBAAiB,WAChB,CACDD,KAAM,WACNH,KAAM,UACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,oBACND,OAAQ,CAAC,CACP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ACRE,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,UACND,aAAc,yBAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,UACND,OAAQ,CAAC,CACPC,KAAM,UACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,YACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,eACND,OAAQ,CAAC,CACPC,KAAM,UACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,SACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,YACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,UACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,sBACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,UACNG,KAAM,UACND,aAAc,iDACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,kBACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,iCACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,iBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,cAGlBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,eACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,YACND,aAAc,cAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,gBACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,UACNG,KAAM,UACND,aAAc,iDACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,kBACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,iCACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,iBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,cAGlBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,iBACND,OAAQ,CAAC,CACPC,KAAM,QACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,WACND,OAAQ,GACRE,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,0BACND,OAAQ,CAAC,CACPC,KAAM,SACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,QACND,aAAc,+CACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,kBACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,iCACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,iBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,cAGlBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,aACND,OAAQ,CAAC,CACPC,KAAM,gBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,iBACND,OAAQ,CAAC,CACPC,KAAM,SACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,OACND,aAAc,SAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,UACND,OAAQ,CAAC,CACPC,KAAM,WACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,OACND,aAAc,SAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,mBACND,OAAQ,CAAC,CACPC,KAAM,QACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,aACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,CAAC,CACRD,KAAM,aACNG,KAAM,SACND,aAAc,WAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,gBACND,OAAQ,CAAC,CACPC,KAAM,UACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,UACNG,KAAM,QACND,aAAc,uBACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,WACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,WACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,uBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,qBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,uBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,mBACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,YACNG,KAAM,QACND,aAAc,YAGlBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,OACND,aAAc,SAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,YACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,UACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,yBACND,OAAQ,CAAC,CACPC,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,GACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,GACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,SACND,aAAc,WAEhBE,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,oBACND,OAAQ,CAAC,CACPC,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,SACND,aAAc,WAEhBE,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,mBACND,OAAQ,CAAC,CACPC,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,GACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,SACND,aAAc,WAEhBE,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,iBACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,SACND,aAAc,WAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,wBACND,OAAQ,CAAC,CACPC,KAAM,sBACNG,KAAM,UACND,aAAc,yBAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,0BACND,OAAQ,CAAC,CACPC,KAAM,OACNG,KAAM,QACND,aAAc,qDACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,UACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,kBACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,iCACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,2BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,yBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,4BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,0BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,MACNG,KAAM,UACND,aAAc,aAEf,CACDF,KAAM,aACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,oBACND,OAAQ,CAAC,CACPC,KAAM,cACNG,KAAM,SACND,aAAc,WAEhBD,QAAS,CAAC,CACRD,KAAM,GACNG,KAAM,OACND,aAAc,SAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,iBACND,OAAQ,CAAC,CACPC,KAAM,SACNG,KAAM,QACND,aAAc,uBACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,QACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,WACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,WACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,uBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,qBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,eACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,uBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,mBACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,YACNG,KAAM,QACND,aAAc,WAEf,CACDF,KAAM,aACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,sBACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,CAAC,CACRD,KAAM,iBACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,cAChB,CACDD,KAAM,WACNH,KAAM,gCACND,OAAQ,CAAC,CACPC,KAAM,MACNG,KAAM,QACND,aAAc,qDACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,UACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,kBACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,iCACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,2BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,yBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,4BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,0BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,MACNG,KAAM,UACND,aAAc,aAEf,CACDF,KAAM,YACNG,KAAM,QACND,aAAc,UAEhBD,QAAS,CAAC,CACRD,KAAM,UACNG,KAAM,OACND,aAAc,QACb,CACDF,KAAM,SACNG,KAAM,UACND,aAAc,YAEhBE,gBAAiB,QAChB,CACDD,KAAM,WACNH,KAAM,oBACND,OAAQ,CAAC,CACPC,KAAM,kBACNG,KAAM,UACND,aAAc,mBACb,CACDF,KAAM,SACNG,KAAM,UACND,aAAc,YAEhBD,QAAS,GACTG,gBAAiB,cAChB,CACDD,KAAM,QACNH,KAAM,eACND,OAAQ,CAAC,CACPC,KAAM,SACNG,KAAM,UACNa,SAAS,EACTd,aAAc,WACb,CACDF,KAAM,UACNG,KAAM,OACNa,SAAS,EACTd,aAAc,SAEhBa,WAAW,GACV,CACDZ,KAAM,QACNH,KAAM,qBACND,OAAQ,CAAC,CACPC,KAAM,UACNG,KAAM,SACNa,SAAS,EACTd,aAAc,UACb,CACDF,KAAM,SACNG,KAAM,SACNa,SAAS,EACTd,aAAc,WAEhBa,WAAW,GACV,CACDZ,KAAM,QACNH,KAAM,cACND,OAAQ,CAAC,CACPC,KAAM,UACNG,KAAM,QACNa,SAAS,EACTd,aAAc,UAEhBa,WAAW,GACV,CACDZ,KAAM,QACNH,KAAM,2BACND,OAAQ,CAAC,CACPC,KAAM,oBACNG,KAAM,UACNa,SAAS,EACTd,aAAc,WACb,CACDF,KAAM,eACNG,KAAM,UACNa,SAAS,EACTd,aAAc,WACb,CACDF,KAAM,cACNG,KAAM,QACNa,SAAS,EACTd,aAAc,qDACdG,WAAY,CAAC,CACXL,KAAM,SACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,UACNG,KAAM,QACND,aAAc,SACb,CACDF,KAAM,kBACNG,KAAM,YACND,aAAc,aACb,CACDF,KAAM,iCACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,2BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,yBACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,4BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,0BACNG,KAAM,UACND,aAAc,WACb,CACDF,KAAM,MACNG,KAAM,UACND,aAAc,cAGlBa,WAAW,IAGI,IAAIkqG,IA0DrB1d,eAAeowJ,EAAc3oM,EAAS63C,EAAU3M,GAC9C,MAAMtyD,GAAWsvF,EAAAA,EAAAA,IAAiBloE,EAAS,CACzC63C,WACA3M,cAEI3xD,SAAiBX,EAASU,cAAcC,QAC9C,OAAmB,MAAZA,GAA+B,MAAZA,GAA+B,MAAZA,CAC/C,iDCx3BA,MAAMw+E,EAAY,CAChB6wI,OAAQ,SACRpI,OAAQ,SACRqI,SAAU,WACVn6G,WAAY,aACZE,iBAAkB,mBAClBk6G,MAAO,QACPlF,QAAS,UACTtyG,YAAa,cACbt5B,UAAW,YACXw1E,SAAU,WACVu7D,MAAO,QACPC,QAAS,gBACT5+G,YAAa,cACbo6G,sBAAuB,wBACvBviE,KAAM,OACNgnE,MAAO,QACPl5G,eAAgB,iBAChBmkD,gBAAiB,kBACjBjnD,cAAe,gBACf80G,QAAS,UACTc,IAAK,MACLK,OAAQ,SACRjB,MAAO,QACPgC,MAAO,QACPnD,UAAW,4ECzBb,MAAM6B,EAAmB,mCACnBsC,EAAe,gCAMfwB,EAAyB,CAC7BC,cAAe,gBACfC,SAAU,WACVI,qBAAsB,sBACtBmC,oBAAqB,oBACrBC,uBAAwB,uBACxBC,uBAAwB,uBACxBtC,qBAAsB,sBACtBuC,aAAc,qMCVhB,MAAMC,EAAuB,CAAC,CAC5Bv9O,WAAW,EACXhB,OAAQ,CAAC,CACPiB,SAAS,EACTd,aAAc,UACdF,KAAM,QACNG,KAAM,WACL,CACDa,SAAS,EACTd,aAAc,UACdF,KAAM,UACNG,KAAM,WACL,CACDa,SAAS,EACTd,aAAc,UACdF,KAAM,QACNG,KAAM,YAERH,KAAM,WACNG,KAAM,SACL,CACDY,WAAW,EACXhB,OAAQ,CAAC,CACPiB,SAAS,EACTd,aAAc,UACdF,KAAM,OACNG,KAAM,WACL,CACDa,SAAS,EACTd,aAAc,UACdF,KAAM,KACNG,KAAM,WACL,CACDa,SAAS,EACTd,aAAc,UACdF,KAAM,QACNG,KAAM,YAERH,KAAM,WACNG,KAAM,SACL,CACDJ,OAAQ,CAAC,CACPG,aAAc,UACdF,KAAM,QACNG,KAAM,WACL,CACDD,aAAc,UACdF,KAAM,UACNG,KAAM,YAERH,KAAM,YACNC,QAAS,CAAC,CACRC,aAAc,UACdF,KAAM,GACNG,KAAM,YAERC,gBAAiB,OACjBD,KAAM,YACL,CACDJ,OAAQ,CAAC,CACPG,aAAc,UACdF,KAAM,UACNG,KAAM,WACL,CACDD,aAAc,UACdF,KAAM,QACNG,KAAM,YAERH,KAAM,UACNC,QAAS,CAAC,CACRC,aAAc,OACdF,KAAM,GACNG,KAAM,SAERC,gBAAiB,aACjBD,KAAM,YACL,CACDJ,OAAQ,CAAC,CACPG,aAAc,UACdF,KAAM,MACNG,KAAM,YAERH,KAAM,YACNC,QAAS,CAAC,CACRC,aAAc,UACdF,KAAM,GACNG,KAAM,YAERC,gBAAiB,OACjBD,KAAM,YACL,CACDJ,OAAQ,GACRC,KAAM,cACNC,QAAS,CAAC,CACRC,aAAc,UACdF,KAAM,GACNG,KAAM,YAERC,gBAAiB,OACjBD,KAAM,YACL,CACDJ,OAAQ,CAAC,CACPG,aAAc,UACdF,KAAM,KACNG,KAAM,WACL,CACDD,aAAc,UACdF,KAAM,QACNG,KAAM,YAERH,KAAM,WACNC,QAAS,CAAC,CACRC,aAAc,OACdF,KAAM,GACNG,KAAM,SAERC,gBAAiB,aACjBD,KAAM,YACL,CACDJ,OAAQ,CAAC,CACPG,aAAc,UACdF,KAAM,OACNG,KAAM,WACL,CACDD,aAAc,UACdF,KAAM,KACNG,KAAM,WACL,CACDD,aAAc,UACdF,KAAM,QACNG,KAAM,YAERH,KAAM,eACNC,QAAS,CAAC,CACRC,aAAc,OACdF,KAAM,GACNG,KAAM,SAERC,gBAAiB,aACjBD,KAAM,YACL,CACDJ,OAAQ,GACRC,KAAM,WACNC,QAAS,CAAC,CACRC,aAAc,QACdF,KAAM,GACNG,KAAM,UAERC,gBAAiB,OACjBD,KAAM,aAGR,SAASq2N,EAAY5oM,EAAUgwK,GAC7B,OAAO,IAAIh9L,EAAAA,GAASg9L,EAAiB0gD,EAAsB1wN,EAC7D,CAGA,SAASwvN,EAAqB7uN,EAASs+D,GACrC,MAAO,WAAWt+D,qBAA2Bs+D,EAAW,IAAIA,IAAa,KAA2B,qBAAfK,YAA8B,kBAAmBA,YAAgBA,WAAWC,cAAgB,aAAaD,WAAWC,gBAAkB,IAC7N,CAQA,MAAM6/I,UAAuBxpB,EAAAA,EAC3B7hN,WAAAA,GACEgY,SAAS1X,YAITmsO,EAAAA,EAAAA,GAAgB9vO,KAAM,OAAQ,MAChC,CAOA,gBAAMyb,GAEJ,aADqBzb,KAAKuxD,aACZ91C,YAChB,CAOA,gBAAM0T,GACJ,IAAIglF,EAAexwG,UAAUC,OAAS,QAAsBrD,IAAjBoD,UAAU,GAAmBA,UAAU,GAAKmuK,EAAAA,GACvF,MAAM1tK,QAAepE,KAAKuxD,YACpBnvD,QAAgBpC,KAAKyb,aAC3B,IAAKrX,EAAOkrB,SACV,MAAM,IAAI7vB,MAAM,6BAElB,IAAI4+C,EACJ,IAAI8oH,EAAAA,EAAAA,GAAchzD,GAChB91D,QAAgBj6C,EAAOkrB,SAASH,WAAW/sB,OACtC,CACL,MAAMmlK,EAAQ2wD,EAAY9zN,EAAQ+vG,GAClC91D,QAAgBkpH,EAAMryD,UAAU9yG,EAClC,CAGA,aAAaktL,EAAAA,EAAAA,GAAmBlrL,EAAOkrB,SAAU6kF,EAAc91D,EACjE,CAKA,gBAAMtuB,GAEJ,aADqB/vB,KAAKuxD,aACZxhC,YAChB,CASA,cAAMq5I,CAAS/4I,EAAIoyG,GACjB,IAAI68D,EAAkB37L,UAAUC,OAAS,QAAsBrD,IAAjBoD,UAAU,GAAmBA,UAAU,GAAKmuK,EAAAA,GAC1F,MAAM1tK,QAAepE,KAAKuxD,YACpB7oD,QAAa1I,KAAKyb,aACxB,IAAKrX,EAAOkrB,SACV,MAAM,IAAI7vB,MAAM,6BAElB,MAAMqJ,QAAcsoN,EAAAA,EAAAA,GAAoBhtN,EAAOkrB,SAAUmzG,EAAQ68D,GACjE,IAAIn4B,EAAAA,EAAAA,GAAcm4B,GAAkB,CAClC,MAAMv4K,GAAMkxM,EAAAA,EAAAA,GAAuB7zN,EAAOkrB,UACpClD,QAAWhoB,EAAOurB,gBAAgB,CACtCjnB,OACA2nB,KACAvnB,WACGie,IAEL,MAAO,CACLsV,cAAejQ,EAAG+P,OAEtB,CAAO,CACL,MAAMorI,EAAQ2wD,EAAY9zN,EAAQk7L,GAC5BlzK,QAAWm7I,EAAM6B,SAAS/4I,EAAIvnB,GACpC,MAAO,CACLuzB,cAAejQ,EAAG+P,OAEtB,CACF,CAOA,iBAAMnL,CAAYpV,GAChB,MAAMxX,QAAepE,KAAKuxD,YAC1B,aAAantD,EAAO4sB,YAAYpV,EAClC,CASA,qBAAMqkO,CAAgBrkO,EAAS4M,EAAWpmB,EAE1C2sG,GACE,IACE,MAAMqpH,EAAcn2N,EAAAA,EAAkB2Z,GAChCy8M,EAAmBp2N,EAAAA,SAAem2N,GAExC,GADyBn2N,EAAAA,eAAqBo2N,EAAkB7vM,KACvCpmB,EACvB,OAAO,CAEX,CAAE,MACA,CAEF,OAAO,CACT,8HCxQF,MAAM89O,UAAqBzR,EAAAA,EAyCzBprO,WAAAA,CAAY0C,GACNA,GAASuoF,OAASvoF,EAAQwoF,WAC5BxoF,EAAQuoF,OAAQQ,EAAAA,EAAAA,KAAgB/oF,EAAQuoF,MAAOvoF,EAAQwoF,WAEzDlzE,MAAM6kO,EAAatgP,GAAImG,IAOvB+pO,EAAAA,EAAAA,GAAgB9vO,KAAM,OAAQ,SAChC,CAKA,mBAAMmgP,GACJ,MAAM,gBACJC,SACQ,gCACJC,EAAkB,IAAID,EAAgB,CAC1CpzI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACPu6O,MAAOtgP,KAAK+F,SAASu6O,MACrBrwN,QAASjwB,KAAK+F,SAASuoF,OAAOr+D,WAIlC,OADAjwB,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa+Q,GAC3BrgP,KAAKgvO,SACd,CACA,kBAAMC,GACJ,OAAKjvO,KAAKgvO,UAGH3vO,QAAQC,QAAQU,KAAKgvO,iBAFbhvO,KAAKmgP,eAGtB,GAKFrQ,EAAAA,EAAAA,GAAgBoQ,EAAc,KAAMzxI,EAAAA,EAAU6wI,SAI9CxP,EAAAA,EAAAA,GAAgBoQ,EAAc,OAAQ,CACpCx+O,KAAM,SACNwsI,QAAS,y3DACTztF,KAAM,CACJygF,QAAS,kEACTsN,IAAK,gLCpGPl6E,OAAO01I,OAASA,EAAAA,OAgBlB,MAAMxmB,UAAuBirD,EAAAA,EAI3B,cAAI1vG,GACF,MAAO,iBACT,CA6DA17H,WAAAA,CAAY0C,GACVsV,MAAMmoK,EAAe5jL,GAAImG,GACzB/F,KAAKyjL,aAAe19K,GAAS09K,eAAgB,EAC7CzjL,KAAKma,MAAQpU,GAASoU,QAA0C,IAAjCna,KAAKmuG,aAAakgI,WAAuB,QAAU,MACpF,CACA,kBAAMY,GACJ,IAAKjvO,KAAKgvO,UAAW,CAEnB,MAAM,wBACJuR,SACQ,gCACJC,EAAc,IAAID,EAAwB,CAC9CvzI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACP06O,QAASzgP,KAAKmuG,aAAazsG,KAC3Bg/O,oBAAoB,EACpBC,SAAyB,SAAf3gP,KAAKma,MACfspK,aAAczjL,KAAKyjL,gBAGvB+8D,EAAYhyN,GAAG,WAAW,SAC1BxuB,KAAK4gP,kBAAoBJ,EACzBxgP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAakR,EACpC,CACA,OAAOxgP,KAAKgvO,SACd,CAqBA,cAAM7rD,GAEJ,SADMnjL,KAAKivO,gBACNjvO,KAAK4gP,kBACR,MAAM,IAAInhP,MAAM,sCAElB,OAAOO,KAAK4gP,kBAAkBz9D,UAChC,GAWF2sD,EAAAA,EAAAA,GAAgBtsD,EAAgB,OAAQ,CACtCt1C,QAAS,qEACTxsI,KAAM,kBACN++C,KAAM,CACJwgF,OAAQ,uGACRC,QAAS,0DACTsN,IAAK,6EAMTshG,EAAAA,EAAAA,GAAgBtsD,EAAgB,KAAM/0E,EAAAA,EAAU8wI,0HC7IhD,MAAMjhF,UAAuBmwE,EAAAA,EAe3B,kCAAa/wE,CAAsB33J,GAKjC,OAJe,IAAIu4J,EAAe,CAChChwE,MAAOuyJ,EAAAA,IACPtyJ,SAAUxoF,EAAQwoF,WAENmvE,sBAAsB,CAClC5sB,MAAO/qI,EAAQ+qI,OAEnB,CAiBA,gCAAa6sB,CAAoB53J,GAK/B,OAJe,IAAIu4J,EAAe,CAChChwE,MAAOuyJ,EAAAA,IACPtyJ,SAAUxoF,EAAQwoF,WAENovE,oBAAoB,CAChC5sB,YAAahrI,EAAQgrI,aAEzB,CAKA,cAAIhS,GACF,MAAO,iBACT,CA4BA17H,WAAAA,CAAY0C,GACVsV,MAAMijJ,EAAe1+J,GAAI,IACpBmG,IAEL,IACE/F,KAAKsuF,MAAQ,IACRvoF,EAAQuoF,MACXG,KAAKJ,EAAAA,EAAAA,KAAkBtoF,EAAQuoF,MAAOvoF,EAAQwoF,UAElD,CAAE,MACAvuF,KAAKsuF,MAAQvoF,EAAQuoF,KACvB,CACF,CACA,kBAAM2gJ,GACJ,IAAKjvO,KAAKgvO,UAAW,CAEnB,MAAM,wBACJ8R,SACQ,gCACV9gP,KAAKgvO,UAAY,IAAI8R,EAAwB,CAC3CvyJ,SAAUvuF,KAAK+F,SAASwoF,UAAY,GACpCD,MAAOtuF,KAAKsuF,MACZ0e,OAAQhtG,KAAKgtG,OACbwoI,cAAex1O,KAAK+F,SAASyvO,eAEjC,CACA,OAAOx1O,KAAKgvO,SACd,CAKA38H,WAAAA,CAAYw8H,GACV,IAAKA,EACH,MAAM,IAAIpvO,MAAM,qCAIlB,OAAOO,KAAKmC,QAAQ0sO,EACtB,CAKA1/H,gBAAAA,GACE,MAAMP,EAAgBvzF,MAAM8zF,mBAC5B,GAAKP,EAKL,MAAO,CACL3+E,QAAS2+E,EAAc3+E,QACvB6qI,WAAY,CACV9wG,KAAM4kD,EAAcksD,WAAW9wG,MAGrC,CAUA,cAAMkuH,GAEJ,aADwBl4K,KAAKivO,gBACZ/2D,UACnB,CAUA,oBAAMG,GAEJ,aADwBr4K,KAAKivO,gBACZ52D,gBACnB,CAKA,0BAAM0oE,GAEJ,aADwB/gP,KAAKivO,gBACZ8R,sBACnB,CAGA,4BAAMC,GAEJ,aADwBhhP,KAAKivO,gBACZ+R,wBACnB,CA2CA,2BAAMtjF,CAAsB33J,GAC1B,MAAM,MACJ+qI,GACE/qI,EAEJ,aADwB/F,KAAKivO,gBACZvxE,sBAAsB,CACrC5sB,SAEJ,CA0CA,yBAAM6sB,CAAoB53J,GACxB,MAAM,YACJgrI,GACEhrI,EAEJ,aADwB/F,KAAKivO,gBACZtxE,oBAAoB,CACnC5sB,eAEJ,CA0DA,kBAAMgqB,CAAaj3I,GACjB,MACMg3I,SADkB96J,KAAKivO,gBACAl0E,aAAaj3I,GAC1C,UACQ9jB,KAAK4uO,cAAcl/H,QAAQuxI,EAAyBn9N,EAAO+2I,SACnE,CAAE,MACA,CAEF,OAAOC,CACT,CAKA,6BAAMob,GACJ,IACE,aAAal2K,KAAK4uO,cAAcp/H,QAAQyxI,EAC1C,CAAE,MACA,OAAO,IACT,CACF,CAmBA9+O,OAAAA,CAAQ0sO,GACN,OAAOxzN,MAAMlZ,QAAQ0sO,EACvB,GAQFiB,EAAAA,EAAAA,GAAgBxxE,EAAgB,KAAM7vD,EAAAA,EAAUg4B,iBAIhDqpG,EAAAA,EAAAA,GAAgBxxE,EAAgB,OAAQ,CACtC58J,KAAM,kBACNwsI,QAAS,wEAEX,MAAM+yG,EAA0B,wICrZhC,MAAMxyG,UAAoBggG,EAAAA,EAIxB,cAAI1vG,GACF,MAAO,cACT,CAqCA17H,WAAAA,CAAY0C,GACVsV,MAAMozH,EAAY7uI,GAAImG,EACxB,CACA,kBAAMkpO,GACJ,IAAKjvO,KAAKgvO,UAAW,CAEnB,MAAM,eACJkS,SACQ,gCACVlhP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa,IAAI4R,EAAe,CACnDl0I,OAAQhtG,KAAKgtG,OACbisI,iBAAkBj5O,KAAK4uO,cACvB7oO,QAAS,CACPmzO,gBAAgB,KAGtB,CACA,OAAOl5O,KAAKgvO,SACd,GAQFc,EAAAA,EAAAA,GAAgBrhG,EAAa,KAAMhgC,EAAAA,EAAU+wI,iKChF7C,MAAM2B,EAA0B,kBAkIhC,MAAM5hF,UAAoBkvE,EAAAA,EAIxB,cAAI1vG,GACF,MAAO,cACT,CAmDA17H,WAAAA,CAAY0C,GACVsV,MAAMkkJ,EAAY3/J,GAAImG,GAClBA,GAASuoF,OAASvoF,EAAQwoF,WAC5BxoF,EAAQuoF,OAAQQ,EAAAA,EAAAA,KAAgB/oF,EAAQuoF,MAAOvoF,EAAQwoF,WAEzDvuF,KAAK+F,QAAUA,GAAW,CAAC,EAC3B/F,KAAKohP,SAAWr7O,GAAS2d,UAAWi4F,EAAAA,EAAAA,GAAwBlN,EAAAA,EAAUu5B,YACxE,CACA,kBAAMinG,GACJ,IAAKjvO,KAAKgvO,UAAW,CACnB,MACEqS,qBAAsBA,SACd,gCACV,IAAKrhP,KAAKshP,aACR,MAAM,IAAI7hP,MAAM,6BAElB,MAAMq6I,GAAY95I,KAAK+F,QAAQuoF,MAAQ,IAAIgB,EAAAA,IAAetvF,KAAK+F,QAAQuoF,OAASgB,EAAAA,KAAezgF,KAAIwW,IAAKypE,EAAAA,EAAAA,KAAgBzpE,EAAGrlB,KAAK+F,QAAQwoF,YACxIvuF,KAAKgvO,UAAY,IAAIqS,EAAqB,CACxC/yJ,MAAOtuF,KAAK+F,QAAQuoF,QAASQ,EAAAA,EAAAA,KAAgB+xJ,EAAAA,IAAU7gP,KAAK+F,QAAQwoF,UACpE+yJ,aAActhP,KAAKshP,aACnBt0I,OAAQhtG,KAAKgtG,QAAU8sC,EACvBvrD,SAAUvuF,KAAK+F,QAAQwoF,SACvB3M,UAAW5hF,KAAK+F,QAAQ67E,WAE5B,CACA,OAAO5hF,KAAKgvO,SACd,CA0BA,kBAAMuS,CAAax7O,SACP/F,KAAKy/J,aAAa15J,EAAQ2d,eAC5B1jB,KAAKwhP,KAAKz7O,UAEV/F,KAAKgmE,iBACLhmE,KAAKulC,KAAKx/B,GAEpB,CAYA,cAAMigE,GACJ,GAAIhmE,KAAKshP,aACP,MAAM,IAAI7hP,MAAM,iCAElB,MAAMm1D,EAAS3yD,EAAAA,EAAkB,IAEjC,OADAjC,KAAKshP,aAAe,IAAIpxK,EAAAA,OAAOtb,GACxB50D,KAAKshP,aAAal/O,OAC3B,CAoCA,YAAM0mI,CAAO/iI,GACX,GAAI/F,KAAKshP,aACP,MAAM,IAAI7hP,MAAM,iCAElB,GAAI,kBAAmBsG,EAErB,OADA/F,KAAKshP,mBAAqBpxK,EAAAA,OAAOM,kBAAkBzqE,EAAQ07O,cAAe17O,EAAQ2nC,UAC3E1tC,KAAKshP,aAAal/O,QAE3B,GAAI,eAAgB2D,EAAS,CAC3B,IAAKA,EAAQ27O,aAAeC,EAAkB57O,EAAQ0lC,YACpD,MAAM,IAAIhsC,MAAM,uBAElB,MAAMgsC,QAAmBm2M,EAAa77O,EAAQ27O,WAArBE,CAAiC77O,EAAQ0lC,YAClE,GAAI1lC,EAAQ27O,aAA8B,KAAfj2M,IAAsBk2M,EAAkBl2M,IACjE,MAAM,IAAIhsC,MAAM,oBAGlB,OADAO,KAAKshP,aAAe,IAAIpxK,EAAAA,OAAOzkC,GACxBzrC,KAAKshP,aAAal/O,OAC3B,CACA,GAAI,aAAc2D,EAAS,CACzB,IAAKA,EAAQ27O,aAAez/O,EAAAA,gBAAsB8D,EAAQinC,UACxD,MAAM,IAAIvtC,MAAM,oBAElB,MAAMutC,QAAiB40M,EAAa77O,EAAQ27O,WAArBE,CAAiC77O,EAAQinC,UAChE,GAAIjnC,EAAQ27O,aAA4B,KAAb10M,IAAoB/qC,EAAAA,gBAAsB+qC,IACnE,MAAM,IAAIvtC,MAAM,oBAGlB,OADAO,KAAKshP,aAAepxK,EAAAA,OAAOziC,aAAaT,GACjChtC,KAAKshP,aAAal/O,OAC3B,CACA,MAAM,IAAI3C,MAAM,0BAClB,CAkCA,UAAM+hP,CAAKz7O,GACT,GAAI/F,KAAKshP,aACP,MAAM,IAAI7hP,MAAM,iCAElB,MAAMoiP,QAAmB7hP,KAAKy/J,aAAa15J,EAAQ2d,SACnD,IAAKm+N,EACH,MAAM,IAAIpiP,MAAM,oCAIlB,GAAIoiP,EAAWhnF,WAAa90J,EAAQ80J,SAClC,MAAM,IAAIp7J,MAAM,4BAA4BsG,EAAQ80J,mBAAmBgnF,EAAWhnF,YAEpF,GAAyB,kBAArB90J,EAAQ80J,SACV,OAAO76J,KAAK8oI,OAAO,CACjB24G,cAAeI,EAAWviO,KAC1BouB,SAAU3nC,EAAQ2nC,WAKtB,GAAIm0M,EAAWC,cAAgB/7O,EAAQ27O,WACrC,MAAM,IAAIjiP,MAAM,+DAElB,IAAKoiP,EAAWC,aAAe/7O,EAAQ27O,WACrC,MAAM,IAAIjiP,MAAM,yEAElB,GAAyB,eAArBsG,EAAQ80J,SACV,OAAO76J,KAAK8oI,OAAO,CACjBr9F,WAAYo2M,EAAWviO,KACvBoiO,WAAY37O,EAAQ27O,aAGxB,GAAyB,aAArB37O,EAAQ80J,SACV,OAAO76J,KAAK8oI,OAAO,CACjB97F,SAAU60M,EAAWviO,KACrBoiO,WAAY37O,EAAQ27O,aAGxB,MAAM,IAAIjiP,MAAM,wBAClB,CAkCA,UAAM8lC,CAAKx/B,GACT,MAAMomG,EAASnsG,KAAKshP,aACpB,IAAKn1I,EACH,MAAM,IAAI1sG,MAAM,6BAElB,GAAyB,kBAArBsG,EAAQ80J,SAA8B,CACxC,MAAMknF,QAAsB51I,EAAO95D,QAAQtsC,EAAQ2nC,SAAU,CAC3D0E,OAAQ,CACNzH,EAAG,WAGD3qC,KAAKgiP,UAAU,CACnB5/O,QAAS+pG,EAAO/pG,QAChBkd,KAAMyiO,EACNlnF,SAAU,gBACVinF,aAAa,GACZ/7O,EAAQ2d,QACb,CACA,GAAyB,eAArB3d,EAAQ80J,SAA2B,CACrC,MAAMpvH,QAAmBw2M,EAAal8O,EAAQ27O,WAArBO,CAAiC91I,EAAO1gE,kBAC3DzrC,KAAKgiP,UAAU,CACnB5/O,QAAS+pG,EAAO/pG,QAChBkd,KAAMmsB,EACNovH,SAAU,aACVinF,cAAe/7O,EAAQ27O,YACtB37O,EAAQ2d,QACb,CACA,GAAyB,aAArB3d,EAAQ80J,SAAyB,CACnC,IAAK1uD,EAAOn/D,SACV,MAAM,IAAIvtC,MAAM,sGAElB,MAAMutC,QAAiBi1M,EAAal8O,EAAQ27O,WAArBO,CAAiC91I,EAAOn/D,SAASC,cAClEjtC,KAAKgiP,UAAU,CACnB5/O,QAAS+pG,EAAO/pG,QAChBkd,KAAM0tB,EACN6tH,SAAU,WACVinF,cAAe/7O,EAAQ27O,YACtB37O,EAAQ2d,QACb,CACF,CAOA,aAAMw+N,GACJ,IACE,MAAM5iO,QAAatf,KAAKy/J,eAClBr9J,QAAgBpC,KAAKyb,aAC3B,OAAI6D,GAAMld,UAAYA,CAIxB,CAAE,MAAO5C,GACP,OAAO,CACT,CACF,CAUA,iBAAM2iP,SACEniP,KAAKohP,SAASpxI,WAAWmxI,EACjC,CAgCA,YAAMrhF,CAAO/5J,GACX,MAAMomG,EAASnsG,KAAKshP,aACpB,IAAKn1I,EACH,MAAM,IAAI1sG,MAAM,6BAElB,GAAyB,kBAArBsG,EAAQ80J,SACV,OAAO1uD,EAAO95D,QAAQtsC,EAAQ2nC,SAAU,CACtC0E,OAAQ,CACNzH,EAAG,KAIT,GAAyB,eAArB5kC,EAAQ80J,SACV,OAAOonF,EAAal8O,EAAQ27O,WAArBO,CAAiC91I,EAAO1gE,YAEjD,GAAyB,aAArB1lC,EAAQ80J,SAAyB,CACnC,IAAK1uD,EAAOn/D,SACV,MAAM,IAAIvtC,MAAM,sGAElB,OAAOwiP,EAAal8O,EAAQ27O,WAArBO,CAAiC91I,EAAOn/D,SAASC,OAC1D,CACA,MAAM,IAAIxtC,MAAM,0BAClB,CAiCA,kBAAMggK,CAAa/7I,GACjB,MAAM09N,EAAW19N,GAAW1jB,KAAKohP,SACjC,IACE,MAAMgB,QAAqBhB,EAAS5xI,QAAQ2xI,GAC5C,IAAKiB,EACH,OAAO,KAET,MAAM5iF,EAAY56I,KAAKpY,MAAM41O,GAC7B,OAAK5iF,GACI,IAGX,CAAE,MAAOhgK,GACP,OAAO,IACT,CACF,CAKA,eAAMwiP,CAAU1iO,EAAMoE,GACpB,MAAM09N,EAAW19N,GAAW1jB,KAAKohP,eAC3BA,EAAS1xI,QAAQyxI,EAAyBv8N,KAAKxY,UAAUkT,GACjE,CAKA,gBAAM4wF,SACE70F,MAAM60F,aACZlwG,KAAKshP,kBAAe/gP,CACtB,EA0BF0uF,eAAeuN,EAAK9mC,GAClB,OAAOA,CACT,CASA,SAASksL,EAAaF,GACpB,OAAOA,EAAahsL,IAEnBgsL,EAAWxyM,SAAWikD,EAAAA,IAAkBz9B,EAAKgsL,EAAWh0M,UAAY8uD,CACvE,CASA,SAASylJ,EAAaP,GACpB,OAAOA,EAAahsL,IAAQgsL,EAAWrvM,SAAW0hD,EAAAA,IAAYr+B,EAAKgsL,EAAWh0M,UAAY8uD,CAC5F,CAKA,SAASmlJ,EAAkB74O,GACzB,QAASA,EAAMkG,MAAM,uBACvB,EA1CA8gO,EAAAA,EAAAA,GAAgBvwE,EAAa,KAAM9wD,EAAAA,EAAUu5B,cAI7C8nG,EAAAA,EAAAA,GAAgBvwE,EAAa,OAAQ,CACnC79J,KAAM,eACNwsI,QAAS,4LC9jBX,MAAMsB,UAAkBi/F,EAAAA,EAItB,cAAI1vG,GACF,MAAO,YACT,CAkHA17H,WAAAA,CAAY0C,GACVsV,MAAMm0H,EAAU5vI,GAAImG,GACpB/F,KAAK+F,QAAUA,CACjB,CAKA,yBAAMs8O,GAEJ,MAAM,mBACJC,SACQ,+BACJC,EAAiB,IAAID,EAAmB,CAC5Ct1I,OAAQhtG,KAAKgtG,OACbjnG,QAAS/F,KAAK+F,UAIhB,OAFA/F,KAAKuiP,eAAiBA,EACtBviP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAaiT,GAC3BviP,KAAKgvO,SACd,CACA,kBAAMC,GACJ,OAAKjvO,KAAKgvO,UAGHhvO,KAAKgvO,gBAFGhvO,KAAKqiP,qBAGtB,CAWAG,QAAAA,GACE,IAAKxiP,KAAKuiP,eACR,MAAM,IAAI9iP,MAAM,sCAElB,OAAOO,KAAKuiP,eAAeE,aAC7B,CAMA,iBAAMpwI,CAAYtsG,SACV/F,KAAKqiP,4BACLriP,KAAKuiP,gBAAgBG,mBAAmB38O,IAC9C,MAAM48O,EAAQ3iP,KAAKwiP,WAIjB,GAFY,IAAIhiF,IAAIlsG,OAAOge,SAAS1xB,MACRmxL,aAAajxO,IAAI,oBAE3C,IACEd,KAAK4iP,0BAA4BD,EAAME,MAAMC,mBAC/C,CAAE,MACA,CAKN,SADyBH,EAAM34L,KAAKq0D,aAElC,OAAOhjG,MAAMg3F,YAAYtsG,GAE3B,MAAM,IAAItG,MAAM,8BAClB,CAKA,gBAAMywG,GACJlwG,KAAK4iP,yBAAsBriP,EAC3B,MAAMoiP,EAAQ3iP,KAAKwiP,WAEnB,aADMG,EAAM34L,KAAKguD,SACV38F,MAAM60F,YACf,CA0EA,aAAM/tG,CAAQ4D,GACZ,GAAI,UAAWA,IAAuC,IAA5B/F,KAAK+F,QAAQkpI,WACrC,MAAM,IAAIxvI,MAAM,2BAElB,GAAI,gBAAiBsG,IAAqC,IAA1B/F,KAAK+F,QAAQopI,SAC3C,MAAM,IAAI1vI,MAAM,yBAElB,OAAO4b,MAAMlZ,QAAQ4D,EACvB,GAcF+pO,EAAAA,EAAAA,GAAgBtgG,EAAW,OAAQ,CACjCtB,QAAS,+EACTxsI,KAAM,gBAKRouO,EAAAA,EAAAA,GAAgBtgG,EAAW,KAAM/gC,EAAAA,EAAUC,kJCzW3C,MAAMqnE,UAAuB04D,EAAAA,EAI3B,cAAI1vG,GACF,MAAO,UACT,CAqDA17H,WAAAA,CAAY0C,GACVsV,MAAM06J,EAAen2K,GAAImG,GACzB/F,KAAK+4O,cAAe7zD,EAAAA,EAAAA,IACtB,CACA,kBAAM+pD,GACJ,IAAKjvO,KAAKgvO,UAIR,GAAIhvO,KAAK+4O,WAAY,CAEnB,MAAM,kBACJgK,SACQ,gCACJC,EAAoB,IAAID,EAAkB,CAC9C/1I,OAAQhtG,KAAKgtG,OACbisI,iBAAkBj5O,KAAK4uO,cACvB7oO,QAAS,CACPmzO,gBAAgB,KAGpBl5O,KAAKgjP,kBAAoBA,EACzBhjP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa0T,EACpC,KAAO,CACL,MAAM,uBACJ7J,SACQ,+BACJC,EAAyB,IAAID,EAAuB,CACxDnsI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACP6oD,UAAW5uD,KAAK+F,SAAS6oD,WAAayqL,EAAAA,EAEtC31N,QAAS1jB,KAAK4uO,cACd7pD,OAAQ/kL,KAAK+F,SAASg/K,OACtB52E,aAAcnuG,KAAKmuG,aACnB82E,eAAgBjlL,KAAK+F,SAASk/K,kBAGlCm0D,EAAuB/zB,cAAc9lN,MAAK+vB,IACxCA,EAASlrB,OAAOkuC,OAAO9jB,GAAG,wBAAwB,KAChDxuB,KAAKkgC,KAAK,0BAA0B,GACpC,IAIJlgC,KAAKo5O,uBAAyBA,EAC9Bp5O,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa8J,EACpC,CAEF,OAAOp5O,KAAKgvO,SACd,CAgCA,uBAAM7qD,CAAkBp+K,SAChB/F,KAAKivO,eACX,MAAMqK,EAAct5O,KAAKo5O,uBACzB,IAAKE,EACH,MAAM,IAAI75O,MAAM,4CAEO65O,EAAYj0B,eAG1B72L,GAAG,eAAek8E,IAC3B3kG,EAAQq+K,YAAY15E,EAAI,IAI1B1qG,KAAKmC,QAAQ,CACX8tB,QAASlqB,EAAQkqB,UAChB1wB,KAAKwG,EAAQg9K,YAClB,CAMA,mBAAMpqE,GACJ,IAAK34G,KAAKgjP,kBACR,MAAM,IAAIvjP,MAAM,gCAEZO,KAAKgjP,kBAAkBrqI,eAC/B,GAiBFm3H,EAAAA,EAAAA,GAAgB/5D,EAAgB,OAAQ,CACtCr0K,KAAM,WACNwsI,QAAS,qEACTztF,KAAM,CACJwgF,OAAQ,sFACRC,QAAS,4DACTsN,IAAK,4EAMTshG,EAAAA,EAAAA,GAAgB/5D,EAAgB,KAAMtnE,EAAAA,EAAUy1E,0HClNhD,MAAM5E,UAAoBmvD,EAAAA,EACxB,cAAI1vG,GACF,MAAO,cACT,CACA17H,WAAAA,CAAY0C,GACVsV,MAAMikK,EAAY1/K,GAAI,IACjBmG,IAEL,IACE/F,KAAKsuF,MAAQ,IACRvoF,EAAQuoF,MACXG,KAAKJ,EAAAA,EAAAA,KAAkBtoF,EAAQuoF,MAAOvoF,EAAQwoF,UAElD,CAAE,MACAvuF,KAAKsuF,MAAQvoF,EAAQuoF,KACvB,CACA,GAAIvoF,EAAQk9O,eAA2C,kBAA1Bl9O,EAAQk9O,cACnCjjP,KAAKijP,cAAgB,2CADvB,CAIA,GAAIl9O,EAAQw5K,iBAAwE,iBAArDx5K,EAAQw5K,iBAAiB1hB,0BAElD93J,EAAQk9O,gBAAkBjjP,KAAK62O,sBAAsB9wO,EAAQk9O,iBAAmBl9O,EAAQk9O,eAAiBl9O,EAAQwoF,WAAavuF,KAAK62O,sBAAsB9wO,EAAQwoF,WACnK,MAAM,IAAI9uF,MAAM,0FAGpB,IAAKsG,EAAQwoF,WAAaxoF,EAAQk9O,cAChC,MAAM,IAAIxjP,MAAM,yCAElB,GAAIsG,EAAQk9O,gBAAkBjjP,KAAK62O,sBAAsB9wO,EAAQk9O,eAC/D,MAAM,IAAIxjP,MAAM,kDAElB,GAAIsG,EAAQwoF,UAAYvuF,KAAK62O,sBAAsB9wO,EAAQwoF,UACzD,MAAM,IAAI9uF,MAAM,yCAIlBO,KAAKijP,cAAgBl9O,EAAQk9O,eAAiBl9O,EAAQwoF,SACtDvuF,KAAKw1O,cAAgBzvO,EAAQyvO,aAnB7B,CAoBF,CACAqB,qBAAAA,CAAsBtoJ,GACpB,OAAOA,EAASnlF,QAAQ,KAAO,GAAyB,KAApBmlF,EAAS3qF,MAC/C,CACA,kBAAMqrO,GACJ,IAAKjvO,KAAKgvO,UAAW,CACnB,MAAM,qBACJkU,SACQ,gCACVljP,KAAKgvO,UAAY,IAAIkU,EAAqB,CACxC30J,SAAUvuF,KAAKijP,cACf30J,MAAOtuF,KAAKsuF,MACZ0e,OAAQhtG,KAAKgtG,OACbwoI,cAAex1O,KAAKw1O,cACpBj2D,gBAAiB,CACf1hB,wBAAyB79J,KAAK+F,SAASw5K,iBAAiB1hB,yBAE1DxtJ,OAAQrQ,KAAK+F,SAASsK,QAE1B,CACA,OAAOrQ,KAAKgvO,SACd,CACA7/H,gBAAAA,GACE,MAAMP,EAAgBvzF,MAAM8zF,mBAC5B,GAAKP,EAKL,MAAyC,kBAA9BA,EAAcyvE,YAChB,IACFzvE,EACHyvE,aAAa,GAGVzvE,CACT,CACA,cAAMspE,GAEJ,aADwBl4K,KAAKivO,gBACZ/2D,UACnB,CACA,iBAAM4G,GAEJ,aADwB9+K,KAAKivO,gBACZnwD,aACnB,GAEFgxD,EAAAA,EAAAA,GAAgBxwD,EAAa,KAAM7wE,EAAAA,EAAUgxI,QAC7C3P,EAAAA,EAAAA,GAAgBxwD,EAAa,OAAQ,CACnC59K,KAAM,eACNwsI,QAAS,0MC/EX,MAAMq5C,UAAsBknD,EAAAA,EAI1B,cAAI1vG,GACF,MAAO,SACT,CAqCA17H,WAAAA,CAAY0C,GACVsV,MAAMksK,EAAc3nL,GAAImG,GACxB/F,KAAK+4O,cAAevxD,EAAAA,EAAAA,IACtB,CACA,kBAAMynD,GACJ,IAAKjvO,KAAKgvO,UAAW,CACnB,MAAM,iBACJmU,SACQ,gCACJC,EAAmB,IAAID,EAAiB,CAC5Cn2I,OAAQhtG,KAAKgtG,OACbisI,iBAAkBj5O,KAAK4uO,cACvB7oO,QAAS,CACPmzO,gBAAgB,KAGpBl5O,KAAKojP,iBAAmBA,EACxBpjP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa8T,EACpC,CACA,OAAOpjP,KAAKgvO,SACd,GAiBFc,EAAAA,EAAAA,GAAgBvoD,EAAe,OAAQ,CACrC7lL,KAAM,UACNwsI,QAAS,qEACTztF,KAAM,CACJwgF,OAAQ,yFASZ6uG,EAAAA,EAAAA,GAAgBvoD,EAAe,KAAM94E,EAAAA,EAAUgqI,gJCtG/C,MAAMpxD,UAAsBonD,EAAAA,EAC1B,cAAI1vG,GACF,MAAO,gBACT,CACA17H,WAAAA,CAAY0C,GACVsV,MAAMgsK,EAAcznL,GAAImG,GACxB/F,KAAK+4O,cAAe3xD,EAAAA,EAAAA,IACtB,CACA,kBAAM6nD,GACJ,IAAKjvO,KAAKgvO,UAIR,GAAIhvO,KAAK+4O,WAAY,CAEnB,MAAM,iBACJsK,SACQ,+BACJC,EAAmB,IAAID,EAAiB,CAC5Cr2I,OAAQhtG,KAAKgtG,OACbisI,iBAAkBj5O,KAAK4uO,cACvB7oO,QAAS,CACPmzO,gBAAgB,KAGpBl5O,KAAKsjP,iBAAmBA,EACxBtjP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAagU,EACpC,KAAO,CACL,MAAM,uBACJnK,SACQ,+BACJC,EAAyB,IAAID,EAAuB,CACxDnsI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACP6oD,UAAW5uD,KAAK+F,SAAS6oD,WAAayqL,EAAAA,EAEtC31N,QAAS1jB,KAAK4uO,cACd7pD,OAAQ/kL,KAAK+F,SAASg/K,OACtB52E,aAAcnuG,KAAKmuG,aACnB82E,eAAgBjlL,KAAK+F,SAASk/K,kBAGlCm0D,EAAuB/zB,cAAc9lN,MAAK+vB,IACxCA,EAASlrB,OAAOkuC,OAAO9jB,GAAG,wBAAwB,KAChDxuB,KAAKkgC,KAAK,0BAA0B,GACpC,IAIJlgC,KAAKo5O,uBAAyBA,EAC9Bp5O,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa8J,EACpC,CAEF,OAAOp5O,KAAKgvO,SACd,CAkBA,uBAAM7qD,CAAkBp+K,SAChB/F,KAAKivO,eACX,MAAMqK,EAAct5O,KAAKo5O,uBACzB,IAAKE,EACH,MAAM,IAAI75O,MAAM,4CAEO65O,EAAYj0B,eAG1B72L,GAAG,eAAek8E,IAC3B3kG,EAAQq+K,YAAY15E,EAAI,IAI1B1qG,KAAKmC,QAAQ,CACX8tB,QAASlqB,EAAQkqB,UAChB1wB,KAAKwG,EAAQg9K,YAClB,GAEF+sD,EAAAA,EAAAA,GAAgBzoD,EAAe,OAAQ,CACrC3lL,KAAM,iBACNwsI,QAAS,yEACTztF,KAAM,CACJwgF,OAAQ,qFACRC,QAAS,oCACTsN,IAAK,wCAGTshG,EAAAA,EAAAA,GAAgBzoD,EAAe,KAAM54E,EAAAA,EAAUixI,+GChF/C,MAAMl1D,UAAmBikD,EAAAA,EAIvB,cAAI1vG,GACF,MAAO,aACT,CAyCA17H,WAAAA,CAAY0C,GACVsV,MAAMmvK,EAAW5qL,GAAI,IAChBmG,GAEP,CACA,kBAAMkpO,GACJ,IAAKjvO,KAAKgvO,UAAW,CACnB,MAAM,cACJuU,SACQ,sFACVvjP,KAAKgvO,UAAY,IAAIuU,CACvB,CACA,OAAOvjP,KAAKgvO,SACd,CAMA//H,iBAAAA,GACE,OAAOjvG,KAAKgvO,WAAWhgI,cACzB,CAKAqD,WAAAA,CAAYvuF,GACV,OAAO9jB,KAAKmC,QAAQ2hB,EACtB,CA6CA3hB,OAAAA,CAAQ0sO,GACN,OAAOxzN,MAAMlZ,QAAQ0sO,EACvB,GAQFiB,EAAAA,EAAAA,GAAgBtlD,EAAY,OAAQ,CAClC9oL,KAAM,OACNwsI,QAAS,yEAKX4hG,EAAAA,EAAAA,GAAgBtlD,EAAY,KAAM/7E,EAAAA,EAAUkqE,2GC/J5C,MAAMmF,UAAqB2wD,EAAAA,EACzBprO,WAAAA,CAAY0C,GACVsV,MAAM,eAAgBtV,GAClBA,EAAQwoF,UAAYxoF,EAAQuoF,QAC9BvoF,EAAQuoF,OAAQQ,EAAAA,EAAAA,KAAgB/oF,EAAQuoF,MAAOvoF,EAAQwoF,WAEzDvuF,KAAK+F,QAAUA,EACf/F,KAAKoE,OAAS2B,EAAQ3B,OACtBpE,KAAKohP,SAAWr7O,GAAS2d,UAAWi4F,EAAAA,EAAAA,GAAwBlN,EAAAA,EAAUu5B,YACxE,CACA,kBAAMinG,GACJ,IAAKjvO,KAAKgvO,UAAW,CACnB,MAAM,gBACJwU,SACQ,gCACLxjP,KAAKoE,SACRpE,KAAKoE,OAASpE,KAAK+F,QAAQ3B,QAE7B,MAAM01I,GAAY95I,KAAK+F,QAAQuoF,MAAQ,IAAIgB,EAAAA,IAAetvF,KAAK+F,QAAQuoF,OAASgB,EAAAA,KAAezgF,KAAIwW,IAAKypE,EAAAA,EAAAA,KAAgBzpE,EAAGrlB,KAAK+F,QAAQwoF,YACxIvuF,KAAKgvO,UAAY,IAAIwU,EAAgB,CACnCl1J,MAAOtuF,KAAK+F,QAAQuoF,QAASQ,EAAAA,EAAAA,KAAgB+xJ,EAAAA,IAAU7gP,KAAK+F,QAAQwoF,UACpEnqF,OAAQpE,KAAKoE,OACb4oG,OAAQhtG,KAAKgtG,QAAU8sC,EACvBvrD,SAAUvuF,KAAK+F,QAAQwoF,SACvB3M,UAAW5hF,KAAK+F,QAAQ67E,WAE5B,CACA,OAAO5hF,KAAKgvO,SACd,wKCiBF,MAAM6L,UAAoBpM,EAAAA,EAIxB,cAAI1vG,GACF,MAAO,cACT,CA2KA17H,WAAAA,CAAY0C,GACV,GAAIA,EAAQwoF,UAAqC,kBAAlBxoF,EAAQuoF,MACrC,IACEvoF,EAAQuoF,MAAQ,IACXvoF,EAAQuoF,MACXG,KAAKJ,EAAAA,EAAAA,KAAkBtoF,EAAQuoF,MAAOvoF,EAAQwoF,UAElD,CAAE,MAAO,CAEXlzE,MAAMw/N,EAAYj7O,GAAI,IACjBmG,GAEP,CACA,kBAAMkpO,GACJ,IAAKjvO,KAAKgvO,UACR,GAAIhvO,KAAK+F,eAAkBs5O,EAAAA,EAAAA,GAAcr/O,KAAK+F,QAAQuoF,MAAOtuF,KAAK+F,QAAQwoF,SAAUvuF,KAAK+F,QAAQ67E,WAAa,CAC5G,MAAM,gBACJ6hK,SACQ,gCACVzjP,KAAKgvO,UAAY,IAAIyU,EAAgBzjP,KAAK+F,QAC5C,KAAO,CACL,MAAM,qBACJ29O,SACQ,gCACV1jP,KAAKgvO,UAAY,IAAI0U,EAAqB1jP,KAAK+F,QACjD,CAEF,OAAO/F,KAAKgvO,SACd,CASA//H,iBAAAA,GACE,OAAOjvG,KAAKgvO,WAAWhgI,cACzB,CAOA,4BAAM20I,CAAuBl0N,GAE3B,aADwBzvB,KAAKivO,gBACZ0U,uBAAuBl0N,EAC1C,CAQA,UAAM6/B,CAAK7/B,EAAa1pB,GAEtB,aADwB/F,KAAKivO,gBACZ3/K,KAAK7/B,EAAa1pB,EACrC,CAkBA,aAAM+/N,CAAQr2M,EAAa1pB,GAEzB,aADwB/F,KAAKivO,gBACZnJ,QAAQr2M,EAAa1pB,EACxC,CAWA,eAAM69O,CAAU7/L,EAAch+C,GAE5B,aADwB/F,KAAKivO,gBACZ2U,UAAU7/L,EAAch+C,EAC3C,CAuBA,kBAAM89O,CAAa9/L,EAAch+C,GAE/B,aADwB/F,KAAKivO,gBACZ4U,aAAa9/L,EAAch+C,EAC9C,CAQA,aAAM+9O,CAAQr0N,EAAa1pB,GAEzB,aADwB/F,KAAKivO,gBACZ6U,QAAQr0N,EAAa1pB,EACxC,CAQA,gBAAMg+O,CAAWt0N,EAAa1pB,GAE5B,aADwB/F,KAAKivO,gBACZ8U,WAAWt0N,EAAa1pB,EAC3C,CAQA,cAAM2qD,CAASjhC,EAAa1pB,GAE1B,aADwB/F,KAAKivO,gBACZv+K,SAASjhC,EAAa1pB,EACzC,CAQA,mBAAMi+O,CAAcjgM,EAAch+C,GAEhC,aADwB/F,KAAKivO,gBACZ+U,cAAcjgM,EAAch+C,EAC/C,CAQA,iBAAMk+O,CAAYlgM,EAAch+C,GAE9B,aADwB/F,KAAKivO,gBACZgV,YAAYlgM,EAAch+C,EAC7C,CAQA,sBAAMm+O,CAAiBngM,EAAch+C,GAEnC,aADwB/F,KAAKivO,gBACZiV,iBAAiBngM,EAAch+C,EAClD,CAQA,kBAAMo+O,CAAapgM,EAAch+C,GAE/B,aADwB/F,KAAKivO,gBACZkV,aAAapgM,EAAch+C,EAC9C,CAQA,qBAAMq+O,CAAgBrgM,EAAch+C,GAElC,aADwB/F,KAAKivO,gBACZmV,gBAAgBrgM,EAAch+C,EACjD,CAcA,YAAMjC,CAAOiC,GAEX,aADwB/F,KAAKivO,gBACZnrO,OAAOiC,EAC1B,CAaA,oBAAMs+O,CAAet+O,GAEnB,aADwB/F,KAAKivO,gBACZoV,eAAet+O,EAClC,CAWA,gBAAMiyK,GACJ,MAAMg3D,QAAkBhvO,KAAKivO,eAC7B,SAAID,EAAU/+M,gBAAkBovN,EAAAA,EAAAA,GAAcrQ,EAAU/+M,WAGjD++M,EAAUh3D,YACnB,CAiCA,sBAAMssE,CAAiBC,EAAYC,GAEjC,aADwBxkP,KAAKivO,gBACZwV,iBAAiBF,EAAYC,EAChD,CAaA,sBAAME,CAAiBH,GAErB,aADwBvkP,KAAKivO,gBACZ0V,kBAAkBJ,EACrC,CAMA,cAAMK,CAASC,GAEb,aADwB7kP,KAAKivO,gBACZ2V,SAASC,EAC5B,CAMA,iBAAMC,CAAYD,GAEhB,aADwB7kP,KAAKivO,gBACZ6V,YAAYD,EAC/B,CAKA,yBAAME,GAEJ,aADwB/kP,KAAKivO,gBACZ8V,qBACnB,CAMA,wBAAMC,GAEJ,aADwBhlP,KAAKivO,gBACZ+V,oBACnB,CAMA,wBAAMC,GAEJ,aADwBjlP,KAAKivO,gBACZgW,oBACnB,CACA,qBAAMhF,CAAgBrkO,EAAS4M,EAAWpmB,EAAS6tB,GACjD,IACE,MAAMmoM,EAAcn2N,EAAAA,EAAkB2Z,GAChCy8M,EAAmBp2N,EAAAA,SAAem2N,GAExC,GADyBn2N,EAAAA,eAAqBo2N,EAAkB7vM,KACvCpmB,EACvB,OAAO,CAEX,CAAE,MACA,CAGF,QAAgB7B,IAAZ0vB,EACF,IACE,aAAa4uN,EAAAA,EAAAA,GAA6BjjO,EAAS4M,EAAWpmB,EAAS6tB,GAAW,EAAGjwB,KAAK+F,SAASwoF,SAAUvuF,KAAK+F,SAAS67E,UAC7H,CAAE,MACA,CAGJ,OAAO,CACT,CACAywB,WAAAA,CAAYvuF,GACV,OAAO9jB,KAAKmC,QAAQ2hB,EACtB,CAaA3hB,OAAAA,CAAQ0sO,GACN,OAAOxzN,MAAMlZ,QAAQ0sO,EACvB,GAQFiB,EAAAA,EAAAA,GAAgB+K,EAAa,OAAQ,CACnCn5O,KAAM,eACNwsI,QAAS,4EAKX4hG,EAAAA,EAAAA,GAAgB+K,EAAa,KAAMpsI,EAAAA,EAAUqyB,mJC7mB7C,MAAM8lD,UAAoB6nD,EAAAA,EAIxB,cAAI1vG,GACF,MAAO,cACT,CAuCA17H,WAAAA,CAAY0C,GACVsV,MAAMurK,EAAYhnL,GAAImG,IAClB+oI,EAAAA,EAAAA,GAAqBlgD,WAAWt6B,QAClCt0D,KAAK+4O,aAAenqJ,WAAWt6B,OAAOqqD,UAAUgoE,QAEhD3mL,KAAK+4O,YAAa,CAEtB,CACA,kBAAM9J,GACJ,IAAKjvO,KAAKgvO,UAIR,GAAIhvO,KAAK+4O,WAAY,CAEnB,MAAM,eACJmM,SACQ,gCACJC,EAAiB,IAAID,EAAe,CACxCl4I,OAAQhtG,KAAKgtG,OACbisI,iBAAkBj5O,KAAK4uO,cACvB7oO,QAAS,CACPmzO,gBAAgB,KAGpBl5O,KAAKmlP,eAAiBA,EACtBnlP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa6V,EACpC,KAAO,CACL,MAAM,uBACJhM,SACQ,+BACJC,EAAyB,IAAID,EAAuB,CACxDnsI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACP6oD,UAAW5uD,KAAK+F,SAAS6oD,WAAayqL,EAAAA,EAEtC31N,QAAS1jB,KAAK4uO,cACd7pD,OAAQ/kL,KAAK+F,SAASg/K,OACtB52E,aAAcnuG,KAAKmuG,aACnB82E,eAAgBjlL,KAAK+F,SAASk/K,kBAGlCm0D,EAAuB/zB,cAAc9lN,MAAK+vB,IACxCA,EAASlrB,OAAOkuC,OAAO9jB,GAAG,wBAAwB,KAChDxuB,KAAKkgC,KAAK,0BAA0B,GACpC,IAIJlgC,KAAKo5O,uBAAyBA,EAC9Bp5O,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa8J,EACpC,CAEF,OAAOp5O,KAAKgvO,SACd,CA+BA,uBAAM7qD,CAAkBp+K,SAChB/F,KAAKivO,eACX,MAAMqK,EAAct5O,KAAKo5O,uBACzB,IAAKE,EACH,MAAM,IAAI75O,MAAM,4CAEO65O,EAAYj0B,eAG1B72L,GAAG,eAAek8E,IAC3B3kG,EAAQq+K,YAAY15E,EAAI,IAI1B1qG,KAAKmC,QAAQ,CACX8tB,QAASlqB,EAAQkqB,UAChB1wB,KAAKwG,EAAQg9K,YAClB,GAiBF+sD,EAAAA,EAAAA,GAAgBlpD,EAAa,OAAQ,CACnCllL,KAAM,eACNwsI,QAAS,2EACTztF,KAAM,CACJwgF,OAAQ,0FACRC,QAAS,2EACTsN,IAAK,6EAMTshG,EAAAA,EAAAA,GAAgBlpD,EAAa,KAAMn4E,EAAAA,EAAUkxI,mIC/K7C,MAAM35D,UAAsByoD,EAAAA,EAC1B,cAAI1vG,GACF,MAAO,eACT,CAyDA17H,WAAAA,CAAY0C,GACVsV,MAAMtV,GAASyoG,UAAYw3E,EAAcpmL,GAAImG,IAC7C+pO,EAAAA,EAAAA,GAAgB9vO,KAAM,oBAAoB0b,IACxC,GAAIA,EACF,MAAMA,CACR,KAEFo0N,EAAAA,EAAAA,GAAgB9vO,KAAM,cAAcsf,IAElC,GADAtf,KAAKolP,UAAY9lO,EAAKgQ,UACjBtvB,KAAKolP,UACR,MAAM,IAAI3lP,MAAM,qDAClB,KAEFqwO,EAAAA,EAAAA,GAAgB9vO,KAAM,iBAAiB,KACrCA,KAAKqlP,kBAAkB,KAEzBvV,EAAAA,EAAAA,GAAgB9vO,KAAM,aAAaivF,UAC7B9jC,EAAQmjC,OAAkBnjC,EAAQ/a,OAAS,KAEjD0/L,EAAAA,EAAAA,GAAgB9vO,KAAM,cAAcmrD,IAClC,GACO,gBADCA,EAAQtpD,KAEZ7B,KAAKkgC,KAAK,cAAeirB,EAAQ7rC,KAErC,KAEFwwN,EAAAA,EAAAA,GAAgB9vO,KAAM,yBAAyB,KAC7CA,KAAKkgC,KAAK,0BAA0B,IAEtClgC,KAAK4uD,UAAY7oD,GAAS6oD,WAAayqL,EAAAA,EACvCr5O,KAAK+kL,QAA6B,IAApBh/K,GAASg/K,MACzB,CACA,kBAAMkqD,GACJ,IAAKjvO,KAAKgvO,UAAW,CAEnB,MAAM,uBACJmK,SACQ,+BACVn5O,KAAKslP,wBAA0B,IAAInM,EAAuB,CACxDnsI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACPg/K,OAAQ/kL,KAAK+kL,OACbn2H,UAAW5uD,KAAK4uD,UAChBu/C,aAAcnuG,KAAKmuG,aACnBzqF,QAAS1jB,KAAK4uO,cACd3pD,eAAgBjlL,KAAK+F,SAASk/K,kBAGlCjlL,KAAKgvO,UAAY,IAAIM,EAAAA,EAAatvO,KAAKslP,yBACvCtlP,KAAKolP,gBAAkBplP,KAAKslP,wBAAwBjgC,cACpDrlN,KAAKulP,iBACP,CACA,OAAOvlP,KAAKgvO,SACd,CACAuW,eAAAA,GACOvlP,KAAKslP,0BAGVtlP,KAAKqlP,mBACLrlP,KAAKslP,wBAAwB92N,GAAG,UAAWxuB,KAAKwlP,YAChDxlP,KAAKslP,wBAAwB92N,GAAG,aAAcxuB,KAAKylP,eACnDzlP,KAAKslP,wBAAwB92N,GAAG,SAAUxuB,KAAK0lP,WAC/C1lP,KAAKslP,wBAAwB92N,GAAG,UAAWxuB,KAAK2lP,YAChD3lP,KAAKolP,WAAWhhP,OAAOkuC,OAAO9jB,GAAG,uBAAwBxuB,KAAK4lP,uBAChE,CACAP,gBAAAA,GACOrlP,KAAKslP,0BAGVtlP,KAAKslP,wBAAwB72N,eAAe,UAAWzuB,KAAKwlP,YAC5DxlP,KAAKslP,wBAAwB72N,eAAe,aAAczuB,KAAKylP,eAC/DzlP,KAAKslP,wBAAwB72N,eAAe,SAAUzuB,KAAK0lP,WAC3D1lP,KAAKslP,wBAAwB72N,eAAe,UAAWzuB,KAAK2lP,YAC5D3lP,KAAKolP,WAAWhhP,OAAOkuC,OAAO7jB,eAAe,uBAAwBzuB,KAAK4lP,uBAC5E,CA+BA,uBAAMzhE,CAAkBp+K,SAChB/F,KAAKivO,eACX,MAAMqK,EAAct5O,KAAKslP,wBACzB,IAAKhM,EACH,MAAM,IAAI75O,MAAM,qCAElB65O,EAAYuM,wBAAyB,SACZvM,EAAYj0B,eAC1B72L,GAAG,eAAek8E,IAC3B3kG,EAAQq+K,YAAY15E,EAAI,IAI1B1qG,KAAKmC,QAAQ,CACX8tB,QAASlqB,EAAQkqB,UAChB1wB,KAAKwG,EAAQg9K,YAClB,CAKA,sBAAM0C,CAAiB1/K,SACf/F,KAAKivO,eACX,MAAMqK,EAAct5O,KAAKslP,wBACzB,IAAKhM,EACH,MAAM,IAAI75O,MAAM,qCAElB65O,EAAYuM,wBAAyB,QAC/BvM,EAAYwM,qBACZ9lP,KAAKmC,QAAQ,CACjB8tB,QAASlqB,GAASkqB,SAEtB,GAEF6/M,EAAAA,EAAAA,GAAgB9pD,EAAe,KAAMv3E,EAAAA,EAAUk1B,gBAC/CmsG,EAAAA,EAAAA,GAAgB9pD,EAAe,OAAQ,CACrCtkL,KAAM,gBACNwsI,QAAS,yMC3MX,MAAM44C,UAAqB2nD,EAAAA,EAIzB,cAAI1vG,GACF,MAAO,eACT,CAmDA17H,WAAAA,CAAY0C,GACVsV,MAAMyrK,EAAalnL,GAAImG,IACnB+oI,EAAAA,EAAAA,GAAqBlgD,WAAWt6B,QAClCt0D,KAAK+4O,aAAenqJ,WAAWt6B,OAAOqqD,UAAUsoE,SAEhDjnL,KAAK+4O,YAAa,CAEtB,CACA,kBAAM9J,GACJ,IAAKjvO,KAAKgvO,UACR,GAAIhvO,KAAK+4O,WAAY,CAEnB,MAAM,gBACJgN,SACQ,gCACJC,EAAkB,IAAID,EAAgB,CAC1C/4I,OAAQhtG,KAAKgtG,OACbisI,iBAAkBj5O,KAAK4uO,cACvB7oO,QAAS,CACPmzO,gBAAgB,KAGpBl5O,KAAKgmP,gBAAkBA,EACvBhmP,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa0W,EACpC,KAAO,CACL,MAAM,uBACJ7M,SACQ,+BACJC,EAAyB,IAAID,EAAuB,CACxDnsI,OAAQhtG,KAAKgtG,OACbjnG,QAAS,CACP6oD,UAAW5uD,KAAK+F,SAAS6oD,WAAayqL,EAAAA,EAEtC31N,QAAS1jB,KAAK4uO,cACd7pD,OAAQ/kL,KAAK+F,SAASg/K,OACtB52E,aAAcnuG,KAAKmuG,aACnB82E,eAAgBjlL,KAAK+F,SAASk/K,kBAGlCm0D,EAAuB/zB,cAAc9lN,MAAK+vB,IACxCA,EAASlrB,OAAOkuC,OAAO9jB,GAAG,wBAAwB,KAChDxuB,KAAKkgC,KAAK,0BAA0B,GACpC,IAIJlgC,KAAKo5O,uBAAyBA,EAC9Bp5O,KAAKgvO,UAAY,IAAIM,EAAAA,EAAa8J,EACpC,CAEF,OAAOp5O,KAAKgvO,SACd,CA+BA,uBAAM7qD,CAAkBp+K,SAChB/F,KAAKivO,eACX,MAAMqK,EAAct5O,KAAKo5O,uBACzB,IAAKE,EACH,MAAM,IAAI75O,MAAM,4CAEO65O,EAAYj0B,eAG1B72L,GAAG,eAAek8E,IAC3B3kG,EAAQq+K,YAAY15E,EAAI,IAI1B1qG,KAAKmC,QAAQ,CACX8tB,QAASlqB,EAAQkqB,UAChB1wB,KAAKwG,EAAQg9K,YAClB,GAiBF+sD,EAAAA,EAAAA,GAAgBhpD,EAAc,KAAM,WAIpCgpD,EAAAA,EAAAA,GAAgBhpD,EAAc,OAAQ,CACpCplL,KAAM,gBACNwsI,QAAS,mEACTztF,KAAM,CACJwgF,OAAQ,8BACRC,QAAS,qCACTsN,IAAK,sEChNT,SAAgBy3G,IAEd,OAAa,OAAN1xL,EAAAA,QAAM,IAANA,EAAAA,OAAM,EAANA,EAAAA,EAAQzhB,UAAgB,OAANyhB,EAAAA,QAAM,IAANA,EAAAA,OAAM,EAANA,EAAAA,EAAQE,WAAY,EAC/C,CAEA,SAAgByxL,IACd,MAAMr+J,EAAgBo+J,IAEtB,OAAOp+J,EAAckL,QAAUlL,EAAcs+J,YAC/C,wHATArmP,EAAAA,gBAAAmmP,EAKAnmP,EAAAA,gBAAAomP,EAMApmP,EAAAA,yBAAA,WACE,QAASmmP,OAAuBC,GAClC,8BCbA,SAAgBE,IACd,MACsB,qBAAb7+O,UACc,qBAAdy4K,WACe,gBAAtBA,UAAUmZ,OAEd,CAEA,SAAgBkM,IACd,MACqB,qBAAZvrL,SACqB,qBAArBA,QAAQ+6E,UACkB,qBAA1B/6E,QAAQ+6E,SAASxqF,IAE5B,8FAdAvK,EAAAA,cAAAsmP,EAQAtmP,EAAAA,OAAAulM,EAQAvlM,EAAAA,UAAA,WACE,OAAQsmP,MAAoB/gD,GAC9B,gGClBAghD,EAAArlP,aAAAK,EAAA,OAAAvB,GACAumP,EAAArlP,aAAAK,EAAA,OAAAvB,kDCCM,MAAgBwmP,wFCFf,MAAMC,EAAc,cACdC,EAAkB,kBAClBC,EAAmB,mBACnBC,EAAiB,iBACjBC,EAAiB,iBACjBzlM,EAAe,eAEf0lM,EAAuB,EAAE,OAAQ,OAAQ,OAAQ,OAAQ,OAGzDC,EAAqB,CAChC,CAACN,GAAc,CAAE7mP,MAAO,MAAOkc,QAAS,eACxC,CAAC4qO,GAAkB,CAAE9mP,MAAO,MAAOkc,QAAS,mBAC5C,CAAC6qO,GAAmB,CAAE/mP,MAAO,MAAOkc,QAAS,oBAC7C,CAAC8qO,GAAiB,CAAEhnP,MAAO,MAAOkc,QAAS,kBAC3C,CAAC+qO,GAAiB,CAAEjnP,MAAO,MAAOkc,QAAS,kBAC3C,CAACslC,GAAe,CAAExhD,MAAO,KAAOkc,QAAS,iBAG9BkrO,EAAgB5lM,6zCCNvB,SAAU6lM,EAAoBrnP,GAClC,OAAOknP,EAAAA,GAAqBj4J,SAASjvF,EACvC,CAMM,SAAUqqB,EAASloB,GACvB,OAAK5B,OAAON,KAAKknP,EAAAA,IAAoBl4J,SAAS9sF,GAGvCglP,EAAAA,GAAmBhlP,GAFjBglP,EAAAA,GAAmBC,EAAAA,GAG9B,CAEM,SAAUE,EAAetnP,GAC7B,MAAMsP,EAAQ/O,OAAOyc,OAAOmqO,EAAAA,IAAoB9/M,MAAKvnC,GAAKA,EAAEE,OAASA,IACrE,OAAKsP,GACI63O,EAAAA,GAAmBC,EAAAA,GAG9B,CA8BM,SAAUG,EAAqBznP,EAAUm2C,EAAa9zC,GAC1D,OAAOrC,EAAEoc,QAAQ+yE,SAAS,0BAA4BnvF,EAAEoc,QAAQ+yE,SAAS,wBACrE,IAAIlvF,MAAM,eAAeoC,gBAAmB8zC,KAC5Cn2C,CACN,gHChEM,SAAU0nP,IAAqB,IAAX94M,EAAOzqC,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,EAGlC,OAFayvC,KAAKD,MAAQ1qC,KAAKqsB,IAAI,GAAIsZ,GACzB3lC,KAAKipB,MAAMjpB,KAAKmsD,SAAWnsD,KAAKqsB,IAAI,GAAIsZ,GAExD,CAEM,SAAU+4M,IACd,OAAOvxN,OAAOsxN,EADsBvjP,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,GAEzC,CAEM,SAAUyjP,EACdp8N,EACAlH,EACAlkB,GAEA,MAAO,CACLA,GAAIA,GAAMsnP,IACV38L,QAAS,MACTv/B,SACAlH,SAEJ,CAEM,SAAUy5N,EAA6B39O,EAAY+X,GACvD,MAAO,CACL/X,KACA2qD,QAAS,MACT5yC,SAEJ,CAEM,SAAU0vO,EACdznP,EACA8b,EACA4D,GAEA,MAAO,CACL1f,KACA2qD,QAAS,MACT7uC,MAAO4rO,EAAmB5rO,EAAO4D,GAErC,CAEM,SAAUgoO,EAAmB5rO,EAAgC4D,GACjE,MAAqB,qBAAV5D,GACFqO,EAAAA,EAAAA,IAAS48N,EAAAA,KAEG,kBAAVjrO,IACTA,EAAKzb,OAAA2I,OAAA3I,OAAA2I,OAAA,IACAmhB,EAAAA,EAAAA,IAASm3B,EAAAA,KAAa,CACzBtlC,QAASF,KAGO,qBAAT4D,IACT5D,EAAM4D,KAAOA,IAEXynO,EAAAA,EAAAA,IAAoBrrO,EAAMhc,QAC5Bgc,GAAQsrO,EAAAA,EAAAA,IAAetrO,EAAMhc,OAExBgc,EACT,4rDC9DO,MAAelc,GAAQ,MAAA+jC,UAAA/jC,EAAA6D,WAAAA,GAAA,eAAAy2B,UAAAyJ,EAAAlgC,WAAAA,CAAAgiB,GAAA,2ECF9B,MAAMkiO,EAAa,WAEbC,EAAW,SAQjB,SAASC,EAAmB9xM,EAAa2jJ,GACvC,MAAMyjD,EAPR,SAAwBpnM,GACtB,MAAM28G,EAAU38G,EAAI3mC,MAAM,IAAI+R,OAAO,QAAS,OAC9C,GAAKuxI,GAAYA,EAAQ1uJ,OACzB,OAAO0uJ,EAAQ,EACjB,CAGmBo1F,CAAe/xM,GAChC,MAAwB,qBAAbonM,GACJ,IAAIh8N,OAAOu4K,GAAO5gL,KAAKqkO,EAChC,CAEM,SAAU4K,EAAUhyM,GACxB,OAAO8xM,EAAmB9xM,EAAK4xM,EACjC,CAEM,SAAUK,EAAQjyM,GACtB,OAAO8xM,EAAmB9xM,EAAK6xM,EACjC,CAEM,SAAUK,EAAelyM,GAC7B,OAAO,IAAI50B,OAAO,8BAA8BrI,KAAKi9B,EACvD,gCChBM,SAAUmyM,EAAiB38L,GAC/B,MACqB,kBAAZA,GACP,OAAQA,GACR,YAAaA,GACO,QAApBA,EAAQZ,OAEZ,CAEM,SAAUw9L,EAA0B58L,GACxC,OAAO28L,EAAiB38L,IAAY,WAAYA,CAClD,CAEM,SAAU68L,EAA2B78L,GACzC,OAAO28L,EAAiB38L,KAAa88L,EAAgB98L,IAAY+8L,EAAe/8L,GAClF,CAEM,SAAU88L,EAAyB98L,GACvC,MAAO,WAAYA,CACrB,CAEM,SAAU+8L,EAAe/8L,GAC7B,MAAO,UAAWA,CACpB,qpGC/BAtrD,EAAOC,QAAU,WACf,MAAM,IAAIL,MACR,wFAGJ,iDCPA,MAAM0oP,EAAiB,oIACjBC,EAAuB,iKACvBC,EAAY,2DAClB,SAASC,EAAmBthP,EAAK8B,GAC/B,KAAY,cAAR9B,GAA+B,gBAARA,GAAyB8B,GAA0B,kBAAVA,GAAsB,cAAeA,GAIzG,OAAOA,GAET,SAAwB9B,GACtBogB,QAAQP,KAAK,qBAAqB7f,yCACpC,CAPIuhP,CAAevhP,EAInB,CAIA,SAASwhP,EAAM1/O,GAAqB,IAAd/C,EAAOpC,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC/B,GAAqB,kBAAVmF,EACT,OAAOA,EAET,MAAMquB,EAASruB,EAAMD,OACrB,GAEe,MAAbC,EAAM,IAAcA,EAAM6pJ,SAAS,OAAS7pJ,EAAM6lF,SAAS,MAE3D,OAAOx3D,EAAOxtB,MAAM,GAAI,GAE1B,GAAIwtB,EAAOvzB,QAAU,EAAG,CACtB,MAAM6kP,EAAQtxN,EAAO5gB,cACrB,GAAc,SAAVkyO,EACF,OAAO,EAET,GAAc,UAAVA,EACF,OAAO,EAET,GAAc,cAAVA,EACF,OAEF,GAAc,SAAVA,EACF,OAAO,KAET,GAAc,QAAVA,EACF,OAAOjkK,OAAO8kH,IAEhB,GAAc,aAAVm/C,EACF,OAAOjkK,OAAOkkK,kBAEhB,GAAc,cAAVD,EACF,OAAOjkK,OAAOmkK,iBAElB,CACA,IAAKN,EAAU3vO,KAAK5P,GAAQ,CAC1B,GAAI/C,EAAQqiD,OACV,MAAM,IAAIwgM,YAAY,wBAExB,OAAO9/O,CACT,CACA,IACE,GAAIq/O,EAAezvO,KAAK5P,IAAUs/O,EAAqB1vO,KAAK5P,GAAQ,CAClE,GAAI/C,EAAQqiD,OACV,MAAM,IAAI3oD,MAAM,wCAElB,OAAOmlB,KAAKpY,MAAM1D,EAAOw/O,EAC3B,CACA,OAAO1jO,KAAKpY,MAAM1D,EACpB,CAAE,MAAO4S,GACP,GAAI3V,EAAQqiD,OACV,MAAM1sC,EAER,OAAO5S,CACT,CACF,CC9DA,SAAS+/O,EAAUC,GACjB,IAAI,QAAAn2O,EAAAhP,UAAAC,OAD2BmlP,EAAU,IAAA9lP,MAAA0P,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAVm2O,EAAUn2O,EAAA,GAAAjP,UAAAiP,GAEvC,OARmB9J,EAQEggP,KAAaC,KAPA,oBAAfjgP,EAAMvJ,KAGpBuJ,EAFEzJ,QAAQC,QAAQwJ,EAOzB,CAAE,MAAO4S,GACP,OAAOrc,QAAQg8B,OAAO3f,EACxB,CAXF,IAAuB5S,CAYvB,CASA,SAASsD,EAAUtD,GACjB,GATF,SAAqBA,GACnB,MAAMjH,SAAciH,EACpB,OAAiB,OAAVA,GAA2B,WAATjH,GAA8B,aAATA,CAChD,CAMMmnP,CAAYlgP,GACd,OAAO3F,OAAO2F,GAEhB,GARF,SAAsBA,GACpB,MAAMmgP,EAAQhpP,OAAOm6C,eAAetxC,GACpC,OAAQmgP,GAASA,EAAMC,cAAcjpP,OACvC,CAKMkpP,CAAargP,IAAU7F,MAAMqU,QAAQxO,GACvC,OAAO8b,KAAKxY,UAAUtD,GAExB,GAA4B,oBAAjBA,EAAM+sB,OACf,OAAOzpB,EAAUtD,EAAM+sB,UAEzB,MAAM,IAAIp2B,MAAM,sCAClB,CACA,SAAS2pP,IACP,QAAsB,WAAXp/C,OACT,MAAM,IAAI9mM,UAAU,uCAExB,CACA,MAAMmmP,EAAgB,UAkDtB,SAASC,EAAatiP,GACpB,OAAKA,EAGEA,EAAI2I,MAAM,KAAK,GAAG5G,QAAQ,SAAU,KAAKA,QAAQ,MAAO,KAAKA,QAAQ,SAAU,IAF7E,EAGX,CACA,SAASwgP,IAAkB,QAAAnsN,EAAAz5B,UAAAC,OAANjE,EAAI,IAAAsD,MAAAm6B,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ19B,EAAI09B,GAAA15B,UAAA05B,GACvB,OAAOisN,EAAa3pP,EAAK2M,KAAK,KAChC,CACA,SAASk9O,EAAiBp2N,GAExB,OADAA,EAAOk2N,EAAal2N,IACNA,EAAO,IAAM,EAC7B,CC5FA,MACM3P,EAAsB,KAC1B,MAAMnE,EAAuB,IAAIqtF,IACjC,MAAO,CACLjrG,KAJgB,SAKhBqE,QAAS,CAAC,EACV0jP,QAAQziP,GACCsY,EAAKknB,IAAIx/B,GAElBwoG,QAAQxoG,GACCsY,EAAKxe,IAAIkG,IAAQ,KAE1B0iP,WAAW1iP,GACFsY,EAAKxe,IAAIkG,IAAQ,KAE1B0oG,OAAAA,CAAQ1oG,EAAK8B,GACXwW,EAAK/Q,IAAIvH,EAAK8B,EAChB,EACA6gP,UAAAA,CAAW3iP,EAAK8B,GACdwW,EAAK/Q,IAAIvH,EAAK8B,EAChB,EACAknG,UAAAA,CAAWhpG,GACTsY,EAAK+4H,OAAOrxI,EACd,EACA4iP,QAAOA,IACE3mP,MAAMyF,KAAK4W,EAAK3f,QAEzBiiG,KAAAA,GACEtiF,EAAKsiF,OACP,EACAioJ,OAAAA,GACEvqO,EAAKsiF,OACP,EACD,EAGH,SAASw7H,IACP,MAAMp+H,EAAU,CACd8qJ,OAAQ,CAAE,IAFgBnmP,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,GAERomP,QAAUtmO,KAChCumO,YAAa,CAAC,IACdC,UAAU,EACVC,eAAgB,GAChBC,QAAS,CAAC,GAENC,EAAYpjP,IAChB,IAAK,MAAMosB,KAAQ4rE,EAAQgrJ,YACzB,GAAIhjP,EAAI0nF,WAAWt7D,GACjB,MAAO,CACLA,OACAi3N,YAAarjP,EAAI2C,MAAMypB,EAAKxvB,QAC5BmmP,OAAQ/qJ,EAAQ8qJ,OAAO12N,IAI7B,MAAO,CACLA,KAAM,GACNi3N,YAAarjP,EACb+iP,OAAQ/qJ,EAAQ8qJ,OAAO,IACxB,EAEGQ,EAAYA,CAACl3N,EAAMm3N,IAChBvrJ,EAAQgrJ,YAAYnhO,QACxB2hO,GAAeA,EAAW97J,WAAWt7D,IAASm3N,GAAiBn3N,EAAKs7D,WAAW87J,KAChF37O,KAAK27O,IAAU,CACfC,aAAcr3N,EAAKxvB,OAAS4mP,EAAW5mP,OAASwvB,EAAKzpB,MAAM6gP,EAAW5mP,aAAU,EAChF4mP,aACAT,OAAQ/qJ,EAAQ8qJ,OAAOU,OAGrBlqI,EAAWA,CAAC/jF,EAAOv1B,KACvB,GAAKg4F,EAAQirJ,SAAb,CAGAjjP,EAAMsiP,EAAatiP,GACnB,IAAK,MAAMunB,KAAYywE,EAAQkrJ,eAC7B37N,EAASgO,EAAOv1B,EAHlB,CAIA,EAeI0jP,EAAYz7J,UAChB,GAAK+P,EAAQirJ,SAAb,CAGA,IAAK,MAAMO,KAAcxrJ,EAAQmrJ,cACzBnrJ,EAAQmrJ,QAAQK,KAExBxrJ,EAAQmrJ,QAAU,CAAC,EACnBnrJ,EAAQirJ,UAAW,CALnB,CAKwB,EAEpBU,EAAWA,CAACxxN,EAAOyxN,EAAe1gH,KACtC,MAAM2gH,EAA0B,IAAIl+I,IAC9Bm+I,EAAY7lJ,IAChB,IAAIt1C,EAAQk7L,EAAQ/pP,IAAImkG,EAAM7xE,MAS9B,OARKu8B,IACHA,EAAQ,CACNo6L,OAAQ9kJ,EAAM8kJ,OACd32N,KAAM6xE,EAAM7xE,KACZ+F,MAAO,IAET0xN,EAAQt8O,IAAI02F,EAAM7xE,KAAMu8B,IAEnBA,CAAK,EAEd,IAAK,MAAMt2B,KAAQF,EAAO,CACxB,MAAM4xN,EAA+B,kBAAT1xN,EACtBryB,EAAMsiP,EAAayB,EAAe1xN,EAAOA,EAAKryB,KAC9C8B,EAAQiiP,OAAe,EAAS1xN,EAAKvwB,MACrCkiP,EAAWD,IAAiB1xN,EAAKtzB,QAAU6kP,EAAgB,IAAKA,KAAkBvxN,EAAKtzB,SACvFk/F,EAAQmlJ,EAASpjP,GACvB8jP,EAAS7lJ,GAAO9rE,MAAMxyB,KAAK,CACzBK,MACA8B,QACAuhP,YAAaplJ,EAAMolJ,YACnBtkP,QAASilP,GAEb,CACA,OAAO3rP,QAAQ+wB,IAAI,IAAIy6N,EAAQnuO,UAAU7N,KAAK8gD,GAAUu6E,EAAGv6E,MAASpwD,MACjEu6B,GAAMA,EAAE8H,QACV,EAEGle,EAAU,CAEd+lO,OAAAA,CAAQziP,GAAgB,IAAXkqE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnBqD,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACzC,OAAO6hP,EAAUkB,EAAON,QAASY,EAAan5K,EAChD,EACAs+B,OAAAA,CAAQxoG,GAAgB,IAAXkqE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnBqD,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACzC,OAAO6hP,EAAUkB,EAAOv6I,QAAS66I,EAAan5K,GAAM3xE,MACjDuJ,GAAU0/O,EAAM1/O,IAErB,EACAi/I,SAAQA,CAAC5uH,EAAOyxN,IACPD,EAASxxN,EAAOyxN,GAAgBj7L,GACjCA,EAAMo6L,OAAOhiG,SACR8gG,EACLl5L,EAAMo6L,OAAOhiG,SACbp4F,EAAMx2B,MAAMtqB,KAAKwqB,IAAI,CACnBryB,IAAKqyB,EAAKgxN,YACVtkP,QAASszB,EAAKtzB,YAEhB6kP,GACArrP,MACCu6B,GAAMA,EAAEjrB,KAAKwqB,IAAI,CAChBryB,IAAKuiP,EAAS55L,EAAMv8B,KAAMiG,EAAKryB,KAC/B8B,MAAO0/O,EAAMnvN,EAAKvwB,aAIjBzJ,QAAQ+wB,IACbu/B,EAAMx2B,MAAMtqB,KAAKwqB,GACRwvN,EACLl5L,EAAMo6L,OAAOv6I,QACbn2E,EAAKgxN,YACLhxN,EAAKtzB,SACLxG,MAAMuJ,IAAK,CACX9B,IAAKqyB,EAAKryB,IACV8B,MAAO0/O,EAAM1/O,YAMvB4gP,UAAAA,CAAW1iP,GAAgB,IAAXkqE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtBqD,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACzC,OAAI+iP,EAAOL,WACFb,EAAUkB,EAAOL,WAAYW,EAAan5K,GAE5C23K,EAAUkB,EAAOv6I,QAAS66I,EAAan5K,GAAM3xE,MACjDuJ,GDjJT,SAAwBA,GACtB,MAAqB,kBAAVA,EACFA,EAEJA,EAAM4lF,WAAW26J,IAGtBD,IACOp/C,OAAOthM,KAAKI,EAAMa,MAAM0/O,EAAczlP,QAAS,WAH7CkF,CAIX,CCwImBmiP,CAAeniP,IAE9B,EACA,aAAM4mG,CAAQ1oG,EAAK8B,GAAkB,IAAXooE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EAChC,QAAc,IAAVmF,EACF,OAAO4a,EAAQssF,WAAWhpG,GAE5BA,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACpC+iP,EAAOr6I,gBAGNm5I,EAAUkB,EAAOr6I,QAAS26I,EAAaj+O,EAAUtD,GAAQooE,GAC1D64K,EAAOmB,OACV5qI,EAAS,SAAUt5G,GAEvB,EACA,cAAMmkP,CAAShyN,EAAOyxN,SACdD,EAASxxN,EAAOyxN,GAAe37J,UACnC,GAAIt/B,EAAMo6L,OAAOoB,SACf,OAAOtC,EACLl5L,EAAMo6L,OAAOoB,SACbx7L,EAAMx2B,MAAMtqB,KAAKwqB,IAAI,CACnBryB,IAAKqyB,EAAKgxN,YACVvhP,MAAOsD,EAAUitB,EAAKvwB,OACtB/C,QAASszB,EAAKtzB,YAEhB6kP,GAGCj7L,EAAMo6L,OAAOr6I,eAGZrwG,QAAQ+wB,IACZu/B,EAAMx2B,MAAMtqB,KAAKwqB,GACRwvN,EACLl5L,EAAMo6L,OAAOr6I,QACbr2E,EAAKgxN,YACLj+O,EAAUitB,EAAKvwB,OACfuwB,EAAKtzB,WAGV,GAEL,EACA,gBAAM4jP,CAAW3iP,EAAK8B,GAAkB,IAAXooE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnC,QAAc,IAAVmF,EACF,OAAO4a,EAAQssF,WAAWhpG,EAAKkqE,GAEjClqE,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACzC,GAAI+iP,EAAOJ,iBACHd,EAAUkB,EAAOJ,WAAYU,EAAavhP,EAAOooE,OAClD,KAAI64K,EAAOr6I,QAGhB,aAFMm5I,EAAUkB,EAAOr6I,QAAS26I,ED/MxC,SAAsBvhP,GACpB,GAAqB,kBAAVA,EACT,OAAOA,EAETsgP,IACA,MAAMj1J,EAAS61G,OAAOthM,KAAKI,GAAOkK,SAAS,UAC3C,OAAOq2O,EAAgBl1J,CACzB,CCwMqDi3J,CAAatiP,GAAQooE,EAGpE,CACK64K,EAAOmB,OACV5qI,EAAS,SAAUt5G,EAEvB,EACA,gBAAMgpG,CAAWhpG,GAAgB,IAAXkqE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACR,mBAATutE,IACTA,EAAO,CAAEm6K,WAAYn6K,IAEvBlqE,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACpC+iP,EAAO/5I,mBAGN64I,EAAUkB,EAAO/5I,WAAYq6I,EAAan5K,IAC5CA,EAAKm6K,YAAcn6K,EAAKo6K,mBACpBzC,EAAUkB,EAAO/5I,WAAYq6I,EAAc,IAAKn5K,GAEnD64K,EAAOmB,OACV5qI,EAAS,SAAUt5G,GAEvB,EAEA,aAAM2nO,CAAQ3nO,GAAgB,IAAXkqE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACL,mBAATutE,IACTA,EAAO,CAAEq6K,WAAYr6K,IAEvBlqE,EAAMsiP,EAAatiP,GACnB,MAAM,YAAEqjP,EAAW,OAAEN,GAAWK,EAASpjP,GACnCy0F,EAAuBx7F,OAAOC,OAAO,MAI3C,GAHI6pP,EAAOpb,SACT1uO,OAAO2I,OAAO6yF,QAAYotJ,EAAUkB,EAAOpb,QAAS0b,EAAan5K,KAE9DA,EAAKq6K,WAAY,CACpB,MAAMziP,QAAc+/O,EAClBkB,EAAOv6I,QACP66I,EAAc,IACdn5K,GACA3xE,MAAMisP,GAAWhD,EAAMgD,KACrB1iP,GAA0B,kBAAVA,IACS,kBAAhBA,EAAM2iP,QACf3iP,EAAM2iP,MAAQ,IAAIr4M,KAAKtqC,EAAM2iP,QAEJ,kBAAhB3iP,EAAM4iP,QACf5iP,EAAM4iP,MAAQ,IAAIt4M,KAAKtqC,EAAM4iP,QAE/BzrP,OAAO2I,OAAO6yF,EAAM3yF,GAExB,CACA,OAAO2yF,CACT,EACAkwJ,OAAAA,CAAQ3kP,EAAK8B,GAAkB,IAAXooE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC1B,OAAO3D,KAAK0vG,QAAQ1oG,EAAM,IAAK8B,EAAOooE,EACxC,EACAm6K,UAAAA,CAAWrkP,GAAgB,IAAXkqE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtB,OAAO3D,KAAKgwG,WAAWhpG,EAAM,IAAKkqE,EACpC,EAEA,aAAM04K,CAAQx2N,GAAiB,IAAX89C,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC1ByvB,EAAOo2N,EAAiBp2N,GACxB,MAAM02N,EAASQ,EAAUl3N,GAAM,GAC/B,IAAIw4N,EAAe,GACnB,MAAMC,EAAU,GAChB,IAAK,MAAM5mJ,KAAS6kJ,EAAQ,CAC1B,MAKMnqP,SALgBkpP,EACpB5jJ,EAAM8kJ,OAAOH,QACb3kJ,EAAMwlJ,aACNv5K,IAEmBriE,KAAK7H,GAAQi+F,EAAMulJ,WAAalB,EAAatiP,KAAM6hB,QAAQ7hB,IAAS4kP,EAAajvJ,MAAM17F,GAAM+F,EAAI0nF,WAAWztF,OACjI4qP,EAAQllP,QAAQhH,GAChBisP,EAAe,CACb3mJ,EAAMulJ,cACHoB,EAAa/iO,QAAQ5nB,IAAOA,EAAEytF,WAAWuW,EAAMulJ,cAEtD,CACA,OAAOp3N,EAAOy4N,EAAQhjO,QAAQ7hB,GAAQA,EAAI0nF,WAAWt7D,KAAUpsB,EAAI2rJ,SAAS,OAAQk5F,EAAQhjO,QAAQ7hB,IAASA,EAAI2rJ,SAAS,MAC5H,EAEA,WAAM/wD,CAAMxuE,GAAiB,IAAX89C,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EACxByvB,EAAOo2N,EAAiBp2N,SAClB/zB,QAAQ+wB,IACZk6N,EAAUl3N,GAAM,GAAOvkB,KAAIogF,UACzB,GAAI7uF,EAAE2pP,OAAOnoJ,MACX,OAAOinJ,EAAUzoP,EAAE2pP,OAAOnoJ,MAAOxhG,EAAEqqP,aAAcv5K,GAEnD,GAAI9wE,EAAE2pP,OAAO/5I,WAAY,CACvB,MAAMrwG,QAAaS,EAAE2pP,OAAOH,QAAQxpP,EAAEqqP,cAAgB,GAAIv5K,GAC1D,OAAO7xE,QAAQ+wB,IACbzwB,EAAKkP,KAAK7H,GAAQ5G,EAAE2pP,OAAO/5I,WAAWhpG,EAAKkqE,KAE/C,KAGN,EACA,aAAM24K,SACExqP,QAAQ+wB,IACZnwB,OAAOyc,OAAOsiF,EAAQ8qJ,QAAQj7O,KAAKk7O,GAAWF,EAAQE,KAE1D,EACA96J,MAAWi8J,MAACh/O,SAvQK+iF,WACjB,IAAI+P,EAAQirJ,SAAZ,CAGAjrJ,EAAQirJ,UAAW,EACnB,IAAK,MAAMO,KAAcxrJ,EAAQ8qJ,OAC/B9qJ,EAAQmrJ,QAAQK,SAAoBU,EAClClsJ,EAAQ8qJ,OAAOU,GACflqI,EACAkqI,EANJ,CAQA,EA6PQsB,GACN9sJ,EAAQkrJ,eAAevjP,KAAKuF,GACrB+iF,UACL+P,EAAQkrJ,eAAiBlrJ,EAAQkrJ,eAAerhO,QAC7C0F,GAAaA,IAAariB,IAES,IAAlC8yF,EAAQkrJ,eAAetmP,cACnB8mP,GACR,GAGJ,aAAMP,GACJnrJ,EAAQkrJ,eAAiB,SACnBQ,GACR,EAEAzlJ,KAAAA,CAAM7xE,EAAM22N,GAEV,IADA32N,EAAOo2N,EAAiBp2N,KACZ4rE,EAAQ8qJ,OAAO12N,GACzB,MAAM,IAAI3zB,MAAM,sBAAsB2zB,KAYxC,OAVIA,IACF4rE,EAAQgrJ,YAAYrjP,KAAKysB,GACzB4rE,EAAQgrJ,YAAY/kN,MAAK,CAAC1N,EAAGz0B,IAAMA,EAAEc,OAAS2zB,EAAE3zB,UAElDo7F,EAAQ8qJ,OAAO12N,GAAQ22N,EACnB/qJ,EAAQirJ,UACV5qP,QAAQC,QAAQ4rP,EAAMnB,EAAQzpI,EAAUltF,IAAO7zB,MAAMwsP,IACnD/sJ,EAAQmrJ,QAAQ/2N,GAAQ24N,CAAS,IAChC/9N,MAAM5G,QAAQ1L,OAEZgI,CACT,EACA,aAAM+hF,CAAQryE,GAAuB,IAAjB44N,IAAQroP,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,KAAAA,UAAA,IAC1ByvB,EAAOo2N,EAAiBp2N,KACV4rE,EAAQ8qJ,OAAO12N,KAGzB4rE,EAAQirJ,UAAY72N,KAAQ4rE,EAAQmrJ,UACtCnrJ,EAAQmrJ,QAAQ/2N,YACT4rE,EAAQmrJ,QAAQ/2N,IAErB44N,SACInC,EAAQ7qJ,EAAQ8qJ,OAAO12N,IAE/B4rE,EAAQgrJ,YAAchrJ,EAAQgrJ,YAAYnhO,QAAQ7hB,GAAQA,IAAQosB,WAC3D4rE,EAAQ8qJ,OAAO12N,GACxB,EACAg3N,QAAAA,GAAmB,IAAVpjP,EAAGrD,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,GACbqD,EAAMsiP,EAAatiP,GAAO,IAC1B,MAAM5G,EAAIgqP,EAASpjP,GACnB,MAAO,CACL+iP,OAAQ3pP,EAAE2pP,OACV32N,KAAMhzB,EAAEgzB,KAEZ,EACAk3N,SAAAA,GAAgC,IAAtBl3N,EAAIzvB,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,GAAIutE,EAAIvtE,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC3ByvB,EAAOk2N,EAAal2N,GAEpB,OADek3N,EAAUl3N,EAAM89C,EAAKxoC,SACtB75B,KAAKzO,IAAC,CAClB2pP,OAAQ3pP,EAAE2pP,OACV32N,KAAMhzB,EAAEoqP,cAEZ,GAEF,OAAO9mO,CACT,CAkBA,SAASwnO,EAAMnB,EAAQzpI,EAAUltF,GAC/B,OAAO22N,EAAOmB,MAAQnB,EAAOmB,OAAM,CAAC3uN,EAAOv1B,IAAQs5G,EAAS/jF,EAAOnJ,EAAOpsB,KAAQ,MAEpF,CACAioF,eAAe46J,EAAQE,GACS,oBAAnBA,EAAOF,eACVhB,EAAUkB,EAAOF,QAE3B,CC1bA,SAASoC,EAAiB3gM,GACtB,OAAO,IAAIjsD,SAAQ,CAACC,EAAS+7B,KAEzBiwB,EAAQ4gM,WAAa5gM,EAAQ6gM,UAAY,IAAM7sP,EAAQgsD,EAAQ3zC,QAE/D2zC,EAAQ8gM,QAAU9gM,EAAQ6I,QAAU,IAAM94B,EAAOiwB,EAAQ5vC,MAAM,GAEvE,CACA,SAASkwJ,EAAYygF,EAAQC,GACzB,MAAMhhM,EAAUihM,UAAUzvK,KAAKuvK,GAC/B/gM,EAAQkhM,gBAAkB,IAAMlhM,EAAQ3zC,OAAO80O,kBAAkBH,GACjE,MAAMI,EAAMT,EAAiB3gM,GAC7B,MAAO,CAACqhM,EAAQzgP,IAAawgP,EAAIntP,MAAMqtP,GAAO1gP,EAAS0gP,EAAGn9N,YAAY68N,EAAWK,GAAQE,YAAYP,KACzG,CACA,IAAIQ,EACJ,SAASC,IAIL,OAHKD,IACDA,EAAsBlhF,EAAY,eAAgB,WAE/CkhF,CACX,CAOA,SAAShsP,EAAIkG,GACT,OADyBrD,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAGopP,KACT,YAAavnD,GAAUymD,EAAiBzmD,EAAM1kM,IAAIkG,KACzE,CA+FA,SAASgmP,EAAWxnD,EAAOt5L,GAOvB,OANAs5L,EAAMynD,aAAad,UAAY,WACtBnsP,KAAK2X,SAEVzL,EAASlM,KAAK2X,QACd3X,KAAK2X,OAAO+lF,WAChB,EACOuuJ,EAAiBzmD,EAAM/1K,YAClC,4VA/FA,SAAazoB,EAAK8B,GACd,OADgCnF,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAGopP,KAChB,aAAcvnD,IAC7BA,EAAMC,IAAI38L,EAAO9B,GACVilP,EAAiBzmD,EAAM/1K,eAEtC,0BAqDA,SAAazoB,GACT,OADyBrD,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAGopP,KACT,aAAcvnD,IAC7BA,EAAMntD,OAAOrxI,GACNilP,EAAiBzmD,EAAM/1K,eAEtC,sBAsCA,WACI,OADqB9rB,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAGopP,KACL,YAAavnD,IAE5B,GAAIA,EAAM0nD,WACN,OAAOjB,EAAiBzmD,EAAM0nD,cAElC,MAAM/zN,EAAQ,GACd,OAAO6zN,EAAWxnD,GAAQ7uL,GAAWwiB,EAAMxyB,KAAKgQ,EAAO3P,OAAMzH,MAAK,IAAM45B,GAAM,GAEtF,eA7BA,WACI,OADsBx1B,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,GAAGopP,KACN,aAAcvnD,IAC7BA,EAAM5jG,QACCqqJ,EAAiBzmD,EAAM/1K,eAEtC,s/OCpFA,MAAA8zF,EAAA,CAAA4pI,KAAA,CAAA75B,QAAA,eAAA85B,aAAA,oBAAAhoJ,UAAA,iBAAAioJ,eAAA,sBAAA95L,aAAA,oBAAA+5L,YAAA,mBAAAC,iBAAA,wBAAAC,mBAAA,2BAAAC,IAAA,CAAAn6B,QAAA,cAAA85B,aAAA,mBAAAhoJ,UAAA,gBAAAioJ,eAAA,qBAAA95L,aAAA,mBAAA+5L,YAAA,kBAAAC,iBAAA,uBAAAC,mBAAA,0BAAAE,QAAA,CAAAp6B,QAAA,kBAAA85B,aAAA,uBAAAhoJ,UAAA,oBAAAioJ,eAAA,yBAAA95L,aAAA,uBAAA+5L,YAAA,sBAAAC,iBAAA,2BAAAC,mBAAA,+JXnCO,MAAMG,EAA2C,QAE3CC,EAA2C,MAE3CC,EAAgB,IAEhBC,EAAe,YAEfC,EAAgB,OAEhBC,EAAgB,OAIhBC,EAAgB,IAEhBC,EAAa,MAEbC,EAAa,MAIbC,EAA8B,YAE9BC,EAA0B,IAE1BC,EAA4B,MAM5BC,EAAuB,mDYV9B,SAAUC,EAAWzsN,GACzB,OAAO/uB,EAAAA,EAAAA,WACL8R,EAAAA,EAAAA,aAAW2pO,EAAAA,EAAAA,GAAkB1sN,GAAMgsN,GACnCD,EAEJ,CAIM,SAAUY,EAAUhjN,GACxB,MAAMymC,GAASrtD,EAAAA,EAAAA,YACbwpO,EACAF,GAEIO,EACJN,GACAr7O,EAAAA,EAAAA,WAAS/C,EAAAA,EAAAA,QAAO,CAACkiE,EAAQzmC,IAAa0iN,GACxC,MAAO,CAACF,EAAYC,EAAYQ,GAAYriP,KAAK2hP,EACnD,CC3BM,SAAUW,IACsC,IAApDrhN,EAAA5pC,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,IAAmB4uC,EAAAA,EAAAA,aAAYg8M,GAE/B,OAAOM,EAAAA,EAAgCthN,EACzC,CAEO,eAAeuhN,EACpBt6N,EACAo1E,EACAmlJ,EACAxmL,GACyC,IAAzCwhC,EAAApmG,UAAAC,OAAA,QAAArD,IAAAoD,UAAA,GAAAA,UAAA,IAAcqrP,EAAAA,EAAAA,iBAAgB57M,KAAKD,OAEnC,MAAMg/B,EAAS,CAAEyhB,IAAK+5J,EAAiBsB,IAAKrB,GAGtCziM,EAAU,CAAEw+C,IAFN+kJ,EAAUnmL,EAAQ78B,WAEPlX,MAAKo1E,MAAKG,MAAKF,IAD1BE,EAAMglJ,GAEZzvO,GD6CmBwE,EC7CD,CAAEquD,SAAQhnB,YD8C3BrmC,EAAAA,EAAAA,YACL,CAAC0pO,EAAW1qO,EAAOquD,QAASq8K,EAAW1qO,EAAOqnC,UAAU7+C,KAAKuhP,GAC7DG,IAHE,IAAqBlqO,EC3CzB,OD2DI,SAAoBA,GACxB,MAAO,CACL0qO,EAAW1qO,EAAOquD,QAClBq8K,EAAW1qO,EAAOqnC,UA7BItoC,EA8BZiB,EAAO0E,WA7BZxV,EAAAA,EAAAA,UAAS6P,EAAOirO,KA8BrBxhP,KAAKuhP,GA/BH,IAAoBhrO,CAgC1B,CCjESqsO,CAAU,CAAE/8K,SAAQhnB,UAAS3iC,UADlBqmO,EAAAA,GAAatmL,EAAQqZ,UAAWtiE,IAEpD,8Ef7BA,MAAM6vO,EAAgB7vO,GACpBsF,KAAKxY,UAAUkT,GAAM,CAAC0K,EAAGlhB,IACN,kBAAVA,EAAqBA,EAAMkK,WAAa,IAAMlK,IAUnDsmP,EAAYjrO,IAMhB,MACMkrO,EAAiBlrO,EAAKpb,QADI,qQAC6B,aAE7D,OAAO6b,KAAKpY,MAAM6iP,GAAgB,CAACrlO,EAAGlhB,IAEjB,kBAAVA,GAAsBA,EAAMkG,MAAM,UAGlC4mB,OAAO9sB,EAAMuW,UAAU,EAAGvW,EAAMlF,OAAS,IAE3CkF,GACP,EAGE,SAAUwmP,EAAuBxmP,GACrC,GAAqB,kBAAVA,EACT,MAAM,IAAIrJ,MAAM,+CAA+CqJ,GAEjE,IACE,OAAOsmP,EAAUtmP,GACjB,MAAAg+B,GACA,OAAOh+B,EAEX,CAEM,SAAU2lP,EAAkB3lP,GAChC,MAAwB,kBAAVA,EAAqBA,EAAQqmP,EAAcrmP,IAAU,EACrE,iGgBrDAu9O,EAAArlP,aAAAK,EAAA,MAAAvB,GACAumP,EAAArlP,aAAAK,EAAA,OAAAvB,mHCCaA,EAAAA,YAAc,IAEdA,EAAAA,aAAe,ibCFfA,EAAAA,WAAa,EAEbA,EAAAA,aAAe,EAEfA,EAAAA,YAAc,GAEdA,EAAAA,eAAiB,GAEjBA,EAAAA,cAAgB,GAIhBA,EAAAA,WAAaA,EAAAyvP,cAEbzvP,EAAAA,aAA4B,EAAbA,EAAA0vP,WAEf1vP,EAAAA,YAA2B,GAAbA,EAAA0vP,WAEd1vP,EAAAA,eAA8B,GAAbA,EAAA0vP,WAEjB1vP,EAAAA,cAA6B,GAAbA,EAAA0vP,WAIhB1vP,EAAAA,SAAWA,EAAA2vP,cAEX3vP,EAAAA,YAAyB,EAAXA,EAAA4vP,SAEd5vP,EAAAA,UAAuB,EAAXA,EAAA4vP,SAEZ5vP,EAAAA,aAA0B,GAAXA,EAAA4vP,SAEf5vP,EAAAA,kBAA+B,GAAXA,EAAA4vP,SAIpB5vP,EAAAA,QAAUA,EAAA6vP,kBAEV7vP,EAAAA,WAAuB,EAAVA,EAAA8vP,QAEb9vP,EAAAA,UAAsB,EAAVA,EAAA8vP,QAEZ9vP,EAAAA,WAAuB,EAAVA,EAAA8vP,QAEb9vP,EAAAA,YAAwB,GAAVA,EAAA8vP,QAId9vP,EAAAA,SAAWA,EAAA+vP,WAEX/vP,EAAAA,UAAuB,EAAXA,EAAAgwP,SAEZhwP,EAAAA,YAAyB,EAAXA,EAAAgwP,SAEdhwP,EAAAA,WAAwB,EAAXA,EAAAgwP,SAIbhwP,EAAAA,SAAqB,IAAVA,EAAA8vP,uGlB5DxBvJ,EAAArlP,aAAAK,EAAA,OAAAvB,GACAumP,EAAArlP,aAAAK,EAAA,OAAAvB,GACAumP,EAAArlP,aAAAK,EAAA,MAAAvB,GACAumP,EAAArlP,aAAAK,EAAA,OAAAvB,yFmBHAkB,aAAAK,EAAA,OAAAvB,gGCKAA,EAAAA,OAAA,8HCLA,MAAAiwP,EAAA1uP,EAAA,OAEAvB,EAAAA,cAAA,SAA8BsrK,GAC5B,OAAOA,EAAU2kF,EAAAC,YACnB,EAEAlwP,EAAAA,gBAAA,SAAgCmwP,GAC9B,OAAOxnP,KAAKipB,MAAMu+N,EAAcF,EAAAC,aAClC,8FCRAlwP,EAAAA,MAAA,SAAsBojD,GACpB,OAAO,IAAI7jD,SAAQC,IACjB4+B,YAAW,KACT5+B,GAAQ,EAAK,GACZ4jD,EAAQ,GAEf,iGCNAmjM,EAAArlP,aAAAK,EAAA,OAAAvB,GACAumP,EAAArlP,aAAAK,EAAA,KAAAvB,+FCCA,MAAaowP,EAAb7sP,WAAAA,GACS,KAAA8sP,WAAa,IAAIxjJ,GA+B1B,CA7BSrzE,KAAAA,CAAM5f,GACX,GAAI,KAAKy2O,WAAW3pN,IAAI9sB,GACtB,MAAM,IAAIja,MAAM,oCAAoCia,KAEtD,KAAKy2O,WAAW5hP,IAAImL,EAAO,CAAE02O,QAASh9M,KAAKD,OAC7C,CAEOk9M,IAAAA,CAAK32O,GACV,MAAM25B,EAAY,KAAKvyC,IAAI4Y,GAC3B,GAAiC,qBAAtB25B,EAAUi9M,QACnB,MAAM,IAAI7wP,MAAM,oCAAoCia,KAEtD,MAAM42O,EAAUl9M,KAAKD,MAAQE,EAAU+8M,QACvC,KAAKD,WAAW5hP,IAAImL,EAAO,CAAE02O,QAAS/8M,EAAU+8M,QAASE,WAC3D,CAEOxvP,GAAAA,CAAI4Y,GACT,MAAM25B,EAAY,KAAK88M,WAAWrvP,IAAI4Y,GACtC,GAAyB,qBAAd25B,EACT,MAAM,IAAI5zC,MAAM,iCAAiCia,KAEnD,OAAO25B,CACT,CAEOi9M,OAAAA,CAAQ52O,GACb,MAAM25B,EAAY,KAAKvyC,IAAI4Y,GAE3B,OADgB25B,EAAUi9M,SAAWl9M,KAAKD,MAAQE,EAAU+8M,OAE9D,EA/BFtwP,EAAAA,MAAAowP,EAkCApwP,EAAAA,QAAeowP,8BxBpCf,SAAgBK,EAAiB7uP,GAC/B,IAAIo0D,EAIJ,MAHsB,qBAAXxB,QAAkD,qBAAjBA,OAAO5yD,KACjDo0D,EAAMxB,OAAO5yD,IAERo0D,CACT,CAEA,SAAgB06L,EAAwB9uP,GACtC,MAAMo0D,EAAMy6L,EAAiB7uP,GAC7B,IAAKo0D,EACH,MAAM,IAAIr2D,MAAM,GAAGiC,8BAErB,OAAOo0D,CACT,qRAdAh2D,EAAAA,cAAAywP,EAQAzwP,EAAAA,qBAAA0wP,EAQA1wP,EAAAA,mBAAA,WACE,OAAO0wP,EAA+B,WACxC,EAEA1wP,EAAAA,YAAA,WACE,OAAOywP,EAAwB,WACjC,EAEAzwP,EAAAA,oBAAA,WACE,OAAO0wP,EAAgC,YACzC,EAEA1wP,EAAAA,aAAA,WACE,OAAOywP,EAAyB,YAClC,EAEAzwP,EAAAA,mBAAA,WACE,OAAO0wP,EAA+B,WACxC,EAEA1wP,EAAAA,YAAA,WACE,OAAOywP,EAAwB,WACjC,EAEAzwP,EAAAA,iBAAA,WACE,OAAO0wP,EAA6B,SACtC,EAEA1wP,EAAAA,UAAA,WACE,OAAOywP,EAAsB,SAC/B,EAEAzwP,EAAAA,uBAAA,WACE,OAAO0wP,EAA8B,eACvC,EAEA1wP,EAAAA,gBAAA,WACE,OAAOywP,EAAuB,eAChC,2CAtDA,MAAAE,EAAApvP,EAAA,OAYAvB,EAAAA,EAAA,WACE,IAAIqvJ,EACAuhG,EAEJ,IACEvhG,EAAMshG,EAAAE,qBACND,EAAMD,EAAAG,qBACN,MAAOpxP,GACP,OAAO,KAkDT,SAASqxP,IAAwC,QAAAl+O,EAAAhP,UAAAC,OAAdH,EAAc,IAAAR,MAAA0P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAdnP,EAAcmP,GAAAjP,UAAAiP,GAC/C,MAAMk+O,EAA8C3hG,EAAIxS,qBACtD,QAGF,IAAK,IAAI70I,EAAI,EAAGA,EAAIgpP,EAASltP,OAAQkE,IAAK,CACxC,MAAM5B,EAAuB4qP,EAAShpP,GAChCipP,EAAmC,CAAC,WAAY,WAAY,QAC/DliP,KAAK8K,GAAmBzT,EAAIkJ,aAAauK,KACzCkP,QAAQmvH,KACHA,GACKv0I,EAAKkrF,SAASqpD,KAK3B,GAAI+4G,EAAWntP,QAAUmtP,EAAY,CACnC,MAAMnzM,EAAyB13C,EAAIkJ,aAAa,WAChD,GAAIwuC,EACF,OAAOA,GAKb,MAAO,EACT,CA4BA,MAAMl8C,EA1BN,WACE,IAAIA,EAAemvP,EACjB,OACA,eACA,WACA,iBAOF,OAJKnvP,IACHA,EAAOytJ,EAAI9xB,OAGN37H,CACT,CAaqBsvP,GAYrB,MAP+B,CAC7B7nH,YAhB4B0nH,EAC1B,cACA,iBACA,sBACA,YAaFl7M,IALkB+6M,EAAIhc,OAMtB8G,MA5GF,WACE,MAAM/yM,EAA2C0mH,EAAIxS,qBACnD,QAEI6+F,EAAkB,GAExB,IAAK,IAAI1zO,EAAI,EAAGA,EAAI2gC,EAAM7kC,OAAQkE,IAAK,CACrC,MAAMu0C,EAAwB5T,EAAM3gC,GAE9Bk6K,EAAqB3lI,EAAKjtC,aAAa,OAC7C,GAAI4yK,GACEA,EAAIzrK,cAAcnN,QAAQ,SAAW,EAAG,CAC1C,MAAMw3C,EAAsBvE,EAAKjtC,aAAa,QAE9C,GAAIwxC,EACF,IAC4C,IAA1CA,EAAKrqC,cAAcnN,QAAQ,YACc,IAAzCw3C,EAAKrqC,cAAcnN,QAAQ,UACJ,IAAvBw3C,EAAKx3C,QAAQ,MACb,CACA,IAAI6nP,EAAuBP,EAAI3T,SAAW,KAAO2T,EAAI/mM,KAErD,GAA0B,IAAtB/I,EAAKx3C,QAAQ,KACf6nP,GAAgBrwM,MACX,CACL,MAAMv+B,EAAiBquO,EAAI71D,SAASlrL,MAAM,KAC1C0S,EAAKkJ,MAEL0lO,GAD0B5uO,EAAK/V,KAAK,KACR,IAAMs0C,EAGpC46L,EAAM70O,KAAKsqP,QACN,GAA2B,IAAvBrwM,EAAKx3C,QAAQ,MAAa,CACnC,MAAM8nP,EAAsBR,EAAI3T,SAAWn8L,EAE3C46L,EAAM70O,KAAKuqP,QAEX1V,EAAM70O,KAAKi6C,IAOrB,OAAO46L,CACT,CA0DwB2V,GAMtBzvP,OAIJ,mCyBtIA,WAEI,SAAS0vP,EAAStoP,GACd,OAAQ2Y,SAAS3Y,KAAWA,CAChC,CAEA,SAASuoP,EAAUC,GACf,IAAKF,EAASE,EAAS1tP,QAAW,OAAO,EAEzC,IAAK,IAAIkE,EAAI,EAAGA,EAAIwpP,EAAS1tP,OAAQkE,IACjC,IAAKspP,EAASE,EAASxpP,KAAOwpP,EAASxpP,GAAK,GAAKwpP,EAASxpP,GAAK,IAC3D,OAAO,EAIf,OAAO,CACX,CAEA,SAASypP,EAAY7gP,EAAK/F,GAGtB,GAAI+F,EAAIikD,QAAUsf,YAAYC,OAAOxjE,IAAqB,eAAbA,EAAIhP,KAU7C,OARIiJ,IAEI+F,EADAA,EAAI/G,MACE+G,EAAI/G,QAEJ1G,MAAM/B,UAAUyI,MAAMvI,KAAKsP,IAIlCA,EAIX,GAAIzN,MAAMqU,QAAQ5G,GAAM,CACpB,IAAK2gP,EAAU3gP,GACX,MAAM,IAAIjR,MAAM,iCAAmCiR,GAGvD,OAAO,IAAIgS,WAAWhS,EAC1B,CAGA,GAAI0gP,EAAS1gP,EAAI9M,SAAWytP,EAAU3gP,GAClC,OAAO,IAAIgS,WAAWhS,GAG1B,MAAM,IAAIjR,MAAM,gCACpB,CAEA,SAAS+xP,EAAY5tP,GACjB,OAAO,IAAI8e,WAAW9e,EAC1B,CAEA,SAAS6tP,EAAUC,EAAaC,EAAaC,EAAaC,EAAaC,GAChD,MAAfD,GAAoC,MAAbC,IAEnBJ,EADAA,EAAY/nP,MACE+nP,EAAY/nP,MAAMkoP,EAAaC,GAE/B7uP,MAAM/B,UAAUyI,MAAMvI,KAAKswP,EAAaG,EAAaC,IAG3EH,EAAYpjP,IAAImjP,EAAaE,EACjC,CAIA,IAAIG,EA0CO,CACHC,QA1CJ,SAAiBvwN,GACb,IAAI9pB,EAAS,GAAI7P,EAAI,EAErB,IADA25B,EAAOwwN,UAAUxwN,GACV35B,EAAI25B,EAAK79B,QAAQ,CACpB,IAAIyhB,EAAIoc,EAAKl4B,WAAWzB,KAGd,KAANud,GACA1N,EAAOhR,KAAK8a,SAASggB,EAAKj4B,OAAO1B,EAAG,GAAI,KACxCA,GAAK,GAIL6P,EAAOhR,KAAK0e,EAEpB,CAEA,OAAOksO,EAAY55O,EACvB,EAyBI8gB,UAvBJ,SAAmB5V,GAGf,IAFA,IAAIlL,EAAS,GAAI7P,EAAI,EAEdA,EAAI+a,EAAMjf,QAAQ,CACrB,IAAIyhB,EAAIxC,EAAM/a,GAEVud,EAAI,KACJ1N,EAAOhR,KAAKxD,OAAOwF,aAAa0c,IAChCvd,KACOud,EAAI,KAAOA,EAAI,KACtB1N,EAAOhR,KAAKxD,OAAOwF,cAAmB,GAAJ0c,IAAa,EAAqB,GAAfxC,EAAM/a,EAAI,KAC/DA,GAAK,IAEL6P,EAAOhR,KAAKxD,OAAOwF,cAAmB,GAAJ0c,IAAa,IAAuB,GAAfxC,EAAM/a,EAAI,KAAc,EAAqB,GAAf+a,EAAM/a,EAAI,KAC/FA,GAAK,EAEb,CAEA,OAAO6P,EAAOrL,KAAK,GACvB,GAQA4lP,EAAc,WAWd,IAAIC,EAAM,mBAWV,MAAO,CACHH,QAtBJ,SAAiBvwN,GAEb,IADA,IAAI9pB,EAAS,GACJ7P,EAAI,EAAGA,EAAI25B,EAAK79B,OAAQkE,GAAK,EAClC6P,EAAOhR,KAAK8a,SAASggB,EAAKj4B,OAAO1B,EAAG,GAAI,KAG5C,OAAO6P,CACX,EAgBI8gB,UAXJ,SAAmB5V,GAEX,IADA,IAAIlL,EAAS,GACJ7P,EAAI,EAAGA,EAAI+a,EAAMjf,OAAQkE,IAAK,CACnC,IAAI4X,EAAImD,EAAM/a,GACd6P,EAAOhR,KAAKwrP,GAAS,IAAJzyO,IAAa,GAAKyyO,EAAQ,GAAJzyO,GAC3C,CACA,OAAO/H,EAAOrL,KAAK,GAC3B,EAMJ,CA1BkB,GA8Bd8lP,EAAiB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGtCC,EAAO,CAAC,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAGtLtwI,EAAI,CAAC,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAC//CuwI,EAAI,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,KAG//CC,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAC1/FC,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAG1/FC,EAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,EAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,YAG1/FC,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAC1/FC,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WA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c,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,KACjB,gBA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,GACd,aAAc,GACd,aAAc,GACd,OAAU,GACV,cAAe,GACf,aAAc,GACd,eAAgB,GAChB,IAAO,IACP,IAAO,IACP,IAAO,IACP,2BAA4B,KAC5B,aAAc,KACd,aAAc,KACd,aAAc,KACd,aAAc,KACd,IAAO,KACP,eAAkB,KAClB,UAAW,MACX,YAAa,MACb,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,YAAa,MACb,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,aAAc,MACd,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,cAAe,MACf,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,eAAgB,MAChB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,KACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gBAAiB,MACjB,gB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","sources":["../node_modules/@thirdweb-dev/crypto/dist|lazy|/^node:cry.*$/|groupOptions: {}|namespace object","../node_modules/@account-abstraction/contracts/dist/index.js","../node_modules/@account-abstraction/contracts/dist/types/factories/BaseAccount__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/BasePaymaster__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/BrokenBLSAccountFactory__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/BrokenBLSAccount__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/DepositPaymaster__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/EntryPoint__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/IAccount__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/IAggregator__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/IEntryPoint__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/IPaymaster__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/IStakeManager__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/MaliciousAccount__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/SenderCreator__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/SimpleAccountFactory__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/SimpleAccount__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/StakeManager__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/TokenPaymaster__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/VerifyingPaymaster__factory.js","../node_modules/@account-abstraction/contracts/dist/types/factories/index.js","../node_modules/@account-abstraction/contracts/dist/types/index.js","../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@ethersproject/abi/src.ts/_version.ts","../node_modules/@ethersproject/abi/src.ts/coders/address.ts","../node_modules/@ethersproject/abi/src.ts/coders/anonymous.ts","../node_modules/@ethersproject/abi/src.ts/coders/array.ts","../node_modules/@ethersproject/abi/src.ts/coders/boolean.ts","../node_modules/@ethersproject/abi/src.ts/coders/bytes.ts","../node_modules/@ethersproject/abi/src.ts/coders/fixed-bytes.ts","../node_modules/@ethersproject/abi/src.ts/coders/null.ts","../node_modules/@ethersproject/abi/src.ts/coders/number.ts","../node_modules/@ethersproject/abi/src.ts/coders/string.ts","../node_modules/@ethersproject/abi/src.ts/coders/tuple.ts","../node_modules/@ethersproject/abi/src.ts/abi-coder.ts","../node_modules/@ethersproject/abi/src.ts/coders/abstract-coder.ts","../node_modules/@ethersproject/abi/src.ts/fragments.ts","../node_modules/@ethersproject/abi/src.ts/interface.ts","../node_modules/@ethersproject/abstract-provider/src.ts/index.ts","../node_modules/@ethersproject/abstract-provider/src.ts/_version.ts","../node_modules/@ethersproject/abstract-signer/src.ts/index.ts","../node_modules/@ethersproject/abstract-signer/src.ts/_version.ts","../node_modules/@ethersproject/address/src.ts/_version.ts","../node_modules/@ethersproject/address/src.ts/index.ts","../node_modules/@ethersproject/base64/src.ts/browser-base64.ts","../node_modules/@ethersproject/basex/src.ts/index.ts","../node_modules/@ethersproject/bignumber/src.ts/_version.ts","../node_modules/@ethersproject/bignumber/src.ts/bignumber.ts","../node_modules/@ethersproject/bignumber/src.ts/fixednumber.ts","../node_modules/@ethersproject/bytes/src.ts/_version.ts","../node_modules/@ethersproject/bytes/src.ts/index.ts","../node_modules/@ethersproject/constants/src.ts/addresses.ts","../node_modules/@ethersproject/constants/src.ts/bignumbers.ts","../node_modules/@ethersproject/constants/src.ts/hashes.ts","../node_modules/@ethersproject/constants/src.ts/strings.ts","../node_modules/@ethersproject/contracts/src.ts/index.ts","../node_modules/@ethersproject/contracts/src.ts/_version.ts","../node_modules/@ethersproject/hash/src.ts/_version.ts","../node_modules/@ethersproject/hash/src.ts/id.ts","../node_modules/@ethersproject/hash/src.ts/message.ts","../node_modules/@ethersproject/hash/src.ts/ens-normalize/decoder.ts","../node_modules/@ethersproject/hash/src.ts/ens-normalize/lib.ts","../node_modules/@ethersproject/hash/src.ts/ens-normalize/include.ts","../node_modules/@ethersproject/hash/src.ts/namehash.ts","../node_modules/@ethersproject/hash/src.ts/typed-data.ts","../node_modules/@ethersproject/hdnode/src.ts/_version.ts","../node_modules/@ethersproject/hdnode/src.ts/index.ts","../node_modules/@ethersproject/json-wallets/src.ts/_version.ts","../node_modules/@ethersproject/json-wallets/src.ts/crowdsale.ts","../node_modules/@ethersproject/json-wallets/src.ts/index.ts","../node_modules/@ethersproject/json-wallets/src.ts/inspect.ts","../node_modules/@ethersproject/json-wallets/src.ts/keystore.ts","../node_modules/@ethersproject/json-wallets/src.ts/utils.ts","../node_modules/@ethersproject/keccak256/src.ts/index.ts","../node_modules/@ethersproject/logger/src.ts/index.ts","../node_modules/@ethersproject/logger/src.ts/_version.ts","../node_modules/@ethersproject/networks/src.ts/_version.ts","../node_modules/@ethersproject/networks/src.ts/index.ts","../node_modules/@ethersproject/pbkdf2/src.ts/browser-pbkdf2.ts","../node_modules/@ethersproject/properties/src.ts/index.ts","../node_modules/@ethersproject/properties/src.ts/_version.ts","../node_modules/@ethersproject/providers/src.ts/_version.ts","../node_modules/@ethersproject/providers/src.ts/base-provider.ts","../node_modules/@ethersproject/providers/src.ts/formatter.ts","../node_modules/@ethersproject/providers/src.ts/alchemy-provider.ts","../node_modules/@ethersproject/providers/src.ts/ankr-provider.ts","../node_modules/@ethersproject/providers/src.ts/cloudflare-provider.ts","../node_modules/@ethersproject/providers/src.ts/etherscan-provider.ts","../node_modules/@ethersproject/providers/src.ts/fallback-provider.ts","../node_modules/@ethersproject/providers/src.ts/browser-ipc-provider.ts","../node_modules/@ethersproject/providers/src.ts/infura-provider.ts","../node_modules/@ethersproject/providers/src.ts/nodesmith-provider.ts","../node_modules/@ethersproject/providers/src.ts/pocket-provider.ts","../node_modules/@ethersproject/providers/src.ts/index.ts","../node_modules/@ethersproject/providers/src.ts/json-rpc-batch-provider.ts","../node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts","../node_modules/@ethersproject/providers/src.ts/url-json-rpc-provider.ts","../node_modules/@ethersproject/providers/src.ts/web3-provider.ts","../node_modules/@ethersproject/providers/src.ts/browser-ws.ts","../node_modules/@ethersproject/providers/src.ts/websocket-provider.ts","../node_modules/@ethersproject/random/src.ts/_version.ts","../node_modules/@ethersproject/random/src.ts/browser-random.ts","../node_modules/@ethersproject/random/src.ts/shuffle.ts","../node_modules/@ethersproject/rlp/src.ts/_version.ts","../node_modules/@ethersproject/rlp/src.ts/index.ts","../node_modules/@ethersproject/sha2/src.ts/_version.ts","../node_modules/@ethersproject/sha2/src.ts/browser-sha2.ts","../node_modules/@ethersproject/sha2/src.ts/types.ts","../node_modules/node_modules/minimalistic-assert/index.js","../node_modules/node_modules/minimalistic-crypto-utils/lib/utils.js","../node_modules/node_modules/elliptic/lib/elliptic/utils.js","../node_modules/node_modules/elliptic/lib/elliptic/curve/base.js","../node_modules/node_modules/inherits/inherits_browser.js","../node_modules/node_modules/elliptic/lib/elliptic/curve/short.js","../node_modules/node_modules/elliptic/lib/elliptic/curve/index.js","../node_modules/node_modules/elliptic/lib/elliptic/curves.js","../node_modules/node_modules/hmac-drbg/lib/hmac-drbg.js","../node_modules/node_modules/elliptic/lib/elliptic/ec/key.js","../node_modules/node_modules/elliptic/lib/elliptic/ec/signature.js","../node_modules/node_modules/elliptic/lib/elliptic/ec/index.js","../node_modules/@ethersproject/signing-key/lib.esm/elliptic.js","../node_modules/node_modules/elliptic/lib/elliptic.js","../node_modules/@ethersproject/signing-key/src.ts/_version.ts","../node_modules/@ethersproject/signing-key/src.ts/index.ts","../node_modules/@ethersproject/solidity/src.ts/_version.ts","../node_modules/@ethersproject/solidity/src.ts/index.ts","../node_modules/@ethersproject/strings/src.ts/bytes32.ts","../node_modules/@ethersproject/strings/src.ts/idna.ts","../node_modules/@ethersproject/strings/src.ts/_version.ts","../node_modules/@ethersproject/strings/src.ts/utf8.ts","../node_modules/@ethersproject/transactions/src.ts/_version.ts","../node_modules/@ethersproject/transactions/src.ts/index.ts","../node_modules/@ethersproject/units/src.ts/_version.ts","../node_modules/@ethersproject/units/src.ts/index.ts","../node_modules/@ethersproject/wallet/src.ts/index.ts","../node_modules/@ethersproject/wallet/src.ts/_version.ts","../node_modules/@ethersproject/web/src.ts/browser-geturl.ts","../node_modules/@ethersproject/web/src.ts/index.ts","../node_modules/@ethersproject/web/src.ts/_version.ts","../node_modules/@ethersproject/wordlists/src.ts/_version.ts","../node_modules/@ethersproject/wordlists/src.ts/wordlist.ts","../node_modules/@ethersproject/wordlists/src.ts/lang-en.ts","../node_modules/@ethersproject/wordlists/src.ts/browser-wordlists.ts","../node_modules/@multiformats/base-x/src/index.js","../node_modules/@radix-ui/react-icons/src/ArrowRightIcon.tsx","../node_modules/@radix-ui/react-icons/src/CheckIcon.tsx","../node_modules/@radix-ui/react-icons/src/CheckCircledIcon.tsx","../node_modules/@radix-ui/react-icons/src/ChevronDownIcon.tsx","../node_modules/@radix-ui/react-icons/src/ChevronLeftIcon.tsx","../node_modules/@radix-ui/react-icons/src/ChevronRightIcon.tsx","../node_modules/@radix-ui/react-icons/src/ClockIcon.tsx","../node_modules/@radix-ui/react-icons/src/CopyIcon.tsx","../node_modules/@radix-ui/react-icons/src/Cross2Icon.tsx","../node_modules/@radix-ui/react-icons/src/CrossCircledIcon.tsx","../node_modules/@radix-ui/react-icons/src/EnterIcon.tsx","../node_modules/@radix-ui/react-icons/src/ExclamationTriangleIcon.tsx","../node_modules/@radix-ui/react-icons/src/ExitIcon.tsx","../node_modules/@radix-ui/react-icons/src/ExternalLinkIcon.tsx","../node_modules/@radix-ui/react-icons/src/EyeClosedIcon.tsx","../node_modules/@radix-ui/react-icons/src/EyeOpenIcon.tsx","../node_modules/@radix-ui/react-icons/src/LockOpen1Icon.tsx","../node_modules/@radix-ui/react-icons/src/MagnifyingGlassIcon.tsx","../node_modules/@radix-ui/react-icons/src/PaperPlaneIcon.tsx","../node_modules/@radix-ui/react-icons/src/PinBottomIcon.tsx","../node_modules/@radix-ui/react-icons/src/PlusIcon.tsx","../node_modules/@radix-ui/react-icons/src/ReloadIcon.tsx","../node_modules/@radix-ui/react-icons/src/ShuffleIcon.tsx","../node_modules/@radix-ui/react-icons/src/TextAlignJustifyIcon.tsx","../node_modules/@stablelib/binary/binary.ts","../node_modules/@stablelib/chacha/chacha.ts","../node_modules/@stablelib/chacha20poly1305/chacha20poly1305.ts","../node_modules/@stablelib/constant-time/constant-time.ts","../node_modules/@stablelib/ed25519/ed25519.ts","../node_modules/@stablelib/hash/hash.ts","../node_modules/@stablelib/hkdf/hkdf.ts","../node_modules/@stablelib/hmac/hmac.ts","../node_modules/@stablelib/int/int.ts","../node_modules/@stablelib/poly1305/poly1305.ts","../node_modules/@stablelib/random/random.ts","../node_modules/@stablelib/random/source/browser.ts","../node_modules/@stablelib/random/source/node.ts","../node_modules/@stablelib/random/source/system.ts","../node_modules/@stablelib/sha256/sha256.ts","../node_modules/@stablelib/sha512/sha512.ts","../node_modules/@stablelib/wipe/wipe.ts","../node_modules/@stablelib/x25519/x25519.ts","../node_modules/@thirdweb-dev/chains/dist/thirdweb-dev-chains.esm.js","../node_modules/@thirdweb-dev/crypto/dist/thirdweb-dev-crypto.esm.js","../node_modules/@thirdweb-dev/crypto/node_modules/js-sha3/src/sha3.js","../node_modules/@thirdweb-dev/generated-abis/dist/thirdweb-dev-generated-abis.esm.js","../node_modules/@tanstack/query-core/src/query.ts","../node_modules/@tanstack/query-core/src/queryCache.ts","../node_modules/@tanstack/query-core/src/mutationCache.ts","../node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts","../node_modules/@tanstack/query-core/src/queryClient.ts","../node_modules/@thirdweb-dev/sdk/evm/dist/thirdweb-dev-sdk-evm.browser.esm.js","../node_modules/@thirdweb-dev/auth/dist/auth-9bd95804.browser.esm.js","../node_modules/@thirdweb-dev/react-core/dist/useBuyWithCryptoStatus-c156a33f.browser.esm.js","../node_modules/input-otp/src/regexp.ts","../node_modules/input-otp/src/use-pwm-badge.tsx","../node_modules/input-otp/src/input.tsx","../node_modules/input-otp/src/use-previous.ts","../node_modules/input-otp/src/sync-timeouts.ts","../node_modules/@thirdweb-dev/react/dist/OTPInput-1ca119d9.browser.esm.js","../node_modules/@radix-ui/react-visually-hidden/src/VisuallyHidden.tsx","../node_modules/@radix-ui/react-tooltip/src/Tooltip.tsx","../node_modules/@thirdweb-dev/react/dist/Tooltip-e13ddb65.browser.esm.js","../node_modules/@radix-ui/colors/index.mjs","../node_modules/@thirdweb-dev/react/dist/basic-ed22e83a.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/formElements-024644ee.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/frameWallet-8cc5e47c.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/magicLink-7eff08c8.browser.esm.js","../node_modules/@radix-ui/react-focus-guards/src/FocusGuards.tsx","../node_modules/@radix-ui/react-focus-scope/src/FocusScope.tsx","../node_modules/aria-hidden/dist/es2015/index.js","../node_modules/react-remove-scroll/node_modules/tslib/tslib.es6.mjs","../node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../node_modules/use-callback-ref/dist/es2015/assignRef.js","../node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../node_modules/use-callback-ref/dist/es2015/useRef.js","../node_modules/use-sidecar/node_modules/tslib/tslib.es6.mjs","../node_modules/use-sidecar/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/medium.js","../node_modules/react-remove-scroll/dist/es2015/UI.js","../node_modules/use-sidecar/dist/es2015/exports.js","../node_modules/get-nonce/dist/es2015/index.js","../node_modules/react-style-singleton/dist/es2015/singleton.js","../node_modules/react-style-singleton/dist/es2015/component.js","../node_modules/react-style-singleton/dist/es2015/hook.js","../node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../node_modules/react-remove-scroll-bar/dist/es2015/component.js","../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../node_modules/react-remove-scroll/dist/es2015/sidecar.js","../node_modules/react-remove-scroll/dist/es2015/Combination.js","../node_modules/@radix-ui/react-popover/src/Popover.tsx","../node_modules/@radix-ui/react-direction/src/Direction.tsx","../node_modules/@radix-ui/react-roving-focus/src/RovingFocusGroup.tsx","../node_modules/@radix-ui/react-collection/src/Collection.tsx","../node_modules/@radix-ui/react-tabs/src/Tabs.tsx","../node_modules/fuse.js/dist/fuse.mjs","../node_modules/@radix-ui/react-dialog/src/Dialog.tsx","../node_modules/@thirdweb-dev/react/dist/oneKeyWallet-5d3a3599.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/paperWallet-d2f9a4b2.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/safeChainSlug-8dca7686.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedCoinbaseProvider-b24ac791.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/safeWallet-c3871ee1.browser.esm.js","../node_modules/@thirdweb-dev/react/dist/walletConnectV1-7f7a98bb.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/deployContractDeterministic-7823c15c.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/fetchCurrencyValue-32d08b05.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/fetchSourceFilesFromMetadata-906c835e.browser.esm.js","../node_modules/thirdweb/src/utils/client-id.ts","../node_modules/thirdweb/src/utils/hashing/sha256.ts","../node_modules/thirdweb/src/client/client.ts","../node_modules/thirdweb/src/utils/units.ts","../node_modules/thirdweb/src/utils/promise/resolve-promised-value.ts","../node_modules/thirdweb/src/transaction/prepare-transaction.ts","../node_modules/thirdweb/src/extensions/erc20/__generated__/IERC20/write/approve.ts","../node_modules/thirdweb/src/utils/promise/once.ts","../node_modules/thirdweb/src/transaction/prepare-contract-call.ts","../node_modules/thirdweb/src/pay/utils/definitions.ts","../node_modules/@thirdweb-dev/sdk/dist/getStatus-7ee3964f.browser.esm.js","../node_modules/thirdweb/src/pay/buyWithCrypto/getHistory.ts","../node_modules/thirdweb/src/pay/buyWithCrypto/getQuote.ts","../node_modules/thirdweb/src/extensions/erc20/write/approve.ts","../node_modules/thirdweb/src/pay/buyWithCrypto/getStatus.ts","../node_modules/@thirdweb-dev/sdk/dist/index-33cd3415.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/normalizePriceValue-9851c0eb.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/contract-publisher-01e4eba8.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/sdk-3e21fc5c.browser.esm.js","../node_modules/@thirdweb-dev/sdk/dist/transactions-72f9603c.browser.esm.js","../node_modules/@thirdweb-dev/storage/dist/thirdweb-dev-storage.esm.js","../node_modules/@thirdweb-dev/wallets/dist/assertWindowEthereum-88295886.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/base-a72d5b10.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/connector-05689d68.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/defineProperty-350fc508.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/embedded-wallet-e375380a.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedCoin98Provider-056e8511.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedCoreWalletProvider-6baee5ae.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedCryptoDefiWalletProvider-3a00394e.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedMagicEdenProvider-f8a9ec6a.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedMetamaskProvider-b00b7b5a.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedOKXProvider-f368fd1c.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedOneKeyProvider-b8c89caf.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedPhantomProvider-95eb3d4f.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedRabbyProvider-db56bdef.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedRainbowProvider-f52a988e.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/getInjectedXDEFIProvider-ce9c378e.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/headers-733a8199.browser.esm.js","../node_modules/@walletconnect/utils/src/caip.ts","../node_modules/@walletconnect/utils/src/misc.ts","../node_modules/@thirdweb-dev/wallets/evm/wallets/okx/dist/thirdweb-dev-wallets-evm-wallets-okx.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/core-wallet/dist/thirdweb-dev-wallets-evm-wallets-core-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/onekey/dist/thirdweb-dev-wallets-evm-wallets-onekey.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/crypto-defi-wallet/dist/thirdweb-dev-wallets-evm-wallets-crypto-defi-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/rabby/dist/thirdweb-dev-wallets-evm-wallets-rabby.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/coin98/dist/thirdweb-dev-wallets-evm-wallets-coin98.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/ethers/dist/thirdweb-dev-wallets-evm-wallets-ethers.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/imtoken/dist/thirdweb-dev-wallets-evm-wallets-imtoken.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/injected/dist/thirdweb-dev-wallets-evm-wallets-injected.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/xdefi/dist/thirdweb-dev-wallets-evm-wallets-xdefi.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/private-key/dist/thirdweb-dev-wallets-evm-wallets-private-key.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/token-bound-smart-wallet/dist/thirdweb-dev-wallets-evm-wallets-token-bound-smart-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/magic-eden/dist/thirdweb-dev-wallets-evm-wallets-magic-eden.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/thirdweb-dev-wallets.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/url-a45219bd.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/utils-f58e7acc.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/walletIds-dff6dced.browser.esm.js","../node_modules/@thirdweb-dev/wallets/dist/wc-fbb7ab15.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/blocto/dist/thirdweb-dev-wallets-evm-wallets-blocto.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/coinbase-wallet/dist/thirdweb-dev-wallets-evm-wallets-coinbase-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/embedded-wallet/dist/thirdweb-dev-wallets-evm-wallets-embedded-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/frame/dist/thirdweb-dev-wallets-evm-wallets-frame.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/local-wallet/dist/thirdweb-dev-wallets-evm-wallets-local-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/magic/dist/thirdweb-dev-wallets-evm-wallets-magic.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/metamask/dist/thirdweb-dev-wallets-evm-wallets-metamask.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/paper-wallet/dist/thirdweb-dev-wallets-evm-wallets-paper-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/phantom/dist/thirdweb-dev-wallets-evm-wallets-phantom.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/rainbow-wallet/dist/thirdweb-dev-wallets-evm-wallets-rainbow-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/safe/dist/thirdweb-dev-wallets-evm-wallets-safe.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/signer/dist/thirdweb-dev-wallets-evm-wallets-signer.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/smart-wallet/dist/thirdweb-dev-wallets-evm-wallets-smart-wallet.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/trust/dist/thirdweb-dev-wallets-evm-wallets-trust.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/wallet-connect/dist/thirdweb-dev-wallets-evm-wallets-wallet-connect.browser.esm.js","../node_modules/@thirdweb-dev/wallets/evm/wallets/zerion/dist/thirdweb-dev-wallets-evm-wallets-zerion.browser.esm.js","../../../src/crypto.ts","../../../src/env.ts","../../../src/index.ts","../../../src/events.ts","../../../src/constants.ts","../../../src/error.ts","../../../src/format.ts","../node_modules/@walletconnect/jsonrpc-types/src/misc.ts","../../../src/url.ts","../../../src/validators.ts","../node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws/browser.js","../node_modules/destr/dist/index.mjs","../node_modules/unstorage/dist/shared/unstorage.8581f561.mjs","../node_modules/unstorage/dist/index.mjs","../node_modules/idb-keyval/dist/index.js","../node_modules/@walletconnect/relay-api/src/misc.ts","../../../src/utils.ts","../../../src/api.ts","../../../../src/constants/index.ts","../../../../src/constants/misc.ts","../../../../src/constants/time.ts","../../../../src/types/index.ts","../../../../src/types/watch.ts","../../../../src/utils/convert.ts","../../../../src/utils/delay.ts","../../../../src/utils/index.ts","../../../src/watch.ts","../node_modules/aes-js/index.js","../node_modules/base-x/src/index.js","../node_modules/base64-js/index.js","../node_modules/bech32/index.js","../node_modules/bn.js/lib/bn.js","../node_modules/bs58/index.js","../node_modules/buffer/index.js","../node_modules/cid-tool/node_modules/uint8arrays/to-string.js","../node_modules/cid-tool/node_modules/uint8arrays/util/bases.js","../node_modules/cid-tool/src/core/base32.js","../node_modules/cid-tool/src/core/bases.js","../node_modules/cid-tool/src/core/codecs.js","../node_modules/cid-tool/src/core/format.js","../node_modules/cid-tool/src/core/hashes.js","../node_modules/cid-tool/src/core/index.js","../node_modules/cid-tool/src/index.js","../node_modules/cids/src/cid-util.js","../node_modules/cids/src/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/decode-uri-component/index.js","../node_modules/detect-browser/es/index.js","../node_modules/dijkstrajs/dijkstra.js","../node_modules/encode-utf8/index.js","../node_modules/ethers/src.ts/_version.ts","../node_modules/ethers/src.ts/ethers.ts","../node_modules/ethers/src.ts/index.ts","../node_modules/ethers/src.ts/utils.ts","../node_modules/eventemitter3/index.js","../node_modules/events/events.js","../node_modules/explain-error/index.js","../node_modules/fast-deep-equal/index.js","../node_modules/filter-obj/index.js","../node_modules/form-data/lib/browser.js","../node_modules/hash.js/lib/hash.js","../node_modules/hash.js/lib/hash/common.js","../node_modules/hash.js/lib/hash/hmac.js","../node_modules/hash.js/lib/hash/ripemd.js","../node_modules/hash.js/lib/hash/sha.js","../node_modules/hash.js/lib/hash/sha/1.js","../node_modules/hash.js/lib/hash/sha/224.js","../node_modules/hash.js/lib/hash/sha/256.js","../node_modules/hash.js/lib/hash/sha/384.js","../node_modules/hash.js/lib/hash/sha/512.js","../node_modules/hash.js/lib/hash/sha/common.js","../node_modules/hash.js/lib/hash/utils.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/ieee754/index.js","../node_modules/inherits/inherits_browser.js","../node_modules/isomorphic-unfetch/browser.js","../node_modules/js-sha3/src/sha3.js","../node_modules/lodash.isequal/index.js","../node_modules/mime/Mime.js","../node_modules/mime/lite.js","../node_modules/mime/types/standard.js","../node_modules/minimalistic-assert/index.js","../node_modules/multibase/src/base.js","../node_modules/multibase/src/constants.js","../node_modules/multibase/src/index.js","../node_modules/multibase/src/rfc4648.js","../node_modules/multibase/src/util.js","../node_modules/multicodec/src/generated-table.js","../node_modules/multicodec/src/index.js","../node_modules/multicodec/src/maps.js","../node_modules/multicodec/src/util.js","../node_modules/multihashes/node_modules/varint/decode.js","../node_modules/multihashes/node_modules/varint/encode.js","../node_modules/multihashes/node_modules/varint/index.js","../node_modules/multihashes/node_modules/varint/length.js","../node_modules/multihashes/src/constants.js","../node_modules/multihashes/src/index.js","../node_modules/qrcode/lib/browser.js","../node_modules/qrcode/lib/can-promise.js","../node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/qrcode/lib/core/byte-data.js","../node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/qrcode/lib/core/format-info.js","../node_modules/qrcode/lib/core/galois-field.js","../node_modules/qrcode/lib/core/kanji-data.js","../node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/qrcode/lib/core/mode.js","../node_modules/qrcode/lib/core/numeric-data.js","../node_modules/qrcode/lib/core/polynomial.js","../node_modules/qrcode/lib/core/qrcode.js","../node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/qrcode/lib/core/regex.js","../node_modules/qrcode/lib/core/segments.js","../node_modules/qrcode/lib/core/utils.js","../node_modules/qrcode/lib/core/version-check.js","../node_modules/qrcode/lib/core/version.js","../node_modules/qrcode/lib/renderer/canvas.js","../node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/qrcode/lib/renderer/utils.js","../node_modules/query-string/index.js","../node_modules/quick-format-unescaped/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/scrypt-js/scrypt.js","../node_modules/split-on-first/index.js","../node_modules/strict-uri-encode/index.js","../node_modules/toggle-selection/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/unfetch/src/index.mjs","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/varint/decode.js","../node_modules/varint/encode.js","../node_modules/varint/index.js","../node_modules/varint/length.js","../node_modules/pino/browser.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/@noble/hashes/src/_assert.ts","../node_modules/@noble/hashes/src/_md.ts","../node_modules/@noble/hashes/src/sha256.ts","../node_modules/@noble/hashes/src/utils.ts","../node_modules/@paperxyz/sdk-common-utilities/src/constants/blockchain.ts","../node_modules/@paperxyz/sdk-common-utilities/src/constants/settings.ts","../node_modules/@radix-ui/primitive/src/primitive.tsx","../node_modules/@radix-ui/react-compose-refs/src/composeRefs.tsx","../node_modules/@radix-ui/react-context/src/createContext.tsx","../node_modules/@radix-ui/react-dismissable-layer/src/DismissableLayer.tsx","../node_modules/@radix-ui/react-use-escape-keydown/src/useEscapeKeydown.tsx","../node_modules/@radix-ui/react-id/src/id.tsx","../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../node_modules/@radix-ui/react-arrow/src/Arrow.tsx","../node_modules/@radix-ui/react-popper/src/Popper.tsx","../node_modules/@radix-ui/react-use-size/src/useSize.tsx","../node_modules/@radix-ui/react-portal/src/Portal.tsx","../node_modules/@radix-ui/react-presence/src/Presence.tsx","../node_modules/@radix-ui/react-presence/src/useStateMachine.tsx","../node_modules/@radix-ui/react-primitive/src/Primitive.tsx","../node_modules/@radix-ui/react-slot/src/Slot.tsx","../node_modules/@radix-ui/react-use-callback-ref/src/useCallbackRef.tsx","../node_modules/@radix-ui/react-use-controllable-state/src/useControllableState.tsx","../node_modules/@radix-ui/react-use-layout-effect/src/useLayoutEffect.tsx","../node_modules/@tanstack/query-core/src/focusManager.ts","../node_modules/@tanstack/query-core/src/logger.ts","../node_modules/@tanstack/query-core/src/mutation.ts","../node_modules/@tanstack/query-core/src/notifyManager.ts","../node_modules/@tanstack/query-core/src/onlineManager.ts","../node_modules/@tanstack/query-core/src/removable.ts","../node_modules/@tanstack/query-core/src/retryer.ts","../node_modules/@tanstack/query-core/src/subscribable.ts","../node_modules/@tanstack/query-core/src/utils.ts","../node_modules/@tanstack/react-query/src/QueryClientProvider.tsx","../node_modules/@tanstack/query-core/src/mutationObserver.ts","../node_modules/@tanstack/react-query/src/useMutation.ts","../node_modules/@tanstack/query-core/src/queryObserver.ts","../node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx","../node_modules/@tanstack/react-query/src/isRestoring.tsx","../node_modules/@tanstack/react-query/src/errorBoundaryUtils.ts","../node_modules/@tanstack/react-query/src/suspense.ts","../node_modules/@tanstack/react-query/src/useQuery.ts","../node_modules/@tanstack/react-query/src/useBaseQuery.ts","../node_modules/@tanstack/react-query/src/useSyncExternalStore.ts","../node_modules/@tanstack/react-query/src/utils.ts","../node_modules/abitype/src/errors.ts","../node_modules/abitype/src/human-readable/errors/abiItem.ts","../node_modules/abitype/src/human-readable/runtime/signatures.ts","../node_modules/abitype/src/human-readable/errors/abiParameter.ts","../node_modules/abitype/src/human-readable/errors/signature.ts","../node_modules/abitype/src/human-readable/errors/struct.ts","../node_modules/abitype/src/human-readable/errors/splitParameters.ts","../node_modules/abitype/src/human-readable/runtime/cache.ts","../node_modules/abitype/src/human-readable/runtime/utils.ts","../node_modules/abitype/src/human-readable/runtime/structs.ts","../node_modules/abitype/src/human-readable/parseAbiItem.ts","../node_modules/abitype/src/regex.ts","../node_modules/eventemitter3/index.mjs","../node_modules/multiformats/esm/vendor/base-x.js","../node_modules/multiformats/esm/src/bytes.js","../node_modules/multiformats/esm/src/bases/base.js","../node_modules/multiformats/esm/src/bases/identity.js","../node_modules/multiformats/esm/src/bases/base2.js","../node_modules/multiformats/esm/src/bases/base8.js","../node_modules/multiformats/esm/src/bases/base10.js","../node_modules/multiformats/esm/src/bases/base16.js","../node_modules/multiformats/esm/src/bases/base32.js","../node_modules/multiformats/esm/src/bases/base36.js","../node_modules/multiformats/esm/src/bases/base58.js","../node_modules/multiformats/esm/src/bases/base64.js","../node_modules/multiformats/esm/src/bases/base256emoji.js","../node_modules/multiformats/esm/vendor/varint.js","../node_modules/multiformats/esm/src/varint.js","../node_modules/multiformats/esm/src/hashes/digest.js","../node_modules/multiformats/esm/src/hashes/hasher.js","../node_modules/multiformats/esm/src/hashes/sha2-browser.js","../node_modules/multiformats/esm/src/hashes/identity.js","../node_modules/multiformats/esm/src/codecs/raw.js","../node_modules/multiformats/esm/src/codecs/json.js","../node_modules/multiformats/esm/src/cid.js","../node_modules/multiformats/esm/src/basics.js","../node_modules/thirdweb/src/chains/utils.ts","../node_modules/thirdweb/src/transaction/utils.ts","../node_modules/viem/utils/data/concat.ts","../node_modules/@noble/hashes/src/_u64.ts","../node_modules/@noble/hashes/src/sha3.ts","../node_modules/thirdweb/src/utils/address.ts","../node_modules/thirdweb/src/utils/hashing/keccak256.ts","../node_modules/thirdweb/src/utils/abi/encodeAbiParameters.ts","../node_modules/viem/utils/hash/hashSignature.ts","../node_modules/abitype/src/human-readable/formatAbiParameter.ts","../node_modules/abitype/src/human-readable/formatAbiParameters.ts","../node_modules/viem/utils/hash/toSignature.ts","../node_modules/viem/utils/hash/normalizeSignature.ts","../node_modules/abitype/src/human-readable/formatAbiItem.ts","../node_modules/viem/utils/hash/toSignatureHash.ts","../node_modules/viem/utils/hash/toFunctionSelector.ts","../node_modules/thirdweb/src/utils/abi/prepare-method.ts","../node_modules/thirdweb/src/utils/caching/lru.ts","../node_modules/thirdweb/src/utils/domains.ts","../node_modules/thirdweb/src/utils/encoding/helpers/assert-size.ts","../node_modules/thirdweb/src/utils/encoding/helpers/byte-size.ts","../node_modules/thirdweb/src/utils/encoding/helpers/is-hex.ts","../node_modules/thirdweb/src/utils/encoding/helpers/charcode-to-base-16.ts","../node_modules/thirdweb/src/utils/encoding/hex.ts","../node_modules/thirdweb/src/utils/encoding/to-bytes.ts","../node_modules/thirdweb/src/version.ts","../node_modules/thirdweb/src/utils/detect-platform.ts","../node_modules/thirdweb/src/utils/fetch.ts","../node_modules/thirdweb/src/utils/json.ts","../node_modules/thirdweb/src/utils/text-encoder.ts","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/uint8arrays/esm/src/alloc.js","../node_modules/uint8arrays/esm/src/concat.js","../node_modules/uint8arrays/esm/src/equals.js","../node_modules/uint8arrays/esm/src/from-string.js","../node_modules/uint8arrays/esm/src/to-string.js","../node_modules/uint8arrays/esm/src/util/bases.js","../node_modules/viem/errors/base.ts","../node_modules/viem/errors/utils.ts","../node_modules/viem/errors/data.ts","../node_modules/viem/errors/encoding.ts","../node_modules/viem/utils/data/isHex.ts","../node_modules/viem/utils/data/pad.ts","../node_modules/viem/utils/data/size.ts","../node_modules/viem/utils/data/slice.ts","../node_modules/viem/utils/encoding/fromHex.ts","../node_modules/viem/utils/encoding/toBytes.ts","../node_modules/viem/utils/encoding/toHex.ts","../node_modules/viem/node_modules/@noble/hashes/src/_assert.ts","../node_modules/viem/node_modules/@noble/hashes/src/_u64.ts","../node_modules/viem/node_modules/@noble/hashes/src/utils.ts","../node_modules/viem/node_modules/@noble/hashes/src/sha3.ts","../node_modules/viem/utils/hash/keccak256.ts","../node_modules/zod/lib/index.mjs","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","../node_modules/@emotion/css/dist/emotion-css.esm.js","../node_modules/@thirdweb-dev/react/dist/thirdweb-dev-react.browser.esm.js","Header.js","resources/fire.svg","PoolTermSelector.js","DepositAmountInput.js","utils/pools.constants.js","SecondPage.js","CheckComponent.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/react-select/dist/react-select.esm.js","CustomDropdown.js","resources/lookup.svg","resources/loader.svg","TokenPairSelector.js","resources/question.svg","Home.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 75980;\nmodule.exports = webpackEmptyAsyncContext;","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nexports.__esModule = true;\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.BaseAccount__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"missingAccountFunds\",\n type: \"uint256\"\n },\n ],\n name: \"validateUserOp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar BaseAccount__factory = /** @class */ (function () {\n function BaseAccount__factory() {\n }\n BaseAccount__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n BaseAccount__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n BaseAccount__factory.abi = _abi;\n return BaseAccount__factory;\n}());\nexports.BaseAccount__factory = BaseAccount__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.BasePaymaster__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"deposit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getDeposit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"enum IPaymaster.PostOpMode\",\n name: \"mode\",\n type: \"uint8\"\n },\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n ],\n name: \"postOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"maxCost\",\n type: \"uint256\"\n },\n ],\n name: \"validatePaymasterUserOp\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar BasePaymaster__factory = /** @class */ (function () {\n function BasePaymaster__factory() {\n }\n BasePaymaster__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n BasePaymaster__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n BasePaymaster__factory.abi = _abi;\n return BasePaymaster__factory;\n}());\nexports.BasePaymaster__factory = BasePaymaster__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.BrokenBLSAccountFactory__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"entryPoint\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n inputs: [],\n name: \"accountImplementation\",\n outputs: [\n {\n internalType: \"contract BrokenBLSAccount\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256[4]\",\n name: \"aPublicKey\",\n type: \"uint256[4]\"\n },\n ],\n name: \"createAccount\",\n outputs: [\n {\n internalType: \"contract BrokenBLSAccount\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256[4]\",\n name: \"aPublicKey\",\n type: \"uint256[4]\"\n },\n ],\n name: \"getAddress\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x60a060405234801561001057600080fd5b50604051612ede380380612ede83398101604081905261002f916100aa565b818160405161003d90610085565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015610070573d6000803e3d6000fd5b506001600160a01b0316608052506100e49050565b6120c680610e1883390190565b6001600160a01b03811681146100a757600080fd5b50565b600080604083850312156100bd57600080fd5b82516100c881610092565b60208401519092506100d981610092565b809150509250929050565b608051610d0d61010b60003960008181604b0152818160f7015261020d0152610d0d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe1461004657806319c2a1b214610096578063de3398dd146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461038e565b6100bc565b61006d6100b736600461038e565b6101de565b6000806100c984846101de565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101d8565b8460001b7f0000000000000000000000000000000000000000000000000000000000000000856040516024016101279190610418565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee472f3600000000000000000000000000000000000000000000000000000000179052516101a790610352565b6101b2929190610479565b8190604051809103906000f59050801580156101d2573d6000803e3d6000fd5b50925050505b92915050565b60006103198360001b604051806020016101f790610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008560405160240161023d9190610418565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee472f360000000000000000000000000000000000000000000000000000000017905290516102c293929101610479565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526102fe92916020016104e7565b60405160208183030381529060405280519060200120610320565b9392505050565b60006103198383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6107c18061051783390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060a083850312156103a157600080fd5b82359150602084603f8501126103b657600080fd5b6040516080810181811067ffffffffffffffff821117156103d9576103d961035f565b6040528060a08601878111156103ee57600080fd5b8387015b8181101561040957803583529184019184016103f2565b50505080925050509250929050565b60808101818360005b6004811015610440578151835260209283019290910190600101610421565b50505092915050565b60005b8381101561046457818101518382015260200161044c565b83811115610473576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104b4816060850160208701610449565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104f9818460208801610449565b83519083019061050d818360208801610449565b0194935050505056fe60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a47065a7c8ac5bac8ed56ef1cf7419a59dfdae21ba812180654b545d4faab85f64736f6c634300080f003360e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16808252600060208301819052919092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b60015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b6000806000606084860312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar BrokenBLSAccountFactory__factory = /** @class */ (function (_super) {\n __extends(BrokenBLSAccountFactory__factory, _super);\n function BrokenBLSAccountFactory__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n BrokenBLSAccountFactory__factory.prototype.deploy = function (entryPoint, aggregator, overrides) {\n return _super.prototype.deploy.call(this, entryPoint, aggregator, overrides || {});\n };\n BrokenBLSAccountFactory__factory.prototype.getDeployTransaction = function (entryPoint, aggregator, overrides) {\n return _super.prototype.getDeployTransaction.call(this, entryPoint, aggregator, overrides || {});\n };\n BrokenBLSAccountFactory__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n BrokenBLSAccountFactory__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n BrokenBLSAccountFactory__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n BrokenBLSAccountFactory__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n BrokenBLSAccountFactory__factory.bytecode = _bytecode;\n BrokenBLSAccountFactory__factory.abi = _abi;\n return BrokenBLSAccountFactory__factory;\n}(ethers_1.ContractFactory));\nexports.BrokenBLSAccountFactory__factory = BrokenBLSAccountFactory__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.BrokenBLSAccount__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"anEntryPoint\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"anAggregator\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"previousAdmin\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newAdmin\",\n type: \"address\"\n },\n ],\n name: \"AdminChanged\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"beacon\",\n type: \"address\"\n },\n ],\n name: \"BeaconUpgraded\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint8\",\n name: \"version\",\n type: \"uint8\"\n },\n ],\n name: \"Initialized\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256[4]\",\n name: \"oldPublicKey\",\n type: \"uint256[4]\"\n },\n {\n indexed: false,\n internalType: \"uint256[4]\",\n name: \"newPublicKey\",\n type: \"uint256[4]\"\n },\n ],\n name: \"PublicKeyChanged\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"contract IEntryPoint\",\n name: \"entryPoint\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n ],\n name: \"SimpleAccountInitialized\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"implementation\",\n type: \"address\"\n },\n ],\n name: \"Upgraded\",\n type: \"event\"\n },\n {\n inputs: [],\n name: \"addDeposit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"aggregator\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"dest\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"func\",\n type: \"bytes\"\n },\n ],\n name: \"execute\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"dest\",\n type: \"address[]\"\n },\n {\n internalType: \"bytes[]\",\n name: \"func\",\n type: \"bytes[]\"\n },\n ],\n name: \"executeBatch\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getBlsPublicKey\",\n outputs: [\n {\n internalType: \"uint256[4]\",\n name: \"\",\n type: \"uint256[4]\"\n },\n ],\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getDeposit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"anOwner\",\n type: \"address\"\n },\n ],\n name: \"initialize\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint256[4]\",\n name: \"aPublicKey\",\n type: \"uint256[4]\"\n },\n ],\n name: \"initialize\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"proxiableUUID\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newImplementation\",\n type: \"address\"\n },\n ],\n name: \"upgradeTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newImplementation\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n ],\n name: \"upgradeToAndCall\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"missingAccountFunds\",\n type: \"uint256\"\n },\n ],\n name: \"validateUserOp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawDepositTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n stateMutability: \"payable\",\n type: \"receive\"\n },\n];\nvar _bytecode = \"0x60e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16808252600060208301819052919092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b60015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b6000806000606084860312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar BrokenBLSAccount__factory = /** @class */ (function (_super) {\n __extends(BrokenBLSAccount__factory, _super);\n function BrokenBLSAccount__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n BrokenBLSAccount__factory.prototype.deploy = function (anEntryPoint, anAggregator, overrides) {\n return _super.prototype.deploy.call(this, anEntryPoint, anAggregator, overrides || {});\n };\n BrokenBLSAccount__factory.prototype.getDeployTransaction = function (anEntryPoint, anAggregator, overrides) {\n return _super.prototype.getDeployTransaction.call(this, anEntryPoint, anAggregator, overrides || {});\n };\n BrokenBLSAccount__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n BrokenBLSAccount__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n BrokenBLSAccount__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n BrokenBLSAccount__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n BrokenBLSAccount__factory.bytecode = _bytecode;\n BrokenBLSAccount__factory.abi = _abi;\n return BrokenBLSAccount__factory;\n}(ethers_1.ContractFactory));\nexports.BrokenBLSAccount__factory = BrokenBLSAccount__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.DepositPaymaster__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"_entryPoint\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\"\n },\n {\n inputs: [],\n name: \"COST_OF_POST\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"token\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"addDepositFor\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"token\",\n type: \"address\"\n },\n {\n internalType: \"contract IOracle\",\n name: \"tokenPriceOracle\",\n type: \"address\"\n },\n ],\n name: \"addToken\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n name: \"balances\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"deposit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"token\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"depositInfo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"_unlockBlock\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getDeposit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"lockTokenDeposit\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"\",\n type: \"address\"\n },\n ],\n name: \"oracles\",\n outputs: [\n {\n internalType: \"contract IOracle\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"enum IPaymaster.PostOpMode\",\n name: \"mode\",\n type: \"uint8\"\n },\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n ],\n name: \"postOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n name: \"unlockBlock\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockTokenDeposit\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"maxCost\",\n type: \"uint256\"\n },\n ],\n name: \"validatePaymasterUserOp\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"token\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTokensTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x60a06040523480156200001157600080fd5b5060405162001fa938038062001fa98339810160408190526200003491620000bb565b8062000040336200006b565b6001600160a01b031660805262000064336000908152600360205260409020439055565b50620000ed565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620000ce57600080fd5b81516001600160a01b0381168114620000e657600080fd5b9392505050565b608051611e6f6200013a600039600081816103b30152818161052b015281816105f50152818161089001528181610957015281816109e701528181610bb90152610ed70152611e6f6000f3fe6080604052600436106101755760003560e01c8063addd5099116100cb578063c399ec881161007f578063d0e30db011610059578063d0e30db014610499578063f2fde38b146104a1578063f465c77e146104c157600080fd5b8063c399ec8814610442578063cc9c837c14610457578063cd8f80c21461047757600080fd5b8063bb9fe6bf116100b0578063bb9fe6bf146103d5578063c23a5cea146103ea578063c23f001f1461040a57600080fd5b8063addd50991461035e578063b0d691fe146103a157600080fd5b80635476bd721161012d5780638da5cb5b116101075780638da5cb5b146102ce5780639ed0fb681461031a578063a9a234091461033e57600080fd5b80635476bd7214610283578063715018a6146102a3578063796d4371146102b857600080fd5b8063382edd9e1161015e578063382edd9e146101af578063493b0170146101cf5780634a6f84cf1461024857600080fd5b80630396cb601461017a578063205c28781461018f575b600080fd5b61018d610188366004611915565b6104ef565b005b34801561019b57600080fd5b5061018d6101aa36600461195d565b6105a1565b3480156101bb57600080fd5b5061018d6101ca366004611989565b610639565b3480156101db57600080fd5b5061022e6101ea3660046119ca565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291825282812054600390925291909120549091565b604080519283526020830191909152015b60405180910390f35b34801561025457600080fd5b50610275610263366004611a03565b60036020526000908152604090205481565b60405190815260200161023f565b34801561028f57600080fd5b5061018d61029e3660046119ca565b61076e565b3480156102af57600080fd5b5061018d610858565b3480156102c457600080fd5b506102756188b881565b3480156102da57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023f565b34801561032657600080fd5b5061018d336000908152600360205260409020439055565b34801561034a57600080fd5b5061018d610359366004611a20565b61086c565b34801561036a57600080fd5b506102f5610379366004611a03565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ad57600080fd5b506102f57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e157600080fd5b5061018d610886565b3480156103f657600080fd5b5061018d610405366004611a03565b61090a565b34801561041657600080fd5b506102756104253660046119ca565b600260209081526000928352604080842090915290825290205481565b34801561044e57600080fd5b506102756109b6565b34801561046357600080fd5b5061018d610472366004611989565b610a6c565b34801561048357600080fd5b5061018d33600090815260036020526040812055565b61018d610b8b565b3480156104ad57600080fd5b5061018d6104bc366004611a03565b610c13565b3480156104cd57600080fd5b506104e16104dc366004611aaf565b610cca565b60405161023f929190611b79565b6104f7610ced565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024016000604051808303818588803b15801561058557600080fd5b505af1158015610599573d6000803e3d6000fd5b505050505050565b6105a9610ced565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b15801561058557600080fd5b61065b73ffffffffffffffffffffffffffffffffffffffff8416333084610d6e565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260016020526040902054166106ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f756e737570706f7274656420746f6b656e00000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600090815260026020908152604080832093861683529290529081208054839290610732908490611bca565b909155505073ffffffffffffffffffffffffffffffffffffffff821633036107695761076933600090815260036020526040812055565b505050565b610776610ced565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160205260409020541615610805576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f546f6b656e20616c72656164792073657400000000000000000000000000000060448201526064016106e5565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b610860610ced565b61086a6000610e4a565b565b610874610ebf565b61088084848484610f5e565b50505050565b61088e610ced565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108f657600080fd5b505af1158015610880573d6000803e3d6000fd5b610912610ced565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b15801561099b57600080fd5b505af11580156109af573d6000803e3d6000fd5b5050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a679190611be2565b905090565b3360009081526003602052604090205415801590610a9857503360009081526003602052604090205443115b610b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4465706f7369745061796d61737465723a206d75737420756e6c6f636b546f6b60448201527f656e4465706f736974000000000000000000000000000000000000000000000060648201526084016106e5565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020908152604080832033845290915281208054839290610b64908490611bfb565b90915550610769905073ffffffffffffffffffffffffffffffffffffffff841683836110d6565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024016000604051808303818588803b15801561099b57600080fd5b610c1b610ced565b73ffffffffffffffffffffffffffffffffffffffff8116610cbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106e5565b610cc781610e4a565b50565b60606000610cd6610ebf565b610ce185858561112c565b91509150935093915050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106e5565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526108809085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611475565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e74000000000000000000000060448201526064016106e5565b600080808080610f7087890189611c12565b9450945094509450945060008183856188b8610f8c9190611c63565b610f96908a611bca565b610fa09190611c63565b610faa9190611ca0565b905060028a6002811115610fc057610fc0611cdb565b14610fec57610fe773ffffffffffffffffffffffffffffffffffffffff8616873084610d6e565b611036565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600260209081526040808320938a1683529290529081208054839290611030908490611bfb565b90915550505b73ffffffffffffffffffffffffffffffffffffffff85166000908152600260205260408120829161107c60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110c59190611bca565b909155505050505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526107699084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610dc8565b606060006188b88560a00135116111c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4465706f7369745061796d61737465723a2067617320746f6f206c6f7720666f60448201527f7220706f73744f7000000000000000000000000000000000000000000000000060648201526084016106e5565b3660006111d6610120880188611d0a565b90925090506028811461126b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4465706f7369745061796d61737465723a207061796d6173746572416e64446160448201527f7461206d757374207370656369667920746f6b656e000000000000000000000060648201526084016106e5565b600061127a8260148186611d76565b61128391611da0565b60601c9050873560006112968389611581565b905060006112a38b6116cf565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604090205490915015611358576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4465706f7369745061796d61737465723a206465706f736974206e6f74206c6f60448201527f636b65640000000000000000000000000000000000000000000000000000000060648201526084016106e5565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526002602090815260408083209387168352929052205482111561141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4465706f7369745061796d61737465723a206465706f73697420746f6f206c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016106e5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516602082015294909316848401526060840152608083015260a0808301979097528051808303909701875260c09091019052509295600095509350505050565b60006114d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166116f69092919063ffffffff16565b80519091501561076957808060200190518101906114f59190611de8565b610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106e5565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526001602052604081205490911680611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4465706f7369745061796d61737465723a20756e737570706f7274656420746f60448201527f6b656e000000000000000000000000000000000000000000000000000000000060648201526084016106e5565b6040517fd1eca9cf0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff82169063d1eca9cf90602401602060405180830381865afa1580156116a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c79190611be2565b949350505050565b600060e08201356101008301358082036116ea575092915050565b6116c782488301611705565b60606116c7848460008561171d565b60008183106117145781611716565b825b9392505050565b6060824710156117af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106e5565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516117d89190611e0a565b60006040518083038185875af1925050503d8060008114611815576040519150601f19603f3d011682016040523d82523d6000602084013e61181a565b606091505b509150915061182b87838387611836565b979650505050505050565b606083156118cc5782516000036118c55773ffffffffffffffffffffffffffffffffffffffff85163b6118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106e5565b50816116c7565b6116c783838151156118e15781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e59190611e26565b60006020828403121561192757600080fd5b813563ffffffff8116811461171657600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610cc757600080fd5b6000806040838503121561197057600080fd5b823561197b8161193b565b946020939093013593505050565b60008060006060848603121561199e57600080fd5b83356119a98161193b565b925060208401356119b98161193b565b929592945050506040919091013590565b600080604083850312156119dd57600080fd5b82356119e88161193b565b915060208301356119f88161193b565b809150509250929050565b600060208284031215611a1557600080fd5b81356117168161193b565b60008060008060608587031215611a3657600080fd5b843560038110611a4557600080fd5b9350602085013567ffffffffffffffff80821115611a6257600080fd5b818701915087601f830112611a7657600080fd5b813581811115611a8557600080fd5b886020828501011115611a9757600080fd5b95986020929092019750949560400135945092505050565b600080600060608486031215611ac457600080fd5b833567ffffffffffffffff811115611adb57600080fd5b84016101608187031215611aee57600080fd5b95602085013595506040909401359392505050565b60005b83811015611b1e578181015183820152602001611b06565b838111156108805750506000910152565b60008151808452611b47816020860160208601611b03565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000611b8c6040830185611b2f565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611bdd57611bdd611b9b565b500190565b600060208284031215611bf457600080fd5b5051919050565b600082821015611c0d57611c0d611b9b565b500390565b600080600080600060a08688031215611c2a57600080fd5b8535611c358161193b565b94506020860135611c458161193b565b94979496505050506040830135926060810135926080909101359150565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c9b57611c9b611b9b565b500290565b600082611cd6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d3f57600080fd5b83018035915067ffffffffffffffff821115611d5a57600080fd5b602001915036819003821315611d6f57600080fd5b9250929050565b60008085851115611d8657600080fd5b83861115611d9357600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611de05780818660140360031b1b83161692505b505092915050565b600060208284031215611dfa57600080fd5b8151801515811461171657600080fd5b60008251611e1c818460208701611b03565b9190910192915050565b6020815260006117166020830184611b2f56fea2646970667358221220f935cbe4ea2ae13e8fff0cb7f87458bc2f28e69d759658a51d6206dc7702573a64736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar DepositPaymaster__factory = /** @class */ (function (_super) {\n __extends(DepositPaymaster__factory, _super);\n function DepositPaymaster__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n DepositPaymaster__factory.prototype.deploy = function (_entryPoint, overrides) {\n return _super.prototype.deploy.call(this, _entryPoint, overrides || {});\n };\n DepositPaymaster__factory.prototype.getDeployTransaction = function (_entryPoint, overrides) {\n return _super.prototype.getDeployTransaction.call(this, _entryPoint, overrides || {});\n };\n DepositPaymaster__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n DepositPaymaster__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n DepositPaymaster__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n DepositPaymaster__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n DepositPaymaster__factory.bytecode = _bytecode;\n DepositPaymaster__factory.abi = _abi;\n return DepositPaymaster__factory;\n}(ethers_1.ContractFactory));\nexports.DepositPaymaster__factory = DepositPaymaster__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.EntryPoint__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"paid\",\n type: \"uint256\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"bool\",\n name: \"targetSuccess\",\n type: \"bool\"\n },\n {\n internalType: \"bytes\",\n name: \"targetResult\",\n type: \"bytes\"\n },\n ],\n name: \"ExecutionResult\",\n type: \"error\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"opIndex\",\n type: \"uint256\"\n },\n {\n internalType: \"string\",\n name: \"reason\",\n type: \"string\"\n },\n ],\n name: \"FailedOp\",\n type: \"error\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n ],\n name: \"SenderAddressResult\",\n type: \"error\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n ],\n name: \"SignatureValidationFailed\",\n type: \"error\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"prefund\",\n type: \"uint256\"\n },\n {\n internalType: \"bool\",\n name: \"sigFailed\",\n type: \"bool\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterContext\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct IEntryPoint.ReturnInfo\",\n name: \"returnInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"senderInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"factoryInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"paymasterInfo\",\n type: \"tuple\"\n },\n ],\n name: \"ValidationResult\",\n type: \"error\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"prefund\",\n type: \"uint256\"\n },\n {\n internalType: \"bool\",\n name: \"sigFailed\",\n type: \"bool\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterContext\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct IEntryPoint.ReturnInfo\",\n name: \"returnInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"senderInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"factoryInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"paymasterInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"stakeInfo\",\n type: \"tuple\"\n },\n ],\n internalType: \"struct IEntryPoint.AggregatorStakeInfo\",\n name: \"aggregatorInfo\",\n type: \"tuple\"\n },\n ],\n name: \"ValidationResultWithAggregation\",\n type: \"error\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"factory\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"paymaster\",\n type: \"address\"\n },\n ],\n name: \"AccountDeployed\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalDeposit\",\n type: \"uint256\"\n },\n ],\n name: \"Deposited\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n ],\n name: \"SignatureAggregatorChanged\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalStaked\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n name: \"StakeLocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"withdrawTime\",\n type: \"uint256\"\n },\n ],\n name: \"StakeUnlocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"StakeWithdrawn\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"paymaster\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"actualGasUsed\",\n type: \"uint256\"\n },\n ],\n name: \"UserOperationEvent\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"revertReason\",\n type: \"bytes\"\n },\n ],\n name: \"UserOperationRevertReason\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"Withdrawn\",\n type: \"event\"\n },\n {\n inputs: [],\n name: \"SIG_VALIDATION_FAILED\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n ],\n name: \"_validateSenderAndPaymaster\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"depositTo\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n name: \"deposits\",\n outputs: [\n {\n internalType: \"uint112\",\n name: \"deposit\",\n type: \"uint112\"\n },\n {\n internalType: \"bool\",\n name: \"staked\",\n type: \"bool\"\n },\n {\n internalType: \"uint112\",\n name: \"stake\",\n type: \"uint112\"\n },\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n {\n internalType: \"uint48\",\n name: \"withdrawTime\",\n type: \"uint48\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"getDepositInfo\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint112\",\n name: \"deposit\",\n type: \"uint112\"\n },\n {\n internalType: \"bool\",\n name: \"staked\",\n type: \"bool\"\n },\n {\n internalType: \"uint112\",\n name: \"stake\",\n type: \"uint112\"\n },\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n {\n internalType: \"uint48\",\n name: \"withdrawTime\",\n type: \"uint48\"\n },\n ],\n internalType: \"struct IStakeManager.DepositInfo\",\n name: \"info\",\n type: \"tuple\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n ],\n name: \"getSenderAddress\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n ],\n name: \"getUserOpHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation[]\",\n name: \"userOps\",\n type: \"tuple[]\"\n },\n {\n internalType: \"contract IAggregator\",\n name: \"aggregator\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct IEntryPoint.UserOpsPerAggregator[]\",\n name: \"opsPerAggregator\",\n type: \"tuple[]\"\n },\n {\n internalType: \"address payable\",\n name: \"beneficiary\",\n type: \"address\"\n },\n ],\n name: \"handleAggregatedOps\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation[]\",\n name: \"ops\",\n type: \"tuple[]\"\n },\n {\n internalType: \"address payable\",\n name: \"beneficiary\",\n type: \"address\"\n },\n ],\n name: \"handleOps\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"paymaster\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct EntryPoint.MemoryUserOp\",\n name: \"mUserOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"prefund\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"contextOffset\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct EntryPoint.UserOpInfo\",\n name: \"opInfo\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n ],\n name: \"innerHandleOp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"op\",\n type: \"tuple\"\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"targetCallData\",\n type: \"bytes\"\n },\n ],\n name: \"simulateHandleOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n ],\n name: \"simulateValidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"withdrawAmount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n stateMutability: \"payable\",\n type: \"receive\"\n },\n];\nvar _bytecode = \"0x60a08060405234620000845761022c8181016001600160401b038111838210176200006e57829162005773833903906000f0801562000062576080526040516156e990816200008a8239608051818181611321015281816139700152613c910152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021614f9c565b005b60003560e01c80630396cb60146101775780631d7327561461016e5780631fad948c14610165578063205c28781461015c5780634b1d7cf5146101535780635287ce121461014a57806370a08231146101415780638f41ec5a14610138578063957122ab1461012f5780639b249f6914610126578063a61935311461011d578063b760faf914610114578063bb9fe6bf1461010b578063c23a5cea14610102578063d6383f94146100f9578063ee219423146100f05763fc7e286d0361000e576100eb611b0f565b61000e565b506100eb6118f7565b506100eb61178f565b506100eb6115f6565b506100eb611478565b506100eb611439565b506100eb611418565b506100eb611279565b506100eb6110a6565b506100eb61106b565b506100eb610fe6565b506100eb610e96565b506100eb610b6b565b506100eb6109cc565b506100eb61071c565b506100eb610549565b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5760043563ffffffff811680820361031d576103187fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102356102053373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b91610211811515615102565b61022e610225600185015463ffffffff1690565b63ffffffff1690565b1115615167565b54926102fa6dffffffffffffffffffffffffffff946102b861025c34888460781c166120aa565b966102688815156151cc565b61027481891115615231565b61029881610280610409565b941684906dffffffffffffffffffffffffffff169052565b6001602084015287166dffffffffffffffffffffffffffff166040830152565b63ffffffff83166060820152600060808201526102f53373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b615296565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761036e57604052565b610376610322565b604052565b610100810190811067ffffffffffffffff82111761036e57604052565b67ffffffffffffffff811161036e57604052565b6060810190811067ffffffffffffffff82111761036e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761036e57604052565b6040519061041682610352565b565b6040519060c0820182811067ffffffffffffffff82111761036e57604052565b604051906040820182811067ffffffffffffffff82111761036e57604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610494575b01160190565b61049c610322565b61048e565b9291926104ad82610458565b916104bb60405193846103c8565b82948184528183011161031d578281602093846000960137010152565b73ffffffffffffffffffffffffffffffffffffffff81160361031d57565b60243590610416826104d8565b60c43590610416826104d8565b3590610416826104d8565b9181601f8401121561031d5782359167ffffffffffffffff831161031d576020838186019501011161031d57565b503461031d576101c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5767ffffffffffffffff60043581811161031d573660238201121561031d576105ac9036906024816004013591016104a1565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601610180811261031d57610100604051916105e983610352565b1261031d576040516105fa8161037b565b6106026104f6565b815260443560208201526064356040820152608435606082015260a435608082015261062c610503565b60a082015260e43560c08201526101043560e082015281526101243560208201526101443560408201526101643560608201526101843560808201526101a43591821161031d576106a09261068861069093369060040161051b565b929091612786565b6040519081529081906020820190565b0390f35b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261031d5760043567ffffffffffffffff9283821161031d578060238301121561031d57816004013593841161031d5760248460051b8301011161031d576024019190602435610719816104d8565b90565b503461031d5761072b366106a4565b610736829392611c6f565b60005b848110610788575060009283915b858310610758576100218585611dac565b90919360019061077e61076c878987611d2e565b6107768886611d0c565b519088612214565b0194019190610747565b6107b36107ac61079a83859795611d0c565b516107a6848987611d2e565b84612fc4565b9190612d9b565b73ffffffffffffffffffffffffffffffffffffffff9291831661095e576108f0576107dd90612d9b565b9116610882576107f257600101929092610739565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a490fd5b0390fd5b61087e826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b61087e836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b61087e846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b503461031d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57600435610a08816104d8565b6024359060009133835282602052604083206dffffffffffffffffffffffffffff81541692838311610b0d57848373ffffffffffffffffffffffffffffffffffffffff829593610ab08496610a77610a648798610b0a9c612095565b6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610b04611d7c565b5061560d565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461031d57610b7a366106a4565b6000805b838210610d3c57610b8f9150611c6f565b6000805b848110610ca257505060008093815b818110610bd957610021868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2611dac565b610c3d610be782848a6123a0565b610c12610bf9610bf960208401612442565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a2806123ee565b906000915b808310610c5a57505050610c5590612366565b610ba2565b90919497610c95610c8f610c9b92610c898c8b610c8282610c7c8e8b8d611d2e565b92611d0c565b5191612214565b906120aa565b99612366565b95612366565b9190610c42565b610cad8186886123a0565b6020610cc5610cbc83806123ee565b92909301612442565b9173ffffffffffffffffffffffffffffffffffffffff60009316905b828410610cfa5750505050610cf590612366565b610b93565b90919294610c9581610d2f85610d28610d16610d34968d611d0c565b51610d228c8b8a611d2e565b85612fc4565b908b612d53565b612366565b929190610ce1565b610d478285876123a0565b90610d5282806123ee565b92610d62610bf960208301612442565b9173ffffffffffffffffffffffffffffffffffffffff8316610d87600182141561244c565b610da8575b505050610da291610d9c916120aa565b91612366565b90610b7e565b909592610dc16040999693999895989788810190611e9d565b92908a3b1561031d5789938b918a5193849283927fe3563a4f00000000000000000000000000000000000000000000000000000000845260049e8f850193610e08946125e6565b03815a93600094fa9081610e7d575b50610e675786517f86a9f75000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a16818a0190815281906020010390fd5b9497509295509093509181610d9c610da2610d8c565b80610e8a610e9092610398565b80611060565b38610e17565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d576106a073ffffffffffffffffffffffffffffffffffffffff600435610eea816104d8565b608060409283928351610efc81610352565b600093818580935282602082015282878201528260608201520152168152806020522090610f8b65ffffffffffff6001835194610f3886610352565b80546dffffffffffffffffffffffffffff8082168852607082901c60ff161515602089015260789190911c1685870152015463ffffffff8116606086015260201c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a08401956dffffffffffffffffffffffffffff808251168652602082015115156020870152604082015116604086015263ffffffff6060820151166060860152015116910152565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5773ffffffffffffffffffffffffffffffffffffffff600435611037816104d8565b16600052600060205260206dffffffffffffffffffffffffffff60406000205416604051908152f35b600091031261031d57565b503461031d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57602060405160018152f35b503461031d5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57600467ffffffffffffffff813581811161031d576110f7903690840161051b565b905060243591611106836104d8565b60443590811161031d5761111d903690850161051b565b92909115908161126f575b50611208576014821015611178575b61087e836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160409060208152600060208201520190565b6111886111949261118e926129ab565b906129b9565b60601c90565b3b156111a1573880611137565b61087e906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601b60208201527f41413330207061796d6173746572206e6f74206465706c6f796564000000000060408201520190565b61087e836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601960208201527f41413230206163636f756e74206e6f74206465706c6f7965640000000000000060408201520190565b90503b1538611128565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5760043567ffffffffffffffff811161031d576112cb602491369060040161051b565b906113016040519283927f570e1a3600000000000000000000000000000000000000000000000000000000845260048401612b4f565b0360208273ffffffffffffffffffffffffffffffffffffffff92816000857f0000000000000000000000000000000000000000000000000000000000000000165af19182156113b3575b600092611383575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b6113a591925060203d81116113ac575b61139d81836103c8565b810190612b3a565b9038611353565b503d611393565b6113bb612058565b61134b565b908161016091031261031d5790565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261031d576004359067ffffffffffffffff821161031d57610719916004016113c0565b503461031d57602061143161142c366113cf565b6128e1565b604051908152f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57610021600435611473816104d8565b615096565b503461031d576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126115f3573381528060205260408120600181019063ffffffff825416908115611595576115326114f761155a936114e96114e4855460ff9060701c1690565b6153fa565b65ffffffffffff421661545f565b84547fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff16602082901b69ffffffffffff000000001617909455565b7fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff8154169055565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b80fd5b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57600435611632816104d8565b610b0a73ffffffffffffffffffffffffffffffffffffffff6116743373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9261172c611697610a6486546dffffffffffffffffffffffffffff9060781c1690565b946116a3861515615479565b611704600182016116dc65ffffffffffff6116c8835465ffffffffffff9060201c1690565b166116d48115156154de565b421015615543565b80547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000169055565b7fffffff0000000000000000000000000000ffffffffffffffffffffffffffffff8154169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810186905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080809581948294165af1611789611d7c565b506155a8565b503461031d5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5767ffffffffffffffff60043581811161031d576117e09036906004016113c0565b602435916117ed836104d8565b60443590811161031d5761180861087e91369060040161051b565b611810611bec565b61181985612c4e565b61182c6118268287612e5c565b90614e95565b9461183c826000924384526120b7565b96438252819360609573ffffffffffffffffffffffffffffffffffffffff83166118c3575b5050505060800151936118906040611882602084015165ffffffffffff1690565b92015165ffffffffffff1690565b906040519687967f8b7ac980000000000000000000000000000000000000000000000000000000008852600488016126b6565b839550839496506118dd60409492939451809481936126a8565b03925af19060806118ec611d7c565b929190388080611861565b503461031d57611906366113cf565b61190e611bec565b61191782612c4e565b6119218183612e5c565b825160a0015191939161194e9073ffffffffffffffffffffffffffffffffffffffff16614f47565b614f47565b90611972611949855173ffffffffffffffffffffffffffffffffffffffff90511690565b9461197b612973565b506119aa61198e60409586810190611e9d565b90600060148310611b0757506111886119499261118e926129ab565b916119b491614e95565b805173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff821660018114916080880151978781015191886020820151611a099065ffffffffffff1690565b91015165ffffffffffff16916060015192611a22610418565b9a8b5260208b0152841515898b015265ffffffffffff1660608a015265ffffffffffff16608089015260a088015215159081611afe575b50611a93575061087e92519485947fe0cff05f00000000000000000000000000000000000000000000000000000000865260048601612ae0565b919061087e93611aa284614f47565b611ac9611aad610438565b73ffffffffffffffffffffffffffffffffffffffff9096168652565b6020850152519586957ffaecb4e400000000000000000000000000000000000000000000000000000000875260048701612a4e565b90501538611a59565b915050614f47565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5773ffffffffffffffffffffffffffffffffffffffff600435611b60816104d8565b16600052600060205260a0604060002065ffffffffffff60018254920154604051926dffffffffffffffffffffffffffff90818116855260ff8160701c161515602086015260781c16604084015263ffffffff8116606084015260201c166080820152f35b60209067ffffffffffffffff8111611bdf575b60051b0190565b611be7610322565b611bd8565b60405190611bf982610352565b604051608083610100830167ffffffffffffffff811184821017611c62575b60405260009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e082015281528260208201528260408201528260608201520152565b611c6a610322565b611c18565b90611c7982611bc5565b611c8660405191826103c8565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611cb48294611bc5565b019060005b828110611cc557505050565b602090611cd0611bec565b82828501015201611cb9565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020918151811015611d21575b60051b010190565b611d29611cdc565b611d19565b9190811015611d6f575b60051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea18136030182121561031d570190565b611d77611cdc565b611d38565b3d15611da7573d90611d8d82610458565b91611d9b60405193846103c8565b82523d6000602084013e565b606090565b73ffffffffffffffffffffffffffffffffffffffff168015611e3f57600080809381935af1611dd9611d7c565b5015611de157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561031d570180359067ffffffffffffffff821161031d5760200191813603831361031d57565b9081602091031261031d575190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b60005b838110611f4f5750506000910152565b8181015183820152602001611f3f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611f9b81518092818752878088019101611f3c565b0116010190565b90611fbc60809161071996946101c0808652850191611efd565b9360e0815173ffffffffffffffffffffffffffffffffffffffff80825116602087015260208201516040870152604082015160608701526060820151858701528482015160a087015260a08201511660c086015260c081015182860152015161010084015260208101516101208401526040810151610140840152606081015161016084015201516101808201526101a0818403910152611f5f565b506040513d6000823e3d90fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116120a257565b610416612065565b919082018092116120a257565b905a918160206120d06060830151936060810190611e9d565b906121098560405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601611fa2565b03816000305af1600091816121e4575b506121dd575060206000803e7fdeaddead00000000000000000000000000000000000000000000000000000000600051146121705761216a61215f610719945a90612095565b6080840151906120aa565b916145d7565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9250505090565b61220691925060203d811161220d575b6121fe81836103c8565b810190611eee565b9038612119565b503d6121f4565b909291925a938060206122306060830151946060810190611e9d565b906122698660405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601611fa2565b03816000305af160009181612346575b5061233f575060206000803e7fdeaddead00000000000000000000000000000000000000000000000000000000600051146122d1576122cb6122c061071995965a90612095565b6080830151906120aa565b926148ba565b61087e836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9450505050565b61235f91925060203d811161220d576121fe81836103c8565b9038612279565b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612394570190565b61239c612065565b0190565b91908110156123e1575b60051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561031d570190565b6123e9611cdc565b6123aa565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561031d570180359067ffffffffffffffff821161031d57602001918160051b3603831361031d57565b35610719816104d8565b1561245357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561031d57016020813591019167ffffffffffffffff821161031d57813603831361031d57565b6107199161252c8161251284610510565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526125c761257861255d61254c60408601866124b1565b610160806040880152860191611efd565b61256a60608601866124b1565b908583036060870152611efd565b6080840135608084015260a084013560a084015260c084013560c084015260e084013560e084015261010080850135908401526101206125ba818601866124b1565b9185840390860152611efd565b916125d861014091828101906124b1565b929091818503910152611efd565b949391929083604087016040885252606086019360608160051b8801019482600090815b8483106126295750505050505084602061071995968503910152611efd565b9091929394977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08b820301855288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1843603018112156126a457600191846126929201612501565b9860209081019695019301919061260a565b8280fd5b908092918237016000815290565b92909361071996959260c0958552602085015265ffffffffffff8092166040850152166060830152151560808201528160a08201520190611f5f565b156126f957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b90604061071992600081528160208201520190611f5f565b604090610719939281528160208201520190611f5f565b909291925a936127973033146126f2565b8151946040860151955a6113886060830151890101116128b7576107199660009580516127de575b505050906127d8915a90036080840151019436916104a1565b91614b22565b61280d9161280991612804855173ffffffffffffffffffffffffffffffffffffffff1690565b615672565b1590565b612819575b80806127bf565b6127d892919450612828615684565b90815161283c575b50506001939091612812565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff6020870151926128ad602061289b835173ffffffffffffffffffffffffffffffffffffffff1690565b9201519560405193849316968361276f565b0390a33880612830565b7fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b806128f0610140820182611e9d565b50037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081016040519182016040528082526020820192833751902060405160208101918252306040820152466060820152606081526080810181811067ffffffffffffffff821117612966575b60405251902090565b61296e610322565b61295d565b604051906040820182811067ffffffffffffffff82111761299e575b60405260006020838281520152565b6129a6610322565b61298f565b9060141161031d5790601490565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090358181169392601481106129ee57505050565b60140360031b82901b16169150565b9060c060a061071993805184526020810151602085015260408101511515604085015265ffffffffffff80606083015116606086015260808201511660808501520151918160a08201520190611f5f565b9294612aaf61041695612a9d610100959998612a8b612a77602097610140808c528b01906129fd565b9b878a019060208091805184520151910152565b80516060890152602001516080880152565b805160a08701526020015160c0860152565b73ffffffffffffffffffffffffffffffffffffffff81511660e0850152015191019060208091805184520151910152565b612b2961041694612b17612b0260a0959998969960e0865260e08601906129fd565b98602085019060208091805184520151910152565b80516060840152602001516080830152565b019060208091805184520151910152565b9081602091031261031d5751610719816104d8565b916020610719938181520191611efd565b90612b8f73ffffffffffffffffffffffffffffffffffffffff9161071997959694606085526060850191611efd565b941660208201526040818503910152611efd565b60009060033d11612bb057565b905060046000803e60005160e01c90565b600060443d10610719576040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc91823d016004833e815167ffffffffffffffff918282113d602484011117612c3d57818401948551938411612c45573d85010160208487010111612c3d5750610719929101602001906103c8565b949350505050565b50949350505050565b612c5b6040820182611e9d565b612c73612c6784612442565b93610120810190611e9d565b9290303b1561031d57600093612cb79160405196879586957f957122ab00000000000000000000000000000000000000000000000000000000875260048701612b60565b0381305afa9081612d40575b50610416576001612cd2612ba3565b6308c379a014612ceb575b612ce357565b610416612058565b612cf3612bc1565b80612cff575b50612cdd565b80516000925015612cf95761087e906040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301612757565b80610e8a612d4d92610398565b38612cc3565b929190612d5f90612d9b565b909273ffffffffffffffffffffffffffffffffffffffff8080951691160361095e576108f057612d8e90612d9b565b9116610882576107f25750565b8015612dee57612daa90614e3a565b73ffffffffffffffffffffffffffffffffffffffff65ffffffffffff806040840151164211908115612dde575b5091511691565b9050602083015116421038612dd7565b50600090600090565b15612dfe57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b916000915a93815190612e6f828261318e565b612e78816128e1565b6020840152612eb66effffffffffffffffffffffffffffff60808401516060850151176040850151176101008401359060e085013517171115612df7565b612ebf82613250565b612eca818584613311565b9790612ed543600052565b73ffffffffffffffffffffffffffffffffffffffff612f0d60a0606097015173ffffffffffffffffffffffffffffffffffffffff1690565b16612faa575b505a810360a084013510612f3d5760809360c092604087015260608601525a900391013501910152565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601e60408201527f41413430206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b90935081612fbb9297508584614037565b95909238612f13565b9290916000925a8251612fd7818461318e565b612fe0836128e1565b602085015261301e6effffffffffffffffffffffffffffff60808301516060840151176040840151176101008601359060e087013517171115612df7565b61302781613250565b6130338186868b61367d565b989061303e43600052565b73ffffffffffffffffffffffffffffffffffffffff61307660a0606096015173ffffffffffffffffffffffffffffffffffffffff1690565b1661310e575b505a840360a0860135106130a85750604085015260608401526080919060c0905a900391013501910152565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b909250816131209298508686856142ca565b9690913861307c565b1561313057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b613200906131b861319e82612442565b73ffffffffffffffffffffffffffffffffffffffff168452565b602081013560208401526080810135604084015260a0810135606084015260c0810135608084015260e081013560c084015261010081013560e0840152610120810190611e9d565b9081156132455761322a61118e6111888460a094613225601461041699981015613129565b6129ab565b73ffffffffffffffffffffffffffffffffffffffff16910152565b505060a06000910152565b60a081015173ffffffffffffffffffffffffffffffffffffffff16156132925760c060035b60ff60408401519116606084015102016080830151019101510290565b60c06001613275565b6132b360409295949395606083526060830190612501565b9460208201520152565b90610416602f60405180947f414132332072657665727465643a20000000000000000000000000000000000060208301526133018151809260208686019101611f3c565b810103600f8101855201836103c8565b916000926000925a936133df6020835193613340855173ffffffffffffffffffffffffffffffffffffffff1690565b956133586133516040830183611e9d565b90846138e8565b60a086015173ffffffffffffffffffffffffffffffffffffffff169061337d43600052565b85809373ffffffffffffffffffffffffffffffffffffffff809416159889613615575b60600151908601516040517f3a871cdd00000000000000000000000000000000000000000000000000000000815297889687958693906004850161329b565b03938a1690f18291816135f5575b506135ec57506001906133fe612ba3565b6308c379a014613598575b5061352b575b61341c575b50505a900391565b6134469073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b613461610a6482546dffffffffffffffffffffffffffff1690565b8083116134be576134b7926dffffffffffffffffffffffffffff9103166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b3880613414565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b6135a0612bc1565b90816135ac5750613409565b61087e916135ba91506132bd565b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301612757565b955061340f9050565b61360e91925060203d811161220d576121fe81836103c8565b90386133ed565b945061365b610a646136478c73ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b546dffffffffffffffffffffffffffff1690565b8b8111156136725750856060835b969150506133a0565b606087918d03613669565b90926000936000935a946136c660208351936136ad855173ffffffffffffffffffffffffffffffffffffffff1690565b956133586136be6040830183611e9d565b90848c613c06565b03938a1690f18291816138c8575b506138bf57506001906136e5612ba3565b6308c379a014613869575b506137fb575b613704575b5050505a900391565b61372e9073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9161374a610a6484546dffffffffffffffffffffffffffff1690565b90818311613795575082547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000169190036dffffffffffffffffffffffffffff161790553880806136fb565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61087e846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b613871612bc1565b908161387d57506136f0565b869161388991506132bd565b9061087e6040519283927f220266b60000000000000000000000000000000000000000000000000000000084526004840161276f565b96506136f69050565b6138e191925060203d811161220d576121fe81836103c8565b90386136d4565b9091806138f457505050565b81515173ffffffffffffffffffffffffffffffffffffffff1692833b613b9957606083510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280613953878760048401612b4f565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f00000000000000000000000000000000000000000000000000000000000000001690f1918215613b8c575b600092613b6c575b50808216958615613aff5716809503613a92573b15613a255761118e6111887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936139ec936129ab565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a3565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152602060408201527f4141313520696e6974436f6465206d757374206372656174652073656e64657260608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613b8591925060203d81116113ac5761139d81836103c8565b90386139a2565b613b94612058565b61399a565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601f60408201527f414131302073656e64657220616c726561647920636f6e73747275637465640060608201520190565b92909181613c15575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff1693843b613ebd57606084510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280613c74888860048401612b4f565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f00000000000000000000000000000000000000000000000000000000000000001690f1918215613eb0575b600092613e90575b50808216968715613e225716809603613db4573b15613d4e575061118e6111887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d93613d0e936129ab565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a338808080613c0f565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b61087e826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b61087e846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613ea991925060203d81116113ac5761139d81836103c8565b9038613cc3565b613eb8612058565b613cbb565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b15613f2a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152fd5b919060408382031261031d57825167ffffffffffffffff811161031d5783019080601f8301121561031d57815191613fbf83610458565b91613fcd60405193846103c8565b8383526020848301011161031d57602092613fed91848085019101611f3c565b92015190565b90610416602f60405180947f414133332072657665727465643a20000000000000000000000000000000000060208301526133018151809260208686019101611f3c565b93919260609460009460009380519261407660a08a8601519561405b888811613f23565b015173ffffffffffffffffffffffffffffffffffffffff1690565b916140a18373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b946140bd610a6487546dffffffffffffffffffffffffffff1690565b9685881061425d5773ffffffffffffffffffffffffffffffffffffffff60208a98946141338a966dffffffffffffffffffffffffffff8b61416c9e03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b015194604051998a98899788937ff465c77e0000000000000000000000000000000000000000000000000000000085526004850161329b565b0395169103f1908183918493614237575b5061423057505060019061418f612ba3565b6308c379a01461420e575b506141a157565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601660408201527f4141333320726576657274656420286f72204f4f47290000000000000000000060608201520190565b614216612bc1565b9081614222575061419a565b61087e916135ba9150613ff3565b9450925050565b90925061425691503d8085833e61424e81836103c8565b810190613f88565b913861417d565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b9194929390936060956000956000938251906142f160a08b8401519361405b848611613f23565b9361431c8573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b614337610a6482546dffffffffffffffffffffffffffff1690565b878110614492579273ffffffffffffffffffffffffffffffffffffffff60208a989693946141338a966dffffffffffffffffffffffffffff8d6143b19e9c9a03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b0395169103f1908183918493614474575b5061446c5750506001906143d4612ba3565b6308c379a01461444d575b506143e75750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601660448201527f4141333320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b614455612bc1565b908161446157506143df565b613889925050613ff3565b955093505050565b90925061448b91503d8085833e61424e81836103c8565b91386143c2565b61087e8a6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b6003111561450a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b92919061455760409160028652606060208701526060860190611f5f565b930152565b93929190600381101561450a57604091614557918652606060208701526060860190611f5f565b90610416603660405180947f4141353020706f73744f702072657665727465643a200000000000000000000060208301526145c78151809260208686019101611f3c565b81010360168101855201836103c8565b929190925a936000918051916145ec83614df3565b9260a0810195614610875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff9390848116908161477f57505050614651825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614712577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f9461469d6020928c61470d95510390614fa5565b0151948960206146df6146c4865173ffffffffffffffffffffffffffffffffffffffff1690565b9a5173ffffffffffffffffffffffffffffffffffffffff1690565b9401519785604051968796169a16988590949392606092608083019683521515602083015260408201520152565b0390a4565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152602060408201527f414135312070726566756e642062656c6f772061637475616c476173436f737460608201520190565b9a91805161478f575b5050614653565b6060850151600099509091803b156148b65791899189836147e2956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c029060048401614539565b0393f190816148a3575b5061489e5760016147fb612ba3565b6308c379a01461487f575b614812575b3880614788565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614887612bc1565b806148925750614806565b6135ba61087e91614583565b61480b565b80610e8a6148b092610398565b386147ec565b8980fd5b9392915a906000928051906148ce82614df3565b9360a08301966148f2885173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff959086811690816149e857505050614933845173ffffffffffffffffffffffffffffffffffffffff1690565b915b5a9003019485029860408301908a82511061498257507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94939261469d61470d938c602094510390614fa5565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f414135312070726566756e642062656c6f772061637475616c476173436f73746064820152608490fd5b939180516149f8575b5050614935565b606087015160009a509091803b15614b1e57918a918a83614a4b956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c029060048401614539565b0393f19081614b0b575b50614b06576001614a64612ba3565b6308c379a014614ae9575b614a7b575b38806149f1565b61087e8b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614af1612bc1565b80614afc5750614a6f565b6138898d91614583565b614a74565b80610e8a614b1892610398565b38614a55565b8a80fd5b909392915a94805191614b3483614df3565b9260a0810195614b58875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff938185169182614c4057505050614b98825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614712577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94614be46020928c61470d95510390614fa5565b614bed88614500565b015194896020614c146146c4865173ffffffffffffffffffffffffffffffffffffffff1690565b940151604080519182529815602082015297880152606087015290821695909116939081906080820190565b9a918151614c50575b5050614b9a565b878402614c5c8a614500565b60028a14614ce7576060860151823b1561031d57614caf93600080948d604051978896879586937fa9a234090000000000000000000000000000000000000000000000000000000085526004850161455c565b0393f18015614cda575b614cc7575b505b3880614c49565b80610e8a614cd492610398565b38614cbe565b614ce2612058565b614cb9565b6060860151823b1561031d57614d3293600080948d604051978896879586937fa9a234090000000000000000000000000000000000000000000000000000000085526004850161455c565b0393f19081614de0575b50614ddb576001614d4b612ba3565b6308c379a014614dc8575b15614cc0576040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614dd0612bc1565b806148925750614d56565b614cc0565b80610e8a614ded92610398565b38614d3c565b60e060c0820151910151808214614e1757480180821015614e12575090565b905090565b5090565b60405190614e28826103ac565b60006040838281528260208201520152565b614e42614e1b565b5065ffffffffffff808260a01c168015614e8e575b60405192614e64846103ac565b73ffffffffffffffffffffffffffffffffffffffff8116845260d01c602084015216604082015290565b5080614e57565b614eaa614eb091614ea4614e1b565b50614e3a565b91614e3a565b9073ffffffffffffffffffffffffffffffffffffffff9182825116928315614f3c575b65ffffffffffff928391826040816020850151169301511693836040816020840151169201511690808410614f34575b50808511614f2c575b5060405195614f1a876103ac565b16855216602084015216604082015290565b935038614f0c565b925038614f03565b815181169350614ed3565b9073ffffffffffffffffffffffffffffffffffffffff614f65612973565b9216600052600060205263ffffffff600160406000206dffffffffffffffffffffffffffff815460781c1685520154166020830152565b61041633615096565b73ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000206dffffffffffffffffffffffffffff80825416928301809311615089575b80831161502b5761041692166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6465706f736974206f766572666c6f77000000000000000000000000000000006044820152fd5b615091612065565b614fe6565b73ffffffffffffffffffffffffffffffffffffffff906150b63482614fa5565b168060005260006020527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206dffffffffffffffffffffffffffff60406000205416604051908152a2565b1561510957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561516e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b156151d357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561523857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b9065ffffffffffff60806001610416946152f66dffffffffffffffffffffffffffff86511682906dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b602085015115156eff000000000000000000000000000082549160701b16807fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff83161783557fffffff000000000000000000000000000000ffffffffffffffffffffffffffff7cffffffffffffffffffffffffffff000000000000000000000000000000604089015160781b16921617178155019263ffffffff6060820151167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008554161784550151167fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff69ffffffffffff0000000083549260201b169116179055565b1561540157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b91909165ffffffffffff808094169116019182116120a257565b1561548057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b156154e557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561554a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b156155af57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b1561561457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b9060009283809360208451940192f190565b3d6108008082116156ab575b50604051906020818301016040528082526000602083013e90565b90503861569056fea2646970667358221220ae4a26a2417d41eec912cee72664fcf55e9abebe95b0def4d185ac695cb88b5564736f6c634300081100336080806040523461001657610210908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c63570e1a361461002857600080fd5b346100c95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c95760043567ffffffffffffffff918282116100c957366023830112156100c95781600401359283116100c95736602484840101116100c9576100c561009e84602485016100fc565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90806014116101bb5767ffffffffffffffff917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec82018381116101cd575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81600b8701160116850190858210908211176101c0575b604052808452602084019036848401116101bb576020946000600c819682946014880187378301015251923560601c5af19060005191156101b557565b60009150565b600080fd5b6101c86100cc565b610178565b6101d56100cc565b61013a56fea26469706673582212201927e80b76ab9b71c952137dd676621a9fdf520c25928815636594036eb1c40364736f6c63430008110033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar EntryPoint__factory = /** @class */ (function (_super) {\n __extends(EntryPoint__factory, _super);\n function EntryPoint__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n EntryPoint__factory.prototype.deploy = function (overrides) {\n return _super.prototype.deploy.call(this, overrides || {});\n };\n EntryPoint__factory.prototype.getDeployTransaction = function (overrides) {\n return _super.prototype.getDeployTransaction.call(this, overrides || {});\n };\n EntryPoint__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n EntryPoint__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n EntryPoint__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n EntryPoint__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n EntryPoint__factory.bytecode = _bytecode;\n EntryPoint__factory.abi = _abi;\n return EntryPoint__factory;\n}(ethers_1.ContractFactory));\nexports.EntryPoint__factory = EntryPoint__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.IAccount__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"missingAccountFunds\",\n type: \"uint256\"\n },\n ],\n name: \"validateUserOp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar IAccount__factory = /** @class */ (function () {\n function IAccount__factory() {\n }\n IAccount__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n IAccount__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n IAccount__factory.abi = _abi;\n return IAccount__factory;\n}());\nexports.IAccount__factory = IAccount__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.IAggregator__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation[]\",\n name: \"userOps\",\n type: \"tuple[]\"\n },\n ],\n name: \"aggregateSignatures\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"aggregatedSignature\",\n type: \"bytes\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation[]\",\n name: \"userOps\",\n type: \"tuple[]\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n name: \"validateSignatures\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n ],\n name: \"validateUserOpSignature\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"sigForUserOp\",\n type: \"bytes\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n];\nvar IAggregator__factory = /** @class */ (function () {\n function IAggregator__factory() {\n }\n IAggregator__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n IAggregator__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n IAggregator__factory.abi = _abi;\n return IAggregator__factory;\n}());\nexports.IAggregator__factory = IAggregator__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.IEntryPoint__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"paid\",\n type: \"uint256\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"bool\",\n name: \"targetSuccess\",\n type: \"bool\"\n },\n {\n internalType: \"bytes\",\n name: \"targetResult\",\n type: \"bytes\"\n },\n ],\n name: \"ExecutionResult\",\n type: \"error\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"opIndex\",\n type: \"uint256\"\n },\n {\n internalType: \"string\",\n name: \"reason\",\n type: \"string\"\n },\n ],\n name: \"FailedOp\",\n type: \"error\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n ],\n name: \"SenderAddressResult\",\n type: \"error\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n ],\n name: \"SignatureValidationFailed\",\n type: \"error\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"prefund\",\n type: \"uint256\"\n },\n {\n internalType: \"bool\",\n name: \"sigFailed\",\n type: \"bool\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterContext\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct IEntryPoint.ReturnInfo\",\n name: \"returnInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"senderInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"factoryInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"paymasterInfo\",\n type: \"tuple\"\n },\n ],\n name: \"ValidationResult\",\n type: \"error\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"preOpGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"prefund\",\n type: \"uint256\"\n },\n {\n internalType: \"bool\",\n name: \"sigFailed\",\n type: \"bool\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterContext\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct IEntryPoint.ReturnInfo\",\n name: \"returnInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"senderInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"factoryInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"paymasterInfo\",\n type: \"tuple\"\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"stake\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n internalType: \"struct IStakeManager.StakeInfo\",\n name: \"stakeInfo\",\n type: \"tuple\"\n },\n ],\n internalType: \"struct IEntryPoint.AggregatorStakeInfo\",\n name: \"aggregatorInfo\",\n type: \"tuple\"\n },\n ],\n name: \"ValidationResultWithAggregation\",\n type: \"error\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"factory\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"paymaster\",\n type: \"address\"\n },\n ],\n name: \"AccountDeployed\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalDeposit\",\n type: \"uint256\"\n },\n ],\n name: \"Deposited\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"aggregator\",\n type: \"address\"\n },\n ],\n name: \"SignatureAggregatorChanged\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalStaked\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n name: \"StakeLocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"withdrawTime\",\n type: \"uint256\"\n },\n ],\n name: \"StakeUnlocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"StakeWithdrawn\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"paymaster\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"actualGasUsed\",\n type: \"uint256\"\n },\n ],\n name: \"UserOperationEvent\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"revertReason\",\n type: \"bytes\"\n },\n ],\n name: \"UserOperationRevertReason\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"Withdrawn\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"_unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"depositTo\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"getDepositInfo\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint112\",\n name: \"deposit\",\n type: \"uint112\"\n },\n {\n internalType: \"bool\",\n name: \"staked\",\n type: \"bool\"\n },\n {\n internalType: \"uint112\",\n name: \"stake\",\n type: \"uint112\"\n },\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n {\n internalType: \"uint48\",\n name: \"withdrawTime\",\n type: \"uint48\"\n },\n ],\n internalType: \"struct IStakeManager.DepositInfo\",\n name: \"info\",\n type: \"tuple\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n ],\n name: \"getSenderAddress\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n ],\n name: \"getUserOpHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation[]\",\n name: \"userOps\",\n type: \"tuple[]\"\n },\n {\n internalType: \"contract IAggregator\",\n name: \"aggregator\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct IEntryPoint.UserOpsPerAggregator[]\",\n name: \"opsPerAggregator\",\n type: \"tuple[]\"\n },\n {\n internalType: \"address payable\",\n name: \"beneficiary\",\n type: \"address\"\n },\n ],\n name: \"handleAggregatedOps\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation[]\",\n name: \"ops\",\n type: \"tuple[]\"\n },\n {\n internalType: \"address payable\",\n name: \"beneficiary\",\n type: \"address\"\n },\n ],\n name: \"handleOps\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"op\",\n type: \"tuple\"\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"targetCallData\",\n type: \"bytes\"\n },\n ],\n name: \"simulateHandleOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n ],\n name: \"simulateValidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"withdrawAmount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar IEntryPoint__factory = /** @class */ (function () {\n function IEntryPoint__factory() {\n }\n IEntryPoint__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n IEntryPoint__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n IEntryPoint__factory.abi = _abi;\n return IEntryPoint__factory;\n}());\nexports.IEntryPoint__factory = IEntryPoint__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.IPaymaster__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"enum IPaymaster.PostOpMode\",\n name: \"mode\",\n type: \"uint8\"\n },\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n ],\n name: \"postOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"maxCost\",\n type: \"uint256\"\n },\n ],\n name: \"validatePaymasterUserOp\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar IPaymaster__factory = /** @class */ (function () {\n function IPaymaster__factory() {\n }\n IPaymaster__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n IPaymaster__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n IPaymaster__factory.abi = _abi;\n return IPaymaster__factory;\n}());\nexports.IPaymaster__factory = IPaymaster__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.IStakeManager__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalDeposit\",\n type: \"uint256\"\n },\n ],\n name: \"Deposited\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalStaked\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n name: \"StakeLocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"withdrawTime\",\n type: \"uint256\"\n },\n ],\n name: \"StakeUnlocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"StakeWithdrawn\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"Withdrawn\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"_unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"depositTo\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"getDepositInfo\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint112\",\n name: \"deposit\",\n type: \"uint112\"\n },\n {\n internalType: \"bool\",\n name: \"staked\",\n type: \"bool\"\n },\n {\n internalType: \"uint112\",\n name: \"stake\",\n type: \"uint112\"\n },\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n {\n internalType: \"uint48\",\n name: \"withdrawTime\",\n type: \"uint48\"\n },\n ],\n internalType: \"struct IStakeManager.DepositInfo\",\n name: \"info\",\n type: \"tuple\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"withdrawAmount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar IStakeManager__factory = /** @class */ (function () {\n function IStakeManager__factory() {\n }\n IStakeManager__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n IStakeManager__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n IStakeManager__factory.abi = _abi;\n return IStakeManager__factory;\n}());\nexports.IStakeManager__factory = IStakeManager__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.MaliciousAccount__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"_ep\",\n type: \"address\"\n },\n ],\n stateMutability: \"payable\",\n type: \"constructor\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"missingAccountFunds\",\n type: \"uint256\"\n },\n ],\n name: \"validateUserOp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x608060405260405161034a38038061034a83398101604081905261002291610047565b600080546001600160a01b0319166001600160a01b0392909216919091179055610077565b60006020828403121561005957600080fd5b81516001600160a01b038116811461007057600080fd5b9392505050565b6102c4806100866000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633a871cdd14610030575b600080fd5b61004361003e3660046101a1565b610055565b60405190815260200160405180910390f35b600080546040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169063b760faf99084906024016000604051808303818588803b1580156100c257600080fd5b505af11580156100d6573d6000803e3d6000fd5b505050505060008460c001358560a0013586608001356100f69190610224565b6101009190610224565b9050600061010e828561023c565b9050600061012161010088013583610277565b905086602001358114610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5265766572742061667465722066697273742076616c69646174696f6e000000604482015260640160405180910390fd5b5060009695505050505050565b6000806000606084860312156101b657600080fd5b833567ffffffffffffffff8111156101cd57600080fd5b840161016081870312156101e057600080fd5b95602085013595506040909401359392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610237576102376101f5565b500190565b600082610272577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082821015610289576102896101f5565b50039056fea2646970667358221220233c1b53bed3630405955a2809bf977fcd3053b67e56cf39bd460d18cc03844c64736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar MaliciousAccount__factory = /** @class */ (function (_super) {\n __extends(MaliciousAccount__factory, _super);\n function MaliciousAccount__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n MaliciousAccount__factory.prototype.deploy = function (_ep, overrides) {\n return _super.prototype.deploy.call(this, _ep, overrides || {});\n };\n MaliciousAccount__factory.prototype.getDeployTransaction = function (_ep, overrides) {\n return _super.prototype.getDeployTransaction.call(this, _ep, overrides || {});\n };\n MaliciousAccount__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n MaliciousAccount__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n MaliciousAccount__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n MaliciousAccount__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n MaliciousAccount__factory.bytecode = _bytecode;\n MaliciousAccount__factory.abi = _abi;\n return MaliciousAccount__factory;\n}(ethers_1.ContractFactory));\nexports.MaliciousAccount__factory = MaliciousAccount__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.SenderCreator__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n ],\n name: \"createSender\",\n outputs: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x608060405234801561001057600080fd5b50610213806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063570e1a3614610030575b600080fd5b61004361003e3660046100f9565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008061007c601482858761016b565b61008591610195565b60601c90506000610099846014818861016b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509360209350849250905082850182875af190506000519350806100f057600093505b50505092915050565b6000806020838503121561010c57600080fd5b823567ffffffffffffffff8082111561012457600080fd5b818501915085601f83011261013857600080fd5b81358181111561014757600080fd5b86602082850101111561015957600080fd5b60209290920196919550909350505050565b6000808585111561017b57600080fd5b8386111561018857600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156101d55780818660140360031b1b83161692505b50509291505056fea2646970667358221220d5d7cb55b3123d86b2710028be2074a469cca162ad2a26c50fb1cfdce4424b9464736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar SenderCreator__factory = /** @class */ (function (_super) {\n __extends(SenderCreator__factory, _super);\n function SenderCreator__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n SenderCreator__factory.prototype.deploy = function (overrides) {\n return _super.prototype.deploy.call(this, overrides || {});\n };\n SenderCreator__factory.prototype.getDeployTransaction = function (overrides) {\n return _super.prototype.getDeployTransaction.call(this, overrides || {});\n };\n SenderCreator__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n SenderCreator__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n SenderCreator__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n SenderCreator__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n SenderCreator__factory.bytecode = _bytecode;\n SenderCreator__factory.abi = _abi;\n return SenderCreator__factory;\n}(ethers_1.ContractFactory));\nexports.SenderCreator__factory = SenderCreator__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.SimpleAccountFactory__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"_entryPoint\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n inputs: [],\n name: \"accountImplementation\",\n outputs: [\n {\n internalType: \"contract SimpleAccount\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\"\n },\n ],\n name: \"createAccount\",\n outputs: [\n {\n internalType: \"contract SimpleAccount\",\n name: \"ret\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\"\n },\n ],\n name: \"getAddress\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x60a060405234801561001057600080fd5b50604051612f0f380380612f0f83398101604081905261002f91610088565b8060405161003c9061007b565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b0316608052506100b8565b61218980610d8683390190565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b608051610ca66100e060003960008181604b0152818161011401526102580152610ca66000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610412565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610412565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610480565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6107c1806104b083390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b8381111561040c576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000825180604084015261044d8160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104928184602088016103e2565b8351908301906104a68183602088016103e2565b0194935050505056fe60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122030a4cd3aed4a6d9ec37ebc1d87061b12ed9906b5ba9c82d2d00395cabba20fbd64736f6c634300080f003360c0604052306080523480156200001557600080fd5b506040516200218938038062002189833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611fd3620001b66000396000818161023b01528181610624015281816106cb01528181610aad01528181610d0c0152818161106801526113fc0152600081816103ef0152818161049f0152818161078f0152818161083f01526109880152611fd36000f3fe6080604052600436106100d65760003560e01c806352d1902d1161007f578063b0d691fe11610059578063b0d691fe1461022c578063b61d27f61461025f578063c399ec881461027f578063c4d66de81461029457600080fd5b806352d1902d146101925780638da5cb5b146101a7578063affed0e01461020957600080fd5b80634a58db19116100b05780634a58db19146101575780634d44560d1461015f5780634f1ef2861461017f57600080fd5b806318dfb3c7146100e25780633659cfe6146101045780633a871cdd1461012457600080fd5b366100dd57005b600080fd5b3480156100ee57600080fd5b506101026100fd366004611aaa565b6102b4565b005b34801561011057600080fd5b5061010261011f366004611b38565b6103d8565b34801561013057600080fd5b5061014461013f366004611b55565b6105dd565b6040519081526020015b60405180910390f35b610102610622565b34801561016b57600080fd5b5061010261017a366004611ba9565b6106c1565b61010261018d366004611c04565b610778565b34801561019e57600080fd5b5061014461096e565b3480156101b357600080fd5b506001546101e4906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014e565b34801561021557600080fd5b506001546bffffffffffffffffffffffff16610144565b34801561023857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101e4565b34801561026b57600080fd5b5061010261027a366004611ce6565b610a5a565b34801561028b57600080fd5b50610144610aa9565b3480156102a057600080fd5b506101026102af366004611b38565b610b61565b6102bc610cf4565b82811461032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b838110156103d1576103bf85858381811061034a5761034a611d6f565b905060200201602081019061035f9190611b38565b600085858581811061037357610373611d6f565b90506020028101906103859190611d9e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc792505050565b806103c981611e32565b91505061032d565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361049d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610321565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105127f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146105b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610321565b6105be81610e44565b604080516000808252602082019092526105da91839190610e4c565b50565b60006105e7611050565b6105f184846110ef565b90506106006040850185611d9e565b905060000361061257610612846111e1565b61061b826112aa565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b1580156106ad57600080fd5b505af11580156103d1573d6000803e3d6000fd5b6106c9611315565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610321565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108b27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610321565b61095e82610e44565b61096a82826001610e4c565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610321565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610a62610cf4565b610aa3848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc792505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c9190611e6a565b905090565b600054610100900460ff1615808015610b815750600054600160ff909116105b80610b9b5750303b158015610b9b575060005460ff166001145b610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610321565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c8e826113b0565b801561096a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610d5f57506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e746044820152606401610321565b565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610df09190611eaf565b60006040518083038185875af1925050503d8060008114610e2d576040519150601f19603f3d011682016040523d82523d6000602084013e610e32565b606091505b5091509150816103d157805160208201fd5b6105da611315565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e8457610e7f83611448565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f09575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f0691810190611e6a565b60015b610f95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610321565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610321565b50610e7f838383611552565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606401610321565b600080611149836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b905061119961115c610140860186611d9e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085939250506115779050565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff9081169116146111d55760019150506111db565b60009150505b92915050565b600180546020830135916bffffffffffffffffffffffff90911690600061120783611ecb565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff16146105da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e6365000000000000000000006044820152606401610321565b80156105da5760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d80600081146103d1576040519150601f19603f3d011682016040523d82523d6000602084013e6103d1565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061134a57503330145b610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152606401610321565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b6114ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610321565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61155b8361159b565b6000825111806115685750805b15610e7f57610aa383836115e8565b6000806000611586858561160d565b9150915061159381611652565b509392505050565b6115a481611448565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061061b8383604051806060016040528060278152602001611f7760279139611805565b60008082516041036116435760208301516040840151606085015160001a6116378782858561188a565b9450945050505061164b565b506000905060025b9250929050565b600081600481111561166657611666611ef6565b0361166e5750565b600181600481111561168257611682611ef6565b036116e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610321565b60028160048111156116fd576116fd611ef6565b03611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610321565b600381600481111561177857611778611ef6565b036105da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610321565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161182f9190611eaf565b600060405180830381855af49150503d806000811461186a576040519150601f19603f3d011682016040523d82523d6000602084013e61186f565b606091505b509150915061188086838387611979565b9695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156118c15750600090506003611970565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611915573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661196957600060019250925050611970565b9150600090505b94509492505050565b60608315611a0f578251600003611a085773ffffffffffffffffffffffffffffffffffffffff85163b611a08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610321565b5081611a19565b611a198383611a21565b949350505050565b815115611a315781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103219190611f25565b60008083601f840112611a7757600080fd5b50813567ffffffffffffffff811115611a8f57600080fd5b6020830191508360208260051b850101111561164b57600080fd5b60008060008060408587031215611ac057600080fd5b843567ffffffffffffffff80821115611ad857600080fd5b611ae488838901611a65565b90965094506020870135915080821115611afd57600080fd5b50611b0a87828801611a65565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff811681146105da57600080fd5b600060208284031215611b4a57600080fd5b813561061b81611b16565b600080600060608486031215611b6a57600080fd5b833567ffffffffffffffff811115611b8157600080fd5b84016101608187031215611b9457600080fd5b95602085013595506040909401359392505050565b60008060408385031215611bbc57600080fd5b8235611bc781611b16565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611c1757600080fd5b8235611c2281611b16565b9150602083013567ffffffffffffffff80821115611c3f57600080fd5b818501915085601f830112611c5357600080fd5b813581811115611c6557611c65611bd5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611cab57611cab611bd5565b81604052828152886020848701011115611cc457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060008060608587031215611cfc57600080fd5b8435611d0781611b16565b935060208501359250604085013567ffffffffffffffff80821115611d2b57600080fd5b818701915087601f830112611d3f57600080fd5b813581811115611d4e57600080fd5b886020828501011115611d6057600080fd5b95989497505060200194505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611dd357600080fd5b83018035915067ffffffffffffffff821115611dee57600080fd5b60200191503681900382131561164b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e6357611e63611e03565b5060010190565b600060208284031215611e7c57600080fd5b5051919050565b60005b83811015611e9e578181015183820152602001611e86565b83811115610aa35750506000910152565b60008251611ec1818460208701611e83565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611eec57611eec611e03565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020815260008251806020840152611f44816040850160208701611e83565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fd4b8799a91c8d4b8c5386672729ac9615b60b5f5b7dbac6da122be87a2a90b164736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar SimpleAccountFactory__factory = /** @class */ (function (_super) {\n __extends(SimpleAccountFactory__factory, _super);\n function SimpleAccountFactory__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n SimpleAccountFactory__factory.prototype.deploy = function (_entryPoint, overrides) {\n return _super.prototype.deploy.call(this, _entryPoint, overrides || {});\n };\n SimpleAccountFactory__factory.prototype.getDeployTransaction = function (_entryPoint, overrides) {\n return _super.prototype.getDeployTransaction.call(this, _entryPoint, overrides || {});\n };\n SimpleAccountFactory__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n SimpleAccountFactory__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n SimpleAccountFactory__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n SimpleAccountFactory__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n SimpleAccountFactory__factory.bytecode = _bytecode;\n SimpleAccountFactory__factory.abi = _abi;\n return SimpleAccountFactory__factory;\n}(ethers_1.ContractFactory));\nexports.SimpleAccountFactory__factory = SimpleAccountFactory__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.SimpleAccount__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"anEntryPoint\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"previousAdmin\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newAdmin\",\n type: \"address\"\n },\n ],\n name: \"AdminChanged\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"beacon\",\n type: \"address\"\n },\n ],\n name: \"BeaconUpgraded\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint8\",\n name: \"version\",\n type: \"uint8\"\n },\n ],\n name: \"Initialized\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"contract IEntryPoint\",\n name: \"entryPoint\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n ],\n name: \"SimpleAccountInitialized\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"implementation\",\n type: \"address\"\n },\n ],\n name: \"Upgraded\",\n type: \"event\"\n },\n {\n inputs: [],\n name: \"addDeposit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"dest\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"func\",\n type: \"bytes\"\n },\n ],\n name: \"execute\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"dest\",\n type: \"address[]\"\n },\n {\n internalType: \"bytes[]\",\n name: \"func\",\n type: \"bytes[]\"\n },\n ],\n name: \"executeBatch\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getDeposit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"anOwner\",\n type: \"address\"\n },\n ],\n name: \"initialize\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"proxiableUUID\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newImplementation\",\n type: \"address\"\n },\n ],\n name: \"upgradeTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newImplementation\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n ],\n name: \"upgradeToAndCall\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"missingAccountFunds\",\n type: \"uint256\"\n },\n ],\n name: \"validateUserOp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawDepositTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n stateMutability: \"payable\",\n type: \"receive\"\n },\n];\nvar _bytecode = \"0x60c03461015a57601f62001ed338819003918201601f19168301916001600160401b0383118484101761015f5780849260209460405283398101031261015a57516001600160a01b038116810361015a573060805260a05260005460ff8160081c166101055760ff808216106100ca575b604051611d5d908162000176823960805181818161032601528181610a460152610c23015260a051818181610548015281816107180152818161080101528181610dcf01528181610ef20152818161187301526118d10152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610070565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806318dfb3c71461011f5780633659cfe6146101165780633a871cdd1461010d5780634a58db19146101045780634d44560d146100fb5780634f1ef286146100f257806352d1902d146100e95780638da5cb5b146100e0578063affed0e0146100d7578063b0d691fe146100ce578063b61d27f6146100c5578063c399ec88146100bc5763c4d66de80361000e576100b7610f75565b61000e565b506100b7610e78565b506100b7610df3565b506100b7610d83565b506100b7610d38565b506100b7610cf8565b506100b7610bdc565b506100b76109c4565b506100b76107a2565b506100b76106d5565b506100b76104dd565b506100b76102d1565b506100b761015e565b9181601f840112156101595782359167ffffffffffffffff8311610159576020808501948460051b01011161015957565b600080fd5b50346101595760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595767ffffffffffffffff600435818111610159576101af903690600401610128565b9091602435908111610159576101c9903690600401610128565b91906101d36118ba565b8282036102555760005b8281106101e657005b8061021a6101ff6101fa600194878a61173f565b61175d565b61021461020d848988611767565b369161098d565b90611c93565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610248575b016101dd565b6102506116df565b610242565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff81160361015957565b50346101595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595760043561030d816102b3565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000000000000000000000000000000000000000000001691610353833014156110d9565b6103827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611164565b61038a611caa565b60405190610397826108cb565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156103d15750506100199150611296565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa600091816104ad575b5061049a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b610019936104a8911461120b565b611382565b6104cf91925060203d81116104d6575b6104c78183610903565b8101906111ef565b9038610410565b503d6104bd565b5034610159577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101595760043567ffffffffffffffff811161015957610160816004019282360301126101595773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036106775761058861057d6024358461196d565b926044830190611620565b9050156105b3575b6105af8261059f604435611671565b6040519081529081906020820190565b0390f35b6024600154916bffffffffffffffffffffffff927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008482169480861461066a575b600186011691161760015501350361060c5738610590565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e6365000000000000000000006044820152fd5b6106726116df565b6105f4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152fd5b506000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261079f5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681813b1561079f57602491604051928380927fb760faf900000000000000000000000000000000000000000000000000000000825230600483015234905af18015610792575b610786575080f35b61078f906108aa565b80f35b61079a6111fe565b61077e565b80fd5b503461015957600060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261079f576004356107e0816102b3565b6107e8611caa565b8173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610876576044908360405195869485937f205c287800000000000000000000000000000000000000000000000000000000855216600484015260243560248401525af1801561079257610786575080f35b8280fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116108be57604052565b6108c661087a565b604052565b6020810190811067ffffffffffffffff8211176108be57604052565b6060810190811067ffffffffffffffff8211176108be57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108be57604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610980575b01160190565b61098861087a565b61097a565b92919261099982610944565b916109a76040519384610903565b829481845281830111610159578281602093846000960137010152565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610159576004356109fb816102b3565b60243567ffffffffffffffff8111610159573660238201121561015957610a2c90369060248160040135910161098d565b9073ffffffffffffffffffffffffffffffffffffffff91827f00000000000000000000000000000000000000000000000000000000000000001692610a73843014156110d9565b610aa27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc948286541614611164565b610aaa611caa565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ae05750506100199150611296565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610bbc575b50610ba9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b61001993610bb7911461120b565b611461565b610bd591925060203d81116104d6576104c78183610903565b9038610b1f565b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610c74576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957602060015460601c604051908152f35b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595760206bffffffffffffffffffffffff60015416604051908152f35b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101595760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957600435610e2f816102b3565b6044359067ffffffffffffffff908183116101595736602384011215610159578260040135918211610159573660248385010111610159576024610019930190602435906116ab565b5034610159576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261079f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610f68575b8291610f2e575b604051828152602090f35b90506020813d8211610f60575b81610f4860209383610903565b81010312610f5c576105af91505138610f23565b5080fd5b3d9150610f3b565b610f706111fe565b610f1c565b50346101595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957600435610fb1816102b3565b61101360005491610fd960ff8460081c1615809481956110cb575b81156110ab575b50611791565b8261100a60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b6110755761181c565b61101957005b6110467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6110a66101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b61181c565b303b159150816110bd575b5038610fd3565b6001915060ff1614386110b6565b600160ff8216109150610fcc565b156110e057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561116b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b90816020910312610159575190565b506040513d6000823e3d90fd5b1561121257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b803b156112fe5773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b9061138c82611296565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611459575b6113db575050565b61145691600080604051936113ef856108e7565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46114506114c1565b91611556565b50565b5060006113d3565b9061146b82611296565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906114b9576113db575050565b5060016113d3565b3d156114ec573d906114d282610944565b916114e06040519384610903565b82523d6000602084013e565b606090565b156114f857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b91929015611579575081511561156a575090565b611576903b15156114f1565b90565b82519091501561158c5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110611609575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016115c8565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610159570180359067ffffffffffffffff82116101595760200191813603831361015957565b806116795750565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506114566114c1565b6116bc60009493859461020d6118ba565b91602083519301915af16116ce6114c1565b90156116d75750565b602081519101fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611750575b60051b0190565b61175861170f565b611749565b35611576816102b3565b909161178092811015611784575b60051b810190611620565b9091565b61178c61170f565b611775565b1561179857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6bffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006001549260601b169116178060015560601c73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de600080a3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314801561195f575b1561190157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e746044820152fd5b5060015460601c33146118fa565b906119f06119e873ffffffffffffffffffffffffffffffffffffffff9260405160208101917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352603c820152603c81526119c7816108e7565b5190206119e261020d60015460601c96610140810190611620565b90611bc2565b919091611a39565b16036119fb57600090565b600190565b60051115611a0a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611a4281611a00565b80611a4a5750565b611a5381611a00565b60018103611aba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b611ac381611a00565b60028103611b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b80611b36600392611a00565b14611b3d57565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608490fd5b906041815114600014611bec57611780916020820151906060604084015193015160001a90611bf6565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611c875791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611c7a575b815173ffffffffffffffffffffffffffffffffffffffff811615611c74579190565b50600190565b611c826111fe565b611c52565b50505050600090600390565b600091829182602083519301915af16116ce6114c1565b60015460601c33148015611d1e575b15611cc057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fd5b50303314611cb956fea2646970667358221220593fa2403beef0636f4ff38625c8e0f27859145384a308b0a9f2e56754fd82f664736f6c63430008110033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar SimpleAccount__factory = /** @class */ (function (_super) {\n __extends(SimpleAccount__factory, _super);\n function SimpleAccount__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n SimpleAccount__factory.prototype.deploy = function (anEntryPoint, overrides) {\n return _super.prototype.deploy.call(this, anEntryPoint, overrides || {});\n };\n SimpleAccount__factory.prototype.getDeployTransaction = function (anEntryPoint, overrides) {\n return _super.prototype.getDeployTransaction.call(this, anEntryPoint, overrides || {});\n };\n SimpleAccount__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n SimpleAccount__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n SimpleAccount__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n SimpleAccount__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n SimpleAccount__factory.bytecode = _bytecode;\n SimpleAccount__factory.abi = _abi;\n return SimpleAccount__factory;\n}(ethers_1.ContractFactory));\nexports.SimpleAccount__factory = SimpleAccount__factory;\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexports.__esModule = true;\nexports.StakeManager__factory = void 0;\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalDeposit\",\n type: \"uint256\"\n },\n ],\n name: \"Deposited\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalStaked\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"unstakeDelaySec\",\n type: \"uint256\"\n },\n ],\n name: \"StakeLocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"withdrawTime\",\n type: \"uint256\"\n },\n ],\n name: \"StakeUnlocked\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"StakeWithdrawn\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"Withdrawn\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"depositTo\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n name: \"deposits\",\n outputs: [\n {\n internalType: \"uint112\",\n name: \"deposit\",\n type: \"uint112\"\n },\n {\n internalType: \"bool\",\n name: \"staked\",\n type: \"bool\"\n },\n {\n internalType: \"uint112\",\n name: \"stake\",\n type: \"uint112\"\n },\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n {\n internalType: \"uint48\",\n name: \"withdrawTime\",\n type: \"uint48\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"getDepositInfo\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint112\",\n name: \"deposit\",\n type: \"uint112\"\n },\n {\n internalType: \"bool\",\n name: \"staked\",\n type: \"bool\"\n },\n {\n internalType: \"uint112\",\n name: \"stake\",\n type: \"uint112\"\n },\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n {\n internalType: \"uint48\",\n name: \"withdrawTime\",\n type: \"uint48\"\n },\n ],\n internalType: \"struct IStakeManager.DepositInfo\",\n name: \"info\",\n type: \"tuple\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"withdrawAmount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n stateMutability: \"payable\",\n type: \"receive\"\n },\n];\nvar StakeManager__factory = /** @class */ (function () {\n function StakeManager__factory() {\n }\n StakeManager__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n StakeManager__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n StakeManager__factory.abi = _abi;\n return StakeManager__factory;\n}());\nexports.StakeManager__factory = StakeManager__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.TokenPaymaster__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"accountFactory\",\n type: \"address\"\n },\n {\n internalType: \"string\",\n name: \"_symbol\",\n type: \"string\"\n },\n {\n internalType: \"contract IEntryPoint\",\n name: \"_entryPoint\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n ],\n name: \"Approval\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n ],\n name: \"Transfer\",\n type: \"event\"\n },\n {\n inputs: [],\n name: \"COST_OF_POST\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\"\n },\n ],\n name: \"allowance\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"approve\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"account\",\n type: \"address\"\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"decimals\",\n outputs: [\n {\n internalType: \"uint8\",\n name: \"\",\n type: \"uint8\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"subtractedValue\",\n type: \"uint256\"\n },\n ],\n name: \"decreaseAllowance\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"deposit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getDeposit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"addedValue\",\n type: \"uint256\"\n },\n ],\n name: \"increaseAllowance\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"mintTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"name\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"enum IPaymaster.PostOpMode\",\n name: \"mode\",\n type: \"uint8\"\n },\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n ],\n name: \"postOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"symbol\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"theFactory\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"totalSupply\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"transfer\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"transferFrom\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"maxCost\",\n type: \"uint256\"\n },\n ],\n name: \"validatePaymasterUserOp\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x60c06040523480156200001157600080fd5b506040516200224438038062002244833981016040819052620000349162000327565b8180826200004233620000a0565b6001600160a01b031660805260046200005c8382620004bc565b5060056200006b8282620004bc565b5050506001600160a01b03831660a05262000088306001620000f0565b620000973033600019620001b9565b505050620005af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200014c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b806003600082825462000160919062000588565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383166200021d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000143565b6001600160a01b038216620002805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000143565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b505050565b6001600160a01b0381168114620002fc57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b80516200032281620002e6565b919050565b6000806000606084860312156200033d57600080fd5b83516200034a81620002e6565b602085810151919450906001600160401b03808211156200036a57600080fd5b818701915087601f8301126200037f57600080fd5b815181811115620003945762000394620002ff565b604051601f8201601f19908116603f01168101908382118183101715620003bf57620003bf620002ff565b816040528281528a86848701011115620003d857600080fd5b600093505b82841015620003fc5784840186015181850187015292850192620003dd565b828411156200040e5760008684830101525b809750505050505050620004256040850162000315565b90509250925092565b600181811c908216806200044357607f821691505b6020821081036200046457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e157600081815260208120601f850160051c81016020861015620004935750805b601f850160051c820191505b81811015620004b4578281556001016200049f565b505050505050565b81516001600160401b03811115620004d857620004d8620002ff565b620004f081620004e984546200042e565b846200046a565b602080601f8311600181146200052857600084156200050f5750858301515b600019600386901b1c1916600185901b178555620004b4565b600085815260208120601f198616915b82811015620005595788860151825594840194600190910190840162000538565b5085821015620005785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008219821115620005aa57634e487b7160e01b600052601160045260246000fd5b500190565b60805160a051611c376200060d6000396000818161039201526116fa015260008181610426015281816105970152818161070b015281816108ea015281816109b101528181610a4101528181610af401526111f80152611c376000f3fe6080604052600436106101a15760003560e01c80639f5ca221116100e1578063c23a5cea1161008a578063dd62ed3e11610064578063dd62ed3e1461049a578063f0dda65c146104ed578063f2fde38b1461050d578063f465c77e1461052d57600080fd5b8063c23a5cea1461045d578063c399ec881461047d578063d0e30db01461049257600080fd5b8063a9a23409116100bb578063a9a23409146103f4578063b0d691fe14610414578063bb9fe6bf1461044857600080fd5b80639f5ca22114610380578063a457c2d7146103b4578063a9059cbb146103d457600080fd5b8063313ce5671161014e578063715018a611610128578063715018a6146102f4578063796d4371146103095780638da5cb5b1461031f57806395d89b411461036b57600080fd5b8063313ce56714610275578063395093511461029157806370a08231146102b157600080fd5b806318160ddd1161017f57806318160ddd14610216578063205c28781461023557806323b872dd1461025557600080fd5b80630396cb60146101a657806306fdde03146101bb578063095ea7b3146101e6575b600080fd5b6101b96101b43660046117a8565b61055b565b005b3480156101c757600080fd5b506101d061060d565b6040516101dd9190611840565b60405180910390f35b3480156101f257600080fd5b50610206610201366004611875565b61069f565b60405190151581526020016101dd565b34801561022257600080fd5b506003545b6040519081526020016101dd565b34801561024157600080fd5b506101b9610250366004611875565b6106b7565b34801561026157600080fd5b506102066102703660046118a1565b61074f565b34801561028157600080fd5b50604051601281526020016101dd565b34801561029d57600080fd5b506102066102ac366004611875565b610773565b3480156102bd57600080fd5b506102276102cc3660046118e2565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b34801561030057600080fd5b506101b96107bf565b34801561031557600080fd5b50610227613a9881565b34801561032b57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b34801561037757600080fd5b506101d06107d3565b34801561038c57600080fd5b506103467f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c057600080fd5b506102066103cf366004611875565b6107e2565b3480156103e057600080fd5b506102066103ef366004611875565b6108b8565b34801561040057600080fd5b506101b961040f3660046118ff565b6108c6565b34801561042057600080fd5b506103467f000000000000000000000000000000000000000000000000000000000000000081565b34801561045457600080fd5b506101b96108e0565b34801561046957600080fd5b506101b96104783660046118e2565b610964565b34801561048957600080fd5b50610227610a10565b6101b9610ac6565b3480156104a657600080fd5b506102276104b536600461198e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b3480156104f957600080fd5b506101b9610508366004611875565b610b4e565b34801561051957600080fd5b506101b96105283660046118e2565b610b64565b34801561053957600080fd5b5061054d6105483660046119c7565b610bcd565b6040516101dd929190611a1b565b610563610bf0565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024016000604051808303818588803b1580156105f157600080fd5b505af1158015610605573d6000803e3d6000fd5b505050505050565b60606004805461061c90611a3d565b80601f016020809104026020016040519081016040528092919081815260200182805461064890611a3d565b80156106955780601f1061066a57610100808354040283529160200191610695565b820191906000526020600020905b81548152906001019060200180831161067857829003601f168201915b5050505050905090565b6000336106ad818585610c71565b5060019392505050565b6106bf610bf0565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b1580156105f157600080fd5b60003361075d858285610e24565b610768858585610ef5565b506001949350505050565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906106ad90829086906107ba908790611a90565b610c71565b6107c7610bf0565b6107d1600061116b565b565b60606005805461061c90611a3d565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156108ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107688286868403610c71565b6000336106ad818585610ef5565b6108ce6111e0565b6108da8484848461127f565b50505050565b6108e8610bf0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561095057600080fd5b505af11580156108da573d6000803e3d6000fd5b61096c610bf0565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b5050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac19190611acf565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024016000604051808303818588803b1580156109f557600080fd5b610b56610bf0565b610b6082826112b2565b5050565b610b6c610bf0565b610b9630610b8f60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000610c71565b610b9f816113a7565b610bca30827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610c71565b50565b60606000610bd96111e0565b610be485858561145b565b91509150935093915050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108a2565b73ffffffffffffffffffffffffffffffffffffffff8316610d13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff8216610db6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600260209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108da5781811015610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108a2565b6108da8484848403610c71565b73ffffffffffffffffffffffffffffffffffffffff8316610f98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff821661103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054818110156110f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061115e9086815260200190565b60405180910390a36108da565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e74000000000000000000000060448201526064016108a2565b600061128d838501856118e2565b905060006112a56112a0613a9885611a90565b6116a4565b9050610605823083610ef5565b73ffffffffffffffffffffffffffffffffffffffff821661132f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108a2565b80600360008282546113419190611a90565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6113af610bf0565b73ffffffffffffffffffffffffffffffffffffffff8116611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108a2565b610bca8161116b565b6060600080611469846116a4565b9050613a988660a0013511611500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f546f6b656e5061796d61737465723a2067617320746f6f206c6f7720666f722060448201527f706f73744f70000000000000000000000000000000000000000000000000000060648201526084016108a2565b61150d6040870187611ae8565b1590506115c15761151d866116b7565b8061152e6102cc60208901896118e2565b10156115bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f546f6b656e5061796d61737465723a206e6f2062616c616e636520287072652d60448201527f637265617465290000000000000000000000000000000000000000000000000060648201526084016108a2565b61163a565b806115d26102cc60208901896118e2565b101561163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f546f6b656e5061796d61737465723a206e6f2062616c616e636500000000000060448201526064016108a2565b61164760208701876118e2565b6040805173ffffffffffffffffffffffffffffffffffffffff909216602083015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529660009650945050505050565b60006116b1606483611b54565b92915050565b60006116c66040830183611ae8565b6116d591601491600091611b8f565b6116de91611bb9565b60601c905073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168114610b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f546f6b656e5061796d61737465723a2077726f6e67206163636f756e7420666160448201527f63746f727900000000000000000000000000000000000000000000000000000060648201526084016108a2565b6000602082840312156117ba57600080fd5b813563ffffffff811681146117ce57600080fd5b9392505050565b6000815180845260005b818110156117fb576020818501810151868301820152016117df565b8181111561180d576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117ce60208301846117d5565b73ffffffffffffffffffffffffffffffffffffffff81168114610bca57600080fd5b6000806040838503121561188857600080fd5b823561189381611853565b946020939093013593505050565b6000806000606084860312156118b657600080fd5b83356118c181611853565b925060208401356118d181611853565b929592945050506040919091013590565b6000602082840312156118f457600080fd5b81356117ce81611853565b6000806000806060858703121561191557600080fd5b84356003811061192457600080fd5b9350602085013567ffffffffffffffff8082111561194157600080fd5b818701915087601f83011261195557600080fd5b81358181111561196457600080fd5b88602082850101111561197657600080fd5b95986020929092019750949560400135945092505050565b600080604083850312156119a157600080fd5b82356119ac81611853565b915060208301356119bc81611853565b809150509250929050565b6000806000606084860312156119dc57600080fd5b833567ffffffffffffffff8111156119f357600080fd5b84016101608187031215611a0657600080fd5b95602085013595506040909401359392505050565b604081526000611a2e60408301856117d5565b90508260208301529392505050565b600181811c90821680611a5157607f821691505b602082108103611a8a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611aca577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b600060208284031215611ae157600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b1d57600080fd5b83018035915067ffffffffffffffff821115611b3857600080fd5b602001915036819003821315611b4d57600080fd5b9250929050565b600082611b8a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008085851115611b9f57600080fd5b83861115611bac57600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611bf95780818660140360031b1b83161692505b50509291505056fea2646970667358221220a332863119321216e5189708c2880dbc64e46a1707c0f292f429daa2c9a7ea3764736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar TokenPaymaster__factory = /** @class */ (function (_super) {\n __extends(TokenPaymaster__factory, _super);\n function TokenPaymaster__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n TokenPaymaster__factory.prototype.deploy = function (accountFactory, _symbol, _entryPoint, overrides) {\n return _super.prototype.deploy.call(this, accountFactory, _symbol, _entryPoint, overrides || {});\n };\n TokenPaymaster__factory.prototype.getDeployTransaction = function (accountFactory, _symbol, _entryPoint, overrides) {\n return _super.prototype.getDeployTransaction.call(this, accountFactory, _symbol, _entryPoint, overrides || {});\n };\n TokenPaymaster__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n TokenPaymaster__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n TokenPaymaster__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n TokenPaymaster__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n TokenPaymaster__factory.bytecode = _bytecode;\n TokenPaymaster__factory.abi = _abi;\n return TokenPaymaster__factory;\n}(ethers_1.ContractFactory));\nexports.TokenPaymaster__factory = TokenPaymaster__factory;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexports.__esModule = true;\nexports.VerifyingPaymaster__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar ethers_1 = require(\"ethers\");\nvar _abi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"_entryPoint\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"_verifyingSigner\",\n type: \"address\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"uint32\",\n name: \"unstakeDelaySec\",\n type: \"uint32\"\n },\n ],\n name: \"addStake\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"deposit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"entryPoint\",\n outputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getDeposit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n ],\n name: \"getHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n ],\n name: \"parsePaymasterAndData\",\n outputs: [\n {\n internalType: \"uint48\",\n name: \"validUntil\",\n type: \"uint48\"\n },\n {\n internalType: \"uint48\",\n name: \"validAfter\",\n type: \"uint48\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"enum IPaymaster.PostOpMode\",\n name: \"mode\",\n type: \"uint8\"\n },\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"actualGasCost\",\n type: \"uint256\"\n },\n ],\n name: \"postOp\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n name: \"senderNonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"unlockStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"initCode\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"callData\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"callGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"verificationGasLimit\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"preVerificationGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"paymasterAndData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\"\n },\n ],\n internalType: \"struct UserOperation\",\n name: \"userOp\",\n type: \"tuple\"\n },\n {\n internalType: \"bytes32\",\n name: \"userOpHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"uint256\",\n name: \"maxCost\",\n type: \"uint256\"\n },\n ],\n name: \"validatePaymasterUserOp\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"context\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"validationData\",\n type: \"uint256\"\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"verifyingSigner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n ],\n name: \"withdrawStake\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"withdrawAddress\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\"\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n];\nvar _bytecode = \"0x60c06040523480156200001157600080fd5b5060405162001723380380620017238339810160408190526200003491620000c2565b81620000403362000059565b6001600160a01b039081166080521660a0525062000101565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000bf57600080fd5b50565b60008060408385031215620000d657600080fd5b8251620000e381620000a9565b6020840151909250620000f681620000a9565b809150509250929050565b60805160a0516115c46200015f6000396000818161013f0152610ca20152600081816102880152818161038601528181610450015281816105730152818161063a015281816106ca0152818161077d0152610a0401526115c46000f3fe6080604052600436106100f35760003560e01c8063a9a234091161008a578063c399ec8811610059578063c399ec88146102df578063d0e30db0146102f4578063f2fde38b146102fc578063f465c77e1461031c57600080fd5b8063a9a2340914610256578063b0d691fe14610276578063bb9fe6bf146102aa578063c23a5cea146102bf57600080fd5b80638da5cb5b116100c65780638da5cb5b146101a057806394d4ad60146101cb57806394e1fc19146101fb5780639c90b4431461022957600080fd5b80630396cb60146100f8578063205c28781461010d57806323d9ac9b1461012d578063715018a61461018b575b600080fd5b61010b610106366004611075565b61034a565b005b34801561011957600080fd5b5061010b6101283660046110c4565b6103fc565b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561019757600080fd5b5061010b610494565b3480156101ac57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610161565b3480156101d757600080fd5b506101eb6101e6366004611132565b6104a8565b6040516101829493929190611174565b34801561020757600080fd5b5061021b610216366004611212565b6104e5565b604051908152602001610182565b34801561023557600080fd5b5061021b610244366004611270565b60016020526000908152604090205481565b34801561026257600080fd5b5061010b61027136600461128d565b61054f565b34801561028257600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b3480156102b657600080fd5b5061010b610569565b3480156102cb57600080fd5b5061010b6102da366004611270565b6105ed565b3480156102eb57600080fd5b5061021b610699565b61010b61074f565b34801561030857600080fd5b5061010b610317366004611270565b6107d7565b34801561032857600080fd5b5061033c6103373660046112ed565b610893565b6040516101829291906113a6565b6103526108b7565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024016000604051808303818588803b1580156103e057600080fd5b505af11580156103f4573d6000803e3d6000fd5b505050505050565b6104046108b7565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b1580156103e057600080fd5b61049c6108b7565b6104a66000610938565b565b60008036816104bb6054601487896113c8565b8101906104c891906113f2565b90945092506104da85605481896113c8565b949793965094505050565b60006104f0846109ad565b73ffffffffffffffffffffffffffffffffffffffff8535166000908152600160209081526040918290205491516105309392469230928991899101611425565b6040516020818303038152906040528051906020012090509392505050565b6105576109ec565b61056384848484610a8b565b50505050565b6105716108b7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d957600080fd5b505af1158015610563573d6000803e3d6000fd5b6105f56108b7565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b15801561067e57600080fd5b505af1158015610692573d6000803e3d6000fd5b5050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074a9190611482565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024016000604051808303818588803b15801561067e57600080fd5b6107df6108b7565b73ffffffffffffffffffffffffffffffffffffffff8116610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61089081610938565b50565b6060600061089f6109ec565b6108aa858585610aed565b915091505b935093915050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161087e565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60603660006109c061012085018561149b565b915091508360208184030360405194506020810185016040528085528082602087013750505050919050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e740000000000000000000000604482015260640161087e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6d757374206f7665727269646500000000000000000000000000000000000000604482015260640161087e565b6060600080803681610b066101e66101208b018b61149b565b929650909450925090506040811480610b1f5750604181145b610bad57604080517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482015260248101919091527f566572696679696e675061796d61737465723a20696e76616c6964207369676e60448201527f6174757265206c656e67746820696e207061796d6173746572416e6444617461606482015260840161087e565b6000610c10610bbd8b87876104e5565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff8b35166000908152600160205260408120805492935090610c4583611500565b9190505550610c8a8184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d3292505050565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614610d0757610ce860018686610d56565b60405180602001604052806000815250909650965050505050506108af565b610d1360008686610d56565b6040805160208101909152600081529b909a5098505050505050505050565b6000806000610d418585610d8e565b91509150610d4e81610dd3565b509392505050565b600060d08265ffffffffffff16901b60a08465ffffffffffff16901b85610d7e576000610d81565b60015b60ff161717949350505050565b6000808251604103610dc45760208301516040840151606085015160001a610db887828585610f86565b94509450505050610dcc565b506000905060025b9250929050565b6000816004811115610de757610de761155f565b03610def5750565b6001816004811115610e0357610e0361155f565b03610e6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161087e565b6002816004811115610e7e57610e7e61155f565b03610ee5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161087e565b6003816004811115610ef957610ef961155f565b03610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161087e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610fbd575060009050600361106c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611011573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166110655760006001925092505061106c565b9150600090505b94509492505050565b60006020828403121561108757600080fd5b813563ffffffff8116811461109b57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089057600080fd5b600080604083850312156110d757600080fd5b82356110e2816110a2565b946020939093013593505050565b60008083601f84011261110257600080fd5b50813567ffffffffffffffff81111561111a57600080fd5b602083019150836020828501011115610dcc57600080fd5b6000806020838503121561114557600080fd5b823567ffffffffffffffff81111561115c57600080fd5b611168858286016110f0565b90969095509350505050565b600065ffffffffffff8087168352808616602084015250606060408301528260608301528284608084013760006080848401015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116830101905095945050505050565b600061016082840312156111f157600080fd5b50919050565b803565ffffffffffff8116811461120d57600080fd5b919050565b60008060006060848603121561122757600080fd5b833567ffffffffffffffff81111561123e57600080fd5b61124a868287016111de565b935050611259602085016111f7565b9150611267604085016111f7565b90509250925092565b60006020828403121561128257600080fd5b813561109b816110a2565b600080600080606085870312156112a357600080fd5b8435600381106112b257600080fd5b9350602085013567ffffffffffffffff8111156112ce57600080fd5b6112da878288016110f0565b9598909750949560400135949350505050565b60008060006060848603121561130257600080fd5b833567ffffffffffffffff81111561131957600080fd5b611325868287016111de565b9660208601359650604090950135949350505050565b6000815180845260005b8181101561136157602081850181015186830182015201611345565b81811115611373576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6040815260006113b9604083018561133b565b90508260208301529392505050565b600080858511156113d857600080fd5b838611156113e557600080fd5b5050820193919092039150565b6000806040838503121561140557600080fd5b61140e836111f7565b915061141c602084016111f7565b90509250929050565b60c08152600061143860c083018961133b565b60208301979097525073ffffffffffffffffffffffffffffffffffffffff949094166040850152606084019290925265ffffffffffff90811660808401521660a090910152919050565b60006020828403121561149457600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114d057600080fd5b83018035915067ffffffffffffffff8211156114eb57600080fd5b602001915036819003821315610dcc57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611558577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212201f0be91b92179d101ae4aa96dcbd313210e5b62f1b15c18338e0acb937cb466a64736f6c634300080f0033\";\nvar isSuperArgs = function (xs) { return xs.length > 1; };\nvar VerifyingPaymaster__factory = /** @class */ (function (_super) {\n __extends(VerifyingPaymaster__factory, _super);\n function VerifyingPaymaster__factory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = this;\n if (isSuperArgs(args)) {\n _this = _super.apply(this, args) || this;\n }\n else {\n _this = _super.call(this, _abi, _bytecode, args[0]) || this;\n }\n return _this;\n }\n VerifyingPaymaster__factory.prototype.deploy = function (_entryPoint, _verifyingSigner, overrides) {\n return _super.prototype.deploy.call(this, _entryPoint, _verifyingSigner, overrides || {});\n };\n VerifyingPaymaster__factory.prototype.getDeployTransaction = function (_entryPoint, _verifyingSigner, overrides) {\n return _super.prototype.getDeployTransaction.call(this, _entryPoint, _verifyingSigner, overrides || {});\n };\n VerifyingPaymaster__factory.prototype.attach = function (address) {\n return _super.prototype.attach.call(this, address);\n };\n VerifyingPaymaster__factory.prototype.connect = function (signer) {\n return _super.prototype.connect.call(this, signer);\n };\n VerifyingPaymaster__factory.createInterface = function () {\n return new ethers_1.utils.Interface(_abi);\n };\n VerifyingPaymaster__factory.connect = function (address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n };\n VerifyingPaymaster__factory.bytecode = _bytecode;\n VerifyingPaymaster__factory.abi = _abi;\n return VerifyingPaymaster__factory;\n}(ethers_1.ContractFactory));\nexports.VerifyingPaymaster__factory = VerifyingPaymaster__factory;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nexports.__esModule = true;\nexports.VerifyingPaymaster__factory = exports.TokenPaymaster__factory = exports.StakeManager__factory = exports.SimpleAccountFactory__factory = exports.SimpleAccount__factory = exports.SenderCreator__factory = exports.MaliciousAccount__factory = exports.IStakeManager__factory = exports.IPaymaster__factory = exports.IEntryPoint__factory = exports.IAggregator__factory = exports.IAccount__factory = exports.EntryPoint__factory = exports.DepositPaymaster__factory = exports.BrokenBLSAccountFactory__factory = exports.BrokenBLSAccount__factory = exports.BasePaymaster__factory = exports.BaseAccount__factory = void 0;\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nvar BaseAccount__factory_1 = require(\"./BaseAccount__factory\");\n__createBinding(exports, BaseAccount__factory_1, \"BaseAccount__factory\");\nvar BasePaymaster__factory_1 = require(\"./BasePaymaster__factory\");\n__createBinding(exports, BasePaymaster__factory_1, \"BasePaymaster__factory\");\nvar BrokenBLSAccount__factory_1 = require(\"./BrokenBLSAccount__factory\");\n__createBinding(exports, BrokenBLSAccount__factory_1, \"BrokenBLSAccount__factory\");\nvar BrokenBLSAccountFactory__factory_1 = require(\"./BrokenBLSAccountFactory__factory\");\n__createBinding(exports, BrokenBLSAccountFactory__factory_1, \"BrokenBLSAccountFactory__factory\");\nvar DepositPaymaster__factory_1 = require(\"./DepositPaymaster__factory\");\n__createBinding(exports, DepositPaymaster__factory_1, \"DepositPaymaster__factory\");\nvar EntryPoint__factory_1 = require(\"./EntryPoint__factory\");\n__createBinding(exports, EntryPoint__factory_1, \"EntryPoint__factory\");\nvar IAccount__factory_1 = require(\"./IAccount__factory\");\n__createBinding(exports, IAccount__factory_1, \"IAccount__factory\");\nvar IAggregator__factory_1 = require(\"./IAggregator__factory\");\n__createBinding(exports, IAggregator__factory_1, \"IAggregator__factory\");\nvar IEntryPoint__factory_1 = require(\"./IEntryPoint__factory\");\n__createBinding(exports, IEntryPoint__factory_1, \"IEntryPoint__factory\");\nvar IPaymaster__factory_1 = require(\"./IPaymaster__factory\");\n__createBinding(exports, IPaymaster__factory_1, \"IPaymaster__factory\");\nvar IStakeManager__factory_1 = require(\"./IStakeManager__factory\");\n__createBinding(exports, IStakeManager__factory_1, \"IStakeManager__factory\");\nvar MaliciousAccount__factory_1 = require(\"./MaliciousAccount__factory\");\n__createBinding(exports, MaliciousAccount__factory_1, \"MaliciousAccount__factory\");\nvar SenderCreator__factory_1 = require(\"./SenderCreator__factory\");\n__createBinding(exports, SenderCreator__factory_1, \"SenderCreator__factory\");\nvar SimpleAccount__factory_1 = require(\"./SimpleAccount__factory\");\n__createBinding(exports, SimpleAccount__factory_1, \"SimpleAccount__factory\");\nvar SimpleAccountFactory__factory_1 = require(\"./SimpleAccountFactory__factory\");\n__createBinding(exports, SimpleAccountFactory__factory_1, \"SimpleAccountFactory__factory\");\nvar StakeManager__factory_1 = require(\"./StakeManager__factory\");\n__createBinding(exports, StakeManager__factory_1, \"StakeManager__factory\");\nvar TokenPaymaster__factory_1 = require(\"./TokenPaymaster__factory\");\n__createBinding(exports, TokenPaymaster__factory_1, \"TokenPaymaster__factory\");\nvar VerifyingPaymaster__factory_1 = require(\"./VerifyingPaymaster__factory\");\n__createBinding(exports, VerifyingPaymaster__factory_1, \"VerifyingPaymaster__factory\");\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nexports.__esModule = true;\nexports.VerifyingPaymaster__factory = exports.TokenPaymaster__factory = exports.StakeManager__factory = exports.SimpleAccountFactory__factory = exports.SimpleAccount__factory = exports.SenderCreator__factory = exports.MaliciousAccount__factory = exports.IStakeManager__factory = exports.IPaymaster__factory = exports.IEntryPoint__factory = exports.IAggregator__factory = exports.IAccount__factory = exports.EntryPoint__factory = exports.DepositPaymaster__factory = exports.BrokenBLSAccountFactory__factory = exports.BrokenBLSAccount__factory = exports.BasePaymaster__factory = exports.BaseAccount__factory = exports.factories = void 0;\nexports.factories = require(\"./factories\");\nvar BaseAccount__factory_1 = require(\"./factories/BaseAccount__factory\");\n__createBinding(exports, BaseAccount__factory_1, \"BaseAccount__factory\");\nvar BasePaymaster__factory_1 = require(\"./factories/BasePaymaster__factory\");\n__createBinding(exports, BasePaymaster__factory_1, \"BasePaymaster__factory\");\nvar BrokenBLSAccount__factory_1 = require(\"./factories/BrokenBLSAccount__factory\");\n__createBinding(exports, BrokenBLSAccount__factory_1, \"BrokenBLSAccount__factory\");\nvar BrokenBLSAccountFactory__factory_1 = require(\"./factories/BrokenBLSAccountFactory__factory\");\n__createBinding(exports, BrokenBLSAccountFactory__factory_1, \"BrokenBLSAccountFactory__factory\");\nvar DepositPaymaster__factory_1 = require(\"./factories/DepositPaymaster__factory\");\n__createBinding(exports, DepositPaymaster__factory_1, \"DepositPaymaster__factory\");\nvar EntryPoint__factory_1 = require(\"./factories/EntryPoint__factory\");\n__createBinding(exports, EntryPoint__factory_1, \"EntryPoint__factory\");\nvar IAccount__factory_1 = require(\"./factories/IAccount__factory\");\n__createBinding(exports, IAccount__factory_1, \"IAccount__factory\");\nvar IAggregator__factory_1 = require(\"./factories/IAggregator__factory\");\n__createBinding(exports, IAggregator__factory_1, \"IAggregator__factory\");\nvar IEntryPoint__factory_1 = require(\"./factories/IEntryPoint__factory\");\n__createBinding(exports, IEntryPoint__factory_1, \"IEntryPoint__factory\");\nvar IPaymaster__factory_1 = require(\"./factories/IPaymaster__factory\");\n__createBinding(exports, IPaymaster__factory_1, \"IPaymaster__factory\");\nvar IStakeManager__factory_1 = require(\"./factories/IStakeManager__factory\");\n__createBinding(exports, IStakeManager__factory_1, \"IStakeManager__factory\");\nvar MaliciousAccount__factory_1 = require(\"./factories/MaliciousAccount__factory\");\n__createBinding(exports, MaliciousAccount__factory_1, \"MaliciousAccount__factory\");\nvar SenderCreator__factory_1 = require(\"./factories/SenderCreator__factory\");\n__createBinding(exports, SenderCreator__factory_1, \"SenderCreator__factory\");\nvar SimpleAccount__factory_1 = require(\"./factories/SimpleAccount__factory\");\n__createBinding(exports, SimpleAccount__factory_1, \"SimpleAccount__factory\");\nvar SimpleAccountFactory__factory_1 = require(\"./factories/SimpleAccountFactory__factory\");\n__createBinding(exports, SimpleAccountFactory__factory_1, \"SimpleAccountFactory__factory\");\nvar StakeManager__factory_1 = require(\"./factories/StakeManager__factory\");\n__createBinding(exports, StakeManager__factory_1, \"StakeManager__factory\");\nvar TokenPaymaster__factory_1 = require(\"./factories/TokenPaymaster__factory\");\n__createBinding(exports, TokenPaymaster__factory_1, \"TokenPaymaster__factory\");\nvar VerifyingPaymaster__factory_1 = require(\"./factories/VerifyingPaymaster__factory\");\n__createBinding(exports, VerifyingPaymaster__factory_1, \"VerifyingPaymaster__factory\");\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* > */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* */\n(Component\n/*: React.AbstractComponent */\n)\n/*: React.AbstractComponent<$Diff> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-5486c51c.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-5486c51c.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx\n/*: typeof React.createElement */\n= function jsx\n/*: typeof React.createElement */\n(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global\n/*: React.AbstractComponent<\nGlobalProps\n> */\n= /* #__PURE__ */withEmotionCache(function (props\n/*: GlobalProps */\n, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node\n /*: HTMLStyleElement | null*/\n = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n/* import type { Interpolation, SerializedStyles } from '@emotion/utils' */\n\nfunction css()\n/*: SerializedStyles */\n{\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\n/*\ntype Keyframes = {|\n name: string,\n styles: string,\n anim: 1,\n toString: () => string\n|} & string\n*/\n\nvar keyframes = function\n /*: Keyframes */\nkeyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\n/*\ntype ClassNameArg =\n | string\n | boolean\n | { [key: string]: boolean }\n | Array\n | null\n | void\n*/\n\nvar classnames = function\n /*: string */\nclassnames(args\n/*: Array */\n) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered\n/*: Object */\n, css\n/*: (...args: Array) => string */\n, className\n/*: string */\n) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n/*\ntype Props = {\n children: ({\n css: (...args: any) => string,\n cx: (...args: Array) => string,\n theme: Object\n }) => React.Node\n} */\n\n\nvar ClassNames\n/*: React.AbstractComponent*/\n= /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n }\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","export const version = \"abi/5.7.0\";\n","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { hexZeroPad } from \"@ethersproject/bytes\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class AddressCoder extends Coder {\n\n constructor(localName: string) {\n super(\"address\", \"address\", localName, false);\n }\n\n defaultValue(): string {\n return \"0x0000000000000000000000000000000000000000\";\n }\n\n encode(writer: Writer, value: string): number {\n try {\n value = getAddress(value)\n } catch (error) {\n this._throwError(error.message, value);\n }\n return writer.writeValue(value);\n }\n\n decode(reader: Reader): any {\n return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));\n }\n}\n\n","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\n// Clones the functionality of an existing Coder, but without a localName\nexport class AnonymousCoder extends Coder {\n private coder: Coder;\n\n constructor(coder: Coder) {\n super(coder.name, coder.type, undefined, coder.dynamic);\n this.coder = coder;\n }\n\n defaultValue(): any {\n return this.coder.defaultValue();\n }\n\n encode(writer: Writer, value: any): number {\n return this.coder.encode(writer, value);\n }\n\n decode(reader: Reader): any {\n return this.coder.decode(reader);\n }\n}\n","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\n\nimport { Coder, Reader, Result, Writer } from \"./abstract-coder\";\nimport { AnonymousCoder } from \"./anonymous\";\n\nexport function pack(writer: Writer, coders: ReadonlyArray, values: Array | { [ name: string ]: any }): number {\n let arrayValues: Array = null;\n\n if (Array.isArray(values)) {\n arrayValues = values;\n\n } else if (values && typeof(values) === \"object\") {\n let unique: { [ name: string ]: boolean } = { };\n\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n if (!name) {\n logger.throwError(\"cannot encode object for signature with missing names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n\n if (unique[name]) {\n logger.throwError(\"cannot encode object for signature with duplicate names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n\n unique[name] = true;\n\n return values[name];\n });\n\n } else {\n logger.throwArgumentError(\"invalid tuple value\", \"tuple\", values);\n }\n\n if (coders.length !== arrayValues.length) {\n logger.throwArgumentError(\"types/value length mismatch\", \"tuple\", values);\n }\n\n let staticWriter = new Writer(writer.wordSize);\n let dynamicWriter = new Writer(writer.wordSize);\n\n let updateFuncs: Array<(baseOffset: number) => void> = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset: number) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n\n } else {\n coder.encode(staticWriter, value);\n }\n });\n\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\n\nexport function unpack(reader: Reader, coders: Array): Result {\n let values: any = [];\n\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n\n coders.forEach((coder) => {\n let value: any = null;\n\n if (coder.dynamic) {\n let offset = reader.readValue();\n let offsetReader = baseReader.subReader(offset.toNumber());\n try {\n value = coder.decode(offsetReader);\n } catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n\n } else {\n try {\n value = coder.decode(reader);\n } catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n\n if (value != undefined) {\n values.push(value);\n }\n });\n\n // We only output named properties for uniquely named coders\n const uniqueNames = coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) { accum[name] = 0; }\n accum[name]++;\n }\n return accum;\n }, <{ [ name: string ]: number }>{ });\n\n // Add any named parameters (i.e. tuples)\n coders.forEach((coder: Coder, index: number) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) { return; }\n\n if (name === \"length\") { name = \"_length\"; }\n\n if (values[name] != null) { return; }\n\n const value = values[index];\n\n if (value instanceof Error) {\n Object.defineProperty(values, name, {\n enumerable: true,\n get: () => { throw value; }\n });\n } else {\n values[name] = value;\n }\n });\n\n for (let i = 0; i < values.length; i++) {\n const value = values[i];\n if (value instanceof Error) {\n Object.defineProperty(values, i, {\n enumerable: true,\n get: () => { throw value; }\n });\n }\n }\n\n return Object.freeze(values);\n}\n\n\nexport class ArrayCoder extends Coder {\n readonly coder: Coder;\n readonly length: number;\n\n constructor(coder: Coder, length: number, localName: string) {\n const type = (coder.type + \"[\" + (length >= 0 ? length: \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n\n this.coder = coder;\n this.length = length;\n }\n\n defaultValue(): Array {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n\n const result: Array = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n\n encode(writer: Writer, value: Array): number {\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n\n let count = this.length;\n\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n\n logger.checkArgumentCount(value.length, count, \"coder array\" + (this.localName? (\" \"+ this.localName): \"\"));\n\n let coders = [];\n for (let i = 0; i < value.length; i++) { coders.push(this.coder); }\n\n return pack(writer, coders, value);\n }\n\n decode(reader: Reader): any {\n let count = this.length;\n if (count === -1) {\n count = reader.readValue().toNumber();\n\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n if (count * 32 > reader._data.length) {\n logger.throwError(\"insufficient data length\", Logger.errors.BUFFER_OVERRUN, {\n length: reader._data.length,\n count: count\n });\n }\n }\n let coders = [];\n for (let i = 0; i < count; i++) { coders.push(new AnonymousCoder(this.coder)); }\n\n return reader.coerce(this.name, unpack(reader, coders));\n }\n}\n\n","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class BooleanCoder extends Coder {\n\n constructor(localName: string) {\n super(\"bool\", \"bool\", localName, false);\n }\n\n defaultValue(): boolean {\n return false;\n }\n\n encode(writer: Writer, value: boolean): number {\n return writer.writeValue(value ? 1: 0);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.type, !reader.readValue().isZero());\n }\n}\n\n","\"use strict\";\n\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class DynamicBytesCoder extends Coder {\n constructor(type: string, localName: string) {\n super(type, type, localName, true);\n }\n\n defaultValue(): string {\n return \"0x\";\n }\n\n encode(writer: Writer, value: any): number {\n value = arrayify(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n\n decode(reader: Reader): any {\n return reader.readBytes(reader.readValue().toNumber(), true);\n }\n}\n\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName: string) {\n super(\"bytes\", localName);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.name, hexlify(super.decode(reader)));\n }\n}\n\n\n","\"use strict\";\n\nimport { arrayify, BytesLike, hexlify } from \"@ethersproject/bytes\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\n// @TODO: Merge this with bytes\nexport class FixedBytesCoder extends Coder {\n readonly size: number;\n\n constructor(size: number, localName: string) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n this.size = size;\n }\n\n defaultValue(): string {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n\n encode(writer: Writer, value: BytesLike): number {\n let data = arrayify(value);\n if (data.length !== this.size) { this._throwError(\"incorrect data length\", value); }\n return writer.writeBytes(data);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.name, hexlify(reader.readBytes(this.size)));\n }\n}\n","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class NullCoder extends Coder {\n\n constructor(localName: string) {\n super(\"null\", \"\", localName, false);\n }\n\n defaultValue(): null {\n return null;\n }\n\n encode(writer: Writer, value: any): number {\n if (value != null) { this._throwError(\"not null\", value); }\n return writer.writeBytes([ ]);\n }\n\n decode(reader: Reader): any {\n reader.readBytes(0);\n return reader.coerce(this.name, null);\n }\n}\n","\"use strict\";\n\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { MaxUint256, NegativeOne, One, Zero } from \"@ethersproject/constants\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class NumberCoder extends Coder {\n readonly size: number;\n readonly signed: boolean;\n\n constructor(size: number, signed: boolean, localName: string) {\n const name = ((signed ? \"int\": \"uint\") + (size * 8));\n super(name, name, localName, false);\n\n this.size = size;\n this.signed = signed;\n }\n\n defaultValue(): number {\n return 0;\n }\n\n encode(writer: Writer, value: BigNumberish): number {\n let v = BigNumber.from(value);\n\n // Check bounds are safe for encoding\n let maxUintValue = MaxUint256.mask(writer.wordSize * 8);\n if (this.signed) {\n let bounds = maxUintValue.mask(this.size * 8 - 1);\n if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n } else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n\n v = v.toTwos(this.size * 8).mask(this.size * 8);\n\n if (this.signed) {\n v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);\n }\n\n return writer.writeValue(v);\n }\n\n decode(reader: Reader): any {\n let value = reader.readValue().mask(this.size * 8);\n\n if (this.signed) {\n value = value.fromTwos(this.size * 8);\n }\n\n return reader.coerce(this.name, value);\n }\n}\n\n","\"use strict\";\n\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\n\nimport { Reader, Writer } from \"./abstract-coder\";\nimport { DynamicBytesCoder } from \"./bytes\";\n\nexport class StringCoder extends DynamicBytesCoder {\n\n constructor(localName: string) {\n super(\"string\", localName);\n }\n\n defaultValue(): string {\n return \"\";\n }\n\n encode(writer: Writer, value: any): number {\n return super.encode(writer, toUtf8Bytes(value));\n }\n\n decode(reader: Reader): any {\n return toUtf8String(super.decode(reader));\n }\n}\n","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\nimport { pack, unpack } from \"./array\";\n\nexport class TupleCoder extends Coder {\n readonly coders: Array;\n\n constructor(coders: Array, localName: string) {\n let dynamic = false;\n const types: Array = [];\n coders.forEach((coder) => {\n if (coder.dynamic) { dynamic = true; }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n\n super(\"tuple\", type, localName, dynamic);\n this.coders = coders;\n }\n\n defaultValue(): any {\n const values: any = [ ];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) { accum[name] = 0; }\n accum[name]++;\n }\n return accum;\n }, <{ [ name: string ]: number }>{ });\n\n // Add named values\n this.coders.forEach((coder: Coder, index: number) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) { return; }\n\n if (name === \"length\") { name = \"_length\"; }\n\n if (values[name] != null) { return; }\n\n values[name] = values[index];\n });\n\n return Object.freeze(values);\n }\n\n encode(writer: Writer, value: Array | { [ name: string ]: any }): number {\n return pack(writer, this.coders, value);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.name, unpack(reader, this.coders));\n }\n}\n\n","\"use strict\";\n\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { Coder, Reader, Result, Writer } from \"./coders/abstract-coder\";\nimport { AddressCoder } from \"./coders/address\";\nimport { ArrayCoder } from \"./coders/array\";\nimport { BooleanCoder } from \"./coders/boolean\";\nimport { BytesCoder } from \"./coders/bytes\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes\";\nimport { NullCoder } from \"./coders/null\";\nimport { NumberCoder } from \"./coders/number\";\nimport { StringCoder } from \"./coders/string\";\nimport { TupleCoder } from \"./coders/tuple\";\n\nimport { ParamType } from \"./fragments\";\n\n\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\n\n\nexport type CoerceFunc = (type: string, value: any) => any;\n\nexport class AbiCoder {\n readonly coerceFunc: CoerceFunc;\n\n constructor(coerceFunc?: CoerceFunc) {\n defineReadOnly(this, \"coerceFunc\", coerceFunc || null);\n }\n\n _getCoder(param: ParamType): Coder {\n\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"array\":\n return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);\n case \"tuple\":\n return new TupleCoder((param.components || []).map((component) => {\n return this._getCoder(component);\n }), param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size === 0 || size > 256 || (size % 8) !== 0) {\n logger.throwArgumentError(\"invalid \" + match[1] + \" bit length\", \"param\", param);\n }\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n if (size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes length\", \"param\", param);\n }\n return new FixedBytesCoder(size, param.name);\n }\n\n return logger.throwArgumentError(\"invalid type\", \"type\", param.type);\n }\n\n _getWordSize(): number { return 32; }\n\n _getReader(data: Uint8Array, allowLoose?: boolean): Reader {\n return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);\n }\n\n _getWriter(): Writer {\n return new Writer(this._getWordSize());\n }\n\n getDefaultValue(types: ReadonlyArray): Result {\n const coders: Array = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n\n encode(types: ReadonlyArray, values: ReadonlyArray): string {\n if (types.length !== values.length) {\n logger.throwError(\"types/values length mismatch\", Logger.errors.INVALID_ARGUMENT, {\n count: { types: types.length, values: values.length },\n value: { types: types, values: values }\n });\n }\n\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n\n const writer = this._getWriter();\n coder.encode(writer, values);\n return writer.data;\n }\n\n decode(types: ReadonlyArray, data: BytesLike, loose?: boolean): Result {\n const coders: Array = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(this._getReader(arrayify(data), loose));\n }\n}\n\nexport const defaultAbiCoder: AbiCoder = new AbiCoder();\n\n","\"use strict\";\n\nimport { arrayify, BytesLike, concat, hexConcat, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\n\nexport interface Result extends ReadonlyArray {\n readonly [key: string]: any;\n}\n\nexport function checkResultErrors(result: Result): Array<{ path: Array, error: Error }> {\n // Find the first error (if any)\n const errors: Array<{ path: Array, error: Error }> = [ ];\n\n const checkErrors = function(path: Array, object: any): void {\n if (!Array.isArray(object)) { return; }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n\n try {\n checkErrors(childPath, object[key]);\n } catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n }\n checkErrors([ ], result);\n\n return errors;\n\n}\n\nexport type CoerceFunc = (type: string, value: any) => any;\n\nexport abstract class Coder {\n\n // The coder name:\n // - address, uint256, tuple, array, etc.\n readonly name: string;\n\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n readonly type: string;\n\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n readonly localName: string;\n\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n readonly dynamic: boolean;\n\n constructor(name: string, type: string, localName: string, dynamic: boolean) {\n // @TODO: defineReadOnly these\n this.name = name;\n this.type = type;\n this.localName = localName;\n this.dynamic = dynamic;\n }\n\n _throwError(message: string, value: any): void {\n logger.throwArgumentError(message, this.localName, value);\n }\n\n abstract encode(writer: Writer, value: any): number;\n abstract decode(reader: Reader): any;\n\n abstract defaultValue(): any;\n}\n\nexport class Writer {\n readonly wordSize: number;\n\n _data: Array;\n _dataLength: number;\n _padding: Uint8Array;\n\n constructor(wordSize?: number) {\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n this._data = [ ];\n this._dataLength = 0;\n this._padding = new Uint8Array(wordSize);\n }\n\n get data(): string {\n return hexConcat(this._data);\n }\n get length(): number { return this._dataLength; }\n\n _writeData(data: Uint8Array): number {\n this._data.push(data);\n this._dataLength += data.length;\n return data.length;\n }\n\n appendWriter(writer: Writer): number {\n return this._writeData(concat(writer._data));\n }\n\n // Arrayish items; padded on the right to wordSize\n writeBytes(value: BytesLike): number {\n let bytes = arrayify(value);\n const paddingOffset = bytes.length % this.wordSize;\n if (paddingOffset) {\n bytes = concat([ bytes, this._padding.slice(paddingOffset) ])\n }\n return this._writeData(bytes);\n }\n\n _getValue(value: BigNumberish): Uint8Array {\n let bytes = arrayify(BigNumber.from(value));\n if (bytes.length > this.wordSize) {\n logger.throwError(\"value out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this.wordSize,\n offset: bytes.length\n });\n }\n if (bytes.length % this.wordSize) {\n bytes = concat([ this._padding.slice(bytes.length % this.wordSize), bytes ]);\n }\n return bytes;\n }\n\n // BigNumberish items; padded on the left to wordSize\n writeValue(value: BigNumberish): number {\n return this._writeData(this._getValue(value));\n }\n\n writeUpdatableValue(): (value: BigNumberish) => void {\n const offset = this._data.length;\n this._data.push(this._padding);\n this._dataLength += this.wordSize;\n return (value: BigNumberish) => {\n this._data[offset] = this._getValue(value);\n };\n }\n}\n\nexport class Reader {\n readonly wordSize: number;\n readonly allowLoose: boolean;\n\n readonly _data: Uint8Array;\n readonly _coerceFunc: CoerceFunc;\n\n _offset: number;\n\n constructor(data: BytesLike, wordSize?: number, coerceFunc?: CoerceFunc, allowLoose?: boolean) {\n defineReadOnly(this, \"_data\", arrayify(data));\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n defineReadOnly(this, \"_coerceFunc\", coerceFunc);\n defineReadOnly(this, \"allowLoose\", allowLoose);\n\n this._offset = 0;\n }\n\n get data(): string { return hexlify(this._data); }\n get consumed(): number { return this._offset; }\n\n // The default Coerce function\n static coerce(name: string, value: any): any {\n let match = name.match(\"^u?int([0-9]+)$\");\n if (match && parseInt(match[1]) <= 48) { value = value.toNumber(); }\n return value;\n }\n\n coerce(name: string, value: any): any {\n if (this._coerceFunc) { return this._coerceFunc(name, value); }\n return Reader.coerce(name, value);\n }\n\n _peekBytes(offset: number, length: number, loose?: boolean): Uint8Array {\n let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;\n if (this._offset + alignedLength > this._data.length) {\n if (this.allowLoose && loose && this._offset + length <= this._data.length) {\n alignedLength = length;\n } else {\n logger.throwError(\"data out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this._data.length,\n offset: this._offset + alignedLength\n });\n }\n }\n return this._data.slice(this._offset, this._offset + alignedLength)\n }\n\n subReader(offset: number): Reader {\n return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);\n }\n\n readBytes(length: number, loose?: boolean): Uint8Array {\n let bytes = this._peekBytes(0, length, !!loose);\n this._offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n\n readValue(): BigNumber {\n return BigNumber.from(this.readBytes(this.wordSize));\n }\n}\n","\"use strict\";\n\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport interface JsonFragmentType {\n readonly name?: string;\n readonly indexed?: boolean;\n readonly type?: string;\n readonly internalType?: any; // @TODO: in v6 reduce type\n readonly components?: ReadonlyArray;\n}\n\nexport interface JsonFragment {\n readonly name?: string;\n readonly type?: string;\n\n readonly anonymous?: boolean;\n\n readonly payable?: boolean;\n readonly constant?: boolean;\n readonly stateMutability?: string;\n\n readonly inputs?: ReadonlyArray;\n readonly outputs?: ReadonlyArray;\n\n readonly gas?: string;\n};\n\nconst _constructorGuard = { };\n\n// AST Node parser state\ntype ParseState = {\n allowArray?: boolean,\n allowName?: boolean,\n allowParams?: boolean,\n allowType?: boolean,\n readArray?: boolean,\n};\n\n// AST Node\ntype ParseNode = {\n parent?: any,\n type?: string,\n name?: string,\n state?: ParseState,\n indexed?: boolean,\n components?: Array\n};\n\nlet ModifiersBytes: { [ name: string ]: boolean } = { calldata: true, memory: true, storage: true };\nlet ModifiersNest: { [ name: string ]: boolean } = { calldata: true, memory: true };\nfunction checkModifier(type: string, name: string): boolean {\n if (type === \"bytes\" || type === \"string\") {\n if (ModifiersBytes[name]) { return true; }\n } else if (type === \"address\") {\n if (name === \"payable\") { return true; }\n } else if (type.indexOf(\"[\") >= 0 || type === \"tuple\") {\n if (ModifiersNest[name]) { return true; }\n }\n if (ModifiersBytes[name] || name === \"payable\") {\n logger.throwArgumentError(\"invalid modifier\", \"name\", name);\n }\n return false;\n}\n\n// @TODO: Make sure that children of an indexed tuple are marked with a null indexed\nfunction parseParamType(param: string, allowIndexed: boolean): ParseNode {\n\n let originalParam = param;\n function throwError(i: number) {\n logger.throwArgumentError(`unexpected character at position ${ i }`, \"param\", param);\n }\n param = param.replace(/\\s/g, \" \");\n\n function newNode(parent: ParseNode): ParseNode {\n let node: ParseNode = { type: \"\", name: \"\", parent: parent, state: { allowType: true } };\n if (allowIndexed) { node.indexed = false; }\n return node\n }\n\n let parent: ParseNode = { type: \"\", name: \"\", state: { allowType: true } };\n let node = parent;\n\n for (let i = 0; i < param.length; i++) {\n let c = param[i];\n switch (c) {\n case \"(\":\n if (node.state.allowType && node.type === \"\") {\n node.type = \"tuple\";\n } else if (!node.state.allowParams) {\n throwError(i);\n }\n node.state.allowType = false;\n node.type = verifyType(node.type);\n node.components = [ newNode(node) ];\n node = node.components[0];\n break;\n\n case \")\":\n delete node.state;\n\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(i); }\n node.indexed = true;\n node.name = \"\";\n }\n\n if (checkModifier(node.type, node.name)) { node.name = \"\"; }\n\n node.type = verifyType(node.type);\n\n let child = node;\n node = node.parent;\n if (!node) { throwError(i); }\n delete child.parent;\n node.state.allowParams = false;\n node.state.allowName = true;\n node.state.allowArray = true;\n break;\n\n case \",\":\n delete node.state;\n\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(i); }\n node.indexed = true;\n node.name = \"\";\n }\n\n if (checkModifier(node.type, node.name)) { node.name = \"\"; }\n\n node.type = verifyType(node.type);\n\n let sibling: ParseNode = newNode(node.parent);\n //{ type: \"\", name: \"\", parent: node.parent, state: { allowType: true } };\n node.parent.components.push(sibling);\n delete node.parent;\n node = sibling;\n break;\n\n // Hit a space...\n case \" \":\n\n // If reading type, the type is done and may read a param or name\n if (node.state.allowType) {\n if (node.type !== \"\") {\n node.type = verifyType(node.type);\n delete node.state.allowType;\n node.state.allowName = true;\n node.state.allowParams = true;\n }\n }\n\n // If reading name, the name is done\n if (node.state.allowName) {\n if (node.name !== \"\") {\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(i); }\n if (node.indexed) { throwError(i); }\n node.indexed = true;\n node.name = \"\";\n } else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n } else {\n node.state.allowName = false;\n }\n }\n }\n\n break;\n\n case \"[\":\n if (!node.state.allowArray) { throwError(i); }\n\n node.type += c;\n\n node.state.allowArray = false;\n node.state.allowName = false;\n node.state.readArray = true;\n break;\n\n case \"]\":\n if (!node.state.readArray) { throwError(i); }\n\n node.type += c;\n\n node.state.readArray = false;\n node.state.allowArray = true;\n node.state.allowName = true;\n break;\n\n default:\n if (node.state.allowType) {\n node.type += c;\n node.state.allowParams = true;\n node.state.allowArray = true;\n } else if (node.state.allowName) {\n node.name += c;\n delete node.state.allowArray;\n } else if (node.state.readArray) {\n node.type += c;\n } else {\n throwError(i);\n }\n }\n }\n\n if (node.parent) { logger.throwArgumentError(\"unexpected eof\", \"param\", param); }\n\n delete parent.state;\n\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(originalParam.length - 7); }\n if (node.indexed) { throwError(originalParam.length - 7); }\n node.indexed = true;\n node.name = \"\";\n } else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n\n parent.type = verifyType(parent.type);\n\n return parent;\n}\n\nfunction populate(object: any, params: any) {\n for (let key in params) { defineReadOnly(object, key, params[key]); }\n}\n\nexport const FormatTypes: { [ name: string ]: string } = Object.freeze({\n // Bare formatting, as is needed for computing a sighash of an event or function\n sighash: \"sighash\",\n\n // Human-Readable with Minimal spacing and without names (compact human-readable)\n minimal: \"minimal\",\n\n // Human-Readable with nice spacing, including all names\n full: \"full\",\n\n // JSON-format a la Solidity\n json: \"json\"\n});\n\nconst paramTypeArray = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\n\nexport class ParamType {\n\n // The local name of the parameter (of null if unbound)\n readonly name: string;\n\n // The fully qualified type (e.g. \"address\", \"tuple(address)\", \"uint256[3][]\"\n readonly type: string;\n\n // The base type (e.g. \"address\", \"tuple\", \"array\")\n readonly baseType: string;\n\n // Indexable Paramters ONLY (otherwise null)\n readonly indexed: boolean;\n\n // Tuples ONLY: (otherwise null)\n // - sub-components\n readonly components: Array;\n\n // Arrays ONLY: (otherwise null)\n // - length of the array (-1 for dynamic length)\n // - child type\n readonly arrayLength: number;\n readonly arrayChildren: ParamType;\n\n readonly _isParamType: boolean;\n\n constructor(constructorGuard: any, params: any) {\n if (constructorGuard !== _constructorGuard) { logger.throwError(\"use fromString\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new ParamType()\"\n }); }\n populate(this, params);\n\n let match = this.type.match(paramTypeArray);\n if (match) {\n populate(this, {\n arrayLength: parseInt(match[2] || \"-1\"),\n arrayChildren: ParamType.fromObject({\n type: match[1],\n components: this.components\n }),\n baseType: \"array\"\n });\n } else {\n populate(this, {\n arrayLength: null,\n arrayChildren: null,\n baseType: ((this.components != null) ? \"tuple\": this.type)\n });\n }\n\n this._isParamType = true;\n\n Object.freeze(this);\n }\n\n // Format the parameter fragment\n // - sighash: \"(uint256,address)\"\n // - minimal: \"tuple(uint256,address) indexed\"\n // - full: \"tuple(uint256 foo, address bar) indexed baz\"\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n let result: any = {\n type: ((this.baseType === \"tuple\") ? \"tuple\": this.type),\n name: (this.name || undefined)\n };\n if (typeof(this.indexed) === \"boolean\") { result.indexed = this.indexed; }\n if (this.components) {\n result.components = this.components.map((comp) => JSON.parse(comp.format(format)));\n }\n return JSON.stringify(result);\n }\n\n let result = \"\";\n\n // Array\n if (this.baseType === \"array\") {\n result += this.arrayChildren.format(format);\n result += \"[\" + (this.arrayLength < 0 ? \"\": String(this.arrayLength)) + \"]\";\n } else {\n if (this.baseType === \"tuple\") {\n if (format !== FormatTypes.sighash) {\n result += this.type;\n }\n result += \"(\" + this.components.map(\n (comp) => comp.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \")\";\n } else {\n result += this.type;\n }\n }\n\n if (format !== FormatTypes.sighash) {\n if (this.indexed === true) { result += \" indexed\"; }\n if (format === FormatTypes.full && this.name) {\n result += \" \" + this.name;\n }\n }\n\n return result;\n }\n\n static from(value: string | JsonFragmentType | ParamType, allowIndexed?: boolean): ParamType {\n if (typeof(value) === \"string\") {\n return ParamType.fromString(value, allowIndexed);\n }\n return ParamType.fromObject(value);\n }\n\n static fromObject(value: JsonFragmentType | ParamType): ParamType {\n if (ParamType.isParamType(value)) { return value; }\n\n return new ParamType(_constructorGuard, {\n name: (value.name || null),\n type: verifyType(value.type),\n indexed: ((value.indexed == null) ? null: !!value.indexed),\n components: (value.components ? value.components.map(ParamType.fromObject): null)\n });\n }\n\n static fromString(value: string, allowIndexed?: boolean): ParamType {\n function ParamTypify(node: ParseNode): ParamType {\n return ParamType.fromObject({\n name: node.name,\n type: node.type,\n indexed: node.indexed,\n components: node.components\n });\n }\n\n return ParamTypify(parseParamType(value, !!allowIndexed));\n }\n\n static isParamType(value: any): value is ParamType {\n return !!(value != null && value._isParamType);\n }\n};\n\nfunction parseParams(value: string, allowIndex: boolean): Array {\n return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));\n}\n\ntype TypeCheck = { -readonly [ K in keyof T ]: T[K] };\n\ninterface _Fragment {\n readonly type: string;\n readonly name: string;\n readonly inputs: ReadonlyArray;\n}\n\nexport abstract class Fragment {\n\n readonly type: string;\n readonly name: string;\n readonly inputs: Array;\n\n readonly _isFragment: boolean;\n\n constructor(constructorGuard: any, params: any) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use a static from method\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Fragment()\"\n });\n }\n populate(this, params);\n\n this._isFragment = true;\n\n Object.freeze(this);\n }\n\n abstract format(format?: string): string;\n\n static from(value: Fragment | JsonFragment | string): Fragment {\n if (Fragment.isFragment(value)) { return value; }\n\n if (typeof(value) === \"string\") {\n return Fragment.fromString(value);\n }\n\n return Fragment.fromObject(value);\n }\n\n static fromObject(value: Fragment | JsonFragment): Fragment {\n if (Fragment.isFragment(value)) { return value; }\n\n switch (value.type) {\n case \"function\":\n return FunctionFragment.fromObject(value);\n case \"event\":\n return EventFragment.fromObject(value);\n case \"constructor\":\n return ConstructorFragment.fromObject(value);\n case \"error\":\n return ErrorFragment.fromObject(value);\n case \"fallback\":\n case \"receive\":\n // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?\n return null;\n }\n\n return logger.throwArgumentError(\"invalid fragment object\", \"value\", value);\n }\n\n static fromString(value: string): Fragment {\n // Make sure the \"returns\" is surrounded by a space and all whitespace is exactly one space\n value = value.replace(/\\s/g, \" \");\n value = value.replace(/\\(/g, \" (\").replace(/\\)/g, \") \").replace(/\\s+/g, \" \");\n value = value.trim();\n\n if (value.split(\" \")[0] === \"event\") {\n return EventFragment.fromString(value.substring(5).trim());\n } else if (value.split(\" \")[0] === \"function\") {\n return FunctionFragment.fromString(value.substring(8).trim());\n } else if (value.split(\"(\")[0].trim() === \"constructor\") {\n return ConstructorFragment.fromString(value.trim());\n } else if (value.split(\" \")[0] === \"error\") {\n return ErrorFragment.fromString(value.substring(5).trim());\n }\n\n return logger.throwArgumentError(\"unsupported fragment\", \"value\", value);\n }\n\n static isFragment(value: any): value is Fragment {\n return !!(value && value._isFragment);\n }\n}\n\ninterface _EventFragment extends _Fragment {\n readonly anonymous: boolean;\n}\n\nexport class EventFragment extends Fragment {\n readonly anonymous: boolean;\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n\n let result = \"\";\n\n if (format !== FormatTypes.sighash) {\n result += \"event \";\n }\n\n result += this.name + \"(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n if (format !== FormatTypes.sighash) {\n if (this.anonymous) {\n result += \"anonymous \";\n }\n }\n\n return result.trim();\n }\n\n static from(value: EventFragment | JsonFragment | string): EventFragment {\n if (typeof(value) === \"string\") {\n return EventFragment.fromString(value);\n }\n return EventFragment.fromObject(value);\n }\n\n static fromObject(value: JsonFragment | EventFragment): EventFragment {\n if (EventFragment.isEventFragment(value)) { return value; }\n\n if (value.type !== \"event\") {\n logger.throwArgumentError(\"invalid event object\", \"value\", value);\n }\n\n const params: TypeCheck<_EventFragment> = {\n name: verifyIdentifier(value.name),\n anonymous: value.anonymous,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n type: \"event\"\n };\n\n return new EventFragment(_constructorGuard, params);\n }\n\n static fromString(value: string): EventFragment {\n\n let match = value.match(regexParen);\n if (!match) {\n logger.throwArgumentError(\"invalid event string\", \"value\", value);\n }\n\n let anonymous = false;\n match[3].split(\" \").forEach((modifier) => {\n switch(modifier.trim()) {\n case \"anonymous\":\n anonymous = true;\n break;\n case \"\":\n break;\n default:\n logger.warn(\"unknown modifier: \" + modifier);\n }\n });\n\n return EventFragment.fromObject({\n name: match[1].trim(),\n anonymous: anonymous,\n inputs: parseParams(match[2], true),\n type: \"event\"\n });\n }\n\n static isEventFragment(value: any): value is EventFragment {\n return (value && value._isFragment && value.type === \"event\");\n }\n}\n\nfunction parseGas(value: string, params: any): string {\n params.gas = null;\n\n let comps = value.split(\"@\");\n if (comps.length !== 1) {\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid human-readable ABI signature\", \"value\", value);\n }\n if (!comps[1].match(/^[0-9]+$/)) {\n logger.throwArgumentError(\"invalid human-readable ABI signature gas\", \"value\", value);\n }\n params.gas = BigNumber.from(comps[1]);\n return comps[0];\n }\n\n return value;\n}\n\nfunction parseModifiers(value: string, params: any): void {\n params.constant = false;\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n\n value.split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"constant\":\n params.constant = true;\n break;\n case \"payable\":\n params.payable = true;\n params.stateMutability = \"payable\";\n break;\n case \"nonpayable\":\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n break;\n case \"pure\":\n params.constant = true;\n params.stateMutability = \"pure\";\n break;\n case \"view\":\n params.constant = true;\n params.stateMutability = \"view\";\n break;\n case \"external\":\n case \"public\":\n case \"\":\n break;\n default:\n console.log(\"unknown modifier: \" + modifier);\n }\n });\n}\n\ntype StateInputValue = {\n constant?: boolean;\n payable?: boolean;\n stateMutability?: string;\n type?: string;\n};\n\ntype StateOutputValue = {\n constant: boolean;\n payable: boolean;\n stateMutability: string;\n};\n\nfunction verifyState(value: StateInputValue): StateOutputValue {\n let result: any = {\n constant: false,\n payable: true,\n stateMutability: \"payable\"\n };\n\n if (value.stateMutability != null) {\n result.stateMutability = value.stateMutability;\n\n // Set (and check things are consistent) the constant property\n result.constant = (result.stateMutability === \"view\" || result.stateMutability === \"pure\");\n if (value.constant != null) {\n if ((!!value.constant) !== result.constant) {\n logger.throwArgumentError(\"cannot have constant function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n\n // Set (and check things are consistent) the payable property\n result.payable = (result.stateMutability === \"payable\");\n if (value.payable != null) {\n if ((!!value.payable) !== result.payable) {\n logger.throwArgumentError(\"cannot have payable function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n\n } else if (value.payable != null) {\n result.payable = !!value.payable;\n\n // If payable we can assume non-constant; otherwise we can't assume\n if (value.constant == null && !result.payable && value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n\n result.constant = !!value.constant;\n\n if (result.constant) {\n result.stateMutability = \"view\";\n } else {\n result.stateMutability = (result.payable ? \"payable\": \"nonpayable\");\n }\n\n if (result.payable && result.constant) {\n logger.throwArgumentError(\"cannot have constant payable function\", \"value\", value);\n }\n\n } else if (value.constant != null) {\n result.constant = !!value.constant;\n result.payable = !result.constant;\n result.stateMutability = (result.constant ? \"view\": \"payable\");\n\n } else if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n\n return result;\n}\n\ninterface _ConstructorFragment extends _Fragment {\n stateMutability: string;\n payable: boolean;\n gas?: BigNumber;\n}\n\nexport class ConstructorFragment extends Fragment {\n stateMutability: string;\n payable: boolean;\n gas?: BigNumber;\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability: undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber(): undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n\n if (format === FormatTypes.sighash) {\n logger.throwError(\"cannot format a constructor for sighash\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"format(sighash)\"\n });\n }\n\n let result = \"constructor(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n if (this.stateMutability && this.stateMutability !== \"nonpayable\") {\n result += this.stateMutability + \" \";\n }\n\n return result.trim();\n }\n\n static from(value: ConstructorFragment | JsonFragment | string): ConstructorFragment {\n if (typeof(value) === \"string\") {\n return ConstructorFragment.fromString(value);\n }\n return ConstructorFragment.fromObject(value);\n }\n\n static fromObject(value: ConstructorFragment | JsonFragment): ConstructorFragment {\n if (ConstructorFragment.isConstructorFragment(value)) { return value; }\n\n if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor object\", \"value\", value);\n }\n\n let state = verifyState(value);\n if (state.constant) {\n logger.throwArgumentError(\"constructor cannot be constant\", \"value\", value);\n }\n\n const params: TypeCheck<_ConstructorFragment> = {\n name: null,\n type: value.type,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas): null)\n };\n\n return new ConstructorFragment(_constructorGuard, params);\n }\n\n static fromString(value: string): ConstructorFragment {\n let params: any = { type: \"constructor\" };\n\n value = parseGas(value, params);\n\n let parens = value.match(regexParen);\n if (!parens || parens[1].trim() !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor string\", \"value\", value);\n }\n\n params.inputs = parseParams(parens[2].trim(), false);\n\n parseModifiers(parens[3].trim(), params);\n\n return ConstructorFragment.fromObject(params);\n }\n\n static isConstructorFragment(value: any): value is ConstructorFragment {\n return (value && value._isFragment && value.type === \"constructor\");\n }\n}\n\ninterface _FunctionFragment extends _ConstructorFragment {\n constant: boolean;\n outputs?: Array;\n}\n\nexport class FunctionFragment extends ConstructorFragment {\n constant: boolean;\n outputs?: Array;\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability: undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber(): undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n outputs: this.outputs.map((output) => JSON.parse(output.format(format))),\n });\n }\n\n let result = \"\";\n\n if (format !== FormatTypes.sighash) {\n result += \"function \";\n }\n\n result += this.name + \"(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n if (format !== FormatTypes.sighash) {\n if (this.stateMutability) {\n if (this.stateMutability !== \"nonpayable\") {\n result += (this.stateMutability + \" \");\n }\n } else if (this.constant) {\n result += \"view \";\n }\n\n if (this.outputs && this.outputs.length) {\n result += \"returns (\" + this.outputs.map(\n (output) => output.format(format)\n ).join(\", \") + \") \";\n }\n\n if (this.gas != null) {\n result += \"@\" + this.gas.toString() + \" \";\n }\n }\n\n return result.trim();\n }\n\n static from(value: FunctionFragment | JsonFragment | string): FunctionFragment {\n if (typeof(value) === \"string\") {\n return FunctionFragment.fromString(value);\n }\n return FunctionFragment.fromObject(value);\n }\n\n static fromObject(value: FunctionFragment | JsonFragment): FunctionFragment {\n if (FunctionFragment.isFunctionFragment(value)) { return value; }\n\n if (value.type !== \"function\") {\n logger.throwArgumentError(\"invalid function object\", \"value\", value);\n }\n\n let state = verifyState(value);\n\n const params: TypeCheck<_FunctionFragment> = {\n type: value.type,\n name: verifyIdentifier(value.name),\n constant: state.constant,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []),\n outputs: (value.outputs ? value.outputs.map(ParamType.fromObject): [ ]),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas): null)\n };\n\n return new FunctionFragment(_constructorGuard, params);\n }\n\n static fromString(value: string): FunctionFragment {\n let params: any = { type: \"function\" };\n value = parseGas(value, params);\n\n let comps = value.split(\" returns \");\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid function string\", \"value\", value);\n }\n\n let parens = comps[0].match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid function signature\", \"value\", value);\n }\n\n params.name = parens[1].trim();\n if (params.name) { verifyIdentifier(params.name); }\n\n params.inputs = parseParams(parens[2], false);\n\n parseModifiers(parens[3].trim(), params);\n\n // We have outputs\n if (comps.length > 1) {\n let returns = comps[1].match(regexParen);\n if (returns[1].trim() != \"\" || returns[3].trim() != \"\") {\n logger.throwArgumentError(\"unexpected tokens\", \"value\", value);\n }\n params.outputs = parseParams(returns[2], false);\n } else {\n params.outputs = [ ];\n }\n\n return FunctionFragment.fromObject(params);\n }\n\n static isFunctionFragment(value: any): value is FunctionFragment {\n return (value && value._isFragment && value.type === \"function\");\n }\n}\n\n//export class StructFragment extends Fragment {\n//}\n\nfunction checkForbidden(fragment: ErrorFragment): ErrorFragment {\n const sig = fragment.format();\n if (sig === \"Error(string)\" || sig === \"Panic(uint256)\") {\n logger.throwArgumentError(`cannot specify user defined ${ sig } error`, \"fragment\", fragment);\n }\n return fragment;\n}\n\nexport class ErrorFragment extends Fragment {\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n\n let result = \"\";\n\n if (format !== FormatTypes.sighash) {\n result += \"error \";\n }\n\n result += this.name + \"(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n return result.trim();\n }\n\n static from(value: ErrorFragment | JsonFragment | string): ErrorFragment {\n if (typeof(value) === \"string\") {\n return ErrorFragment.fromString(value);\n }\n return ErrorFragment.fromObject(value);\n }\n\n static fromObject(value: ErrorFragment | JsonFragment): ErrorFragment {\n if (ErrorFragment.isErrorFragment(value)) { return value; }\n\n if (value.type !== \"error\") {\n logger.throwArgumentError(\"invalid error object\", \"value\", value);\n }\n\n const params: TypeCheck<_Fragment> = {\n type: value.type,\n name: verifyIdentifier(value.name),\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): [])\n };\n\n return checkForbidden(new ErrorFragment(_constructorGuard, params));\n }\n\n static fromString(value: string): ErrorFragment {\n let params: any = { type: \"error\" };\n\n let parens = value.match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid error signature\", \"value\", value);\n }\n\n params.name = parens[1].trim();\n if (params.name) { verifyIdentifier(params.name); }\n\n params.inputs = parseParams(parens[2], false);\n\n return checkForbidden(ErrorFragment.fromObject(params));\n }\n\n static isErrorFragment(value: any): value is ErrorFragment {\n return (value && value._isFragment && value.type === \"error\");\n }\n}\n\nfunction verifyType(type: string): string {\n\n // These need to be transformed to their full description\n if (type.match(/^uint($|[^1-9])/)) {\n type = \"uint256\" + type.substring(4);\n } else if (type.match(/^int($|[^1-9])/)) {\n type = \"int256\" + type.substring(3);\n }\n\n // @TODO: more verification\n\n return type;\n}\n\n// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234\nconst regexIdentifier = new RegExp(\"^[a-zA-Z$_][a-zA-Z0-9$_]*$\");\nfunction verifyIdentifier(value: string): string {\n if (!value || !value.match(regexIdentifier)) {\n logger.throwArgumentError(`invalid identifier \"${ value }\"`, \"value\", value);\n }\n return value;\n}\n\nconst regexParen = new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");\n\nfunction splitNesting(value: string): Array {\n value = value.trim();\n\n let result = [];\n let accum = \"\";\n let depth = 0;\n for (let offset = 0; offset < value.length; offset++) {\n let c = value[offset];\n if (c === \",\" && depth === 0) {\n result.push(accum);\n accum = \"\";\n } else {\n accum += c;\n if (c === \"(\") {\n depth++;\n } else if (c === \")\") {\n depth--;\n if (depth === -1) {\n logger.throwArgumentError(\"unbalanced parenthesis\", \"value\", value);\n }\n }\n }\n }\n if (accum) { result.push(accum); }\n\n return result;\n}\n\n","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { id } from \"@ethersproject/hash\";\nimport { keccak256 } from \"@ethersproject/keccak256\"\nimport { defineReadOnly, Description, getStatic } from \"@ethersproject/properties\";\n\nimport { AbiCoder, defaultAbiCoder } from \"./abi-coder\";\nimport { checkResultErrors, Result } from \"./coders/abstract-coder\";\nimport { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, ParamType } from \"./fragments\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport { checkResultErrors, Result };\n\nexport class LogDescription extends Description {\n readonly eventFragment: EventFragment;\n readonly name: string;\n readonly signature: string;\n readonly topic: string;\n readonly args: Result\n}\n\nexport class TransactionDescription extends Description {\n readonly functionFragment: FunctionFragment;\n readonly name: string;\n readonly args: Result;\n readonly signature: string;\n readonly sighash: string;\n readonly value: BigNumber;\n}\n\nexport class ErrorDescription extends Description {\n readonly errorFragment: ErrorFragment;\n readonly name: string;\n readonly args: Result;\n readonly signature: string;\n readonly sighash: string;\n}\n\nexport class Indexed extends Description {\n readonly hash: string;\n readonly _isIndexed: boolean;\n\n static isIndexed(value: any): value is Indexed {\n return !!(value && value._isIndexed);\n }\n}\n\nconst BuiltinErrors: Record, name: string, reason?: boolean }> = {\n \"0x08c379a0\": { signature: \"Error(string)\", name: \"Error\", inputs: [ \"string\" ], reason: true },\n \"0x4e487b71\": { signature: \"Panic(uint256)\", name: \"Panic\", inputs: [ \"uint256\" ] }\n}\n\nfunction wrapAccessError(property: string, error: Error): Error {\n const wrap = new Error(`deferred error during ABI decoding triggered accessing ${ property }`);\n (wrap).error = error;\n return wrap;\n}\n\n/*\nfunction checkNames(fragment: Fragment, type: \"input\" | \"output\", params: Array): void {\n params.reduce((accum, param) => {\n if (param.name) {\n if (accum[param.name]) {\n logger.throwArgumentError(`duplicate ${ type } parameter ${ JSON.stringify(param.name) } in ${ fragment.format(\"full\") }`, \"fragment\", fragment);\n }\n accum[param.name] = true;\n }\n return accum;\n }, <{ [ name: string ]: boolean }>{ });\n}\n*/\nexport class Interface {\n readonly fragments: ReadonlyArray;\n\n readonly errors: { [ name: string ]: ErrorFragment };\n readonly events: { [ name: string ]: EventFragment };\n readonly functions: { [ name: string ]: FunctionFragment };\n readonly structs: { [ name: string ]: any };\n\n readonly deploy: ConstructorFragment;\n\n readonly _abiCoder: AbiCoder;\n\n readonly _isInterface: boolean;\n\n constructor(fragments: string | ReadonlyArray) {\n let abi: ReadonlyArray = [ ];\n if (typeof(fragments) === \"string\") {\n abi = JSON.parse(fragments);\n } else {\n abi = fragments;\n }\n\n defineReadOnly(this, \"fragments\", abi.map((fragment) => {\n return Fragment.from(fragment);\n }).filter((fragment) => (fragment != null)));\n\n defineReadOnly(this, \"_abiCoder\", getStatic<() => AbiCoder>(new.target, \"getAbiCoder\")());\n\n defineReadOnly(this, \"functions\", { });\n defineReadOnly(this, \"errors\", { });\n defineReadOnly(this, \"events\", { });\n defineReadOnly(this, \"structs\", { });\n\n // Add all fragments by their signature\n this.fragments.forEach((fragment) => {\n let bucket: { [ name: string ]: Fragment } = null;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n logger.warn(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineReadOnly(this, \"deploy\", fragment);\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.events;\n break;\n case \"error\":\n bucket = this.errors;\n break;\n default:\n return;\n }\n\n let signature = fragment.format();\n if (bucket[signature]) {\n logger.warn(\"duplicate definition - \" + signature);\n return;\n }\n\n bucket[signature] = fragment;\n });\n\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineReadOnly(this, \"deploy\", ConstructorFragment.from({\n payable: false,\n type: \"constructor\"\n }));\n }\n\n defineReadOnly(this, \"_isInterface\", true);\n }\n\n format(format?: string): string | Array {\n if (!format) { format = FormatTypes.full; }\n if (format === FormatTypes.sighash) {\n logger.throwArgumentError(\"interface does not support formatting sighash\", \"format\", format);\n }\n\n const abi = this.fragments.map((fragment) => fragment.format(format));\n\n // We need to re-bundle the JSON fragments a bit\n if (format === FormatTypes.json) {\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n\n return abi;\n }\n\n // Sub-classes can override these to handle other blockchains\n static getAbiCoder(): AbiCoder {\n return defaultAbiCoder;\n }\n\n static getAddress(address: string): string {\n return getAddress(address);\n }\n\n static getSighash(fragment: ErrorFragment | FunctionFragment): string {\n return hexDataSlice(id(fragment.format()), 0, 4);\n }\n\n static getEventTopic(eventFragment: EventFragment): string {\n return id(eventFragment.format());\n }\n\n // Find a function definition by any means necessary (unless it is ambiguous)\n getFunction(nameOrSignatureOrSighash: string): FunctionFragment {\n if (isHexString(nameOrSignatureOrSighash)) {\n for (const name in this.functions) {\n if (nameOrSignatureOrSighash === this.getSighash(name)) {\n return this.functions[name];\n }\n }\n logger.throwArgumentError(\"no matching function\", \"sighash\", nameOrSignatureOrSighash);\n }\n\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.functions).filter((f) => (f.split(\"(\"/* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching function\", \"name\", name);\n } else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching functions\", \"name\", name);\n }\n\n return this.functions[matching[0]];\n }\n\n // Normalize the signature and lookup the function\n const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching function\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n\n // Find an event definition by any means necessary (unless it is ambiguous)\n getEvent(nameOrSignatureOrTopic: string): EventFragment {\n if (isHexString(nameOrSignatureOrTopic)) {\n const topichash = nameOrSignatureOrTopic.toLowerCase();\n for (const name in this.events) {\n if (topichash === this.getEventTopic(name)) {\n return this.events[name];\n }\n }\n logger.throwArgumentError(\"no matching event\", \"topichash\", topichash);\n }\n\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrTopic.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrTopic.trim();\n const matching = Object.keys(this.events).filter((f) => (f.split(\"(\"/* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching event\", \"name\", name);\n } else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching events\", \"name\", name);\n }\n\n return this.events[matching[0]];\n }\n\n // Normalize the signature and lookup the function\n const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching event\", \"signature\", nameOrSignatureOrTopic);\n }\n return result;\n }\n\n // Find a function definition by any means necessary (unless it is ambiguous)\n getError(nameOrSignatureOrSighash: string): ErrorFragment {\n if (isHexString(nameOrSignatureOrSighash)) {\n const getSighash = getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, \"getSighash\");\n for (const name in this.errors) {\n const error = this.errors[name];\n if (nameOrSignatureOrSighash === getSighash(error)) {\n return this.errors[name];\n }\n }\n logger.throwArgumentError(\"no matching error\", \"sighash\", nameOrSignatureOrSighash);\n }\n\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.errors).filter((f) => (f.split(\"(\"/* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching error\", \"name\", name);\n } else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching errors\", \"name\", name);\n }\n\n return this.errors[matching[0]];\n }\n\n // Normalize the signature and lookup the function\n const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching error\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n\n // Get the sighash (the bytes4 selector) used by Solidity to identify a function\n getSighash(fragment: ErrorFragment | FunctionFragment | string): string {\n if (typeof(fragment) === \"string\") {\n try {\n fragment = this.getFunction(fragment);\n } catch (error) {\n try {\n fragment = this.getError(fragment);\n } catch (_) {\n throw error;\n }\n }\n }\n\n return getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, \"getSighash\")(fragment);\n }\n\n // Get the topic (the bytes32 hash) used by Solidity to identify an event\n getEventTopic(eventFragment: EventFragment | string): string {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n return getStatic<(e: EventFragment) => string>(this.constructor, \"getEventTopic\")(eventFragment);\n }\n\n\n _decodeParams(params: ReadonlyArray, data: BytesLike): Result {\n return this._abiCoder.decode(params, data)\n }\n\n _encodeParams(params: ReadonlyArray, values: ReadonlyArray): string {\n return this._abiCoder.encode(params, values)\n }\n\n encodeDeploy(values?: ReadonlyArray): string {\n return this._encodeParams(this.deploy.inputs, values || [ ]);\n }\n\n decodeErrorResult(fragment: ErrorFragment | string, data: BytesLike): Result {\n if (typeof(fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n\n const bytes = arrayify(data);\n\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {\n logger.throwArgumentError(`data signature does not match error ${ fragment.name }.`, \"data\", hexlify(bytes));\n }\n\n return this._decodeParams(fragment.inputs, bytes.slice(4));\n }\n\n encodeErrorResult(fragment: ErrorFragment | string, values?: ReadonlyArray): string {\n if (typeof(fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n\n return hexlify(concat([\n this.getSighash(fragment),\n this._encodeParams(fragment.inputs, values || [ ])\n ]));\n }\n\n // Decode the data for a function call (e.g. tx.data)\n decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): Result {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n const bytes = arrayify(data);\n\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {\n logger.throwArgumentError(`data signature does not match function ${ functionFragment.name }.`, \"data\", hexlify(bytes));\n }\n\n return this._decodeParams(functionFragment.inputs, bytes.slice(4));\n }\n\n // Encode the data for a function call (e.g. tx.data)\n encodeFunctionData(functionFragment: FunctionFragment | string, values?: ReadonlyArray): string {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n return hexlify(concat([\n this.getSighash(functionFragment),\n this._encodeParams(functionFragment.inputs, values || [ ])\n ]));\n }\n\n // Decode the result from a function call (e.g. from eth_call)\n decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n let bytes = arrayify(data);\n\n let reason: string = null;\n let message = \"\";\n let errorArgs: Result = null;\n let errorName: string = null;\n let errorSignature: string = null;\n switch (bytes.length % this._abiCoder._getWordSize()) {\n case 0:\n try {\n return this._abiCoder.decode(functionFragment.outputs, bytes);\n } catch (error) { }\n break;\n\n case 4: {\n const selector = hexlify(bytes.slice(0, 4));\n const builtin = BuiltinErrors[selector];\n if (builtin) {\n errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));\n errorName = builtin.name;\n errorSignature = builtin.signature;\n if (builtin.reason) { reason = errorArgs[0]; }\n if (errorName === \"Error\") {\n message = `; VM Exception while processing transaction: reverted with reason string ${ JSON.stringify(errorArgs[0]) }`;\n } else if (errorName === \"Panic\") {\n message = `; VM Exception while processing transaction: reverted with panic code ${ errorArgs[0] }`;\n }\n } else {\n try {\n const error = this.getError(selector);\n errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));\n errorName = error.name;\n errorSignature = error.format();\n } catch (error) { }\n }\n break;\n }\n }\n\n return logger.throwError(\"call revert exception\" + message, Logger.errors.CALL_EXCEPTION, {\n method: functionFragment.format(),\n data: hexlify(data), errorArgs, errorName, errorSignature, reason\n });\n }\n\n // Encode the result for a function call (e.g. for eth_call)\n encodeFunctionResult(functionFragment: FunctionFragment | string, values?: ReadonlyArray): string {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n return hexlify(this._abiCoder.encode(functionFragment.outputs, values || [ ]));\n }\n\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(eventFragment: EventFragment | string, values: ReadonlyArray): Array> {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n if (values.length > eventFragment.inputs.length) {\n logger.throwError(\"too many arguments for \" + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {\n argument: \"values\",\n value: values\n })\n }\n\n let topics: Array> = [];\n if (!eventFragment.anonymous) { topics.push(this.getEventTopic(eventFragment)); }\n\n const encodeTopic = (param: ParamType, value: any): string => {\n if (param.type === \"string\") {\n return id(value);\n } else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n\n if (param.type === \"bool\" && typeof(value) === \"boolean\") {\n value = (value ? \"0x01\": \"0x00\");\n }\n\n if (param.type.match(/^u?int/)) {\n value = BigNumber.from(value).toHexString();\n }\n\n // Check addresses are valid\n if (param.type === \"address\") { this._abiCoder.encode( [ \"address\" ], [ value ]); }\n return hexZeroPad(hexlify(value), 32);\n };\n\n values.forEach((value, index) => {\n\n let param = (eventFragment).inputs[index];\n\n if (!param.indexed) {\n if (value != null) {\n logger.throwArgumentError(\"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n }\n return;\n }\n\n if (value == null) {\n topics.push(null);\n } else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n } else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n } else {\n topics.push(encodeTopic(param, value));\n }\n });\n\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n\n return topics;\n }\n\n encodeEventLog(eventFragment: EventFragment | string, values: ReadonlyArray): { data: string, topics: Array } {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n const topics: Array = [ ];\n\n const dataTypes: Array = [ ];\n const dataValues: Array = [ ];\n\n if (!eventFragment.anonymous) {\n topics.push(this.getEventTopic(eventFragment));\n }\n\n if (values.length !== eventFragment.inputs.length) {\n logger.throwArgumentError(\"event arguments/values mismatch\", \"values\", values);\n }\n\n eventFragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value))\n } else if (param.type === \"bytes\") {\n topics.push(keccak256(value))\n } else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n } else {\n topics.push(this._abiCoder.encode([ param.type] , [ value ]));\n }\n } else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n\n return {\n data: this._abiCoder.encode(dataTypes , dataValues),\n topics: topics\n };\n }\n\n // Decode a filter for the event and the search criteria\n decodeEventLog(eventFragment: EventFragment | string, data: BytesLike, topics?: ReadonlyArray): Result {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n if (topics != null && !eventFragment.anonymous) {\n let topicHash = this.getEventTopic(eventFragment);\n if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {\n logger.throwError(\"fragment/topic mismatch\", Logger.errors.INVALID_ARGUMENT, { argument: \"topics[0]\", expected: topicHash, value: topics[0] });\n }\n topics = topics.slice(1);\n }\n\n let indexed: Array = [];\n let nonIndexed: Array = [];\n let dynamic: Array = [];\n\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.fromObject({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n } else {\n indexed.push(param);\n dynamic.push(false);\n }\n } else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n\n let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)): null;\n let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);\n\n let result: (Array & { [ key: string ]: any }) = [ ];\n let nonIndexedIndex = 0, indexedIndex = 0;\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (resultIndexed == null) {\n result[index] = new Indexed({ _isIndexed: true, hash: null });\n\n } else if (dynamic[index]) {\n result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });\n\n } else {\n try {\n result[index] = resultIndexed[indexedIndex++];\n } catch (error) {\n result[index] = error;\n }\n }\n } else {\n try {\n result[index] = resultNonIndexed[nonIndexedIndex++];\n } catch (error) {\n result[index] = error;\n }\n }\n\n // Add the keyword argument if named and safe\n if (param.name && result[param.name] == null) {\n const value = result[index];\n\n // Make error named values throw on access\n if (value instanceof Error) {\n Object.defineProperty(result, param.name, {\n enumerable: true,\n get: () => { throw wrapAccessError(`property ${ JSON.stringify(param.name) }`, value); }\n });\n } else {\n result[param.name] = value;\n }\n }\n });\n\n // Make all error indexed values throw on access\n for (let i = 0; i < result.length; i++) {\n const value = result[i];\n if (value instanceof Error) {\n Object.defineProperty(result, i, {\n enumerable: true,\n get: () => { throw wrapAccessError(`index ${ i }`, value); }\n });\n }\n }\n\n return Object.freeze(result);\n }\n\n // Given a transaction, find the matching function fragment (if any) and\n // determine all its properties and call parameters\n parseTransaction(tx: { data: string, value?: BigNumberish }): TransactionDescription {\n let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase())\n\n if (!fragment) { return null; }\n\n return new TransactionDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + tx.data.substring(10)),\n functionFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n value: BigNumber.from(tx.value || \"0\"),\n });\n }\n\n // @TODO\n //parseCallResult(data: BytesLike): ??\n\n // Given an event log, find the matching event fragment (if any) and\n // determine all its properties and values\n parseLog(log: { topics: Array, data: string}): LogDescription {\n let fragment = this.getEvent(log.topics[0]);\n\n if (!fragment || fragment.anonymous) { return null; }\n\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n\n\n return new LogDescription({\n eventFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n topic: this.getEventTopic(fragment),\n args: this.decodeEventLog(fragment, log.data, log.topics)\n });\n }\n\n parseError(data: BytesLike): ErrorDescription {\n const hexData = hexlify(data);\n let fragment = this.getError(hexData.substring(0, 10).toLowerCase())\n\n if (!fragment) { return null; }\n\n return new ErrorDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + hexData.substring(10)),\n errorFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n });\n }\n\n\n /*\n static from(value: Array | string | Interface) {\n if (Interface.isInterface(value)) {\n return value;\n }\n if (typeof(value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n return new Interface(value);\n }\n */\n\n static isInterface(value: any): value is Interface {\n return !!(value && value._isInterface);\n }\n}\n\n","\"use strict\";\n\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { BytesLike, isHexString } from \"@ethersproject/bytes\";\nimport { Network } from \"@ethersproject/networks\";\nimport { Deferrable, Description, defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { AccessListish, Transaction } from \"@ethersproject/transactions\";\nimport { OnceBlockable } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n// Exported Types\n\n\nexport type TransactionRequest = {\n to?: string,\n from?: string,\n nonce?: BigNumberish,\n\n gasLimit?: BigNumberish,\n gasPrice?: BigNumberish,\n\n data?: BytesLike,\n value?: BigNumberish,\n chainId?: number\n\n type?: number;\n accessList?: AccessListish;\n\n maxPriorityFeePerGas?: BigNumberish;\n maxFeePerGas?: BigNumberish;\n\n customData?: Record;\n ccipReadEnabled?: boolean;\n}\n\nexport interface TransactionResponse extends Transaction {\n hash: string;\n\n // Only if a transaction has been mined\n blockNumber?: number,\n blockHash?: string,\n timestamp?: number,\n\n confirmations: number,\n\n // Not optional (as it is in Transaction)\n from: string;\n\n // The raw transaction\n raw?: string,\n\n // This function waits until the transaction has been mined\n wait: (confirmations?: number) => Promise\n};\n\nexport type BlockTag = string | number;\n\nexport interface _Block {\n hash: string;\n parentHash: string;\n number: number;\n\n timestamp: number;\n nonce: string;\n difficulty: number;\n _difficulty: BigNumber;\n\n gasLimit: BigNumber;\n gasUsed: BigNumber;\n\n miner: string;\n extraData: string;\n\n baseFeePerGas?: null | BigNumber;\n}\n\nexport interface Block extends _Block {\n transactions: Array;\n}\n\nexport interface BlockWithTransactions extends _Block {\n transactions: Array;\n}\n\n\nexport interface Log {\n blockNumber: number;\n blockHash: string;\n transactionIndex: number;\n\n removed: boolean;\n\n address: string;\n data: string;\n\n topics: Array;\n\n transactionHash: string;\n logIndex: number;\n}\n\nexport interface TransactionReceipt {\n to: string;\n from: string;\n contractAddress: string,\n transactionIndex: number,\n root?: string,\n gasUsed: BigNumber,\n logsBloom: string,\n blockHash: string,\n transactionHash: string,\n logs: Array,\n blockNumber: number,\n confirmations: number,\n cumulativeGasUsed: BigNumber,\n effectiveGasPrice: BigNumber,\n byzantium: boolean,\n type: number;\n status?: number\n};\n\nexport interface FeeData {\n lastBaseFeePerGas: null | BigNumber;\n maxFeePerGas: null | BigNumber;\n maxPriorityFeePerGas: null | BigNumber;\n gasPrice: null | BigNumber;\n}\n\nexport interface EventFilter {\n address?: string;\n topics?: Array | null>;\n}\n\nexport interface Filter extends EventFilter {\n fromBlock?: BlockTag,\n toBlock?: BlockTag,\n}\n\nexport interface FilterByBlockHash extends EventFilter {\n blockHash?: string;\n}\n\n//export type CallTransactionable = {\n// call(transaction: TransactionRequest): Promise;\n//};\n\nexport abstract class ForkEvent extends Description {\n readonly expiry: number;\n\n readonly _isForkEvent?: boolean;\n\n static isForkEvent(value: any): value is ForkEvent {\n return !!(value && value._isForkEvent);\n }\n}\n\nexport class BlockForkEvent extends ForkEvent {\n readonly blockHash: string;\n\n readonly _isBlockForkEvent?: boolean;\n\n constructor(blockHash: string, expiry?: number) {\n if (!isHexString(blockHash, 32)) {\n logger.throwArgumentError(\"invalid blockHash\", \"blockHash\", blockHash);\n }\n\n super({\n _isForkEvent: true,\n _isBlockForkEvent: true,\n expiry: (expiry || 0),\n blockHash: blockHash\n });\n }\n}\n\nexport class TransactionForkEvent extends ForkEvent {\n readonly hash: string;\n\n readonly _isTransactionOrderForkEvent?: boolean;\n\n constructor(hash: string, expiry?: number) {\n if (!isHexString(hash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"hash\", hash);\n }\n\n super({\n _isForkEvent: true,\n _isTransactionForkEvent: true,\n expiry: (expiry || 0),\n hash: hash\n });\n }\n}\n\nexport class TransactionOrderForkEvent extends ForkEvent {\n readonly beforeHash: string;\n readonly afterHash: string;\n\n constructor(beforeHash: string, afterHash: string, expiry?: number) {\n if (!isHexString(beforeHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"beforeHash\", beforeHash);\n }\n if (!isHexString(afterHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"afterHash\", afterHash);\n }\n\n super({\n _isForkEvent: true,\n _isTransactionOrderForkEvent: true,\n expiry: (expiry || 0),\n beforeHash: beforeHash,\n afterHash: afterHash\n });\n }\n}\n\nexport type EventType = string | Array> | EventFilter | ForkEvent;\n\nexport type Listener = (...args: Array) => void;\n\n///////////////////////////////\n// Exported Abstracts\nexport abstract class Provider implements OnceBlockable {\n\n // Network\n abstract getNetwork(): Promise;\n\n // Latest State\n abstract getBlockNumber(): Promise;\n abstract getGasPrice(): Promise;\n async getFeeData(): Promise {\n const { block, gasPrice } = await resolveProperties({\n block: this.getBlock(\"latest\"),\n gasPrice: this.getGasPrice().catch((error) => {\n // @TODO: Why is this now failing on Calaveras?\n //console.log(error);\n return null;\n })\n });\n\n let lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null;\n\n if (block && block.baseFeePerGas) {\n // We may want to compute this more accurately in the future,\n // using the formula \"check if the base fee is correct\".\n // See: https://eips.ethereum.org/EIPS/eip-1559\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = BigNumber.from(\"1500000000\");\n maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas);\n }\n\n return { lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas, gasPrice };\n }\n\n // Account\n abstract getBalance(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise;\n abstract getTransactionCount(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise;\n abstract getCode(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise ;\n abstract getStorageAt(addressOrName: string | Promise, position: BigNumberish | Promise, blockTag?: BlockTag | Promise): Promise;\n\n // Execution\n abstract sendTransaction(signedTransaction: string | Promise): Promise;\n abstract call(transaction: Deferrable, blockTag?: BlockTag | Promise): Promise;\n abstract estimateGas(transaction: Deferrable): Promise;\n\n // Queries\n abstract getBlock(blockHashOrBlockTag: BlockTag | string | Promise): Promise;\n abstract getBlockWithTransactions(blockHashOrBlockTag: BlockTag | string | Promise): Promise;\n abstract getTransaction(transactionHash: string): Promise;\n abstract getTransactionReceipt(transactionHash: string): Promise;\n\n // Bloom-filter Queries\n abstract getLogs(filter: Filter): Promise>;\n\n // ENS\n abstract resolveName(name: string | Promise): Promise;\n abstract lookupAddress(address: string | Promise): Promise;\n\n // Event Emitter (ish)\n abstract on(eventName: EventType, listener: Listener): Provider;\n abstract once(eventName: EventType, listener: Listener): Provider;\n abstract emit(eventName: EventType, ...args: Array): boolean\n abstract listenerCount(eventName?: EventType): number;\n abstract listeners(eventName?: EventType): Array;\n abstract off(eventName: EventType, listener?: Listener): Provider;\n abstract removeAllListeners(eventName?: EventType): Provider;\n\n // Alias for \"on\"\n addListener(eventName: EventType, listener: Listener): Provider {\n return this.on(eventName, listener);\n }\n\n // Alias for \"off\"\n removeListener(eventName: EventType, listener: Listener): Provider {\n return this.off(eventName, listener);\n }\n\n // @TODO: This *could* be implemented here, but would pull in events...\n abstract waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number): Promise;\n\n readonly _isProvider: boolean;\n\n constructor() {\n logger.checkAbstract(new.target, Provider);\n defineReadOnly(this, \"_isProvider\", true);\n }\n\n static isProvider(value: any): value is Provider {\n return !!(value && value._isProvider);\n }\n\n/*\n static getResolver(network: Network, callable: CallTransactionable, namehash: string): string {\n // No ENS...\n if (!network.ensAddress) {\n errors.throwError(\n \"network does support ENS\",\n errors.UNSUPPORTED_OPERATION,\n { operation: \"ENS\", network: network.name }\n );\n }\n\n // Not a namehash\n if (!isHexString(namehash, 32)) {\n errors.throwArgumentError(\"invalid name hash\", \"namehash\", namehash);\n }\n\n // keccak256(\"resolver(bytes32)\")\n let data = \"0x0178b8bf\" + namehash.substring(2);\n let transaction = { to: network.ensAddress, data: data };\n\n return provider.call(transaction).then((data) => {\n return provider.formatter.callAddress(data);\n });\n }\n\n static resolveNamehash(network: Network, callable: CallTransactionable, namehash: string): string {\n return this.getResolver(network, callable, namehash).then((resolverAddress) => {\n if (!resolverAddress) { return null; }\n\n // keccak256(\"addr(bytes32)\")\n let data = \"0x3b3b57de\" + namehash(name).substring(2);\n let transaction = { to: resolverAddress, data: data };\n return callable.call(transaction).then((data) => {\n return this.formatter.callAddress(data);\n });\n\n })\n }\n*/\n}\n","export const version = \"abstract-provider/5.7.0\";\n","\"use strict\";\n\nimport { BlockTag, FeeData, Provider, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { Bytes, BytesLike } from \"@ethersproject/bytes\";\nimport { Deferrable, defineReadOnly, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst allowedTransactionKeys: Array = [\n \"accessList\", \"ccipReadEnabled\", \"chainId\", \"customData\", \"data\", \"from\", \"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"to\", \"type\", \"value\"\n];\n\nconst forwardErrors = [\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n];\n\n// EIP-712 Typed Data\n// See: https://eips.ethereum.org/EIPS/eip-712\n\nexport interface TypedDataDomain {\n name?: string;\n version?: string;\n chainId?: BigNumberish;\n verifyingContract?: string;\n salt?: BytesLike;\n};\n\nexport interface TypedDataField {\n name: string;\n type: string;\n};\n\n// Sub-classes of Signer may optionally extend this interface to indicate\n// they have a private key available synchronously\nexport interface ExternallyOwnedAccount {\n readonly address: string;\n readonly privateKey: string;\n}\n\n// Sub-Class Notes:\n// - A Signer MUST always make sure, that if present, the \"from\" field\n// matches the Signer, before sending or signing a transaction\n// - A Signer SHOULD always wrap private information (such as a private\n// key or mnemonic) in a function, so that console.log does not leak\n// the data\n\n// @TODO: This is a temporary measure to preserve backwards compatibility\n// In v6, the method on TypedDataSigner will be added to Signer\nexport interface TypedDataSigner {\n _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise;\n}\n\nexport abstract class Signer {\n readonly provider?: Provider;\n\n ///////////////////\n // Sub-classes MUST implement these\n\n // Returns the checksum address\n abstract getAddress(): Promise\n\n // Returns the signed prefixed-message. This MUST treat:\n // - Bytes as a binary message\n // - string as a UTF8-message\n // i.e. \"0x1234\" is a SIX (6) byte string, NOT 2 bytes of data\n abstract signMessage(message: Bytes | string): Promise;\n\n // Signs a transaction and returns the fully serialized, signed transaction.\n // The EXACT transaction MUST be signed, and NO additional properties to be added.\n // - This MAY throw if signing transactions is not supports, but if\n // it does, sentTransaction MUST be overridden.\n abstract signTransaction(transaction: Deferrable): Promise;\n\n // Returns a new instance of the Signer, connected to provider.\n // This MAY throw if changing providers is not supported.\n abstract connect(provider: Provider): Signer;\n\n readonly _isSigner: boolean;\n\n\n ///////////////////\n // Sub-classes MUST call super\n constructor() {\n logger.checkAbstract(new.target, Signer);\n defineReadOnly(this, \"_isSigner\", true);\n }\n\n\n ///////////////////\n // Sub-classes MAY override these\n\n async getBalance(blockTag?: BlockTag): Promise {\n this._checkProvider(\"getBalance\");\n return await this.provider.getBalance(this.getAddress(), blockTag);\n }\n\n async getTransactionCount(blockTag?: BlockTag): Promise {\n this._checkProvider(\"getTransactionCount\");\n return await this.provider.getTransactionCount(this.getAddress(), blockTag);\n }\n\n // Populates \"from\" if unspecified, and estimates the gas for the transaction\n async estimateGas(transaction: Deferrable): Promise {\n this._checkProvider(\"estimateGas\");\n const tx = await resolveProperties(this.checkTransaction(transaction));\n return await this.provider.estimateGas(tx);\n }\n\n // Populates \"from\" if unspecified, and calls with the transaction\n async call(transaction: Deferrable, blockTag?: BlockTag): Promise {\n this._checkProvider(\"call\");\n const tx = await resolveProperties(this.checkTransaction(transaction));\n return await this.provider.call(tx, blockTag);\n }\n\n // Populates all fields in a transaction, signs it and sends it to the network\n async sendTransaction(transaction: Deferrable): Promise {\n this._checkProvider(\"sendTransaction\");\n const tx = await this.populateTransaction(transaction);\n const signedTx = await this.signTransaction(tx);\n return await this.provider.sendTransaction(signedTx);\n }\n\n async getChainId(): Promise {\n this._checkProvider(\"getChainId\");\n const network = await this.provider.getNetwork();\n return network.chainId;\n }\n\n async getGasPrice(): Promise {\n this._checkProvider(\"getGasPrice\");\n return await this.provider.getGasPrice();\n }\n\n async getFeeData(): Promise {\n this._checkProvider(\"getFeeData\");\n return await this.provider.getFeeData();\n }\n\n\n async resolveName(name: string): Promise {\n this._checkProvider(\"resolveName\");\n return await this.provider.resolveName(name);\n }\n\n\n\n // Checks a transaction does not contain invalid keys and if\n // no \"from\" is provided, populates it.\n // - does NOT require a provider\n // - adds \"from\" is not present\n // - returns a COPY (safe to mutate the result)\n // By default called from: (overriding these prevents it)\n // - call\n // - estimateGas\n // - populateTransaction (and therefor sendTransaction)\n checkTransaction(transaction: Deferrable): Deferrable {\n for (const key in transaction) {\n if (allowedTransactionKeys.indexOf(key) === -1) {\n logger.throwArgumentError(\"invalid transaction key: \" + key, \"transaction\", transaction);\n }\n }\n\n const tx = shallowCopy(transaction);\n\n if (tx.from == null) {\n tx.from = this.getAddress();\n\n } else {\n // Make sure any provided address matches this signer\n tx.from = Promise.all([\n Promise.resolve(tx.from),\n this.getAddress()\n ]).then((result) => {\n if (result[0].toLowerCase() !== result[1].toLowerCase()) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n return result[0];\n });\n }\n\n return tx;\n }\n\n // Populates ALL keys for a transaction and checks that \"from\" matches\n // this Signer. Should be used by sendTransaction but NOT by signTransaction.\n // By default called from: (overriding these prevents it)\n // - sendTransaction\n //\n // Notes:\n // - We allow gasPrice for EIP-1559 as long as it matches maxFeePerGas\n async populateTransaction(transaction: Deferrable): Promise {\n\n const tx: Deferrable = await resolveProperties(this.checkTransaction(transaction))\n\n if (tx.to != null) {\n tx.to = Promise.resolve(tx.to).then(async (to) => {\n if (to == null) { return null; }\n const address = await this.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n });\n\n // Prevent this error from causing an UnhandledPromiseException\n tx.to.catch((error) => { });\n }\n\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = (tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null);\n if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) {\n logger.throwArgumentError(\"eip-1559 transaction do not support gasPrice\", \"transaction\", transaction);\n } else if ((tx.type === 0 || tx.type === 1) && hasEip1559) {\n logger.throwArgumentError(\"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"transaction\", transaction);\n }\n\n if ((tx.type === 2 || tx.type == null) && (tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null)) {\n // Fully-formed EIP-1559 transaction (skip getFeeData)\n tx.type = 2;\n\n } else if (tx.type === 0 || tx.type === 1) {\n // Explicit Legacy or EIP-2930 transaction\n\n // Populate missing gasPrice\n if (tx.gasPrice == null) { tx.gasPrice = this.getGasPrice(); }\n\n } else {\n\n // We need to get fee data to determine things\n const feeData = await this.getFeeData();\n\n if (tx.type == null) {\n // We need to auto-detect the intended type of this transaction...\n\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n\n // Upgrade transaction from null to eip-1559\n tx.type = 2;\n\n if (tx.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = tx.gasPrice;\n delete tx.gasPrice;\n tx.maxFeePerGas = gasPrice;\n tx.maxPriorityFeePerGas = gasPrice;\n\n } else {\n // Populate missing fee data\n if (tx.maxFeePerGas == null) { tx.maxFeePerGas = feeData.maxFeePerGas; }\n if (tx.maxPriorityFeePerGas == null) { tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; }\n }\n\n } else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n\n // ...but they are trying to use EIP-1559 properties\n if (hasEip1559) {\n logger.throwError(\"network does not support EIP-1559\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"populateTransaction\"\n });\n }\n\n // Populate missing fee data\n if (tx.gasPrice == null) { tx.gasPrice = feeData.gasPrice; }\n\n // Explicitly set untyped transaction to legacy\n tx.type = 0;\n\n } else {\n // getFeeData has failed us.\n logger.throwError(\"failed to get consistent fee data\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signer.getFeeData\"\n });\n }\n\n } else if (tx.type === 2) {\n // Explicitly using EIP-1559\n\n // Populate missing fee data\n if (tx.maxFeePerGas == null) { tx.maxFeePerGas = feeData.maxFeePerGas; }\n if (tx.maxPriorityFeePerGas == null) { tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; }\n }\n }\n\n if (tx.nonce == null) { tx.nonce = this.getTransactionCount(\"pending\"); }\n\n if (tx.gasLimit == null) {\n tx.gasLimit = this.estimateGas(tx).catch((error) => {\n if (forwardErrors.indexOf(error.code) >= 0) {\n throw error;\n }\n\n return logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n tx: tx\n });\n });\n }\n\n if (tx.chainId == null) {\n tx.chainId = this.getChainId();\n } else {\n tx.chainId = Promise.all([\n Promise.resolve(tx.chainId),\n this.getChainId()\n ]).then((results) => {\n if (results[1] !== 0 && results[0] !== results[1]) {\n logger.throwArgumentError(\"chainId address mismatch\", \"transaction\", transaction);\n }\n return results[0];\n });\n }\n\n return await resolveProperties(tx);\n }\n\n\n ///////////////////\n // Sub-classes SHOULD leave these alone\n\n _checkProvider(operation?: string): void {\n if (!this.provider) { logger.throwError(\"missing provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: (operation || \"_checkProvider\") });\n }\n }\n\n static isSigner(value: any): value is Signer {\n return !!(value && value._isSigner);\n }\n}\n\nexport class VoidSigner extends Signer implements TypedDataSigner {\n readonly address: string;\n\n constructor(address: string, provider?: Provider) {\n super();\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"provider\", provider || null);\n }\n\n getAddress(): Promise {\n return Promise.resolve(this.address);\n }\n\n _fail(message: string, operation: string): Promise {\n return Promise.resolve().then(() => {\n logger.throwError(message, Logger.errors.UNSUPPORTED_OPERATION, { operation: operation });\n });\n }\n\n signMessage(message: Bytes | string): Promise {\n return this._fail(\"VoidSigner cannot sign messages\", \"signMessage\");\n }\n\n signTransaction(transaction: Deferrable): Promise {\n return this._fail(\"VoidSigner cannot sign transactions\", \"signTransaction\");\n }\n\n _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise {\n return this._fail(\"VoidSigner cannot sign typed data\", \"signTypedData\");\n }\n\n connect(provider: Provider): VoidSigner {\n return new VoidSigner(this.address, provider);\n }\n}\n\n","export const version = \"abstract-signer/5.7.0\";\n","export const version = \"address/5.7.0\";\n","\"use strict\";\n\nimport { arrayify, BytesLike, concat, hexDataLength, hexDataSlice, isHexString, stripZeros } from \"@ethersproject/bytes\";\nimport { BigNumber, BigNumberish, _base16To36, _base36To16 } from \"@ethersproject/bignumber\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { encode } from \"@ethersproject/rlp\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction getChecksumAddress(address: string): string {\n if (!isHexString(address, 20)) {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n\n address = address.toLowerCase();\n\n const chars = address.substring(2).split(\"\");\n\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n\n const hashed = arrayify(keccak256(expanded));\n\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n\n return \"0x\" + chars.join(\"\");\n}\n\n// Shims for environments that are missing some required constants and functions\nconst MAX_SAFE_INTEGER: number = 0x1fffffffffffff;\n\nfunction log10(x: number): number {\n if (Math.log10) { return Math.log10(x); }\n return Math.log(x) / Math.LN10;\n}\n\n\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n\n// Create lookup table\nconst ibanLookup: { [character: string]: string } = { };\nfor (let i = 0; i < 10; i++) { ibanLookup[String(i)] = String(i); }\nfor (let i = 0; i < 26; i++) { ibanLookup[String.fromCharCode(65 + i)] = String(10 + i); }\n\n// How many decimal digits can we process? (for 64-bit float, this is 15)\nconst safeDigits = Math.floor(log10(MAX_SAFE_INTEGER));\n\nfunction ibanChecksum(address: string): string {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits){\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) { checksum = \"0\" + checksum; }\n\n return checksum;\n};\n\nexport function getAddress(address: string): string {\n let result = null;\n\n if (typeof(address) !== \"string\") {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n\n // Missing the 0x prefix\n if (address.substring(0, 2) !== \"0x\") { address = \"0x\" + address; }\n\n result = getChecksumAddress(address);\n\n // It is a checksummed address with a bad checksum\n if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {\n logger.throwArgumentError(\"bad address checksum\", \"address\", address);\n }\n\n // Maybe ICAP? (we only support direct mode)\n } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n\n // It is an ICAP address with a bad checksum\n if (address.substring(2, 4) !== ibanChecksum(address)) {\n logger.throwArgumentError(\"bad icap checksum\", \"address\", address);\n }\n\n result = _base36To16(address.substring(4));\n while (result.length < 40) { result = \"0\" + result; }\n result = getChecksumAddress(\"0x\" + result);\n\n } else {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n\n return result;\n}\n\nexport function isAddress(address: string): boolean {\n try {\n getAddress(address);\n return true;\n } catch (error) { }\n return false;\n}\n\nexport function getIcapAddress(address: string): string {\n let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n while (base36.length < 30) { base36 = \"0\" + base36; }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n\n// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed\nexport function getContractAddress(transaction: { from: string, nonce: BigNumberish }) {\n let from: string = null;\n try {\n from = getAddress(transaction.from);\n } catch (error) {\n logger.throwArgumentError(\"missing from address\", \"transaction\", transaction);\n }\n\n const nonce = stripZeros(arrayify(BigNumber.from(transaction.nonce).toHexString()));\n\n return getAddress(hexDataSlice(keccak256(encode([ from, nonce ])), 12));\n}\n\nexport function getCreate2Address(from: string, salt: BytesLike, initCodeHash: BytesLike): string {\n if (hexDataLength(salt) !== 32) {\n logger.throwArgumentError(\"salt must be 32 bytes\", \"salt\", salt);\n }\n if (hexDataLength(initCodeHash) !== 32) {\n logger.throwArgumentError(\"initCodeHash must be 32 bytes\", \"initCodeHash\", initCodeHash);\n }\n return getAddress(hexDataSlice(keccak256(concat([ \"0xff\", getAddress(from), salt, initCodeHash ])), 12))\n}\n","\"use strict\";\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nexport function decode(textData: string): Uint8Array {\n textData = atob(textData);\n const data = [];\n for (let i = 0; i < textData.length; i++) {\n data.push(textData.charCodeAt(i));\n }\n return arrayify(data);\n}\n\nexport function encode(data: BytesLike): string {\n data = arrayify(data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n\n\n","/**\n * var basex = require(\"base-x\");\n *\n * This implementation is heavily based on base-x. The main reason to\n * deviate was to prevent the dependency of Buffer.\n *\n * Contributors:\n *\n * base-x encoding\n * Forked from https://github.com/cryptocoinjs/bs58\n * Originally written by Mike Hearn for BitcoinJ\n * Copyright (c) 2011 Google Inc\n * Ported to JavaScript by Stefan Thomas\n * Merged Buffer refactorings from base58-native by Stephen Pair\n * Copyright (c) 2013 BitPay Inc\n *\n * The MIT License (MIT)\n *\n * Copyright base-x contributors (c) 2016\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n */\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nexport class BaseX {\n readonly alphabet: string;\n readonly base: number;\n\n _alphabetMap: { [ character: string ]: number };\n _leader: string;\n\n constructor(alphabet: string) {\n defineReadOnly(this, \"alphabet\", alphabet);\n defineReadOnly(this, \"base\", alphabet.length);\n\n defineReadOnly(this, \"_alphabetMap\", { });\n defineReadOnly(this, \"_leader\", alphabet.charAt(0));\n\n // pre-compute lookup table\n for (let i = 0; i < alphabet.length; i++) {\n this._alphabetMap[alphabet.charAt(i)] = i;\n }\n }\n\n encode(value: BytesLike): string {\n let source = arrayify(value);\n\n if (source.length === 0) { return \"\"; }\n\n let digits = [ 0 ]\n for (let i = 0; i < source.length; ++i) {\n let carry = source[i];\n for (let j = 0; j < digits.length; ++j) {\n carry += digits[j] << 8;\n digits[j] = carry % this.base;\n carry = (carry / this.base) | 0;\n }\n\n while (carry > 0) {\n digits.push(carry % this.base);\n carry = (carry / this.base) | 0;\n }\n }\n\n let string = \"\"\n\n // deal with leading zeros\n for (let k = 0; source[k] === 0 && k < source.length - 1; ++k) {\n string += this._leader;\n }\n\n // convert digits to a string\n for (let q = digits.length - 1; q >= 0; --q) {\n string += this.alphabet[digits[q]];\n }\n\n return string;\n }\n\n decode(value: string): Uint8Array {\n if (typeof(value) !== \"string\") {\n throw new TypeError(\"Expected String\");\n }\n\n let bytes: Array = [];\n if (value.length === 0) { return new Uint8Array(bytes); }\n\n bytes.push(0);\n for (let i = 0; i < value.length; i++) {\n let byte = this._alphabetMap[value[i]];\n\n if (byte === undefined) {\n throw new Error(\"Non-base\" + this.base + \" character\");\n }\n\n let carry = byte;\n for (let j = 0; j < bytes.length; ++j) {\n carry += bytes[j] * this.base;\n bytes[j] = carry & 0xff;\n carry >>= 8;\n }\n\n while (carry > 0) {\n bytes.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n // deal with leading zeros\n for (let k = 0; value[k] === this._leader && k < value.length - 1; ++k) {\n bytes.push(0)\n }\n\n return arrayify(new Uint8Array(bytes.reverse()))\n }\n}\n\nconst Base32 = new BaseX(\"abcdefghijklmnopqrstuvwxyz234567\");\nconst Base58 = new BaseX(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\");\n\nexport { Base32, Base58 };\n\n//console.log(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\"))\n//console.log(Base58.encode(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\")))\n","export const version = \"bignumber/5.7.0\";\n","\"use strict\";\n\n/**\n * BigNumber\n *\n * A wrapper around the BN.js object. We use the BN.js library\n * because it is used by elliptic, so it is required regardless.\n *\n */\n\nimport _BN from \"bn.js\";\nimport BN = _BN.BN;\n\nimport { Bytes, Hexable, hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst _constructorGuard = { };\n\nconst MAX_SAFE = 0x1fffffffffffff;\n\n\nexport type BigNumberish = BigNumber | Bytes | bigint | string | number;\n\nexport function isBigNumberish(value: any): value is BigNumberish {\n return (value != null) && (\n BigNumber.isBigNumber(value) ||\n (typeof(value) === \"number\" && (value % 1) === 0) ||\n (typeof(value) === \"string\" && !!value.match(/^-?[0-9]+$/)) ||\n isHexString(value) ||\n (typeof(value) === \"bigint\") ||\n isBytes(value)\n );\n}\n\n// Only warn about passing 10 into radix once\nlet _warnedToStringRadix = false;\n\nexport class BigNumber implements Hexable {\n readonly _hex: string;\n readonly _isBigNumber: boolean;\n\n constructor(constructorGuard: any, hex: string) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot call constructor directly; use BigNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new (BigNumber)\"\n });\n }\n\n this._hex = hex;\n this._isBigNumber = true;\n\n Object.freeze(this);\n }\n\n fromTwos(value: number): BigNumber {\n return toBigNumber(toBN(this).fromTwos(value));\n }\n\n toTwos(value: number): BigNumber {\n return toBigNumber(toBN(this).toTwos(value));\n }\n\n abs(): BigNumber {\n if (this._hex[0] === \"-\") {\n return BigNumber.from(this._hex.substring(1));\n }\n return this;\n }\n\n add(other: BigNumberish): BigNumber {\n return toBigNumber(toBN(this).add(toBN(other)));\n }\n\n sub(other: BigNumberish): BigNumber {\n return toBigNumber(toBN(this).sub(toBN(other)));\n }\n\n div(other: BigNumberish): BigNumber {\n const o = BigNumber.from(other);\n if (o.isZero()) {\n throwFault(\"division-by-zero\", \"div\");\n }\n return toBigNumber(toBN(this).div(toBN(other)));\n }\n\n mul(other: BigNumberish): BigNumber {\n return toBigNumber(toBN(this).mul(toBN(other)));\n }\n\n mod(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"division-by-zero\", \"mod\");\n }\n return toBigNumber(toBN(this).umod(value));\n }\n\n pow(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"negative-power\", \"pow\");\n }\n return toBigNumber(toBN(this).pow(value));\n }\n\n and(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"and\");\n }\n return toBigNumber(toBN(this).and(value));\n }\n\n or(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"or\");\n }\n return toBigNumber(toBN(this).or(value));\n }\n\n xor(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"xor\");\n }\n return toBigNumber(toBN(this).xor(value));\n }\n\n mask(value: number): BigNumber {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"mask\");\n }\n return toBigNumber(toBN(this).maskn(value));\n }\n\n shl(value: number): BigNumber {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shl\");\n }\n return toBigNumber(toBN(this).shln(value));\n }\n\n shr(value: number): BigNumber {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shr\");\n }\n return toBigNumber(toBN(this).shrn(value));\n }\n\n eq(other: BigNumberish): boolean {\n return toBN(this).eq(toBN(other));\n }\n\n lt(other: BigNumberish): boolean {\n return toBN(this).lt(toBN(other));\n }\n\n lte(other: BigNumberish): boolean {\n return toBN(this).lte(toBN(other));\n }\n\n gt(other: BigNumberish): boolean {\n return toBN(this).gt(toBN(other));\n }\n\n gte(other: BigNumberish): boolean {\n return toBN(this).gte(toBN(other));\n }\n\n isNegative(): boolean {\n return (this._hex[0] === \"-\");\n }\n\n isZero(): boolean {\n return toBN(this).isZero();\n }\n\n toNumber(): number {\n try {\n return toBN(this).toNumber();\n } catch (error) {\n throwFault(\"overflow\", \"toNumber\", this.toString());\n }\n return null;\n }\n\n toBigInt(): bigint {\n try {\n return BigInt(this.toString());\n } catch (e) { }\n\n return logger.throwError(\"this platform does not support BigInt\", Logger.errors.UNSUPPORTED_OPERATION, {\n value: this.toString()\n });\n }\n\n toString(): string {\n // Lots of people expect this, which we do not support, so check (See: #889)\n if (arguments.length > 0) {\n if (arguments[0] === 10) {\n if (!_warnedToStringRadix) {\n _warnedToStringRadix = true;\n logger.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\");\n }\n } else if (arguments[0] === 16) {\n logger.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\", Logger.errors.UNEXPECTED_ARGUMENT, { });\n } else {\n logger.throwError(\"BigNumber.toString does not accept parameters\", Logger.errors.UNEXPECTED_ARGUMENT, { });\n }\n }\n return toBN(this).toString(10);\n }\n\n toHexString(): string {\n return this._hex;\n }\n\n toJSON(key?: string): any {\n return { type: \"BigNumber\", hex: this.toHexString() };\n }\n\n static from(value: any): BigNumber {\n if (value instanceof BigNumber) { return value; }\n\n if (typeof(value) === \"string\") {\n if (value.match(/^-?0x[0-9a-f]+$/i)) {\n return new BigNumber(_constructorGuard, toHex(value));\n }\n\n if (value.match(/^-?[0-9]+$/)) {\n return new BigNumber(_constructorGuard, toHex(new BN(value)));\n }\n\n return logger.throwArgumentError(\"invalid BigNumber string\", \"value\", value);\n }\n\n if (typeof(value) === \"number\") {\n if (value % 1) {\n throwFault(\"underflow\", \"BigNumber.from\", value);\n }\n\n if (value >= MAX_SAFE || value <= -MAX_SAFE) {\n throwFault(\"overflow\", \"BigNumber.from\", value);\n }\n\n return BigNumber.from(String(value));\n }\n\n const anyValue = value;\n\n if (typeof(anyValue) === \"bigint\") {\n return BigNumber.from(anyValue.toString());\n }\n\n if (isBytes(anyValue)) {\n return BigNumber.from(hexlify(anyValue));\n }\n\n if (anyValue) {\n\n // Hexable interface (takes priority)\n if (anyValue.toHexString) {\n const hex = anyValue.toHexString();\n if (typeof(hex) === \"string\") {\n return BigNumber.from(hex);\n }\n\n } else {\n // For now, handle legacy JSON-ified values (goes away in v6)\n let hex = anyValue._hex;\n\n // New-form JSON\n if (hex == null && anyValue.type === \"BigNumber\") {\n hex = anyValue.hex;\n }\n\n if (typeof(hex) === \"string\") {\n if (isHexString(hex) || (hex[0] === \"-\" && isHexString(hex.substring(1)))) {\n return BigNumber.from(hex);\n }\n }\n }\n }\n\n return logger.throwArgumentError(\"invalid BigNumber value\", \"value\", value);\n }\n\n static isBigNumber(value: any): value is BigNumber {\n return !!(value && value._isBigNumber);\n }\n}\n\n// Normalize the hex string\nfunction toHex(value: string | BN): string {\n\n // For BN, call on the hex string\n if (typeof(value) !== \"string\") {\n return toHex(value.toString(16));\n }\n\n // If negative, prepend the negative sign to the normalized positive value\n if (value[0] === \"-\") {\n // Strip off the negative sign\n value = value.substring(1);\n\n // Cannot have multiple negative signs (e.g. \"--0x04\")\n if (value[0] === \"-\") { logger.throwArgumentError(\"invalid hex\", \"value\", value); }\n\n // Call toHex on the positive component\n value = toHex(value);\n\n // Do not allow \"-0x00\"\n if (value === \"0x00\") { return value; }\n\n // Negate the value\n return \"-\" + value;\n }\n\n // Add a \"0x\" prefix if missing\n if (value.substring(0, 2) !== \"0x\") { value = \"0x\" + value; }\n\n // Normalize zero\n if (value === \"0x\") { return \"0x00\"; }\n\n // Make the string even length\n if (value.length % 2) { value = \"0x0\" + value.substring(2); }\n\n // Trim to smallest even-length string\n while (value.length > 4 && value.substring(0, 4) === \"0x00\") {\n value = \"0x\" + value.substring(4);\n }\n\n return value;\n}\n\nfunction toBigNumber(value: BN): BigNumber {\n return BigNumber.from(toHex(value));\n}\n\nfunction toBN(value: BigNumberish): BN {\n const hex = BigNumber.from(value).toHexString();\n if (hex[0] === \"-\") {\n return (new BN(\"-\" + hex.substring(3), 16));\n }\n return new BN(hex.substring(2), 16);\n}\n\nfunction throwFault(fault: string, operation: string, value?: any): never {\n const params: any = { fault: fault, operation: operation };\n if (value != null) { params.value = value; }\n\n return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);\n}\n\n// value should have no prefix\nexport function _base36To16(value: string): string {\n return (new BN(value, 36)).toString(16);\n}\n\n// value should have no prefix\nexport function _base16To36(value: string): string {\n return (new BN(value, 16)).toString(36);\n}\n","\"use strict\";\n\nimport { arrayify, BytesLike, hexZeroPad, isBytes } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { BigNumber, BigNumberish, isBigNumberish } from \"./bignumber\";\n\nconst _constructorGuard = { };\n\nconst Zero = BigNumber.from(0);\nconst NegativeOne = BigNumber.from(-1);\n\nfunction throwFault(message: string, fault: string, operation: string, value?: any): never {\n const params: any = { fault: fault, operation: operation };\n if (value !== undefined) { params.value = value; }\n return logger.throwError(message, Logger.errors.NUMERIC_FAULT, params);\n}\n\n// Constant to pull zeros from for multipliers\nlet zeros = \"0\";\nwhile (zeros.length < 256) { zeros += zeros; }\n\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction getMultiplier(decimals: BigNumberish): string {\n\n if (typeof(decimals) !== \"number\") {\n try {\n decimals = BigNumber.from(decimals).toNumber();\n } catch (e) { }\n }\n\n if (typeof(decimals) === \"number\" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) {\n return (\"1\" + zeros.substring(0, decimals));\n }\n\n return logger.throwArgumentError(\"invalid decimal size\", \"decimals\", decimals);\n}\n\nexport function formatFixed(value: BigNumberish, decimals?: string | BigNumberish): string {\n if (decimals == null) { decimals = 0; }\n const multiplier = getMultiplier(decimals);\n\n // Make sure wei is a big number (convert as necessary)\n value = BigNumber.from(value);\n\n const negative = value.lt(Zero);\n if (negative) { value = value.mul(NegativeOne); }\n\n let fraction = value.mod(multiplier).toString();\n while (fraction.length < multiplier.length - 1) { fraction = \"0\" + fraction; }\n\n // Strip training 0\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n\n const whole = value.div(multiplier).toString();\n if (multiplier.length === 1) {\n value = whole;\n } else {\n value = whole + \".\" + fraction;\n }\n\n if (negative) { value = \"-\" + value; }\n\n return value;\n}\n\nexport function parseFixed(value: string, decimals?: BigNumberish): BigNumber {\n\n if (decimals == null) { decimals = 0; }\n const multiplier = getMultiplier(decimals);\n\n if (typeof(value) !== \"string\" || !value.match(/^-?[0-9.]+$/)) {\n logger.throwArgumentError(\"invalid decimal value\", \"value\", value);\n }\n\n // Is it negative?\n const negative = (value.substring(0, 1) === \"-\");\n if (negative) { value = value.substring(1); }\n\n if (value === \".\") {\n logger.throwArgumentError(\"missing value\", \"value\", value);\n }\n\n // Split it into a whole and fractional part\n const comps = value.split(\".\");\n if (comps.length > 2) {\n logger.throwArgumentError(\"too many decimal points\", \"value\", value);\n }\n\n let whole = comps[0], fraction = comps[1];\n if (!whole) { whole = \"0\"; }\n if (!fraction) { fraction = \"0\"; }\n\n // Trim trailing zeros\n while (fraction[fraction.length - 1] === \"0\") {\n fraction = fraction.substring(0, fraction.length - 1);\n }\n\n // Check the fraction doesn't exceed our decimals size\n if (fraction.length > multiplier.length - 1) {\n throwFault(\"fractional component exceeds decimals\", \"underflow\", \"parseFixed\");\n }\n\n // If decimals is 0, we have an empty string for fraction\n if (fraction === \"\") { fraction = \"0\"; }\n\n // Fully pad the string with zeros to get to wei\n while (fraction.length < multiplier.length - 1) { fraction += \"0\"; }\n\n const wholeValue = BigNumber.from(whole);\n const fractionValue = BigNumber.from(fraction);\n\n let wei = (wholeValue.mul(multiplier)).add(fractionValue);\n\n if (negative) { wei = wei.mul(NegativeOne); }\n\n return wei;\n}\n\n\nexport class FixedFormat {\n readonly signed: boolean;\n readonly width: number;\n readonly decimals: number;\n readonly name: string;\n readonly _multiplier: string;\n\n constructor(constructorGuard: any, signed: boolean, width: number, decimals: number) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedFormat constructor; use FixedFormat.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n\n this.signed = signed;\n this.width = width;\n this.decimals = decimals;\n\n this.name = (signed ? \"\": \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n\n this._multiplier = getMultiplier(decimals);\n\n Object.freeze(this);\n }\n\n static from(value: any): FixedFormat {\n if (value instanceof FixedFormat) { return value; }\n\n if (typeof(value) === \"number\") {\n value = `fixed128x${value}`\n }\n\n let signed = true;\n let width = 128;\n let decimals = 18;\n\n if (typeof(value) === \"string\") {\n if (value === \"fixed\") {\n // defaults...\n } else if (value === \"ufixed\") {\n signed = false;\n } else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n if (!match) { logger.throwArgumentError(\"invalid fixed format\", \"format\", value); }\n signed = (match[1] !== \"u\");\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n } else if (value) {\n const check = (key: string, type: string, defaultValue: any): any => {\n if (value[key] == null) { return defaultValue; }\n if (typeof(value[key]) !== type) {\n logger.throwArgumentError(\"invalid fixed format (\" + key + \" not \" + type +\")\", \"format.\" + key, value[key]);\n }\n return value[key];\n }\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n\n if (width % 8) {\n logger.throwArgumentError(\"invalid fixed format width (not byte aligned)\", \"format.width\", width);\n }\n\n if (decimals > 80) {\n logger.throwArgumentError(\"invalid fixed format (decimals too large)\", \"format.decimals\", decimals);\n }\n\n return new FixedFormat(_constructorGuard, signed, width, decimals);\n }\n}\n\nexport class FixedNumber {\n readonly format: FixedFormat;\n readonly _hex: string;\n readonly _value: string;\n\n readonly _isFixedNumber: boolean;\n\n constructor(constructorGuard: any, hex: string, value: string, format?: FixedFormat) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n\n this.format = format;\n this._hex = hex;\n this._value = value;\n\n this._isFixedNumber = true;\n\n Object.freeze(this);\n }\n\n _checkFormat(other: FixedNumber): void {\n if (this.format.name !== other.format.name) {\n logger.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n }\n\n addUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format);\n }\n\n subUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format);\n }\n\n mulUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);\n }\n\n divUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);\n }\n\n floor(): FixedNumber {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) { comps.push(\"0\"); }\n\n let result = FixedNumber.from(comps[0], this.format);\n\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (this.isNegative() && hasFraction) {\n result = result.subUnsafe(ONE.toFormat(result.format));\n }\n\n return result;\n }\n\n ceiling(): FixedNumber {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) { comps.push(\"0\"); }\n\n let result = FixedNumber.from(comps[0], this.format);\n\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (!this.isNegative() && hasFraction) {\n result = result.addUnsafe(ONE.toFormat(result.format));\n }\n\n return result;\n }\n\n // @TODO: Support other rounding algorithms\n round(decimals?: number): FixedNumber {\n if (decimals == null) { decimals = 0; }\n\n // If we are already in range, we're done\n const comps = this.toString().split(\".\");\n if (comps.length === 1) { comps.push(\"0\"); }\n\n if (decimals < 0 || decimals > 80 || (decimals % 1)) {\n logger.throwArgumentError(\"invalid decimal count\", \"decimals\", decimals);\n }\n\n if (comps[1].length <= decimals) { return this; }\n\n const factor = FixedNumber.from(\"1\" + zeros.substring(0, decimals), this.format);\n const bump = BUMP.toFormat(this.format);\n\n return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor);\n }\n\n isZero(): boolean {\n return (this._value === \"0.0\" || this._value === \"0\");\n }\n\n isNegative(): boolean {\n return (this._value[0] === \"-\");\n }\n\n toString(): string { return this._value; }\n\n toHexString(width?: number): string {\n if (width == null) { return this._hex; }\n if (width % 8) { logger.throwArgumentError(\"invalid byte width\", \"width\", width); }\n const hex = BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();\n return hexZeroPad(hex, width / 8);\n }\n\n toUnsafeFloat(): number { return parseFloat(this.toString()); }\n\n toFormat(format: FixedFormat | string): FixedNumber {\n return FixedNumber.fromString(this._value, format);\n }\n\n\n static fromValue(value: BigNumber, decimals?: BigNumberish, format?: FixedFormat | string | number): FixedNumber {\n // If decimals looks more like a format, and there is no format, shift the parameters\n if (format == null && decimals != null && !isBigNumberish(decimals)) {\n format = decimals;\n decimals = null;\n }\n\n if (decimals == null) { decimals = 0; }\n if (format == null) { format = \"fixed\"; }\n\n return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format));\n }\n\n\n static fromString(value: string, format?: FixedFormat | string | number): FixedNumber {\n if (format == null) { format = \"fixed\"; }\n\n const fixedFormat = FixedFormat.from(format);\n\n const numeric = parseFixed(value, fixedFormat.decimals);\n\n if (!fixedFormat.signed && numeric.lt(Zero)) {\n throwFault(\"unsigned value cannot be negative\", \"overflow\", \"value\", value);\n }\n\n let hex: string = null;\n if (fixedFormat.signed) {\n hex = numeric.toTwos(fixedFormat.width).toHexString();\n } else {\n hex = numeric.toHexString();\n hex = hexZeroPad(hex, fixedFormat.width / 8);\n }\n\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n\n static fromBytes(value: BytesLike, format?: FixedFormat | string | number): FixedNumber {\n if (format == null) { format = \"fixed\"; }\n\n const fixedFormat = FixedFormat.from(format);\n\n if (arrayify(value).length > fixedFormat.width / 8) {\n throw new Error(\"overflow\");\n }\n\n let numeric = BigNumber.from(value);\n if (fixedFormat.signed) { numeric = numeric.fromTwos(fixedFormat.width); }\n\n const hex = numeric.toTwos((fixedFormat.signed ? 0: 1) + fixedFormat.width).toHexString();\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n\n static from(value: any, format?: FixedFormat | string | number) {\n if (typeof(value) === \"string\") {\n return FixedNumber.fromString(value, format);\n }\n\n if (isBytes(value)) {\n return FixedNumber.fromBytes(value, format);\n }\n\n try {\n return FixedNumber.fromValue(value, 0, format);\n } catch (error) {\n // Allow NUMERIC_FAULT to bubble up\n if (error.code !== Logger.errors.INVALID_ARGUMENT) {\n throw error;\n }\n }\n\n return logger.throwArgumentError(\"invalid FixedNumber value\", \"value\", value);\n }\n\n static isFixedNumber(value: any): value is FixedNumber {\n return !!(value && value._isFixedNumber);\n }\n}\n\nconst ONE = FixedNumber.from(1);\nconst BUMP = FixedNumber.from(\"0.5\");\n","export const version = \"bytes/5.7.0\";\n","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n// Exported Types\n\nexport type Bytes = ArrayLike;\n\nexport type BytesLike = Bytes | string;\n\nexport type DataOptions = {\n allowMissingPrefix?: boolean;\n hexPad?: \"left\" | \"right\" | null;\n};\n\nexport interface Hexable {\n toHexString(): string;\n}\n\n\n/*\nexport interface HexString {\n length: number;\n substring: (start: number, end?: number) => string;\n\n [index: number]: string;\n}\n*/\n\nexport type SignatureLike = {\n r: string;\n s?: string;\n _vs?: string,\n recoveryParam?: number;\n v?: number;\n} | BytesLike;\n\nexport interface Signature {\n r: string;\n\n s: string;\n _vs: string,\n\n recoveryParam: number;\n v: number;\n\n yParityAndS: string\n compact: string;\n}\n\n///////////////////////////////\n\n\nfunction isHexable(value: any): value is Hexable {\n return !!(value.toHexString);\n}\n\nfunction addSlice(array: Uint8Array): Uint8Array {\n if (array.slice) { return array; }\n\n array.slice = function() {\n const args = Array.prototype.slice.call(arguments);\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n }\n\n return array;\n}\n\nexport function isBytesLike(value: any): value is BytesLike {\n return ((isHexString(value) && !(value.length % 2)) || isBytes(value));\n}\n\nfunction isInteger(value: number) {\n return (typeof(value) === \"number\" && value == value && (value % 1) === 0);\n}\n\nexport function isBytes(value: any): value is Bytes {\n if (value == null) { return false; }\n\n if (value.constructor === Uint8Array) { return true; }\n if (typeof(value) === \"string\") { return false; }\n if (!isInteger(value.length) || value.length < 0) { return false; }\n\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (!isInteger(v) || v < 0 || v >= 256) { return false; }\n }\n return true;\n}\n\n\nexport function arrayify(value: BytesLike | Hexable | number, options?: DataOptions): Uint8Array {\n if (!options) { options = { }; }\n\n if (typeof(value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid arrayify value\");\n\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) { result.push(0); }\n\n return addSlice(new Uint8Array(result));\n }\n\n if (options.allowMissingPrefix && typeof(value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n\n if (isHexable(value)) { value = value.toHexString(); }\n\n if (isHexString(value)) {\n let hex = (value).substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") {\n hex = \"0\" + hex;\n } else if (options.hexPad === \"right\") {\n hex += \"0\";\n } else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n\n const result = [];\n for (let i = 0; i < hex.length; i += 2) {\n result.push(parseInt(hex.substring(i, i + 2), 16));\n }\n\n return addSlice(new Uint8Array(result));\n }\n\n if (isBytes(value)) {\n return addSlice(new Uint8Array(value));\n }\n\n return logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n}\n\nexport function concat(items: ReadonlyArray): Uint8Array {\n const objects = items.map(item => arrayify(item));\n const length = objects.reduce((accum, item) => (accum + item.length), 0);\n\n const result = new Uint8Array(length);\n\n objects.reduce((offset, object) => {\n result.set(object, offset);\n return offset + object.length;\n }, 0);\n\n return addSlice(result);\n}\n\nexport function stripZeros(value: BytesLike): Uint8Array {\n let result: Uint8Array = arrayify(value);\n\n if (result.length === 0) { return result; }\n\n // Find the first non-zero entry\n let start = 0;\n while (start < result.length && result[start] === 0) { start++ }\n\n // If we started with zeros, strip them\n if (start) {\n result = result.slice(start);\n }\n\n return result;\n}\n\nexport function zeroPad(value: BytesLike, length: number): Uint8Array {\n value = arrayify(value);\n\n if (value.length > length) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[0]);\n }\n\n const result = new Uint8Array(length);\n result.set(value, length - value.length);\n return addSlice(result);\n}\n\n\nexport function isHexString(value: any, length?: number): boolean {\n if (typeof(value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false\n }\n if (length && value.length !== 2 + 2 * length) { return false; }\n return true;\n}\n\nconst HexCharacters: string = \"0123456789abcdef\";\n\nexport function hexlify(value: BytesLike | Hexable | number | bigint, options?: DataOptions): string {\n if (!options) { options = { }; }\n\n if (typeof(value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid hexlify value\");\n\n let hex = \"\";\n while (value) {\n hex = HexCharacters[value & 0xf] + hex;\n value = Math.floor(value / 16);\n }\n\n if (hex.length) {\n if (hex.length % 2) { hex = \"0\" + hex; }\n return \"0x\" + hex;\n }\n\n return \"0x00\";\n }\n\n if (typeof(value) === \"bigint\") {\n value = value.toString(16);\n if (value.length % 2) { return (\"0x0\" + value); }\n return \"0x\" + value;\n }\n\n if (options.allowMissingPrefix && typeof(value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n\n if (isHexable(value)) { return value.toHexString(); }\n\n if (isHexString(value)) {\n if ((value).length % 2) {\n if (options.hexPad === \"left\") {\n value = \"0x0\" + (value).substring(2);\n } else if (options.hexPad === \"right\") {\n value += \"0\";\n } else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n return (value).toLowerCase();\n }\n\n if (isBytes(value)) {\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n let v = value[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n }\n\n return logger.throwArgumentError(\"invalid hexlify value\", \"value\", value);\n}\n\n/*\nfunction unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {\n if (typeof(value) === \"string\" && value.length % 2 && value.substring(0, 2) === \"0x\") {\n return \"0x0\" + value.substring(2);\n }\n return value;\n}\n*/\nexport function hexDataLength(data: BytesLike) {\n if (typeof(data) !== \"string\") {\n data = hexlify(data);\n } else if (!isHexString(data) || (data.length % 2)) {\n return null;\n }\n\n return (data.length - 2) / 2;\n}\n\nexport function hexDataSlice(data: BytesLike, offset: number, endOffset?: number): string {\n if (typeof(data) !== \"string\") {\n data = hexlify(data);\n } else if (!isHexString(data) || (data.length % 2)) {\n logger.throwArgumentError(\"invalid hexData\", \"value\", data );\n }\n\n offset = 2 + 2 * offset;\n\n if (endOffset != null) {\n return \"0x\" + data.substring(offset, 2 + 2 * endOffset);\n }\n\n return \"0x\" + data.substring(offset);\n}\n\nexport function hexConcat(items: ReadonlyArray): string {\n let result = \"0x\";\n items.forEach((item) => {\n result += hexlify(item).substring(2);\n });\n return result;\n}\n\nexport function hexValue(value: BytesLike | Hexable | number | bigint): string {\n const trimmed = hexStripZeros(hexlify(value, { hexPad: \"left\" }));\n if (trimmed === \"0x\") { return \"0x0\"; }\n return trimmed;\n}\n\nexport function hexStripZeros(value: BytesLike): string {\n if (typeof(value) !== \"string\") { value = hexlify(value); }\n\n if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n value = value.substring(2);\n let offset = 0;\n while (offset < value.length && value[offset] === \"0\") { offset++; }\n return \"0x\" + value.substring(offset);\n}\n\nexport function hexZeroPad(value: BytesLike, length: number): string {\n if (typeof(value) !== \"string\") {\n value = hexlify(value);\n } else if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n\n if (value.length > 2 * length + 2) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[1]);\n }\n\n while (value.length < 2 * length + 2) {\n value = \"0x0\" + value.substring(2);\n }\n\n return value;\n}\n\nexport function splitSignature(signature: SignatureLike): Signature {\n\n const result = {\n r: \"0x\",\n s: \"0x\",\n _vs: \"0x\",\n recoveryParam: 0,\n v: 0,\n yParityAndS: \"0x\",\n compact: \"0x\"\n };\n\n if (isBytesLike(signature)) {\n let bytes: Uint8Array = arrayify(signature);\n\n // Get the r, s and v\n if (bytes.length === 64) {\n // EIP-2098; pull the v from the top bit of s and clear it\n result.v = 27 + (bytes[32] >> 7);\n bytes[32] &= 0x7f;\n\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n\n } else if (bytes.length === 65) {\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n result.v = bytes[64];\n } else {\n\n logger.throwArgumentError(\"invalid signature string\", \"signature\", signature);\n }\n\n\n // Allow a recid to be used as the v\n if (result.v < 27) {\n if (result.v === 0 || result.v === 1) {\n result.v += 27;\n } else {\n logger.throwArgumentError(\"signature invalid v byte\", \"signature\", signature);\n }\n }\n\n // Compute recoveryParam from v\n result.recoveryParam = 1 - (result.v % 2);\n\n // Compute _vs from recoveryParam and s\n if (result.recoveryParam) { bytes[32] |= 0x80; }\n result._vs = hexlify(bytes.slice(32, 64))\n\n } else {\n result.r = signature.r;\n result.s = signature.s;\n result.v = signature.v;\n result.recoveryParam = signature.recoveryParam;\n result._vs = signature._vs;\n\n // If the _vs is available, use it to populate missing s, v and recoveryParam\n // and verify non-missing s, v and recoveryParam\n if (result._vs != null) {\n const vs = zeroPad(arrayify(result._vs), 32);\n result._vs = hexlify(vs);\n\n // Set or check the recid\n const recoveryParam = ((vs[0] >= 128) ? 1: 0);\n if (result.recoveryParam == null) {\n result.recoveryParam = recoveryParam;\n } else if (result.recoveryParam !== recoveryParam) {\n logger.throwArgumentError(\"signature recoveryParam mismatch _vs\", \"signature\", signature);\n }\n\n // Set or check the s\n vs[0] &= 0x7f;\n const s = hexlify(vs);\n if (result.s == null) {\n result.s = s;\n } else if (result.s !== s) {\n logger.throwArgumentError(\"signature v mismatch _vs\", \"signature\", signature);\n }\n }\n\n // Use recid and v to populate each other\n if (result.recoveryParam == null) {\n if (result.v == null) {\n logger.throwArgumentError(\"signature missing v and recoveryParam\", \"signature\", signature);\n } else if (result.v === 0 || result.v === 1) {\n result.recoveryParam = result.v;\n } else {\n result.recoveryParam = 1 - (result.v % 2);\n }\n } else {\n if (result.v == null) {\n result.v = 27 + result.recoveryParam;\n } else {\n const recId = (result.v === 0 || result.v === 1) ? result.v :(1 - (result.v % 2));\n if (result.recoveryParam !== recId) {\n logger.throwArgumentError(\"signature recoveryParam mismatch v\", \"signature\", signature);\n }\n }\n }\n\n if (result.r == null || !isHexString(result.r)) {\n logger.throwArgumentError(\"signature missing or invalid r\", \"signature\", signature);\n } else {\n result.r = hexZeroPad(result.r, 32);\n }\n\n if (result.s == null || !isHexString(result.s)) {\n logger.throwArgumentError(\"signature missing or invalid s\", \"signature\", signature);\n } else {\n result.s = hexZeroPad(result.s, 32);\n }\n\n const vs = arrayify(result.s);\n if (vs[0] >= 128) {\n logger.throwArgumentError(\"signature s out of range\", \"signature\", signature);\n }\n if (result.recoveryParam) { vs[0] |= 0x80; }\n const _vs = hexlify(vs);\n\n if (result._vs) {\n if (!isHexString(result._vs)) {\n logger.throwArgumentError(\"signature invalid _vs\", \"signature\", signature);\n }\n result._vs = hexZeroPad(result._vs, 32);\n }\n\n // Set or check the _vs\n if (result._vs == null) {\n result._vs = _vs;\n } else if (result._vs !== _vs) {\n logger.throwArgumentError(\"signature _vs mismatch v and s\", \"signature\", signature);\n }\n }\n\n result.yParityAndS = result._vs;\n result.compact = result.r + result.yParityAndS.substring(2);\n\n return result;\n}\n\nexport function joinSignature(signature: SignatureLike): string {\n signature = splitSignature(signature);\n\n return hexlify(concat([\n signature.r,\n signature.s,\n (signature.recoveryParam ? \"0x1c\": \"0x1b\")\n ]));\n}\n\n","export const AddressZero = \"0x0000000000000000000000000000000000000000\";\n\n","import { BigNumber } from \"@ethersproject/bignumber\";\n\nconst NegativeOne: BigNumber = (/*#__PURE__*/BigNumber.from(-1));\nconst Zero: BigNumber = (/*#__PURE__*/BigNumber.from(0));\nconst One: BigNumber = (/*#__PURE__*/BigNumber.from(1));\nconst Two: BigNumber = (/*#__PURE__*/BigNumber.from(2));\nconst WeiPerEther: BigNumber = (/*#__PURE__*/BigNumber.from(\"1000000000000000000\"));\nconst MaxUint256: BigNumber = (/*#__PURE__*/BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\n\nconst MinInt256: BigNumber = (/*#__PURE__*/BigNumber.from(\"-0x8000000000000000000000000000000000000000000000000000000000000000\"));\nconst MaxInt256: BigNumber = (/*#__PURE__*/BigNumber.from(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\n\nexport {\n NegativeOne,\n Zero,\n One,\n Two,\n WeiPerEther,\n MaxUint256,\n MinInt256,\n MaxInt256,\n};\n","export const HashZero = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n\n","// NFKC (composed) // (decomposed)\nexport const EtherSymbol = \"\\u039e\"; // \"\\uD835\\uDF63\";\n","\"use strict\";\n\nimport { checkResultErrors, EventFragment, Fragment, FunctionFragment, Indexed, Interface, JsonFragment, LogDescription, ParamType, Result } from \"@ethersproject/abi\";\nimport { Block, BlockTag, Filter, FilterByBlockHash, Listener, Log, Provider, TransactionReceipt, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { Signer, VoidSigner } from \"@ethersproject/abstract-signer\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, concat, hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { Deferrable, defineReadOnly, deepCopy, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { AccessList, accessListify, AccessListish } from \"@ethersproject/transactions\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\n\nconst logger = new Logger(version);\n\nexport interface Overrides {\n gasLimit?: BigNumberish | Promise;\n gasPrice?: BigNumberish | Promise;\n maxFeePerGas?: BigNumberish | Promise;\n maxPriorityFeePerGas?: BigNumberish | Promise;\n nonce?: BigNumberish | Promise;\n type?: number;\n accessList?: AccessListish;\n customData?: Record;\n ccipReadEnabled?: boolean;\n};\n\nexport interface PayableOverrides extends Overrides {\n value?: BigNumberish | Promise;\n}\n\nexport interface CallOverrides extends PayableOverrides {\n blockTag?: BlockTag | Promise;\n from?: string | Promise;\n}\n\n// @TODO: Better hierarchy with: (in v6)\n// - abstract-provider:TransactionRequest\n// - transactions:Transaction\n// - transaction:UnsignedTransaction\n\nexport interface PopulatedTransaction {\n to?: string;\n from?: string;\n nonce?: number;\n\n gasLimit?: BigNumber;\n gasPrice?: BigNumber;\n\n data?: string;\n value?: BigNumber;\n chainId?: number;\n\n type?: number;\n accessList?: AccessList;\n\n maxFeePerGas?: BigNumber;\n maxPriorityFeePerGas?: BigNumber;\n\n customData?: Record;\n ccipReadEnabled?: boolean;\n};\n\nexport type EventFilter = {\n address?: string;\n topics?: Array>;\n};\n\n\nexport type ContractFunction = (...args: Array) => Promise;\n\n\n// The (n + 1)th parameter passed to contract event callbacks\nexport interface Event extends Log {\n\n // The event name\n event?: string;\n\n // The event signature\n eventSignature?: string;\n\n // The parsed arguments to the event\n args?: Result;\n\n // If parsing the arguments failed, this is the error\n decodeError?: Error;\n\n // A function that can be used to decode event data and topics\n decode?: (data: string, topics?: Array) => any;\n\n // A function that will remove the listener responsible for this event (if any)\n removeListener: () => void;\n\n // Get blockchain details about this event's block and transaction\n getBlock: () => Promise;\n getTransaction: () => Promise;\n getTransactionReceipt: () => Promise;\n}\n\nexport interface ContractReceipt extends TransactionReceipt {\n events?: Array;\n}\n\nexport interface ContractTransaction extends TransactionResponse {\n wait(confirmations?: number): Promise;\n}\n\n///////////////////////////////\n\nconst allowedTransactionKeys: { [ key: string ]: boolean } = {\n chainId: true, data: true, from: true, gasLimit: true, gasPrice:true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true,\n customData: true,\n ccipReadEnabled: true\n}\n\nasync function resolveName(resolver: Signer | Provider, nameOrPromise: string | Promise): Promise {\n const name = await nameOrPromise;\n\n if (typeof(name) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", name);\n }\n\n // If it is already an address, just use it (after adding checksum)\n try {\n return getAddress(name);\n } catch (error) { }\n\n if (!resolver) {\n logger.throwError(\"a provider or signer is needed to resolve ENS names\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\"\n });\n }\n\n const address = await resolver.resolveName(name);\n\n if (address == null) {\n logger.throwArgumentError(\"resolver or addr is not configured for ENS name\", \"name\", name);\n }\n\n return address;\n}\n\n// Recursively replaces ENS names with promises to resolve the name and resolves all properties\nasync function resolveAddresses(resolver: Signer | Provider, value: any, paramType: ParamType | Array): Promise {\n if (Array.isArray(paramType)) {\n return await Promise.all(paramType.map((paramType, index) => {\n return resolveAddresses(\n resolver,\n ((Array.isArray(value)) ? value[index]: value[paramType.name]),\n paramType\n );\n }));\n }\n\n if (paramType.type === \"address\") {\n return await resolveName(resolver, value);\n }\n\n if (paramType.type === \"tuple\") {\n return await resolveAddresses(resolver, value, paramType.components);\n }\n\n if (paramType.baseType === \"array\") {\n if (!Array.isArray(value)) {\n return Promise.reject(logger.makeError(\"invalid value for array\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"value\",\n value\n }));\n }\n return await Promise.all(value.map((v) => resolveAddresses(resolver, v, paramType.arrayChildren)));\n }\n\n return value;\n}\n\nasync function populateTransaction(contract: Contract, fragment: FunctionFragment, args: Array): Promise {\n // If an extra argument is given, it is overrides\n let overrides: CallOverrides = { };\n if (args.length === fragment.inputs.length + 1 && typeof(args[args.length - 1]) === \"object\") {\n overrides = shallowCopy(args.pop());\n }\n\n // Make sure the parameter count matches\n logger.checkArgumentCount(args.length, fragment.inputs.length, \"passed to contract\");\n\n // Populate \"from\" override (allow promises)\n if (contract.signer) {\n if (overrides.from) {\n // Contracts with a Signer are from the Signer's frame-of-reference;\n // but we allow overriding \"from\" if it matches the signer\n overrides.from = resolveProperties({\n override: resolveName(contract.signer, overrides.from),\n signer: contract.signer.getAddress()\n }).then(async (check) => {\n if (getAddress(check.signer) !== check.override) {\n logger.throwError(\"Contract with a Signer cannot override from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.from\"\n });\n }\n\n return check.override;\n });\n\n } else {\n overrides.from = contract.signer.getAddress();\n }\n\n } else if (overrides.from) {\n overrides.from = resolveName(contract.provider, overrides.from);\n\n //} else {\n // Contracts without a signer can override \"from\", and if\n // unspecified the zero address is used\n //overrides.from = AddressZero;\n }\n\n // Wait for all dependencies to be resolved (prefer the signer over the provider)\n const resolved = await resolveProperties({\n args: resolveAddresses(contract.signer || contract.provider, args, fragment.inputs),\n address: contract.resolvedAddress,\n overrides: (resolveProperties(overrides) || { })\n });\n\n // The ABI coded transaction\n const data = contract.interface.encodeFunctionData(fragment, resolved.args);\n const tx: PopulatedTransaction = {\n data: data,\n to: resolved.address\n };\n\n // Resolved Overrides\n const ro = resolved.overrides;\n\n // Populate simple overrides\n if (ro.nonce != null) { tx.nonce = BigNumber.from(ro.nonce).toNumber(); }\n if (ro.gasLimit != null) { tx.gasLimit = BigNumber.from(ro.gasLimit); }\n if (ro.gasPrice != null) { tx.gasPrice = BigNumber.from(ro.gasPrice); }\n if (ro.maxFeePerGas != null) { tx.maxFeePerGas = BigNumber.from(ro.maxFeePerGas); }\n if (ro.maxPriorityFeePerGas != null) { tx.maxPriorityFeePerGas = BigNumber.from(ro.maxPriorityFeePerGas); }\n if (ro.from != null) { tx.from = ro.from; }\n\n if (ro.type != null) { tx.type = ro.type; }\n if (ro.accessList != null) { tx.accessList = accessListify(ro.accessList); }\n\n // If there was no \"gasLimit\" override, but the ABI specifies a default, use it\n if (tx.gasLimit == null && fragment.gas != null) {\n // Compute the intrinsic gas cost for this transaction\n // @TODO: This is based on the yellow paper as of Petersburg; this is something\n // we may wish to parameterize in v6 as part of the Network object. Since this\n // is always a non-nil to address, we can ignore G_create, but may wish to add\n // similar logic to the ContractFactory.\n let intrinsic = 21000;\n const bytes = arrayify(data);\n for (let i = 0; i < bytes.length; i++) {\n intrinsic += 4;\n if (bytes[i]) { intrinsic += 64; }\n }\n tx.gasLimit = BigNumber.from(fragment.gas).add(intrinsic);\n }\n\n // Populate \"value\" override\n if (ro.value) {\n const roValue = BigNumber.from(ro.value);\n if (!roValue.isZero() && !fragment.payable) {\n logger.throwError(\"non-payable method cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: overrides.value\n });\n }\n tx.value = roValue;\n }\n\n if (ro.customData) {\n tx.customData = shallowCopy(ro.customData);\n }\n\n if (ro.ccipReadEnabled) {\n tx.ccipReadEnabled = !!ro.ccipReadEnabled;\n }\n\n // Remove the overrides\n delete overrides.nonce;\n delete overrides.gasLimit;\n delete overrides.gasPrice;\n delete overrides.from;\n delete overrides.value;\n\n delete overrides.type;\n delete overrides.accessList;\n\n delete overrides.maxFeePerGas;\n delete overrides.maxPriorityFeePerGas;\n\n delete overrides.customData;\n delete overrides.ccipReadEnabled;\n\n // Make sure there are no stray overrides, which may indicate a\n // typo or using an unsupported key.\n const leftovers = Object.keys(overrides).filter((key) => ((overrides)[key] != null));\n if (leftovers.length) {\n logger.throwError(`cannot override ${ leftovers.map((l) => JSON.stringify(l)).join(\",\") }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides\",\n overrides: leftovers\n });\n }\n\n return tx;\n}\n\n\nfunction buildPopulate(contract: Contract, fragment: FunctionFragment): ContractFunction {\n return function(...args: Array): Promise {\n return populateTransaction(contract, fragment, args);\n };\n}\n\nfunction buildEstimate(contract: Contract, fragment: FunctionFragment): ContractFunction {\n const signerOrProvider = (contract.signer || contract.provider);\n return async function(...args: Array): Promise {\n if (!signerOrProvider) {\n logger.throwError(\"estimate require a provider or signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"estimateGas\"\n })\n }\n\n const tx = await populateTransaction(contract, fragment, args);\n return await signerOrProvider.estimateGas(tx);\n };\n}\n\nfunction addContractWait(contract: Contract, tx: TransactionResponse) {\n const wait = tx.wait.bind(tx);\n tx.wait = (confirmations?: number) => {\n return wait(confirmations).then((receipt: ContractReceipt) => {\n receipt.events = receipt.logs.map((log) => {\n let event: Event = (deepCopy(log));\n let parsed: LogDescription = null;\n try {\n parsed = contract.interface.parseLog(log);\n } catch (e){ }\n\n // Successfully parsed the event log; include it\n if (parsed) {\n event.args = parsed.args;\n event.decode = (data: BytesLike, topics?: Array) => {\n return contract.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n }\n\n // Useful operations\n event.removeListener = () => { return contract.provider; }\n event.getBlock = () => {\n return contract.provider.getBlock(receipt.blockHash);\n }\n event.getTransaction = () => {\n return contract.provider.getTransaction(receipt.transactionHash);\n }\n event.getTransactionReceipt = () => {\n return Promise.resolve(receipt);\n }\n\n return event;\n });\n\n return receipt;\n });\n };\n}\n\nfunction buildCall(contract: Contract, fragment: FunctionFragment, collapseSimple: boolean): ContractFunction {\n const signerOrProvider = (contract.signer || contract.provider);\n\n return async function(...args: Array): Promise {\n // Extract the \"blockTag\" override if present\n let blockTag = undefined;\n if (args.length === fragment.inputs.length + 1 && typeof(args[args.length - 1]) === \"object\") {\n const overrides = shallowCopy(args.pop());\n if (overrides.blockTag != null) {\n blockTag = await overrides.blockTag;\n }\n delete overrides.blockTag;\n args.push(overrides);\n }\n\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n await contract._deployed(blockTag);\n }\n\n // Call a node and get the result\n const tx = await populateTransaction(contract, fragment, args);\n const result = await signerOrProvider.call(tx, blockTag);\n\n try {\n let value = contract.interface.decodeFunctionResult(fragment, result);\n if (collapseSimple && fragment.outputs.length === 1) {\n value = value[0];\n }\n return value;\n\n } catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n error.address = contract.address;\n error.args = args;\n error.transaction = tx;\n }\n throw error;\n }\n };\n}\n\nfunction buildSend(contract: Contract, fragment: FunctionFragment): ContractFunction {\n return async function(...args: Array): Promise {\n if (!contract.signer) {\n logger.throwError(\"sending a transaction requires a signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"sendTransaction\"\n })\n }\n\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n await contract._deployed();\n }\n\n const txRequest = await populateTransaction(contract, fragment, args);\n\n const tx = await contract.signer.sendTransaction(txRequest);\n\n // Tweak the tx.wait so the receipt has extra properties\n addContractWait(contract, tx);\n\n return tx;\n };\n}\n\nfunction buildDefault(contract: Contract, fragment: FunctionFragment, collapseSimple: boolean): ContractFunction {\n if (fragment.constant) {\n return buildCall(contract, fragment, collapseSimple);\n }\n return buildSend(contract, fragment);\n}\n\nfunction getEventTag(filter: EventFilter): string {\n if (filter.address && (filter.topics == null || filter.topics.length === 0)) {\n return \"*\";\n }\n\n return (filter.address || \"*\") + \"@\" + (filter.topics ? filter.topics.map((topic) => {\n if (Array.isArray(topic)) {\n return topic.join(\"|\");\n }\n return topic;\n }).join(\":\"): \"\");\n}\n\nclass RunningEvent {\n readonly tag: string;\n readonly filter: EventFilter;\n private _listeners: Array<{ listener: Listener, once: boolean }>;\n\n constructor(tag: string, filter: EventFilter) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"filter\", filter);\n this._listeners = [ ];\n }\n\n addListener(listener: Listener, once: boolean): void {\n this._listeners.push({ listener: listener, once: once });\n }\n\n removeListener(listener: Listener): void {\n let done = false;\n this._listeners = this._listeners.filter((item) => {\n if (done || item.listener !== listener) { return true; }\n done = true;\n return false;\n });\n }\n\n removeAllListeners(): void {\n this._listeners = [];\n }\n\n listeners(): Array {\n return this._listeners.map((i) => i.listener);\n }\n\n listenerCount(): number {\n return this._listeners.length;\n }\n\n run(args: Array): number {\n const listenerCount = this.listenerCount();\n this._listeners = this._listeners.filter((item) => {\n\n const argsCopy = args.slice();\n\n // Call the callback in the next event loop\n setTimeout(() => {\n item.listener.apply(this, argsCopy);\n }, 0);\n\n // Reschedule it if it not \"once\"\n return !(item.once);\n });\n\n return listenerCount;\n }\n\n prepareEvent(event: Event): void {\n }\n\n // Returns the array that will be applied to an emit\n getEmit(event: Event): Array {\n return [ event ];\n }\n}\n\nclass ErrorRunningEvent extends RunningEvent {\n constructor() {\n super(\"error\", null);\n }\n}\n\n\n// @TODO Fragment should inherit Wildcard? and just override getEmit?\n// or have a common abstract super class, with enough constructor\n// options to configure both.\n\n// A Fragment Event will populate all the properties that Wildcard\n// will, and additionally dereference the arguments when emitting\nclass FragmentRunningEvent extends RunningEvent {\n readonly address: string;\n readonly interface: Interface;\n readonly fragment: EventFragment;\n\n constructor(address: string, contractInterface: Interface, fragment: EventFragment, topics?: Array>) {\n const filter: EventFilter = {\n address: address\n }\n\n let topic = contractInterface.getEventTopic(fragment);\n if (topics) {\n if (topic !== topics[0]) { logger.throwArgumentError(\"topic mismatch\", \"topics\", topics); }\n filter.topics = topics.slice();\n } else {\n filter.topics = [ topic ];\n }\n\n super(getEventTag(filter), filter);\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n defineReadOnly(this, \"fragment\", fragment);\n }\n\n\n prepareEvent(event: Event): void {\n super.prepareEvent(event);\n\n event.event = this.fragment.name;\n event.eventSignature = this.fragment.format();\n\n event.decode = (data: BytesLike, topics?: Array) => {\n return this.interface.decodeEventLog(this.fragment, data, topics);\n };\n\n try {\n event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics);\n } catch (error) {\n event.args = null;\n event.decodeError = error;\n }\n }\n\n getEmit(event: Event): Array {\n const errors = checkResultErrors(event.args);\n if (errors.length) { throw errors[0].error; }\n\n const args = (event.args || []).slice();\n args.push(event);\n return args;\n }\n}\n\n// A Wildcard Event will attempt to populate:\n// - event The name of the event name\n// - eventSignature The full signature of the event\n// - decode A function to decode data and topics\n// - args The decoded data and topics\nclass WildcardRunningEvent extends RunningEvent {\n readonly address: string;\n readonly interface: Interface;\n\n constructor(address: string, contractInterface: Interface) {\n super(\"*\", { address: address });\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n }\n\n prepareEvent(event: Event): void {\n super.prepareEvent(event);\n\n try {\n const parsed = this.interface.parseLog(event);\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n\n event.decode = (data: BytesLike, topics?: Array) => {\n return this.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n\n event.args = parsed.args;\n } catch (error) {\n // No matching event\n }\n }\n}\n\nexport type ContractInterface = string | ReadonlyArray | Interface;\n\ntype InterfaceFunc = (contractInterface: ContractInterface) => Interface;\n\n\nexport class BaseContract {\n readonly address: string;\n readonly interface: Interface;\n\n readonly signer: Signer;\n readonly provider: Provider;\n\n readonly functions: { [ name: string ]: ContractFunction };\n\n readonly callStatic: { [ name: string ]: ContractFunction };\n readonly estimateGas: { [ name: string ]: ContractFunction };\n readonly populateTransaction: { [ name: string ]: ContractFunction };\n\n readonly filters: { [ name: string ]: (...args: Array) => EventFilter };\n\n // This will always be an address. This will only differ from\n // address if an ENS name was used in the constructor\n readonly resolvedAddress: Promise;\n\n // This is only set if the contract was created with a call to deploy\n readonly deployTransaction: TransactionResponse;\n\n _deployedPromise: Promise;\n\n // A list of RunningEvents to track listeners for each event tag\n _runningEvents: { [ eventTag: string ]: RunningEvent };\n\n // Wrapped functions to call emit and allow deregistration from the provider\n _wrappedEmits: { [ eventTag: string ]: (...args: Array) => void };\n\n constructor(addressOrName: string, contractInterface: ContractInterface, signerOrProvider?: Signer | Provider) {\n // @TODO: Maybe still check the addressOrName looks like a valid address or name?\n //address = getAddress(address);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n\n if (signerOrProvider == null) {\n defineReadOnly(this, \"provider\", null);\n defineReadOnly(this, \"signer\", null);\n } else if (Signer.isSigner(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider.provider || null);\n defineReadOnly(this, \"signer\", signerOrProvider);\n } else if (Provider.isProvider(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider);\n defineReadOnly(this, \"signer\", null);\n } else {\n logger.throwArgumentError(\"invalid signer or provider\", \"signerOrProvider\", signerOrProvider);\n }\n\n defineReadOnly(this, \"callStatic\", { });\n defineReadOnly(this, \"estimateGas\", { });\n defineReadOnly(this, \"functions\", { });\n defineReadOnly(this, \"populateTransaction\", { });\n\n defineReadOnly(this, \"filters\", { });\n\n {\n const uniqueFilters: { [ name: string ]: Array } = { };\n Object.keys(this.interface.events).forEach((eventSignature) => {\n const event = this.interface.events[eventSignature];\n defineReadOnly(this.filters, eventSignature, (...args: Array) => {\n return {\n address: this.address,\n topics: this.interface.encodeFilterTopics(event, args)\n }\n });\n if (!uniqueFilters[event.name]) { uniqueFilters[event.name] = [ ]; }\n uniqueFilters[event.name].push(eventSignature);\n });\n\n Object.keys(uniqueFilters).forEach((name) => {\n const filters = uniqueFilters[name];\n if (filters.length === 1) {\n defineReadOnly(this.filters, name, this.filters[filters[0]]);\n } else {\n logger.warn(`Duplicate definition of ${ name } (${ filters.join(\", \")})`);\n }\n });\n }\n\n defineReadOnly(this, \"_runningEvents\", { });\n defineReadOnly(this, \"_wrappedEmits\", { });\n\n if (addressOrName == null) {\n logger.throwArgumentError(\"invalid contract address or ENS name\", \"addressOrName\", addressOrName);\n }\n\n defineReadOnly(this, \"address\", addressOrName);\n if (this.provider) {\n defineReadOnly(this, \"resolvedAddress\", resolveName(this.provider, addressOrName));\n } else {\n try {\n defineReadOnly(this, \"resolvedAddress\", Promise.resolve(getAddress(addressOrName)));\n } catch (error) {\n // Without a provider, we cannot use ENS names\n logger.throwError(\"provider is required to use ENS name as contract address\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Contract\"\n });\n }\n }\n\n // Swallow bad ENS names to prevent Unhandled Exceptions\n this.resolvedAddress.catch((e) => { });\n\n const uniqueNames: { [ name: string ]: Array } = { };\n const uniqueSignatures: { [ signature: string ]: boolean } = { };\n Object.keys(this.interface.functions).forEach((signature) => {\n const fragment = this.interface.functions[signature];\n\n // Check that the signature is unique; if not the ABI generation has\n // not been cleaned or may be incorrectly generated\n if (uniqueSignatures[signature]) {\n logger.warn(`Duplicate ABI entry for ${ JSON.stringify(signature) }`);\n return;\n }\n uniqueSignatures[signature] = true;\n\n // Track unique names; we only expose bare named functions if they\n // are ambiguous\n {\n const name = fragment.name;\n if (!uniqueNames[`%${ name }`]) { uniqueNames[`%${ name }`] = [ ]; }\n uniqueNames[`%${ name }`].push(signature);\n }\n\n if ((this)[signature] == null) {\n defineReadOnly(this, signature, buildDefault(this, fragment, true));\n }\n\n // We do not collapse simple calls on this bucket, which allows\n // frameworks to safely use this without introspection as well as\n // allows decoding error recovery.\n if (this.functions[signature] == null) {\n defineReadOnly(this.functions, signature, buildDefault(this, fragment, false));\n }\n\n if (this.callStatic[signature] == null) {\n defineReadOnly(this.callStatic, signature, buildCall(this, fragment, true));\n }\n\n if (this.populateTransaction[signature] == null) {\n defineReadOnly(this.populateTransaction, signature, buildPopulate(this, fragment));\n }\n\n if (this.estimateGas[signature] == null) {\n defineReadOnly(this.estimateGas, signature, buildEstimate(this, fragment));\n }\n });\n\n Object.keys(uniqueNames).forEach((name) => {\n // Ambiguous names to not get attached as bare names\n const signatures = uniqueNames[name];\n if (signatures.length > 1) { return; }\n\n // Strip off the leading \"%\" used for prototype protection\n name = name.substring(1);\n\n const signature = signatures[0];\n\n // If overwriting a member property that is null, swallow the error\n try {\n if ((this)[name] == null) {\n defineReadOnly(this, name, (this)[signature]);\n }\n } catch (e) { }\n\n if (this.functions[name] == null) {\n defineReadOnly(this.functions, name, this.functions[signature]);\n }\n\n if (this.callStatic[name] == null) {\n defineReadOnly(this.callStatic, name, this.callStatic[signature]);\n }\n\n if (this.populateTransaction[name] == null) {\n defineReadOnly(this.populateTransaction, name, this.populateTransaction[signature]);\n }\n\n if (this.estimateGas[name] == null) {\n defineReadOnly(this.estimateGas, name, this.estimateGas[signature]);\n }\n });\n }\n\n static getContractAddress(transaction: { from: string, nonce: BigNumberish }): string {\n return getContractAddress(transaction);\n }\n\n static getInterface(contractInterface: ContractInterface): Interface {\n if (Interface.isInterface(contractInterface)) {\n return contractInterface;\n }\n return new Interface(contractInterface);\n }\n\n // @TODO: Allow timeout?\n deployed(): Promise {\n return this._deployed();\n }\n\n _deployed(blockTag?: BlockTag): Promise {\n if (!this._deployedPromise) {\n\n // If we were just deployed, we know the transaction we should occur in\n if (this.deployTransaction) {\n this._deployedPromise = this.deployTransaction.wait().then(() => {\n return this;\n });\n\n } else {\n // @TODO: Once we allow a timeout to be passed in, we will wait\n // up to that many blocks for getCode\n\n // Otherwise, poll for our code to be deployed\n this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code) => {\n if (code === \"0x\") {\n logger.throwError(\"contract not deployed\", Logger.errors.UNSUPPORTED_OPERATION, {\n contractAddress: this.address,\n operation: \"getDeployed\"\n });\n }\n return this;\n });\n }\n }\n\n return this._deployedPromise;\n }\n\n // @TODO:\n // estimateFallback(overrides?: TransactionRequest): Promise\n\n // @TODO:\n // estimateDeploy(bytecode: string, ...args): Promise\n\n fallback(overrides?: TransactionRequest): Promise {\n if (!this.signer) {\n logger.throwError(\"sending a transactions require a signer\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"sendTransaction(fallback)\" })\n }\n\n const tx: Deferrable = shallowCopy(overrides || {});\n\n [\"from\", \"to\"].forEach(function(key) {\n if ((tx)[key] == null) { return; }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key })\n });\n\n tx.to = this.resolvedAddress;\n return this.deployed().then(() => {\n return this.signer.sendTransaction(tx);\n });\n }\n\n // Reconnect to a different signer or provider\n connect(signerOrProvider: Signer | Provider | string): Contract {\n if (typeof(signerOrProvider) === \"string\") {\n signerOrProvider = new VoidSigner(signerOrProvider, this.provider);\n }\n\n const contract = new (<{ new(...args: any[]): Contract }>(this.constructor))(this.address, this.interface, signerOrProvider);\n if (this.deployTransaction) {\n defineReadOnly(contract, \"deployTransaction\", this.deployTransaction);\n }\n\n return contract;\n }\n\n // Re-attach to a different on-chain instance of this contract\n attach(addressOrName: string): Contract {\n return new (<{ new(...args: any[]): Contract }>(this.constructor))(addressOrName, this.interface, this.signer || this.provider);\n }\n\n static isIndexed(value: any): value is Indexed {\n return Indexed.isIndexed(value);\n }\n\n private _normalizeRunningEvent(runningEvent: RunningEvent): RunningEvent {\n // Already have an instance of this event running; we can re-use it\n if (this._runningEvents[runningEvent.tag]) {\n return this._runningEvents[runningEvent.tag];\n }\n return runningEvent\n }\n\n private _getRunningEvent(eventName: EventFilter | string): RunningEvent {\n if (typeof(eventName) === \"string\") {\n\n // Listen for \"error\" events (if your contract has an error event, include\n // the full signature to bypass this special event keyword)\n if (eventName === \"error\") {\n return this._normalizeRunningEvent(new ErrorRunningEvent());\n }\n\n // Listen for any event that is registered\n if (eventName === \"event\") {\n return this._normalizeRunningEvent(new RunningEvent(\"event\", null));\n }\n\n // Listen for any event\n if (eventName === \"*\") {\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n\n // Get the event Fragment (throws if ambiguous/unknown event)\n const fragment = this.interface.getEvent(eventName)\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment));\n }\n\n // We have topics to filter by...\n if (eventName.topics && eventName.topics.length > 0) {\n\n // Is it a known topichash? (throws if no matching topichash)\n try {\n const topic = eventName.topics[0];\n if (typeof(topic) !== \"string\") {\n throw new Error(\"invalid topic\"); // @TODO: May happen for anonymous events\n }\n const fragment = this.interface.getEvent(topic);\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics));\n } catch (error) { }\n\n // Filter by the unknown topichash\n const filter: EventFilter = {\n address: this.address,\n topics: eventName.topics\n }\n\n return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter));\n }\n\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n\n _checkRunningEvents(runningEvent: RunningEvent): void {\n if (runningEvent.listenerCount() === 0) {\n delete this._runningEvents[runningEvent.tag];\n\n // If we have a poller for this, remove it\n const emit = this._wrappedEmits[runningEvent.tag];\n if (emit && runningEvent.filter) {\n this.provider.off(runningEvent.filter, emit);\n delete this._wrappedEmits[runningEvent.tag];\n }\n }\n }\n\n // Subclasses can override this to gracefully recover\n // from parse errors if they wish\n _wrapEvent(runningEvent: RunningEvent, log: Log, listener: Listener): Event {\n const event = deepCopy(log);\n\n event.removeListener = () => {\n if (!listener) { return; }\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n };\n\n event.getBlock = () => { return this.provider.getBlock(log.blockHash); }\n event.getTransaction = () => { return this.provider.getTransaction(log.transactionHash); }\n event.getTransactionReceipt = () => { return this.provider.getTransactionReceipt(log.transactionHash); }\n\n // This may throw if the topics and data mismatch the signature\n runningEvent.prepareEvent(event);\n\n return event;\n }\n\n private _addEventListener(runningEvent: RunningEvent, listener: Listener, once: boolean): void {\n if (!this.provider) {\n logger.throwError(\"events require a provider or a signer with a provider\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"once\" })\n }\n\n runningEvent.addListener(listener, once);\n\n // Track this running event and its listeners (may already be there; but no hard in updating)\n this._runningEvents[runningEvent.tag] = runningEvent;\n\n // If we are not polling the provider, start polling\n if (!this._wrappedEmits[runningEvent.tag]) {\n const wrappedEmit = (log: Log) => {\n let event = this._wrapEvent(runningEvent, log, listener);\n\n // Try to emit the result for the parameterized event...\n if (event.decodeError == null) {\n try {\n const args = runningEvent.getEmit(event);\n this.emit(runningEvent.filter, ...args);\n } catch (error) {\n event.decodeError = error.error;\n }\n }\n\n // Always emit \"event\" for fragment-base events\n if (runningEvent.filter != null) {\n this.emit(\"event\", event);\n }\n\n // Emit \"error\" if there was an error\n if (event.decodeError != null) {\n this.emit(\"error\", event.decodeError, event);\n }\n };\n this._wrappedEmits[runningEvent.tag] = wrappedEmit;\n\n // Special events, like \"error\" do not have a filter\n if (runningEvent.filter != null) {\n this.provider.on(runningEvent.filter, wrappedEmit);\n }\n }\n }\n\n queryFilter(event: EventFilter | string, fromBlockOrBlockhash?: BlockTag | string, toBlock?: BlockTag): Promise> {\n const runningEvent = this._getRunningEvent(event);\n const filter = shallowCopy(runningEvent.filter);\n\n if (typeof(fromBlockOrBlockhash) === \"string\" && isHexString(fromBlockOrBlockhash, 32)) {\n if (toBlock != null) {\n logger.throwArgumentError(\"cannot specify toBlock with blockhash\", \"toBlock\", toBlock);\n }\n (filter).blockHash = fromBlockOrBlockhash;\n } else {\n (filter).fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash: 0);\n (filter).toBlock = ((toBlock != null) ? toBlock: \"latest\");\n }\n\n return this.provider.getLogs(filter).then((logs) => {\n return logs.map((log) => this._wrapEvent(runningEvent, log, null));\n });\n }\n\n on(event: EventFilter | string, listener: Listener): this {\n this._addEventListener(this._getRunningEvent(event), listener, false);\n return this;\n }\n\n once(event: EventFilter | string, listener: Listener): this {\n this._addEventListener(this._getRunningEvent(event), listener, true);\n return this;\n }\n\n emit(eventName: EventFilter | string, ...args: Array): boolean {\n if (!this.provider) { return false; }\n\n const runningEvent = this._getRunningEvent(eventName);\n const result = (runningEvent.run(args) > 0);\n\n // May have drained all the \"once\" events; check for living events\n this._checkRunningEvents(runningEvent);\n\n return result;\n }\n\n listenerCount(eventName?: EventFilter | string): number {\n if (!this.provider) { return 0; }\n if (eventName == null) {\n return Object.keys(this._runningEvents).reduce((accum, key) => {\n return accum + this._runningEvents[key].listenerCount();\n }, 0);\n }\n return this._getRunningEvent(eventName).listenerCount();\n }\n\n listeners(eventName?: EventFilter | string): Array {\n if (!this.provider) { return []; }\n\n if (eventName == null) {\n const result: Array = [ ];\n for (let tag in this._runningEvents) {\n this._runningEvents[tag].listeners().forEach((listener) => {\n result.push(listener)\n });\n }\n return result;\n }\n\n return this._getRunningEvent(eventName).listeners();\n }\n\n removeAllListeners(eventName?: EventFilter | string): this {\n if (!this.provider) { return this; }\n\n if (eventName == null) {\n for (const tag in this._runningEvents) {\n const runningEvent = this._runningEvents[tag];\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n }\n return this;\n }\n\n // Delete any listeners\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n\n return this;\n }\n\n off(eventName: EventFilter | string, listener: Listener): this {\n if (!this.provider) { return this; }\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n return this;\n }\n\n removeListener(eventName: EventFilter | string, listener: Listener): this {\n return this.off(eventName, listener);\n }\n\n}\n\nexport class Contract extends BaseContract {\n // The meta-class properties\n readonly [ key: string ]: ContractFunction | any;\n}\n\nexport class ContractFactory {\n\n readonly interface: Interface;\n readonly bytecode: string;\n readonly signer: Signer;\n\n constructor(contractInterface: ContractInterface, bytecode: BytesLike | { object: string }, signer?: Signer) {\n\n let bytecodeHex: string = null;\n\n if (typeof(bytecode) === \"string\") {\n bytecodeHex = bytecode;\n } else if (isBytes(bytecode)) {\n bytecodeHex = hexlify(bytecode);\n } else if (bytecode && typeof(bytecode.object) === \"string\") {\n // Allow the bytecode object from the Solidity compiler\n bytecodeHex = (bytecode).object;\n } else {\n // Crash in the next verification step\n bytecodeHex = \"!\";\n }\n\n // Make sure it is 0x prefixed\n if (bytecodeHex.substring(0, 2) !== \"0x\") { bytecodeHex = \"0x\" + bytecodeHex; }\n\n // Make sure the final result is valid bytecode\n if (!isHexString(bytecodeHex) || (bytecodeHex.length % 2)) {\n logger.throwArgumentError(\"invalid bytecode\", \"bytecode\", bytecode);\n }\n\n // If we have a signer, make sure it is valid\n if (signer && !Signer.isSigner(signer)) {\n logger.throwArgumentError(\"invalid signer\", \"signer\", signer);\n }\n\n defineReadOnly(this, \"bytecode\", bytecodeHex);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n defineReadOnly(this, \"signer\", signer || null);\n }\n\n // @TODO: Future; rename to populateTransaction?\n getDeployTransaction(...args: Array): TransactionRequest {\n let tx: TransactionRequest = { };\n\n // If we have 1 additional argument, we allow transaction overrides\n if (args.length === this.interface.deploy.inputs.length + 1 && typeof(args[args.length - 1]) === \"object\") {\n tx = shallowCopy(args.pop());\n for (const key in tx) {\n if (!allowedTransactionKeys[key]) {\n throw new Error(\"unknown transaction override \" + key);\n }\n }\n }\n\n // Do not allow these to be overridden in a deployment transaction\n [\"data\", \"from\", \"to\"].forEach((key) => {\n if ((tx)[key] == null) { return; }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key })\n });\n\n if (tx.value) {\n const value = BigNumber.from(tx.value);\n if (!value.isZero() && !this.interface.deploy.payable) {\n logger.throwError(\"non-payable constructor cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: tx.value\n });\n }\n }\n\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n\n // Set the data to the bytecode + the encoded constructor arguments\n tx.data = hexlify(concat([\n this.bytecode,\n this.interface.encodeDeploy(args)\n ]));\n\n return tx\n }\n\n async deploy(...args: Array): Promise {\n\n let overrides: any = { };\n\n // If 1 extra parameter was passed in, it contains overrides\n if (args.length === this.interface.deploy.inputs.length + 1) {\n overrides = args.pop();\n }\n\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n\n // Resolve ENS names and promises in the arguments\n const params = await resolveAddresses(this.signer, args, this.interface.deploy.inputs);\n params.push(overrides);\n\n // Get the deployment transaction (with optional overrides)\n const unsignedTx = this.getDeployTransaction(...params);\n\n // Send the deployment transaction\n const tx = await this.signer.sendTransaction(unsignedTx);\n\n const address = getStatic<(tx: TransactionResponse) => string>(this.constructor, \"getContractAddress\")(tx);\n const contract = getStatic<(address: string, contractInterface: ContractInterface, signer?: Signer) => Contract>(this.constructor, \"getContract\")(address, this.interface, this.signer);\n\n // Add the modified wait that wraps events\n addContractWait(contract, tx);\n\n defineReadOnly(contract, \"deployTransaction\", tx);\n return contract;\n }\n\n attach(address: string): Contract {\n return ((this.constructor)).getContract(address, this.interface, this.signer);\n }\n\n connect(signer: Signer) {\n return new (<{ new(...args: any[]): ContractFactory }>(this.constructor))(this.interface, this.bytecode, signer);\n }\n\n static fromSolidity(compilerOutput: any, signer?: Signer): ContractFactory {\n if (compilerOutput == null) {\n logger.throwError(\"missing compiler output\", Logger.errors.MISSING_ARGUMENT, { argument: \"compilerOutput\" });\n }\n\n if (typeof(compilerOutput) === \"string\") {\n compilerOutput = JSON.parse(compilerOutput);\n }\n\n const abi = compilerOutput.abi;\n\n let bytecode: any = null;\n if (compilerOutput.bytecode) {\n bytecode = compilerOutput.bytecode;\n } else if (compilerOutput.evm && compilerOutput.evm.bytecode) {\n bytecode = compilerOutput.evm.bytecode;\n }\n\n return new this(abi, bytecode, signer);\n }\n\n static getInterface(contractInterface: ContractInterface) {\n return Contract.getInterface(contractInterface);\n }\n\n static getContractAddress(tx: { from: string, nonce: BytesLike | BigNumber | number }): string {\n return getContractAddress(tx);\n }\n\n static getContract(address: string, contractInterface: ContractInterface, signer?: Signer): Contract {\n return new Contract(address, contractInterface, signer);\n }\n}\n","export const version = \"contracts/5.7.0\";\n","export const version = \"hash/5.7.0\";\n","import { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\n\nexport function id(text: string): string {\n return keccak256(toUtf8Bytes(text));\n}\n","import { Bytes, concat } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\n\nexport const messagePrefix = \"\\x19Ethereum Signed Message:\\n\";\n\nexport function hashMessage(message: Bytes | string): string {\n if (typeof(message) === \"string\") { message = toUtf8Bytes(message); }\n return keccak256(concat([\n toUtf8Bytes(messagePrefix),\n toUtf8Bytes(String(message.length)),\n message\n ]));\n}\n\n","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n\nexport type Numbers = Uint8Array | Array;\nexport type NextFunc = (...args: Array) => number;\n\n// https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js\nfunction flat(array: Array, depth?: number): Array {\n if (depth == null) { depth = 1; }\n const result: Array = [];\n\n const forEach = result.forEach;\n\n const flatDeep = function (arr: Array, depth: number) {\n forEach.call(arr, function (val: any) {\n if (depth > 0 && Array.isArray(val)) {\n flatDeep(val, depth - 1);\n } else {\n result.push(val);\n }\n });\n };\n\n flatDeep(array, depth);\n return result;\n}\n\nfunction fromEntries(array: Array<[T, U]>): Record {\n const result: Record = >{ };\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n result[value[0]] = value[1];\n }\n return result;\n}\n\nexport function decode_arithmetic(bytes: Numbers): Array {\n\tlet pos = 0;\n\tfunction u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\n\t\n\t// decode the frequency table\n\tlet symbol_count = u16();\n\tlet total = 1;\n\tlet acc = [0, 1]; // first symbol has frequency 1\n\tfor (let i = 1; i < symbol_count; i++) {\n\t\tacc.push(total += u16());\n\t}\n\n\t// skip the sized-payload that the last 3 symbols index into\n\tlet skip = u16();\n\tlet pos_payload = pos;\n\tpos += skip;\n\n\tlet read_width = 0;\n\tlet read_buffer = 0; \n\tfunction read_bit() {\n\t\tif (read_width == 0) {\n\t\t\t// this will read beyond end of buffer\n\t\t\t// but (undefined|0) => zero pad\n\t\t\tread_buffer = (read_buffer << 8) | bytes[pos++];\n\t\t\tread_width = 8;\n\t\t}\n\t\treturn (read_buffer >> --read_width) & 1;\n\t}\n\n\tconst N = 31;\n\tconst FULL = 2**N;\n\tconst HALF = FULL >>> 1;\n\tconst QRTR = HALF >> 1;\n\tconst MASK = FULL - 1;\n\n\t// fill register\n\tlet register = 0;\n\tfor (let i = 0; i < N; i++) register = (register << 1) | read_bit();\n\n\tlet symbols = [];\n\tlet low = 0;\n\tlet range = FULL; // treat like a float\n\twhile (true) {\n\t\tlet value = Math.floor((((register - low + 1) * total) - 1) / range);\n\t\tlet start = 0;\n\t\tlet end = symbol_count;\n\t\twhile (end - start > 1) { // binary search\n\t\t\tlet mid = (start + end) >>> 1;\n\t\t\tif (value < acc[mid]) {\n\t\t\t\tend = mid;\n\t\t\t} else {\n\t\t\t\tstart = mid;\n\t\t\t}\n\t\t}\n\t\tif (start == 0) break; // first symbol is end mark\n\t\tsymbols.push(start);\n\t\tlet a = low + Math.floor(range * acc[start] / total);\n\t\tlet b = low + Math.floor(range * acc[start+1] / total) - 1\n\t\twhile (((a ^ b) & HALF) == 0) {\n\t\t\tregister = (register << 1) & MASK | read_bit();\n\t\t\ta = (a << 1) & MASK;\n\t\t\tb = (b << 1) & MASK | 1;\n\t\t}\n\t\twhile (a & ~b & QRTR) {\n\t\t\tregister = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\n\t\t\ta = (a << 1) ^ HALF;\n\t\t\tb = ((b ^ HALF) << 1) | HALF | 1;\n\t\t}\n\t\tlow = a;\n\t\trange = 1 + b - a;\n\t}\n\tlet offset = symbol_count - 4;\n\treturn symbols.map(x => { // index into payload\n\t\tswitch (x - offset) {\n\t\t\tcase 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n\t\t\tcase 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n\t\t\tcase 1: return offset + bytes[pos_payload++];\n\t\t\tdefault: return x - 1;\n\t\t}\n\t});\n}\t\n\n\n// returns an iterator which returns the next symbol\nexport function read_payload(v: Numbers): NextFunc {\n\tlet pos = 0;\n\treturn () => v[pos++];\n}\nexport function read_compressed_payload(bytes: Numbers): NextFunc {\n\treturn read_payload(decode_arithmetic(bytes));\n}\n\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\nexport function signed(i: number): number { \n\treturn (i & 1) ? (~i >> 1) : (i >> 1);\n}\n\nfunction read_counts(n: number, next: NextFunc): Array {\n\tlet v = Array(n);\n\tfor (let i = 0; i < n; i++) v[i] = 1 + next();\n\treturn v;\n}\n\nfunction read_ascending(n: number, next: NextFunc): Array {\n\tlet v = Array(n);\n\tfor (let i = 0, x = -1; i < n; i++) v[i] = x += 1 + next();\n\treturn v;\n}\n\nfunction read_deltas(n: number, next: NextFunc): Array {\n\tlet v = Array(n);\n\tfor (let i = 0, x = 0; i < n; i++) v[i] = x += signed(next());\n\treturn v;\n}\n\nexport function read_member_array(next: NextFunc, lookup?: Record) {\n let v = read_ascending(next(), next);\n let n = next();\n let vX = read_ascending(n, next);\n let vN = read_counts(n, next);\n for (let i = 0; i < n; i++) {\n for (let j = 0; j < vN[i]; j++) {\n v.push(vX[i] + j);\n }\n }\n return lookup ? v.map(x => lookup[x]) : v;\n}\n\n// returns array of \n// [x, ys] => single replacement rule\n// [x, ys, n, dx, dx] => linear map\nexport function read_mapped_map(next: NextFunc): Record> {\n\tlet ret = [];\n\twhile (true) {\n\t\tlet w = next();\n\t\tif (w == 0) break;\n\t\tret.push(read_linear_table(w, next));\n\t}\n\twhile (true) {\n\t\tlet w = next() - 1;\n\t\tif (w < 0) break;\n\t\tret.push(read_replacement_table(w, next));\n\t}\n\treturn fromEntries>(flat(ret));\n}\n\nexport function read_zero_terminated_array(next: NextFunc): Array {\n\tlet v = [];\n\twhile (true) {\n\t\tlet i = next();\n\t\tif (i == 0) break;\n\t\tv.push(i);\n\t}\n\treturn v;\n}\n\nfunction read_transposed(n: number, w: number, next: NextFunc): Array> {\n let m = Array(n).fill(undefined).map(() => []);\n for (let i = 0; i < w; i++) {\n read_deltas(n, next).forEach((x, j) => m[j].push(x));\n }\n return m;\n}\n\n\nfunction read_linear_table(w: number, next: NextFunc): Array>> {\n\tlet dx = 1 + next();\n\tlet dy = next();\n\tlet vN = read_zero_terminated_array(next);\n\tlet m = read_transposed(vN.length, 1+w, next);\n\treturn flat(m.map((v, i) => {\n\t const x = v[0], ys = v.slice(1);\n\t\t//let [x, ...ys] = v;\n\t\t//return Array(vN[i]).fill().map((_, j) => {\n\t\treturn Array(vN[i]).fill(undefined).map((_, j) => {\n\t\t\tlet j_dy = j * dy;\n\t\t\treturn [x + j * dx, ys.map(y => y + j_dy)];\n\t\t});\n\t}));\n}\n\nfunction read_replacement_table(w: number, next: NextFunc): Array<[ number, Array ]> {\n\tlet n = 1 + next();\n\tlet m = read_transposed(n, 1+w, next);\n\treturn m.map(v => [v[0], v.slice(1)]);\n}\n\nexport type Branch = {\n set: Set;\n node: Node;\n};\n\nexport type Node = {\n branches: Array;\n valid: number;\n fe0f: boolean;\n save: boolean;\n check: boolean;\n};\n\nexport function read_emoji_trie(next: NextFunc): Node {\n\tlet sorted = read_member_array(next).sort((a, b) => a - b);\n\treturn read();\n\tfunction read(): Node {\n\t\tlet branches = [];\n\t\twhile (true) {\n\t\t\tlet keys = read_member_array(next, sorted);\n\t\t\tif (keys.length == 0) break;\n\t\t\tbranches.push({set: new Set(keys), node: read()});\n\t\t}\n branches.sort((a, b) => b.set.size - a.set.size); // sort by likelihood\n \t\tlet temp = next();\n \t\tlet valid = temp % 3;\n \t\ttemp = (temp / 3)|0;\n \t\tlet fe0f = !!(temp & 1);\n \t\ttemp >>= 1;\n \t\tlet save = temp == 1;\n \t\tlet check = temp == 2;\n \t\treturn {branches, valid, fe0f, save, check};\n\t}\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n\nimport { toUtf8CodePoints } from \"@ethersproject/strings\";\n\nimport { getData } from './include.js';\nconst r = getData();\n\nimport {read_member_array, read_mapped_map, read_emoji_trie} from './decoder.js';\n\n// @TODO: This should be lazily loaded\n\nconst VALID = new Set(read_member_array(r));\nconst IGNORED = new Set(read_member_array(r));\nconst MAPPED = read_mapped_map(r);\nconst EMOJI_ROOT = read_emoji_trie(r);\n//const NFC_CHECK = new Set(read_member_array(r, Array.from(VALID.values()).sort((a, b) => a - b)));\n\n//const STOP = 0x2E;\nconst HYPHEN = 0x2D;\nconst UNDERSCORE = 0x5F;\n\nfunction explode_cp(name: string): Array {\n return toUtf8CodePoints(name);\n}\n\nfunction filter_fe0f(cps: Array): Array {\n return cps.filter(cp => cp != 0xFE0F);\n}\n\nexport function ens_normalize_post_check(name: string): string {\n\tfor (let label of name.split('.')) {\n\t\tlet cps = explode_cp(label);\n\t\ttry {\n\t\t\tfor (let i = cps.lastIndexOf(UNDERSCORE) - 1; i >= 0; i--) {\n\t\t\t\tif (cps[i] !== UNDERSCORE) {\n\t\t\t\t\tthrow new Error(`underscore only allowed at start`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (cps.length >= 4 && cps.every(cp => cp < 0x80) && cps[2] === HYPHEN && cps[3] === HYPHEN) {\n\t\t\t\tthrow new Error(`invalid label extension`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new Error(`Invalid label \"${label}\": ${err.message}`);\n\t\t}\n\t}\n\treturn name;\n}\n\nexport function ens_normalize(name: string): string {\n\treturn ens_normalize_post_check(normalize(name, filter_fe0f));\n}\n\nfunction normalize(name: string, emoji_filter: (a: Array) => Array): string {\n\tlet input = explode_cp(name).reverse(); // flip for pop\n\tlet output = [];\n\twhile (input.length) {\t\t\n\t\tlet emoji = consume_emoji_reversed(input);\n\t\tif (emoji) {\n\t\t\toutput.push(...emoji_filter(emoji));\n\t\t\tcontinue;\n\t\t}\n\t\tlet cp = input.pop();\n\t\tif (VALID.has(cp)) {\n\t\t\toutput.push(cp);\n\t\t\tcontinue;\n\t\t} \n\t\tif (IGNORED.has(cp)) {\n\t\t\tcontinue;\n\t\t}\n\t\tlet cps = MAPPED[cp];\n\t\tif (cps) {\n\t\t\toutput.push(...cps);\n\t\t\tcontinue;\n\t\t}\n\t\tthrow new Error(`Disallowed codepoint: 0x${cp.toString(16).toUpperCase()}`);\n\t}\n\treturn ens_normalize_post_check(nfc(String.fromCodePoint(...output)));\n}\n\nfunction nfc(s: string): string {\n return s.normalize('NFC');\n}\n\nfunction consume_emoji_reversed(cps: Array, eaten?: Array) {\n\tlet node = EMOJI_ROOT;\n\tlet emoji;\n\tlet saved;\n\tlet stack = [];\n\tlet pos = cps.length;\n\tif (eaten) eaten.length = 0; // clear input buffer (if needed)\n\twhile (pos) {\n\t\tlet cp = cps[--pos];\n\t\tnode = node.branches.find(x => x.set.has(cp))?.node;\n\t\tif (!node) break;\n\t\tif (node.save) { // remember\n\t\t\tsaved = cp;\n\t\t} else if (node.check) { // check exclusion\n\t\t\tif (cp === saved) break;\n\t\t}\n\t\tstack.push(cp);\n\t\tif (node.fe0f) {\n\t\t\tstack.push(0xFE0F);\n\t\t\tif (pos > 0 && cps[pos - 1] == 0xFE0F) pos--; // consume optional FE0F\n\t\t}\n\t\tif (node.valid) { // this is a valid emoji (so far)\n\t\t\temoji = stack.slice(); // copy stack\n\t\t\tif (node.valid == 2) emoji.splice(1, 1); // delete FE0F at position 1 (RGI ZWJ don't follow spec!)\n\t\t\tif (eaten) eaten.push(...cps.slice(pos).reverse()); // copy input (if needed)\n\t\t\tcps.length = pos; // truncate\n\t\t}\n\t}\n\treturn emoji;\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n\nimport { decode } from \"@ethersproject/base64\";\n\nimport {read_compressed_payload} from './decoder.js';\n\nexport function getData(): () => number {\n return read_compressed_payload(decode('AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=='));\n}\n\n","import { concat, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { ens_normalize } from \"./ens-normalize/lib\";\n\nconst Zeros = new Uint8Array(32);\nZeros.fill(0);\n\nfunction checkComponent(comp: Uint8Array): Uint8Array {\n if (comp.length === 0) { throw new Error(\"invalid ENS name; empty component\"); }\n return comp;\n}\n\nfunction ensNameSplit(name: string): Array {\n const bytes = toUtf8Bytes(ens_normalize(name));\n const comps: Array = [ ];\n\n if (name.length === 0) { return comps; }\n\n let last = 0;\n for (let i = 0; i < bytes.length; i++) {\n const d = bytes[i];\n\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push(checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n\n // There was a stray separator at the end of the name\n if (last >= bytes.length) { throw new Error(\"invalid ENS name; empty component\"); }\n\n comps.push(checkComponent(bytes.slice(last)));\n return comps;\n}\n\nexport function ensNormalize(name: string): string {\n return ensNameSplit(name).map((comp) => toUtf8String(comp)).join(\".\");\n}\n\nexport function isValidName(name: string): boolean {\n try {\n return (ensNameSplit(name).length !== 0);\n } catch (error) { }\n return false;\n}\n\nexport function namehash(name: string): string {\n /* istanbul ignore if */\n if (typeof(name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name; not a string\", \"name\", name);\n }\n\n let result: string | Uint8Array = Zeros;\n\n const comps = ensNameSplit(name);\n while (comps.length) {\n result = keccak256(concat([result, keccak256(comps.pop())]));\n }\n\n return hexlify(result);\n}\n\nexport function dnsEncode(name: string): string {\n return hexlify(concat(ensNameSplit(name).map((comp) => {\n // DNS does not allow components over 63 bytes in length\n if (comp.length > 63) {\n throw new Error(\"invalid DNS encoded entry; length exceeds 63 bytes\");\n }\n\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n\n }))) + \"00\";\n}\n","import { TypedDataDomain, TypedDataField } from \"@ethersproject/abstract-signer\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, hexConcat, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { id } from \"./id\";\n\nconst padding = new Uint8Array(32);\npadding.fill(0);\n\nconst NegativeOne: BigNumber = BigNumber.from(-1);\nconst Zero: BigNumber = BigNumber.from(0);\nconst One: BigNumber = BigNumber.from(1);\nconst MaxUint256: BigNumber = BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n\nfunction hexPadRight(value: BytesLike) {\n const bytes = arrayify(value);\n const padOffset = bytes.length % 32\n if (padOffset) {\n return hexConcat([ bytes, padding.slice(padOffset) ]);\n }\n return hexlify(bytes);\n}\n\nconst hexTrue = hexZeroPad(One.toHexString(), 32);\nconst hexFalse = hexZeroPad(Zero.toHexString(), 32);\n\nconst domainFieldTypes: Record = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\n\nconst domainFieldNames: Array = [\n \"name\", \"version\", \"chainId\", \"verifyingContract\", \"salt\"\n];\n\nfunction checkString(key: string): (value: any) => string {\n return function (value: any){\n if (typeof(value) !== \"string\") {\n logger.throwArgumentError(`invalid domain value for ${ JSON.stringify(key) }`, `domain.${ key }`, value);\n }\n return value;\n }\n}\n\nconst domainChecks: Record any> = {\n name: checkString(\"name\"),\n version: checkString(\"version\"),\n chainId: function(value: any) {\n try {\n return BigNumber.from(value).toString()\n } catch (error) { }\n return logger.throwArgumentError(`invalid domain value for \"chainId\"`, \"domain.chainId\", value);\n },\n verifyingContract: function(value: any) {\n try {\n return getAddress(value).toLowerCase();\n } catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function(value: any) {\n try {\n const bytes = arrayify(value);\n if (bytes.length !== 32) { throw new Error(\"bad length\"); }\n return hexlify(bytes);\n } catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"salt\"`, \"domain.salt\", value);\n }\n}\n\nfunction getBaseEncoder(type: string): (value: any) => string {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d*)$/);\n if (match) {\n const signed = (match[1] === \"\");\n\n const width = parseInt(match[2] || \"256\");\n if (width % 8 !== 0 || width > 256 || (match[2] && match[2] !== String(width))) {\n logger.throwArgumentError(\"invalid numeric width\", \"type\", type);\n }\n\n const boundsUpper = MaxUint256.mask(signed ? (width - 1): width);\n const boundsLower = signed ? boundsUpper.add(One).mul(NegativeOne): Zero;\n\n return function(value: BigNumberish) {\n const v = BigNumber.from(value);\n\n if (v.lt(boundsLower) || v.gt(boundsUpper)) {\n logger.throwArgumentError(`value out-of-bounds for ${ type }`, \"value\", value);\n }\n\n return hexZeroPad(v.toTwos(256).toHexString(), 32);\n };\n }\n }\n\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n if (width === 0 || width > 32 || match[1] !== String(width)) {\n logger.throwArgumentError(\"invalid bytes width\", \"type\", type);\n }\n\n return function(value: BytesLike) {\n const bytes = arrayify(value);\n if (bytes.length !== width) {\n logger.throwArgumentError(`invalid length for ${ type }`, \"value\", value);\n }\n return hexPadRight(value);\n };\n }\n }\n\n switch (type) {\n case \"address\": return function(value: string) {\n return hexZeroPad(getAddress(value), 32);\n };\n case \"bool\": return function(value: boolean) {\n return ((!value) ? hexFalse: hexTrue);\n };\n case \"bytes\": return function(value: BytesLike) {\n return keccak256(value);\n };\n case \"string\": return function(value: string) {\n return id(value);\n };\n }\n\n return null;\n}\n\nfunction encodeType(name: string, fields: Array): string {\n return `${ name }(${ fields.map(({ name, type }) => (type + \" \" + name)).join(\",\") })`;\n}\n\nexport class TypedDataEncoder {\n readonly primaryType: string;\n readonly types: Record>;\n\n readonly _encoderCache: Record string>;\n readonly _types: Record;\n\n constructor(types: Record>) {\n defineReadOnly(this, \"types\", Object.freeze(deepCopy(types)));\n\n defineReadOnly(this, \"_encoderCache\", { });\n defineReadOnly(this, \"_types\", { });\n\n // Link struct types to their direct child structs\n const links: Record> = { };\n\n // Link structs to structs which contain them as a child\n const parents: Record> = { };\n\n // Link all subtypes within a given struct\n const subtypes: Record> = { };\n\n Object.keys(types).forEach((type) => {\n links[type] = { };\n parents[type] = [ ];\n subtypes[type] = { }\n });\n\n for (const name in types) {\n\n const uniqueNames: Record = { };\n\n types[name].forEach((field) => {\n\n // Check each field has a unique name\n if (uniqueNames[field.name]) {\n logger.throwArgumentError(`duplicate variable name ${ JSON.stringify(field.name) } in ${ JSON.stringify(name) }`, \"types\", types);\n }\n uniqueNames[field.name] = true;\n\n // Get the base type (drop any array specifiers)\n const baseType = field.type.match(/^([^\\x5b]*)(\\x5b|$)/)[1];\n if (baseType === name) {\n logger.throwArgumentError(`circular type reference to ${ JSON.stringify(baseType) }`, \"types\", types);\n }\n\n // Is this a base encoding type?\n const encoder = getBaseEncoder(baseType);\n if (encoder) { return ;}\n\n if (!parents[baseType]) {\n logger.throwArgumentError(`unknown type ${ JSON.stringify(baseType) }`, \"types\", types);\n }\n\n // Add linkage\n parents[baseType].push(name);\n links[name][baseType] = true;\n });\n }\n\n // Deduce the primary type\n const primaryTypes = Object.keys(parents).filter((n) => (parents[n].length === 0));\n\n if (primaryTypes.length === 0) {\n logger.throwArgumentError(\"missing primary type\", \"types\", types);\n } else if (primaryTypes.length > 1) {\n logger.throwArgumentError(`ambiguous primary types or unused types: ${ primaryTypes.map((t) => (JSON.stringify(t))).join(\", \") }`, \"types\", types);\n }\n\n defineReadOnly(this, \"primaryType\", primaryTypes[0]);\n\n // Check for circular type references\n function checkCircular(type: string, found: Record) {\n if (found[type]) {\n logger.throwArgumentError(`circular type reference to ${ JSON.stringify(type) }`, \"types\", types);\n }\n\n found[type] = true;\n\n Object.keys(links[type]).forEach((child) => {\n if (!parents[child]) { return; }\n\n // Recursively check children\n checkCircular(child, found);\n\n // Mark all ancestors as having this decendant\n Object.keys(found).forEach((subtype) => {\n subtypes[subtype][child] = true;\n });\n });\n\n delete found[type];\n }\n checkCircular(this.primaryType, { });\n\n // Compute each fully describe type\n for (const name in subtypes) {\n const st = Object.keys(subtypes[name]);\n st.sort();\n this._types[name] = encodeType(name, types[name]) + st.map((t) => encodeType(t, types[t])).join(\"\");\n }\n }\n\n getEncoder(type: string): (value: any) => string {\n let encoder = this._encoderCache[type];\n if (!encoder) {\n encoder = this._encoderCache[type] = this._getEncoder(type);\n }\n return encoder;\n }\n\n _getEncoder(type: string): (value: any) => string {\n\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) { return encoder; }\n }\n\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const subEncoder = this.getEncoder(subtype);\n const length = parseInt(match[3]);\n return (value: Array) => {\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n\n let result = value.map(subEncoder);\n if (this._types[subtype]) {\n result = result.map(keccak256);\n }\n\n return keccak256(hexConcat(result));\n };\n }\n\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = id(this._types[type]);\n return (value: Record) => {\n const values = fields.map(({ name, type }) => {\n const result = this.getEncoder(type)(value[name]);\n if (this._types[type]) { return keccak256(result); }\n return result;\n });\n values.unshift(encodedType);\n return hexConcat(values);\n }\n }\n\n return logger.throwArgumentError(`unknown type: ${ type }`, \"type\", type);\n }\n\n encodeType(name: string): string {\n const result = this._types[name];\n if (!result) {\n logger.throwArgumentError(`unknown type: ${ JSON.stringify(name) }`, \"name\", name);\n }\n return result;\n }\n\n encodeData(type: string, value: any): string {\n return this.getEncoder(type)(value);\n }\n\n hashStruct(name: string, value: Record): string {\n return keccak256(this.encodeData(name, value));\n }\n\n encode(value: Record): string {\n return this.encodeData(this.primaryType, value);\n }\n\n hash(value: Record): string {\n return this.hashStruct(this.primaryType, value);\n }\n\n _visit(type: string, value: any, callback: (type: string, data: any) => any): any {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) { return callback(type, value); }\n }\n\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const length = parseInt(match[3]);\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n return value.map((v: any) => this._visit(subtype, v, callback));\n }\n\n // Struct\n const fields = this.types[type];\n if (fields) {\n return fields.reduce((accum, { name, type }) => {\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, >{});\n }\n\n return logger.throwArgumentError(`unknown type: ${ type }`, \"type\", type);\n }\n\n visit(value: Record, callback: (type: string, data: any) => any): any {\n return this._visit(this.primaryType, value, callback);\n }\n\n static from(types: Record>): TypedDataEncoder {\n return new TypedDataEncoder(types);\n }\n\n static getPrimaryType(types: Record>): string {\n return TypedDataEncoder.from(types).primaryType;\n }\n\n static hashStruct(name: string, types: Record>, value: Record): string {\n return TypedDataEncoder.from(types).hashStruct(name, value);\n }\n\n static hashDomain(domain: TypedDataDomain): string {\n const domainFields: Array = [ ];\n for (const name in domain) {\n const type = domainFieldTypes[name];\n if (!type) {\n logger.throwArgumentError(`invalid typed-data domain key: ${ JSON.stringify(name) }`, \"domain\", domain);\n }\n domainFields.push({ name, type });\n }\n\n domainFields.sort((a, b) => {\n return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name);\n });\n\n return TypedDataEncoder.hashStruct(\"EIP712Domain\", { EIP712Domain: domainFields }, domain);\n }\n\n static encode(domain: TypedDataDomain, types: Record>, value: Record): string {\n return hexConcat([\n \"0x1901\",\n TypedDataEncoder.hashDomain(domain),\n TypedDataEncoder.from(types).hash(value)\n ]);\n }\n\n static hash(domain: TypedDataDomain, types: Record>, value: Record): string {\n return keccak256(TypedDataEncoder.encode(domain, types, value));\n }\n\n // Replaces all address types with ENS names with their looked up address\n static async resolveNames(domain: TypedDataDomain, types: Record>, value: Record, resolveName: (name: string) => Promise): Promise<{ domain: TypedDataDomain, value: any }> {\n // Make a copy to isolate it from the object passed in\n domain = shallowCopy(domain);\n\n // Look up all ENS names\n const ensCache: Record = { };\n\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !isHexString(domain.verifyingContract, 20)) {\n ensCache[domain.verifyingContract] = \"0x\";\n }\n\n // We are going to use the encoder to visit all the base values\n const encoder = TypedDataEncoder.from(types);\n\n // Get a list of all the addresses\n encoder.visit(value, (type: string, value: any) => {\n if (type === \"address\" && !isHexString(value, 20)) {\n ensCache[value] = \"0x\";\n }\n return value;\n });\n\n // Lookup each name\n for (const name in ensCache) {\n ensCache[name] = await resolveName(name);\n }\n\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) {\n domain.verifyingContract = ensCache[domain.verifyingContract];\n }\n\n // Replace all ENS names with their address\n value = encoder.visit(value, (type: string, value: any) => {\n if (type === \"address\" && ensCache[value]) { return ensCache[value]; }\n return value;\n });\n\n return { domain, value };\n }\n\n static getPayload(domain: TypedDataDomain, types: Record>, value: Record): any {\n // Validate the domain fields\n TypedDataEncoder.hashDomain(domain);\n\n // Derive the EIP712Domain Struct reference type\n const domainValues: Record = { };\n const domainTypes: Array<{ name: string, type:string }> = [ ];\n\n domainFieldNames.forEach((name) => {\n const value = (domain)[name];\n if (value == null) { return; }\n domainValues[name] = domainChecks[name](value);\n domainTypes.push({ name, type: domainFieldTypes[name] });\n });\n\n const encoder = TypedDataEncoder.from(types);\n\n const typesWithDomain = shallowCopy(types);\n if (typesWithDomain.EIP712Domain) {\n logger.throwArgumentError(\"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n } else {\n typesWithDomain.EIP712Domain = domainTypes;\n }\n\n // Validate the data structures and types\n encoder.encode(value);\n\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type: string, value: any) => {\n\n // bytes\n if (type.match(/^bytes(\\d*)/)) {\n return hexlify(arrayify(value));\n }\n\n // uint or int\n if (type.match(/^u?int/)) {\n return BigNumber.from(value).toString();\n }\n\n switch (type) {\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n if (typeof(value) !== \"string\") {\n logger.throwArgumentError(`invalid string`, \"value\", value);\n }\n return value;\n }\n\n return logger.throwArgumentError(\"unsupported type\", \"type\", type);\n })\n };\n }\n}\n\n","export const version = \"hdnode/5.7.0\";\n","\"use strict\";\n\n// See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\n// See: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\n\n\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { arrayify, BytesLike, concat, hexDataSlice, hexZeroPad, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from \"@ethersproject/strings\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { computeHmac, ripemd160, sha256, SupportedAlgorithm } from \"@ethersproject/sha2\";\nimport { computeAddress } from \"@ethersproject/transactions\";\nimport { Wordlist, wordlists } from \"@ethersproject/wordlists\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst N = BigNumber.from(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n\n\n// \"Bitcoin seed\"\nconst MasterSecret = toUtf8Bytes(\"Bitcoin seed\");\n\nconst HardenedBit = 0x80000000;\n\n// Returns a byte with the MSB bits set\nfunction getUpperMask(bits: number): number {\n return ((1 << bits) - 1) << (8 - bits);\n}\n\n// Returns a byte with the LSB bits set\nfunction getLowerMask(bits: number): number {\n return (1 << bits) - 1;\n}\n\nfunction bytes32(value: BigNumber | Uint8Array): string {\n return hexZeroPad(hexlify(value), 32);\n}\n\nfunction base58check(data: Uint8Array): string {\n return Base58.encode(concat([ data, hexDataSlice(sha256(sha256(data)), 0, 4) ]));\n}\n\nfunction getWordlist(wordlist: string | Wordlist): Wordlist {\n if (wordlist == null) {\n return wordlists[\"en\"];\n }\n\n if (typeof(wordlist) === \"string\") {\n const words = wordlists[wordlist];\n if (words == null) {\n logger.throwArgumentError(\"unknown locale\", \"wordlist\", wordlist);\n }\n return words;\n }\n\n return wordlist;\n}\n\nconst _constructorGuard: any = {};\n\nexport const defaultPath = \"m/44'/60'/0'/0/0\";\n\nexport interface Mnemonic {\n readonly phrase: string;\n readonly path: string;\n readonly locale: string;\n};\n\nexport class HDNode implements ExternallyOwnedAccount {\n readonly privateKey: string;\n readonly publicKey: string;\n\n readonly fingerprint: string;\n readonly parentFingerprint: string;\n\n readonly address: string;\n\n readonly mnemonic?: Mnemonic;\n readonly path: string;\n\n readonly chainCode: string;\n\n readonly index: number;\n readonly depth: number;\n\n /**\n * This constructor should not be called directly.\n *\n * Please use:\n * - fromMnemonic\n * - fromSeed\n */\n constructor(constructorGuard: any, privateKey: string, publicKey: string, parentFingerprint: string, chainCode: string, index: number, depth: number, mnemonicOrPath: Mnemonic | string) {\n /* istanbul ignore if */\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"HDNode constructor cannot be called directly\");\n }\n\n if (privateKey) {\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"privateKey\", signingKey.privateKey);\n defineReadOnly(this, \"publicKey\", signingKey.compressedPublicKey);\n } else {\n defineReadOnly(this, \"privateKey\", null);\n defineReadOnly(this, \"publicKey\", hexlify(publicKey));\n }\n\n defineReadOnly(this, \"parentFingerprint\", parentFingerprint);\n defineReadOnly(this, \"fingerprint\", hexDataSlice(ripemd160(sha256(this.publicKey)), 0, 4));\n\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n\n defineReadOnly(this, \"chainCode\", chainCode);\n\n defineReadOnly(this, \"index\", index);\n defineReadOnly(this, \"depth\", depth);\n\n if (mnemonicOrPath == null) {\n // From a source that does not preserve the path (e.g. extended keys)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", null);\n\n } else if (typeof(mnemonicOrPath) === \"string\") {\n // From a source that does not preserve the mnemonic (e.g. neutered)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", mnemonicOrPath);\n\n } else {\n // From a fully qualified source\n defineReadOnly(this, \"mnemonic\", mnemonicOrPath);\n defineReadOnly(this, \"path\", mnemonicOrPath.path);\n }\n }\n\n get extendedKey(): string {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n\n if (this.depth >= 256) { throw new Error(\"Depth too large!\"); }\n\n return base58check(concat([\n ((this.privateKey != null) ? \"0x0488ADE4\": \"0x0488B21E\"),\n hexlify(this.depth),\n this.parentFingerprint,\n hexZeroPad(hexlify(this.index), 4),\n this.chainCode,\n ((this.privateKey != null) ? concat([ \"0x00\", this.privateKey ]): this.publicKey),\n ]));\n }\n\n neuter(): HDNode {\n return new HDNode(_constructorGuard, null, this.publicKey, this.parentFingerprint, this.chainCode, this.index, this.depth, this.path);\n }\n\n private _derive(index: number): HDNode {\n if (index > 0xffffffff) { throw new Error(\"invalid index - \" + String(index)); }\n\n // Base path\n let path = this.path;\n if (path) { path += \"/\" + (index & ~HardenedBit); }\n\n const data = new Uint8Array(37);\n\n if (index & HardenedBit) {\n if (!this.privateKey) {\n throw new Error(\"cannot derive child of neutered node\");\n }\n\n // Data = 0x00 || ser_256(k_par)\n data.set(arrayify(this.privateKey), 1);\n\n // Hardened path\n if (path) { path += \"'\"; }\n\n } else {\n // Data = ser_p(point(k_par))\n data.set(arrayify(this.publicKey));\n }\n\n // Data += ser_32(i)\n for (let i = 24; i >= 0; i -= 8) { data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff); }\n\n const I = arrayify(computeHmac(SupportedAlgorithm.sha512, this.chainCode, data));\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n\n // The private key\n let ki: string = null\n\n // The public key\n let Ki: string = null;\n\n if (this.privateKey) {\n ki = bytes32(BigNumber.from(IL).add(this.privateKey).mod(N));\n } else {\n const ek = new SigningKey(hexlify(IL));\n Ki = ek._addPoint(this.publicKey);\n }\n\n let mnemonicOrPath: Mnemonic | string = path;\n\n const srcMnemonic = this.mnemonic;\n if (srcMnemonic) {\n mnemonicOrPath = Object.freeze({\n phrase: srcMnemonic.phrase,\n path: path,\n locale: (srcMnemonic.locale || \"en\")\n });\n }\n\n return new HDNode(_constructorGuard, ki, Ki, this.fingerprint, bytes32(IR), index, this.depth + 1, mnemonicOrPath);\n }\n\n derivePath(path: string): HDNode {\n const components = path.split(\"/\");\n\n if (components.length === 0 || (components[0] === \"m\" && this.depth !== 0)) {\n throw new Error(\"invalid path - \" + path);\n }\n\n if (components[0] === \"m\") { components.shift(); }\n\n let result: HDNode = this;\n for (let i = 0; i < components.length; i++) {\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n if (index >= HardenedBit) { throw new Error(\"invalid path index - \" + component); }\n result = result._derive(HardenedBit + index);\n } else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n if (index >= HardenedBit) { throw new Error(\"invalid path index - \" + component); }\n result = result._derive(index);\n } else {\n throw new Error(\"invalid path component - \" + component);\n }\n }\n\n return result;\n }\n\n\n static _fromSeed(seed: BytesLike, mnemonic: Mnemonic): HDNode {\n const seedArray: Uint8Array = arrayify(seed);\n if (seedArray.length < 16 || seedArray.length > 64) { throw new Error(\"invalid seed\"); }\n\n const I: Uint8Array = arrayify(computeHmac(SupportedAlgorithm.sha512, MasterSecret, seedArray));\n\n return new HDNode(_constructorGuard, bytes32(I.slice(0, 32)), null, \"0x00000000\", bytes32(I.slice(32)), 0, 0, mnemonic);\n }\n\n static fromMnemonic(mnemonic: string, password?: string, wordlist?: string | Wordlist): HDNode {\n\n // If a locale name was passed in, find the associated wordlist\n wordlist = getWordlist(wordlist);\n\n // Normalize the case and spacing in the mnemonic (throws if the mnemonic is invalid)\n mnemonic = entropyToMnemonic(mnemonicToEntropy(mnemonic, wordlist), wordlist);\n\n return HDNode._fromSeed(mnemonicToSeed(mnemonic, password), {\n phrase: mnemonic,\n path: \"m\",\n locale: wordlist.locale\n });\n }\n\n static fromSeed(seed: BytesLike): HDNode {\n return HDNode._fromSeed(seed, null);\n }\n\n static fromExtendedKey(extendedKey: string): HDNode {\n const bytes = Base58.decode(extendedKey);\n\n if (bytes.length !== 82 || base58check(bytes.slice(0, 78)) !== extendedKey) {\n logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n\n const depth = bytes[4];\n const parentFingerprint = hexlify(bytes.slice(5, 9));\n const index = parseInt(hexlify(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = hexlify(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n\n switch (hexlify(bytes.slice(0, 4))) {\n // Public Key\n case \"0x0488b21e\": case \"0x043587cf\":\n return new HDNode(_constructorGuard, null, hexlify(key), parentFingerprint, chainCode, index, depth, null);\n\n // Private Key\n case \"0x0488ade4\": case \"0x04358394 \":\n if (key[0] !== 0) { break; }\n return new HDNode(_constructorGuard, hexlify(key.slice(1)), null, parentFingerprint, chainCode, index, depth, null);\n }\n\n return logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n}\n\nexport function mnemonicToSeed(mnemonic: string, password?: string): string {\n if (!password) { password = \"\"; }\n\n const salt = toUtf8Bytes(\"mnemonic\" + password, UnicodeNormalizationForm.NFKD);\n\n return pbkdf2(toUtf8Bytes(mnemonic, UnicodeNormalizationForm.NFKD), salt, 2048, 64, \"sha512\");\n}\n\nexport function mnemonicToEntropy(mnemonic: string, wordlist?: string | Wordlist): string {\n wordlist = getWordlist(wordlist);\n\n logger.checkNormalize();\n\n const words = wordlist.split(mnemonic);\n if ((words.length % 3) !== 0) { throw new Error(\"invalid mnemonic\"); }\n\n const entropy = arrayify(new Uint8Array(Math.ceil(11 * words.length / 8)));\n\n let offset = 0;\n for (let i = 0; i < words.length; i++) {\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n if (index === -1) { throw new Error(\"invalid mnemonic\"); }\n\n for (let bit = 0; bit < 11; bit++) {\n if (index & (1 << (10 - bit))) {\n entropy[offset >> 3] |= (1 << (7 - (offset % 8)));\n }\n offset++;\n }\n }\n\n const entropyBits = 32 * words.length / 3;\n\n const checksumBits = words.length / 3;\n const checksumMask = getUpperMask(checksumBits);\n\n const checksum = arrayify(sha256(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n\n if (checksum !== (entropy[entropy.length - 1] & checksumMask)) {\n throw new Error(\"invalid checksum\");\n }\n\n return hexlify(entropy.slice(0, entropyBits / 8));\n}\n\nexport function entropyToMnemonic(entropy: BytesLike, wordlist?: string | Wordlist): string {\n wordlist = getWordlist(wordlist);\n\n entropy = arrayify(entropy);\n\n if ((entropy.length % 4) !== 0 || entropy.length < 16 || entropy.length > 32) {\n throw new Error(\"invalid entropy\");\n }\n\n const indices: Array = [ 0 ];\n\n let remainingBits = 11;\n for (let i = 0; i < entropy.length; i++) {\n\n // Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n\n remainingBits -= 8;\n\n // This byte will complete an 11-bit index\n } else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits);\n\n // Start the next word\n indices.push(entropy[i] & getLowerMask(8 - remainingBits));\n\n remainingBits += 3;\n }\n }\n\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = arrayify(sha256(entropy))[0] & getUpperMask(checksumBits);\n\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= (checksum >> (8 - checksumBits));\n\n return wordlist.join(indices.map((index) => (wordlist).getWord(index)));\n}\n\nexport function isValidMnemonic(mnemonic: string, wordlist?: Wordlist): boolean {\n try {\n mnemonicToEntropy(mnemonic, wordlist);\n return true;\n } catch (error) { }\n return false;\n}\n\nexport function getAccountPath(index: number): string {\n if (typeof(index) !== \"number\" || index < 0 || index >= HardenedBit || index % 1) {\n logger.throwArgumentError(\"invalid account index\", \"index\", index);\n }\n return `m/44'/60'/${ index }'/0/0`;\n}\n","export const version = \"json-wallets/5.7.0\";\n","\"use strict\";\n\nimport aes from \"aes-js\";\n\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify, Bytes } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { Description } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { getPassword, looseArrayify, searchPath } from \"./utils\";\n\nexport interface _CrowdsaleAccount {\n address: string;\n privateKey: string;\n\n _isCrowdsaleAccount: boolean;\n}\n\nexport class CrowdsaleAccount extends Description<_CrowdsaleAccount> implements ExternallyOwnedAccount {\n readonly address: string;\n readonly privateKey: string;\n readonly mnemonic?: string;\n readonly path?: string;\n\n readonly _isCrowdsaleAccount: boolean;\n\n isCrowdsaleAccount(value: any): value is CrowdsaleAccount {\n return !!(value && value._isCrowdsaleAccount);\n }\n}\n\n// See: https://github.com/ethereum/pyethsaletool\nexport function decrypt(json: string, password: Bytes | string): ExternallyOwnedAccount {\n const data = JSON.parse(json);\n\n password = getPassword(password);\n\n // Ethereum Address\n const ethaddr = getAddress(searchPath(data, \"ethaddr\"));\n\n // Encrypted Seed\n const encseed = looseArrayify(searchPath(data, \"encseed\"));\n if (!encseed || (encseed.length % 16) !== 0) {\n logger.throwArgumentError(\"invalid encseed\", \"json\", json);\n }\n\n const key = arrayify(pbkdf2(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n\n // Decrypt the seed\n const aesCbc = new aes.ModeOfOperation.cbc(key, iv);\n const seed = aes.padding.pkcs7.strip(arrayify(aesCbc.decrypt(encryptedSeed)));\n\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for (let i = 0; i < seed.length; i++) {\n seedHex += String.fromCharCode(seed[i]);\n }\n\n const seedHexBytes = toUtf8Bytes(seedHex);\n\n const privateKey = keccak256(seedHexBytes);\n\n return new CrowdsaleAccount ({\n _isCrowdsaleAccount: true,\n address: ethaddr,\n privateKey: privateKey\n });\n}\n\n","\"use strict\";\n\nimport { Bytes } from \"@ethersproject/bytes\";\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\n\nimport { decrypt as decryptCrowdsale } from \"./crowdsale\";\nimport { getJsonWalletAddress, isCrowdsaleWallet, isKeystoreWallet } from \"./inspect\";\nimport { decrypt as decryptKeystore, decryptSync as decryptKeystoreSync, encrypt as encryptKeystore, EncryptOptions, ProgressCallback } from \"./keystore\";\n\nfunction decryptJsonWallet(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise {\n if (isCrowdsaleWallet(json)) {\n if (progressCallback) { progressCallback(0); }\n const account = decryptCrowdsale(json, password)\n if (progressCallback) { progressCallback(1); }\n return Promise.resolve(account);\n }\n\n if (isKeystoreWallet(json)) {\n return decryptKeystore(json, password, progressCallback);\n }\n\n return Promise.reject(new Error(\"invalid JSON wallet\"));\n}\n\nfunction decryptJsonWalletSync(json: string, password: Bytes | string): ExternallyOwnedAccount {\n if (isCrowdsaleWallet(json)) {\n return decryptCrowdsale(json, password)\n }\n\n if (isKeystoreWallet(json)) {\n return decryptKeystoreSync(json, password);\n }\n\n throw new Error(\"invalid JSON wallet\");\n}\n\nexport {\n decryptCrowdsale,\n\n decryptKeystore,\n decryptKeystoreSync,\n encryptKeystore,\n\n isCrowdsaleWallet,\n isKeystoreWallet,\n getJsonWalletAddress,\n\n decryptJsonWallet,\n decryptJsonWalletSync,\n\n ProgressCallback,\n EncryptOptions,\n};\n","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\n\n\nexport function isCrowdsaleWallet(json: string): boolean {\n let data: any = null;\n try {\n data = JSON.parse(json);\n } catch (error) { return false; }\n\n return (data.encseed && data.ethaddr);\n}\n\nexport function isKeystoreWallet(json: string): boolean {\n let data: any = null;\n try {\n data = JSON.parse(json);\n } catch (error) { return false; }\n\n if (!data.version || parseInt(data.version) !== data.version || parseInt(data.version) !== 3) {\n return false;\n }\n\n // @TODO: Put more checks to make sure it has kdf, iv and all that good stuff\n return true;\n}\n\n//export function isJsonWallet(json: string): boolean {\n// return (isSecretStorageWallet(json) || isCrowdsaleWallet(json));\n//}\n\nexport function getJsonWalletAddress(json: string): string {\n if (isCrowdsaleWallet(json)) {\n try {\n return getAddress(JSON.parse(json).ethaddr);\n } catch (error) { return null; }\n }\n\n if (isKeystoreWallet(json)) {\n try {\n return getAddress(JSON.parse(json).address);\n } catch (error) { return null; }\n }\n\n return null;\n}\n\n","\"use strict\";\n\nimport aes from \"aes-js\";\nimport scrypt from \"scrypt-js\";\n\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify, Bytes, BytesLike, concat, hexlify } from \"@ethersproject/bytes\";\nimport { defaultPath, entropyToMnemonic, HDNode, Mnemonic, mnemonicToEntropy } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 as _pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { Description } from \"@ethersproject/properties\";\nimport { computeAddress } from \"@ethersproject/transactions\";\n\nimport { getPassword, looseArrayify, searchPath, uuidV4, zpad } from \"./utils\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n// Exported Types\n\nfunction hasMnemonic(value: any): value is { mnemonic: Mnemonic } {\n return (value != null && value.mnemonic && value.mnemonic.phrase);\n}\n\nexport interface _KeystoreAccount {\n address: string;\n privateKey: string;\n mnemonic?: Mnemonic;\n\n _isKeystoreAccount: boolean;\n}\n\nexport class KeystoreAccount extends Description<_KeystoreAccount> implements ExternallyOwnedAccount {\n readonly address: string;\n readonly privateKey: string;\n readonly mnemonic?: Mnemonic;\n\n readonly _isKeystoreAccount: boolean;\n\n isKeystoreAccount(value: any): value is KeystoreAccount {\n return !!(value && value._isKeystoreAccount);\n }\n}\n\nexport type ProgressCallback = (percent: number) => void;\n\nexport type EncryptOptions = {\n iv?: BytesLike;\n entropy?: BytesLike;\n client?: string;\n salt?: BytesLike;\n uuid?: string;\n scrypt?: {\n N?: number;\n r?: number;\n p?: number;\n }\n}\n\nfunction _decrypt(data: any, key: Uint8Array, ciphertext: Uint8Array): Uint8Array {\n const cipher = searchPath(data, \"crypto/cipher\");\n if (cipher === \"aes-128-ctr\") {\n const iv = looseArrayify(searchPath(data, \"crypto/cipherparams/iv\"))\n const counter = new aes.Counter(iv);\n\n const aesCtr = new aes.ModeOfOperation.ctr(key, counter);\n\n return arrayify(aesCtr.decrypt(ciphertext));\n }\n\n return null;\n}\n\nfunction _getAccount(data: any, key: Uint8Array): KeystoreAccount {\n const ciphertext = looseArrayify(searchPath(data, \"crypto/ciphertext\"));\n\n const computedMAC = hexlify(keccak256(concat([ key.slice(16, 32), ciphertext ]))).substring(2);\n if (computedMAC !== searchPath(data, \"crypto/mac\").toLowerCase()) {\n throw new Error(\"invalid password\");\n }\n\n const privateKey = _decrypt(data, key.slice(0, 16), ciphertext);\n\n if (!privateKey) {\n logger.throwError(\"unsupported cipher\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"decrypt\"\n });\n }\n\n const mnemonicKey = key.slice(32, 64);\n\n const address = computeAddress(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (check.substring(0, 2) !== \"0x\") { check = \"0x\" + check; }\n\n if (getAddress(check) !== address) {\n throw new Error(\"address mismatch\");\n }\n }\n\n const account: _KeystoreAccount = {\n _isKeystoreAccount: true,\n address: address,\n privateKey: hexlify(privateKey)\n };\n\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n if (searchPath(data, \"x-ethers/version\") === \"0.1\") {\n const mnemonicCiphertext = looseArrayify(searchPath(data, \"x-ethers/mnemonicCiphertext\"));\n const mnemonicIv = looseArrayify(searchPath(data, \"x-ethers/mnemonicCounter\"));\n\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n\n const path = searchPath(data, \"x-ethers/path\") || defaultPath;\n const locale = searchPath(data, \"x-ethers/locale\") || \"en\";\n\n const entropy = arrayify(mnemonicAesCtr.decrypt(mnemonicCiphertext));\n\n try {\n const mnemonic = entropyToMnemonic(entropy, locale);\n const node = HDNode.fromMnemonic(mnemonic, null, locale).derivePath(path);\n\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n\n account.mnemonic = node.mnemonic;\n\n } catch (error) {\n // If we don't have the locale wordlist installed to\n // read this mnemonic, just bail and don't set the\n // mnemonic\n if (error.code !== Logger.errors.INVALID_ARGUMENT || error.argument !== \"wordlist\") {\n throw error;\n }\n }\n }\n\n return new KeystoreAccount(account);\n}\n\ntype ScryptFunc = (pw: Uint8Array, salt: Uint8Array, n: number, r: number, p: number, dkLen: number, callback?: ProgressCallback) => T;\ntype Pbkdf2Func = (pw: Uint8Array, salt: Uint8Array, c: number, dkLen: number, prfFunc: string) => T;\n\nfunction pbkdf2Sync(passwordBytes: Uint8Array, salt: Uint8Array, count: number, dkLen: number, prfFunc: string): Uint8Array {\n return arrayify(_pbkdf2(passwordBytes, salt, count, dkLen, prfFunc));\n}\n\nfunction pbkdf2(passwordBytes: Uint8Array, salt: Uint8Array, count: number, dkLen: number, prfFunc: string): Promise {\n return Promise.resolve(pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc));\n}\n\nfunction _computeKdfKey(data: any, password: Bytes | string, pbkdf2Func: Pbkdf2Func, scryptFunc: ScryptFunc, progressCallback?: ProgressCallback): T {\n const passwordBytes = getPassword(password);\n\n const kdf = searchPath(data, \"crypto/kdf\");\n\n if (kdf && typeof(kdf) === \"string\") {\n const throwError = function(name: string, value: any): never {\n return logger.throwArgumentError(\"invalid key-derivation function parameters\", name, value);\n }\n\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n const N = parseInt(searchPath(data, \"crypto/kdfparams/n\"));\n const r = parseInt(searchPath(data, \"crypto/kdfparams/r\"));\n const p = parseInt(searchPath(data, \"crypto/kdfparams/p\"));\n\n // Check for all required parameters\n if (!N || !r || !p) { throwError(\"kdf\", kdf); }\n\n // Make sure N is a power of 2\n if ((N & (N - 1)) !== 0) { throwError(\"N\", N); }\n\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) { throwError(\"dklen\", dkLen); }\n\n return scryptFunc(passwordBytes, salt, N, r, p, 64, progressCallback);\n\n } else if (kdf.toLowerCase() === \"pbkdf2\") {\n\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n\n let prfFunc: string = null;\n const prf = searchPath(data, \"crypto/kdfparams/prf\");\n if (prf === \"hmac-sha256\") {\n prfFunc = \"sha256\";\n } else if (prf === \"hmac-sha512\") {\n prfFunc = \"sha512\";\n } else {\n throwError(\"prf\", prf);\n }\n\n const count = parseInt(searchPath(data, \"crypto/kdfparams/c\"));\n\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) { throwError(\"dklen\", dkLen); }\n\n return pbkdf2Func(passwordBytes, salt, count, dkLen, prfFunc);\n }\n }\n\n return logger.throwArgumentError(\"unsupported key-derivation function\", \"kdf\", kdf);\n}\n\n\nexport function decryptSync(json: string, password: Bytes | string): KeystoreAccount {\n const data = JSON.parse(json);\n\n const key = _computeKdfKey(data, password, pbkdf2Sync, scrypt.syncScrypt);\n return _getAccount(data, key);\n}\n\nexport async function decrypt(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise {\n const data = JSON.parse(json);\n\n const key = await _computeKdfKey(data, password, pbkdf2, scrypt.scrypt, progressCallback);\n return _getAccount(data, key);\n}\n\n\nexport function encrypt(account: ExternallyOwnedAccount, password: Bytes | string, options?: EncryptOptions, progressCallback?: ProgressCallback): Promise {\n\n try {\n // Check the address matches the private key\n if (getAddress(account.address) !== computeAddress(account.privateKey)) {\n throw new Error(\"address/privateKey mismatch\");\n }\n\n // Check the mnemonic (if any) matches the private key\n if (hasMnemonic(account)) {\n const mnemonic = account.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path || defaultPath);\n\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n }\n\n } catch (e) {\n return Promise.reject(e);\n }\n\n // The options are optional, so adjust the call as needed\n if (typeof(options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (!options) { options = {}; }\n\n const privateKey: Uint8Array = arrayify(account.privateKey);\n const passwordBytes = getPassword(password);\n\n let entropy: Uint8Array = null\n let path: string = null;\n let locale: string = null;\n if (hasMnemonic(account)) {\n const srcMnemonic = account.mnemonic;\n entropy = arrayify(mnemonicToEntropy(srcMnemonic.phrase, srcMnemonic.locale || \"en\"));\n path = srcMnemonic.path || defaultPath;\n locale = srcMnemonic.locale || \"en\";\n }\n\n let client = options.client;\n if (!client) { client = \"ethers.js\"; }\n\n // Check/generate the salt\n let salt: Uint8Array = null;\n if (options.salt) {\n salt = arrayify(options.salt);\n } else {\n salt = randomBytes(32);;\n }\n\n // Override initialization vector\n let iv: Uint8Array = null;\n if (options.iv) {\n iv = arrayify(options.iv);\n if (iv.length !== 16) { throw new Error(\"invalid iv\"); }\n } else {\n iv = randomBytes(16);\n }\n\n // Override the uuid\n let uuidRandom: Uint8Array = null;\n if (options.uuid) {\n uuidRandom = arrayify(options.uuid);\n if (uuidRandom.length !== 16) { throw new Error(\"invalid uuid\"); }\n } else {\n uuidRandom = randomBytes(16);\n }\n\n // Override the scrypt password-based key derivation function parameters\n let N = (1 << 17), r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) { N = options.scrypt.N; }\n if (options.scrypt.r) { r = options.scrypt.r; }\n if (options.scrypt.p) { p = options.scrypt.p; }\n }\n\n // We take 64 bytes:\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n return scrypt.scrypt(passwordBytes, salt, N, r, p, 64, progressCallback).then((key) => {\n key = arrayify(key);\n\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n\n // This will be used to encrypt the mnemonic phrase (if any)\n const mnemonicKey = key.slice(32, 64);\n\n // Encrypt the private key\n const counter = new aes.Counter(iv);\n const aesCtr = new aes.ModeOfOperation.ctr(derivedKey, counter);\n const ciphertext = arrayify(aesCtr.encrypt(privateKey));\n\n // Compute the message authentication code, used to check the password\n const mac = keccak256(concat([macPrefix, ciphertext]))\n\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data: { [key: string]: any } = {\n address: account.address.substring(2).toLowerCase(),\n id: uuidV4(uuidRandom),\n version: 3,\n crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: hexlify(iv).substring(2),\n },\n ciphertext: hexlify(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: hexlify(salt).substring(2),\n n: N,\n dklen: 32,\n p: p,\n r: r\n },\n mac: mac.substring(2)\n }\n };\n\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (entropy) {\n const mnemonicIv = randomBytes(16);\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const mnemonicCiphertext = arrayify(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = (now.getUTCFullYear() + \"-\" +\n zpad(now.getUTCMonth() + 1, 2) + \"-\" +\n zpad(now.getUTCDate(), 2) + \"T\" +\n zpad(now.getUTCHours(), 2) + \"-\" +\n zpad(now.getUTCMinutes(), 2) + \"-\" +\n zpad(now.getUTCSeconds(), 2) + \".0Z\"\n );\n data[\"x-ethers\"] = {\n client: client,\n gethFilename: (\"UTC--\" + timestamp + \"--\" + data.address),\n mnemonicCounter: hexlify(mnemonicIv).substring(2),\n mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),\n path: path,\n locale: locale,\n version: \"0.1\"\n };\n }\n\n return JSON.stringify(data);\n });\n}\n","\"use strict\";\n\nimport { arrayify, Bytes, BytesLike, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from '@ethersproject/strings';\n\nexport function looseArrayify(hexString: string): Uint8Array {\n if (typeof(hexString) === 'string' && hexString.substring(0, 2) !== '0x') {\n hexString = '0x' + hexString;\n }\n return arrayify(hexString);\n}\n\nexport function zpad(value: String | number, length: number): String {\n value = String(value);\n while (value.length < length) { value = '0' + value; }\n return value;\n}\n\nexport function getPassword(password: Bytes | string): Uint8Array {\n if (typeof(password) === 'string') {\n return toUtf8Bytes(password, UnicodeNormalizationForm.NFKC);\n }\n return arrayify(password);\n}\n\nexport function searchPath(object: any, path: string): string {\n let currentChild = object;\n\n const comps = path.toLowerCase().split('/');\n for (let i = 0; i < comps.length; i++) {\n\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for (const key in currentChild) {\n if (key.toLowerCase() === comps[i]) {\n matchingChild = currentChild[key];\n break;\n }\n }\n\n // Didn't find one. :'(\n if (matchingChild === null) {\n return null;\n }\n\n // Now check this child...\n currentChild = matchingChild;\n }\n\n return currentChild;\n}\n\n// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\nexport function uuidV4(randomBytes: BytesLike): string {\n const bytes = arrayify(randomBytes);\n\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n const value = hexlify(bytes);\n\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n\n","\"use strict\";\n\nimport sha3 from \"js-sha3\";\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nexport function keccak256(data: BytesLike): string {\n return '0x' + sha3.keccak_256(arrayify(data));\n}\n","\"use strict\";\n\nlet _permanentCensorErrors = false;\nlet _censorErrors = false;\n\nconst LogLevels: { [ name: string ]: number } = { debug: 1, \"default\": 2, info: 2, warning: 3, error: 4, off: 5 };\nlet _logLevel = LogLevels[\"default\"];\n\nimport { version } from \"./_version\";\n\nlet _globalLogger: Logger = null;\n\nfunction _checkNormalize(): string {\n try {\n const missing: Array = [ ];\n\n // Make sure all forms of normalization are supported\n [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].forEach((form) => {\n try {\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad normalize\");\n };\n } catch(error) {\n missing.push(form);\n }\n });\n\n if (missing.length) {\n throw new Error(\"missing \" + missing.join(\", \"));\n }\n\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) {\n throw new Error(\"broken implementation\")\n }\n } catch (error) {\n return error.message;\n }\n\n return null;\n}\n\nconst _normalizeError = _checkNormalize();\n\nexport enum LogLevel {\n DEBUG = \"DEBUG\",\n INFO = \"INFO\",\n WARNING = \"WARNING\",\n ERROR = \"ERROR\",\n OFF = \"OFF\"\n}\n\n\nexport enum ErrorCode {\n\n ///////////////////\n // Generic Errors\n\n // Unknown Error\n UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n\n // Not Implemented\n NOT_IMPLEMENTED = \"NOT_IMPLEMENTED\",\n\n // Unsupported Operation\n // - operation\n UNSUPPORTED_OPERATION = \"UNSUPPORTED_OPERATION\",\n\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n NETWORK_ERROR = \"NETWORK_ERROR\",\n\n // Some sort of bad response from the server\n SERVER_ERROR = \"SERVER_ERROR\",\n\n // Timeout\n TIMEOUT = \"TIMEOUT\",\n\n ///////////////////\n // Operational Errors\n\n // Buffer Overrun\n BUFFER_OVERRUN = \"BUFFER_OVERRUN\",\n\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n NUMERIC_FAULT = \"NUMERIC_FAULT\",\n\n\n ///////////////////\n // Argument Errors\n\n // Missing new operator to an object\n // - name: The name of the class\n MISSING_NEW = \"MISSING_NEW\",\n\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n INVALID_ARGUMENT = \"INVALID_ARGUMENT\",\n\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n MISSING_ARGUMENT = \"MISSING_ARGUMENT\",\n\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n UNEXPECTED_ARGUMENT = \"UNEXPECTED_ARGUMENT\",\n\n\n ///////////////////\n // Blockchain Errors\n\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n CALL_EXCEPTION = \"CALL_EXCEPTION\",\n\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n INSUFFICIENT_FUNDS = \"INSUFFICIENT_FUNDS\",\n\n // Nonce has already been used\n // - transaction: the transaction attempted\n NONCE_EXPIRED = \"NONCE_EXPIRED\",\n\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n REPLACEMENT_UNDERPRICED = \"REPLACEMENT_UNDERPRICED\",\n\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n UNPREDICTABLE_GAS_LIMIT = \"UNPREDICTABLE_GAS_LIMIT\",\n\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n TRANSACTION_REPLACED = \"TRANSACTION_REPLACED\",\n\n\n ///////////////////\n // Interaction Errors\n\n // The user rejected the action, such as signing a message or sending\n // a transaction\n ACTION_REJECTED = \"ACTION_REJECTED\",\n};\n\nconst HEX = \"0123456789abcdef\";\n\nexport class Logger {\n readonly version: string;\n\n static errors = ErrorCode;\n\n static levels = LogLevel;\n\n constructor(version: string) {\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n\n _log(logLevel: LogLevel, args: Array): void {\n const level = logLevel.toLowerCase();\n if (LogLevels[level] == null) {\n this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n }\n if (_logLevel > LogLevels[level]) { return; }\n console.log.apply(console, args);\n }\n\n debug(...args: Array): void {\n this._log(Logger.levels.DEBUG, args);\n }\n\n info(...args: Array): void {\n this._log(Logger.levels.INFO, args);\n }\n\n warn(...args: Array): void {\n this._log(Logger.levels.WARNING, args);\n }\n\n makeError(message: string, code?: ErrorCode, params?: any): Error {\n // Errors are being censored\n if (_censorErrors) {\n return this.makeError(\"censored error\", code, { });\n }\n\n if (!code) { code = Logger.errors.UNKNOWN_ERROR; }\n if (!params) { params = {}; }\n\n const messageDetails: Array = [];\n Object.keys(params).forEach((key) => {\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for (let i = 0; i < value.length; i++) {\n hex += HEX[value[i] >> 4];\n hex += HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n } else {\n messageDetails.push(key + \"=\" + JSON.stringify(value));\n }\n } catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${ code }`);\n messageDetails.push(`version=${ this.version }`);\n\n const reason = message;\n\n let url = \"\";\n\n switch (code) {\n case ErrorCode.NUMERIC_FAULT: {\n url = \"NUMERIC_FAULT\";\n const fault = message;\n\n switch (fault) {\n case \"overflow\": case \"underflow\": case \"division-by-zero\":\n url += \"-\" + fault;\n break;\n case \"negative-power\": case \"negative-width\":\n url += \"-unsupported\";\n break;\n case \"unbound-bitwise-result\":\n url += \"-unbound-result\";\n break;\n }\n break;\n }\n case ErrorCode.CALL_EXCEPTION:\n case ErrorCode.INSUFFICIENT_FUNDS:\n case ErrorCode.MISSING_NEW:\n case ErrorCode.NONCE_EXPIRED:\n case ErrorCode.REPLACEMENT_UNDERPRICED:\n case ErrorCode.TRANSACTION_REPLACED:\n case ErrorCode.UNPREDICTABLE_GAS_LIMIT:\n url = code;\n break;\n }\n\n if (url) {\n message += \" [ See: https:/\\/links.ethers.org/v5-errors-\" + url + \" ]\";\n }\n\n if (messageDetails.length) {\n message += \" (\" + messageDetails.join(\", \") + \")\";\n }\n\n // @TODO: Any??\n const error: any = new Error(message);\n error.reason = reason;\n error.code = code\n\n Object.keys(params).forEach(function(key) {\n error[key] = params[key];\n });\n\n return error;\n }\n\n throwError(message: string, code?: ErrorCode, params?: any): never {\n throw this.makeError(message, code, params);\n }\n\n throwArgumentError(message: string, name: string, value: any): never {\n return this.throwError(message, Logger.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n\n assert(condition: any, message: string, code?: ErrorCode, params?: any): void {\n if (!!condition) { return; }\n this.throwError(message, code, params);\n }\n\n assertArgument(condition: any, message: string, name: string, value: any): void {\n if (!!condition) { return; }\n this.throwArgumentError(message, name, value);\n }\n\n checkNormalize(message?: string): void {\n if (message == null) { message = \"platform missing String.prototype.normalize\"; }\n if (_normalizeError) {\n this.throwError(\"platform missing String.prototype.normalize\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\", form: _normalizeError\n });\n }\n }\n\n checkSafeUint53(value: number, message?: string): void {\n if (typeof(value) !== \"number\") { return; }\n\n if (message == null) { message = \"value not safe\"; }\n\n if (value < 0 || value >= 0x1fffffffffffff) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n }\n\n if (value % 1) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n }\n\n checkArgumentCount(count: number, expectedCount: number, message?: string): void {\n if (message) {\n message = \": \" + message;\n } else {\n message = \"\";\n }\n\n if (count < expectedCount) {\n this.throwError(\"missing argument\" + message, Logger.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n\n if (count > expectedCount) {\n this.throwError(\"too many arguments\" + message, Logger.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n }\n\n checkNew(target: any, kind: any): void {\n if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n\n checkAbstract(target: any, kind: any): void {\n if (target === kind) {\n this.throwError(\n \"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\",\n Logger.errors.UNSUPPORTED_OPERATION,\n { name: target.name, operation: \"new\" }\n );\n } else if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n\n static globalLogger(): Logger {\n if (!_globalLogger) { _globalLogger = new Logger(version); }\n return _globalLogger;\n }\n\n static setCensorship(censorship: boolean, permanent?: boolean): void {\n if (!censorship && permanent) {\n this.globalLogger().throwError(\"cannot permanently disable censorship\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n\n if (_permanentCensorErrors) {\n if (!censorship) { return; }\n this.globalLogger().throwError(\"error censorship permanent\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n\n _censorErrors = !!censorship;\n _permanentCensorErrors = !!permanent;\n }\n\n static setLogLevel(logLevel: LogLevel): void {\n const level = LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n Logger.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n _logLevel = level;\n }\n\n static from(version: string): Logger {\n return new Logger(version);\n }\n}\n","export const version = \"logger/5.7.0\";\n","export const version = \"networks/5.7.1\";\n","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { Network, Networkish } from \"./types\";\n\nexport {\n Network,\n Networkish\n};\n\ntype DefaultProviderFunc = (providers: any, options?: any) => any;\n\ninterface Renetworkable extends DefaultProviderFunc {\n renetwork: (network: Network) => DefaultProviderFunc;\n};\n\nfunction isRenetworkable(value: any): value is Renetworkable {\n return (value && typeof(value.renetwork) === \"function\");\n}\n\nfunction ethDefaultProvider(network: string | Network): Renetworkable {\n const func = function(providers: any, options?: any): any {\n if (options == null) { options = { }; }\n const providerList: Array = [];\n\n if (providers.InfuraProvider && options.infura !== \"-\") {\n try {\n providerList.push(new providers.InfuraProvider(network, options.infura));\n } catch(error) { }\n }\n\n if (providers.EtherscanProvider && options.etherscan !== \"-\") {\n try {\n providerList.push(new providers.EtherscanProvider(network, options.etherscan));\n } catch(error) { }\n }\n\n if (providers.AlchemyProvider && options.alchemy !== \"-\") {\n try {\n providerList.push(new providers.AlchemyProvider(network, options.alchemy));\n } catch(error) { }\n }\n\n if (providers.PocketProvider && options.pocket !== \"-\") {\n // These networks are currently faulty on Pocket as their\n // network does not handle the Berlin hardfork, which is\n // live on these ones.\n // @TODO: This goes away once Pocket has upgraded their nodes\n const skip = [ \"goerli\", \"ropsten\", \"rinkeby\", \"sepolia\" ];\n try {\n const provider = new providers.PocketProvider(network, options.pocket);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n } catch(error) { }\n }\n\n if (providers.CloudflareProvider && options.cloudflare !== \"-\") {\n try {\n providerList.push(new providers.CloudflareProvider(network));\n } catch(error) { }\n }\n\n if (providers.AnkrProvider && options.ankr !== \"-\") {\n try {\n const skip = [ \"ropsten\" ];\n const provider = new providers.AnkrProvider(network, options.ankr);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n } catch(error) { }\n }\n\n if (providerList.length === 0) { return null; }\n\n if (providers.FallbackProvider) {\n let quorum = 1;\n if (options.quorum != null) {\n quorum = options.quorum;\n } else if (network === \"homestead\") {\n quorum = 2;\n }\n return new providers.FallbackProvider(providerList, quorum);\n }\n\n return providerList[0];\n };\n\n func.renetwork = function(network: Network) {\n return ethDefaultProvider(network);\n };\n\n return func;\n}\n\nfunction etcDefaultProvider(url: string, network: string | Network): Renetworkable {\n const func = function(providers: any, options?: any): any {\n if (providers.JsonRpcProvider) {\n return new providers.JsonRpcProvider(url, network);\n }\n\n return null;\n };\n\n func.renetwork = function(network: Network) {\n return etcDefaultProvider(url, network);\n };\n\n return func;\n}\n\nconst homestead: Network = {\n chainId: 1,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"homestead\",\n _defaultProvider: ethDefaultProvider(\"homestead\")\n};\n\nconst ropsten: Network = {\n chainId: 3,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"ropsten\",\n _defaultProvider: ethDefaultProvider(\"ropsten\")\n};\n\nconst classicMordor: Network = {\n chainId: 63,\n name: \"classicMordor\",\n _defaultProvider: etcDefaultProvider(\"https://www.ethercluster.com/mordor\", \"classicMordor\")\n};\n\n// See: https://chainlist.org\nconst networks: { [name: string]: Network } = {\n unspecified: { chainId: 0, name: \"unspecified\" },\n\n homestead: homestead,\n mainnet: homestead,\n\n morden: { chainId: 2, name: \"morden\" },\n\n ropsten: ropsten,\n testnet: ropsten,\n\n rinkeby: {\n chainId: 4,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"rinkeby\",\n _defaultProvider: ethDefaultProvider(\"rinkeby\")\n },\n\n kovan: {\n chainId: 42,\n name: \"kovan\",\n _defaultProvider: ethDefaultProvider(\"kovan\")\n },\n\n goerli: {\n chainId: 5,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"goerli\",\n _defaultProvider: ethDefaultProvider(\"goerli\")\n },\n\n kintsugi: { chainId: 1337702, name: \"kintsugi\" },\n\n sepolia: {\n chainId: 11155111,\n name: \"sepolia\",\n _defaultProvider: ethDefaultProvider(\"sepolia\")\n },\n\n\n // ETC (See: #351)\n classic: {\n chainId: 61,\n name: \"classic\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/etc\", \"classic\")\n },\n\n classicMorden: { chainId: 62, name: \"classicMorden\" },\n\n classicMordor: classicMordor,\n classicTestnet: classicMordor,\n\n classicKotti: {\n chainId: 6,\n name: \"classicKotti\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/kotti\", \"classicKotti\")\n },\n\n xdai: { chainId: 100, name: \"xdai\" },\n\n matic: {\n chainId: 137,\n name: \"matic\",\n _defaultProvider: ethDefaultProvider(\"matic\")\n },\n maticmum: { chainId: 80001, name: \"maticmum\" },\n\n optimism: {\n chainId: 10,\n name: \"optimism\",\n _defaultProvider: ethDefaultProvider(\"optimism\")\n },\n \"optimism-kovan\": { chainId: 69, name: \"optimism-kovan\" },\n \"optimism-goerli\": { chainId: 420, name: \"optimism-goerli\" },\n\n arbitrum: { chainId: 42161, name: \"arbitrum\" },\n \"arbitrum-rinkeby\": { chainId: 421611, name: \"arbitrum-rinkeby\" },\n \"arbitrum-goerli\": { chainId: 421613, name: \"arbitrum-goerli\" },\n\n bnb: { chainId: 56, name: \"bnb\" },\n bnbt: { chainId: 97, name: \"bnbt\" },\n}\n\n/**\n * getNetwork\n *\n * Converts a named common networks or chain ID (network ID) to a Network\n * and verifies a network is a valid Network..\n */\nexport function getNetwork(network: Networkish): Network {\n // No network (null)\n if (network == null) { return null; }\n\n if (typeof(network) === \"number\") {\n for (const name in networks) {\n const standard = networks[name];\n if (standard.chainId === network) {\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: (standard.ensAddress || null),\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n }\n\n return {\n chainId: network,\n name: \"unknown\"\n };\n }\n\n if (typeof(network) === \"string\") {\n const standard = networks[network];\n if (standard == null) { return null; }\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: standard.ensAddress,\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n\n const standard = networks[network.name];\n\n // Not a standard network; check that it is a valid network in general\n if (!standard) {\n if (typeof(network.chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid network chainId\", \"network\", network);\n }\n return network;\n }\n\n // Make sure the chainId matches the expected network chainId (or is 0; disable EIP-155)\n if (network.chainId !== 0 && network.chainId !== standard.chainId) {\n logger.throwArgumentError(\"network chainId mismatch\", \"network\", network);\n }\n\n // @TODO: In the next major version add an attach function to a defaultProvider\n // class and move the _defaultProvider internal to this file (extend Network)\n let defaultProvider: DefaultProviderFunc = network._defaultProvider || null;\n if (defaultProvider == null && standard._defaultProvider) {\n if (isRenetworkable(standard._defaultProvider)) {\n defaultProvider = standard._defaultProvider.renetwork(network);\n } else {\n defaultProvider = standard._defaultProvider;\n }\n }\n\n // Standard Network (allow overriding the ENS address)\n return {\n name: network.name,\n chainId: standard.chainId,\n ensAddress: (network.ensAddress || standard.ensAddress || null),\n _defaultProvider: defaultProvider\n };\n}\n","\"use strict\";\n\nimport { arrayify, BytesLike, hexlify } from \"@ethersproject/bytes\";\nimport { computeHmac, SupportedAlgorithm } from \"@ethersproject/sha2\";\n\nexport function pbkdf2(password: BytesLike, salt: BytesLike, iterations: number, keylen: number, hashAlgorithm: string): string {\n password = arrayify(password);\n salt = arrayify(salt);\n let hLen;\n let l = 1;\n const DK = new Uint8Array(keylen)\n const block1 = new Uint8Array(salt.length + 4)\n block1.set(salt);\n //salt.copy(block1, 0, 0, salt.length)\n\n let r: number;\n let T: Uint8Array;\n\n for (let i = 1; i <= l; i++) {\n //block1.writeUInt32BE(i, salt.length)\n block1[salt.length] = (i >> 24) & 0xff;\n block1[salt.length + 1] = (i >> 16) & 0xff;\n block1[salt.length + 2] = (i >> 8) & 0xff;\n block1[salt.length + 3] = i & 0xff;\n\n //let U = createHmac(password).update(block1).digest();\n let U = arrayify(computeHmac(hashAlgorithm, password, block1));\n\n if (!hLen) {\n hLen = U.length\n T = new Uint8Array(hLen)\n l = Math.ceil(keylen / hLen)\n r = keylen - (l - 1) * hLen\n }\n\n //U.copy(T, 0, 0, hLen)\n T.set(U);\n\n\n for (let j = 1; j < iterations; j++) {\n //U = createHmac(password).update(U).digest();\n U = arrayify(computeHmac(hashAlgorithm, password, U));\n for (let k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n\n const destPos = (i - 1) * hLen\n const len = (i === l ? r : hLen)\n //T.copy(DK, destPos, 0, len)\n DK.set(arrayify(T).slice(0, len), destPos);\n }\n\n return hexlify(DK)\n}\n\n","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport function defineReadOnly(object: T, name: K, value: T[K]): void {\n Object.defineProperty(object, name, {\n enumerable: true,\n value: value,\n writable: false,\n });\n}\n\n// Crawl up the constructor chain to find a static method\nexport function getStatic(ctor: any, key: string): T {\n for (let i = 0; i < 32; i++) {\n if (ctor[key]) { return ctor[key]; }\n if (!ctor.prototype || typeof(ctor.prototype) !== \"object\") { break; }\n ctor = Object.getPrototypeOf(ctor.prototype).constructor;\n }\n return null;\n}\n\nexport type Deferrable = {\n [ K in keyof T ]: T[K] | Promise;\n}\n\n\ntype Result = { key: string, value: any};\n\nexport async function resolveProperties(object: Readonly>): Promise {\n const promises: Array> = Object.keys(object).map((key) => {\n const value = object[>key];\n return Promise.resolve(value).then((v) => ({ key: key, value: v }));\n });\n\n const results = await Promise.all(promises);\n\n return results.reduce((accum, result) => {\n accum[(result.key)] = result.value;\n return accum;\n }, { });\n}\n\nexport function checkProperties(object: any, properties: { [ name: string ]: boolean }): void {\n if (!object || typeof(object) !== \"object\") {\n logger.throwArgumentError(\"invalid object\", \"object\", object);\n }\n\n Object.keys(object).forEach((key) => {\n if (!properties[key]) {\n logger.throwArgumentError(\"invalid object key - \" + key, \"transaction:\" + key, object);\n }\n });\n}\n\nexport function shallowCopy(object: T): T {\n const result: any = {};\n for (const key in object) { result[key] = object[key]; }\n return result;\n}\n\nconst opaque: { [key: string]: boolean } = { bigint: true, boolean: true, \"function\": true, number: true, string: true };\n\nfunction _isFrozen(object: any): boolean {\n\n // Opaque objects are not mutable, so safe to copy by assignment\n if (object === undefined || object === null || opaque[typeof(object)]) { return true; }\n\n if (Array.isArray(object) || typeof(object) === \"object\") {\n if (!Object.isFrozen(object)) { return false; }\n\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n let value: any = null;\n try {\n value = object[keys[i]];\n } catch (error) {\n // If accessing a value triggers an error, it is a getter\n // designed to do so (e.g. Result) and is therefore \"frozen\"\n continue;\n }\n\n if (!_isFrozen(value)) { return false; }\n }\n\n return true;\n }\n\n return logger.throwArgumentError(`Cannot deepCopy ${ typeof(object) }`, \"object\", object);\n}\n\n// Returns a new copy of object, such that no properties may be replaced.\n// New properties may be added only to objects.\nfunction _deepCopy(object: any): any {\n\n if (_isFrozen(object)) { return object; }\n\n // Arrays are mutable, so we need to create a copy\n if (Array.isArray(object)) {\n return Object.freeze(object.map((item) => deepCopy(item)));\n }\n\n if (typeof(object) === \"object\") {\n const result: { [ key: string ]: any } = {};\n for (const key in object) {\n const value = object[key];\n if (value === undefined) { continue; }\n defineReadOnly(result, key, deepCopy(value));\n }\n\n return result;\n }\n\n return logger.throwArgumentError(`Cannot deepCopy ${ typeof(object) }`, \"object\", object);\n}\n\nexport function deepCopy(object: T): T {\n return _deepCopy(object);\n}\n\nexport class Description {\n constructor(info: { [ K in keyof T ]: T[K] }) {\n for (const key in info) {\n (this)[key] = deepCopy(info[key]);\n }\n }\n}\n","export const version = \"properties/5.7.0\";\n","export const version = \"providers/5.7.2\";\n","\"use strict\";\n\nimport {\n Block, BlockTag, BlockWithTransactions, EventType, Filter, FilterByBlockHash, ForkEvent,\n Listener, Log, Provider, TransactionReceipt, TransactionRequest, TransactionResponse\n} from \"@ethersproject/abstract-provider\";\nimport { encode as base64Encode } from \"@ethersproject/base64\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, concat, hexConcat, hexDataLength, hexDataSlice, hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { HashZero } from \"@ethersproject/constants\";\nimport { dnsEncode, namehash } from \"@ethersproject/hash\";\nimport { getNetwork, Network, Networkish } from \"@ethersproject/networks\";\nimport { Deferrable, defineReadOnly, getStatic, resolveProperties } from \"@ethersproject/properties\";\nimport { Transaction } from \"@ethersproject/transactions\";\nimport { sha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { fetchJson, poll } from \"@ethersproject/web\";\n\nimport bech32 from \"bech32\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { Formatter } from \"./formatter\";\n\nconst MAX_CCIP_REDIRECTS = 10;\n\n//////////////////////////////\n// Event Serializeing\n\nfunction checkTopic(topic: string): string {\n if (topic == null) { return \"null\"; }\n if (hexDataLength(topic) !== 32) {\n logger.throwArgumentError(\"invalid topic\", \"topic\", topic);\n }\n return topic.toLowerCase();\n}\n\nfunction serializeTopics(topics: Array>): string {\n // Remove trailing null AND-topics; they are redundant\n topics = topics.slice();\n while (topics.length > 0 && topics[topics.length - 1] == null) { topics.pop(); }\n\n return topics.map((topic) => {\n if (Array.isArray(topic)) {\n\n // Only track unique OR-topics\n const unique: { [ topic: string ]: boolean } = { }\n topic.forEach((topic) => {\n unique[checkTopic(topic)] = true;\n });\n\n // The order of OR-topics does not matter\n const sorted = Object.keys(unique);\n sorted.sort();\n\n return sorted.join(\"|\");\n\n } else {\n return checkTopic(topic);\n }\n }).join(\"&\");\n}\n\nfunction deserializeTopics(data: string): Array> {\n if (data === \"\") { return [ ]; }\n\n return data.split(/&/g).map((topic) => {\n if (topic === \"\") { return [ ]; }\n\n const comps = topic.split(\"|\").map((topic) => {\n return ((topic === \"null\") ? null: topic);\n });\n\n return ((comps.length === 1) ? comps[0]: comps);\n });\n}\n\nfunction getEventTag(eventName: EventType): string {\n if (typeof(eventName) === \"string\") {\n eventName = eventName.toLowerCase();\n\n if (hexDataLength(eventName) === 32) {\n return \"tx:\" + eventName;\n }\n\n if (eventName.indexOf(\":\") === -1) {\n return eventName;\n }\n\n } else if (Array.isArray(eventName)) {\n return \"filter:*:\" + serializeTopics(eventName);\n\n } else if (ForkEvent.isForkEvent(eventName)) {\n logger.warn(\"not implemented\");\n throw new Error(\"not implemented\");\n\n } else if (eventName && typeof(eventName) === \"object\") {\n return \"filter:\" + (eventName.address || \"*\") + \":\" + serializeTopics(eventName.topics || []);\n }\n\n throw new Error(\"invalid event - \" + eventName);\n}\n\n//////////////////////////////\n// Helper Object\n\nfunction getTime() {\n return (new Date()).getTime();\n}\n\nfunction stall(duration: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n\n//////////////////////////////\n// Provider Object\n\n\n/**\n * EventType\n * - \"block\"\n * - \"poll\"\n * - \"didPoll\"\n * - \"pending\"\n * - \"error\"\n * - \"network\"\n * - filter\n * - topics array\n * - transaction hash\n */\n\nconst PollableEvents = [ \"block\", \"network\", \"pending\", \"poll\" ];\n\nexport class Event {\n readonly listener: Listener;\n readonly once: boolean;\n readonly tag: string;\n\n _lastBlockNumber: number\n _inflight: boolean;\n\n constructor(tag: string, listener: Listener, once: boolean) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"listener\", listener);\n defineReadOnly(this, \"once\", once);\n\n this._lastBlockNumber = -2;\n this._inflight = false;\n }\n\n get event(): EventType {\n switch (this.type) {\n case \"tx\":\n return this.hash;\n case \"filter\":\n return this.filter;\n }\n return this.tag;\n }\n\n get type(): string {\n return this.tag.split(\":\")[0]\n }\n\n get hash(): string {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"tx\") { return null; }\n return comps[1];\n }\n\n get filter(): Filter {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"filter\") { return null; }\n const address = comps[1];\n\n const topics = deserializeTopics(comps[2]);\n const filter: Filter = { };\n\n if (topics.length > 0) { filter.topics = topics; }\n if (address && address !== \"*\") { filter.address = address; }\n\n return filter;\n }\n\n pollable(): boolean {\n return (this.tag.indexOf(\":\") >= 0 || PollableEvents.indexOf(this.tag) >= 0);\n }\n}\n\nexport interface EnsResolver {\n\n // Name this Resolver is associated with\n readonly name: string;\n\n // The address of the resolver\n readonly address: string;\n\n // Multichain address resolution (also normal address resolution)\n // See: https://eips.ethereum.org/EIPS/eip-2304\n getAddress(coinType?: 60): Promise\n\n // Contenthash field\n // See: https://eips.ethereum.org/EIPS/eip-1577\n getContentHash(): Promise;\n\n // Storage of text records\n // See: https://eips.ethereum.org/EIPS/eip-634\n getText(key: string): Promise;\n};\n\nexport interface EnsProvider {\n resolveName(name: string): Promise;\n lookupAddress(address: string): Promise;\n getResolver(name: string): Promise;\n}\n\ntype CoinInfo = {\n symbol: string,\n ilk?: string, // General family\n prefix?: string, // Bech32 prefix\n p2pkh?: number, // Pay-to-Public-Key-Hash Version\n p2sh?: number, // Pay-to-Script-Hash Version\n};\n\n// https://github.com/satoshilabs/slips/blob/master/slip-0044.md\nconst coinInfos: { [ coinType: string ]: CoinInfo } = {\n \"0\": { symbol: \"btc\", p2pkh: 0x00, p2sh: 0x05, prefix: \"bc\" },\n \"2\": { symbol: \"ltc\", p2pkh: 0x30, p2sh: 0x32, prefix: \"ltc\" },\n \"3\": { symbol: \"doge\", p2pkh: 0x1e, p2sh: 0x16 },\n \"60\": { symbol: \"eth\", ilk: \"eth\" },\n \"61\": { symbol: \"etc\", ilk: \"eth\" },\n \"700\": { symbol: \"xdai\", ilk: \"eth\" },\n};\n\nfunction bytes32ify(value: number): string {\n return hexZeroPad(BigNumber.from(value).toHexString(), 32);\n}\n\n// Compute the Base58Check encoded data (checksum is first 4 bytes of sha256d)\nfunction base58Encode(data: Uint8Array): string {\n return Base58.encode(concat([ data, hexDataSlice(sha256(sha256(data)), 0, 4) ]));\n}\n\nexport interface Avatar {\n url: string;\n linkage: Array<{ type: string, content: string }>;\n}\n\nconst matcherIpfs = new RegExp(\"^(ipfs):/\\/(.*)$\", \"i\");\nconst matchers = [\n new RegExp(\"^(https):/\\/(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\"),\n];\n\nfunction _parseString(result: string, start: number): null | string {\n try {\n return toUtf8String(_parseBytes(result, start));\n } catch(error) { }\n return null;\n}\n\nfunction _parseBytes(result: string, start: number): null | string {\n if (result === \"0x\") { return null; }\n\n const offset = BigNumber.from(hexDataSlice(result, start, start + 32)).toNumber();\n const length = BigNumber.from(hexDataSlice(result, offset, offset + 32)).toNumber();\n\n return hexDataSlice(result, offset + 32, offset + 32 + length);\n}\n\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction getIpfsLink(link: string): string {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) {\n link = link.substring(12);\n } else if (link.match(/^ipfs:\\/\\//i)) {\n link = link.substring(7);\n } else {\n logger.throwArgumentError(\"unsupported IPFS format\", \"link\", link);\n }\n\n return `https:/\\/gateway.ipfs.io/ipfs/${ link }`;\n}\n\nfunction numPad(value: number): Uint8Array {\n const result = arrayify(value);\n if (result.length > 32) { throw new Error(\"internal; should not happen\"); }\n\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\n\nfunction bytesPad(value: Uint8Array): Uint8Array {\n if ((value.length % 32) === 0) { return value; }\n\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\n\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction encodeBytes(datas: Array) {\n const result: Array = [ ];\n\n let byteCount = 0;\n\n // Add place-holders for pointers as we add items\n for (let i = 0; i < datas.length; i++) {\n result.push(null);\n byteCount += 32;\n }\n\n for (let i = 0; i < datas.length; i++) {\n const data = arrayify(datas[i]);\n\n // Update the bytes offset\n result[i] = numPad(byteCount);\n\n // The length and padded value of data\n result.push(numPad(data.length));\n result.push(bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n\n return hexConcat(result);\n}\n\nexport class Resolver implements EnsResolver {\n readonly provider: BaseProvider;\n\n readonly name: string;\n readonly address: string;\n\n readonly _resolvedAddress: null | string;\n\n // For EIP-2544 names, the ancestor that provided the resolver\n _supportsEip2544: null | Promise;\n\n // The resolvedAddress is only for creating a ReverseLookup resolver\n constructor(provider: BaseProvider, address: string, name: string, resolvedAddress?: string) {\n defineReadOnly(this, \"provider\", provider);\n defineReadOnly(this, \"name\", name);\n defineReadOnly(this, \"address\", provider.formatter.address(address));\n defineReadOnly(this, \"_resolvedAddress\", resolvedAddress);\n }\n\n supportsWildcard(): Promise {\n if (!this._supportsEip2544) {\n // supportsInterface(bytes4 = selector(\"resolve(bytes,bytes)\"))\n this._supportsEip2544 = this.provider.call({\n to: this.address,\n data: \"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000\"\n }).then((result) => {\n return BigNumber.from(result).eq(1);\n }).catch((error) => {\n if (error.code === Logger.errors.CALL_EXCEPTION) { return false; }\n // Rethrow the error: link is down, etc. Let future attempts retry.\n this._supportsEip2544 = null;\n throw error;\n });\n }\n\n return this._supportsEip2544;\n }\n\n async _fetch(selector: string, parameters?: string): Promise {\n\n // e.g. keccak256(\"addr(bytes32,uint256)\")\n const tx = {\n to: this.address,\n ccipReadEnabled: true,\n data: hexConcat([ selector, namehash(this.name), (parameters || \"0x\") ])\n };\n\n // Wildcard support; use EIP-2544 to resolve the request\n let parseBytes = false;\n if (await this.supportsWildcard()) {\n parseBytes = true;\n\n // selector(\"resolve(bytes,bytes)\")\n tx.data = hexConcat([ \"0x9061b923\", encodeBytes([ dnsEncode(this.name), tx.data ]) ]);\n }\n\n try {\n let result = await this.provider.call(tx);\n if ((arrayify(result).length % 32) === 4) {\n logger.throwError(\"resolver threw error\", Logger.errors.CALL_EXCEPTION, {\n transaction: tx, data: result\n });\n }\n if (parseBytes) { result = _parseBytes(result, 0); }\n return result;\n } catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) { return null; }\n throw error;\n }\n }\n\n async _fetchBytes(selector: string, parameters?: string): Promise {\n const result = await this._fetch(selector, parameters);\n if (result != null) { return _parseBytes(result, 0); }\n return null;\n }\n\n _getAddress(coinType: number, hexBytes: string): string {\n const coinInfo = coinInfos[String(coinType)];\n\n if (coinInfo == null) {\n logger.throwError(`unsupported coin type: ${ coinType }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${ coinType })`\n });\n }\n\n if (coinInfo.ilk === \"eth\") {\n return this.provider.formatter.address(hexBytes);\n }\n\n const bytes = arrayify(hexBytes);\n\n // P2PKH: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG\n if (coinInfo.p2pkh != null) {\n const p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);\n if (p2pkh) {\n const length = parseInt(p2pkh[1], 16);\n if (p2pkh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([ [ coinInfo.p2pkh ], (\"0x\" + p2pkh[2]) ]));\n }\n }\n }\n\n // P2SH: OP_HASH160 OP_EQUAL\n if (coinInfo.p2sh != null) {\n const p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);\n if (p2sh) {\n const length = parseInt(p2sh[1], 16);\n if (p2sh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([ [ coinInfo.p2sh ], (\"0x\" + p2sh[2]) ]));\n }\n }\n }\n\n // Bech32\n if (coinInfo.prefix != null) {\n const length = bytes[1];\n\n // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program\n let version = bytes[0];\n if (version === 0x00) {\n if (length !== 20 && length !== 32) {\n version = -1;\n }\n } else {\n version = -1;\n }\n\n if (version >= 0 && bytes.length === 2 + length && length >= 1 && length <= 75) {\n const words = bech32.toWords(bytes.slice(2));\n words.unshift(version);\n return bech32.encode(coinInfo.prefix, words);\n }\n }\n\n return null;\n }\n\n\n async getAddress(coinType?: number): Promise {\n if (coinType == null) { coinType = 60; }\n\n // If Ethereum, use the standard `addr(bytes32)`\n if (coinType === 60) {\n try {\n // keccak256(\"addr(bytes32)\")\n const result = await this._fetch(\"0x3b3b57de\");\n\n // No address\n if (result === \"0x\" || result === HashZero) { return null; }\n\n return this.provider.formatter.callAddress(result);\n } catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) { return null; }\n throw error;\n }\n }\n\n // keccak256(\"addr(bytes32,uint256\")\n const hexBytes = await this._fetchBytes(\"0xf1cb7e06\", bytes32ify(coinType));\n\n // No address\n if (hexBytes == null || hexBytes === \"0x\") { return null; }\n\n // Compute the address\n const address = this._getAddress(coinType, hexBytes);\n\n if (address == null) {\n logger.throwError(`invalid or unsupported coin data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${ coinType })`,\n coinType: coinType,\n data: hexBytes\n });\n }\n\n return address;\n }\n\n async getAvatar(): Promise {\n const linkage: Array<{ type: string, content: string }> = [ { type: \"name\", content: this.name } ];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = await this.getText(\"avatar\");\n if (avatar == null) { return null; }\n\n for (let i = 0; i < matchers.length; i++) {\n const match = avatar.match(matchers[i]);\n if (match == null) { continue; }\n\n const scheme = match[1].toLowerCase();\n\n switch (scheme) {\n case \"https\":\n linkage.push({ type: \"url\", content: avatar });\n return { linkage, url: avatar };\n\n case \"data\":\n linkage.push({ type: \"data\", content: avatar });\n return { linkage, url: avatar };\n\n case \"ipfs\":\n linkage.push({ type: \"ipfs\", content: avatar });\n return { linkage, url: getIpfsLink(avatar) };\n\n case \"erc721\":\n case \"erc1155\": {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = (scheme === \"erc721\") ? \"0xc87b56dd\": \"0x0e89341c\";\n linkage.push({ type: scheme, content: avatar });\n\n // The owner of this name\n const owner = (this._resolvedAddress || await this.getAddress());\n\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) { return null; }\n\n const addr = await this.provider.formatter.address(comps[0]);\n const tokenId = hexZeroPad(BigNumber.from(comps[1]).toHexString(), 32);\n\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n // ownerOf(uint256 tokenId)\n const tokenOwner = this.provider.formatter.callAddress(await this.provider.call({\n to: addr, data: hexConcat([ \"0x6352211e\", tokenId ])\n }));\n if (owner !== tokenOwner) { return null; }\n linkage.push({ type: \"owner\", content: tokenOwner });\n\n } else if (scheme === \"erc1155\") {\n // balanceOf(address owner, uint256 tokenId)\n const balance = BigNumber.from(await this.provider.call({\n to: addr, data: hexConcat([ \"0x00fdd58e\", hexZeroPad(owner, 32), tokenId ])\n }));\n if (balance.isZero()) { return null; }\n linkage.push({ type: \"balance\", content: balance.toString() });\n }\n\n // Call the token contract for the metadata URL\n const tx = {\n to: this.provider.formatter.address(comps[0]),\n data: hexConcat([ selector, tokenId ])\n };\n\n let metadataUrl = _parseString(await this.provider.call(tx), 0);\n if (metadataUrl == null) { return null; }\n linkage.push({ type: \"metadata-url-base\", content: metadataUrl });\n\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", tokenId.substring(2));\n linkage.push({ type: \"metadata-url-expanded\", content: metadataUrl });\n }\n\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) {\n metadataUrl = getIpfsLink(metadataUrl);\n }\n\n linkage.push({ type: \"metadata-url\", content: metadataUrl });\n\n // Get the token metadata\n const metadata = await fetchJson(metadataUrl);\n if (!metadata) { return null; }\n linkage.push({ type: \"metadata\", content: JSON.stringify(metadata) });\n\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof(imageUrl) !== \"string\") { return null; }\n\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) {\n // Allow\n } else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match(matcherIpfs);\n if (ipfs == null) { return null; }\n\n linkage.push({ type: \"url-ipfs\", content: imageUrl });\n imageUrl = getIpfsLink(imageUrl);\n }\n\n linkage.push({ type: \"url\", content: imageUrl });\n\n return { linkage, url: imageUrl };\n }\n }\n }\n } catch (error) { }\n\n return null;\n }\n\n async getContentHash(): Promise {\n\n // keccak256(\"contenthash()\")\n const hexBytes = await this._fetchBytes(\"0xbc1c58d1\");\n\n // No contenthash\n if (hexBytes == null || hexBytes === \"0x\") { return null; }\n\n // IPFS (CID: 1, Type: DAG-PB)\n const ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const length = parseInt(ipfs[3], 16);\n if (ipfs[4].length === length * 2) {\n return \"ipfs:/\\/\" + Base58.encode(\"0x\" + ipfs[1]);\n }\n }\n\n // IPNS (CID: 1, Type: libp2p-key)\n const ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipns) {\n const length = parseInt(ipns[3], 16);\n if (ipns[4].length === length * 2) {\n return \"ipns:/\\/\" + Base58.encode(\"0x\" + ipns[1]);\n }\n }\n\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/)\n if (swarm) {\n if (swarm[1].length === (32 * 2)) {\n return \"bzz:/\\/\" + swarm[1]\n }\n }\n\n const skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/);\n if (skynet) {\n if (skynet[1].length === (34 * 2)) {\n // URL Safe base64; https://datatracker.ietf.org/doc/html/rfc4648#section-5\n const urlSafe: Record = { \"=\": \"\", \"+\": \"-\", \"/\": \"_\" };\n const hash = base64Encode(\"0x\" + skynet[1]).replace(/[=+\\/]/g, (a) => (urlSafe[a]));\n return \"sia:/\\/\" + hash;\n }\n }\n\n return logger.throwError(`invalid or unsupported content hash data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getContentHash()\",\n data: hexBytes\n });\n }\n\n async getText(key: string): Promise {\n\n // The key encoded as parameter to fetchBytes\n let keyBytes = toUtf8Bytes(key);\n\n // The nodehash consumes the first slot, so the string pointer targets\n // offset 64, with the length at offset 64 and data starting at offset 96\n keyBytes = concat([ bytes32ify(64), bytes32ify(keyBytes.length), keyBytes ]);\n\n // Pad to word-size (32 bytes)\n if ((keyBytes.length % 32) !== 0) {\n keyBytes = concat([ keyBytes, hexZeroPad(\"0x\", 32 - (key.length % 32)) ])\n }\n\n const hexBytes = await this._fetchBytes(\"0x59d1d43c\", hexlify(keyBytes));\n if (hexBytes == null || hexBytes === \"0x\") { return null; }\n\n return toUtf8String(hexBytes);\n }\n}\n\nlet defaultFormatter: Formatter = null;\n\nlet nextPollId = 1;\n\nexport class BaseProvider extends Provider implements EnsProvider {\n _networkPromise: Promise;\n _network: Network;\n\n _events: Array;\n\n formatter: Formatter;\n\n // To help mitigate the eventually consistent nature of the blockchain\n // we keep a mapping of events we emit. If we emit an event X, we expect\n // that a user should be able to query for that event in the callback,\n // if the node returns null, we stall the response until we get back a\n // meaningful value, since we may be hitting a re-org, or a node that\n // has not indexed the event yet.\n // Events:\n // - t:{hash} - Transaction hash\n // - b:{hash} - BlockHash\n // - block - The most recent emitted block\n _emitted: { [ eventName: string ]: number | \"pending\" };\n\n _pollingInterval: number;\n _poller: NodeJS.Timer;\n _bootstrapPoll: NodeJS.Timer;\n\n _lastBlockNumber: number;\n _maxFilterBlockRange: number;\n\n _fastBlockNumber: number;\n _fastBlockNumberPromise: Promise;\n _fastQueryDate: number;\n\n _maxInternalBlockNumber: number;\n _internalBlockNumber: Promise<{ blockNumber: number, reqTime: number, respTime: number }>;\n\n readonly anyNetwork: boolean;\n\n disableCcipRead: boolean;\n\n\n /**\n * ready\n *\n * A Promise that resolves only once the provider is ready.\n *\n * Sub-classes that call the super with a network without a chainId\n * MUST set this. Standard named networks have a known chainId.\n *\n */\n\n constructor(network: Networkish | Promise) {\n super();\n\n // Events being listened to\n this._events = [];\n\n this._emitted = { block: -2 };\n\n this.disableCcipRead = false;\n\n this.formatter = new.target.getFormatter();\n\n // If network is any, this Provider allows the underlying\n // network to change dynamically, and we auto-detect the\n // current network\n defineReadOnly(this, \"anyNetwork\", (network === \"any\"));\n if (this.anyNetwork) { network = this.detectNetwork(); }\n\n if (network instanceof Promise) {\n this._networkPromise = network;\n\n // Squash any \"unhandled promise\" errors; that do not need to be handled\n network.catch((error) => { });\n\n // Trigger initial network setting (async)\n this._ready().catch((error) => { });\n\n } else {\n const knownNetwork = getStatic<(network: Networkish) => Network>(new.target, \"getNetwork\")(network);\n if (knownNetwork) {\n defineReadOnly(this, \"_network\", knownNetwork);\n this.emit(\"network\", knownNetwork, null);\n\n } else {\n logger.throwArgumentError(\"invalid network\", \"network\", network);\n }\n }\n\n this._maxInternalBlockNumber = -1024;\n\n this._lastBlockNumber = -2;\n this._maxFilterBlockRange = 10;\n\n this._pollingInterval = 4000;\n\n this._fastQueryDate = 0;\n }\n\n async _ready(): Promise {\n if (this._network == null) {\n let network: Network = null;\n if (this._networkPromise) {\n try {\n network = await this._networkPromise;\n } catch (error) { }\n }\n\n // Try the Provider's network detection (this MUST throw if it cannot)\n if (network == null) {\n network = await this.detectNetwork();\n }\n\n // This should never happen; every Provider sub-class should have\n // suggested a network by here (or have thrown).\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, { });\n }\n\n // Possible this call stacked so do not call defineReadOnly again\n if (this._network == null) {\n if (this.anyNetwork) {\n this._network = network;\n } else {\n defineReadOnly(this, \"_network\", network);\n }\n this.emit(\"network\", network, null);\n }\n }\n\n return this._network;\n }\n\n // This will always return the most recently established network.\n // For \"any\", this can change (a \"network\" event is emitted before\n // any change is reflected); otherwise this cannot change\n get ready(): Promise {\n return poll(() => {\n return this._ready().then((network) => {\n return network;\n }, (error) => {\n // If the network isn't running yet, we will wait\n if (error.code === Logger.errors.NETWORK_ERROR && error.event === \"noNetwork\") {\n return undefined;\n }\n throw error;\n });\n });\n }\n\n // @TODO: Remove this and just create a singleton formatter\n static getFormatter(): Formatter {\n if (defaultFormatter == null) {\n defaultFormatter = new Formatter();\n }\n return defaultFormatter;\n }\n\n // @TODO: Remove this and just use getNetwork\n static getNetwork(network: Networkish): Network {\n return getNetwork((network == null) ? \"homestead\": network);\n }\n\n async ccipReadFetch(tx: Transaction, calldata: string, urls: Array): Promise {\n if (this.disableCcipRead || urls.length === 0) { return null; }\n\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n\n const errorMessages: Array = [ ];\n\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n\n // If no {data} is present, use POST; otherwise GET\n const json: string | null = (url.indexOf(\"{data}\") >= 0) ? null: JSON.stringify({ data, sender });\n\n const result = await fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {\n value.status = response.statusCode;\n return value;\n });\n\n if (result.data) { return result.data; }\n\n const errorMessage = (result.message || \"unknown error\");\n\n // 4xx indicates the result is not present; stop\n if (result.status >= 400 && result.status < 500) {\n return logger.throwError(`response not found during CCIP fetch: ${ errorMessage }`, Logger.errors.SERVER_ERROR, { url, errorMessage });\n }\n\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n\n return logger.throwError(`error encountered during CCIP fetch: ${ errorMessages.map((m) => JSON.stringify(m)).join(\", \") }`, Logger.errors.SERVER_ERROR, {\n urls, errorMessages\n });\n }\n\n // Fetches the blockNumber, but will reuse any result that is less\n // than maxAge old or has been requested since the last request\n async _getInternalBlockNumber(maxAge: number): Promise {\n await this._ready();\n\n // Allowing stale data up to maxAge old\n if (maxAge > 0) {\n\n // While there are pending internal block requests...\n while (this._internalBlockNumber) {\n\n // ...\"remember\" which fetch we started with\n const internalBlockNumber = this._internalBlockNumber;\n\n try {\n // Check the result is not too stale\n const result = await internalBlockNumber;\n if ((getTime() - result.respTime) <= maxAge) {\n return result.blockNumber;\n }\n\n // Too old; fetch a new value\n break;\n\n } catch(error) {\n\n // The fetch rejected; if we are the first to get the\n // rejection, drop through so we replace it with a new\n // fetch; all others blocked will then get that fetch\n // which won't match the one they \"remembered\" and loop\n if (this._internalBlockNumber === internalBlockNumber) {\n break;\n }\n }\n }\n }\n\n const reqTime = getTime();\n\n const checkInternalBlockNumber = resolveProperties({\n blockNumber: this.perform(\"getBlockNumber\", { }),\n networkError: this.getNetwork().then((network) => (null), (error) => (error))\n }).then(({ blockNumber, networkError }) => {\n if (networkError) {\n // Unremember this bad internal block number\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n throw networkError;\n }\n\n const respTime = getTime();\n\n blockNumber = BigNumber.from(blockNumber).toNumber();\n if (blockNumber < this._maxInternalBlockNumber) { blockNumber = this._maxInternalBlockNumber; }\n\n this._maxInternalBlockNumber = blockNumber;\n this._setFastBlockNumber(blockNumber); // @TODO: Still need this?\n return { blockNumber, reqTime, respTime };\n });\n\n this._internalBlockNumber = checkInternalBlockNumber;\n\n // Swallow unhandled exceptions; if needed they are handled else where\n checkInternalBlockNumber.catch((error) => {\n // Don't null the dead (rejected) fetch, if it has already been updated\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n });\n\n return (await checkInternalBlockNumber).blockNumber;\n }\n\n async poll(): Promise {\n const pollId = nextPollId++;\n\n // Track all running promises, so we can trigger a post-poll once they are complete\n const runners: Array> = [];\n\n let blockNumber: number = null;\n try {\n blockNumber = await this._getInternalBlockNumber(100 + this.pollingInterval / 2);\n } catch (error) {\n this.emit(\"error\", error);\n return;\n }\n this._setFastBlockNumber(blockNumber);\n\n // Emit a poll event after we have the latest (fast) block number\n this.emit(\"poll\", pollId, blockNumber);\n\n // If the block has not changed, meh.\n if (blockNumber === this._lastBlockNumber) {\n this.emit(\"didPoll\", pollId);\n return;\n }\n\n // First polling cycle, trigger a \"block\" events\n if (this._emitted.block === -2) {\n this._emitted.block = blockNumber - 1;\n }\n\n if (Math.abs(((this._emitted.block)) - blockNumber) > 1000) {\n logger.warn(`network block skew detected; skipping block events (emitted=${ this._emitted.block } blockNumber${ blockNumber })`);\n this.emit(\"error\", logger.makeError(\"network block skew detected\", Logger.errors.NETWORK_ERROR, {\n blockNumber: blockNumber,\n event: \"blockSkew\",\n previousBlockNumber: this._emitted.block\n }));\n this.emit(\"block\", blockNumber);\n\n } else {\n // Notify all listener for each block that has passed\n for (let i = (this._emitted.block) + 1; i <= blockNumber; i++) {\n this.emit(\"block\", i);\n }\n }\n\n // The emitted block was updated, check for obsolete events\n if ((this._emitted.block) !== blockNumber) {\n this._emitted.block = blockNumber;\n\n Object.keys(this._emitted).forEach((key) => {\n // The block event does not expire\n if (key === \"block\") { return; }\n\n // The block we were at when we emitted this event\n const eventBlockNumber = this._emitted[key];\n\n // We cannot garbage collect pending transactions or blocks here\n // They should be garbage collected by the Provider when setting\n // \"pending\" events\n if (eventBlockNumber === \"pending\") { return; }\n\n // Evict any transaction hashes or block hashes over 12 blocks\n // old, since they should not return null anyways\n if (blockNumber - eventBlockNumber > 12) {\n delete this._emitted[key];\n }\n });\n }\n\n // First polling cycle\n if (this._lastBlockNumber === -2) {\n this._lastBlockNumber = blockNumber - 1;\n }\n // Find all transaction hashes we are waiting on\n this._events.forEach((event) => {\n switch (event.type) {\n case \"tx\": {\n const hash = event.hash;\n let runner = this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt || receipt.blockNumber == null) { return null; }\n this._emitted[\"t:\" + hash] = receipt.blockNumber;\n this.emit(hash, receipt);\n return null;\n }).catch((error: Error) => { this.emit(\"error\", error); });\n\n runners.push(runner);\n\n break;\n }\n\n case \"filter\": {\n // We only allow a single getLogs to be in-flight at a time\n if (!event._inflight) {\n event._inflight = true;\n\n // This is the first filter for this event, so we want to\n // restrict events to events that happened no earlier than now\n if (event._lastBlockNumber === -2) {\n event._lastBlockNumber = blockNumber - 1;\n }\n\n // Filter from the last *known* event; due to load-balancing\n // and some nodes returning updated block numbers before\n // indexing events, a logs result with 0 entries cannot be\n // trusted and we must retry a range which includes it again\n const filter = event.filter;\n filter.fromBlock = event._lastBlockNumber + 1;\n filter.toBlock = blockNumber;\n\n // Prevent fitler ranges from growing too wild, since it is quite\n // likely there just haven't been any events to move the lastBlockNumber.\n const minFromBlock = filter.toBlock - this._maxFilterBlockRange;\n if (minFromBlock > filter.fromBlock) { filter.fromBlock = minFromBlock; }\n\n if (filter.fromBlock < 0) { filter.fromBlock = 0; }\n\n const runner = this.getLogs(filter).then((logs) => {\n // Allow the next getLogs\n event._inflight = false;\n\n if (logs.length === 0) { return; }\n\n logs.forEach((log: Log) => {\n // Only when we get an event for a given block number\n // can we trust the events are indexed\n if (log.blockNumber > event._lastBlockNumber) {\n event._lastBlockNumber = log.blockNumber;\n }\n\n // Make sure we stall requests to fetch blocks and txs\n this._emitted[\"b:\" + log.blockHash] = log.blockNumber;\n this._emitted[\"t:\" + log.transactionHash] = log.blockNumber;\n\n this.emit(filter, log);\n });\n }).catch((error: Error) => {\n this.emit(\"error\", error);\n\n // Allow another getLogs (the range was not updated)\n event._inflight = false;\n });\n runners.push(runner);\n }\n\n break;\n }\n }\n });\n\n this._lastBlockNumber = blockNumber;\n\n // Once all events for this loop have been processed, emit \"didPoll\"\n Promise.all(runners).then(() => {\n this.emit(\"didPoll\", pollId);\n }).catch((error) => { this.emit(\"error\", error); });\n\n return;\n }\n\n // Deprecated; do not use this\n resetEventsBlock(blockNumber: number): void {\n this._lastBlockNumber = blockNumber - 1;\n if (this.polling) { this.poll(); }\n }\n\n get network(): Network {\n return this._network;\n }\n\n // This method should query the network if the underlying network\n // can change, such as when connected to a JSON-RPC backend\n async detectNetwork(): Promise {\n return logger.throwError(\"provider does not support network detection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"provider.detectNetwork\"\n });\n }\n\n async getNetwork(): Promise {\n const network = await this._ready();\n\n // Make sure we are still connected to the same network; this is\n // only an external call for backends which can have the underlying\n // network change spontaneously\n const currentNetwork = await this.detectNetwork();\n if (network.chainId !== currentNetwork.chainId) {\n\n // We are allowing network changes, things can get complex fast;\n // make sure you know what you are doing if you use \"any\"\n if (this.anyNetwork) {\n this._network = currentNetwork;\n\n // Reset all internal block number guards and caches\n this._lastBlockNumber = -2;\n this._fastBlockNumber = null;\n this._fastBlockNumberPromise = null;\n this._fastQueryDate = 0;\n this._emitted.block = -2;\n this._maxInternalBlockNumber = -1024;\n this._internalBlockNumber = null;\n\n // The \"network\" event MUST happen before this method resolves\n // so any events have a chance to unregister, so we stall an\n // additional event loop before returning from /this/ call\n this.emit(\"network\", currentNetwork, network);\n await stall(0);\n\n return this._network;\n }\n\n const error = logger.makeError(\"underlying network changed\", Logger.errors.NETWORK_ERROR, {\n event: \"changed\",\n network: network,\n detectedNetwork: currentNetwork\n });\n\n this.emit(\"error\", error);\n throw error;\n }\n\n return network;\n }\n\n get blockNumber(): number {\n this._getInternalBlockNumber(100 + this.pollingInterval / 2).then((blockNumber) => {\n this._setFastBlockNumber(blockNumber);\n }, (error) => { });\n\n return (this._fastBlockNumber != null) ? this._fastBlockNumber: -1;\n }\n\n get polling(): boolean {\n return (this._poller != null);\n }\n\n set polling(value: boolean) {\n if (value && !this._poller) {\n this._poller = setInterval(() => { this.poll(); }, this.pollingInterval);\n\n if (!this._bootstrapPoll) {\n this._bootstrapPoll = setTimeout(() => {\n this.poll();\n\n // We block additional polls until the polling interval\n // is done, to prevent overwhelming the poll function\n this._bootstrapPoll = setTimeout(() => {\n // If polling was disabled, something may require a poke\n // since starting the bootstrap poll and it was disabled\n if (!this._poller) { this.poll(); }\n\n // Clear out the bootstrap so we can do another\n this._bootstrapPoll = null;\n }, this.pollingInterval);\n }, 0);\n }\n\n } else if (!value && this._poller) {\n clearInterval(this._poller);\n this._poller = null;\n }\n }\n\n get pollingInterval(): number {\n return this._pollingInterval;\n }\n\n set pollingInterval(value: number) {\n if (typeof(value) !== \"number\" || value <= 0 || parseInt(String(value)) != value) {\n throw new Error(\"invalid polling interval\");\n }\n\n this._pollingInterval = value;\n\n if (this._poller) {\n clearInterval(this._poller);\n this._poller = setInterval(() => { this.poll(); }, this._pollingInterval);\n }\n }\n\n _getFastBlockNumber(): Promise {\n const now = getTime();\n\n // Stale block number, request a newer value\n if ((now - this._fastQueryDate) > 2 * this._pollingInterval) {\n this._fastQueryDate = now;\n this._fastBlockNumberPromise = this.getBlockNumber().then((blockNumber) => {\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n }\n return this._fastBlockNumber;\n });\n }\n\n return this._fastBlockNumberPromise;\n }\n\n _setFastBlockNumber(blockNumber: number): void {\n // Older block, maybe a stale request\n if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) { return; }\n\n // Update the time we updated the blocknumber\n this._fastQueryDate = getTime();\n\n // Newer block number, use it\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n this._fastBlockNumberPromise = Promise.resolve(blockNumber);\n }\n }\n\n async waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number): Promise {\n return this._waitForTransaction(transactionHash, (confirmations == null) ? 1: confirmations, timeout || 0, null);\n }\n\n async _waitForTransaction(transactionHash: string, confirmations: number, timeout: number, replaceable: { data: string, from: string, nonce: number, to: string, value: BigNumber, startBlock: number }): Promise {\n const receipt = await this.getTransactionReceipt(transactionHash);\n\n // Receipt is already good\n if ((receipt ? receipt.confirmations: 0) >= confirmations) { return receipt; }\n\n // Poll until the receipt is good...\n return new Promise((resolve, reject) => {\n const cancelFuncs: Array<() => void> = [];\n\n let done = false;\n const alreadyDone = function() {\n if (done) { return true; }\n done = true;\n cancelFuncs.forEach((func) => { func(); });\n return false;\n };\n\n const minedHandler = (receipt: TransactionReceipt) => {\n if (receipt.confirmations < confirmations) { return; }\n if (alreadyDone()) { return; }\n resolve(receipt);\n }\n this.on(transactionHash, minedHandler);\n cancelFuncs.push(() => { this.removeListener(transactionHash, minedHandler); });\n\n if (replaceable) {\n let lastBlockNumber = replaceable.startBlock;\n let scannedBlock: number = null;\n const replaceHandler = async (blockNumber: number) => {\n if (done) { return; }\n\n // Wait 1 second; this is only used in the case of a fault, so\n // we will trade off a little bit of latency for more consistent\n // results and fewer JSON-RPC calls\n await stall(1000);\n\n this.getTransactionCount(replaceable.from).then(async (nonce) => {\n if (done) { return; }\n\n if (nonce <= replaceable.nonce) {\n lastBlockNumber = blockNumber;\n\n } else {\n // First check if the transaction was mined\n {\n const mined = await this.getTransaction(transactionHash);\n if (mined && mined.blockNumber != null) { return; }\n }\n\n // First time scanning. We start a little earlier for some\n // wiggle room here to handle the eventually consistent nature\n // of blockchain (e.g. the getTransactionCount was for a\n // different block)\n if (scannedBlock == null) {\n scannedBlock = lastBlockNumber - 3;\n if (scannedBlock < replaceable.startBlock) {\n scannedBlock = replaceable.startBlock;\n }\n }\n\n while (scannedBlock <= blockNumber) {\n if (done) { return; }\n\n const block = await this.getBlockWithTransactions(scannedBlock);\n for (let ti = 0; ti < block.transactions.length; ti++) {\n const tx = block.transactions[ti];\n\n // Successfully mined!\n if (tx.hash === transactionHash) { return; }\n\n // Matches our transaction from and nonce; its a replacement\n if (tx.from === replaceable.from && tx.nonce === replaceable.nonce) {\n if (done) { return; }\n\n // Get the receipt of the replacement\n const receipt = await this.waitForTransaction(tx.hash, confirmations);\n\n // Already resolved or rejected (prolly a timeout)\n if (alreadyDone()) { return; }\n\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) {\n reason = \"repriced\";\n } else if (tx.data === \"0x\" && tx.from === tx.to && tx.value.isZero()) {\n reason = \"cancelled\"\n }\n\n // Explain why we were replaced\n reject(logger.makeError(\"transaction was replaced\", Logger.errors.TRANSACTION_REPLACED, {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: this._wrapTransaction(tx),\n hash: transactionHash,\n receipt\n }));\n\n return;\n }\n }\n scannedBlock++;\n }\n }\n\n if (done) { return; }\n this.once(\"block\", replaceHandler);\n\n }, (error) => {\n if (done) { return; }\n this.once(\"block\", replaceHandler);\n });\n };\n\n if (done) { return; }\n this.once(\"block\", replaceHandler);\n\n cancelFuncs.push(() => {\n this.removeListener(\"block\", replaceHandler);\n });\n }\n\n if (typeof(timeout) === \"number\" && timeout > 0) {\n const timer = setTimeout(() => {\n if (alreadyDone()) { return; }\n reject(logger.makeError(\"timeout exceeded\", Logger.errors.TIMEOUT, { timeout: timeout }));\n }, timeout);\n if (timer.unref) { timer.unref(); }\n\n cancelFuncs.push(() => { clearTimeout(timer); });\n }\n });\n }\n\n async getBlockNumber(): Promise {\n return this._getInternalBlockNumber(0);\n }\n\n async getGasPrice(): Promise {\n await this.getNetwork();\n\n const result = await this.perform(\"getGasPrice\", { });\n try {\n return BigNumber.from(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getGasPrice\",\n result, error\n });\n }\n }\n\n async getBalance(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n\n const result = await this.perform(\"getBalance\", params);\n try {\n return BigNumber.from(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getBalance\",\n params, result, error\n });\n }\n }\n\n async getTransactionCount(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n\n const result = await this.perform(\"getTransactionCount\", params);\n try {\n return BigNumber.from(result).toNumber();\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getTransactionCount\",\n params, result, error\n });\n }\n }\n\n async getCode(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n\n const result = await this.perform(\"getCode\", params);\n try {\n return hexlify(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getCode\",\n params, result, error\n });\n }\n }\n\n async getStorageAt(addressOrName: string | Promise, position: BigNumberish | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag),\n position: Promise.resolve(position).then((p) => hexValue(p))\n });\n const result = await this.perform(\"getStorageAt\", params);\n try {\n return hexlify(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getStorageAt\",\n params, result, error\n });\n }\n }\n\n // This should be called by any subclass wrapping a TransactionResponse\n _wrapTransaction(tx: Transaction, hash?: string, startBlock?: number): TransactionResponse {\n if (hash != null && hexDataLength(hash) !== 32) { throw new Error(\"invalid response - sendTransaction\"); }\n\n const result = tx;\n\n // Check the hash we expect is the same as the hash the server reported\n if (hash != null && tx.hash !== hash) {\n logger.throwError(\"Transaction hash mismatch from Provider.sendTransaction.\", Logger.errors.UNKNOWN_ERROR, { expectedHash: tx.hash, returnedHash: hash });\n }\n\n result.wait = async (confirms?: number, timeout?: number) => {\n if (confirms == null) { confirms = 1; }\n if (timeout == null) { timeout = 0; }\n\n // Get the details to detect replacement\n let replacement = undefined;\n if (confirms !== 0 && startBlock != null) {\n replacement = {\n data: tx.data,\n from: tx.from,\n nonce: tx.nonce,\n to: tx.to,\n value: tx.value,\n startBlock\n };\n }\n\n const receipt = await this._waitForTransaction(tx.hash, confirms, timeout, replacement);\n if (receipt == null && confirms === 0) { return null; }\n\n // No longer pending, allow the polling loop to garbage collect this\n this._emitted[\"t:\" + tx.hash] = receipt.blockNumber;\n\n if (receipt.status === 0) {\n logger.throwError(\"transaction failed\", Logger.errors.CALL_EXCEPTION, {\n transactionHash: tx.hash,\n transaction: tx,\n receipt: receipt\n });\n }\n return receipt;\n };\n\n return result;\n }\n\n async sendTransaction(signedTransaction: string | Promise): Promise {\n await this.getNetwork();\n const hexTx = await Promise.resolve(signedTransaction).then(t => hexlify(t));\n const tx = this.formatter.transaction(signedTransaction);\n if (tx.confirmations == null) { tx.confirmations = 0; }\n const blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n try {\n const hash = await this.perform(\"sendTransaction\", { signedTransaction: hexTx });\n return this._wrapTransaction(tx, hash, blockNumber);\n } catch (error) {\n (error).transaction = tx;\n (error).transactionHash = tx.hash;\n throw error;\n }\n }\n\n async _getTransactionRequest(transaction: Deferrable): Promise {\n const values: any = await transaction;\n\n const tx: any = { };\n\n [\"from\", \"to\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? this._getAddress(v): null))\n });\n\n [\"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"value\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? BigNumber.from(v): null));\n });\n\n [\"type\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => ((v != null) ? v: null));\n });\n\n if (values.accessList) {\n tx.accessList = this.formatter.accessList(values.accessList);\n }\n\n [\"data\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? hexlify(v): null));\n });\n\n return this.formatter.transactionRequest(await resolveProperties(tx));\n }\n\n async _getFilter(filter: Filter | FilterByBlockHash | Promise): Promise {\n filter = await filter;\n\n const result: any = { };\n\n if (filter.address != null) {\n result.address = this._getAddress(filter.address);\n }\n\n [\"blockHash\", \"topics\"].forEach((key) => {\n if ((filter)[key] == null) { return; }\n result[key] = (filter)[key];\n });\n\n [\"fromBlock\", \"toBlock\"].forEach((key) => {\n if ((filter)[key] == null) { return; }\n result[key] = this._getBlockTag((filter)[key]);\n });\n\n return this.formatter.filter(await resolveProperties(result));\n }\n\n async _call(transaction: TransactionRequest, blockTag: BlockTag, attempt: number): Promise {\n if (attempt >= MAX_CCIP_REDIRECTS) {\n logger.throwError(\"CCIP read exceeded maximum redirections\", Logger.errors.SERVER_ERROR, {\n redirects: attempt, transaction\n });\n }\n\n const txSender = transaction.to;\n\n const result = await this.perform(\"call\", { transaction, blockTag });\n\n // CCIP Read request via OffchainLookup(address,string[],bytes,bytes4,bytes)\n if (attempt >= 0 && blockTag === \"latest\" && txSender != null && result.substring(0, 10) === \"0x556f1830\" && (hexDataLength(result) % 32 === 4)) {\n try {\n const data = hexDataSlice(result, 4);\n\n // Check the sender of the OffchainLookup matches the transaction\n const sender = hexDataSlice(data, 0, 32);\n if (!BigNumber.from(sender).eq(txSender)) {\n logger.throwError(\"CCIP Read sender did not match\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n\n // Read the URLs from the response\n const urls: Array = [];\n const urlsOffset = BigNumber.from(hexDataSlice(data, 32, 64)).toNumber();\n const urlsLength = BigNumber.from(hexDataSlice(data, urlsOffset, urlsOffset + 32)).toNumber();\n const urlsData = hexDataSlice(data, urlsOffset + 32);\n for (let u = 0; u < urlsLength; u++) {\n const url = _parseString(urlsData, u * 32);\n if (url == null) {\n logger.throwError(\"CCIP Read contained corrupt URL string\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n urls.push(url);\n }\n\n // Get the CCIP calldata to forward\n const calldata = _parseBytes(data, 64);\n\n // Get the callbackSelector (bytes4)\n if (!BigNumber.from(hexDataSlice(data, 100, 128)).isZero()) {\n logger.throwError(\"CCIP Read callback selector included junk\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n const callbackSelector = hexDataSlice(data, 96, 100);\n\n // Get the extra data to send back to the contract as context\n const extraData = _parseBytes(data, 128);\n\n const ccipResult = await this.ccipReadFetch(transaction, calldata, urls);\n if (ccipResult == null) {\n logger.throwError(\"CCIP Read disabled or provided no URLs\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n\n const tx = {\n to: txSender,\n data: hexConcat([ callbackSelector, encodeBytes([ ccipResult, extraData ]) ])\n };\n\n return this._call(tx, blockTag, attempt + 1);\n\n } catch (error) {\n if (error.code === Logger.errors.SERVER_ERROR) { throw error; }\n }\n }\n\n try {\n return hexlify(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"call\",\n params: { transaction, blockTag }, result, error\n });\n }\n\n }\n\n async call(transaction: Deferrable, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const resolved = await resolveProperties({\n transaction: this._getTransactionRequest(transaction),\n blockTag: this._getBlockTag(blockTag),\n ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled)\n });\n return this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0: -1);\n }\n\n async estimateGas(transaction: Deferrable): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n transaction: this._getTransactionRequest(transaction)\n });\n\n const result = await this.perform(\"estimateGas\", params);\n try {\n return BigNumber.from(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"estimateGas\",\n params, result, error\n });\n }\n }\n\n async _getAddress(addressOrName: string | Promise): Promise {\n addressOrName = await addressOrName;\n if (typeof(addressOrName) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", addressOrName);\n }\n\n const address = await this.resolveName(addressOrName);\n if (address == null) {\n logger.throwError(\"ENS name not configured\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `resolveName(${ JSON.stringify(addressOrName) })`\n });\n }\n return address;\n }\n\n async _getBlock(blockHashOrBlockTag: BlockTag | string | Promise, includeTransactions?: boolean): Promise {\n await this.getNetwork();\n\n blockHashOrBlockTag = await blockHashOrBlockTag;\n\n // If blockTag is a number (not \"latest\", etc), this is the block number\n let blockNumber = -128;\n\n const params: { [key: string]: any } = {\n includeTransactions: !!includeTransactions\n };\n\n if (isHexString(blockHashOrBlockTag, 32)) {\n params.blockHash = blockHashOrBlockTag;\n } else {\n try {\n params.blockTag = await this._getBlockTag(blockHashOrBlockTag);\n if (isHexString(params.blockTag)) {\n blockNumber = parseInt(params.blockTag.substring(2), 16);\n }\n } catch (error) {\n logger.throwArgumentError(\"invalid block hash or block tag\", \"blockHashOrBlockTag\", blockHashOrBlockTag);\n }\n }\n\n return poll(async () => {\n const block = await this.perform(\"getBlock\", params);\n\n // Block was not found\n if (block == null) {\n\n // For blockhashes, if we didn't say it existed, that blockhash may\n // not exist. If we did see it though, perhaps from a log, we know\n // it exists, and this node is just not caught up yet.\n if (params.blockHash != null) {\n if (this._emitted[\"b:\" + params.blockHash] == null) { return null; }\n }\n\n // For block tags, if we are asking for a future block, we return null\n if (params.blockTag != null) {\n if (blockNumber > this._emitted.block) { return null; }\n }\n\n // Retry on the next block\n return undefined;\n }\n\n // Add transactions\n if (includeTransactions) {\n let blockNumber: number = null;\n for (let i = 0; i < block.transactions.length; i++) {\n const tx = block.transactions[i];\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n\n } else if (tx.confirmations == null) {\n if (blockNumber == null) {\n blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n }\n\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) { confirmations = 1; }\n tx.confirmations = confirmations;\n }\n }\n\n const blockWithTxs: any = this.formatter.blockWithTransactions(block);\n blockWithTxs.transactions = blockWithTxs.transactions.map((tx: TransactionResponse) => this._wrapTransaction(tx));\n return blockWithTxs;\n }\n\n return this.formatter.block(block);\n\n }, { oncePoll: this });\n }\n\n getBlock(blockHashOrBlockTag: BlockTag | string | Promise): Promise {\n return >(this._getBlock(blockHashOrBlockTag, false));\n }\n\n getBlockWithTransactions(blockHashOrBlockTag: BlockTag | string | Promise): Promise {\n return >(this._getBlock(blockHashOrBlockTag, true));\n }\n\n async getTransaction(transactionHash: string | Promise): Promise {\n await this.getNetwork();\n transactionHash = await transactionHash;\n\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n\n return poll(async () => {\n const result = await this.perform(\"getTransaction\", params);\n\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n\n const tx = this.formatter.transactionResponse(result);\n\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n\n } else if (tx.confirmations == null) {\n const blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) { confirmations = 1; }\n tx.confirmations = confirmations;\n }\n\n return this._wrapTransaction(tx);\n }, { oncePoll: this });\n }\n\n async getTransactionReceipt(transactionHash: string | Promise): Promise {\n await this.getNetwork();\n\n transactionHash = await transactionHash;\n\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n\n return poll(async () => {\n const result = await this.perform(\"getTransactionReceipt\", params);\n\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n\n // \"geth-etc\" returns receipts before they are ready\n if (result.blockHash == null) { return undefined; }\n\n const receipt = this.formatter.receipt(result);\n\n if (receipt.blockNumber == null) {\n receipt.confirmations = 0;\n\n } else if (receipt.confirmations == null) {\n const blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - receipt.blockNumber) + 1;\n if (confirmations <= 0) { confirmations = 1; }\n receipt.confirmations = confirmations;\n }\n\n return receipt;\n }, { oncePoll: this });\n }\n\n async getLogs(filter: Filter | FilterByBlockHash | Promise): Promise> {\n await this.getNetwork();\n const params = await resolveProperties({ filter: this._getFilter(filter) });\n const logs: Array = await this.perform(\"getLogs\", params);\n logs.forEach((log) => {\n if (log.removed == null) { log.removed = false; }\n });\n return Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(logs);\n }\n\n async getEtherPrice(): Promise {\n await this.getNetwork();\n return this.perform(\"getEtherPrice\", { });\n }\n\n async _getBlockTag(blockTag: BlockTag | Promise): Promise {\n blockTag = await blockTag;\n\n if (typeof(blockTag) === \"number\" && blockTag < 0) {\n if (blockTag % 1) {\n logger.throwArgumentError(\"invalid BlockTag\", \"blockTag\", blockTag);\n }\n\n let blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n blockNumber += blockTag;\n if (blockNumber < 0) { blockNumber = 0; }\n return this.formatter.blockTag(blockNumber)\n }\n\n return this.formatter.blockTag(blockTag);\n }\n\n\n async getResolver(name: string): Promise {\n let currentName = name;\n while (true) {\n if (currentName === \"\" || currentName === \".\") { return null; }\n\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") { return null; }\n\n // Check the current node for a resolver\n const addr = await this._getResolver(currentName, \"getResolver\");\n\n // Found a resolver!\n if (addr != null) {\n const resolver = new Resolver(this, addr, name);\n\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(await resolver.supportsWildcard())) { return null; }\n\n return resolver;\n }\n\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n\n }\n\n async _getResolver(name: string, operation?: string): Promise {\n if (operation == null) { operation = \"ENS\"; }\n\n const network = await this.getNetwork();\n\n // No ENS...\n if (!network.ensAddress) {\n logger.throwError(\n \"network does not support ENS\",\n Logger.errors.UNSUPPORTED_OPERATION,\n { operation, network: network.name }\n );\n }\n\n try {\n // keccak256(\"resolver(bytes32)\")\n const addrData = await this.call({\n to: network.ensAddress,\n data: (\"0x0178b8bf\" + namehash(name).substring(2))\n });\n return this.formatter.callAddress(addrData);\n } catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32)\n }\n\n return null;\n }\n\n async resolveName(name: string | Promise): Promise {\n name = await name;\n\n // If it is already an address, nothing to resolve\n try {\n return Promise.resolve(this.formatter.address(name));\n } catch (error) {\n // If is is a hexstring, the address is bad (See #694)\n if (isHexString(name)) { throw error; }\n }\n\n if (typeof(name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name\", \"name\", name);\n }\n\n // Get the addr from the resolver\n const resolver = await this.getResolver(name);\n if (!resolver) { return null; }\n\n return await resolver.getAddress();\n }\n\n async lookupAddress(address: string | Promise): Promise {\n address = await address;\n address = this.formatter.address(address);\n\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n\n const resolverAddr = await this._getResolver(node, \"lookupAddress\");\n if (resolverAddr == null) { return null; }\n\n // keccak(\"name(bytes32)\")\n const name = _parseString(await this.call({\n to: resolverAddr,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n\n const addr = await this.resolveName(name);\n if (addr != address) { return null; }\n\n return name;\n }\n\n async getAvatar(nameOrAddress: string): Promise {\n let resolver: Resolver = null;\n if (isHexString(nameOrAddress)) {\n // Address; reverse lookup\n const address = this.formatter.address(nameOrAddress);\n\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n\n const resolverAddress = await this._getResolver(node, \"getAvatar\");\n if (!resolverAddress) { return null; }\n\n // Try resolving the avatar against the addr.reverse resolver\n resolver = new Resolver(this, resolverAddress, node);\n try {\n const avatar = await resolver.getAvatar();\n if (avatar) { return avatar.url; }\n } catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) { throw error; }\n }\n\n // Try getting the name and performing forward lookup; allowing wildcards\n try {\n // keccak(\"name(bytes32)\")\n const name = _parseString(await this.call({\n to: resolverAddress,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n resolver = await this.getResolver(name);\n } catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) { throw error; }\n return null;\n }\n\n } else {\n // ENS name; forward lookup with wildcard\n resolver = await this.getResolver(nameOrAddress);\n if (!resolver) { return null; }\n }\n\n const avatar = await resolver.getAvatar();\n if (avatar == null) { return null; }\n\n return avatar.url;\n }\n\n perform(method: string, params: any): Promise {\n return logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n\n _startEvent(event: Event): void {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n\n _stopEvent(event: Event): void {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n\n _addEventListener(eventName: EventType, listener: Listener, once: boolean): this {\n const event = new Event(getEventTag(eventName), listener, once)\n this._events.push(event);\n this._startEvent(event);\n\n return this;\n }\n\n on(eventName: EventType, listener: Listener): this {\n return this._addEventListener(eventName, listener, false);\n }\n\n once(eventName: EventType, listener: Listener): this {\n return this._addEventListener(eventName, listener, true);\n }\n\n\n emit(eventName: EventType, ...args: Array): boolean {\n let result = false;\n\n let stopped: Array = [ ];\n\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) { return true; }\n\n setTimeout(() => {\n event.listener.apply(this, args);\n }, 0);\n\n result = true;\n\n if (event.once) {\n stopped.push(event);\n return false;\n }\n\n return true;\n });\n\n stopped.forEach((event) => { this._stopEvent(event); });\n\n return result;\n }\n\n listenerCount(eventName?: EventType): number {\n if (!eventName) { return this._events.length; }\n\n let eventTag = getEventTag(eventName);\n return this._events.filter((event) => {\n return (event.tag === eventTag);\n }).length;\n }\n\n listeners(eventName?: EventType): Array {\n if (eventName == null) {\n return this._events.map((event) => event.listener);\n }\n\n let eventTag = getEventTag(eventName);\n return this._events\n .filter((event) => (event.tag === eventTag))\n .map((event) => event.listener);\n }\n\n off(eventName: EventType, listener?: Listener): this {\n if (listener == null) {\n return this.removeAllListeners(eventName);\n }\n\n const stopped: Array = [ ];\n\n let found = false;\n\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag || event.listener != listener) { return true; }\n if (found) { return true; }\n found = true;\n stopped.push(event);\n return false;\n });\n\n stopped.forEach((event) => { this._stopEvent(event); });\n\n return this;\n }\n\n removeAllListeners(eventName?: EventType): this {\n let stopped: Array = [ ];\n if (eventName == null) {\n stopped = this._events;\n\n this._events = [ ];\n } else {\n const eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) { return true; }\n stopped.push(event);\n return false;\n });\n }\n\n stopped.forEach((event) => { this._stopEvent(event); });\n\n return this;\n }\n}\n","\"use strict\";\n\nimport { Block, TransactionReceipt, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { hexDataLength, hexDataSlice, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { AddressZero } from \"@ethersproject/constants\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { AccessList, accessListify, parse as parseTransaction } from \"@ethersproject/transactions\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport type FormatFunc = (value: any) => any;\n\nexport type FormatFuncs = { [ key: string ]: FormatFunc };\n\nexport type Formats = {\n transaction: FormatFuncs,\n transactionRequest: FormatFuncs,\n receipt: FormatFuncs,\n receiptLog: FormatFuncs,\n block: FormatFuncs,\n blockWithTransactions: FormatFuncs,\n filter: FormatFuncs,\n filterLog: FormatFuncs,\n};\n\nexport class Formatter {\n readonly formats: Formats;\n\n constructor() {\n this.formats = this.getDefaultFormats();\n }\n\n getDefaultFormats(): Formats {\n const formats: Formats = ({ });\n\n const address = this.address.bind(this);\n const bigNumber = this.bigNumber.bind(this);\n const blockTag = this.blockTag.bind(this);\n const data = this.data.bind(this);\n const hash = this.hash.bind(this);\n const hex = this.hex.bind(this);\n const number = this.number.bind(this);\n const type = this.type.bind(this);\n\n const strictData = (v: any) => { return this.data(v, true); };\n\n formats.transaction = {\n hash: hash,\n\n type: type,\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n\n blockHash: Formatter.allowNull(hash, null),\n blockNumber: Formatter.allowNull(number, null),\n transactionIndex: Formatter.allowNull(number, null),\n\n confirmations: Formatter.allowNull(number, null),\n\n from: address,\n\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas)\n // must be set\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n\n gasLimit: bigNumber,\n to: Formatter.allowNull(address, null),\n value: bigNumber,\n nonce: number,\n data: data,\n\n r: Formatter.allowNull(this.uint256),\n s: Formatter.allowNull(this.uint256),\n v: Formatter.allowNull(number),\n\n creates: Formatter.allowNull(address, null),\n\n raw: Formatter.allowNull(data),\n };\n\n formats.transactionRequest = {\n from: Formatter.allowNull(address),\n nonce: Formatter.allowNull(number),\n gasLimit: Formatter.allowNull(bigNumber),\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n to: Formatter.allowNull(address),\n value: Formatter.allowNull(bigNumber),\n data: Formatter.allowNull(strictData),\n type: Formatter.allowNull(number),\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n };\n\n formats.receiptLog = {\n transactionIndex: number,\n blockNumber: number,\n transactionHash: hash,\n address: address,\n topics: Formatter.arrayOf(hash),\n data: data,\n logIndex: number,\n blockHash: hash,\n };\n\n formats.receipt = {\n to: Formatter.allowNull(this.address, null),\n from: Formatter.allowNull(this.address, null),\n contractAddress: Formatter.allowNull(address, null),\n transactionIndex: number,\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n root: Formatter.allowNull(hex),\n gasUsed: bigNumber,\n logsBloom: Formatter.allowNull(data),// @TODO: should this be data?\n blockHash: hash,\n transactionHash: hash,\n logs: Formatter.arrayOf(this.receiptLog.bind(this)),\n blockNumber: number,\n confirmations: Formatter.allowNull(number, null),\n cumulativeGasUsed: bigNumber,\n effectiveGasPrice: Formatter.allowNull(bigNumber),\n status: Formatter.allowNull(number),\n type: type\n };\n\n formats.block = {\n hash: Formatter.allowNull(hash),\n parentHash: hash,\n number: number,\n\n timestamp: number,\n nonce: Formatter.allowNull(hex),\n difficulty: this.difficulty.bind(this),\n\n gasLimit: bigNumber,\n gasUsed: bigNumber,\n\n miner: Formatter.allowNull(address),\n extraData: data,\n\n transactions: Formatter.allowNull(Formatter.arrayOf(hash)),\n\n baseFeePerGas: Formatter.allowNull(bigNumber)\n };\n\n formats.blockWithTransactions = shallowCopy(formats.block);\n formats.blockWithTransactions.transactions = Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this)));\n\n formats.filter = {\n fromBlock: Formatter.allowNull(blockTag, undefined),\n toBlock: Formatter.allowNull(blockTag, undefined),\n blockHash: Formatter.allowNull(hash, undefined),\n address: Formatter.allowNull(address, undefined),\n topics: Formatter.allowNull(this.topics.bind(this), undefined),\n };\n\n formats.filterLog = {\n blockNumber: Formatter.allowNull(number),\n blockHash: Formatter.allowNull(hash),\n transactionIndex: number,\n\n removed: Formatter.allowNull(this.boolean.bind(this)),\n\n address: address,\n data: Formatter.allowFalsish(data, \"0x\"),\n\n topics: Formatter.arrayOf(hash),\n\n transactionHash: hash,\n logIndex: number,\n };\n\n return formats;\n }\n\n accessList(accessList: Array): AccessList {\n return accessListify(accessList || []);\n }\n\n // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number\n // Strict! Used on input.\n number(number: any): number {\n if (number === \"0x\") { return 0; }\n return BigNumber.from(number).toNumber();\n }\n\n type(number: any): number {\n if (number === \"0x\" || number == null) { return 0; }\n return BigNumber.from(number).toNumber();\n }\n\n // Strict! Used on input.\n bigNumber(value: any): BigNumber {\n return BigNumber.from(value);\n }\n\n // Requires a boolean, \"true\" or \"false\"; returns a boolean\n boolean(value: any): boolean {\n if (typeof(value) === \"boolean\") { return value; }\n if (typeof(value) === \"string\") {\n value = value.toLowerCase();\n if (value === \"true\") { return true; }\n if (value === \"false\") { return false; }\n }\n throw new Error(\"invalid boolean - \" + value);\n }\n\n hex(value: any, strict?: boolean): string {\n if (typeof(value) === \"string\") {\n if (!strict && value.substring(0, 2) !== \"0x\") { value = \"0x\" + value; }\n if (isHexString(value)) {\n return value.toLowerCase();\n }\n }\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n\n data(value: any, strict?: boolean): string {\n const result = this.hex(value, strict);\n if ((result.length % 2) !== 0) {\n throw new Error(\"invalid data; odd-length - \" + value);\n }\n return result;\n }\n\n // Requires an address\n // Strict! Used on input.\n address(value: any): string {\n return getAddress(value);\n }\n\n callAddress(value: any): string {\n if (!isHexString(value, 32)) { return null; }\n const address = getAddress(hexDataSlice(value, 12));\n return (address === AddressZero) ? null: address;\n }\n\n contractAddress(value: any): string {\n return getContractAddress(value);\n }\n\n // Strict! Used on input.\n blockTag(blockTag: any): string {\n if (blockTag == null) { return \"latest\"; }\n\n if (blockTag === \"earliest\") { return \"0x0\"; }\n\n switch (blockTag) {\n case \"earliest\": return \"0x0\";\n case \"latest\": case \"pending\": case \"safe\": case \"finalized\":\n return blockTag;\n }\n\n if (typeof(blockTag) === \"number\" || isHexString(blockTag)) {\n return hexValue(blockTag);\n }\n\n throw new Error(\"invalid blockTag\");\n }\n\n // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash.\n hash(value: any, strict?: boolean): string {\n const result = this.hex(value, strict);\n if (hexDataLength(result) !== 32) {\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n return result;\n }\n\n // Returns the difficulty as a number, or if too large (i.e. PoA network) null\n difficulty(value: any): number {\n if (value == null) { return null; }\n\n const v = BigNumber.from(value);\n\n try {\n return v.toNumber();\n } catch (error) { }\n\n return null;\n }\n\n uint256(value: any): string {\n if (!isHexString(value)) {\n throw new Error(\"invalid uint256\");\n }\n return hexZeroPad(value, 32);\n }\n\n _block(value: any, format: any): Block {\n if (value.author != null && value.miner == null) {\n value.miner = value.author;\n }\n // The difficulty may need to come from _difficulty in recursed blocks\n const difficulty = (value._difficulty != null) ? value._difficulty: value.difficulty;\n const result = Formatter.check(format, value);\n result._difficulty = ((difficulty == null) ? null: BigNumber.from(difficulty));\n return result;\n }\n\n block(value: any): Block {\n return this._block(value, this.formats.block);\n }\n\n blockWithTransactions(value: any): Block {\n return this._block(value, this.formats.blockWithTransactions);\n }\n\n // Strict! Used on input.\n transactionRequest(value: any): any {\n return Formatter.check(this.formats.transactionRequest, value);\n }\n\n transactionResponse(transaction: any): TransactionResponse {\n\n // Rename gas to gasLimit\n if (transaction.gas != null && transaction.gasLimit == null) {\n transaction.gasLimit = transaction.gas;\n }\n\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (transaction.to && BigNumber.from(transaction.to).isZero()) {\n transaction.to = \"0x0000000000000000000000000000000000000000\";\n }\n\n // Rename input to data\n if (transaction.input != null && transaction.data == null) {\n transaction.data = transaction.input;\n }\n\n // If to and creates are empty, populate the creates from the transaction\n if (transaction.to == null && transaction.creates == null) {\n transaction.creates = this.contractAddress(transaction);\n }\n\n if ((transaction.type === 1 || transaction.type === 2)&& transaction.accessList == null) {\n transaction.accessList = [ ];\n }\n\n const result: TransactionResponse = Formatter.check(this.formats.transaction, transaction);\n\n if (transaction.chainId != null) {\n let chainId = transaction.chainId;\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n result.chainId = chainId;\n\n } else {\n let chainId = transaction.networkId;\n\n // geth-etc returns chainId\n if (chainId == null && result.v == null) {\n chainId = transaction.chainId;\n }\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n if (typeof(chainId) !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) { chainId = 0; }\n chainId = parseInt(chainId);\n }\n\n if (typeof(chainId) !== \"number\") { chainId = 0; }\n\n result.chainId = chainId;\n }\n\n // 0x0000... should actually be null\n if (result.blockHash && result.blockHash.replace(/0/g, \"\") === \"x\") {\n result.blockHash = null;\n }\n\n return result;\n }\n\n transaction(value: any): any {\n return parseTransaction(value);\n }\n\n receiptLog(value: any): any {\n return Formatter.check(this.formats.receiptLog, value);\n }\n\n receipt(value: any): TransactionReceipt {\n const result: TransactionReceipt = Formatter.check(this.formats.receipt, value);\n\n // RSK incorrectly implemented EIP-658, so we munge things a bit here for it\n if (result.root != null) {\n if (result.root.length <= 4) {\n // Could be 0x00, 0x0, 0x01 or 0x1\n const value = BigNumber.from(result.root).toNumber();\n if (value === 0 || value === 1) {\n // Make sure if both are specified, they match\n if (result.status != null && (result.status !== value)) {\n logger.throwArgumentError(\"alt-root-status/status mismatch\", \"value\", { root: result.root, status: result.status });\n }\n result.status = value;\n delete result.root;\n } else {\n logger.throwArgumentError(\"invalid alt-root-status\", \"value.root\", result.root);\n }\n } else if (result.root.length !== 66) {\n // Must be a valid bytes32\n logger.throwArgumentError(\"invalid root hash\", \"value.root\", result.root);\n }\n }\n\n if (result.status != null) {\n result.byzantium = true;\n }\n\n return result;\n }\n\n topics(value: any): any {\n if (Array.isArray(value)) {\n return value.map((v) => this.topics(v));\n\n } else if (value != null) {\n return this.hash(value, true);\n }\n\n return null;\n }\n\n filter(value: any): any {\n return Formatter.check(this.formats.filter, value);\n }\n\n filterLog(value: any): any {\n return Formatter.check(this.formats.filterLog, value);\n }\n\n static check(format: { [ name: string ]: FormatFunc }, object: any): any {\n const result: any = {};\n for (const key in format) {\n try {\n const value = format[key](object[key]);\n if (value !== undefined) { result[key] = value; }\n } catch (error) {\n error.checkKey = key;\n error.checkValue = object[key];\n throw error;\n }\n }\n return result;\n }\n\n // if value is null-ish, nullValue is returned\n static allowNull(format: FormatFunc, nullValue?: any): FormatFunc {\n return (function(value: any) {\n if (value == null) { return nullValue; }\n return format(value);\n });\n }\n\n // If value is false-ish, replaceValue is returned\n static allowFalsish(format: FormatFunc, replaceValue: any): FormatFunc {\n return (function(value: any) {\n if (!value) { return replaceValue; }\n return format(value);\n });\n }\n\n // Requires an Array satisfying check\n static arrayOf(format: FormatFunc): FormatFunc {\n return (function(array: any): Array {\n if (!Array.isArray(array)) { throw new Error(\"not an array\"); }\n\n const result: any = [];\n\n array.forEach(function(value) {\n result.push(format(value));\n });\n\n return result;\n });\n }\n}\n\nexport interface CommunityResourcable {\n isCommunityResource(): boolean;\n}\n\nexport function isCommunityResourcable(value: any): value is CommunityResourcable {\n return (value && typeof(value.isCommunityResource) === \"function\");\n}\n\nexport function isCommunityResource(value: any): boolean {\n return (isCommunityResourcable(value) && value.isCommunityResource());\n}\n\n// Show the throttle message only once\nlet throttleMessage = false;\nexport function showThrottleMessage() {\n if (throttleMessage) { return; }\n throttleMessage = true;\n\n console.log(\"========= NOTICE =========\")\n console.log(\"Request-Rate Exceeded (this message will not be repeated)\");\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https:/\\/docs.ethers.io/api-keys/\");\n console.log(\"==========================\");\n}\n\n","\"use strict\";\n\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { CommunityResourcable, showThrottleMessage } from \"./formatter\";\nimport { WebSocketProvider } from \"./websocket-provider\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\n// This key was provided to ethers.js by Alchemy to be used by the\n// default provider, but it is recommended that for your own\n// production environments, that you acquire your own API key at:\n// https://dashboard.alchemyapi.io\n\nconst defaultApiKey = \"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"\n\nexport class AlchemyWebSocketProvider extends WebSocketProvider implements CommunityResourcable {\n readonly apiKey: string;\n\n constructor(network?: Networkish, apiKey?: any) {\n const provider = new AlchemyProvider(network, apiKey);\n\n const url = provider.connection.url.replace(/^http/i, \"ws\")\n .replace(\".alchemyapi.\", \".ws.alchemyapi.\");\n\n super(url, provider.network);\n defineReadOnly(this, \"apiKey\", provider.apiKey);\n }\n\n isCommunityResource(): boolean {\n return (this.apiKey === defaultApiKey);\n }\n}\n\nexport class AlchemyProvider extends UrlJsonRpcProvider {\n\n static getWebSocketProvider(network?: Networkish, apiKey?: any): AlchemyWebSocketProvider {\n return new AlchemyWebSocketProvider(network, apiKey);\n }\n\n static getApiKey(apiKey: any): any {\n if (apiKey == null) { return defaultApiKey; }\n if (apiKey && typeof(apiKey) !== \"string\") {\n logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n }\n return apiKey;\n }\n\n static getUrl(network: Network, apiKey: string): ConnectionInfo {\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"eth-mainnet.alchemyapi.io/v2/\";\n break;\n case \"goerli\":\n host = \"eth-goerli.g.alchemy.com/v2/\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.g.alchemy.com/v2/\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.g.alchemy.com/v2/\";\n break;\n case \"arbitrum\":\n host = \"arb-mainnet.g.alchemy.com/v2/\";\n break;\n case \"arbitrum-goerli\":\n host = \"arb-goerli.g.alchemy.com/v2/\";\n break;\n case \"optimism\":\n host = \"opt-mainnet.g.alchemy.com/v2/\";\n break;\n case \"optimism-goerli\":\n host = \"opt-goerli.g.alchemy.com/v2/\"\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n\n return {\n allowGzip: true,\n url: (\"https:/\" + \"/\" + host + apiKey),\n throttleCallback: (attempt: number, url: string) => {\n if (apiKey === defaultApiKey) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n }\n\n isCommunityResource(): boolean {\n return (this.apiKey === defaultApiKey);\n }\n}\n","\nimport { Network } from \"@ethersproject/networks\";\n\nimport { showThrottleMessage } from \"./formatter\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nimport type { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n\nconst defaultApiKey = \"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";\n\nfunction getHost(name: string): string {\n switch (name) {\n case \"homestead\":\n return \"rpc.ankr.com/eth/\";\n case \"ropsten\":\n return \"rpc.ankr.com/eth_ropsten/\";\n case \"rinkeby\":\n return \"rpc.ankr.com/eth_rinkeby/\";\n case \"goerli\":\n return \"rpc.ankr.com/eth_goerli/\";\n\n case \"matic\":\n return \"rpc.ankr.com/polygon/\";\n\n case \"arbitrum\":\n return \"rpc.ankr.com/arbitrum/\";\n }\n return logger.throwArgumentError(\"unsupported network\", \"name\", name);\n}\n\nexport class AnkrProvider extends UrlJsonRpcProvider {\n readonly apiKey: string;\n\n isCommunityResource(): boolean {\n return (this.apiKey === defaultApiKey);\n }\n\n static getApiKey(apiKey: any): any {\n if (apiKey == null) { return defaultApiKey; }\n return apiKey;\n }\n\n static getUrl(network: Network, apiKey: any): ConnectionInfo {\n if (apiKey == null) { apiKey = defaultApiKey; }\n const connection: ConnectionInfo = {\n allowGzip: true,\n url: (\"https:/\\/\" + getHost(network.name) + apiKey),\n throttleCallback: (attempt: number, url: string) => {\n if (apiKey.apiKey === defaultApiKey) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret\n }\n\n return connection;\n }\n}\n","\"use strict\";\n\nimport { Network } from \"@ethersproject/networks\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport class CloudflareProvider extends UrlJsonRpcProvider {\n\n static getApiKey(apiKey: any): any {\n if (apiKey != null) {\n logger.throwArgumentError(\"apiKey not supported for cloudflare\", \"apiKey\", apiKey);\n }\n return null;\n }\n\n static getUrl(network: Network, apiKey?: any): string {\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"https://cloudflare-eth.com/\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n\n return host;\n }\n\n async perform(method: string, params: any): Promise {\n // The Cloudflare provider does not support eth_blockNumber,\n // so we get the latest block and pull it from that\n if (method === \"getBlockNumber\") {\n const block = await super.perform(\"getBlock\", { blockTag: \"latest\" });\n return block.number;\n }\n\n return super.perform(method, params);\n }\n}\n","\"use strict\";\n\nimport { BlockTag, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { hexlify, hexValue, isHexString } from \"@ethersproject/bytes\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { deepCopy, defineReadOnly } from \"@ethersproject/properties\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { ConnectionInfo, fetchJson } from \"@ethersproject/web\";\n\nimport { showThrottleMessage } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { BaseProvider } from \"./base-provider\";\n\n\n// The transaction has already been sanitized by the calls in Provider\nfunction getTransactionPostData(transaction: TransactionRequest): Record {\n const result: Record = { };\n for (let key in transaction) {\n if ((transaction)[key] == null) { continue; }\n let value = (transaction)[key];\n if (key === \"type\" && value === 0) { continue; }\n\n // Quantity-types require no leading zero, unless 0\n if (({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true })[key]) {\n value = hexValue(hexlify(value));\n } else if (key === \"accessList\") {\n value = \"[\" + accessListify(value).map((set) => {\n return `{address:\"${ set.address }\",storageKeys:[\"${ set.storageKeys.join('\",\"') }\"]}`;\n }).join(\",\") + \"]\";\n } else {\n value = hexlify(value);\n }\n result[key] = value;\n }\n return result;\n}\n\nfunction getResult(result: { status?: number, message?: string, result?: any }): any {\n // getLogs, getHistory have weird success responses\n if (result.status == 0 && (result.message === \"No records found\" || result.message === \"No transactions found\")) {\n return result.result;\n }\n\n if (result.status != 1 || typeof(result.message) !== \"string\" || !result.message.match(/^OK/)) {\n const error: any = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n if ((result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n error.throttleRetry = true;\n }\n throw error;\n }\n\n return result.result;\n}\n\nfunction getJsonResult(result: { jsonrpc: string, result?: any, error?: { code?: number, data?: any, message?: string} } ): any {\n // This response indicates we are being throttled\n if (result && (result).status == 0 && (result).message == \"NOTOK\" && (result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n const error: any = new Error(\"throttled response\");\n error.result = JSON.stringify(result);\n error.throttleRetry = true;\n throw error;\n }\n\n if (result.jsonrpc != \"2.0\") {\n // @TODO: not any\n const error: any = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n throw error;\n }\n\n if (result.error) {\n // @TODO: not any\n const error: any = new Error(result.error.message || \"unknown error\");\n if (result.error.code) { error.code = result.error.code; }\n if (result.error.data) { error.data = result.error.data; }\n throw error;\n }\n\n return result.result;\n}\n\n// The blockTag was normalized as a string by the Provider pre-perform operations\nfunction checkLogTag(blockTag: string): number | \"latest\" {\n if (blockTag === \"pending\") { throw new Error(\"pending not supported\"); }\n if (blockTag === \"latest\") { return blockTag; }\n\n return parseInt(blockTag.substring(2), 16);\n}\n\n\nfunction checkError(method: string, error: any, transaction: any): any {\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\" && error.code === Logger.errors.SERVER_ERROR) {\n const e = error.error;\n\n // Etherscan keeps changing their string\n if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) {\n // Etherscan prefixes the data like \"Reverted 0x1234\"\n let data = e.data;\n if (data) { data = \"0x\" + data.replace(/^.*0x/i, \"\"); }\n\n if (isHexString(data)) { return data; }\n\n logger.throwError(\"missing revert data in call exception\", Logger.errors.CALL_EXCEPTION, {\n error, data: \"0x\"\n });\n }\n }\n\n // Get the message from any nested error structure\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR) {\n if (error.error && typeof(error.error.message) === \"string\") {\n message = error.error.message;\n } else if (typeof(error.body) === \"string\") {\n message = error.body;\n } else if (typeof(error.responseText) === \"string\") {\n message = error.responseText;\n }\n }\n message = (message || \"\").toLowerCase();\n\n // \"Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 21464000000000 and got: 0\"\n if (message.match(/insufficient funds/)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n\n // \"Transaction with the same hash was already imported.\"\n if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n\n // \"Transaction gas price is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce.\"\n if (message.match(/another transaction with same nonce/)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n\n if (message.match(/execution failed due to an exception|execution reverted/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n\n throw error;\n}\n\nexport class EtherscanProvider extends BaseProvider{\n readonly baseUrl: string;\n readonly apiKey: string | null;\n\n constructor(network?: Networkish, apiKey?: string) {\n super(network);\n\n defineReadOnly(this, \"baseUrl\", this.getBaseUrl());\n defineReadOnly(this, \"apiKey\", apiKey || null);\n }\n\n getBaseUrl(): string {\n switch(this.network ? this.network.name: \"invalid\") {\n case \"homestead\":\n return \"https:/\\/api.etherscan.io\";\n case \"goerli\":\n return \"https:/\\/api-goerli.etherscan.io\";\n case \"sepolia\":\n return \"https:/\\/api-sepolia.etherscan.io\";\n case \"matic\":\n return \"https:/\\/api.polygonscan.com\";\n case \"maticmum\":\n return \"https:/\\/api-testnet.polygonscan.com\";\n case \"arbitrum\":\n return \"https:/\\/api.arbiscan.io\";\n case \"arbitrum-goerli\":\n return \"https:/\\/api-goerli.arbiscan.io\";\n case \"optimism\":\n return \"https:/\\/api-optimistic.etherscan.io\";\n case \"optimism-goerli\":\n return \"https:/\\/api-goerli-optimistic.etherscan.io\";\n default:\n }\n\n return logger.throwArgumentError(\"unsupported network\", \"network\", this.network.name);\n }\n\n getUrl(module: string, params: Record): string {\n const query = Object.keys(params).reduce((accum, key) => {\n const value = params[key];\n if (value != null) {\n accum += `&${ key }=${ value }`\n }\n return accum\n }, \"\");\n const apiKey = ((this.apiKey) ? `&apikey=${ this.apiKey }`: \"\");\n return `${ this.baseUrl }/api?module=${ module }${ query }${ apiKey }`;\n }\n\n getPostUrl(): string {\n return `${ this.baseUrl }/api`;\n }\n\n getPostData(module: string, params: Record): Record {\n params.module = module;\n params.apikey = this.apiKey;\n return params;\n }\n\n async fetch(module: string, params: Record, post?: boolean): Promise {\n const url = (post ? this.getPostUrl(): this.getUrl(module, params));\n const payload = (post ? this.getPostData(module, params): null);\n const procFunc = (module === \"proxy\") ? getJsonResult: getResult;\n\n this.emit(\"debug\", {\n action: \"request\",\n request: url,\n provider: this\n });\n\n const connection: ConnectionInfo = {\n url: url,\n throttleSlotInterval: 1000,\n throttleCallback: (attempt: number, url: string) => {\n if (this.isCommunityResource()) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n\n let payloadStr: string = null;\n if (payload) {\n connection.headers = { \"content-type\": \"application/x-www-form-urlencoded; charset=UTF-8\" };\n payloadStr = Object.keys(payload).map((key) => {\n return `${ key }=${ payload[key] }`\n }).join(\"&\");\n }\n\n const result = await fetchJson(connection, payloadStr, procFunc || getJsonResult);\n\n this.emit(\"debug\", {\n action: \"response\",\n request: url,\n response: deepCopy(result),\n provider: this\n });\n\n return result;\n }\n\n async detectNetwork(): Promise {\n return this.network;\n }\n\n async perform(method: string, params: any): Promise {\n\n switch (method) {\n case \"getBlockNumber\":\n return this.fetch(\"proxy\", { action: \"eth_blockNumber\" });\n\n case \"getGasPrice\":\n return this.fetch(\"proxy\", { action: \"eth_gasPrice\" });\n\n case \"getBalance\":\n // Returns base-10 result\n return this.fetch(\"account\", {\n action: \"balance\",\n address: params.address,\n tag: params.blockTag\n });\n\n case \"getTransactionCount\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionCount\",\n address: params.address,\n tag: params.blockTag\n });\n\n case \"getCode\":\n return this.fetch(\"proxy\", {\n action: \"eth_getCode\",\n address: params.address,\n tag: params.blockTag\n });\n\n case \"getStorageAt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getStorageAt\",\n address: params.address,\n position: params.position,\n tag: params.blockTag\n });\n\n case \"sendTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_sendRawTransaction\",\n hex: params.signedTransaction\n }, true).catch((error) => {\n return checkError(\"sendTransaction\", error, params.signedTransaction);\n });\n\n case \"getBlock\":\n if (params.blockTag) {\n return this.fetch(\"proxy\", {\n action: \"eth_getBlockByNumber\",\n tag: params.blockTag,\n boolean: (params.includeTransactions ? \"true\": \"false\")\n });\n }\n throw new Error(\"getBlock by blockHash not implemented\");\n\n case \"getTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionByHash\",\n txhash: params.transactionHash\n });\n\n case \"getTransactionReceipt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionReceipt\",\n txhash: params.transactionHash\n });\n\n case \"call\": {\n if (params.blockTag !== \"latest\") {\n throw new Error(\"EtherscanProvider does not support blockTag for call\");\n }\n\n const postData = getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_call\";\n\n try {\n return await this.fetch(\"proxy\", postData, true);\n } catch (error) {\n return checkError(\"call\", error, params.transaction);\n }\n }\n\n case \"estimateGas\": {\n const postData = getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_estimateGas\";\n\n try {\n return await this.fetch(\"proxy\", postData, true);\n } catch (error) {\n return checkError(\"estimateGas\", error, params.transaction);\n }\n }\n\n case \"getLogs\": {\n const args: Record = { action: \"getLogs\" }\n\n if (params.filter.fromBlock) {\n args.fromBlock = checkLogTag(params.filter.fromBlock);\n }\n\n if (params.filter.toBlock) {\n args.toBlock = checkLogTag(params.filter.toBlock);\n }\n\n if (params.filter.address) {\n args.address = params.filter.address;\n }\n\n // @TODO: We can handle slightly more complicated logs using the logs API\n if (params.filter.topics && params.filter.topics.length > 0) {\n if (params.filter.topics.length > 1) {\n logger.throwError(\"unsupported topic count\", Logger.errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics });\n }\n\n if (params.filter.topics.length === 1) {\n const topic0 = params.filter.topics[0];\n if (typeof(topic0) !== \"string\" || topic0.length !== 66) {\n logger.throwError(\"unsupported topic format\", Logger.errors.UNSUPPORTED_OPERATION, { topic0: topic0 });\n }\n args.topic0 = topic0;\n }\n }\n\n const logs: Array = await this.fetch(\"logs\", args);\n\n // Cache txHash => blockHash\n let blocks: { [tag: string]: string } = {};\n\n // Add any missing blockHash to the logs\n for (let i = 0; i < logs.length; i++) {\n const log = logs[i];\n if (log.blockHash != null) { continue; }\n if (blocks[log.blockNumber] == null) {\n const block = await this.getBlock(log.blockNumber);\n if (block) {\n blocks[log.blockNumber] = block.hash;\n }\n }\n log.blockHash = blocks[log.blockNumber];\n }\n\n return logs;\n }\n\n case \"getEtherPrice\":\n if (this.network.name !== \"homestead\") { return 0.0; }\n return parseFloat((await this.fetch(\"stats\", { action: \"ethprice\" })).ethusd);\n\n default:\n break;\n }\n\n return super.perform(method, params);\n }\n\n // Note: The `page` page parameter only allows pagination within the\n // 10,000 window available without a page and offset parameter\n // Error: Result window is too large, PageNo x Offset size must\n // be less than or equal to 10000\n async getHistory(addressOrName: string | Promise, startBlock?: BlockTag, endBlock?: BlockTag): Promise> {\n const params = {\n action: \"txlist\",\n address: (await this.resolveName(addressOrName)),\n startblock: ((startBlock == null) ? 0: startBlock),\n endblock: ((endBlock == null) ? 99999999: endBlock),\n sort: \"asc\"\n };\n\n const result = await this.fetch(\"account\", params);\n\n return result.map((tx: any) => {\n [\"contractAddress\", \"to\"].forEach(function(key) {\n if (tx[key] == \"\") { delete tx[key]; }\n });\n if (tx.creates == null && tx.contractAddress != null) {\n tx.creates = tx.contractAddress;\n }\n const item = this.formatter.transactionResponse(tx);\n if (tx.timeStamp) { item.timestamp = parseInt(tx.timeStamp); }\n return item;\n });\n }\n\n isCommunityResource(): boolean {\n return (this.apiKey == null);\n }\n}\n","\"use strict\";\n\nimport { Block, BlockWithTransactions, Provider } from \"@ethersproject/abstract-provider\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { isHexString } from \"@ethersproject/bytes\";\nimport { Network } from \"@ethersproject/networks\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\nimport { shuffled } from \"@ethersproject/random\";\nimport { poll } from \"@ethersproject/web\";\n\nimport { BaseProvider } from \"./base-provider\";\nimport { isCommunityResource } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction now() { return (new Date()).getTime(); }\n\n// Returns to network as long as all agree, or null if any is null.\n// Throws an error if any two networks do not match.\nfunction checkNetworks(networks: Array): Network {\n let result = null;\n\n for (let i = 0; i < networks.length; i++) {\n const network = networks[i];\n\n // Null! We do not know our network; bail.\n if (network == null) { return null; }\n\n if (result) {\n // Make sure the network matches the previous networks\n if (!(result.name === network.name && result.chainId === network.chainId &&\n ((result.ensAddress === network.ensAddress) || (result.ensAddress == null && network.ensAddress == null)))) {\n\n logger.throwArgumentError(\"provider mismatch\", \"networks\", networks);\n }\n } else {\n result = network;\n }\n }\n\n return result;\n}\n\nfunction median(values: Array, maxDelta?: number): number {\n values = values.slice().sort();\n const middle = Math.floor(values.length / 2);\n\n // Odd length; take the middle\n if (values.length % 2) {\n return values[middle];\n }\n\n // Even length; take the average of the two middle\n const a = values[middle - 1], b = values[middle];\n\n if (maxDelta != null && Math.abs(a - b) > maxDelta) {\n return null;\n }\n\n return (a + b) / 2;\n}\n\nfunction serialize(value: any): string {\n if (value === null) {\n return \"null\";\n } else if (typeof(value) === \"number\" || typeof(value) === \"boolean\") {\n return JSON.stringify(value);\n } else if (typeof(value) === \"string\") {\n return value;\n } else if (BigNumber.isBigNumber(value)) {\n return value.toString();\n } else if (Array.isArray(value)) {\n return JSON.stringify(value.map((i) => serialize(i)));\n } else if (typeof(value) === \"object\") {\n const keys = Object.keys(value);\n keys.sort();\n return \"{\" + keys.map((key) => {\n let v = value[key];\n if (typeof(v) === \"function\") {\n v = \"[function]\";\n } else {\n v = serialize(v);\n }\n return JSON.stringify(key) + \":\" + v;\n }).join(\",\") + \"}\";\n }\n\n throw new Error(\"unknown value type: \" + typeof(value));\n}\n\n// Next request ID to use for emitting debug info\nlet nextRid = 1;\n\n\nexport interface FallbackProviderConfig {\n // The Provider\n provider: Provider;\n\n // The priority to favour this Provider; lower values are used first (higher priority)\n priority?: number;\n\n // Timeout before also triggering the next provider; this does not stop\n // this provider and if its result comes back before a quorum is reached\n // it will be incorporated into the vote\n // - lower values will cause more network traffic but may result in a\n // faster result.\n stallTimeout?: number;\n\n // How much this provider contributes to the quorum; sometimes a specific\n // provider may be more reliable or trustworthy than others, but usually\n // this should be left as the default\n weight?: number;\n};\n\n// A Staller is used to provide a delay to give a Provider a chance to response\n// before asking the next Provider to try.\ntype Staller = {\n wait: (func: () => void) => Promise\n getPromise: () => Promise,\n cancel: () => void\n};\n\nfunction stall(duration: number): Staller {\n let cancel: () => void = null;\n\n let timer: NodeJS.Timer = null;\n let promise = >(new Promise((resolve) => {\n cancel = function() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n resolve();\n }\n timer = setTimeout(cancel, duration);\n }));\n\n const wait = (func: () => void) => {\n promise = promise.then(func);\n return promise;\n }\n\n function getPromise(): Promise {\n return promise;\n }\n\n return { cancel, getPromise, wait };\n}\n\nconst ForwardErrors = [\n Logger.errors.CALL_EXCEPTION,\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n Logger.errors.UNPREDICTABLE_GAS_LIMIT\n];\n\nconst ForwardProperties = [\n \"address\",\n \"args\",\n \"errorArgs\",\n \"errorSignature\",\n \"method\",\n \"transaction\",\n];\n\n\n// @TODO: Make this an object with staller and cancel built-in\ninterface RunningConfig extends FallbackProviderConfig {\n start?: number;\n done?: boolean;\n cancelled?: boolean;\n runner?: Promise;\n staller?: Staller;\n result?: any;\n error?: Error;\n};\n\nfunction exposeDebugConfig(config: RunningConfig, now?: number): any {\n const result: any = {\n weight: config.weight\n };\n Object.defineProperty(result, \"provider\", { get: () => config.provider });\n if (config.start) { result.start = config.start; }\n if (now) { result.duration = (now - config.start); }\n if (config.done) {\n if (config.error) {\n result.error = config.error;\n } else {\n result.result = config.result || null;\n }\n }\n return result;\n}\n\nfunction normalizedTally(normalize: (value: any) => string, quorum: number): (configs: Array) => any {\n return function(configs: Array): any {\n\n // Count the votes for each result\n const tally: { [ key: string]: { count: number, result: any } } = { };\n configs.forEach((c) => {\n const value = normalize(c.result);\n if (!tally[value]) { tally[value] = { count: 0, result: c.result }; }\n tally[value].count++;\n });\n\n // Check for a quorum on any given result\n const keys = Object.keys(tally);\n for (let i = 0; i < keys.length; i++) {\n const check = tally[keys[i]];\n if (check.count >= quorum) {\n return check.result;\n }\n }\n\n // No quroum\n return undefined;\n }\n}\nfunction getProcessFunc(provider: FallbackProvider, method: string, params: { [ key: string ]: any }): (configs: Array) => any {\n\n let normalize = serialize;\n\n switch (method) {\n case \"getBlockNumber\":\n // Return the median value, unless there is (median + 1) is also\n // present, in which case that is probably true and the median\n // is going to be stale soon. In the event of a malicious node,\n // the lie will be true soon enough.\n return function(configs: Array): number {\n const values = configs.map((c) => c.result);\n\n // Get the median block number\n let blockNumber = median(configs.map((c) => c.result), 2);\n if (blockNumber == null) { return undefined; }\n\n blockNumber = Math.ceil(blockNumber);\n\n // If the next block height is present, its prolly safe to use\n if (values.indexOf(blockNumber + 1) >= 0) { blockNumber++; }\n\n // Don't ever roll back the blockNumber\n if (blockNumber >= provider._highestBlockNumber) {\n provider._highestBlockNumber = blockNumber;\n }\n\n return provider._highestBlockNumber;\n };\n\n case \"getGasPrice\":\n // Return the middle (round index up) value, similar to median\n // but do not average even entries and choose the higher.\n // Malicious actors must compromise 50% of the nodes to lie.\n return function(configs: Array): BigNumber {\n const values = configs.map((c) => c.result);\n values.sort();\n return values[Math.floor(values.length / 2)];\n }\n\n case \"getEtherPrice\":\n // Returns the median price. Malicious actors must compromise at\n // least 50% of the nodes to lie (in a meaningful way).\n return function(configs: Array): number {\n return median(configs.map((c) => c.result));\n }\n\n // No additional normalizing required; serialize is enough\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n case \"getStorageAt\":\n case \"call\":\n case \"estimateGas\":\n case \"getLogs\":\n break;\n\n // We drop the confirmations from transactions as it is approximate\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n normalize = function(tx: any): string {\n if (tx == null) { return null; }\n\n tx = shallowCopy(tx);\n tx.confirmations = -1;\n return serialize(tx);\n }\n break;\n\n // We drop the confirmations from transactions as it is approximate\n case \"getBlock\":\n // We drop the confirmations from transactions as it is approximate\n if (params.includeTransactions) {\n normalize = function(block: BlockWithTransactions): string {\n if (block == null) { return null; }\n\n block = shallowCopy(block);\n block.transactions = block.transactions.map((tx) => {\n tx = shallowCopy(tx);\n tx.confirmations = -1;\n return tx;\n });\n return serialize(block);\n };\n } else {\n normalize = function(block: Block): string {\n if (block == null) { return null; }\n return serialize(block);\n }\n }\n break;\n\n default:\n throw new Error(\"unknown method: \" + method);\n }\n\n // Return the result if and only if the expected quorum is\n // satisfied and agreed upon for the final result.\n return normalizedTally(normalize, provider.quorum);\n\n}\n\n// If we are doing a blockTag query, we need to make sure the backend is\n// caught up to the FallbackProvider, before sending a request to it.\nasync function waitForSync(config: RunningConfig, blockNumber: number): Promise {\n const provider = (config.provider);\n\n if ((provider.blockNumber != null && provider.blockNumber >= blockNumber) || blockNumber === -1) {\n return provider;\n }\n\n return poll(() => {\n return new Promise((resolve, reject) => {\n setTimeout(function() {\n\n // We are synced\n if (provider.blockNumber >= blockNumber) { return resolve(provider); }\n\n // We're done; just quit\n if (config.cancelled) { return resolve(null); }\n\n // Try again, next block\n return resolve(undefined);\n }, 0);\n });\n }, { oncePoll: provider });\n}\n\nasync function getRunner(config: RunningConfig, currentBlockNumber: number, method: string, params: { [ key: string]: any }): Promise {\n let provider = config.provider;\n\n switch (method) {\n case \"getBlockNumber\":\n case \"getGasPrice\":\n return provider[method]();\n case \"getEtherPrice\":\n if ((provider).getEtherPrice) {\n return (provider).getEtherPrice();\n }\n break;\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider[method](params.address, params.blockTag || \"latest\");\n case \"getStorageAt\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider.getStorageAt(params.address, params.position, params.blockTag || \"latest\");\n case \"getBlock\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider[(params.includeTransactions ? \"getBlockWithTransactions\": \"getBlock\")](params.blockTag || params.blockHash);\n case \"call\":\n case \"estimateGas\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n if (method === \"call\" && params.blockTag) {\n return provider[method](params.transaction, params.blockTag);\n }\n return provider[method](params.transaction);\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n return provider[method](params.transactionHash);\n case \"getLogs\": {\n let filter = params.filter;\n if ((filter.fromBlock && isHexString(filter.fromBlock)) || (filter.toBlock && isHexString(filter.toBlock))) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider.getLogs(filter);\n }\n }\n\n return logger.throwError(\"unknown method error\", Logger.errors.UNKNOWN_ERROR, {\n method: method,\n params: params\n });\n}\n\nexport class FallbackProvider extends BaseProvider {\n readonly providerConfigs: ReadonlyArray;\n readonly quorum: number;\n\n // Due to the highly asyncronous nature of the blockchain, we need\n // to make sure we never unroll the blockNumber due to our random\n // sample of backends\n _highestBlockNumber: number;\n\n constructor(providers: Array, quorum?: number) {\n if (providers.length === 0) {\n logger.throwArgumentError(\"missing providers\", \"providers\", providers);\n }\n\n const providerConfigs: Array = providers.map((configOrProvider, index) => {\n if (Provider.isProvider(configOrProvider)) {\n const stallTimeout = isCommunityResource(configOrProvider) ? 2000: 750;\n const priority = 1;\n return Object.freeze({ provider: configOrProvider, weight: 1, stallTimeout, priority });\n }\n\n const config: FallbackProviderConfig = shallowCopy(configOrProvider);\n\n if (config.priority == null) { config.priority = 1; }\n if (config.stallTimeout == null) {\n config.stallTimeout = isCommunityResource(configOrProvider) ? 2000: 750;\n }\n if (config.weight == null) { config.weight = 1; }\n\n const weight = config.weight;\n if (weight % 1 || weight > 512 || weight < 1) {\n logger.throwArgumentError(\"invalid weight; must be integer in [1, 512]\", `providers[${ index }].weight`, weight);\n }\n\n return Object.freeze(config);\n });\n\n const total = providerConfigs.reduce((accum, c) => (accum + c.weight), 0);\n\n if (quorum == null) {\n quorum = total / 2;\n } else if (quorum > total) {\n logger.throwArgumentError(\"quorum will always fail; larger than total weight\", \"quorum\", quorum);\n }\n\n // Are all providers' networks are known\n let networkOrReady: Network | Promise = checkNetworks(providerConfigs.map((c) => ((c.provider)).network));\n\n // Not all networks are known; we must stall\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then(resolve, reject);\n }, 0);\n });\n }\n\n super(networkOrReady);\n\n // Preserve a copy, so we do not get mutated\n defineReadOnly(this, \"providerConfigs\", Object.freeze(providerConfigs));\n defineReadOnly(this, \"quorum\", quorum);\n\n this._highestBlockNumber = -1;\n }\n\n async detectNetwork(): Promise {\n const networks = await Promise.all(this.providerConfigs.map((c) => c.provider.getNetwork()));\n return checkNetworks(networks);\n }\n\n async perform(method: string, params: { [name: string]: any }): Promise {\n // Sending transactions is special; always broadcast it to all backends\n if (method === \"sendTransaction\") {\n const results: Array = await Promise.all(this.providerConfigs.map((c) => {\n return c.provider.sendTransaction(params.signedTransaction).then((result) => {\n return result.hash;\n }, (error) => {\n return error;\n });\n }));\n\n // Any success is good enough (other errors are likely \"already seen\" errors\n for (let i = 0; i < results.length; i++) {\n const result = results[i];\n if (typeof(result) === \"string\") { return result; }\n }\n\n // They were all an error; pick the first error\n throw results[0];\n }\n\n // We need to make sure we are in sync with our backends, so we need\n // to know this before we can make a lot of calls\n if (this._highestBlockNumber === -1 && method !== \"getBlockNumber\") {\n await this.getBlockNumber();\n }\n\n const processFunc = getProcessFunc(this, method, params);\n\n // Shuffle the providers and then sort them by their priority; we\n // shallowCopy them since we will store the result in them too\n const configs: Array = shuffled(this.providerConfigs.map(shallowCopy));\n configs.sort((a, b) => (a.priority - b.priority));\n\n const currentBlockNumber = this._highestBlockNumber;\n\n let i = 0;\n let first = true;\n while (true) {\n const t0 = now();\n\n // Compute the inflight weight (exclude anything past)\n let inflightWeight = configs.filter((c) => (c.runner && ((t0 - c.start) < c.stallTimeout)))\n .reduce((accum, c) => (accum + c.weight), 0);\n\n // Start running enough to meet quorum\n while (inflightWeight < this.quorum && i < configs.length) {\n const config = configs[i++];\n\n const rid = nextRid++;\n\n config.start = now();\n config.staller = stall(config.stallTimeout);\n config.staller.wait(() => { config.staller = null; });\n\n config.runner = getRunner(config, currentBlockNumber, method, params).then((result) => {\n config.done = true;\n config.result = result;\n\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, now()),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n\n }, (error) => {\n config.done = true;\n config.error = error;\n\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, now()),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n });\n\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, null),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n\n inflightWeight += config.weight;\n }\n\n // Wait for anything meaningful to finish or stall out\n const waiting: Array> = [ ];\n configs.forEach((c) => {\n if (c.done || !c.runner) { return; }\n waiting.push(c.runner);\n if (c.staller) { waiting.push(c.staller.getPromise()); }\n });\n\n if (waiting.length) { await Promise.race(waiting); }\n\n // Check the quorum and process the results; the process function\n // may additionally decide the quorum is not met\n const results = configs.filter((c) => (c.done && c.error == null));\n if (results.length >= this.quorum) {\n const result = processFunc(results);\n if (result !== undefined) {\n // Shut down any stallers\n configs.forEach(c => {\n if (c.staller) { c.staller.cancel(); }\n c.cancelled = true;\n });\n return result;\n }\n if (!first) { await stall(100).getPromise(); }\n first = false;\n }\n\n // No result, check for errors that should be forwarded\n const errors = configs.reduce((accum, c) => {\n if (!c.done || c.error == null) { return accum; }\n\n const code = ((c.error)).code;\n if (ForwardErrors.indexOf(code) >= 0) {\n if (!accum[code]) { accum[code] = { error: c.error, weight: 0 }; }\n accum[code].weight += c.weight;\n }\n\n return accum;\n }, <{ [ code: string ]: { error: Error, weight: number } }>({ }));\n\n Object.keys(errors).forEach((errorCode: string) => {\n const tally = errors[errorCode];\n if (tally.weight < this.quorum) { return; }\n\n // Shut down any stallers\n configs.forEach(c => {\n if (c.staller) { c.staller.cancel(); }\n c.cancelled = true;\n });\n\n const e = (tally.error);\n\n const props: { [ name: string ]: any } = { };\n ForwardProperties.forEach((name) => {\n if (e[name] == null) { return; }\n props[name] = e[name];\n });\n\n logger.throwError(e.reason || e.message, errorCode, props);\n });\n\n // All configs have run to completion; we will never get more data\n if (configs.filter((c) => !c.done).length === 0) { break; }\n }\n\n // Shut down any stallers; shouldn't be any\n configs.forEach(c => {\n if (c.staller) { c.staller.cancel(); }\n c.cancelled = true;\n });\n\n return logger.throwError(\"failed to meet quorum\", Logger.errors.SERVER_ERROR, {\n method: method,\n params: params,\n //results: configs.map((c) => c.result),\n //errors: configs.map((c) => c.error),\n results: configs.map((c) => exposeDebugConfig(c)),\n provider: this\n });\n }\n}\n","\"use strict\";\n\nconst IpcProvider: any = null;\n\nexport {\n IpcProvider\n};\n","\"use strict\";\n\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { CommunityResourcable, showThrottleMessage } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\n\nconst defaultProjectId = \"84842078b09946638c03157f83405213\"\n\nexport class InfuraWebSocketProvider extends WebSocketProvider implements CommunityResourcable {\n readonly apiKey: string;\n readonly projectId: string;\n readonly projectSecret: string;\n\n constructor(network?: Networkish, apiKey?: any) {\n const provider = new InfuraProvider(network, apiKey);\n const connection = provider.connection;\n if (connection.password) {\n logger.throwError(\"INFURA WebSocket project secrets unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"InfuraProvider.getWebSocketProvider()\"\n });\n }\n\n const url = connection.url.replace(/^http/i, \"ws\").replace(\"/v3/\", \"/ws/v3/\");\n super(url, network);\n\n defineReadOnly(this, \"apiKey\", provider.projectId);\n defineReadOnly(this, \"projectId\", provider.projectId);\n defineReadOnly(this, \"projectSecret\", provider.projectSecret);\n }\n\n isCommunityResource(): boolean {\n return (this.projectId === defaultProjectId);\n }\n}\n\nexport class InfuraProvider extends UrlJsonRpcProvider {\n readonly projectId: string;\n readonly projectSecret: string;\n\n static getWebSocketProvider(network?: Networkish, apiKey?: any): InfuraWebSocketProvider {\n return new InfuraWebSocketProvider(network, apiKey);\n }\n\n static getApiKey(apiKey: any): any {\n const apiKeyObj: { apiKey: string, projectId: string, projectSecret: string } = {\n apiKey: defaultProjectId,\n projectId: defaultProjectId,\n projectSecret: null\n };\n\n if (apiKey == null) { return apiKeyObj; }\n\n if (typeof(apiKey) === \"string\") {\n apiKeyObj.projectId = apiKey;\n\n } else if (apiKey.projectSecret != null) {\n logger.assertArgument((typeof(apiKey.projectId) === \"string\"),\n \"projectSecret requires a projectId\", \"projectId\", apiKey.projectId);\n logger.assertArgument((typeof(apiKey.projectSecret) === \"string\"),\n \"invalid projectSecret\", \"projectSecret\", \"[REDACTED]\");\n\n apiKeyObj.projectId = apiKey.projectId;\n apiKeyObj.projectSecret = apiKey.projectSecret;\n\n } else if (apiKey.projectId) {\n apiKeyObj.projectId = apiKey.projectId;\n }\n\n apiKeyObj.apiKey = apiKeyObj.projectId;\n\n return apiKeyObj;\n }\n\n static getUrl(network: Network, apiKey: any): ConnectionInfo {\n let host: string = null;\n switch(network ? network.name: \"unknown\") {\n case \"homestead\":\n host = \"mainnet.infura.io\";\n break;\n case \"goerli\":\n host = \"goerli.infura.io\";\n break;\n case \"sepolia\":\n host = \"sepolia.infura.io\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.infura.io\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.infura.io\";\n break;\n case \"optimism\":\n host = \"optimism-mainnet.infura.io\";\n break;\n case \"optimism-goerli\":\n host = \"optimism-goerli.infura.io\";\n break;\n case \"arbitrum\":\n host = \"arbitrum-mainnet.infura.io\";\n break;\n case \"arbitrum-goerli\":\n host = \"arbitrum-goerli.infura.io\";\n break;\n default:\n logger.throwError(\"unsupported network\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n\n const connection: ConnectionInfo = {\n allowGzip: true,\n url: (\"https:/\" + \"/\" + host + \"/v3/\" + apiKey.projectId),\n throttleCallback: (attempt: number, url: string) => {\n if (apiKey.projectId === defaultProjectId) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret\n }\n\n return connection;\n }\n\n isCommunityResource(): boolean {\n return (this.projectId === defaultProjectId);\n }\n}\n","/* istanbul ignore file */\n\n\"use strict\";\n\nimport { Network } from \"@ethersproject/networks\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n// Special API key provided by Nodesmith for ethers.js\nconst defaultApiKey = \"ETHERS_JS_SHARED\";\n\nexport class NodesmithProvider extends UrlJsonRpcProvider {\n\n static getApiKey(apiKey: any): any {\n if (apiKey && typeof(apiKey) !== \"string\") {\n logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n }\n return apiKey || defaultApiKey;\n }\n\n static getUrl(network: Network, apiKey?: any): string {\n logger.warn(\"NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.\");\n\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc\";\n break;\n case \"ropsten\":\n host = \"https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc\";\n break;\n case \"rinkeby\":\n host = \"https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc\";\n break;\n case \"goerli\":\n host = \"https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc\";\n break;\n case \"kovan\":\n host = \"https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n\n return (host + \"?apiKey=\" + apiKey);\n }\n}\n","\"use strict\";\n\nimport { Network } from \"@ethersproject/networks\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nconst defaultApplicationId = \"62e1ad51b37b8e00394bda3b\";\n\n\nexport class PocketProvider extends UrlJsonRpcProvider {\n readonly applicationId: string;\n readonly applicationSecretKey: string;\n readonly loadBalancer: boolean;\n\n static getApiKey(apiKey: any): any {\n const apiKeyObj: { applicationId: string, applicationSecretKey: string, loadBalancer: boolean } = {\n applicationId: null,\n loadBalancer: true,\n applicationSecretKey: null\n };\n\n // Parse applicationId and applicationSecretKey\n if (apiKey == null) {\n apiKeyObj.applicationId = defaultApplicationId;\n\n } else if (typeof (apiKey) === \"string\") {\n apiKeyObj.applicationId = apiKey;\n\n } else if (apiKey.applicationSecretKey != null) {\n apiKeyObj.applicationId = apiKey.applicationId;\n apiKeyObj.applicationSecretKey = apiKey.applicationSecretKey;\n\n } else if (apiKey.applicationId) {\n apiKeyObj.applicationId = apiKey.applicationId;\n\n } else {\n logger.throwArgumentError(\"unsupported PocketProvider apiKey\", \"apiKey\", apiKey);\n }\n\n return apiKeyObj;\n }\n\n static getUrl(network: Network, apiKey: any): ConnectionInfo {\n let host: string = null;\n switch (network ? network.name : \"unknown\") {\n case \"goerli\":\n host = \"eth-goerli.gateway.pokt.network\";\n break;\n case \"homestead\":\n host = \"eth-mainnet.gateway.pokt.network\";\n break;\n case \"kovan\":\n host = \"poa-kovan.gateway.pokt.network\";\n break;\n case \"matic\":\n host = \"poly-mainnet.gateway.pokt.network\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai-rpc.gateway.pokt.network\";\n break;\n case \"rinkeby\":\n host = \"eth-rinkeby.gateway.pokt.network\";\n break;\n case \"ropsten\":\n host = \"eth-ropsten.gateway.pokt.network\";\n break;\n default:\n logger.throwError(\"unsupported network\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n\n const url = `https:/\\/${ host }/v1/lb/${ apiKey.applicationId }`\n\n const connection: ConnectionInfo = { headers: { }, url };\n if (apiKey.applicationSecretKey != null) {\n connection.user = \"\";\n connection.password = apiKey.applicationSecretKey\n }\n\n return connection;\n }\n\n isCommunityResource(): boolean {\n return (this.applicationId === defaultApplicationId);\n }\n}\n","\"use strict\";\n\nimport {\n Block,\n BlockTag,\n EventType,\n FeeData,\n Filter,\n Log,\n Listener,\n Provider,\n TransactionReceipt,\n TransactionRequest,\n TransactionResponse\n} from \"@ethersproject/abstract-provider\";\n\nimport { getNetwork } from \"@ethersproject/networks\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\n\nimport { BaseProvider, EnsProvider, EnsResolver, Resolver } from \"./base-provider\";\n\nimport { AlchemyProvider, AlchemyWebSocketProvider } from \"./alchemy-provider\";\nimport { AnkrProvider } from \"./ankr-provider\";\nimport { CloudflareProvider } from \"./cloudflare-provider\";\nimport { EtherscanProvider } from \"./etherscan-provider\";\nimport { FallbackProvider, FallbackProviderConfig } from \"./fallback-provider\";\nimport { IpcProvider } from \"./ipc-provider\";\nimport { InfuraProvider, InfuraWebSocketProvider } from \"./infura-provider\";\nimport { JsonRpcProvider, JsonRpcSigner } from \"./json-rpc-provider\";\nimport { JsonRpcBatchProvider } from \"./json-rpc-batch-provider\";\nimport { NodesmithProvider } from \"./nodesmith-provider\";\nimport { PocketProvider } from \"./pocket-provider\";\nimport { StaticJsonRpcProvider, UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nimport { Web3Provider } from \"./web3-provider\";\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { ExternalProvider, JsonRpcFetchFunc } from \"./web3-provider\";\n\nimport { CommunityResourcable, Formatter, isCommunityResourcable, isCommunityResource, showThrottleMessage } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n////////////////////////\n// Helper Functions\n\nfunction getDefaultProvider(network?: Networkish, options?: any): BaseProvider {\n if (network == null) { network = \"homestead\"; }\n\n // If passed a URL, figure out the right type of provider based on the scheme\n if (typeof(network) === \"string\") {\n // @TODO: Add support for IpcProvider; maybe if it ends in \".ipc\"?\n\n // Handle http and ws (and their secure variants)\n const match = network.match(/^(ws|http)s?:/i);\n if (match) {\n switch (match[1].toLowerCase()) {\n case \"http\": case \"https\":\n return new JsonRpcProvider(network);\n case \"ws\": case \"wss\":\n return new WebSocketProvider(network);\n default:\n logger.throwArgumentError(\"unsupported URL scheme\", \"network\", network);\n }\n }\n }\n\n const n = getNetwork(network);\n if (!n || !n._defaultProvider) {\n logger.throwError(\"unsupported getDefaultProvider network\", Logger.errors.NETWORK_ERROR, {\n operation: \"getDefaultProvider\",\n network: network\n });\n }\n\n return n._defaultProvider({\n FallbackProvider,\n\n AlchemyProvider,\n AnkrProvider,\n CloudflareProvider,\n EtherscanProvider,\n InfuraProvider,\n JsonRpcProvider,\n NodesmithProvider,\n PocketProvider,\n Web3Provider,\n\n IpcProvider,\n }, options);\n}\n\n////////////////////////\n// Exports\n\nexport {\n\n // Abstract Providers (or Abstract-ish)\n Provider,\n BaseProvider,\n\n Resolver,\n\n UrlJsonRpcProvider,\n\n ///////////////////////\n // Concrete Providers\n\n FallbackProvider,\n\n AlchemyProvider,\n AlchemyWebSocketProvider,\n AnkrProvider,\n CloudflareProvider,\n EtherscanProvider,\n InfuraProvider,\n InfuraWebSocketProvider,\n JsonRpcProvider,\n JsonRpcBatchProvider,\n NodesmithProvider,\n PocketProvider,\n StaticJsonRpcProvider,\n Web3Provider,\n WebSocketProvider,\n\n IpcProvider,\n\n\n ///////////////////////\n // Signer\n\n JsonRpcSigner,\n\n\n ///////////////////////\n // Functions\n\n getDefaultProvider,\n getNetwork,\n isCommunityResource,\n isCommunityResourcable,\n showThrottleMessage,\n\n\n ///////////////////////\n // Objects\n\n Formatter,\n\n\n ///////////////////////\n // Types\n\n Block,\n BlockTag,\n EventType,\n FeeData,\n Filter,\n Log,\n Listener,\n TransactionReceipt,\n TransactionRequest,\n TransactionResponse,\n\n ExternalProvider,\n JsonRpcFetchFunc,\n\n FallbackProviderConfig,\n\n Network,\n Networkish,\n\n EnsProvider,\n EnsResolver,\n\n CommunityResourcable\n};\n\n","\nimport { deepCopy } from \"@ethersproject/properties\";\nimport { fetchJson } from \"@ethersproject/web\";\n\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\n\n// Experimental\n\nexport class JsonRpcBatchProvider extends JsonRpcProvider {\n _pendingBatchAggregator: NodeJS.Timer;\n _pendingBatch: Array<{\n request: { method: string, params: Array, id: number, jsonrpc: \"2.0\" },\n resolve: (result: any) => void,\n reject: (error: Error) => void\n }>;\n\n send(method: string, params: Array): Promise {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n\n if (this._pendingBatch == null) {\n this._pendingBatch = [ ];\n }\n\n const inflightRequest: any = { request, resolve: null, reject: null };\n\n const promise = new Promise((resolve, reject) => {\n inflightRequest.resolve = resolve;\n inflightRequest.reject = reject;\n });\n\n this._pendingBatch.push(inflightRequest);\n\n if (!this._pendingBatchAggregator) {\n // Schedule batch for next event loop + short duration\n this._pendingBatchAggregator = setTimeout(() => {\n\n // Get teh current batch and clear it, so new requests\n // go into the next batch\n const batch = this._pendingBatch;\n this._pendingBatch = null;\n this._pendingBatchAggregator = null;\n\n // Get the request as an array of requests\n const request = batch.map((inflight) => inflight.request);\n\n this.emit(\"debug\", {\n action: \"requestBatch\",\n request: deepCopy(request),\n provider: this\n });\n\n return fetchJson(this.connection, JSON.stringify(request)).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n\n // For each result, feed it to the correct Promise, depending\n // on whether it was a success or error\n batch.forEach((inflightRequest, index) => {\n const payload = result[index];\n if (payload.error) {\n const error = new Error(payload.error.message);\n (error).code = payload.error.code;\n (error).data = payload.error.data;\n inflightRequest.reject(error);\n } else {\n inflightRequest.resolve(payload.result);\n }\n });\n\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n\n batch.forEach((inflightRequest) => {\n inflightRequest.reject(error);\n });\n });\n\n }, 10);\n }\n\n return promise;\n }\n}\n","\"use strict\";\n\n// See: https://github.com/ethereum/wiki/wiki/JSON-RPC\n\nimport { Provider, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from \"@ethersproject/abstract-signer\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { Bytes, hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { checkProperties, deepCopy, Deferrable, defineReadOnly, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { AccessList, accessListify } from \"@ethersproject/transactions\";\nimport { ConnectionInfo, fetchJson, poll } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { BaseProvider, Event } from \"./base-provider\";\n\n\nconst errorGas = [ \"call\", \"estimateGas\" ];\n\nfunction spelunk(value: any, requireData: boolean): null | { message: string, data: null | string } {\n if (value == null) { return null; }\n\n // These *are* the droids we're looking for.\n if (typeof(value.message) === \"string\" && value.message.match(\"reverted\")) {\n const data = isHexString(value.data) ? value.data: null;\n if (!requireData || data) {\n return { message: value.message, data };\n }\n }\n\n // Spelunk further...\n if (typeof(value) === \"object\") {\n for (const key in value) {\n const result = spelunk(value[key], requireData);\n if (result) { return result; }\n }\n return null;\n }\n\n // Might be a JSON string we can further descend...\n if (typeof(value) === \"string\") {\n try {\n return spelunk(JSON.parse(value), requireData);\n } catch (error) { }\n }\n\n return null;\n}\n\nfunction checkError(method: string, error: any, params: any): any {\n\n const transaction = params.transaction || params.signedTransaction;\n\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\") {\n const result = spelunk(error, true);\n if (result) { return result.data; }\n\n // Nothing descriptive..\n logger.throwError(\"missing revert data in call exception; Transaction reverted without a reason string\", Logger.errors.CALL_EXCEPTION, {\n data: \"0x\", transaction, error\n });\n }\n\n if (method === \"estimateGas\") {\n // Try to find something, with a preference on SERVER_ERROR body\n let result = spelunk(error.body, false);\n if (result == null) { result = spelunk(error, false); }\n\n // Found \"reverted\", this is a CALL_EXCEPTION\n if (result) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n reason: result.message, method, transaction, error\n });\n }\n }\n\n // @TODO: Should we spelunk for message too?\n\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR && error.error && typeof(error.error.message) === \"string\") {\n message = error.error.message;\n } else if (typeof(error.body) === \"string\") {\n message = error.body;\n } else if (typeof(error.responseText) === \"string\") {\n message = error.responseText;\n }\n message = (message || \"\").toLowerCase();\n\n // \"insufficient funds for gas * price + value + cost(data)\"\n if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n\n // \"nonce too low\"\n if (message.match(/nonce (is )?too low/i)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n\n // \"replacement transaction underpriced\"\n if (message.match(/only replay-protected/i)) {\n logger.throwError(\"legacy pre-eip-155 transactions not supported\", Logger.errors.UNSUPPORTED_OPERATION, {\n error, method, transaction\n });\n }\n\n if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n\n throw error;\n}\n\nfunction timer(timeout: number): Promise {\n return new Promise(function(resolve) {\n setTimeout(resolve, timeout);\n });\n}\n\nfunction getResult(payload: { error?: { code?: number, data?: any, message?: string }, result?: any }): any {\n if (payload.error) {\n // @TODO: not any\n const error: any = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n throw error;\n }\n\n return payload.result;\n}\n\nfunction getLowerCase(value: string): string {\n if (value) { return value.toLowerCase(); }\n return value;\n}\n\nconst _constructorGuard = {};\n\nexport class JsonRpcSigner extends Signer implements TypedDataSigner {\n readonly provider: JsonRpcProvider;\n _index: number;\n _address: string;\n\n constructor(constructorGuard: any, provider: JsonRpcProvider, addressOrIndex?: string | number) {\n super();\n\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"do not call the JsonRpcSigner constructor directly; use provider.getSigner\");\n }\n\n defineReadOnly(this, \"provider\", provider);\n\n if (addressOrIndex == null) { addressOrIndex = 0; }\n\n if (typeof(addressOrIndex) === \"string\") {\n defineReadOnly(this, \"_address\", this.provider.formatter.address(addressOrIndex));\n defineReadOnly(this, \"_index\", null);\n\n } else if (typeof(addressOrIndex) === \"number\") {\n defineReadOnly(this, \"_index\", addressOrIndex);\n defineReadOnly(this, \"_address\", null);\n\n } else {\n logger.throwArgumentError(\"invalid address or index\", \"addressOrIndex\", addressOrIndex);\n }\n }\n\n connect(provider: Provider): JsonRpcSigner {\n return logger.throwError(\"cannot alter JSON-RPC Signer connection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"connect\"\n });\n }\n\n connectUnchecked(): JsonRpcSigner {\n return new UncheckedJsonRpcSigner(_constructorGuard, this.provider, this._address || this._index);\n }\n\n getAddress(): Promise {\n if (this._address) {\n return Promise.resolve(this._address);\n }\n\n return this.provider.send(\"eth_accounts\", []).then((accounts) => {\n if (accounts.length <= this._index) {\n logger.throwError(\"unknown account #\" + this._index, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getAddress\"\n });\n }\n return this.provider.formatter.address(accounts[this._index])\n });\n }\n\n sendUncheckedTransaction(transaction: Deferrable): Promise {\n transaction = shallowCopy(transaction);\n\n const fromAddress = this.getAddress().then((address) => {\n if (address) { address = address.toLowerCase(); }\n return address;\n });\n\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (transaction.gasLimit == null) {\n const estimate = shallowCopy(transaction);\n estimate.from = fromAddress;\n transaction.gasLimit = this.provider.estimateGas(estimate);\n }\n\n if (transaction.to != null) {\n transaction.to = Promise.resolve(transaction.to).then(async (to) => {\n if (to == null) { return null; }\n const address = await this.provider.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n });\n }\n\n return resolveProperties({\n tx: resolveProperties(transaction),\n sender: fromAddress\n }).then(({ tx, sender }) => {\n\n if (tx.from != null) {\n if (tx.from.toLowerCase() !== sender) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n } else {\n tx.from = sender;\n }\n\n const hexTx = (this.provider.constructor).hexlifyTransaction(tx, { from: true });\n\n return this.provider.send(\"eth_sendTransaction\", [ hexTx ]).then((hash) => {\n return hash;\n }, (error) => {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected transaction\", Logger.errors.ACTION_REJECTED, {\n action: \"sendTransaction\",\n transaction: tx\n });\n }\n\n return checkError(\"sendTransaction\", error, hexTx);\n });\n });\n }\n\n signTransaction(transaction: Deferrable): Promise {\n return logger.throwError(\"signing transactions is unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signTransaction\"\n });\n }\n\n async sendTransaction(transaction: Deferrable): Promise {\n // This cannot be mined any earlier than any recent block\n const blockNumber = await this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval);\n\n // Send the transaction\n const hash = await this.sendUncheckedTransaction(transaction);\n\n try {\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return await poll(async () => {\n const tx = await this.provider.getTransaction(hash);\n if (tx === null) { return undefined; }\n return this.provider._wrapTransaction(tx, hash, blockNumber);\n }, { oncePoll: this.provider });\n } catch (error) {\n (error).transactionHash = hash;\n throw error;\n }\n }\n\n async signMessage(message: Bytes | string): Promise {\n const data = ((typeof(message) === \"string\") ? toUtf8Bytes(message): message);\n const address = await this.getAddress();\n try {\n return await this.provider.send(\"personal_sign\", [ hexlify(data), address.toLowerCase() ]);\n } catch (error) {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"signMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n }\n\n async _legacySignMessage(message: Bytes | string): Promise {\n const data = ((typeof(message) === \"string\") ? toUtf8Bytes(message): message);\n const address = await this.getAddress();\n\n try {\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n return await this.provider.send(\"eth_sign\", [ address.toLowerCase(), hexlify(data) ]);\n } catch (error) {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_legacySignMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n }\n\n async _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise {\n // Populate any ENS names (in-place)\n const populated = await _TypedDataEncoder.resolveNames(domain, types, value, (name: string) => {\n return this.provider.resolveName(name);\n });\n\n const address = await this.getAddress();\n\n try {\n return await this.provider.send(\"eth_signTypedData_v4\", [\n address.toLowerCase(),\n JSON.stringify(_TypedDataEncoder.getPayload(populated.domain, types, populated.value))\n ]);\n } catch (error) {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_signTypedData\",\n from: address,\n messageData: { domain: populated.domain, types, value: populated.value }\n });\n }\n throw error;\n }\n }\n\n async unlock(password: string): Promise {\n const provider = this.provider;\n\n const address = await this.getAddress();\n\n return provider.send(\"personal_unlockAccount\", [ address.toLowerCase(), password, null ]);\n }\n}\n\nclass UncheckedJsonRpcSigner extends JsonRpcSigner {\n sendTransaction(transaction: Deferrable): Promise {\n return this.sendUncheckedTransaction(transaction).then((hash) => {\n return {\n hash: hash,\n nonce: null,\n gasLimit: null,\n gasPrice: null,\n data: null,\n value: null,\n chainId: null,\n confirmations: 0,\n from: null,\n wait: (confirmations?: number) => { return this.provider.waitForTransaction(hash, confirmations); }\n };\n });\n }\n}\n\nconst allowedTransactionKeys: { [ key: string ]: boolean } = {\n chainId: true, data: true, gasLimit: true, gasPrice:true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true\n}\n\nexport class JsonRpcProvider extends BaseProvider {\n readonly connection: ConnectionInfo;\n\n _pendingFilter: Promise;\n _nextId: number;\n\n // During any given event loop, the results for a given call will\n // all be the same, so we can dedup the calls to save requests and\n // bandwidth. @TODO: Try out generalizing this against send?\n _eventLoopCache: Record>;\n get _cache(): Record> {\n if (this._eventLoopCache == null) {\n this._eventLoopCache = { };\n }\n return this._eventLoopCache;\n }\n\n constructor(url?: ConnectionInfo | string, network?: Networkish) {\n let networkOrReady: Networkish | Promise = network;\n\n // The network is unknown, query the JSON-RPC for it\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then((network) => {\n resolve(network);\n }, (error) => {\n reject(error);\n });\n }, 0);\n });\n }\n\n super(networkOrReady);\n\n // Default URL\n if (!url) { url = getStatic<() => string>(this.constructor, \"defaultUrl\")(); }\n\n if (typeof(url) === \"string\") {\n defineReadOnly(this, \"connection\",Object.freeze({\n url: url\n }));\n } else {\n defineReadOnly(this, \"connection\", Object.freeze(shallowCopy(url)));\n }\n\n this._nextId = 42;\n }\n\n static defaultUrl(): string {\n return \"http:/\\/localhost:8545\";\n }\n\n detectNetwork(): Promise {\n if (!this._cache[\"detectNetwork\"]) {\n this._cache[\"detectNetwork\"] = this._uncachedDetectNetwork();\n\n // Clear this cache at the beginning of the next event loop\n setTimeout(() => {\n this._cache[\"detectNetwork\"] = null;\n }, 0);\n }\n return this._cache[\"detectNetwork\"];\n }\n\n async _uncachedDetectNetwork(): Promise {\n await timer(0);\n\n let chainId = null;\n try {\n chainId = await this.send(\"eth_chainId\", [ ]);\n } catch (error) {\n try {\n chainId = await this.send(\"net_version\", [ ]);\n } catch (error) { }\n }\n\n if (chainId != null) {\n const getNetwork = getStatic<(network: Networkish) => Network>(this.constructor, \"getNetwork\");\n try {\n return getNetwork(BigNumber.from(chainId).toNumber());\n } catch (error) {\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n chainId: chainId,\n event: \"invalidNetwork\",\n serverError: error\n });\n }\n }\n\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n event: \"noNetwork\"\n });\n }\n\n getSigner(addressOrIndex?: string | number): JsonRpcSigner {\n return new JsonRpcSigner(_constructorGuard, this, addressOrIndex);\n }\n\n getUncheckedSigner(addressOrIndex?: string | number): UncheckedJsonRpcSigner {\n return this.getSigner(addressOrIndex).connectUnchecked();\n }\n\n listAccounts(): Promise> {\n return this.send(\"eth_accounts\", []).then((accounts: Array) => {\n return accounts.map((a) => this.formatter.address(a));\n });\n }\n\n send(method: string, params: Array): Promise {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n\n this.emit(\"debug\", {\n action: \"request\",\n request: deepCopy(request),\n provider: this\n });\n\n // We can expand this in the future to any call, but for now these\n // are the biggest wins and do not require any serializing parameters.\n const cache = ([ \"eth_chainId\", \"eth_blockNumber\" ].indexOf(method) >= 0);\n if (cache && this._cache[method]) {\n return this._cache[method];\n }\n\n const result = fetchJson(this.connection, JSON.stringify(request), getResult).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n\n return result;\n\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n\n throw error;\n });\n\n // Cache the fetch, but clear it on the next event loop\n if (cache) {\n this._cache[method] = result;\n setTimeout(() => {\n this._cache[method] = null;\n }, 0);\n }\n\n return result;\n }\n\n prepareRequest(method: string, params: any): [ string, Array ] {\n switch (method) {\n case \"getBlockNumber\":\n return [ \"eth_blockNumber\", [] ];\n\n case \"getGasPrice\":\n return [ \"eth_gasPrice\", [] ];\n\n case \"getBalance\":\n return [ \"eth_getBalance\", [ getLowerCase(params.address), params.blockTag ] ];\n\n case \"getTransactionCount\":\n return [ \"eth_getTransactionCount\", [ getLowerCase(params.address), params.blockTag ] ];\n\n case \"getCode\":\n return [ \"eth_getCode\", [ getLowerCase(params.address), params.blockTag ] ];\n\n case \"getStorageAt\":\n return [ \"eth_getStorageAt\", [ getLowerCase(params.address), hexZeroPad(params.position, 32), params.blockTag ] ];\n\n case \"sendTransaction\":\n return [ \"eth_sendRawTransaction\", [ params.signedTransaction ] ]\n\n case \"getBlock\":\n if (params.blockTag) {\n return [ \"eth_getBlockByNumber\", [ params.blockTag, !!params.includeTransactions ] ];\n } else if (params.blockHash) {\n return [ \"eth_getBlockByHash\", [ params.blockHash, !!params.includeTransactions ] ];\n }\n return null;\n\n case \"getTransaction\":\n return [ \"eth_getTransactionByHash\", [ params.transactionHash ] ];\n\n case \"getTransactionReceipt\":\n return [ \"eth_getTransactionReceipt\", [ params.transactionHash ] ];\n\n case \"call\": {\n const hexlifyTransaction = getStatic<(t: TransactionRequest, a?: { [key: string]: boolean }) => { [key: string]: string }>(this.constructor, \"hexlifyTransaction\");\n return [ \"eth_call\", [ hexlifyTransaction(params.transaction, { from: true }), params.blockTag ] ];\n }\n\n case \"estimateGas\": {\n const hexlifyTransaction = getStatic<(t: TransactionRequest, a?: { [key: string]: boolean }) => { [key: string]: string }>(this.constructor, \"hexlifyTransaction\");\n return [ \"eth_estimateGas\", [ hexlifyTransaction(params.transaction, { from: true }) ] ];\n }\n\n case \"getLogs\":\n if (params.filter && params.filter.address != null) {\n params.filter.address = getLowerCase(params.filter.address);\n }\n return [ \"eth_getLogs\", [ params.filter ] ];\n\n default:\n break;\n }\n\n return null;\n }\n\n async perform(method: string, params: any): Promise {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (method === \"call\" || method === \"estimateGas\") {\n const tx = params.transaction;\n if (tx && tx.type != null && BigNumber.from(tx.type).isZero()) {\n // If there are no EIP-1559 properties, it might be non-EIP-1559\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = await this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n params = shallowCopy(params);\n params.transaction = shallowCopy(tx);\n delete params.transaction.type;\n }\n }\n }\n }\n\n const args = this.prepareRequest(method, params);\n\n if (args == null) {\n logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n try {\n return await this.send(args[0], args[1])\n } catch (error) {\n return checkError(method, error, params);\n }\n }\n\n _startEvent(event: Event): void {\n if (event.tag === \"pending\") { this._startPending(); }\n super._startEvent(event);\n }\n\n _startPending(): void {\n if (this._pendingFilter != null) { return; }\n const self = this;\n\n const pendingFilter: Promise = this.send(\"eth_newPendingTransactionFilter\", []);\n this._pendingFilter = pendingFilter;\n\n pendingFilter.then(function(filterId) {\n function poll() {\n self.send(\"eth_getFilterChanges\", [ filterId ]).then(function(hashes: Array) {\n if (self._pendingFilter != pendingFilter) { return null; }\n\n let seq = Promise.resolve();\n hashes.forEach(function(hash) {\n // @TODO: This should be garbage collected at some point... How? When?\n self._emitted[\"t:\" + hash.toLowerCase()] = \"pending\";\n seq = seq.then(function() {\n return self.getTransaction(hash).then(function(tx) {\n self.emit(\"pending\", tx);\n return null;\n });\n });\n });\n\n return seq.then(function() {\n return timer(1000);\n });\n }).then(function() {\n if (self._pendingFilter != pendingFilter) {\n self.send(\"eth_uninstallFilter\", [ filterId ]);\n return;\n }\n setTimeout(function() { poll(); }, 0);\n\n return null;\n }).catch((error: Error) => { });\n }\n poll();\n\n return filterId;\n }).catch((error: Error) => { });\n }\n\n _stopEvent(event: Event): void {\n if (event.tag === \"pending\" && this.listenerCount(\"pending\") === 0) {\n this._pendingFilter = null;\n }\n super._stopEvent(event);\n }\n\n // Convert an ethers.js transaction into a JSON-RPC transaction\n // - gasLimit => gas\n // - All values hexlified\n // - All numeric values zero-striped\n // - All addresses are lowercased\n // NOTE: This allows a TransactionRequest, but all values should be resolved\n // before this is called\n // @TODO: This will likely be removed in future versions and prepareRequest\n // will be the preferred method for this.\n static hexlifyTransaction(transaction: TransactionRequest, allowExtra?: { [key: string]: boolean }): { [key: string]: string | AccessList } {\n // Check only allowed properties are given\n const allowed = shallowCopy(allowedTransactionKeys);\n if (allowExtra) {\n for (const key in allowExtra) {\n if (allowExtra[key]) { allowed[key] = true; }\n }\n }\n\n checkProperties(transaction, allowed);\n\n const result: { [key: string]: string | AccessList } = {};\n\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\"chainId\", \"gasLimit\", \"gasPrice\", \"type\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"value\"].forEach(function(key) {\n if ((transaction)[key] == null) { return; }\n const value = hexValue(BigNumber.from((transaction)[key]));\n if (key === \"gasLimit\") { key = \"gas\"; }\n result[key] = value;\n });\n\n [\"from\", \"to\", \"data\"].forEach(function(key) {\n if ((transaction)[key] == null) { return; }\n result[key] = hexlify((transaction)[key]);\n });\n\n if ((transaction).accessList) {\n result[\"accessList\"] = accessListify((transaction).accessList);\n }\n\n return result;\n }\n}\n","\n\"use strict\";\n\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly, getStatic } from \"@ethersproject/properties\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { CommunityResourcable } from \"./formatter\";\nimport { JsonRpcProvider, JsonRpcSigner } from \"./json-rpc-provider\";\n\ntype getUrlFunc = (network: Network, apiKey: string) => string | ConnectionInfo;\n\n// A StaticJsonRpcProvider is useful when you *know* for certain that\n// the backend will never change, as it never calls eth_chainId to\n// verify its backend. However, if the backend does change, the effects\n// are undefined and may include:\n// - inconsistent results\n// - locking up the UI\n// - block skew warnings\n// - wrong results\n// If the network is not explicit (i.e. auto-detection is expected), the\n// node MUST be running and available to respond to requests BEFORE this\n// is instantiated.\nexport class StaticJsonRpcProvider extends JsonRpcProvider {\n async detectNetwork(): Promise {\n let network = this.network;\n if (network == null) {\n network = await super.detectNetwork();\n\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, { });\n }\n\n // If still not set, set it\n if (this._network == null) {\n // A static network does not support \"any\"\n defineReadOnly(this, \"_network\", network);\n\n this.emit(\"network\", network, null);\n }\n }\n return network;\n }\n}\n\nexport abstract class UrlJsonRpcProvider extends StaticJsonRpcProvider implements CommunityResourcable {\n readonly apiKey: any;\n\n constructor(network?: Networkish, apiKey?: any) {\n logger.checkAbstract(new.target, UrlJsonRpcProvider);\n\n // Normalize the Network and API Key\n network = getStatic<(network: Networkish) => Network>(new.target, \"getNetwork\")(network);\n apiKey = getStatic<(apiKey: string) => string>(new.target, \"getApiKey\")(apiKey);\n\n const connection = getStatic(new.target, \"getUrl\")(network, apiKey);\n\n super(connection, network);\n\n if (typeof(apiKey) === \"string\") {\n defineReadOnly(this, \"apiKey\", apiKey);\n } else if (apiKey != null) {\n Object.keys(apiKey).forEach((key) => {\n defineReadOnly(this, key, apiKey[key]);\n });\n }\n }\n\n _startPending(): void {\n logger.warn(\"WARNING: API provider does not support pending filters\");\n }\n\n isCommunityResource(): boolean {\n return false;\n }\n\n getSigner(address?: string): JsonRpcSigner {\n return logger.throwError(\n \"API provider does not support signing\",\n Logger.errors.UNSUPPORTED_OPERATION,\n { operation: \"getSigner\" }\n );\n }\n\n listAccounts(): Promise> {\n return Promise.resolve([]);\n }\n\n // Return a defaultApiKey if null, otherwise validate the API key\n static getApiKey(apiKey: any): any {\n return apiKey;\n }\n\n // Returns the url or connection for the given network and API key. The\n // API key will have been sanitized by the getApiKey first, so any validation\n // or transformations can be done there.\n static getUrl(network: Network, apiKey: any): string | ConnectionInfo {\n return logger.throwError(\"not implemented; sub-classes must override getUrl\", Logger.errors.NOT_IMPLEMENTED, {\n operation: \"getUrl\"\n });\n }\n}\n","\"use strict\";\n\nimport { Networkish } from \"@ethersproject/networks\";\nimport { deepCopy, defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\n\n// Exported Types\nexport type ExternalProvider = {\n isMetaMask?: boolean;\n isStatus?: boolean;\n host?: string;\n path?: string;\n sendAsync?: (request: { method: string, params?: Array }, callback: (error: any, response: any) => void) => void\n send?: (request: { method: string, params?: Array }, callback: (error: any, response: any) => void) => void\n request?: (request: { method: string, params?: Array }) => Promise\n}\n\nlet _nextId = 1;\n\nexport type JsonRpcFetchFunc = (method: string, params?: Array) => Promise;\n\ntype Web3LegacySend = (request: any, callback: (error: Error, response: any) => void) => void;\n\nfunction buildWeb3LegacyFetcher(provider: ExternalProvider, sendFunc: Web3LegacySend) : JsonRpcFetchFunc {\n const fetcher = \"Web3LegacyFetcher\";\n\n return function(method: string, params: Array): Promise {\n const request = {\n method: method,\n params: params,\n id: (_nextId++),\n jsonrpc: \"2.0\"\n };\n\n return new Promise((resolve, reject) => {\n this.emit(\"debug\", {\n action: \"request\",\n fetcher,\n request: deepCopy(request),\n provider: this\n });\n\n sendFunc(request, (error, response) => {\n\n if (error) {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher,\n error,\n request,\n provider: this\n });\n\n return reject(error);\n }\n\n this.emit(\"debug\", {\n action: \"response\",\n fetcher,\n request,\n response,\n provider: this\n });\n\n if (response.error) {\n const error = new Error(response.error.message);\n (error).code = response.error.code;\n (error).data = response.error.data;\n return reject(error);\n }\n\n resolve(response.result);\n });\n });\n }\n}\n\nfunction buildEip1193Fetcher(provider: ExternalProvider): JsonRpcFetchFunc {\n return function(method: string, params: Array): Promise {\n if (params == null) { params = [ ]; }\n\n const request = { method, params };\n\n this.emit(\"debug\", {\n action: \"request\",\n fetcher: \"Eip1193Fetcher\",\n request: deepCopy(request),\n provider: this\n });\n\n return provider.request(request).then((response) => {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request,\n response,\n provider: this\n });\n\n return response;\n\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request,\n error,\n provider: this\n });\n\n throw error;\n });\n }\n}\n\nexport class Web3Provider extends JsonRpcProvider {\n readonly provider: ExternalProvider;\n readonly jsonRpcFetchFunc: JsonRpcFetchFunc;\n\n constructor(provider: ExternalProvider | JsonRpcFetchFunc, network?: Networkish) {\n if (provider == null) {\n logger.throwArgumentError(\"missing provider\", \"provider\", provider);\n }\n\n let path: string = null;\n let jsonRpcFetchFunc: JsonRpcFetchFunc = null;\n let subprovider: ExternalProvider = null;\n\n if (typeof(provider) === \"function\") {\n path = \"unknown:\";\n jsonRpcFetchFunc = provider;\n\n } else {\n path = provider.host || provider.path || \"\";\n if (!path && provider.isMetaMask) {\n path = \"metamask\";\n }\n\n subprovider = provider;\n\n if (provider.request) {\n if (path === \"\") { path = \"eip-1193:\"; }\n jsonRpcFetchFunc = buildEip1193Fetcher(provider);\n } else if (provider.sendAsync) {\n jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider));\n } else if (provider.send) {\n jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.send.bind(provider));\n } else {\n logger.throwArgumentError(\"unsupported provider\", \"provider\", provider);\n }\n\n if (!path) { path = \"unknown:\"; }\n }\n\n super(path, network);\n\n defineReadOnly(this, \"jsonRpcFetchFunc\", jsonRpcFetchFunc);\n defineReadOnly(this, \"provider\", subprovider);\n }\n\n send(method: string, params: Array): Promise {\n return this.jsonRpcFetchFunc(method, params);\n }\n}\n","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\n\nlet WS: any = null;\n\ntry {\n WS = (WebSocket as any);\n if (WS == null) { throw new Error(\"inject please\"); }\n} catch (error) {\n const logger = new Logger(version);\n WS = function() {\n logger.throwError(\"WebSockets not supported in this environment\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new WebSocket()\"\n });\n }\n}\n//export default WS;\n//module.exports = WS;\nexport { WS as WebSocket };\n","\"use strict\";\n\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Event } from \"./base-provider\";\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\nimport { WebSocket } from \"./ws\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n/**\n * Notes:\n *\n * This provider differs a bit from the polling providers. One main\n * difference is how it handles consistency. The polling providers\n * will stall responses to ensure a consistent state, while this\n * WebSocket provider assumes the connected backend will manage this.\n *\n * For example, if a polling provider emits an event which indicates\n * the event occurred in blockhash XXX, a call to fetch that block by\n * its hash XXX, if not present will retry until it is present. This\n * can occur when querying a pool of nodes that are mildly out of sync\n * with each other.\n */\n\nlet NextId = 1;\n\nexport type InflightRequest = {\n callback: (error: Error, result: any) => void;\n payload: string;\n};\n\nexport type Subscription = {\n tag: string;\n processFunc: (payload: any) => void;\n};\n\nexport interface WebSocketLike {\n onopen: ((...args: Array) => any) | null;\n onmessage: ((...args: Array) => any) | null;\n onerror: ((...args: Array) => any) | null;\n\n readyState: number;\n\n send(payload: any): void;\n close(code?: number, reason?: string): void;\n}\n\n// For more info about the Real-time Event API see:\n// https://geth.ethereum.org/docs/rpc/pubsub\n\nexport class WebSocketProvider extends JsonRpcProvider {\n readonly _websocket: any;\n readonly _requests: { [ name: string ]: InflightRequest };\n readonly _detectNetwork: Promise;\n\n // Maps event tag to subscription ID (we dedupe identical events)\n readonly _subIds: { [ tag: string ]: Promise };\n\n // Maps Subscription ID to Subscription\n readonly _subs: { [ name: string ]: Subscription };\n\n _wsReady: boolean;\n\n constructor(url: string | WebSocketLike, network?: Networkish) {\n\n // This will be added in the future; please open an issue to expedite\n if (network === \"any\") {\n logger.throwError(\"WebSocketProvider does not support 'any' network yet\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"network:any\"\n });\n }\n\n if (typeof(url) === \"string\") {\n super(url, network);\n } else {\n super(\"_websocket\", network);\n }\n\n this._pollingInterval = -1;\n\n this._wsReady = false;\n\n if (typeof(url) === \"string\") {\n defineReadOnly(this, \"_websocket\", new WebSocket(this.connection.url));\n } else {\n defineReadOnly(this, \"_websocket\", url);\n }\n\n defineReadOnly(this, \"_requests\", { });\n defineReadOnly(this, \"_subs\", { });\n defineReadOnly(this, \"_subIds\", { });\n defineReadOnly(this, \"_detectNetwork\", super.detectNetwork());\n\n // Stall sending requests until the socket is open...\n this.websocket.onopen = () => {\n this._wsReady = true;\n Object.keys(this._requests).forEach((id) => {\n this.websocket.send(this._requests[id].payload);\n });\n };\n\n this.websocket.onmessage = (messageEvent: { data: string }) => {\n const data = messageEvent.data;\n const result = JSON.parse(data);\n if (result.id != null) {\n const id = String(result.id);\n const request = this._requests[id];\n delete this._requests[id];\n\n if (result.result !== undefined) {\n request.callback(null, result.result);\n\n this.emit(\"debug\", {\n action: \"response\",\n request: JSON.parse(request.payload),\n response: result.result,\n provider: this\n });\n\n } else {\n let error: Error = null;\n if (result.error) {\n error = new Error(result.error.message || \"unknown error\");\n defineReadOnly(error, \"code\", result.error.code || null);\n defineReadOnly(error, \"response\", data);\n } else {\n error = new Error(\"unknown error\");\n }\n\n request.callback(error, undefined);\n\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: JSON.parse(request.payload),\n provider: this\n });\n\n }\n\n } else if (result.method === \"eth_subscription\") {\n // Subscription...\n const sub = this._subs[result.params.subscription];\n if (sub) {\n //this.emit.apply(this, );\n sub.processFunc(result.params.result)\n }\n\n } else {\n console.warn(\"this should not happen\");\n }\n };\n\n // This Provider does not actually poll, but we want to trigger\n // poll events for things that depend on them (like stalling for\n // block and transaction lookups)\n const fauxPoll = setInterval(() => {\n this.emit(\"poll\");\n }, 1000);\n if (fauxPoll.unref) { fauxPoll.unref(); }\n }\n\n // Cannot narrow the type of _websocket, as that is not backwards compatible\n // so we add a getter and let the WebSocket be a public API.\n get websocket(): WebSocketLike { return this._websocket; }\n\n detectNetwork(): Promise {\n return this._detectNetwork;\n }\n\n get pollingInterval(): number {\n return 0;\n }\n\n resetEventsBlock(blockNumber: number): void {\n logger.throwError(\"cannot reset events block on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resetEventBlock\"\n });\n }\n\n set pollingInterval(value: number) {\n logger.throwError(\"cannot set polling interval on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setPollingInterval\"\n });\n }\n\n async poll(): Promise {\n return null;\n }\n\n set polling(value: boolean) {\n if (!value) { return; }\n\n logger.throwError(\"cannot set polling on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setPolling\"\n });\n }\n\n send(method: string, params?: Array): Promise {\n const rid = NextId++;\n\n return new Promise((resolve, reject) => {\n function callback(error: Error, result: any) {\n if (error) { return reject(error); }\n return resolve(result);\n }\n\n const payload = JSON.stringify({\n method: method,\n params: params,\n id: rid,\n jsonrpc: \"2.0\"\n });\n\n this.emit(\"debug\", {\n action: \"request\",\n request: JSON.parse(payload),\n provider: this\n });\n\n this._requests[String(rid)] = { callback, payload };\n\n if (this._wsReady) { this.websocket.send(payload); }\n });\n }\n\n static defaultUrl(): string {\n return \"ws:/\\/localhost:8546\";\n }\n\n async _subscribe(tag: string, param: Array, processFunc: (result: any) => void): Promise {\n let subIdPromise = this._subIds[tag];\n if (subIdPromise == null) {\n subIdPromise = Promise.all(param).then((param) => {\n return this.send(\"eth_subscribe\", param);\n });\n this._subIds[tag] = subIdPromise;\n }\n const subId = await subIdPromise;\n this._subs[subId] = { tag, processFunc };\n }\n\n _startEvent(event: Event): void {\n switch (event.type) {\n case \"block\":\n this._subscribe(\"block\", [ \"newHeads\" ], (result: any) => {\n const blockNumber = BigNumber.from(result.number).toNumber();\n this._emitted.block = blockNumber;\n this.emit(\"block\", blockNumber);\n });\n break;\n\n case \"pending\":\n this._subscribe(\"pending\", [ \"newPendingTransactions\" ], (result: any) => {\n this.emit(\"pending\", result);\n });\n break;\n\n case \"filter\":\n this._subscribe(event.tag, [ \"logs\", this._getFilter(event.filter) ], (result: any) => {\n if (result.removed == null) { result.removed = false; }\n this.emit(event.filter, this.formatter.filterLog(result));\n });\n break;\n\n case \"tx\": {\n const emitReceipt = (event: Event) => {\n const hash = event.hash;\n this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt) { return; }\n this.emit(hash, receipt);\n });\n };\n\n // In case it is already mined\n emitReceipt(event);\n\n // To keep things simple, we start up a single newHeads subscription\n // to keep an eye out for transactions we are watching for.\n // Starting a subscription for an event (i.e. \"tx\") that is already\n // running is (basically) a nop.\n this._subscribe(\"tx\", [ \"newHeads\" ], (result: any) => {\n this._events.filter((e) => (e.type === \"tx\")).forEach(emitReceipt);\n });\n break;\n }\n\n // Nothing is needed\n case \"debug\":\n case \"poll\":\n case \"willPoll\":\n case \"didPoll\":\n case \"error\":\n break;\n\n default:\n console.log(\"unhandled:\", event);\n break;\n }\n }\n\n _stopEvent(event: Event): void {\n let tag = event.tag;\n\n if (event.type === \"tx\") {\n // There are remaining transaction event listeners\n if (this._events.filter((e) => (e.type === \"tx\")).length) {\n return;\n }\n tag = \"tx\";\n } else if (this.listenerCount(event.event)) {\n // There are remaining event listeners\n return;\n }\n\n const subId = this._subIds[tag];\n if (!subId) { return; }\n\n delete this._subIds[tag];\n subId.then((subId) => {\n if (!this._subs[subId]) { return; }\n delete this._subs[subId];\n this.send(\"eth_unsubscribe\", [ subId ]);\n });\n }\n\n async destroy(): Promise {\n // Wait until we have connected before trying to disconnect\n if (this.websocket.readyState === WebSocket.CONNECTING) {\n await (new Promise((resolve) => {\n this.websocket.onopen = function() {\n resolve(true);\n };\n\n this.websocket.onerror = function() {\n resolve(false);\n };\n }));\n }\n\n // Hangup\n // See: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes\n this.websocket.close(1000);\n }\n}\n","export const version = \"random/5.7.0\";\n","\"use strict\";\n\nimport { arrayify } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n// Debugging line for testing browser lib in node\n//const window = { crypto: { getRandomValues: () => { } } };\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis\nfunction getGlobal(): any {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n throw new Error('unable to locate global object');\n};\n\nconst anyGlobal = getGlobal();\n\nlet crypto: any = anyGlobal.crypto || anyGlobal.msCrypto;\nif (!crypto || !crypto.getRandomValues) {\n\n logger.warn(\"WARNING: Missing strong random number source\");\n\n crypto = {\n getRandomValues: function(buffer: Uint8Array): Uint8Array {\n return logger.throwError(\"no secure random source avaialble\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"crypto.getRandomValues\"\n });\n }\n };\n}\n\nexport function randomBytes(length: number): Uint8Array {\n if (length <= 0 || length > 1024 || (length % 1) || length != length) {\n logger.throwArgumentError(\"invalid length\", \"length\", length);\n }\n\n const result = new Uint8Array(length);\n crypto.getRandomValues(result);\n return arrayify(result);\n};\n","\"use strict\";\n\nexport function shuffled(array: Array): Array {\n array = array.slice();\n\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n\n return array;\n}\n","export const version = \"rlp/5.7.0\";\n","\"use strict\";\n\n//See: https://github.com/ethereum/wiki/wiki/RLP\n\nimport { arrayify, BytesLike, hexlify, isBytesLike } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction arrayifyInteger(value: number): Array {\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\n\nfunction unarrayifyInteger(data: Uint8Array, offset: number, length: number): number {\n let result = 0;\n for (let i = 0; i < length; i++) {\n result = (result * 256) + data[offset + i];\n }\n return result;\n}\n\nfunction _encode(object: Array | string): Array {\n if (Array.isArray(object)) {\n let payload: Array = [];\n object.forEach(function(child) {\n payload = payload.concat(_encode(child));\n });\n\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length)\n return payload;\n }\n\n const length = arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n\n return length.concat(payload);\n\n }\n\n if (!isBytesLike(object)) {\n logger.throwArgumentError(\"RLP object must be BytesLike\", \"object\", object);\n }\n\n const data: Array = Array.prototype.slice.call(arrayify(object));\n\n if (data.length === 1 && data[0] <= 0x7f) {\n return data;\n\n } else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n\n const length = arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n\n return length.concat(data);\n}\n\nexport function encode(object: any): string {\n return hexlify(_encode(object));\n}\n\ntype Decoded = {\n result: any;\n consumed: number;\n};\n\nfunction _decodeChildren(data: Uint8Array, offset: number, childOffset: number, length: number): Decoded {\n const result = [];\n\n while (childOffset < offset + 1 + length) {\n const decoded = _decode(data, childOffset);\n\n result.push(decoded.result);\n\n childOffset += decoded.consumed;\n if (childOffset > offset + 1 + length) {\n logger.throwError(\"child data too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n }\n\n return {consumed: (1 + length), result: result};\n}\n\n// returns { consumed: number, result: Object }\nfunction _decode(data: Uint8Array, offset: number): { consumed: number, result: any } {\n if (data.length === 0) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data short segment too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data long segment too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n\n } else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n return _decodeChildren(data, offset, offset + 1, length);\n\n } else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return { consumed: (1 + lengthLength + length), result: result }\n\n } else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const result = hexlify(data.slice(offset + 1, offset + 1 + length));\n return { consumed: (1 + length), result: result }\n }\n return { consumed: 1, result: hexlify(data[offset]) };\n}\n\nexport function decode(data: BytesLike): any {\n const bytes = arrayify(data);\n const decoded = _decode(bytes, 0);\n if (decoded.consumed !== bytes.length) {\n logger.throwArgumentError(\"invalid rlp data\", \"data\", data);\n }\n return decoded.result;\n}\n\n","export const version = \"sha2/5.7.0\";\n","\"use strict\";\n\nimport hash from \"hash.js\";\n//const _ripemd160 = _hash.ripemd160;\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nimport { SupportedAlgorithm } from \"./types\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport function ripemd160(data: BytesLike): string {\n return \"0x\" + (hash.ripemd160().update(arrayify(data)).digest(\"hex\"));\n}\n\nexport function sha256(data: BytesLike): string {\n return \"0x\" + (hash.sha256().update(arrayify(data)).digest(\"hex\"));\n}\n\nexport function sha512(data: BytesLike): string {\n return \"0x\" + (hash.sha512().update(arrayify(data)).digest(\"hex\"));\n}\n\nexport function computeHmac(algorithm: SupportedAlgorithm, key: BytesLike, data: BytesLike): string {\n if (!SupportedAlgorithm[algorithm]) {\n logger.throwError(\"unsupported algorithm \" + algorithm, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"hmac\",\n algorithm: algorithm\n });\n }\n\n return \"0x\" + hash.hmac((hash)[algorithm], arrayify(key)).update(arrayify(data)).digest(\"hex\");\n}\n\n","export enum SupportedAlgorithm { sha256 = \"sha256\", sha512 = \"sha512\" };\n\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","import _ec from \"elliptic\";\nvar EC = _ec.ec;\nexport { EC };\n//# sourceMappingURL=elliptic.js.map","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","export const version = \"signing-key/5.7.0\";\n","\"use strict\";\n\nimport { EC } from \"./elliptic\";\n\nimport { arrayify, BytesLike, hexDataLength, hexlify, hexZeroPad, Signature, SignatureLike, splitSignature } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nlet _curve: EC = null\nfunction getCurve() {\n if (!_curve) {\n _curve = new EC(\"secp256k1\");\n }\n return _curve;\n}\n\nexport class SigningKey {\n\n readonly curve: string;\n\n readonly privateKey: string;\n readonly publicKey: string;\n readonly compressedPublicKey: string;\n\n //readonly address: string;\n\n readonly _isSigningKey: boolean;\n\n constructor(privateKey: BytesLike) {\n defineReadOnly(this, \"curve\", \"secp256k1\");\n\n defineReadOnly(this, \"privateKey\", hexlify(privateKey));\n if (hexDataLength(this.privateKey) !== 32) {\n logger.throwArgumentError(\"invalid private key\", \"privateKey\", \"[[ REDACTED ]]\");\n }\n\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n\n defineReadOnly(this, \"publicKey\", \"0x\" + keyPair.getPublic(false, \"hex\"));\n defineReadOnly(this, \"compressedPublicKey\", \"0x\" + keyPair.getPublic(true, \"hex\"));\n\n defineReadOnly(this, \"_isSigningKey\", true);\n }\n\n _addPoint(other: BytesLike): string {\n const p0 = getCurve().keyFromPublic(arrayify(this.publicKey));\n const p1 = getCurve().keyFromPublic(arrayify(other));\n return \"0x\" + p0.pub.add(p1.pub).encodeCompressed(\"hex\");\n }\n\n signDigest(digest: BytesLike): Signature {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const digestBytes = arrayify(digest);\n if (digestBytes.length !== 32) {\n logger.throwArgumentError(\"bad digest length\", \"digest\", digest);\n }\n const signature = keyPair.sign(digestBytes, { canonical: true });\n return splitSignature({\n recoveryParam: signature.recoveryParam,\n r: hexZeroPad(\"0x\" + signature.r.toString(16), 32),\n s: hexZeroPad(\"0x\" + signature.s.toString(16), 32),\n })\n }\n\n computeSharedSecret(otherKey: BytesLike): string {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const otherKeyPair = getCurve().keyFromPublic(arrayify(computePublicKey(otherKey)));\n return hexZeroPad(\"0x\" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32);\n }\n\n static isSigningKey(value: any): value is SigningKey {\n return !!(value && value._isSigningKey);\n }\n}\n\nexport function recoverPublicKey(digest: BytesLike, signature: SignatureLike): string {\n const sig = splitSignature(signature);\n const rs = { r: arrayify(sig.r), s: arrayify(sig.s) };\n return \"0x\" + getCurve().recoverPubKey(arrayify(digest), rs, sig.recoveryParam).encode(\"hex\", false);\n}\n\nexport function computePublicKey(key: BytesLike, compressed?: boolean): string {\n const bytes = arrayify(key);\n\n if (bytes.length === 32) {\n const signingKey = new SigningKey(bytes);\n if (compressed) {\n return \"0x\" + getCurve().keyFromPrivate(bytes).getPublic(true, \"hex\");\n }\n return signingKey.publicKey;\n\n } else if (bytes.length === 33) {\n if (compressed) { return hexlify(bytes); }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(false, \"hex\");\n\n } else if (bytes.length === 65) {\n if (!compressed) { return hexlify(bytes); }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(true, \"hex\");\n }\n\n return logger.throwArgumentError(\"invalid public or private key\", \"key\", \"[REDACTED]\");\n}\n\n","export const version = \"solidity/5.7.0\";\n","\"use strict\";\n\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexlify, zeroPad } from \"@ethersproject/bytes\";\nimport { keccak256 as hashKeccak256 } from \"@ethersproject/keccak256\";\nimport { sha256 as hashSha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\n\nconst regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\n\nconst Zeros = \"0000000000000000000000000000000000000000000000000000000000000000\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n\nfunction _pack(type: string, value: any, isArray?: boolean): Uint8Array {\n switch(type) {\n case \"address\":\n if (isArray) { return zeroPad(value, 32); }\n return arrayify(value);\n case \"string\":\n return toUtf8Bytes(value);\n case \"bytes\":\n return arrayify(value);\n case \"bool\":\n value = (value ? \"0x01\": \"0x00\");\n if (isArray) { return zeroPad(value, 32); }\n return arrayify(value);\n }\n\n let match = type.match(regexNumber);\n if (match) {\n //let signed = (match[1] === \"int\")\n let size = parseInt(match[2] || \"256\")\n\n if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) {\n logger.throwArgumentError(\"invalid number type\", \"type\", type)\n }\n\n if (isArray) { size = 256; }\n\n value = BigNumber.from(value).toTwos(size);\n\n return zeroPad(value, size / 8);\n }\n\n match = type.match(regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n\n if (String(size) !== match[1] || size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes type\", \"type\", type)\n }\n if (arrayify(value).byteLength !== size) {\n logger.throwArgumentError(`invalid value for ${ type }`, \"value\", value)\n }\n if (isArray) { return arrayify((value + Zeros).substring(0, 66)); }\n return value;\n }\n\n match = type.match(regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n if (count != value.length) {\n logger.throwArgumentError(`invalid array length for ${ type }`, \"value\", value)\n }\n const result: Array = [];\n value.forEach(function(value) {\n result.push(_pack(baseType, value, true));\n });\n return concat(result);\n }\n\n return logger.throwArgumentError(\"invalid type\", \"type\", type)\n}\n\n// @TODO: Array Enum\n\nexport function pack(types: ReadonlyArray, values: ReadonlyArray) {\n if (types.length != values.length) {\n logger.throwArgumentError(\"wrong number of values; expected ${ types.length }\", \"values\", values)\n }\n const tight: Array = [];\n types.forEach(function(type, index) {\n tight.push(_pack(type, values[index]));\n });\n return hexlify(concat(tight));\n}\n\nexport function keccak256(types: ReadonlyArray, values: ReadonlyArray) {\n return hashKeccak256(pack(types, values));\n}\n\nexport function sha256(types: ReadonlyArray, values: ReadonlyArray) {\n return hashSha256(pack(types, values));\n}\n","\"use strict\";\n\nimport { HashZero } from \"@ethersproject/constants\";\nimport { arrayify, BytesLike, concat, hexlify } from \"@ethersproject/bytes\";\n\nimport { toUtf8Bytes, toUtf8String } from \"./utf8\";\n\n\nexport function formatBytes32String(text: string): string {\n\n // Get the bytes\n const bytes = toUtf8Bytes(text);\n\n // Check we have room for null-termination\n if (bytes.length > 31) { throw new Error(\"bytes32 string must be less than 32 bytes\"); }\n\n // Zero-pad (implicitly null-terminates)\n return hexlify(concat([ bytes, HashZero ]).slice(0, 32));\n}\n\nexport function parseBytes32String(bytes: BytesLike): string {\n const data = arrayify(bytes);\n\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) { throw new Error(\"invalid bytes32 - not 32 bytes long\"); }\n if (data[31] !== 0) { throw new Error(\"invalid bytes32 string - no null terminator\"); }\n\n // Find the null termination\n let length = 31;\n while (data[length - 1] === 0) { length--; }\n\n // Determine the string value\n return toUtf8String(data.slice(0, length));\n}\n\n","\"use strict\";\n\nimport { toUtf8CodePoints, _toUtf8String, UnicodeNormalizationForm } from \"./utf8\";\n\ntype Ranged = {\n l: number, // Lo value\n h: number, // High value (less the lo)\n d?: number, // Delta/stride (default: 1)\n s?: number, // Shift (default: 1)\n e?: Array // Exceptions to skip\n};\n\ntype Table = { [ src: number ]: Array };\n\nfunction bytes2(data: string): Array {\n if ((data.length % 4) !== 0) { throw new Error(\"bad data\"); }\n let result = [];\n for (let i = 0; i < data.length; i += 4) {\n result.push(parseInt(data.substring(i, i + 4), 16));\n }\n return result;\n}\n\nfunction createTable(data: string, func?: (value: string) => Array): Table {\n if (!func) {\n func = function(value: string) { return [ parseInt(value, 16) ]; }\n }\n\n let lo = 0;\n\n let result: Table = { };\n data.split(\",\").forEach((pair) => {\n let comps = pair.split(\":\");\n lo += parseInt(comps[0], 16);\n result[lo] = func(comps[1]);\n });\n\n return result;\n}\n\nfunction createRangeTable(data: string): Array {\n let hi = 0;\n return data.split(\",\").map((v) => {\n let comps = v.split(\"-\");\n if (comps.length === 1) {\n comps[1] = \"0\";\n } else if (comps[1] === \"\") {\n comps[1] = \"1\";\n }\n\n let lo = hi + parseInt(comps[0], 16);\n hi = parseInt(comps[1], 16);\n return { l: lo, h: hi };\n });\n}\n\nfunction matchMap(value: number, ranges: Array): Ranged {\n let lo = 0;\n for (let i = 0; i < ranges.length; i++) {\n let range = ranges[i];\n lo += range.l;\n if (value >= lo && value <= lo + range.h && ((value - lo) % (range.d || 1)) === 0) {\n if (range.e && range.e.indexOf(value - lo) !== -1) { continue; }\n return range;\n }\n }\n return null;\n}\n\nconst Table_A_1_ranges = createRangeTable(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\");\n\n// @TODO: Make this relative...\nconst Table_B_1_flags = \"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map((v) => parseInt(v, 16));\n\nconst Table_B_2_ranges: Array = [\n { h: 25, s: 32, l: 65 },\n { h: 30, s: 32, e: [ 23 ], l: 127 },\n { h: 54, s: 1, e: [ 48 ], l: 64, d: 2 },\n { h: 14, s: 1, l: 57, d: 2 },\n { h: 44, s: 1, l: 17, d: 2 },\n { h: 10, s: 1, e: [ 2, 6, 8 ], l: 61, d: 2 },\n { h: 16, s: 1, l: 68, d: 2 },\n { h: 84, s: 1, e: [ 18, 24, 66 ], l: 19, d: 2 },\n { h: 26, s: 32, e: [ 17 ], l: 435 },\n { h: 22, s: 1, l: 71, d: 2 },\n { h: 15, s: 80, l: 40 },\n { h: 31, s: 32, l: 16 },\n { h: 32, s: 1, l: 80, d: 2 },\n { h: 52, s: 1, l: 42, d: 2 },\n { h: 12, s: 1, l: 55, d: 2 },\n { h: 40, s: 1, e: [ 38 ], l: 15, d: 2 },\n { h: 14, s: 1, l: 48, d: 2 },\n { h: 37, s: 48, l: 49 },\n { h: 148, s: 1, l: 6351, d: 2 },\n { h: 88, s: 1, l: 160, d: 2 },\n { h: 15, s: 16, l: 704 },\n { h: 25, s: 26, l: 854 },\n { h: 25, s: 32, l: 55915 },\n { h: 37, s: 40, l: 1247 },\n { h: 25, s: -119711, l: 53248 },\n { h: 25, s: -119763, l: 52 },\n { h: 25, s: -119815, l: 52 },\n { h: 25, s: -119867, e: [ 1, 4, 5, 7, 8, 11, 12, 17 ], l: 52 },\n { h: 25, s: -119919, l: 52 },\n { h: 24, s: -119971, e: [ 2, 7, 8, 17 ], l: 52 },\n { h: 24, s: -120023, e: [ 2, 7, 13, 15, 16, 17 ], l: 52 },\n { h: 25, s: -120075, l: 52 },\n { h: 25, s: -120127, l: 52 },\n { h: 25, s: -120179, l: 52 },\n { h: 25, s: -120231, l: 52 },\n { h: 25, s: -120283, l: 52 },\n { h: 25, s: -120335, l: 52 },\n { h: 24, s: -119543, e: [ 17 ], l: 56 },\n { h: 24, s: -119601, e: [ 17 ], l: 58 },\n { h: 24, s: -119659, e: [ 17 ], l: 58 },\n { h: 24, s: -119717, e: [ 17 ], l: 58 },\n { h: 24, s: -119775, e: [ 17 ], l: 58 }\n];\nconst Table_B_2_lut_abs = createTable(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\");\nconst Table_B_2_lut_rel = createTable(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\");\nconst Table_B_2_complex = createTable(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\", bytes2);\n\nconst Table_C_ranges = createRangeTable(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");\n\n\nfunction flatten(values: Array>): Array {\n return values.reduce((accum, value) => {\n value.forEach((value) => { accum.push(value); });\n return accum;\n }, [ ]);\n}\n\nexport function _nameprepTableA1(codepoint: number): boolean {\n return !!matchMap(codepoint, Table_A_1_ranges);\n}\n\nexport function _nameprepTableB2(codepoint: number): Array {\n let range = matchMap(codepoint, Table_B_2_ranges);\n if (range) { return [ codepoint + range.s ]; }\n\n let codes = Table_B_2_lut_abs[codepoint];\n if (codes) { return codes; }\n\n let shift = Table_B_2_lut_rel[codepoint];\n if (shift) { return [ codepoint + shift[0] ]; }\n\n let complex = Table_B_2_complex[codepoint];\n if (complex) { return complex; }\n\n return null;\n}\n\nexport function _nameprepTableC(codepoint: number): boolean {\n return !!matchMap(codepoint, Table_C_ranges);\n}\n\nexport function nameprep(value: string): string {\n\n // This allows platforms with incomplete normalize to bypass\n // it for very basic names which the built-in toLowerCase\n // will certainly handle correctly\n if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) { return value.toLowerCase(); }\n\n // Get the code points (keeping the current normalization)\n let codes = toUtf8CodePoints(value);\n\n codes = flatten(codes.map((code) => {\n // Substitute Table B.1 (Maps to Nothing)\n if (Table_B_1_flags.indexOf(code) >= 0) { return [ ]; }\n if (code >= 0xfe00 && code <= 0xfe0f) { return [ ]; }\n\n // Substitute Table B.2 (Case Folding)\n let codesTableB2 = _nameprepTableB2(code);\n if (codesTableB2) { return codesTableB2; }\n\n // No Substitution\n return [ code ];\n }));\n\n // Normalize using form KC\n codes = toUtf8CodePoints(_toUtf8String(codes), UnicodeNormalizationForm.NFKC);\n\n // Prohibit Tables C.1.2, C.2.2, C.3, C.4, C.5, C.6, C.7, C.8, C.9\n codes.forEach((code) => {\n if (_nameprepTableC(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_PROHIBITED\");\n }\n });\n\n // Prohibit Unassigned Code Points (Table A.1)\n codes.forEach((code) => {\n if (_nameprepTableA1(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_UNASSIGNED\");\n }\n });\n\n // IDNA extras\n let name = _toUtf8String(codes);\n\n // IDNA: 4.2.3.1\n if (name.substring(0, 1) === \"-\" || name.substring(2, 4) === \"--\" || name.substring(name.length - 1) === \"-\") {\n throw new Error(\"invalid hyphen\");\n }\n\n return name;\n}\n\n","export const version = \"strings/5.7.0\";\n","\"use strict\";\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n\nexport enum UnicodeNormalizationForm {\n current = \"\",\n NFC = \"NFC\",\n NFD = \"NFD\",\n NFKC = \"NFKC\",\n NFKD = \"NFKD\"\n};\n\nexport enum Utf8ErrorReason {\n // A continuation byte was present where there was nothing to continue\n // - offset = the index the codepoint began in\n UNEXPECTED_CONTINUE = \"unexpected continuation byte\",\n\n // An invalid (non-continuation) byte to start a UTF-8 codepoint was found\n // - offset = the index the codepoint began in\n BAD_PREFIX = \"bad codepoint prefix\",\n\n // The string is too short to process the expected codepoint\n // - offset = the index the codepoint began in\n OVERRUN = \"string overrun\",\n\n // A missing continuation byte was expected but not found\n // - offset = the index the continuation byte was expected at\n MISSING_CONTINUE = \"missing continuation byte\",\n\n // The computed code point is outside the range for UTF-8\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; outside the UTF-8 range\n OUT_OF_RANGE = \"out of UTF-8 range\",\n\n // UTF-8 strings may not contain UTF-16 surrogate pairs\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range\n UTF16_SURROGATE = \"UTF-16 surrogate\",\n\n // The string is an overlong representation\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; already bounds checked\n OVERLONG = \"overlong representation\",\n};\n\n\nexport type Utf8ErrorFunc = (reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number) => number;\n\nfunction errorFunc(reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number): number {\n return logger.throwArgumentError(`invalid codepoint at offset ${ offset }; ${ reason }`, \"bytes\", bytes);\n}\n\nfunction ignoreFunc(reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number): number {\n\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) { break; }\n i++;\n }\n return i;\n }\n\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === Utf8ErrorReason.OVERRUN) {\n return bytes.length - offset - 1;\n }\n\n // Nothing to skip\n return 0;\n}\n\nfunction replaceFunc(reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number): number {\n\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === Utf8ErrorReason.OVERLONG) {\n output.push(badCodepoint);\n return 0;\n }\n\n // Put the replacement character into the output\n output.push(0xfffd);\n\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n\n// Common error handing strategies\nexport const Utf8ErrorFuncs: { [ name: string ]: Utf8ErrorFunc } = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(bytes: BytesLike, onError?: Utf8ErrorFunc): Array {\n if (onError == null) { onError = Utf8ErrorFuncs.error; }\n\n bytes = arrayify(bytes);\n\n const result: Array = [];\n let i = 0;\n\n // Invalid bytes are ignored\n while(i < bytes.length) {\n\n const c = bytes[i++];\n\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n\n // 1110 xxxx 10xx xxxx 10xx xxxx\n } else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n } else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n\n } else {\n if ((c & 0xc0) === 0x80) {\n i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result);\n } else {\n i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result);\n }\n continue;\n }\n\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result);\n continue;\n }\n\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result);\n res = null;\n break;\n };\n\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n\n // See above loop for invalid continuation byte\n if (res === null) { continue; }\n\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n\n result.push(res);\n }\n\n return result;\n}\n\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\nexport function toUtf8Bytes(str: string, form: UnicodeNormalizationForm = UnicodeNormalizationForm.current): Uint8Array {\n\n if (form != UnicodeNormalizationForm.current) {\n logger.checkNormalize();\n str = str.normalize(form);\n }\n\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n\n if (c < 0x80) {\n result.push(c);\n\n } else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n\n } else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n\n if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {\n throw new Error(\"invalid utf-8 string\");\n }\n\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n\n } else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n\n return arrayify(result);\n};\n\nfunction escapeChar(value: number) {\n const hex = (\"0000\" + value.toString(16));\n return \"\\\\u\" + hex.substring(hex.length - 4);\n}\n\nexport function _toEscapedUtf8String(bytes: BytesLike, onError?: Utf8ErrorFunc): string {\n return '\"' + getUtf8CodePoints(bytes, onError).map((codePoint) => {\n if (codePoint < 256) {\n switch (codePoint) {\n case 8: return \"\\\\b\";\n case 9: return \"\\\\t\";\n case 10: return \"\\\\n\"\n case 13: return \"\\\\r\";\n case 34: return \"\\\\\\\"\";\n case 92: return \"\\\\\\\\\";\n }\n\n if (codePoint >= 32 && codePoint < 127) {\n return String.fromCharCode(codePoint);\n }\n }\n\n if (codePoint <= 0xffff) {\n return escapeChar(codePoint);\n }\n\n codePoint -= 0x10000;\n return escapeChar(((codePoint >> 10) & 0x3ff) + 0xd800) + escapeChar((codePoint & 0x3ff) + 0xdc00);\n }).join(\"\") + '\"';\n}\n\nexport function _toUtf8String(codePoints: Array): string {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode(\n (((codePoint >> 10) & 0x3ff) + 0xd800),\n ((codePoint & 0x3ff) + 0xdc00)\n );\n }).join(\"\");\n}\n\nexport function toUtf8String(bytes: BytesLike, onError?: Utf8ErrorFunc): string {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\n\nexport function toUtf8CodePoints(str: string, form: UnicodeNormalizationForm = UnicodeNormalizationForm.current): Array {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n","export const version = \"transactions/5.7.0\";\n","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, DataOptions, hexConcat, hexDataLength, hexDataSlice, hexlify, hexZeroPad, isBytesLike, SignatureLike, splitSignature, stripZeros, } from \"@ethersproject/bytes\";\nimport { Zero } from \"@ethersproject/constants\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { checkProperties } from \"@ethersproject/properties\";\nimport * as RLP from \"@ethersproject/rlp\";\nimport { computePublicKey, recoverPublicKey } from \"@ethersproject/signing-key\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n// Exported Types\n\nexport type AccessList = Array<{ address: string, storageKeys: Array }>;\n\n// Input allows flexibility in describing an access list\nexport type AccessListish = AccessList |\n Array<[ string, Array ]> |\n Record>;\n\nexport enum TransactionTypes {\n legacy = 0,\n eip2930 = 1,\n eip1559 = 2,\n};\n\nexport type UnsignedTransaction = {\n to?: string;\n nonce?: number;\n\n gasLimit?: BigNumberish;\n gasPrice?: BigNumberish;\n\n data?: BytesLike;\n value?: BigNumberish;\n chainId?: number;\n\n // Typed-Transaction features\n type?: number | null;\n\n // EIP-2930; Type 1 & EIP-1559; Type 2\n accessList?: AccessListish;\n\n // EIP-1559; Type 2\n maxPriorityFeePerGas?: BigNumberish;\n maxFeePerGas?: BigNumberish;\n}\n\nexport interface Transaction {\n hash?: string;\n\n to?: string;\n from?: string;\n nonce: number;\n\n gasLimit: BigNumber;\n gasPrice?: BigNumber;\n\n data: string;\n value: BigNumber;\n chainId: number;\n\n r?: string;\n s?: string;\n v?: number;\n\n // Typed-Transaction features\n type?: number | null;\n\n // EIP-2930; Type 1 & EIP-1559; Type 2\n accessList?: AccessList;\n\n // EIP-1559; Type 2\n maxPriorityFeePerGas?: BigNumber;\n maxFeePerGas?: BigNumber;\n}\n\n///////////////////////////////\n\nfunction handleAddress(value: string): string {\n if (value === \"0x\") { return null; }\n return getAddress(value);\n}\n\nfunction handleNumber(value: string): BigNumber {\n if (value === \"0x\") { return Zero; }\n return BigNumber.from(value);\n}\n\n// Legacy Transaction Fields\nconst transactionFields = [\n { name: \"nonce\", maxLength: 32, numeric: true },\n { name: \"gasPrice\", maxLength: 32, numeric: true },\n { name: \"gasLimit\", maxLength: 32, numeric: true },\n { name: \"to\", length: 20 },\n { name: \"value\", maxLength: 32, numeric: true },\n { name: \"data\" },\n];\n\nconst allowedTransactionKeys: { [ key: string ]: boolean } = {\n chainId: true, data: true, gasLimit: true, gasPrice:true, nonce: true, to: true, type: true, value: true\n}\n\nexport function computeAddress(key: BytesLike | string): string {\n const publicKey = computePublicKey(key);\n return getAddress(hexDataSlice(keccak256(hexDataSlice(publicKey, 1)), 12));\n}\n\nexport function recoverAddress(digest: BytesLike, signature: SignatureLike): string {\n return computeAddress(recoverPublicKey(arrayify(digest), signature));\n}\n\nfunction formatNumber(value: BigNumberish, name: string): Uint8Array {\n const result = stripZeros(BigNumber.from(value).toHexString());\n if (result.length > 32) {\n logger.throwArgumentError(\"invalid length for \" + name, (\"transaction:\" + name), value);\n }\n return result;\n}\n\nfunction accessSetify(addr: string, storageKeys: Array): { address: string,storageKeys: Array } {\n return {\n address: getAddress(addr),\n storageKeys: (storageKeys || []).map((storageKey, index) => {\n if (hexDataLength(storageKey) !== 32) {\n logger.throwArgumentError(\"invalid access list storageKey\", `accessList[${ addr }:${ index }]`, storageKey)\n }\n return storageKey.toLowerCase();\n })\n };\n}\n\nexport function accessListify(value: AccessListish): AccessList {\n if (Array.isArray(value)) {\n return (] | { address: string, storageKeys: Array}>>value).map((set, index) => {\n if (Array.isArray(set)) {\n if (set.length > 2) {\n logger.throwArgumentError(\"access list expected to be [ address, storageKeys[] ]\", `value[${ index }]`, set);\n }\n return accessSetify(set[0], set[1])\n }\n return accessSetify(set.address, set.storageKeys);\n });\n }\n\n const result: Array<{ address: string, storageKeys: Array }> = Object.keys(value).map((addr) => {\n const storageKeys: Record = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, >{ });\n return accessSetify(addr, Object.keys(storageKeys).sort())\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\n\nfunction formatAccessList(value: AccessListish): Array<[ string, Array ]> {\n return accessListify(value).map((set) => [ set.address, set.storageKeys ]);\n}\n\nfunction _serializeEip1559(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n // If there is an explicit gasPrice, make sure it matches the\n // EIP-1559 fees; otherwise they may not understand what they\n // think they are setting in terms of fee.\n if (transaction.gasPrice != null) {\n const gasPrice = BigNumber.from(transaction.gasPrice);\n const maxFeePerGas = BigNumber.from(transaction.maxFeePerGas || 0);\n if (!gasPrice.eq(maxFeePerGas)) {\n logger.throwArgumentError(\"mismatch EIP-1559 gasPrice != maxFeePerGas\", \"tx\", {\n gasPrice, maxFeePerGas\n });\n }\n }\n\n const fields: any = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(transaction.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to): \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n\n return hexConcat([ \"0x02\", RLP.encode(fields)]);\n}\n\nfunction _serializeEip2930(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n const fields: any = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.gasPrice || 0, \"gasPrice\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to): \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n\n return hexConcat([ \"0x01\", RLP.encode(fields)]);\n}\n\n// Legacy Transactions and EIP-155\nfunction _serialize(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n checkProperties(transaction, allowedTransactionKeys);\n\n const raw: Array = [];\n\n transactionFields.forEach(function(fieldInfo) {\n let value = (transaction)[fieldInfo.name] || ([]);\n const options: DataOptions = { };\n if (fieldInfo.numeric) { options.hexPad = \"left\"; }\n value = arrayify(hexlify(value, options));\n\n // Fixed-width field\n if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value);\n }\n\n // Variable-width (with a maximum)\n if (fieldInfo.maxLength) {\n value = stripZeros(value);\n if (value.length > fieldInfo.maxLength) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value );\n }\n }\n\n raw.push(hexlify(value));\n });\n\n let chainId = 0;\n if (transaction.chainId != null) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = transaction.chainId;\n\n if (typeof(chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid transaction.chainId\", \"transaction\", transaction);\n }\n\n } else if (signature && !isBytesLike(signature) && signature.v > 28) {\n // No chainId provided, but the signature is signing with EIP-155; derive chainId\n chainId = Math.floor((signature.v - 35) / 2);\n }\n\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== 0) {\n raw.push(hexlify(chainId)); // @TODO: hexValue?\n raw.push(\"0x\");\n raw.push(\"0x\");\n }\n\n // Requesting an unsigned transaction\n if (!signature) {\n return RLP.encode(raw);\n }\n\n // The splitSignature will ensure the transaction has a recoveryParam in the\n // case that the signTransaction function only adds a v.\n const sig = splitSignature(signature);\n\n // We pushed a chainId and null r, s on for hashing only; remove those\n let v = 27 + sig.recoveryParam\n if (chainId !== 0) {\n raw.pop();\n raw.pop();\n raw.pop();\n v += chainId * 2 + 8;\n\n // If an EIP-155 v (directly or indirectly; maybe _vs) was provided, check it!\n if (sig.v > 28 && sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n } else if (sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n\n raw.push(hexlify(v));\n raw.push(stripZeros(arrayify(sig.r)));\n raw.push(stripZeros(arrayify(sig.s)));\n\n return RLP.encode(raw);\n}\n\nexport function serialize(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n // Legacy and EIP-155 Transactions\n if (transaction.type == null || transaction.type === 0) {\n if (transaction.accessList != null) {\n logger.throwArgumentError(\"untyped transactions do not support accessList; include type: 1\", \"transaction\", transaction);\n }\n return _serialize(transaction, signature);\n }\n\n // Typed Transactions (EIP-2718)\n switch (transaction.type) {\n case 1:\n return _serializeEip2930(transaction, signature);\n case 2:\n return _serializeEip1559(transaction, signature);\n default:\n break;\n }\n\n return logger.throwError(`unsupported transaction type: ${ transaction.type }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"serializeTransaction\",\n transactionType: transaction.type\n });\n}\n\nfunction _parseEipSignature(tx: Transaction, fields: Array, serialize: (tx: UnsignedTransaction) => string): void {\n try {\n const recid = handleNumber(fields[0]).toNumber();\n if (recid !== 0 && recid !== 1) { throw new Error(\"bad recid\"); }\n tx.v = recid;\n } catch (error) {\n logger.throwArgumentError(\"invalid v for transaction type: 1\", \"v\", fields[0]);\n }\n\n tx.r = hexZeroPad(fields[1], 32);\n tx.s = hexZeroPad(fields[2], 32);\n\n try {\n const digest = keccak256(serialize(tx));\n tx.from = recoverAddress(digest, { r: tx.r, s: tx.s, recoveryParam: tx.v });\n } catch (error) { }\n}\n\nfunction _parseEip1559(payload: Uint8Array): Transaction {\n const transaction = RLP.decode(payload.slice(1));\n\n if (transaction.length !== 9 && transaction.length !== 12) {\n logger.throwArgumentError(\"invalid component count for transaction type: 2\", \"payload\", hexlify(payload));\n }\n\n const maxPriorityFeePerGas = handleNumber(transaction[2]);\n const maxFeePerGas = handleNumber(transaction[3]);\n const tx: Transaction = {\n type: 2,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n maxPriorityFeePerGas: maxPriorityFeePerGas,\n maxFeePerGas: maxFeePerGas,\n gasPrice: null,\n gasLimit: handleNumber(transaction[4]),\n to: handleAddress(transaction[5]),\n value: handleNumber(transaction[6]),\n data: transaction[7],\n accessList: accessListify(transaction[8]),\n };\n\n // Unsigned EIP-1559 Transaction\n if (transaction.length === 9) { return tx; }\n\n tx.hash = keccak256(payload);\n\n _parseEipSignature(tx, transaction.slice(9), _serializeEip1559);\n\n return tx;\n}\n\nfunction _parseEip2930(payload: Uint8Array): Transaction {\n const transaction = RLP.decode(payload.slice(1));\n\n if (transaction.length !== 8 && transaction.length !== 11) {\n logger.throwArgumentError(\"invalid component count for transaction type: 1\", \"payload\", hexlify(payload));\n }\n\n const tx: Transaction = {\n type: 1,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n gasPrice: handleNumber(transaction[2]),\n gasLimit: handleNumber(transaction[3]),\n to: handleAddress(transaction[4]),\n value: handleNumber(transaction[5]),\n data: transaction[6],\n accessList: accessListify(transaction[7])\n };\n\n // Unsigned EIP-2930 Transaction\n if (transaction.length === 8) { return tx; }\n\n tx.hash = keccak256(payload);\n\n _parseEipSignature(tx, transaction.slice(8), _serializeEip2930);\n\n return tx;\n}\n\n// Legacy Transactions and EIP-155\nfunction _parse(rawTransaction: Uint8Array): Transaction {\n const transaction = RLP.decode(rawTransaction);\n\n if (transaction.length !== 9 && transaction.length !== 6) {\n logger.throwArgumentError(\"invalid raw transaction\", \"rawTransaction\", rawTransaction);\n }\n\n const tx: Transaction = {\n nonce: handleNumber(transaction[0]).toNumber(),\n gasPrice: handleNumber(transaction[1]),\n gasLimit: handleNumber(transaction[2]),\n to: handleAddress(transaction[3]),\n value: handleNumber(transaction[4]),\n data: transaction[5],\n chainId: 0\n };\n\n // Legacy unsigned transaction\n if (transaction.length === 6) { return tx; }\n\n try {\n tx.v = BigNumber.from(transaction[6]).toNumber();\n\n } catch (error) {\n // @TODO: What makes snese to do? The v is too big\n return tx;\n }\n\n tx.r = hexZeroPad(transaction[7], 32);\n tx.s = hexZeroPad(transaction[8], 32);\n\n if (BigNumber.from(tx.r).isZero() && BigNumber.from(tx.s).isZero()) {\n // EIP-155 unsigned transaction\n tx.chainId = tx.v;\n tx.v = 0;\n\n } else {\n // Signed Transaction\n\n tx.chainId = Math.floor((tx.v - 35) / 2);\n if (tx.chainId < 0) { tx.chainId = 0; }\n\n let recoveryParam = tx.v - 27;\n\n const raw = transaction.slice(0, 6);\n\n if (tx.chainId !== 0) {\n raw.push(hexlify(tx.chainId));\n raw.push(\"0x\");\n raw.push(\"0x\");\n recoveryParam -= tx.chainId * 2 + 8;\n }\n\n const digest = keccak256(RLP.encode(raw));\n try {\n tx.from = recoverAddress(digest, { r: hexlify(tx.r), s: hexlify(tx.s), recoveryParam: recoveryParam });\n } catch (error) { }\n\n tx.hash = keccak256(rawTransaction);\n }\n\n tx.type = null;\n\n return tx;\n}\n\n\nexport function parse(rawTransaction: BytesLike): Transaction {\n const payload = arrayify(rawTransaction);\n\n // Legacy and EIP-155 Transactions\n if (payload[0] > 0x7f) { return _parse(payload); }\n\n // Typed Transaction (EIP-2718)\n switch (payload[0]) {\n case 1:\n return _parseEip2930(payload);\n case 2:\n return _parseEip1559(payload);\n default:\n break;\n }\n\n return logger.throwError(`unsupported transaction type: ${ payload[0] }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"parseTransaction\",\n transactionType: payload[0]\n });\n}\n\n","export const version = \"units/5.7.0\";\n","\"use strict\";\n\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { formatFixed, parseFixed } from \"@ethersproject/bignumber\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\",\n];\n\n\n// Some environments have issues with RegEx that contain back-tracking, so we cannot\n// use them.\nexport function commify(value: string | number): string {\n const comps = String(value).split(\".\");\n\n if (comps.length > 2 || !comps[0].match(/^-?[0-9]*$/) || (comps[1] && !comps[1].match(/^[0-9]*$/)) || value === \".\" || value === \"-.\") {\n logger.throwArgumentError(\"invalid value\", \"value\", value);\n }\n\n // Make sure we have at least one whole digit (0 if none)\n let whole = comps[0];\n\n let negative = \"\";\n if (whole.substring(0, 1) === \"-\") {\n negative = \"-\";\n whole = whole.substring(1);\n }\n\n // Make sure we have at least 1 whole digit with no leading zeros\n while (whole.substring(0, 1) === \"0\") { whole = whole.substring(1); }\n if (whole === \"\") { whole = \"0\"; }\n\n let suffix = \"\";\n if (comps.length === 2) { suffix = \".\" + (comps[1] || \"0\"); }\n while (suffix.length > 2 && suffix[suffix.length - 1] === \"0\") {\n suffix = suffix.substring(0, suffix.length - 1);\n }\n\n const formatted = [];\n while (whole.length) {\n if (whole.length <= 3) {\n formatted.unshift(whole);\n break;\n } else {\n const index = whole.length - 3;\n formatted.unshift(whole.substring(index));\n whole = whole.substring(0, index);\n }\n }\n\n return negative + formatted.join(\",\") + suffix;\n}\n\nexport function formatUnits(value: BigNumberish, unitName?: string | BigNumberish): string {\n if (typeof(unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) { unitName = 3 * index; }\n }\n return formatFixed(value, (unitName != null) ? unitName: 18);\n}\n\nexport function parseUnits(value: string, unitName?: BigNumberish): BigNumber {\n if (typeof(value) !== \"string\") {\n logger.throwArgumentError(\"value must be a string\", \"value\", value);\n }\n if (typeof(unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) { unitName = 3 * index; }\n }\n return parseFixed(value, (unitName != null) ? unitName: 18);\n}\n\nexport function formatEther(wei: BigNumberish): string {\n return formatUnits(wei, 18);\n}\n\nexport function parseEther(ether: string): BigNumber {\n return parseUnits(ether, 18);\n}\n\n","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { Provider, TransactionRequest } from \"@ethersproject/abstract-provider\";\nimport { ExternallyOwnedAccount, Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from \"@ethersproject/abstract-signer\";\nimport { arrayify, Bytes, BytesLike, concat, hexDataSlice, isHexString, joinSignature, SignatureLike } from \"@ethersproject/bytes\";\nimport { hashMessage, _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { defaultPath, HDNode, entropyToMnemonic, Mnemonic } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { decryptJsonWallet, decryptJsonWalletSync, encryptKeystore, ProgressCallback } from \"@ethersproject/json-wallets\";\nimport { computeAddress, recoverAddress, serialize, UnsignedTransaction } from \"@ethersproject/transactions\";\nimport { Wordlist } from \"@ethersproject/wordlists\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction isAccount(value: any): value is ExternallyOwnedAccount {\n return (value != null && isHexString(value.privateKey, 32) && value.address != null);\n}\n\nfunction hasMnemonic(value: any): value is { mnemonic: Mnemonic } {\n const mnemonic = value.mnemonic;\n return (mnemonic && mnemonic.phrase);\n}\n\nexport class Wallet extends Signer implements ExternallyOwnedAccount, TypedDataSigner {\n\n readonly address: string;\n readonly provider: Provider;\n\n // Wrapping the _signingKey and _mnemonic in a getter function prevents\n // leaking the private key in console.log; still, be careful! :)\n readonly _signingKey: () => SigningKey;\n readonly _mnemonic: () => Mnemonic;\n\n constructor(privateKey: BytesLike | ExternallyOwnedAccount | SigningKey, provider?: Provider) {\n super();\n\n if (isAccount(privateKey)) {\n const signingKey = new SigningKey(privateKey.privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n\n if (this.address !== getAddress(privateKey.address)) {\n logger.throwArgumentError(\"privateKey/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n\n if (hasMnemonic(privateKey)) {\n const srcMnemonic = privateKey.mnemonic;\n defineReadOnly(this, \"_mnemonic\", () => (\n {\n phrase: srcMnemonic.phrase,\n path: srcMnemonic.path || defaultPath,\n locale: srcMnemonic.locale || \"en\"\n }\n ));\n const mnemonic = this.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path);\n if (computeAddress(node.privateKey) !== this.address) {\n logger.throwArgumentError(\"mnemonic/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n } else {\n defineReadOnly(this, \"_mnemonic\", (): Mnemonic => null);\n }\n\n\n } else {\n if (SigningKey.isSigningKey(privateKey)) {\n /* istanbul ignore if */\n if (privateKey.curve !== \"secp256k1\") {\n logger.throwArgumentError(\"unsupported curve; must be secp256k1\", \"privateKey\", \"[REDACTED]\");\n }\n defineReadOnly(this, \"_signingKey\", () => (privateKey));\n\n } else {\n // A lot of common tools do not prefix private keys with a 0x (see: #1166)\n if (typeof(privateKey) === \"string\") {\n if (privateKey.match(/^[0-9a-f]*$/i) && privateKey.length === 64) {\n privateKey = \"0x\" + privateKey;\n }\n }\n\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n }\n\n defineReadOnly(this, \"_mnemonic\", (): Mnemonic => null);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n }\n\n /* istanbul ignore if */\n if (provider && !Provider.isProvider(provider)) {\n logger.throwArgumentError(\"invalid provider\", \"provider\", provider);\n }\n\n defineReadOnly(this, \"provider\", provider || null);\n }\n\n get mnemonic(): Mnemonic { return this._mnemonic(); }\n get privateKey(): string { return this._signingKey().privateKey; }\n get publicKey(): string { return this._signingKey().publicKey; }\n\n getAddress(): Promise {\n return Promise.resolve(this.address);\n }\n\n connect(provider: Provider): Wallet {\n return new Wallet(this, provider);\n }\n\n signTransaction(transaction: TransactionRequest): Promise {\n return resolveProperties(transaction).then((tx) => {\n if (tx.from != null) {\n if (getAddress(tx.from) !== this.address) {\n logger.throwArgumentError(\"transaction from address mismatch\", \"transaction.from\", transaction.from);\n }\n delete tx.from;\n }\n\n const signature = this._signingKey().signDigest(keccak256(serialize(tx)));\n return serialize(tx, signature);\n });\n }\n\n async signMessage(message: Bytes | string): Promise {\n return joinSignature(this._signingKey().signDigest(hashMessage(message)));\n }\n\n async _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise {\n // Populate any ENS names\n const populated = await _TypedDataEncoder.resolveNames(domain, types, value, (name: string) => {\n if (this.provider == null) {\n logger.throwError(\"cannot resolve ENS names without a provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\",\n value: name\n });\n }\n return this.provider.resolveName(name);\n });\n\n return joinSignature(this._signingKey().signDigest(_TypedDataEncoder.hash(populated.domain, types, populated.value)));\n }\n\n encrypt(password: Bytes | string, options?: any, progressCallback?: ProgressCallback): Promise {\n if (typeof(options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n\n if (progressCallback && typeof(progressCallback) !== \"function\") {\n throw new Error(\"invalid callback\");\n }\n\n if (!options) { options = {}; }\n\n return encryptKeystore(this, password, options, progressCallback);\n }\n\n\n /**\n * Static methods to create Wallet instances.\n */\n static createRandom(options?: any): Wallet {\n let entropy: Uint8Array = randomBytes(16);\n\n if (!options) { options = { }; }\n\n if (options.extraEntropy) {\n entropy = arrayify(hexDataSlice(keccak256(concat([ entropy, options.extraEntropy ])), 0, 16));\n }\n\n const mnemonic = entropyToMnemonic(entropy, options.locale);\n return Wallet.fromMnemonic(mnemonic, options.path, options.locale);\n }\n\n static fromEncryptedJson(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise {\n return decryptJsonWallet(json, password, progressCallback).then((account) => {\n return new Wallet(account);\n });\n }\n\n static fromEncryptedJsonSync(json: string, password: Bytes | string): Wallet {\n return new Wallet(decryptJsonWalletSync(json, password));\n }\n\n static fromMnemonic(mnemonic: string, path?: string, wordlist?: Wordlist): Wallet {\n if (!path) { path = defaultPath; }\n return new Wallet(HDNode.fromMnemonic(mnemonic, null, wordlist).derivePath(path));\n }\n}\n\nexport function verifyMessage(message: Bytes | string, signature: SignatureLike): string {\n return recoverAddress(hashMessage(message), signature);\n}\n\nexport function verifyTypedData(domain: TypedDataDomain, types: Record>, value: Record, signature: SignatureLike): string {\n return recoverAddress(_TypedDataEncoder.hash(domain, types, value), signature);\n}\n","export const version = \"wallet/5.7.0\";\n","\"use strict\";\n\nimport { arrayify } from \"@ethersproject/bytes\";\n\nimport type { GetUrlResponse, Options } from \"./types\";\n\nexport { GetUrlResponse, Options };\n\nexport async function getUrl(href: string, options?: Options): Promise {\n if (options == null) { options = { }; }\n\n const request: RequestInit = {\n method: (options.method || \"GET\"),\n headers: (options.headers || { }),\n body: (options.body || undefined),\n };\n\n if (options.skipFetchSetup !== true) {\n request.mode = \"cors\"; // no-cors, cors, *same-origin\n request.cache = \"no-cache\"; // *default, no-cache, reload, force-cache, only-if-cached\n request.credentials = \"same-origin\"; // include, *same-origin, omit\n request.redirect = \"follow\"; // manual, *follow, error\n request.referrer = \"client\"; // no-referrer, *client\n };\n\n if (options.fetchOptions != null) {\n const opts = options.fetchOptions;\n if (opts.mode) { request.mode = (opts.mode); }\n if (opts.cache) { request.cache = (opts.cache); }\n if (opts.credentials) { request.credentials = (opts.credentials); }\n if (opts.redirect) { request.redirect = (opts.redirect); }\n if (opts.referrer) { request.referrer = opts.referrer; }\n }\n\n const response = await fetch(href, request);\n const body = await response.arrayBuffer();\n\n const headers: { [ name: string ]: string } = { };\n if (response.headers.forEach) {\n response.headers.forEach((value, key) => {\n headers[key.toLowerCase()] = value;\n });\n } else {\n (<() => Array>(((response.headers)).keys))().forEach((key) => {\n headers[key.toLowerCase()] = response.headers.get(key);\n });\n }\n\n return {\n headers: headers,\n statusCode: response.status,\n statusMessage: response.statusText,\n body: arrayify(new Uint8Array(body)),\n }\n}\n","\"use strict\";\n\nimport { decode as base64Decode, encode as base64Encode } from \"@ethersproject/base64\";\nimport { hexlify, isBytesLike } from \"@ethersproject/bytes\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { getUrl, GetUrlResponse, Options } from \"./geturl\";\n\nfunction staller(duration: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n\nfunction bodyify(value: any, type: string): string {\n if (value == null) { return null; }\n\n if (typeof(value) === \"string\") { return value; }\n\n if (isBytesLike(value)) {\n if (type && (type.split(\"/\")[0] === \"text\" || type.split(\";\")[0].trim() === \"application/json\")) {\n try {\n return toUtf8String(value);\n } catch (error) { };\n }\n return hexlify(value);\n }\n\n return value;\n}\n\n// Exported Types\nexport type ConnectionInfo = {\n url: string,\n headers?: { [key: string]: string | number }\n\n user?: string,\n password?: string,\n\n allowInsecureAuthentication?: boolean,\n allowGzip?: boolean,\n\n throttleLimit?: number,\n throttleSlotInterval?: number;\n throttleCallback?: (attempt: number, url: string) => Promise,\n\n skipFetchSetup?: boolean;\n fetchOptions?: Record;\n errorPassThrough?: boolean;\n\n timeout?: number,\n};\n\nexport interface OnceBlockable {\n once(eventName: \"block\", handler: () => void): void;\n}\n\nexport interface OncePollable {\n once(eventName: \"poll\", handler: () => void): void;\n}\n\nexport type PollOptions = {\n timeout?: number,\n floor?: number,\n ceiling?: number,\n interval?: number,\n retryLimit?: number,\n onceBlock?: OnceBlockable\n oncePoll?: OncePollable\n};\n\nexport type FetchJsonResponse = {\n statusCode: number;\n headers: { [ header: string ]: string };\n};\n\n\ntype Header = { key: string, value: string };\n\nfunction unpercent(value: string): Uint8Array {\n return toUtf8Bytes(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code) => {\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\n\n// This API is still a work in progress; the future changes will likely be:\n// - ConnectionInfo => FetchDataRequest\n// - FetchDataRequest.body? = string | Uint8Array | { contentType: string, data: string | Uint8Array }\n// - If string => text/plain, Uint8Array => application/octet-stream (if content-type unspecified)\n// - FetchDataRequest.processFunc = (body: Uint8Array, response: FetchDataResponse) => T\n// For this reason, it should be considered internal until the API is finalized\nexport function _fetchData(connection: string | ConnectionInfo, body?: Uint8Array, processFunc?: (value: Uint8Array, response: FetchJsonResponse) => T): Promise {\n\n // How many times to retry in the event of a throttle\n const attemptLimit = (typeof(connection) === \"object\" && connection.throttleLimit != null) ? connection.throttleLimit: 12;\n logger.assertArgument((attemptLimit > 0 && (attemptLimit % 1) === 0),\n \"invalid connection throttle limit\", \"connection.throttleLimit\", attemptLimit);\n\n const throttleCallback = ((typeof(connection) === \"object\") ? connection.throttleCallback: null);\n const throttleSlotInterval = ((typeof(connection) === \"object\" && typeof(connection.throttleSlotInterval) === \"number\") ? connection.throttleSlotInterval: 100);\n logger.assertArgument((throttleSlotInterval > 0 && (throttleSlotInterval % 1) === 0),\n \"invalid connection throttle slot interval\", \"connection.throttleSlotInterval\", throttleSlotInterval);\n\n const errorPassThrough = ((typeof(connection) === \"object\") ? !!(connection.errorPassThrough): false);\n\n const headers: { [key: string]: Header } = { };\n\n let url: string = null;\n\n // @TODO: Allow ConnectionInfo to override some of these values\n const options: Options = {\n method: \"GET\",\n };\n\n let allow304 = false;\n\n let timeout = 2 * 60 * 1000;\n\n if (typeof(connection) === \"string\") {\n url = connection;\n\n } else if (typeof(connection) === \"object\") {\n if (connection == null || connection.url == null) {\n logger.throwArgumentError(\"missing URL\", \"connection.url\", connection);\n }\n\n url = connection.url;\n\n if (typeof(connection.timeout) === \"number\" && connection.timeout > 0) {\n timeout = connection.timeout;\n }\n\n if (connection.headers) {\n for (const key in connection.headers) {\n headers[key.toLowerCase()] = { key: key, value: String(connection.headers[key]) };\n if ([\"if-none-match\", \"if-modified-since\"].indexOf(key.toLowerCase()) >= 0) {\n allow304 = true;\n }\n }\n }\n\n options.allowGzip = !!connection.allowGzip;\n\n if (connection.user != null && connection.password != null) {\n if (url.substring(0, 6) !== \"https:\" && connection.allowInsecureAuthentication !== true) {\n logger.throwError(\n \"basic authentication requires a secure https url\",\n Logger.errors.INVALID_ARGUMENT,\n { argument: \"url\", url: url, user: connection.user, password: \"[REDACTED]\" }\n );\n }\n\n const authorization = connection.user + \":\" + connection.password;\n headers[\"authorization\"] = {\n key: \"Authorization\",\n value: \"Basic \" + base64Encode(toUtf8Bytes(authorization))\n };\n }\n\n if (connection.skipFetchSetup != null) {\n options.skipFetchSetup = !!connection.skipFetchSetup;\n }\n\n if (connection.fetchOptions != null) {\n options.fetchOptions = shallowCopy(connection.fetchOptions);\n }\n }\n\n const reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\n const dataMatch = ((url) ? url.match(reData): null);\n if (dataMatch) {\n try {\n const response = {\n statusCode: 200,\n statusMessage: \"OK\",\n headers: { \"content-type\": (dataMatch[1] || \"text/plain\")},\n body: (dataMatch[2] ? base64Decode(dataMatch[3]): unpercent(dataMatch[3]))\n };\n\n let result: T = response.body;\n if (processFunc) {\n result = processFunc(response.body, response);\n }\n return Promise.resolve(result);\n\n } catch (error) {\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(dataMatch[1], dataMatch[2]),\n error: error,\n requestBody: null,\n requestMethod: \"GET\",\n url: url\n });\n }\n }\n\n if (body) {\n options.method = \"POST\";\n options.body = body;\n if (headers[\"content-type\"] == null) {\n headers[\"content-type\"] = { key: \"Content-Type\", value: \"application/octet-stream\" };\n }\n if (headers[\"content-length\"] == null) {\n headers[\"content-length\"] = { key: \"Content-Length\", value: String(body.length) };\n }\n }\n\n const flatHeaders: { [ key: string ]: string } = { };\n Object.keys(headers).forEach((key) => {\n const header = headers[key];\n flatHeaders[header.key] = header.value;\n });\n options.headers = flatHeaders;\n\n const runningTimeout = (function() {\n let timer: NodeJS.Timer = null;\n const promise: Promise = new Promise(function(resolve, reject) {\n if (timeout) {\n timer = setTimeout(() => {\n if (timer == null) { return; }\n timer = null;\n\n reject(logger.makeError(\"timeout\", Logger.errors.TIMEOUT, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n timeout: timeout,\n url: url\n }));\n }, timeout);\n }\n });\n\n const cancel = function() {\n if (timer == null) { return; }\n clearTimeout(timer);\n timer = null;\n }\n\n return { promise, cancel };\n })();\n\n const runningFetch = (async function() {\n\n for (let attempt = 0; attempt < attemptLimit; attempt++) {\n let response: GetUrlResponse = null;\n\n try {\n response = await getUrl(url, options);\n\n if (attempt < attemptLimit) {\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirection; for now we only support absolute locataions\n const location = response.headers.location || \"\";\n if (options.method === \"GET\" && location.match(/^https:/)) {\n url = response.headers.location;\n continue;\n }\n\n } else if (response.statusCode === 429) {\n // Exponential back-off throttling\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = await throttleCallback(attempt, url);\n }\n\n if (tryAgain) {\n let stall = 0;\n\n const retryAfter = response.headers[\"retry-after\"];\n if (typeof(retryAfter) === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) {\n stall = parseInt(retryAfter) * 1000;\n } else {\n stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n }\n\n //console.log(\"Stalling 429\");\n await staller(stall);\n continue;\n }\n }\n }\n\n } catch (error) {\n response = (error).response;\n if (response == null) {\n runningTimeout.cancel();\n logger.throwError(\"missing response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n serverError: error,\n url: url\n });\n }\n }\n\n\n let body = response.body;\n\n if (allow304 && response.statusCode === 304) {\n body = null;\n } else if (!errorPassThrough && (response.statusCode < 200 || response.statusCode >= 300)) {\n runningTimeout.cancel();\n logger.throwError(\"bad response\", Logger.errors.SERVER_ERROR, {\n status: response.statusCode,\n headers: response.headers,\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"]: null)),\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n\n if (processFunc) {\n try {\n const result = await processFunc(body, response);\n runningTimeout.cancel();\n return result;\n\n } catch (error) {\n // Allow the processFunc to trigger a throttle\n if (error.throttleRetry && attempt < attemptLimit) {\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = await throttleCallback(attempt, url);\n }\n\n if (tryAgain) {\n const timeout = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n //console.log(\"Stalling callback\");\n await staller(timeout);\n continue;\n }\n }\n\n runningTimeout.cancel();\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"]: null)),\n error: error,\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n }\n\n runningTimeout.cancel();\n\n // If we had a processFunc, it either returned a T or threw above.\n // The \"body\" is now a Uint8Array.\n return (body);\n }\n\n return logger.throwError(\"failed response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n })();\n\n return Promise.race([ runningTimeout.promise, runningFetch ]);\n}\n\nexport function fetchJson(connection: string | ConnectionInfo, json?: string, processFunc?: (value: any, response: FetchJsonResponse) => any): Promise {\n let processJsonFunc = (value: Uint8Array, response: FetchJsonResponse) => {\n let result: any = null;\n if (value != null) {\n try {\n result = JSON.parse(toUtf8String(value));\n } catch (error) {\n logger.throwError(\"invalid JSON\", Logger.errors.SERVER_ERROR, {\n body: value,\n error: error\n });\n }\n }\n\n if (processFunc) {\n result = processFunc(result, response);\n }\n\n return result;\n }\n\n // If we have json to send, we must\n // - add content-type of application/json (unless already overridden)\n // - convert the json to bytes\n let body: Uint8Array = null;\n if (json != null) {\n body = toUtf8Bytes(json);\n\n // Create a connection with the content-type set for JSON\n const updated: ConnectionInfo = (typeof(connection) === \"string\") ? ({ url: connection }): shallowCopy(connection);\n if (updated.headers) {\n const hasContentType = (Object.keys(updated.headers).filter((k) => (k.toLowerCase() === \"content-type\")).length) !== 0;\n if (!hasContentType) {\n updated.headers = shallowCopy(updated.headers);\n updated.headers[\"content-type\"] = \"application/json\";\n }\n } else {\n updated.headers = { \"content-type\": \"application/json\" };\n }\n connection = updated;\n }\n\n return _fetchData(connection, body, processJsonFunc);\n}\n\nexport function poll(func: () => Promise, options?: PollOptions): Promise {\n if (!options) { options = {}; }\n options = shallowCopy(options);\n if (options.floor == null) { options.floor = 0; }\n if (options.ceiling == null) { options.ceiling = 10000; }\n if (options.interval == null) { options.interval = 250; }\n\n return new Promise(function(resolve, reject) {\n\n let timer: NodeJS.Timer = null;\n let done: boolean = false;\n\n // Returns true if cancel was successful. Unsuccessful cancel means we're already done.\n const cancel = (): boolean => {\n if (done) { return false; }\n done = true;\n if (timer) { clearTimeout(timer); }\n return true;\n };\n\n if (options.timeout) {\n timer = setTimeout(() => {\n if (cancel()) { reject(new Error(\"timeout\")); }\n }, options.timeout)\n }\n\n const retryLimit = options.retryLimit;\n\n let attempt = 0;\n function check() {\n return func().then(function(result) {\n\n // If we have a result, or are allowed null then we're done\n if (result !== undefined) {\n if (cancel()) { resolve(result); }\n\n } else if (options.oncePoll) {\n options.oncePoll.once(\"poll\", check);\n\n } else if (options.onceBlock) {\n options.onceBlock.once(\"block\", check);\n\n // Otherwise, exponential back-off (up to 10s) our next request\n } else if (!done) {\n attempt++;\n if (attempt > retryLimit) {\n if (cancel()) { reject(new Error(\"retry limit reached\")); }\n return;\n }\n\n let timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n if (timeout < options.floor) { timeout = options.floor; }\n if (timeout > options.ceiling) { timeout = options.ceiling; }\n\n setTimeout(check, timeout);\n }\n\n return null;\n }, function(error) {\n if (cancel()) { reject(error); }\n });\n }\n check();\n });\n}\n\n","export const version = \"web/5.7.1\";\n","export const version = \"wordlists/5.7.0\";\n","\"use strict\";\n\n// This gets overridden by rollup\nconst exportWordlist = false;\n\nimport { id } from \"@ethersproject/hash\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nexport const logger = new Logger(version);\n\nexport abstract class Wordlist {\n readonly locale: string;\n\n constructor(locale: string) {\n logger.checkAbstract(new.target, Wordlist);\n defineReadOnly(this, \"locale\", locale);\n }\n\n abstract getWord(index: number): string;\n abstract getWordIndex(word: string): number;\n\n // Subclasses may override this\n split(mnemonic: string): Array {\n return mnemonic.toLowerCase().split(/ +/g)\n }\n\n // Subclasses may override this\n join(words: Array): string {\n return words.join(\" \");\n }\n\n static check(wordlist: Wordlist): string {\n const words = [];\n for (let i = 0; i < 2048; i++) {\n const word = wordlist.getWord(i);\n /* istanbul ignore if */\n if (i !== wordlist.getWordIndex(word)) { return \"0x\"; }\n words.push(word);\n }\n return id(words.join(\"\\n\") + \"\\n\");\n }\n\n static register(lang: Wordlist, name?: string): void {\n if (!name) { name = lang.locale; }\n\n /* istanbul ignore if */\n if (exportWordlist) {\n try {\n const anyGlobal = (window as any)\n if (anyGlobal._ethers && anyGlobal._ethers.wordlists) {\n if (!anyGlobal._ethers.wordlists[name]) {\n defineReadOnly(anyGlobal._ethers.wordlists, name, lang);\n }\n }\n } catch (error) { }\n }\n }\n\n}\n\n","\"use strict\";\n\nimport { Wordlist } from \"./wordlist\";\n\n\nconst words = \"AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo\";\n\nlet wordlist: Array = null;\n\n\nfunction loadWords(lang: Wordlist): void {\n if (wordlist != null) { return; }\n wordlist = words.replace(/([A-Z])/g, \" $1\").toLowerCase().substring(1).split(\" \");\n\n // Verify the computed list matches the official list\n /* istanbul ignore if */\n if (Wordlist.check(lang) !== \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\") {\n wordlist = null;\n throw new Error(\"BIP39 Wordlist for en (English) FAILED\");\n }\n}\n\nclass LangEn extends Wordlist {\n constructor() {\n super(\"en\");\n }\n\n getWord(index: number): string {\n loadWords(this);\n return wordlist[index];\n }\n\n getWordIndex(word: string): number {\n loadWords(this);\n return wordlist.indexOf(word);\n }\n}\n\nconst langEn = new LangEn();\nWordlist.register(langEn);\n\nexport { langEn };\n","\"use strict\";\n\n// Wordlists\n// See: https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\n// Browser; only include English by default\n\nimport { Wordlist } from \"./wordlist\";\n\nimport { langEn as en } from \"./lang-en\";\n\nexport const wordlists: { [ locale: string ]: Wordlist } = {\n en: en\n}\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip leading spaces.\n if (source[psz] === ' ') { return }\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip trailing spaces.\n if (source[psz] === ' ') { return }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ArrowRightIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ArrowRightIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const CheckIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default CheckIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const CheckCircledIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default CheckCircledIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ChevronDownIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ChevronDownIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ChevronLeftIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ChevronLeftIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ChevronRightIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ChevronRightIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ClockIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ClockIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const CopyIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default CopyIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const Cross2Icon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default Cross2Icon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const CrossCircledIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default CrossCircledIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const EnterIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default EnterIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ExclamationTriangleIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ExclamationTriangleIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ExitIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ExitIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ExternalLinkIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ExternalLinkIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const EyeClosedIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default EyeClosedIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const EyeOpenIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default EyeOpenIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const LockOpen1Icon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default LockOpen1Icon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const MagnifyingGlassIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default MagnifyingGlassIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const PaperPlaneIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default PaperPlaneIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const PinBottomIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default PinBottomIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const PlusIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default PlusIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ReloadIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ReloadIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const ShuffleIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default ShuffleIcon;\n","import * as React from 'react';\nimport { IconProps } from './types';\n\nexport const TextAlignJustifyIcon = React.forwardRef(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n \n \n \n );\n }\n);\n\nexport default TextAlignJustifyIcon;\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\n\nimport { isSafeInteger } from \"@stablelib/int\";\n\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16BE(array: Uint8Array, offset = 0): number {\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16BE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16LE(array: Uint8Array, offset = 0): number {\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16LE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\n\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16BE(value: number, out = new Uint8Array(2), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\n\nexport const writeInt16BE = writeUint16BE;\n\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16LE(value: number, out = new Uint8Array(2), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\n\nexport const writeInt16LE = writeUint16LE;\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32BE(array: Uint8Array, offset = 0): number {\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32BE(array: Uint8Array, offset = 0): number {\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32LE(array: Uint8Array, offset = 0): number {\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32LE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\n\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32BE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\n\nexport const writeInt32BE = writeUint32BE;\n\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32LE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\n\n\nexport const writeInt32LE = writeUint32LE;\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64BE(array: Uint8Array, offset = 0): number {\n const hi = readInt32BE(array, offset);\n const lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo>>31) * 0x100000000);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64BE(array: Uint8Array, offset = 0): number {\n const hi = readUint32BE(array, offset);\n const lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64LE(array: Uint8Array, offset = 0): number {\n const lo = readInt32LE(array, offset);\n const hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo>>31) * 0x100000000);\n}\n\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64LE(array: Uint8Array, offset = 0): number {\n const lo = readUint32LE(array, offset);\n const hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64BE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\n\nexport const writeInt64BE = writeUint64BE;\n\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64LE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\n\nexport const writeInt64LE = writeUint64LE;\n\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintBE(bitLength: number, array: Uint8Array, offset = 0): number {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintLE(bitLength: number, array: Uint8Array, offset = 0): number {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintBE(bitLength: number, value: number,\n out = new Uint8Array(bitLength / 8), offset = 0): Uint8Array {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n let div = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintLE(bitLength: number, value: number,\n out = new Uint8Array(bitLength / 8), offset = 0): Uint8Array {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n let div = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32BE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32LE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64BE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64LE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\n\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32BE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\n\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32LE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\n\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64BE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\n\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64LE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package chacha implements ChaCha stream cipher.\n */\n\nimport { writeUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\n// Number of ChaCha rounds (ChaCha20).\nconst ROUNDS = 20;\n\n// Applies the ChaCha core function to 16-byte input,\n// 32-byte key key, and puts the result into 64-byte array out.\nfunction core(out: Uint8Array, input: Uint8Array, key: Uint8Array): void {\n let j0 = 0x61707865; // \"expa\" -- ChaCha's \"sigma\" constant\n let j1 = 0x3320646E; // \"nd 3\" for 32-byte keys\n let j2 = 0x79622D32; // \"2-by\"\n let j3 = 0x6B206574; // \"te k\"\n let j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n let j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n let j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n let j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n let j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n let j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n let j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n let j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n let j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n let j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n let j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n let j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n\n let x0 = j0;\n let x1 = j1;\n let x2 = j2;\n let x3 = j3;\n let x4 = j4;\n let x5 = j5;\n let x6 = j6;\n let x7 = j7;\n let x8 = j8;\n let x9 = j9;\n let x10 = j10;\n let x11 = j11;\n let x12 = j12;\n let x13 = j13;\n let x14 = j14;\n let x15 = j15;\n\n for (let i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0; x12 ^= x0; x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0; x4 ^= x8; x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0; x13 ^= x1; x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0; x5 ^= x9; x5 = x5 >>> (32 - 12) | x5 << 12;\n\n x2 = x2 + x6 | 0; x14 ^= x2; x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0; x6 ^= x10; x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0; x15 ^= x3; x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0; x7 ^= x11; x7 = x7 >>> (32 - 12) | x7 << 12;\n\n x2 = x2 + x6 | 0; x14 ^= x2; x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0; x6 ^= x10; x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0; x15 ^= x3; x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0; x7 ^= x11; x7 = x7 >>> (32 - 7) | x7 << 7;\n\n x1 = x1 + x5 | 0; x13 ^= x1; x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0; x5 ^= x9; x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0; x12 ^= x0; x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0; x4 ^= x8; x4 = x4 >>> (32 - 7) | x4 << 7;\n\n x0 = x0 + x5 | 0; x15 ^= x0; x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0; x5 ^= x10; x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0; x12 ^= x1; x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0; x6 ^= x11; x6 = x6 >>> (32 - 12) | x6 << 12;\n\n x2 = x2 + x7 | 0; x13 ^= x2; x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0; x7 ^= x8; x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0; x14 ^= x3; x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0; x4 ^= x9; x4 = x4 >>> (32 - 12) | x4 << 12;\n\n x2 = x2 + x7 | 0; x13 ^= x2; x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0; x7 ^= x8; x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0; x14 ^= x3; x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0; x4 ^= x9; x4 = x4 >>> (32 - 7) | x4 << 7;\n\n x1 = x1 + x6 | 0; x12 ^= x1; x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0; x6 ^= x11; x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0; x15 ^= x0; x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0; x5 ^= x10; x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n writeUint32LE(x0 + j0 | 0, out, 0);\n writeUint32LE(x1 + j1 | 0, out, 4);\n writeUint32LE(x2 + j2 | 0, out, 8);\n writeUint32LE(x3 + j3 | 0, out, 12);\n writeUint32LE(x4 + j4 | 0, out, 16);\n writeUint32LE(x5 + j5 | 0, out, 20);\n writeUint32LE(x6 + j6 | 0, out, 24);\n writeUint32LE(x7 + j7 | 0, out, 28);\n writeUint32LE(x8 + j8 | 0, out, 32);\n writeUint32LE(x9 + j9 | 0, out, 36);\n writeUint32LE(x10 + j10 | 0, out, 40);\n writeUint32LE(x11 + j11 | 0, out, 44);\n writeUint32LE(x12 + j12 | 0, out, 48);\n writeUint32LE(x13 + j13 | 0, out, 52);\n writeUint32LE(x14 + j14 | 0, out, 56);\n writeUint32LE(x15 + j15 | 0, out, 60);\n}\n\n/**\n * Encrypt src with ChaCha20 stream generated for the given 32-byte key and\n * 8-byte (as in original implementation) or 12-byte (as in RFC7539) nonce and\n * write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * If nonce is 12 bytes, users should not encrypt more than 256 GiB with the\n * same key and nonce, otherwise the stream will repeat. The function will\n * throw error if counter overflows to prevent this.\n *\n * If nonce is 8 bytes, the output is practically unlimited (2^70 bytes, which\n * is more than a million petabytes). However, it is not recommended to\n * generate 8-byte nonces randomly, as the chance of collision is high.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each ChaCha block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nexport function streamXOR(key: Uint8Array, nonce: Uint8Array,\n src: Uint8Array, dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error(\"ChaCha: key size must be 32 bytes\");\n }\n\n if (dst.length < src.length) {\n throw new Error(\"ChaCha: destination is shorter than source\");\n }\n\n let nc: Uint8Array;\n let counterLength: number;\n\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8 && nonce.length !== 12) {\n throw new Error(\"ChaCha nonce must be 8 or 12 bytes\");\n }\n nc = new Uint8Array(16);\n // First counterLength bytes of nc are counter, starting with zero.\n counterLength = nc.length - nonce.length;\n // Last bytes of nc after counterLength are nonce, set them.\n nc.set(nonce, counterLength);\n } else {\n if (nonce.length !== 16) {\n throw new Error(\"ChaCha nonce with counter must be 16 bytes\");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterLength = nonceInplaceCounterLength;\n }\n\n // Allocate temporary space for ChaCha block.\n const block = new Uint8Array(64);\n\n for (let i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n\n // XOR block bytes with src into dst.\n for (let j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n\n // Cleanup temporary space.\n wipe(block);\n\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe(nc);\n }\n\n return dst;\n}\n\n/**\n * Generate ChaCha20 stream for the given 32-byte key and 8-byte or 12-byte\n * nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same with respect to\n * the nonce as described in the streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nexport function stream(key: Uint8Array, nonce: Uint8Array,\n dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\n\nfunction incrementCounter(counter: Uint8Array, pos: number, len: number) {\n let carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error(\"ChaCha: counter overflow\");\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package chacha20poly1305 implements ChaCha20-Poly1305 AEAD.\n */\n\nimport { AEAD } from \"@stablelib/aead\";\nimport { streamXOR, stream } from \"@stablelib/chacha\";\nimport { Poly1305 } from \"@stablelib/poly1305\";\nimport { wipe } from \"@stablelib/wipe\";\nimport { writeUint64LE } from \"@stablelib/binary\";\nimport { equal } from \"@stablelib/constant-time\";\n\nexport const KEY_LENGTH = 32;\nexport const NONCE_LENGTH = 12;\nexport const TAG_LENGTH = 16;\n\nconst ZEROS = new Uint8Array(16);\n\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nexport class ChaCha20Poly1305 implements AEAD {\n readonly nonceLength = NONCE_LENGTH;\n readonly tagLength = TAG_LENGTH;\n\n private _key: Uint8Array;\n\n /**\n * Creates a new instance with the given 32-byte key.\n */\n constructor(key: Uint8Array) {\n if (key.length !== KEY_LENGTH) {\n throw new Error(\"ChaCha20Poly1305 needs 32-byte key\");\n }\n // Copy key.\n this._key = new Uint8Array(key);\n }\n\n /**\n * Encrypts and authenticates plaintext, authenticates associated data,\n * and returns sealed ciphertext, which includes authentication tag.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If dst is given (it must be the size of plaintext + the size of tag\n * length) the result will be put into it. Dst and plaintext must not\n * overlap.\n */\n seal(nonce: Uint8Array, plaintext: Uint8Array, associatedData?: Uint8Array,\n dst?: Uint8Array): Uint8Array {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n\n // Allocate space for counter, and set nonce as last bytes of it.\n const counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n\n // Generate authentication key by taking first 32-bytes of stream.\n // We pass full counter, which has 12-byte nonce and 4-byte block counter,\n // and it will get incremented after generating the block, which is\n // exactly what we need: we only use the first 32 bytes of 64-byte\n // ChaCha block and discard the next 32 bytes.\n const authKey = new Uint8Array(32);\n stream(this._key, counter, authKey, 4);\n\n // Allocate space for sealed ciphertext.\n const resultLength = plaintext.length + this.tagLength;\n let result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n } else {\n result = new Uint8Array(resultLength);\n }\n\n // Encrypt plaintext.\n streamXOR(this._key, counter, plaintext, result, 4);\n\n // Authenticate.\n // XXX: can \"simplify\" here: pass full result (which is already padded\n // due to zeroes prepared for tag), and ciphertext length instead of\n // subarray of result.\n this._authenticate(result.subarray(result.length - this.tagLength, result.length),\n authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n\n // Cleanup.\n wipe(counter);\n\n return result;\n }\n\n /**\n * Authenticates sealed ciphertext (which includes authentication tag) and\n * associated data, decrypts ciphertext and returns decrypted plaintext.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If authentication fails, it returns null.\n *\n * If dst is given (it must be of ciphertext length minus tag length),\n * the result will be put into it. Dst and plaintext must not overlap.\n */\n open(nonce: Uint8Array, sealed: Uint8Array, associatedData?: Uint8Array,\n dst?: Uint8Array): Uint8Array | null {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n\n // Sealed ciphertext should at least contain tag.\n if (sealed.length < this.tagLength) {\n // TODO(dchest): should we throw here instead?\n return null;\n }\n\n // Allocate space for counter, and set nonce as last bytes of it.\n const counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n\n // Generate authentication key by taking first 32-bytes of stream.\n const authKey = new Uint8Array(32);\n stream(this._key, counter, authKey, 4);\n\n // Authenticate.\n // XXX: can simplify and avoid allocation: since authenticate()\n // already allocates tag (from Poly1305.digest(), it can return)\n // it instead of copying to calculatedTag. But then in seal()\n // we'll need to copy it.\n const calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey,\n sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n\n // Constant-time compare tags and return null if they differ.\n if (!equal(calculatedTag,\n sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n\n // Allocate space for decrypted plaintext.\n const resultLength = sealed.length - this.tagLength;\n let result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n } else {\n result = new Uint8Array(resultLength);\n }\n\n // Decrypt.\n streamXOR(this._key, counter,\n sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n\n // Cleanup.\n wipe(counter);\n\n return result;\n }\n\n clean(): this {\n wipe(this._key);\n return this;\n }\n\n private _authenticate(tagOut: Uint8Array, authKey: Uint8Array,\n ciphertext: Uint8Array, associatedData?: Uint8Array) {\n\n // Initialize Poly1305 with authKey.\n const h = new Poly1305(authKey);\n\n // Authenticate padded associated data.\n if (associatedData) {\n h.update(associatedData);\n if (associatedData.length % 16 > 0) {\n h.update(ZEROS.subarray(associatedData.length % 16));\n }\n }\n\n // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n const length = new Uint8Array(8);\n if (associatedData) {\n writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n\n // Authenticate length of ciphertext.\n writeUint64LE(ciphertext.length, length);\n h.update(length);\n\n // Get tag and copy it into tagOut.\n const tag = h.digest();\n for (let i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n\n // Cleanup.\n h.clean();\n wipe(tag);\n wipe(length);\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they'll be converted to them with bitwise operations.\n */\nexport function select(subject: number, resultIfOne: number, resultIfZero: number): number {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\n\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nexport function lessOrEqual(a: number, b: number): number {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\n\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nexport function compare(a: Uint8Array, b: Uint8Array): number {\n if (a.length !== b.length) {\n return 0;\n }\n let result = 0;\n for (let i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\n\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nexport function equal(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\n\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { hash, SHA512 } from \"@stablelib/sha512\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const SIGNATURE_LENGTH = 64;\nexport const PUBLIC_KEY_LENGTH = 32;\nexport const SECRET_KEY_LENGTH = 64;\nexport const SEED_LENGTH = 32;\n\n// TODO(dchest): some functions are copies of ../kex/x25519.\n// Find a way to combine them without opening up to public.\n\n// Ported from TweetNaCl.js, which was ported from TweetNaCl\n// by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n// https://tweetnacl.js.org\n\n// TweetNaCl contributors:\n// Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen,\n// Tanja Lange, Peter Schwabe, Sjaak Smetsers.\n// Public domain.\n// https://tweetnacl.cr.yp.to/\n\ntype GF = Float64Array;\n\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init?: number[]): GF {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\n// Base point.\nconst _9 = new Uint8Array(32); _9[0] = 9;\n\nconst gf0 = gf();\n\nconst gf1 = gf([1]);\n\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\n\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\n\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\n\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\n\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\n\nfunction set25519(r: GF, a: GF) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\n\nfunction car25519(o: GF) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\n\nfunction sel25519(p: GF, q: GF, b: number) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o: Uint8Array, n: GF) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\n\nfunction verify32(x: Uint8Array, y: Uint8Array) {\n let d = 0;\n for (let i = 0; i < 32; i++) {\n d |= x[i] ^ y[i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\n\nfunction neq25519(a: GF, b: GF) {\n const c = new Uint8Array(32);\n const d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return verify32(c, d);\n}\n\nfunction par25519(a: GF) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o: GF, n: Uint8Array) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction add(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction sub(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction mul(o: GF, a: GF, b: GF) {\n let v: number, c: number,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction square(o: GF, a: GF) {\n mul(o, a, a);\n}\n\nfunction inv25519(o: GF, i: GF) {\n const c = gf();\n let a: number;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 253; a >= 0; a--) {\n square(c, c);\n if (a !== 2 && a !== 4) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\n\nfunction pow2523(o: GF, i: GF) {\n const c = gf();\n let a: number;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 250; a >= 0; a--) {\n square(c, c);\n if (a !== 1) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\n\n\nfunction edadd(p: GF[], q: GF[]) {\n const a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n sub(a, p[1], p[0]);\n sub(t, q[1], q[0]);\n mul(a, a, t);\n add(b, p[0], p[1]);\n add(t, q[0], q[1]);\n mul(b, b, t);\n mul(c, p[3], q[3]);\n mul(c, c, D2);\n mul(d, p[2], q[2]);\n add(d, d, d);\n sub(e, b, a);\n sub(f, d, c);\n add(g, d, c);\n add(h, b, a);\n\n mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\n\nfunction cswap(p: GF[], q: GF[], b: number) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r: Uint8Array, p: GF[]) {\n const tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n mul(tx, p[0], zi);\n mul(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p: GF[], q: GF[], s: Uint8Array) {\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (let i = 255; i >= 0; --i) {\n const b = (s[(i / 8) | 0] >> (i & 7)) & 1;\n cswap(p, q, b);\n edadd(q, p);\n edadd(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p: GF[], s: Uint8Array) {\n const q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n mul(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nexport interface KeyPair {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n}\n\n// Generates key pair from secret 32-byte seed.\nexport function generateKeyPairFromSeed(seed: Uint8Array): KeyPair {\n if (seed.length !== SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${SEED_LENGTH} bytes`);\n }\n\n const d = hash(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n\n return {\n publicKey,\n secretKey\n };\n}\n\nexport function generateKeyPair(prng?: RandomSource): KeyPair {\n const seed = randomBytes(32, prng);\n const result = generateKeyPairFromSeed(seed);\n wipe(seed);\n return result;\n}\n\nexport function extractPublicKeyFromSecretKey(secretKey: Uint8Array): Uint8Array {\n if (secretKey.length !== SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\n\nconst L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,\n 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10\n]);\n\nfunction modL(r: Uint8Array, x: Float64Array) {\n let carry: number;\n let i: number;\n let j: number;\n let k: number;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r: Uint8Array) {\n const x = new Float64Array(64);\n for (let i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 64; i++) {\n r[i] = 0;\n }\n modL(r, x);\n}\n\n// Returns 64-byte signature of the message under the 64-byte secret key.\nexport function sign(secretKey: Uint8Array, message: Uint8Array): Uint8Array {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n\n const d = hash(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n\n const hs = new SHA512();\n hs.update(signature.subarray(32));\n hs.update(message);\n const r = hs.digest();\n hs.clean();\n reduce(r);\n scalarbase(p, r);\n pack(signature, p);\n\n hs.reset();\n hs.update(signature.subarray(0, 32));\n hs.update(secretKey.subarray(32));\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n\n for (let i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 32; i++) {\n for (let j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n modL(signature.subarray(32), x);\n\n return signature;\n}\n\nfunction unpackneg(r: GF[], p: Uint8Array) {\n const t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n square(num, r[1]);\n mul(den, num, D);\n sub(num, num, r[2]);\n add(den, r[2], den);\n\n square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\n\n pow2523(t, t);\n mul(t, t, num);\n mul(t, t, den);\n mul(t, t, den);\n mul(r[0], t, den);\n\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n\n mul(r[3], r[0], r[1]);\n return 0;\n}\n\nexport function verify(publicKey: Uint8Array, message: Uint8Array, signature: Uint8Array): boolean {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n\n if (signature.length !== SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${SIGNATURE_LENGTH} bytes`);\n }\n\n if (unpackneg(q, publicKey)) {\n return false;\n }\n\n const hs = new SHA512();\n hs.update(signature.subarray(0, 32));\n hs.update(publicKey);\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\n\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nexport function convertPublicKeyToX25519(publicKey: Uint8Array): Uint8Array {\n let q = [gf(), gf(), gf(), gf()];\n\n if (unpackneg(q, publicKey)) {\n throw new Error(\"Ed25519: invalid public key\");\n }\n\n // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p\n let a = gf();\n let b = gf();\n let y = q[1];\n add(a, gf1, y);\n sub(b, gf1, y);\n inv25519(b, b);\n mul(a, a, b);\n\n let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\n\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nexport function convertSecretKeyToX25519(secretKey: Uint8Array): Uint8Array {\n const d = hash(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const o = new Uint8Array(d.subarray(0, 32));\n wipe(d);\n return o;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hash provides interface for hash functions.\n */\n\n/**\n * Hash interface describes properties of\n * cryptographic hash functions.\n */\nexport interface Hash {\n readonly digestLength: number;\n readonly blockSize: number;\n update(data: Uint8Array): this;\n reset(): this;\n finish(out: Uint8Array): this;\n digest(): Uint8Array;\n clean(): void;\n}\n\nexport interface SerializableHash extends Hash {\n saveState(): any;\n restoreState(savedState: any): this;\n cleanSavedState(savedState: any): void;\n}\n\nexport function isSerializableHash(h: Hash): h is SerializableHash {\n return (\n typeof (h as SerializableHash).saveState !== \"undefined\" &&\n typeof (h as SerializableHash).restoreState !== \"undefined\" &&\n typeof (h as SerializableHash).cleanSavedState !== \"undefined\"\n );\n}\n\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hkdf implements HKDF key derivation function.\n */\n\nimport { Hash } from \"@stablelib/hash\";\nimport { HMAC, hmac } from \"@stablelib/hmac\";\nimport { wipe } from \"@stablelib/wipe\";\n\n/**\n * HMAC-based Extract-and-Expand Key Derivation Function.\n *\n * Implements HKDF from RFC5869.\n *\n * Expands the given master key with salt and info into\n * a limited stream of key material.\n */\nexport class HKDF {\n private _hmac: HMAC;\n private _buffer: Uint8Array;\n private _bufpos: number;\n private _counter = new Uint8Array(1); // starts with zero\n private _hash: new () => Hash;\n private _info?: Uint8Array;\n\n /**\n * Create a new HKDF instance for the given hash function\n * with the master key, optional salt, and info.\n *\n * - Master key is a high-entropy secret key (not a password).\n * - Salt is a non-secret random value.\n * - Info is application- and/or context-specific information.\n */\n constructor(hash: new () => Hash,\n key: Uint8Array,\n salt = new Uint8Array(0),\n info?: Uint8Array) {\n\n this._hash = hash;\n this._info = info;\n\n // HKDF-Extract uses salt as HMAC key, and key as data.\n const okm = hmac(this._hash, salt, key);\n\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new HMAC(hash, okm);\n\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n\n // Fill buffer with new block of HKDF-Extract output.\n private _fillBuffer(): void {\n // Increment counter.\n this._counter[0]++;\n\n const ctr = this._counter[0];\n\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\n\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (ctr > 1) {\n this._hmac.update(this._buffer);\n }\n\n // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n\n // Hash in the counter.\n this._hmac.update(this._counter);\n\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n\n // Reset buffer position.\n this._bufpos = 0;\n }\n\n /**\n * Expand returns next key material of the given length.\n *\n * It throws if expansion limit is reached (which is\n * 254 digests of the underlying HMAC function).\n */\n expand(length: number): Uint8Array {\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i++) {\n if (this._bufpos === this._buffer.length) {\n this._fillBuffer();\n }\n out[i] = this._buffer[this._bufpos++];\n }\n return out;\n }\n\n clean(): void {\n this._hmac.clean();\n wipe(this._buffer);\n wipe(this._counter);\n this._bufpos = 0;\n }\n}\n\n// TODO(dchest): maybe implement deriveKey?\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hmac implements HMAC algorithm.\n */\n\nimport { Hash, SerializableHash, isSerializableHash } from \"@stablelib/hash\";\nimport { equal as constantTimeEqual } from \"@stablelib/constant-time\";\nimport { wipe } from \"@stablelib/wipe\";\n\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nexport class HMAC implements SerializableHash {\n readonly blockSize: number;\n readonly digestLength: number;\n\n private _inner: Hash; // inner hash\n private _outer: Hash; // outer hash\n\n private _finished = false; // true if HMAC was finalized\n\n // Copies of hash states after keying.\n // Need for quick reset without hashing the key again.\n private _innerKeyedState: any | undefined;\n private _outerKeyedState: any | undefined;\n\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n constructor(hash: new () => Hash | SerializableHash, key: Uint8Array) {\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n\n // Pad temporary stores a key (or its hash) padded with zeroes.\n const pad = new Uint8Array(this.blockSize);\n\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n } else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n\n // To make inner hash key, xor byte 0x36 into pad.\n for (let i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (let i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (isSerializableHash(this._inner) && isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n\n // Clean pad.\n wipe(pad);\n }\n\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n reset(): this {\n if (!isSerializableHash(this._inner) || !isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't reset() because hash doesn't implement restoreState()\");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans HMAC state.\n */\n clean() {\n if (isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n }\n\n /**\n * Updates state with provided data.\n */\n update(data: Uint8Array): this {\n this._inner.update(data);\n return this;\n }\n\n /**\n * Finalizes HMAC and puts the result in out.\n */\n finish(out: Uint8Array): this {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n\n return this;\n }\n\n /**\n * Returns the computed message authentication code.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n saveState(): any {\n if (!isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't saveState() because hash doesn't implement it\");\n }\n return this._inner.saveState();\n }\n\n restoreState(savedState: any): this {\n if (!isSerializableHash(this._inner) || !isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't restoreState() because hash doesn't implement it\");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n }\n\n cleanSavedState(savedState: any) {\n if (!isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't cleanSavedState() because hash doesn't implement it\");\n }\n this._inner.cleanSavedState(savedState);\n }\n}\n\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nexport function hmac(hash: new () => Hash, key: Uint8Array, data: Uint8Array): Uint8Array {\n const h = new HMAC(hash, key);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error(\"Authentication error\");\n * }\n */\nexport const equal = constantTimeEqual;\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package int provides helper functions for integerss.\n */\n\n// Shim using 16-bit pieces.\nfunction imulShim(a: number, b: number): number {\n const ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n const bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexport const mul = (Math as { imul?(a: number, b: number): number }).imul || imulShim;\n\n/** 32-bit integer addition. */\nexport function add(a: number, b: number): number {\n return (a + b) | 0;\n}\n\n/** 32-bit integer subtraction. */\nexport function sub(a: number, b: number): number {\n return (a - b) | 0;\n}\n\n/** 32-bit integer left rotation */\nexport function rotl(x: number, n: number): number {\n return x << n | x >>> (32 - n);\n}\n\n/** 32-bit integer left rotation */\nexport function rotr(x: number, n: number): number {\n return x << (32 - n) | x >>> n;\n}\n\nfunction isIntegerShim(n: number): boolean {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexport const isInteger = (Number as { isInteger?(n: number): boolean }).isInteger || isIntegerShim;\n\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexport const MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexport const isSafeInteger = (n: number): boolean =>\n isInteger(n) && (n >= -MAX_SAFE_INTEGER && n <= MAX_SAFE_INTEGER);\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\n\nimport { equal as constantTimeEqual } from \"@stablelib/constant-time\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 16;\n\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nexport class Poly1305 {\n readonly digestLength = DIGEST_LENGTH;\n\n private _buffer = new Uint8Array(16);\n private _r = new Uint16Array(10);\n private _h = new Uint16Array(10);\n private _pad = new Uint16Array(8);\n private _leftover = 0;\n private _fin = 0;\n private _finished = false;\n\n constructor(key: Uint8Array) {\n let t0 = key[0] | key[1] << 8; this._r[0] = (t0) & 0x1fff;\n let t1 = key[2] | key[3] << 8; this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n let t2 = key[4] | key[5] << 8; this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n let t3 = key[6] | key[7] << 8; this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n let t4 = key[8] | key[9] << 8; this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n let t5 = key[10] | key[11] << 8; this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n let t6 = key[12] | key[13] << 8; this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n let t7 = key[14] | key[15] << 8; this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n\n private _blocks(m: Uint8Array, mpos: number, bytes: number) {\n let hibit = this._fin ? 0 : 1 << 11;\n\n let h0 = this._h[0],\n h1 = this._h[1],\n h2 = this._h[2],\n h3 = this._h[3],\n h4 = this._h[4],\n h5 = this._h[5],\n h6 = this._h[6],\n h7 = this._h[7],\n h8 = this._h[8],\n h9 = this._h[9];\n\n let r0 = this._r[0],\n r1 = this._r[1],\n r2 = this._r[2],\n r3 = this._r[3],\n r4 = this._r[4],\n r5 = this._r[5],\n r6 = this._r[6],\n r7 = this._r[7],\n r8 = this._r[8],\n r9 = this._r[9];\n\n while (bytes >= 16) {\n let t0 = m[mpos + 0] | m[mpos + 1] << 8; h0 += (t0) & 0x1fff;\n let t1 = m[mpos + 2] | m[mpos + 3] << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n let t2 = m[mpos + 4] | m[mpos + 5] << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n let t3 = m[mpos + 6] | m[mpos + 7] << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n let t4 = m[mpos + 8] | m[mpos + 9] << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n let t5 = m[mpos + 10] | m[mpos + 11] << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n let t6 = m[mpos + 12] | m[mpos + 13] << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n let t7 = m[mpos + 14] | m[mpos + 15] << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n let c = 0;\n\n let d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n let d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n let d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n let d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n let d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n let d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n let d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n let d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n let d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n let d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n }\n\n finish(mac: Uint8Array, macpos = 0): this {\n const g = new Uint16Array(10);\n let c: number;\n let mask: number;\n let f: number;\n let i: number;\n\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n\n this._finished = true;\n return this;\n }\n\n update(m: Uint8Array): this {\n let mpos = 0;\n let bytes = m.length;\n let want: number;\n\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (let i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (let i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n\n return this;\n }\n\n digest(): Uint8Array {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished — others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n let mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n }\n\n clean(): this {\n wipe(this._buffer);\n wipe(this._r);\n wipe(this._h);\n wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n }\n}\n\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nexport function oneTimeAuth(key: Uint8Array, data: Uint8Array): Uint8Array {\n const h = new Poly1305(key);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nexport function equal(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== DIGEST_LENGTH || b.length !== DIGEST_LENGTH) {\n return false;\n }\n return constantTimeEqual(a, b);\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package random provides functions to access system's\n * cryptographically secure random byte generator.\n */\n\nimport { RandomSource } from \"./source\";\nimport { SystemRandomSource } from \"./source/system\";\nimport { readUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport { RandomSource } from \"./source\";\n\nexport const defaultRandomSource = new SystemRandomSource();\n\nexport function randomBytes(length: number, prng: RandomSource = defaultRandomSource): Uint8Array {\n return prng.randomBytes(length);\n}\n\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nexport function randomUint32(prng: RandomSource = defaultRandomSource): number {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n\n // Convert bytes from buffer into a 32-bit integer.\n // It's not important which byte order to use, since\n // the result is random.\n const result = readUint32LE(buf);\n\n // Clean the buffer.\n wipe(buf);\n\n return result;\n}\n\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nexport function randomString(\n length: number,\n charset = ALPHANUMERIC,\n prng: RandomSource = defaultRandomSource\n): string {\n if (charset.length < 2) {\n throw new Error(\"randomString charset is too short\");\n }\n if (charset.length > 256) {\n throw new Error(\"randomString charset is too long\");\n }\n let out = '';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n wipe(buf);\n }\n return out;\n}\n\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, \"0123456789\")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nexport function randomStringForEntropy(\n bits: number,\n charset = ALPHANUMERIC,\n prng: RandomSource = defaultRandomSource\n): string {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\n\nconst QUOTA = 65536;\n\nexport class BrowserRandomSource implements RandomSource {\n isAvailable = false;\n isInstantiated = false;\n\n private _crypto?: { getRandomValues: typeof window.crypto.getRandomValues };\n\n constructor() {\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || (self as { msCrypto?: any }).msCrypto) // IE11 has msCrypto\n : null;\n\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Browser random byte generator is not available.\");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\nimport { wipe } from \"@stablelib/wipe\";\n\ndeclare function require(name: string): any;\n\nexport class NodeRandomSource implements RandomSource {\n isAvailable = false;\n isInstantiated = false;\n\n private _crypto: { randomBytes(n: number): Uint8Array } | undefined;\n\n constructor() {\n if (typeof require !== \"undefined\") {\n const nodeCrypto = require(\"crypto\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error(\"NodeRandomSource: got fewer bytes than requested\");\n }\n\n // Allocate output array.\n const out = new Uint8Array(length);\n\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n\n // Cleanup.\n wipe(buffer);\n\n return out;\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\nimport { BrowserRandomSource } from \"./browser\";\nimport { NodeRandomSource } from \"./node\";\n\nexport class SystemRandomSource implements RandomSource {\n isAvailable = false;\n name = \"\";\n private _source: RandomSource;\n\n constructor() {\n // Try browser.\n this._source = new BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n\n // If no browser source, try Node.\n this._source = new NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n\n // No sources, we're out of options.\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package sha256 implements SHA-2-256 cryptographic hash function.\n */\n\nimport { SerializableHash } from \"@stablelib/hash\";\nimport { readUint32BE, writeUint32BE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 32;\nexport const BLOCK_SIZE = 64;\n\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nexport class SHA256 implements SerializableHash {\n /** Length of hash output */\n readonly digestLength: number = DIGEST_LENGTH;\n\n /** Block size */\n readonly blockSize: number = BLOCK_SIZE;\n\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n protected _state = new Int32Array(8); // hash state\n private _temp = new Int32Array(64); // temporary state\n private _buffer = new Uint8Array(128); // buffer for data to hash\n private _bufferLength = 0; // number of bytes in buffer\n private _bytesHashed = 0; // number of total bytes hashed\n private _finished = false; // indicates whether the hash was finalized\n\n constructor() {\n this.reset();\n }\n\n protected _initState() {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n }\n\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n reset(): this {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans internal buffers and resets hash state.\n */\n clean() {\n wipe(this._buffer);\n wipe(this._temp);\n this.reset();\n }\n\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n update(data: Uint8Array, dataLength: number = data.length): this {\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n let dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n }\n\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n finish(out: Uint8Array): this {\n if (!this._finished) {\n const bytesHashed = this._bytesHashed;\n const left = this._bufferLength;\n const bitLenHi = (bytesHashed / 0x20000000) | 0;\n const bitLenLo = bytesHashed << 3;\n const padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n\n this._buffer[left] = 0x80;\n for (let i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n\n this._finished = true;\n }\n\n for (let i = 0; i < this.digestLength / 4; i++) {\n writeUint32BE(this._state[i], out, i * 4);\n }\n\n return this;\n }\n\n /**\n * Returns the final hash digest.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n saveState(): SavedState {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n restoreState(savedState: SavedState): this {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans state returned by saveState().\n */\n cleanSavedState(savedState: SavedState) {\n wipe(savedState.state);\n if (savedState.buffer) {\n wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n }\n}\n\nexport type SavedState = {\n state: Int32Array;\n buffer: Uint8Array | undefined;\n bufferLength: number;\n bytesHashed: number;\n};\n\n// Constants\nconst K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\nfunction hashBlocks(w: Int32Array, v: Int32Array, p: Uint8Array, pos: number, len: number): number {\n while (len >= 64) {\n let a = v[0];\n let b = v[1];\n let c = v[2];\n let d = v[3];\n let e = v[4];\n let f = v[5];\n let g = v[6];\n let h = v[7];\n\n for (let i = 0; i < 16; i++) {\n let j = pos + i * 4;\n w[i] = readUint32BE(p, j);\n }\n\n for (let i = 16; i < 64; i++) {\n let u = w[i - 2];\n let t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n\n u = w[i - 15];\n let t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n\n for (let i = 0; i < 64; i++) {\n let t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n\n let t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n\n pos += 64;\n len -= 64;\n }\n return pos;\n}\n\nexport function hash(data: Uint8Array): Uint8Array {\n const h = new SHA256();\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package sha512 implements SHA-2-512 cryptographic hash function.\n */\n\nimport { SerializableHash } from \"@stablelib/hash\";\nimport { readUint32BE, writeUint32BE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 64;\nexport const BLOCK_SIZE = 128;\n\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nexport class SHA512 implements SerializableHash {\n /** Length of hash output */\n readonly digestLength: number = DIGEST_LENGTH;\n\n /** Block size */\n readonly blockSize: number = BLOCK_SIZE;\n\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n protected _stateHi = new Int32Array(8); // hash state, high bytes\n protected _stateLo = new Int32Array(8); // hash state, low bytes\n private _tempHi = new Int32Array(16); // temporary state, high bytes\n private _tempLo = new Int32Array(16); // temporary state, low bytes\n private _buffer = new Uint8Array(256); // buffer for data to hash\n private _bufferLength = 0; // number of bytes in buffer\n private _bytesHashed = 0; // number of total bytes hashed\n private _finished = false; // indicates whether the hash was finalized\n\n constructor() {\n this.reset();\n }\n\n protected _initState() {\n this._stateHi[0] = 0x6a09e667;\n this._stateHi[1] = 0xbb67ae85;\n this._stateHi[2] = 0x3c6ef372;\n this._stateHi[3] = 0xa54ff53a;\n this._stateHi[4] = 0x510e527f;\n this._stateHi[5] = 0x9b05688c;\n this._stateHi[6] = 0x1f83d9ab;\n this._stateHi[7] = 0x5be0cd19;\n\n this._stateLo[0] = 0xf3bcc908;\n this._stateLo[1] = 0x84caa73b;\n this._stateLo[2] = 0xfe94f82b;\n this._stateLo[3] = 0x5f1d36f1;\n this._stateLo[4] = 0xade682d1;\n this._stateLo[5] = 0x2b3e6c1f;\n this._stateLo[6] = 0xfb41bd6b;\n this._stateLo[7] = 0x137e2179;\n }\n\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n reset(): this {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans internal buffers and resets hash state.\n */\n clean() {\n wipe(this._buffer);\n wipe(this._tempHi);\n wipe(this._tempLo);\n this.reset();\n }\n\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n update(data: Uint8Array, dataLength: number = data.length): this {\n if (this._finished) {\n throw new Error(\"SHA512: can't update because hash was finished.\");\n }\n let dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < BLOCK_SIZE && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo,\n this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo,\n data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n }\n\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n finish(out: Uint8Array): this {\n if (!this._finished) {\n const bytesHashed = this._bytesHashed;\n const left = this._bufferLength;\n const bitLenHi = (bytesHashed / 0x20000000) | 0;\n const bitLenLo = bytesHashed << 3;\n const padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n\n this._buffer[left] = 0x80;\n for (let i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n\n this._finished = true;\n }\n\n for (let i = 0; i < this.digestLength / 8; i++) {\n writeUint32BE(this._stateHi[i], out, i * 8);\n writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n\n return this;\n }\n\n /**\n * Returns the final hash digest.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization. Returns hash state to be\n * used with restoreState(). Only chain value is saved, not buffers or\n * other state variables.\n */\n saveState(): SavedState {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n stateHi: new Int32Array(this._stateHi),\n stateLo: new Int32Array(this._stateLo),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n restoreState(savedState: SavedState): this {\n this._stateHi.set(savedState.stateHi);\n this._stateLo.set(savedState.stateLo);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans state returned by saveState().\n */\n cleanSavedState(savedState: SavedState) {\n wipe(savedState.stateHi);\n wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n }\n}\n\nexport type SavedState = {\n stateHi: Int32Array;\n stateLo: Int32Array;\n buffer: Uint8Array | undefined;\n bufferLength: number;\n bytesHashed: number;\n};\n\n// Constants\nconst K = new Int32Array([\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]);\n\n\nfunction hashBlocks(wh: Int32Array, wl: Int32Array, hh: Int32Array, hl: Int32Array,\n m: Uint8Array, pos: number, len: number): number {\n\n let ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n let h: number, l: number;\n let th: number, tl: number;\n let a: number, b: number, c: number, d: number;\n\n while (len >= 128) {\n for (let i = 0; i < 16; i++) {\n const j = 8 * i + pos;\n wh[i] = readUint32BE(m, j);\n wl[i] = readUint32BE(m, j + 4);\n }\n for (let i = 0; i < 80; i++) {\n let bh0 = ah0;\n let bh1 = ah1;\n let bh2 = ah2;\n let bh3 = ah3;\n let bh4 = ah4;\n let bh5 = ah5;\n let bh6 = ah6;\n let bh7 = ah7;\n\n let bl0 = al0;\n let bl1 = al1;\n let bl2 = al2;\n let bl3 = al3;\n let bl4 = al4;\n let bl5 = al5;\n let bl6 = al6;\n let bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32 - 14))) ^ ((ah4 >>> 18) |\n (al4 << (32 - 18))) ^ ((al4 >>> (41 - 32)) | (ah4 << (32 - (41 - 32))));\n l = ((al4 >>> 14) | (ah4 << (32 - 14))) ^ ((al4 >>> 18) |\n (ah4 << (32 - 18))) ^ ((ah4 >>> (41 - 32)) | (al4 << (32 - (41 - 32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32 - 28))) ^ ((al0 >>> (34 - 32)) |\n (ah0 << (32 - (34 - 32)))) ^ ((al0 >>> (39 - 32)) | (ah0 << (32 - (39 - 32))));\n l = ((al0 >>> 28) | (ah0 << (32 - 28))) ^ ((ah0 >>> (34 - 32)) |\n (al0 << (32 - (34 - 32)))) ^ ((ah0 >>> (39 - 32)) | (al0 << (32 - (39 - 32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i % 16 === 15) {\n for (let j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = ((th >>> 1) | (tl << (32 - 1))) ^ ((th >>> 8) |\n (tl << (32 - 8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32 - 1))) ^ ((tl >>> 8) |\n (th << (32 - 8))) ^ ((tl >>> 7) | (th << (32 - 7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = ((th >>> 19) | (tl << (32 - 19))) ^ ((tl >>> (61 - 32)) |\n (th << (32 - (61 - 32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32 - 19))) ^ ((th >>> (61 - 32)) |\n (tl << (32 - (61 - 32)))) ^ ((tl >>> 6) | (th << (32 - 6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n len -= 128;\n }\n\n return pos;\n}\n\nexport function hash(data: Uint8Array): Uint8Array {\n const h = new SHA512();\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package wipe implements functions for zeroing arrays.\n */\n\nexport type NumericArray = number[] | Uint8Array | Int8Array | Uint16Array\n | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array;\n\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nexport function wipe(array: NumericArray): NumericArray {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (let i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package x25519 implements X25519 key agreement.\n */\n\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const PUBLIC_KEY_LENGTH = 32;\nexport const SECRET_KEY_LENGTH = 32;\nexport const SHARED_KEY_LENGTH = 32;\n\n// TODO(dchest): some functions are copies of ../sign/ed25519.\n// Find a way to combine them without opening up to public.\n\n// Ported from TweetNaCl.js, which is ported from TweetNaCl\n// by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n// https://tweetnacl.js.org\n\n// TweetNaCl contributors:\n// Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen,\n// Tanja Lange, Peter Schwabe, Sjaak Smetsers.\n// Public domain.\n// https://tweetnacl.cr.yp.to/\n\ntype GF = Float64Array;\n\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init?: number[]): GF {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\n// Base point.\nconst _9 = new Uint8Array(32); _9[0] = 9;\n\nconst _121665 = gf([0xdb41, 1]);\n\nfunction car25519(o: GF) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\n\nfunction sel25519(p: GF, q: GF, b: number) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o: Uint8Array, n: GF) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\n\nfunction unpack25519(o: GF, n: Uint8Array) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction add(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction sub(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction mul(o: GF, a: GF, b: GF) {\n let v: number, c: number,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction square(o: GF, a: GF) {\n mul(o, a, a);\n}\n\nfunction inv25519(o: GF, inp: GF) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\n\nexport function scalarMult(n: Uint8Array, p: Uint8Array): Uint8Array {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n\n unpack25519(x, p);\n\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n\n a[0] = d[0] = 1;\n\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\n\nexport function scalarMultBase(n: Uint8Array): Uint8Array {\n return scalarMult(n, _9);\n}\n\nexport interface KeyPair {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n}\n\nexport function generateKeyPairFromSeed(seed: Uint8Array): KeyPair {\n if (seed.length !== SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\n\nexport function generateKeyPair(prng?: RandomSource): KeyPair {\n const seed = randomBytes(32, prng);\n const result = generateKeyPairFromSeed(seed);\n wipe(seed);\n return result;\n}\n\n/**\n * Returns a shared key between our secret key and a peer's public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume \"contributory behavior\". Specially,\n * > contributory behavior means that both parties' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party's\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nexport function sharedKey(mySecretKey: Uint8Array, theirPublicKey: Uint8Array, rejectZero = false): Uint8Array {\n if (mySecretKey.length !== PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n\n const result = scalarMult(mySecretKey, theirPublicKey);\n\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error(\"X25519: invalid shared key\");\n }\n }\n\n return result;\n}\n","var c1 = {\n \"chain\": \"ETH\",\n \"chainId\": 1,\n \"ens\": {\n \"registry\": \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n \"explorers\": [{\n \"name\": \"etherscan\",\n \"url\": \"https://etherscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"blockscout\",\n \"url\": \"https://eth.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://ethereum.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethereum.org\",\n \"name\": \"Ethereum Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"redFlags\": [],\n \"rpc\": [\"https://1.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.infura.io/v3/${INFURA_API_KEY}\", \"wss://mainnet.infura.io/ws/v3/${INFURA_API_KEY}\", \"https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}\", \"https://api.mycryptoapi.com/eth\", \"https://cloudflare-eth.com\", \"https://ethereum-rpc.publicnode.com\", \"wss://ethereum-rpc.publicnode.com\", \"https://mainnet.gateway.tenderly.co\", \"wss://mainnet.gateway.tenderly.co\", \"https://rpc.blocknative.com/boost\", \"https://rpc.flashbots.net\", \"https://rpc.flashbots.net/fast\", \"https://rpc.mevblocker.io\", \"https://rpc.mevblocker.io/fast\", \"https://rpc.mevblocker.io/noreverts\", \"https://rpc.mevblocker.io/fullprivacy\", \"https://eth.drpc.org\", \"wss://eth.drpc.org\"],\n \"shortName\": \"eth\",\n \"slip44\": 60,\n \"slug\": \"ethereum\",\n \"testnet\": false\n};\n\nvar c2 = {\n \"chain\": \"EXP\",\n \"chainId\": 2,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://expanse.tech\",\n \"name\": \"Expanse Network\",\n \"nativeCurrency\": {\n \"name\": \"Expanse Network Ether\",\n \"symbol\": \"EXP\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://2.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.expanse.tech\"],\n \"shortName\": \"exp\",\n \"slip44\": 40,\n \"slug\": \"expanse-network\",\n \"testnet\": false\n};\n\nvar c3 = {\n \"chain\": \"ETH\",\n \"chainId\": 3,\n \"ens\": {\n \"registry\": \"0x112234455c3a32fd11230c42e7bccd4a84e02010\"\n },\n \"explorers\": [{\n \"name\": \"etherscan\",\n \"url\": \"https://ropsten.etherscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=3&address=${ADDRESS}\", \"https://faucet.ropsten.be?${ADDRESS}\"],\n \"features\": [],\n \"infoURL\": \"https://github.com/ethereum/ropsten\",\n \"name\": \"Ropsten\",\n \"nativeCurrency\": {\n \"name\": \"Ropsten Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3,\n \"redFlags\": [],\n \"rpc\": [\"https://3.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ropsten.infura.io/v3/${INFURA_API_KEY}\", \"wss://ropsten.infura.io/ws/v3/${INFURA_API_KEY}\"],\n \"shortName\": \"rop\",\n \"slip44\": 1,\n \"slug\": \"ropsten\",\n \"status\": \"deprecated\",\n \"testnet\": false,\n \"title\": \"Ethereum Testnet Ropsten\"\n};\n\nvar c4 = {\n \"chain\": \"ETH\",\n \"chainId\": 4,\n \"ens\": {\n \"registry\": \"0xe7410170f87102df0055eb195163a03b7f2bff4a\"\n },\n \"explorers\": [{\n \"name\": \"etherscan-rinkeby\",\n \"url\": \"https://rinkeby.etherscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=4&address=${ADDRESS}\", \"https://faucet.rinkeby.io\"],\n \"features\": [],\n \"infoURL\": \"https://www.rinkeby.io\",\n \"name\": \"Rinkeby\",\n \"nativeCurrency\": {\n \"name\": \"Rinkeby Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4,\n \"redFlags\": [],\n \"rpc\": [\"https://4.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rinkeby.infura.io/v3/${INFURA_API_KEY}\", \"wss://rinkeby.infura.io/ws/v3/${INFURA_API_KEY}\"],\n \"shortName\": \"rin\",\n \"slip44\": 1,\n \"slug\": \"rinkeby\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Ethereum Testnet Rinkeby\"\n};\n\nvar c5 = {\n \"chain\": \"ETH\",\n \"chainId\": 5,\n \"ens\": {\n \"registry\": \"0x112234455c3a32fd11230c42e7bccd4a84e02010\"\n },\n \"explorers\": [{\n \"name\": \"etherscan-goerli\",\n \"url\": \"https://goerli.etherscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"blockscout-goerli\",\n \"url\": \"https://eth-goerli.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=5&address=${ADDRESS}\", \"https://goerli-faucet.slock.it?address=${ADDRESS}\", \"https://faucet.goerli.mudit.blog\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://goerli.net/#about\",\n \"name\": \"Goerli\",\n \"nativeCurrency\": {\n \"name\": \"Goerli Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5,\n \"redFlags\": [],\n \"rpc\": [\"https://5.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.infura.io/v3/${INFURA_API_KEY}\", \"wss://goerli.infura.io/v3/${INFURA_API_KEY}\", \"https://rpc.goerli.mudit.blog/\", \"https://ethereum-goerli-rpc.publicnode.com\", \"wss://ethereum-goerli-rpc.publicnode.com\", \"https://goerli.gateway.tenderly.co\", \"wss://goerli.gateway.tenderly.co\"],\n \"shortName\": \"gor\",\n \"slip44\": 1,\n \"slug\": \"goerli\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Ethereum Testnet Goerli\"\n};\n\nvar c6 = {\n \"chain\": \"ETC\",\n \"chainId\": 6,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmawMDPsaj3kBTZErCYQ3tshv5RrMAN3smWNs72m943Fyj\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethereumclassic.org/development/testnets\",\n \"name\": \"Kotti Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Kotti Ether\",\n \"symbol\": \"KOT\",\n \"decimals\": 18\n },\n \"networkId\": 6,\n \"rpc\": [],\n \"shortName\": \"kot\",\n \"slip44\": 1,\n \"slug\": \"kotti-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Ethereum Classic Kotti Testnet\"\n};\n\nvar c7 = {\n \"chain\": \"TCH\",\n \"chainId\": 7,\n \"explorers\": [{\n \"name\": \"Thaichain Explorer\",\n \"url\": \"https://exp.thaichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://thaichain.io\",\n \"name\": \"ThaiChain\",\n \"nativeCurrency\": {\n \"name\": \"ThaiChain Ether\",\n \"symbol\": \"TCH\",\n \"decimals\": 18\n },\n \"networkId\": 7,\n \"rpc\": [\"https://7.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dome.cloud\", \"https://rpc.thaichain.org\"],\n \"shortName\": \"tch\",\n \"slug\": \"thaichain\",\n \"testnet\": false\n};\n\nvar c8 = {\n \"chain\": \"UBQ\",\n \"chainId\": 8,\n \"explorers\": [{\n \"name\": \"ubiqscan\",\n \"url\": \"https://ubiqscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ubiqsmart.com\",\n \"name\": \"Ubiq\",\n \"nativeCurrency\": {\n \"name\": \"Ubiq Ether\",\n \"symbol\": \"UBQ\",\n \"decimals\": 18\n },\n \"networkId\": 8,\n \"rpc\": [\"https://8.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.octano.dev\", \"https://pyrus2.ubiqscan.io\"],\n \"shortName\": \"ubq\",\n \"slip44\": 108,\n \"slug\": \"ubiq\",\n \"testnet\": false\n};\n\nvar c9 = {\n \"chain\": \"UBQ\",\n \"chainId\": 9,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ethersocial.org\",\n \"name\": \"Ubiq Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ubiq Testnet Ether\",\n \"symbol\": \"TUBQ\",\n \"decimals\": 18\n },\n \"networkId\": 2,\n \"rpc\": [],\n \"shortName\": \"tubq\",\n \"slip44\": 1,\n \"slug\": \"ubiq-network-testnet\",\n \"testnet\": true\n};\n\nvar c10 = {\n \"chain\": \"ETH\",\n \"chainId\": 10,\n \"explorers\": [{\n \"name\": \"etherscan\",\n \"url\": \"https://optimistic.etherscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"blockscout\",\n \"url\": \"https://optimism.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://optimism.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/optimism/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optimism.io\",\n \"name\": \"OP Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 10,\n \"redFlags\": [],\n \"rpc\": [\"https://10.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://optimism-mainnet.infura.io/v3/${INFURA_API_KEY}\", \"https://mainnet.optimism.io\", \"https://optimism.publicnode.com\", \"wss://optimism.publicnode.com\", \"https://optimism.gateway.tenderly.co\", \"wss://optimism.gateway.tenderly.co\", \"https://optimism-rpc.publicnode.com\", \"wss://optimism-rpc.publicnode.com\", \"https://optimism.drpc.org\", \"wss://optimism.drpc.org\"],\n \"shortName\": \"oeth\",\n \"slug\": \"optimism\",\n \"testnet\": false\n};\n\nvar c11 = {\n \"chain\": \"META\",\n \"chainId\": 11,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://metadium.com\",\n \"name\": \"Metadium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Metadium Mainnet Ether\",\n \"symbol\": \"META\",\n \"decimals\": 18\n },\n \"networkId\": 11,\n \"rpc\": [\"https://11.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.metadium.com/prod\"],\n \"shortName\": \"meta\",\n \"slip44\": 916,\n \"slug\": \"metadium\",\n \"testnet\": false\n};\n\nvar c12 = {\n \"chain\": \"META\",\n \"chainId\": 12,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://metadium.com\",\n \"name\": \"Metadium Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Metadium Testnet Ether\",\n \"symbol\": \"KAL\",\n \"decimals\": 18\n },\n \"networkId\": 12,\n \"rpc\": [\"https://12.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.metadium.com/dev\"],\n \"shortName\": \"kal\",\n \"slip44\": 1,\n \"slug\": \"metadium-testnet\",\n \"testnet\": true\n};\n\nvar c13 = {\n \"chain\": \"DIODE\",\n \"chainId\": 13,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://diode.io/staging\",\n \"name\": \"Diode Testnet Staging\",\n \"nativeCurrency\": {\n \"name\": \"Staging Diodes\",\n \"symbol\": \"sDIODE\",\n \"decimals\": 18\n },\n \"networkId\": 13,\n \"rpc\": [\"https://13.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://staging.diode.io:8443/\", \"wss://staging.diode.io:8443/ws\"],\n \"shortName\": \"dstg\",\n \"slip44\": 1,\n \"slug\": \"diode-testnet-staging\",\n \"testnet\": true\n};\n\nvar c14 = {\n \"chain\": \"FLR\",\n \"chainId\": 14,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://flare-explorer.flare.network\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"flarescan\",\n \"url\": \"https://mainnet.flarescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmbT52cCx4h1rcz6nXGfUPFdRyw1VfFMU8kKpY7YCtvUjs\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://flare.network\",\n \"name\": \"Flare Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Flare\",\n \"symbol\": \"FLR\",\n \"decimals\": 18\n },\n \"networkId\": 14,\n \"rpc\": [\"https://14.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://flare-api.flare.network/ext/C/rpc\", \"https://flare-bundler.etherspot.io\", \"https://rpc.ankr.com/flare\", \"https://01-gravelines-003-01.rpc.tatum.io/ext/bc/C/rpc\", \"https://01-vinthill-003-02.rpc.tatum.io/ext/bc/C/rpc\", \"https://rpc.ftso.au/flare\", \"https://flare.enosys.global/ext/C/rpc\", \"https://flare.solidifi.app/ext/C/rpc\"],\n \"shortName\": \"flr\",\n \"slug\": \"flare\",\n \"testnet\": false\n};\n\nvar c15 = {\n \"chain\": \"DIODE\",\n \"chainId\": 15,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://diode.io/prenet\",\n \"name\": \"Diode Prenet\",\n \"nativeCurrency\": {\n \"name\": \"Diodes\",\n \"symbol\": \"DIODE\",\n \"decimals\": 18\n },\n \"networkId\": 15,\n \"rpc\": [\"https://15.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://prenet.diode.io:8443/\", \"wss://prenet.diode.io:8443/ws\"],\n \"shortName\": \"diode\",\n \"slug\": \"diode-prenet\",\n \"testnet\": false\n};\n\nvar c16 = {\n \"chain\": \"SGB\",\n \"chainId\": 16,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://coston-explorer.flare.network\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"flarescan\",\n \"url\": \"https://coston.testnet.flarescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.flare.network\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmV5PVhxaT3ePRHYsH3aryEHin2c49W18xW3Xg4o171iYE\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://flare.network\",\n \"name\": \"Songbird Testnet Coston\",\n \"nativeCurrency\": {\n \"name\": \"Coston Flare\",\n \"symbol\": \"CFLR\",\n \"decimals\": 18\n },\n \"networkId\": 16,\n \"rpc\": [\"https://16.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://coston-api.flare.network/ext/C/rpc\", \"https://01-gravelines-004-01.rpc.tatum.io/ext/bc/C/rpc\", \"https://02-chicago-004-02.rpc.tatum.io/ext/bc/C/rpc\", \"https://02-tokyo-004-03.rpc.tatum.io/ext/bc/C/rpc\", \"https://coston.enosys.global/ext/C/rpc\"],\n \"shortName\": \"cflr\",\n \"slip44\": 1,\n \"slug\": \"songbird-testnet-coston\",\n \"testnet\": true\n};\n\nvar c17 = {\n \"chain\": \"TCH\",\n \"chainId\": 17,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://exp.thaifi.com\",\n \"name\": \"ThaiChain 2.0 ThaiFi\",\n \"nativeCurrency\": {\n \"name\": \"Thaifi Ether\",\n \"symbol\": \"TFI\",\n \"decimals\": 18\n },\n \"networkId\": 17,\n \"rpc\": [\"https://17.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.thaifi.com\"],\n \"shortName\": \"tfi\",\n \"slug\": \"thaichain-2-0-thaifi\",\n \"testnet\": false\n};\n\nvar c18 = {\n \"chain\": \"TST\",\n \"chainId\": 18,\n \"explorers\": [{\n \"name\": \"thundercore-blockscout-testnet\",\n \"url\": \"https://explorer-testnet.thundercore.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet-testnet.thundercore.com\"],\n \"infoURL\": \"https://thundercore.com\",\n \"name\": \"ThunderCore Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ThunderCore Testnet Token\",\n \"symbol\": \"TST\",\n \"decimals\": 18\n },\n \"networkId\": 18,\n \"rpc\": [\"https://18.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.thundercore.com\", \"https://thundercore-testnet.drpc.org\", \"wss://thundercore-testnet.drpc.org\"],\n \"shortName\": \"TST\",\n \"slip44\": 1,\n \"slug\": \"thundercore-testnet\",\n \"testnet\": true\n};\n\nvar c19 = {\n \"chain\": \"SGB\",\n \"chainId\": 19,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://songbird-explorer.flare.network\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"flarescan\",\n \"url\": \"https://songbird.flarescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmdpaH9pEFDXB4tUPxcqAHfB3Sfx3BQufz6EAzBWhHH6Ka\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://flare.network\",\n \"name\": \"Songbird Canary-Network\",\n \"nativeCurrency\": {\n \"name\": \"Songbird\",\n \"symbol\": \"SGB\",\n \"decimals\": 18\n },\n \"networkId\": 19,\n \"rpc\": [\"https://19.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://songbird-api.flare.network/ext/C/rpc\", \"https://01-gravelines-006-01.rpc.tatum.io/ext/bc/C/rpc\", \"https://01-vinthill-006-02.rpc.tatum.io/ext/bc/C/rpc\", \"https://02-tokyo-006-03.rpc.tatum.io/ext/bc/C/rpc\", \"https://rpc.ftso.au/songbird\", \"https://songbird.enosys.global/ext/C/rpc\", \"https://songbird.solidifi.app/ext/C/rpc\"],\n \"shortName\": \"sgb\",\n \"slug\": \"songbird-canary-network\",\n \"testnet\": false\n};\n\nvar c20 = {\n \"chain\": \"ETH\",\n \"chainId\": 20,\n \"explorers\": [{\n \"name\": \"elastos esc explorer\",\n \"url\": \"https://esc.elastos.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.elastos.org/\",\n \"name\": \"Elastos Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"Elastos\",\n \"symbol\": \"ELA\",\n \"decimals\": 18\n },\n \"networkId\": 20,\n \"rpc\": [\"https://20.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.elastos.io/eth\"],\n \"shortName\": \"esc\",\n \"slug\": \"elastos-smart-chain\",\n \"testnet\": false\n};\n\nvar c21 = {\n \"chain\": \"ETH\",\n \"chainId\": 21,\n \"explorers\": [{\n \"name\": \"elastos esc explorer\",\n \"url\": \"https://esc-testnet.elastos.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://esc-faucet.elastos.io/\"],\n \"infoURL\": \"https://www.elastos.org/\",\n \"name\": \"Elastos Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Elastos\",\n \"symbol\": \"tELA\",\n \"decimals\": 18\n },\n \"networkId\": 21,\n \"rpc\": [\"https://21.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api-testnet.elastos.io/eth\"],\n \"shortName\": \"esct\",\n \"slug\": \"elastos-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c22 = {\n \"chain\": \"ETH\",\n \"chainId\": 22,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.elastos.org/\",\n \"name\": \"ELA-DID-Sidechain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Elastos\",\n \"symbol\": \"ELA\",\n \"decimals\": 18\n },\n \"networkId\": 22,\n \"rpc\": [],\n \"shortName\": \"eladid\",\n \"slug\": \"ela-did-sidechain\",\n \"testnet\": false\n};\n\nvar c23 = {\n \"chain\": \"ETH\",\n \"chainId\": 23,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://elaeth.io/\",\n \"name\": \"ELA-DID-Sidechain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Elastos\",\n \"symbol\": \"tELA\",\n \"decimals\": 18\n },\n \"networkId\": 23,\n \"rpc\": [],\n \"shortName\": \"eladidt\",\n \"slip44\": 1,\n \"slug\": \"ela-did-sidechain-testnet\",\n \"testnet\": true\n};\n\nvar c24 = {\n \"chain\": \"KAI\",\n \"chainId\": 24,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXoHaZXJevc59GuzEgBhwRSH6kio1agMRvL8bD93pARRV\",\n \"width\": 297,\n \"height\": 297,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kardiachain.io\",\n \"name\": \"KardiaChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KardiaChain\",\n \"symbol\": \"KAI\",\n \"decimals\": 18\n },\n \"networkId\": 0,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://24.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kardiachain.io\"],\n \"shortName\": \"kardiachain\",\n \"slug\": \"kardiachain\",\n \"testnet\": false\n};\n\nvar c25 = {\n \"chain\": \"CRO\",\n \"chainId\": 25,\n \"explorers\": [{\n \"name\": \"Cronos Explorer\",\n \"url\": \"https://explorer.cronos.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://cronos.org/\",\n \"name\": \"Cronos Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Cronos\",\n \"symbol\": \"CRO\",\n \"decimals\": 18\n },\n \"networkId\": 25,\n \"redFlags\": [],\n \"rpc\": [\"https://25.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cronos.drpc.org\", \"wss://cronos.drpc.org\", \"https://cronos-evm-rpc.publicnode.com\", \"wss://cronos-evm-rpc.publicnode.com\", \"https://cronos.blockpi.network/v1/rpc/public\", \"https://evm.cronos.org\"],\n \"shortName\": \"cro\",\n \"slug\": \"cronos\",\n \"testnet\": false\n};\n\nvar c26 = {\n \"chain\": \"genesis\",\n \"chainId\": 26,\n \"explorers\": [{\n \"name\": \"Genesis L1 testnet explorer\",\n \"url\": \"https://testnet.genesisl1.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.genesisl1.com\",\n \"name\": \"Genesis L1 testnet\",\n \"nativeCurrency\": {\n \"name\": \"L1 testcoin\",\n \"symbol\": \"L1test\",\n \"decimals\": 18\n },\n \"networkId\": 26,\n \"rpc\": [\"https://26.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testrpc.genesisl1.org\"],\n \"shortName\": \"L1test\",\n \"slip44\": 1,\n \"slug\": \"genesis-l1-testnet\",\n \"testnet\": true\n};\n\nvar c27 = {\n \"chain\": \"SHIB\",\n \"chainId\": 27,\n \"explorers\": [{\n \"name\": \"Shiba Explorer\",\n \"url\": \"https://exp.shibchain.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://shibchain.org\",\n \"name\": \"ShibaChain\",\n \"nativeCurrency\": {\n \"name\": \"SHIBA INU COIN\",\n \"symbol\": \"SHIB\",\n \"decimals\": 18\n },\n \"networkId\": 27,\n \"rpc\": [\"https://27.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.shibchain.org\"],\n \"shortName\": \"shib\",\n \"slug\": \"shibachain\",\n \"testnet\": false\n};\n\nvar c28 = {\n \"chain\": \"ETH\",\n \"chainId\": 28,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://blockexplorer.rinkeby.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba Network Rinkeby Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-4\",\n \"bridges\": [{\n \"url\": \"https://gateway.rinkeby.boba.network\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://28.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rinkeby.boba.network/\"],\n \"shortName\": \"BobaRinkeby\",\n \"slip44\": 1,\n \"slug\": \"boba-network-rinkeby-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c29 = {\n \"chain\": \"genesis\",\n \"chainId\": 29,\n \"explorers\": [{\n \"name\": \"Genesis L1 blockchain explorer\",\n \"url\": \"https://explorer.genesisl1.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.genesisl1.com\",\n \"name\": \"Genesis L1\",\n \"nativeCurrency\": {\n \"name\": \"L1 coin\",\n \"symbol\": \"L1\",\n \"decimals\": 18\n },\n \"networkId\": 29,\n \"rpc\": [\"https://29.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.genesisl1.org\"],\n \"shortName\": \"L1\",\n \"slug\": \"genesis-l1\",\n \"testnet\": false\n};\n\nvar c30 = {\n \"chain\": \"Rootstock\",\n \"chainId\": 30,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://rootstock.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Rootstock Explorer\",\n \"url\": \"https://explorer.rsk.co\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigidzbf22dnpmmlfxv6u7oifq6ln33j4n57ox4ipiproalufrheym\",\n \"width\": 3000,\n \"height\": 3325,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rootstock.io\",\n \"name\": \"Rootstock Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Smart Bitcoin\",\n \"symbol\": \"RBTC\",\n \"decimals\": 18\n },\n \"networkId\": 30,\n \"rpc\": [\"https://30.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-node.rsk.co\", \"https://mycrypto.rsk.co\"],\n \"shortName\": \"rsk\",\n \"slip44\": 137,\n \"slug\": \"rootstock\",\n \"testnet\": false\n};\n\nvar c31 = {\n \"chain\": \"Rootstock\",\n \"chainId\": 31,\n \"explorers\": [{\n \"name\": \"RSK Testnet Explorer\",\n \"url\": \"https://explorer.testnet.rsk.co\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.rsk.co/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreigidzbf22dnpmmlfxv6u7oifq6ln33j4n57ox4ipiproalufrheym\",\n \"width\": 3000,\n \"height\": 3325,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rootstock.io\",\n \"name\": \"Rootstock Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Smart Bitcoin\",\n \"symbol\": \"tRBTC\",\n \"decimals\": 18\n },\n \"networkId\": 31,\n \"rpc\": [\"https://31.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-node.testnet.rsk.co\", \"https://mycrypto.testnet.rsk.co\"],\n \"shortName\": \"trsk\",\n \"slip44\": 1,\n \"slug\": \"rootstock-testnet\",\n \"testnet\": true\n};\n\nvar c32 = {\n \"chain\": \"GooD\",\n \"chainId\": 32,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.goodata.org\",\n \"name\": \"GoodData Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GoodData Testnet Ether\",\n \"symbol\": \"GooD\",\n \"decimals\": 18\n },\n \"networkId\": 32,\n \"rpc\": [\"https://32.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test2.goodata.io\"],\n \"shortName\": \"GooDT\",\n \"slip44\": 1,\n \"slug\": \"gooddata-testnet\",\n \"testnet\": true\n};\n\nvar c33 = {\n \"chain\": \"GooD\",\n \"chainId\": 33,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.goodata.org\",\n \"name\": \"GoodData Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GoodData Mainnet Ether\",\n \"symbol\": \"GooD\",\n \"decimals\": 18\n },\n \"networkId\": 33,\n \"rpc\": [\"https://33.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.goodata.io\"],\n \"shortName\": \"GooD\",\n \"slug\": \"gooddata\",\n \"testnet\": false\n};\n\nvar c34 = {\n \"chain\": \"SCAI\",\n \"chainId\": 34,\n \"explorers\": [{\n \"name\": \"SecureChain Mainnet\",\n \"url\": \"https://explorer.securechain.ai\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qme2Z8VFYjhHGfLQPBnfseNpEdRfmTDy7VXqrdH4AHETJf\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://securechain.ai\",\n \"name\": \"SecureChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SecureChain\",\n \"symbol\": \"SCAI\",\n \"decimals\": 18\n },\n \"networkId\": 34,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://34.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.scai.network\"],\n \"shortName\": \"scai\",\n \"slug\": \"securechain\",\n \"testnet\": false\n};\n\nvar c35 = {\n \"chain\": \"TBWG\",\n \"chainId\": 35,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://tbwg.io\",\n \"name\": \"TBWG Chain\",\n \"nativeCurrency\": {\n \"name\": \"TBWG Ether\",\n \"symbol\": \"TBG\",\n \"decimals\": 18\n },\n \"networkId\": 35,\n \"rpc\": [\"https://35.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tbwg.io\"],\n \"shortName\": \"tbwg\",\n \"slug\": \"tbwg-chain\",\n \"testnet\": false\n};\n\nvar c36 = {\n \"chain\": \"Dxchain\",\n \"chainId\": 36,\n \"explorers\": [{\n \"name\": \"dxscan\",\n \"url\": \"https://dxscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYBup5bWoBfkaHntbcgW8Ji7ncad7f53deJ4Q55z4PNQs\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.dxchain.com/\",\n \"name\": \"Dxchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Dxchain\",\n \"symbol\": \"DX\",\n \"decimals\": 18\n },\n \"networkId\": 36,\n \"rpc\": [\"https://36.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.dxchain.com\"],\n \"shortName\": \"dx\",\n \"slug\": \"dxchain\",\n \"testnet\": false\n};\n\nvar c37 = {\n \"chain\": \"XPLA\",\n \"chainId\": 37,\n \"explorers\": [{\n \"name\": \"XPLA Explorer\",\n \"url\": \"https://explorer.xpla.io/mainnet\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmf4GoxfpeA5VGqu7KP5eyv1WKaCpNDbvMxq1MjQBwFWxq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xpla.io\",\n \"name\": \"Xpla Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"XPLA\",\n \"symbol\": \"XPLA\",\n \"decimals\": 18\n },\n \"networkId\": 37,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://37.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dimension-evm-rpc.xpla.dev\"],\n \"shortName\": \"xpla\",\n \"slug\": \"xpla\",\n \"testnet\": false\n};\n\nvar c38 = {\n \"chain\": \"VAL\",\n \"chainId\": 38,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://valorbit.com\",\n \"name\": \"Valorbit\",\n \"nativeCurrency\": {\n \"name\": \"Valorbit\",\n \"symbol\": \"VAL\",\n \"decimals\": 18\n },\n \"networkId\": 38,\n \"rpc\": [\"https://38.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.valorbit.com/v2\"],\n \"shortName\": \"val\",\n \"slip44\": 538,\n \"slug\": \"valorbit\",\n \"testnet\": false\n};\n\nvar c39 = {\n \"chain\": \"u2u\",\n \"chainId\": 39,\n \"explorers\": [{\n \"name\": \"U2U Explorer\",\n \"url\": \"https://u2uscan.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmcW64RgqQVHnNbVFyfaMNKt7dJvFqEbfEHZmeyeK8dpEa\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcW64RgqQVHnNbVFyfaMNKt7dJvFqEbfEHZmeyeK8dpEa\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://uniultra.xyz\",\n \"name\": \"U2U Solaris Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Unicorn Ultra\",\n \"symbol\": \"U2U\",\n \"decimals\": 18\n },\n \"networkId\": 39,\n \"rpc\": [\"https://39.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.uniultra.xyz\"],\n \"shortName\": \"u2u\",\n \"slug\": \"u2u-solaris\",\n \"testnet\": false\n};\n\nvar c40 = {\n \"chain\": \"TLOS\",\n \"chainId\": 40,\n \"explorers\": [{\n \"name\": \"teloscan\",\n \"url\": \"https://teloscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdkgQDtDedsNNth3ZVgWfwRZPCePLA13MtLvV4CEYSuTR/TLOS.png\",\n \"width\": 228,\n \"height\": 228,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://telos.net\",\n \"name\": \"Telos EVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Telos\",\n \"symbol\": \"TLOS\",\n \"decimals\": 18\n },\n \"networkId\": 40,\n \"redFlags\": [],\n \"rpc\": [\"https://40.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.telos.net/evm\", \"https://telos.drpc.org\", \"wss://telos.drpc.org\"],\n \"shortName\": \"TelosEVM\",\n \"slug\": \"telos-evm\",\n \"testnet\": false\n};\n\nvar c41 = {\n \"chain\": \"TLOS\",\n \"chainId\": 41,\n \"explorers\": [{\n \"name\": \"teloscan\",\n \"url\": \"https://testnet.teloscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://app.telos.net/testnet/developers\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdkgQDtDedsNNth3ZVgWfwRZPCePLA13MtLvV4CEYSuTR/TLOS.png\",\n \"width\": 228,\n \"height\": 228,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://telos.net\",\n \"name\": \"Telos EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Telos\",\n \"symbol\": \"TLOS\",\n \"decimals\": 18\n },\n \"networkId\": 41,\n \"redFlags\": [],\n \"rpc\": [\"https://41.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.telos.net/evm\", \"https://telos-testnet.drpc.org\", \"wss://telos-testnet.drpc.org\"],\n \"shortName\": \"TelosEVMTestnet\",\n \"slip44\": 1,\n \"slug\": \"telos-evm-testnet\",\n \"testnet\": true\n};\n\nvar c42 = {\n \"chain\": \"LUKSO\",\n \"chainId\": 42,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.execution.mainnet.lukso.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmeg9sFF5tAGi6MCx7YjtVHW6a23zqvHRK1xwzSdp9iE7z\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lukso.network\",\n \"name\": \"LUKSO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LUKSO\",\n \"symbol\": \"LYX\",\n \"decimals\": 18\n },\n \"networkId\": 42,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://42.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.lukso.network\", \"wss://ws-rpc.mainnet.lukso.network\"],\n \"shortName\": \"lukso\",\n \"slug\": \"lukso\",\n \"testnet\": false\n};\n\nvar c43 = {\n \"chain\": \"pangolin\",\n \"chainId\": 43,\n \"explorers\": [{\n \"name\": \"subscan\",\n \"url\": \"https://pangolin.subscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://docs.darwinia.network/pangolin-testnet-1e9ac8b09e874e8abd6a7f18c096ca6a\"],\n \"infoURL\": \"https://darwinia.network/\",\n \"name\": \"Darwinia Pangolin Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Pangolin Network Native Token\",\n \"symbol\": \"PRING\",\n \"decimals\": 18\n },\n \"networkId\": 43,\n \"rpc\": [\"https://43.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pangolin-rpc.darwinia.network\"],\n \"shortName\": \"pangolin\",\n \"slip44\": 1,\n \"slug\": \"darwinia-pangolin-testnet\",\n \"testnet\": true\n};\n\nvar c44 = {\n \"chain\": \"crab\",\n \"chainId\": 44,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://crab-scan.darwinia.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://crab.network/\",\n \"name\": \"Crab Network\",\n \"nativeCurrency\": {\n \"name\": \"Crab Network Native Token\",\n \"symbol\": \"CRAB\",\n \"decimals\": 18\n },\n \"networkId\": 44,\n \"rpc\": [\"https://44.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://crab-rpc.darwinia.network\", \"https://crab-rpc.darwiniacommunitydao.xyz\"],\n \"shortName\": \"crab\",\n \"slug\": \"crab-network\",\n \"testnet\": false\n};\n\nvar c45 = {\n \"chain\": \"pangoro\",\n \"chainId\": 45,\n \"explorers\": [{\n \"name\": \"subscan\",\n \"url\": \"https://pangoro.subscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://docs.darwinia.network/pangoro-testnet-70cfec5dc9ca42759959ba3803edaec2\"],\n \"infoURL\": \"https://darwinia.network/\",\n \"name\": \"Darwinia Pangoro Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Pangoro Network Native Token\",\n \"symbol\": \"ORING\",\n \"decimals\": 18\n },\n \"networkId\": 45,\n \"rpc\": [\"https://45.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pangoro-rpc.darwinia.network\"],\n \"shortName\": \"pangoro\",\n \"slip44\": 1,\n \"slug\": \"darwinia-pangoro-testnet\",\n \"testnet\": true\n};\n\nvar c46 = {\n \"chain\": \"darwinia\",\n \"chainId\": 46,\n \"explorers\": [{\n \"name\": \"subscan\",\n \"url\": \"https://darwinia.subscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://darwinia.network/\",\n \"name\": \"Darwinia Network\",\n \"nativeCurrency\": {\n \"name\": \"Darwinia Network Native Token\",\n \"symbol\": \"RING\",\n \"decimals\": 18\n },\n \"networkId\": 46,\n \"rpc\": [\"https://46.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.darwinia.network\", \"https://darwinia-rpc.darwiniacommunitydao.xyz\", \"https://darwinia-rpc.dwellir.com\"],\n \"shortName\": \"darwinia\",\n \"slug\": \"darwinia-network\",\n \"testnet\": false\n};\n\nvar c47 = {\n \"chain\": \"XPLA\",\n \"chainId\": 47,\n \"explorers\": [{\n \"name\": \"XPLA Explorer\",\n \"url\": \"https://explorer.xpla.io/testnet\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.xpla.io/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbvEAKZfgJckEziU3mpCwz6jqMeWRcLgd8TNsWA7g8sD9/xpla.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xpla.io/\",\n \"name\": \"Xpla Testnet\",\n \"nativeCurrency\": {\n \"name\": \"XPLA\",\n \"symbol\": \"XPLA\",\n \"decimals\": 18\n },\n \"networkId\": 47,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://47.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cube-evm-rpc.xpla.dev\"],\n \"shortName\": \"xpla-test\",\n \"slug\": \"xpla-testnet\",\n \"testnet\": true\n};\n\nvar c48 = {\n \"chain\": \"ETMP\",\n \"chainId\": 48,\n \"explorers\": [{\n \"name\": \"etmpscan\",\n \"url\": \"https://etmscan.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://etm.network\",\n \"name\": \"Ennothem Mainnet Proterozoic\",\n \"nativeCurrency\": {\n \"name\": \"Ennothem\",\n \"symbol\": \"ETMP\",\n \"decimals\": 18\n },\n \"networkId\": 48,\n \"rpc\": [\"https://48.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.etm.network\"],\n \"shortName\": \"etmp\",\n \"slug\": \"ennothem-proterozoic\",\n \"testnet\": false\n};\n\nvar c49 = {\n \"chain\": \"ETMP\",\n \"chainId\": 49,\n \"explorers\": [{\n \"name\": \"etmp\",\n \"url\": \"https://pioneer.etmscan.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://etm.network\",\n \"name\": \"Ennothem Testnet Pioneer\",\n \"nativeCurrency\": {\n \"name\": \"Ennothem\",\n \"symbol\": \"ETMP\",\n \"decimals\": 18\n },\n \"networkId\": 49,\n \"rpc\": [\"https://49.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.pioneer.etm.network\"],\n \"shortName\": \"etmpTest\",\n \"slip44\": 1,\n \"slug\": \"ennothem-testnet-pioneer\",\n \"testnet\": true\n};\n\nvar c50 = {\n \"chain\": \"XDC\",\n \"chainId\": 50,\n \"explorers\": [{\n \"name\": \"xdcscan\",\n \"url\": \"https://xdcscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPzVFs16GwaD8LAcGFLCNXzEK8BHFKNXeM3nmBpnq9xy3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"blocksscan\",\n \"url\": \"https://xdc.blocksscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPzVFs16GwaD8LAcGFLCNXzEK8BHFKNXeM3nmBpnq9xy3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeRq7pabiJE2n1xU3Y5Mb4TZSX9kQ74x7a3P2Z4PqcMRX\",\n \"width\": 1450,\n \"height\": 1450,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xinfin.org\",\n \"name\": \"XDC Network\",\n \"nativeCurrency\": {\n \"name\": \"XinFin\",\n \"symbol\": \"XDC\",\n \"decimals\": 18\n },\n \"networkId\": 50,\n \"rpc\": [\"https://50.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://erpc.xinfin.network\", \"https://rpc.xinfin.network\", \"https://rpc1.xinfin.network\", \"https://rpc-xdc.icecreamswap.com\"],\n \"shortName\": \"xdc\",\n \"slug\": \"xdc-network\",\n \"testnet\": false\n};\n\nvar c51 = {\n \"chain\": \"XDC\",\n \"chainId\": 51,\n \"explorers\": [{\n \"name\": \"xdcscan\",\n \"url\": \"https://apothem.xinfinscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPzVFs16GwaD8LAcGFLCNXzEK8BHFKNXeM3nmBpnq9xy3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"blocksscan\",\n \"url\": \"https://apothem.blocksscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPzVFs16GwaD8LAcGFLCNXzEK8BHFKNXeM3nmBpnq9xy3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.apothem.network\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeRq7pabiJE2n1xU3Y5Mb4TZSX9kQ74x7a3P2Z4PqcMRX\",\n \"width\": 1450,\n \"height\": 1450,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xinfin.org\",\n \"name\": \"XDC Apothem Network\",\n \"nativeCurrency\": {\n \"name\": \"XinFin\",\n \"symbol\": \"TXDC\",\n \"decimals\": 18\n },\n \"networkId\": 51,\n \"redFlags\": [],\n \"rpc\": [\"https://51.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://apothem.xdcrpc.com\", \"https://rpc.apothem.network\", \"https://erpc.apothem.network\"],\n \"shortName\": \"txdc\",\n \"slug\": \"xdc-apothem-network\",\n \"testnet\": false\n};\n\nvar c52 = {\n \"chain\": \"CSC\",\n \"chainId\": 52,\n \"explorers\": [{\n \"name\": \"coinexscan\",\n \"url\": \"https://www.coinex.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.coinex.org/\",\n \"name\": \"CoinEx Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"CoinEx Chain Native Token\",\n \"symbol\": \"cet\",\n \"decimals\": 18\n },\n \"networkId\": 52,\n \"rpc\": [\"https://52.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.coinex.net\"],\n \"shortName\": \"cet\",\n \"slug\": \"coinex-smart-chain\",\n \"testnet\": false\n};\n\nvar c53 = {\n \"chain\": \"CSC\",\n \"chainId\": 53,\n \"explorers\": [{\n \"name\": \"coinexscan\",\n \"url\": \"https://testnet.coinex.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.coinex.org/\",\n \"name\": \"CoinEx Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CoinEx Chain Test Native Token\",\n \"symbol\": \"cett\",\n \"decimals\": 18\n },\n \"networkId\": 53,\n \"rpc\": [\"https://53.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.coinex.net/\"],\n \"shortName\": \"tcet\",\n \"slip44\": 1,\n \"slug\": \"coinex-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c54 = {\n \"chain\": \"OPENPIECE\",\n \"chainId\": 54,\n \"explorers\": [{\n \"name\": \"Belly Scan\",\n \"url\": \"https://bellyscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVTahJkdSH3HPYsJMK2GmqfWZjLyxE7cXy1aHEnHU3vp2\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cryptopiece.online\",\n \"name\": \"Openpiece Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Belly\",\n \"symbol\": \"BELLY\",\n \"decimals\": 18\n },\n \"networkId\": 54,\n \"rpc\": [\"https://54.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.openpiece.io\"],\n \"shortName\": \"OP\",\n \"slug\": \"openpiece\",\n \"testnet\": false\n};\n\nvar c55 = {\n \"chain\": \"ZYX\",\n \"chainId\": 55,\n \"explorers\": [{\n \"name\": \"zyxscan\",\n \"url\": \"https://zyxscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://zyx.network/\",\n \"name\": \"Zyx Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Zyx\",\n \"symbol\": \"ZYX\",\n \"decimals\": 18\n },\n \"networkId\": 55,\n \"rpc\": [\"https://55.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-1.zyx.network/\", \"https://rpc-2.zyx.network/\", \"https://rpc-3.zyx.network/\", \"https://rpc-4.zyx.network/\", \"https://rpc-5.zyx.network/\", \"https://rpc-6.zyx.network/\"],\n \"shortName\": \"ZYX\",\n \"slug\": \"zyx\",\n \"testnet\": false\n};\n\nvar c56 = {\n \"chain\": \"BSC\",\n \"chainId\": 56,\n \"explorers\": [{\n \"name\": \"bscscan\",\n \"url\": \"https://bscscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://bnb.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/binance-coin/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bnbchain.org/en\",\n \"name\": \"BNB Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BNB Chain Native Token\",\n \"symbol\": \"BNB\",\n \"decimals\": 18\n },\n \"networkId\": 56,\n \"redFlags\": [],\n \"rpc\": [\"https://56.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bsc-dataseed1.bnbchain.org\", \"https://bsc-dataseed2.bnbchain.org\", \"https://bsc-dataseed3.bnbchain.org\", \"https://bsc-dataseed4.bnbchain.org\", \"https://bsc-dataseed1.defibit.io\", \"https://bsc-dataseed2.defibit.io\", \"https://bsc-dataseed3.defibit.io\", \"https://bsc-dataseed4.defibit.io\", \"https://bsc-dataseed1.ninicoin.io\", \"https://bsc-dataseed2.ninicoin.io\", \"https://bsc-dataseed3.ninicoin.io\", \"https://bsc-dataseed4.ninicoin.io\", \"https://bsc-rpc.publicnode.com\", \"wss://bsc-rpc.publicnode.com\", \"wss://bsc-ws-node.nariox.org\"],\n \"shortName\": \"bnb\",\n \"slip44\": 714,\n \"slug\": \"binance\",\n \"testnet\": false\n};\n\nvar c57 = {\n \"chain\": \"SYS\",\n \"chainId\": 57,\n \"explorers\": [{\n \"name\": \"Syscoin Block Explorer\",\n \"url\": \"https://explorer.syscoin.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.syscoin.org\"],\n \"infoURL\": \"https://www.syscoin.org\",\n \"name\": \"Syscoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Syscoin\",\n \"symbol\": \"SYS\",\n \"decimals\": 18\n },\n \"networkId\": 57,\n \"rpc\": [\"https://57.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.syscoin.org\", \"https://rpc.ankr.com/syscoin/${ANKR_API_KEY}\", \"https://syscoin.public-rpc.com\", \"wss://rpc.syscoin.org/wss\", \"https://syscoin-evm.publicnode.com\", \"wss://syscoin-evm.publicnode.com\"],\n \"shortName\": \"sys\",\n \"slug\": \"syscoin\",\n \"testnet\": false\n};\n\nvar c58 = {\n \"chain\": \"Ontology\",\n \"chainId\": 58,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.ont.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigmvn6spvbiirtutowpq6jmetevbxoof5plzixjoerbeswy4htfb4\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ont.io/\",\n \"name\": \"Ontology Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ONG\",\n \"symbol\": \"ONG\",\n \"decimals\": 18\n },\n \"networkId\": 58,\n \"rpc\": [\"https://58.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://dappnode1.ont.io:20339\", \"http://dappnode2.ont.io:20339\", \"http://dappnode3.ont.io:20339\", \"http://dappnode4.ont.io:20339\", \"https://dappnode1.ont.io:10339\", \"https://dappnode2.ont.io:10339\", \"https://dappnode3.ont.io:10339\", \"https://dappnode4.ont.io:10339\"],\n \"shortName\": \"OntologyMainnet\",\n \"slug\": \"ontology\",\n \"testnet\": false\n};\n\nvar c59 = {\n \"chain\": \"EOS\",\n \"chainId\": 59,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://eosargentina.io\",\n \"name\": \"EOS EVM Legacy\",\n \"nativeCurrency\": {\n \"name\": \"EOS\",\n \"symbol\": \"EOS\",\n \"decimals\": 18\n },\n \"networkId\": 59,\n \"rpc\": [\"https://59.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.eosargentina.io\"],\n \"shortName\": \"eos-legacy\",\n \"slug\": \"eos-evm-legacy\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c60 = {\n \"chain\": \"GO\",\n \"chainId\": 60,\n \"explorers\": [{\n \"name\": \"GoChain Explorer\",\n \"url\": \"https://explorer.gochain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gochain.io\",\n \"name\": \"GoChain\",\n \"nativeCurrency\": {\n \"name\": \"GoChain Ether\",\n \"symbol\": \"GO\",\n \"decimals\": 18\n },\n \"networkId\": 60,\n \"rpc\": [\"https://60.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gochain.io\"],\n \"shortName\": \"go\",\n \"slip44\": 6060,\n \"slug\": \"gochain\",\n \"testnet\": false\n};\n\nvar c61 = {\n \"chain\": \"ETC\",\n \"chainId\": 61,\n \"explorers\": [{\n \"name\": \"etcnetworkinfo-blockscout-ethereum-classic\",\n \"url\": \"https://explorer-blockscout.etc-network.info\",\n \"standard\": \"none\"\n }, {\n \"name\": \"etcnetworkinfo-alethio-ethereum-classic\",\n \"url\": \"https://explorer-alethio.etc-network.info\",\n \"standard\": \"none\"\n }, {\n \"name\": \"etcnetworkinfo-expedition-ethereum-classic\",\n \"url\": \"https://explorer-expedition.etc-network.info\",\n \"standard\": \"none\"\n }, {\n \"name\": \"hebeblock-ethereum-classic\",\n \"url\": \"https://etcerscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"oklink-ethereum-classic\",\n \"url\": \"https://www.oklink.com/etc\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"tokenview-ethereum-classic\",\n \"url\": \"https://etc.tokenview.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qme7PT7gidTzRuf3T2JdxQ64JeZPgFH7yNBB8mYoMPbpTe\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethereumclassic.org\",\n \"name\": \"Ethereum Classic\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETC\",\n \"decimals\": 18\n },\n \"networkId\": 61,\n \"redFlags\": [],\n \"rpc\": [\"https://61.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://etc.etcdesktop.com\", \"https://etc.rivet.link\", \"https://besu-at.etc-network.info\", \"https://geth-at.etc-network.info\", \"https://etc.mytokenpocket.vip\"],\n \"shortName\": \"etc\",\n \"slip44\": 61,\n \"slug\": \"ethereum-classic\",\n \"status\": \"active\",\n \"testnet\": false,\n \"title\": \"Ethereum Classic Mainnet\"\n};\n\nvar c62 = {\n \"chain\": \"ETC\",\n \"chainId\": 62,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmawMDPsaj3kBTZErCYQ3tshv5RrMAN3smWNs72m943Fyj\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethereumclassic.org/development/testnets\",\n \"name\": \"Morden Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Morden Ether\",\n \"symbol\": \"TETC\",\n \"decimals\": 18\n },\n \"networkId\": 2,\n \"rpc\": [],\n \"shortName\": \"tetc\",\n \"slip44\": 1,\n \"slug\": \"morden-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Ethereum Classic Morden Testnet\"\n};\n\nvar c63 = {\n \"chain\": \"ETC\",\n \"chainId\": 63,\n \"explorers\": [{\n \"name\": \"blockscout-mordor\",\n \"url\": \"https://etc-mordor.blockscout.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"etcnetworkinfo-expedition-mordor\",\n \"url\": \"https://explorer-expedition.etc-network.info/?network=Ethereum+Classic+at+etc-network.info+GETH+Mordor\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://easy.hebeswap.com/#/faucet\", \"https://faucet.mordortest.net\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmawMDPsaj3kBTZErCYQ3tshv5RrMAN3smWNs72m943Fyj\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethereumclassic.org/development/testnets\",\n \"name\": \"Mordor Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Mordor Ether\",\n \"symbol\": \"METC\",\n \"decimals\": 18\n },\n \"networkId\": 7,\n \"rpc\": [\"https://63.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mordor.etccooperative.org\", \"https://geth-mordor.etc-network.info\"],\n \"shortName\": \"metc\",\n \"slip44\": 1,\n \"slug\": \"mordor-testnet\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Ethereum Classic Mordor Testnet\"\n};\n\nvar c64 = {\n \"chain\": \"ELLA\",\n \"chainId\": 64,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ellaism.org\",\n \"name\": \"Ellaism\",\n \"nativeCurrency\": {\n \"name\": \"Ellaism Ether\",\n \"symbol\": \"ELLA\",\n \"decimals\": 18\n },\n \"networkId\": 64,\n \"rpc\": [\"https://64.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.ellaism.org\"],\n \"shortName\": \"ellaism\",\n \"slip44\": 163,\n \"slug\": \"ellaism\",\n \"testnet\": false\n};\n\nvar c65 = {\n \"chain\": \"okexchain\",\n \"chainId\": 65,\n \"explorers\": [{\n \"name\": \"OKLink\",\n \"url\": \"https://www.oklink.com/okexchain-test\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.okex.com/drawdex\"],\n \"infoURL\": \"https://www.okex.com/okexchain\",\n \"name\": \"OKExChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OKExChain Global Utility Token in testnet\",\n \"symbol\": \"OKT\",\n \"decimals\": 18\n },\n \"networkId\": 65,\n \"rpc\": [\"https://65.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://exchaintestrpc.okex.org\"],\n \"shortName\": \"tokt\",\n \"slip44\": 1,\n \"slug\": \"okexchain-testnet\",\n \"testnet\": true\n};\n\nvar c66 = {\n \"chain\": \"okxchain\",\n \"chainId\": 66,\n \"explorers\": [{\n \"name\": \"OKLink\",\n \"url\": \"https://www.oklink.com/en/okc\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.okex.com/okc\",\n \"name\": \"OKXChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OKXChain Global Utility Token\",\n \"symbol\": \"OKT\",\n \"decimals\": 18\n },\n \"networkId\": 66,\n \"rpc\": [\"https://66.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://exchainrpc.okex.org\", \"https://okc-mainnet.gateway.pokt.network/v1/lb/6275309bea1b320039c893ff\"],\n \"shortName\": \"okt\",\n \"slug\": \"okxchain\",\n \"testnet\": false\n};\n\nvar c67 = {\n \"chain\": \"DBM\",\n \"chainId\": 67,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"http://test.dbmbp.com\",\n \"name\": \"DBChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DBChain Testnet\",\n \"symbol\": \"DBM\",\n \"decimals\": 18\n },\n \"networkId\": 67,\n \"rpc\": [\"https://67.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://test-rpc.dbmbp.com\"],\n \"shortName\": \"dbm\",\n \"slip44\": 1,\n \"slug\": \"dbchain-testnet\",\n \"testnet\": true\n};\n\nvar c68 = {\n \"chain\": \"SOTER\",\n \"chainId\": 68,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.soterone.com\",\n \"name\": \"SoterOne Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SoterOne Mainnet Ether\",\n \"symbol\": \"SOTER\",\n \"decimals\": 18\n },\n \"networkId\": 68,\n \"rpc\": [\"https://68.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.soter.one\"],\n \"shortName\": \"SO1\",\n \"slug\": \"soterone\",\n \"testnet\": false\n};\n\nvar c69 = {\n \"chain\": \"ETH\",\n \"chainId\": 69,\n \"explorers\": [{\n \"name\": \"etherscan\",\n \"url\": \"https://kovan-optimistic.etherscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=69&address=${ADDRESS}\"],\n \"infoURL\": \"https://optimism.io\",\n \"name\": \"Optimism Kovan\",\n \"nativeCurrency\": {\n \"name\": \"Kovan Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 69,\n \"rpc\": [\"https://69.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://kovan.optimism.io/\"],\n \"shortName\": \"okov\",\n \"slip44\": 1,\n \"slug\": \"optimism-kovan\",\n \"testnet\": true,\n \"title\": \"Optimism Testnet Kovan\"\n};\n\nvar c70 = {\n \"chain\": \"HSC\",\n \"chainId\": 70,\n \"explorers\": [{\n \"name\": \"hooscan\",\n \"url\": \"https://www.hooscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.hoosmartchain.com\",\n \"name\": \"Hoo Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"Hoo Smart Chain Native Token\",\n \"symbol\": \"HOO\",\n \"decimals\": 18\n },\n \"networkId\": 70,\n \"rpc\": [\"https://70.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-mainnet.hoosmartchain.com\", \"https://http-mainnet2.hoosmartchain.com\", \"wss://ws-mainnet.hoosmartchain.com\", \"wss://ws-mainnet2.hoosmartchain.com\"],\n \"shortName\": \"hsc\",\n \"slip44\": 1170,\n \"slug\": \"hoo-smart-chain\",\n \"testnet\": false\n};\n\nvar c71 = {\n \"chain\": \"Conflux\",\n \"chainId\": 71,\n \"explorers\": [{\n \"name\": \"Conflux Scan\",\n \"url\": \"https://evmtestnet.confluxscan.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.confluxnetwork.org\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreifj7n24u2dslfijfihwqvpdeigt5aj3k3sxv6s35lv75sxsfr3ojy\",\n \"width\": 460,\n \"height\": 576,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://confluxnetwork.org\",\n \"name\": \"Conflux eSpace (Testnet)\",\n \"nativeCurrency\": {\n \"name\": \"CFX\",\n \"symbol\": \"CFX\",\n \"decimals\": 18\n },\n \"networkId\": 71,\n \"rpc\": [\"https://71.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmtestnet.confluxrpc.com\"],\n \"shortName\": \"cfxtest\",\n \"slug\": \"conflux-espace-testnet\",\n \"testnet\": true\n};\n\nvar c72 = {\n \"chain\": \"DxChain\",\n \"chainId\": 72,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.dxscan.io\"],\n \"infoURL\": \"https://testnet.dxscan.io/\",\n \"name\": \"DxChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DxChain Testnet\",\n \"symbol\": \"DX\",\n \"decimals\": 18\n },\n \"networkId\": 72,\n \"rpc\": [\"https://72.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-http.dxchain.com\"],\n \"shortName\": \"dxc\",\n \"slip44\": 1,\n \"slug\": \"dxchain-testnet\",\n \"testnet\": true\n};\n\nvar c73 = {\n \"chain\": \"FNCY\",\n \"chainId\": 73,\n \"explorers\": [{\n \"name\": \"fncy scan\",\n \"url\": \"https://fncyscan.fncy.world\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmfXCh6UnaEHn3Evz7RFJ3p2ggJBRm9hunDHegeoquGuhD\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.fncy.world\"],\n \"icon\": {\n \"url\": \"ipfs://QmfXCh6UnaEHn3Evz7RFJ3p2ggJBRm9hunDHegeoquGuhD\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://fncyscan.fncy.world\",\n \"name\": \"FNCY\",\n \"nativeCurrency\": {\n \"name\": \"FNCY\",\n \"symbol\": \"FNCY\",\n \"decimals\": 18\n },\n \"networkId\": 73,\n \"rpc\": [\"https://73.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fncy-seed1.fncy.world\"],\n \"shortName\": \"FNCY\",\n \"slug\": \"fncy\",\n \"testnet\": true\n};\n\nvar c74 = {\n \"chain\": \"IDChain\",\n \"chainId\": 74,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.idchain.one\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZVwsY6HPXScKqZCA9SWNrr4jrQAHkPhVhMWi6Fj1DsrJ\",\n \"width\": 162,\n \"height\": 129,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://idchain.one/begin/\",\n \"name\": \"IDChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EIDI\",\n \"symbol\": \"EIDI\",\n \"decimals\": 18\n },\n \"networkId\": 74,\n \"rpc\": [\"https://74.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://idchain.one/rpc/\", \"wss://idchain.one/ws/\"],\n \"shortName\": \"idchain\",\n \"slug\": \"idchain\",\n \"testnet\": false\n};\n\nvar c75 = {\n \"chain\": \"DSC\",\n \"chainId\": 75,\n \"explorers\": [{\n \"name\": \"DSC Explorer Mainnet\",\n \"url\": \"https://explorer.decimalchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSgzwKnJJjys3Uq2aVVdwJ3NffLj3CXMVCph9uByTBegc\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSgzwKnJJjys3Uq2aVVdwJ3NffLj3CXMVCph9uByTBegc\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://decimalchain.com\",\n \"name\": \"Decimal Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Decimal\",\n \"symbol\": \"DEL\",\n \"decimals\": 18\n },\n \"networkId\": 75,\n \"rpc\": [\"https://75.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.decimalchain.com/web3/\", \"https://node1-mainnet.decimalchain.com/web3/\", \"https://node2-mainnet.decimalchain.com/web3/\", \"https://node3-mainnet.decimalchain.com/web3/\", \"https://node4-mainnet.decimalchain.com/web3/\"],\n \"shortName\": \"DSC\",\n \"slug\": \"decimal-smart-chain\",\n \"testnet\": false\n};\n\nvar c76 = {\n \"chain\": \"MIX\",\n \"chainId\": 76,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://mix-blockchain.org\",\n \"name\": \"Mix\",\n \"nativeCurrency\": {\n \"name\": \"Mix Ether\",\n \"symbol\": \"MIX\",\n \"decimals\": 18\n },\n \"networkId\": 76,\n \"rpc\": [\"https://76.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc2.mix-blockchain.org:8647\"],\n \"shortName\": \"mix\",\n \"slip44\": 76,\n \"slug\": \"mix\",\n \"testnet\": false\n};\n\nvar c77 = {\n \"chain\": \"POA\",\n \"chainId\": 77,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.com/poa/sokol\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://poa.network\",\n \"name\": \"POA Network Sokol\",\n \"nativeCurrency\": {\n \"name\": \"POA Sokol Ether\",\n \"symbol\": \"SPOA\",\n \"decimals\": 18\n },\n \"networkId\": 77,\n \"rpc\": [\"https://77.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sokol.poa.network\", \"wss://sokol.poa.network/wss\", \"ws://sokol.poa.network:8546\"],\n \"shortName\": \"spoa\",\n \"slug\": \"poa-network-sokol\",\n \"testnet\": false\n};\n\nvar c78 = {\n \"chain\": \"PC\",\n \"chainId\": 78,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://primusmoney.com\",\n \"name\": \"PrimusChain mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Primus Ether\",\n \"symbol\": \"PETH\",\n \"decimals\": 18\n },\n \"networkId\": 78,\n \"rpc\": [\"https://78.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ethnode.primusmoney.com/mainnet\"],\n \"shortName\": \"primuschain\",\n \"slug\": \"primuschain\",\n \"testnet\": false\n};\n\nvar c79 = {\n \"chain\": \"Zenith\",\n \"chainId\": 79,\n \"explorers\": [{\n \"name\": \"zenith scan\",\n \"url\": \"https://scan.zenithchain.co\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.zenithchain.co/\",\n \"name\": \"Zenith Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ZENITH\",\n \"symbol\": \"ZENITH\",\n \"decimals\": 18\n },\n \"networkId\": 79,\n \"rpc\": [\"https://79.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataserver-us-1.zenithchain.co/\", \"https://dataserver-asia-3.zenithchain.co/\", \"https://dataserver-asia-4.zenithchain.co/\", \"https://dataserver-asia-2.zenithchain.co/\", \"https://dataserver-asia-5.zenithchain.co/\", \"https://dataserver-asia-6.zenithchain.co/\", \"https://dataserver-asia-7.zenithchain.co/\"],\n \"shortName\": \"zenith\",\n \"slug\": \"zenith\",\n \"testnet\": false\n};\n\nvar c80 = {\n \"chain\": \"GeneChain\",\n \"chainId\": 80,\n \"explorers\": [{\n \"name\": \"GeneChain Scan\",\n \"url\": \"https://scan.genechain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://scan.genechain.io/\",\n \"name\": \"GeneChain\",\n \"nativeCurrency\": {\n \"name\": \"RNA\",\n \"symbol\": \"RNA\",\n \"decimals\": 18\n },\n \"networkId\": 80,\n \"rpc\": [\"https://80.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.genechain.io\"],\n \"shortName\": \"GeneChain\",\n \"slug\": \"genechain\",\n \"testnet\": false\n};\n\nvar c81 = {\n \"chain\": \"JOC\",\n \"chainId\": 81,\n \"explorers\": [{\n \"name\": \"Block Explorer\",\n \"url\": \"https://explorer.japanopenchain.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidhsiuqrct42bel76zhi3rx35k4lnk6aqgde27nvvxcz563ttfefy\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidhsiuqrct42bel76zhi3rx35k4lnk6aqgde27nvvxcz563ttfefy\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.japanopenchain.org/\",\n \"name\": \"Japan Open Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Japan Open Chain Token\",\n \"symbol\": \"JOC\",\n \"decimals\": 18\n },\n \"networkId\": 81,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://81.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-1.japanopenchain.org:8545\", \"https://rpc-2.japanopenchain.org:8545\"],\n \"shortName\": \"joc\",\n \"slug\": \"japan-open-chain\",\n \"testnet\": false\n};\n\nvar c82 = {\n \"chain\": \"METER\",\n \"chainId\": 82,\n \"explorers\": [{\n \"name\": \"Meter Mainnet Scan\",\n \"url\": \"https://scan.meter.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.meter.io\"],\n \"infoURL\": \"https://www.meter.io\",\n \"name\": \"Meter Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Meter\",\n \"symbol\": \"MTR\",\n \"decimals\": 18\n },\n \"networkId\": 82,\n \"rpc\": [\"https://82.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.meter.io\"],\n \"shortName\": \"Meter\",\n \"slug\": \"meter\",\n \"testnet\": false\n};\n\nvar c83 = {\n \"chain\": \"METER Testnet\",\n \"chainId\": 83,\n \"explorers\": [{\n \"name\": \"Meter Testnet Scan\",\n \"url\": \"https://scan-warringstakes.meter.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet-warringstakes.meter.io\"],\n \"infoURL\": \"https://www.meter.io\",\n \"name\": \"Meter Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Meter\",\n \"symbol\": \"MTR\",\n \"decimals\": 18\n },\n \"networkId\": 83,\n \"rpc\": [\"https://83.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctest.meter.io\"],\n \"shortName\": \"MeterTest\",\n \"slip44\": 1,\n \"slug\": \"meter-testnet\",\n \"testnet\": true\n};\n\nvar c84 = {\n \"chain\": \"LNQ\",\n \"chainId\": 84,\n \"explorers\": [{\n \"name\": \"Linqto Devnet Explorer\",\n \"url\": \"https://explorer.linqto-dev.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://linqto.com\",\n \"name\": \"Linqto Devnet\",\n \"nativeCurrency\": {\n \"name\": \"XRP\",\n \"symbol\": \"XRP\",\n \"decimals\": 18\n },\n \"networkId\": 84,\n \"rpc\": [\"https://84.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://linqto-dev.com\"],\n \"shortName\": \"linqto-devnet\",\n \"slug\": \"linqto-devnet\",\n \"testnet\": false\n};\n\nvar c85 = {\n \"chain\": \"GTTEST\",\n \"chainId\": 85,\n \"explorers\": [{\n \"name\": \"GateScan\",\n \"url\": \"https://www.gatescan.org/testnet\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.gatescan.org/testnet/faucet\"],\n \"infoURL\": \"https://www.gatechain.io\",\n \"name\": \"GateChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GateToken\",\n \"symbol\": \"GT\",\n \"decimals\": 18\n },\n \"networkId\": 85,\n \"rpc\": [\"https://85.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.gatenode.cc\"],\n \"shortName\": \"gttest\",\n \"slip44\": 1,\n \"slug\": \"gatechain-testnet\",\n \"testnet\": true\n};\n\nvar c86 = {\n \"chain\": \"GT\",\n \"chainId\": 86,\n \"explorers\": [{\n \"name\": \"GateScan\",\n \"url\": \"https://www.gatescan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.gatescan.org/faucet\"],\n \"infoURL\": \"https://www.gatechain.io\",\n \"name\": \"GateChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GateToken\",\n \"symbol\": \"GT\",\n \"decimals\": 18\n },\n \"networkId\": 86,\n \"rpc\": [\"https://86.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.gatenode.cc\"],\n \"shortName\": \"gt\",\n \"slug\": \"gatechain\",\n \"testnet\": false\n};\n\nvar c87 = {\n \"chain\": \"NNW\",\n \"chainId\": 87,\n \"explorers\": [{\n \"name\": \"novanetwork\",\n \"url\": \"https://explorer.novanetwork.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTTamJ55YGQwMboq4aqf3JjTEy5WDtjo4GBRQ5VdsWA6U\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://novanetwork.io\",\n \"name\": \"Nova Network\",\n \"nativeCurrency\": {\n \"name\": \"Supernova\",\n \"symbol\": \"SNT\",\n \"decimals\": 18\n },\n \"networkId\": 87,\n \"rpc\": [\"https://87.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://connect.novanetwork.io\", \"https://0x57.redjackstudio.com\", \"https://rpc.novanetwork.io:9070\"],\n \"shortName\": \"nnw\",\n \"slug\": \"nova-network\",\n \"testnet\": false\n};\n\nvar c88 = {\n \"chain\": \"Viction\",\n \"chainId\": 88,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://viction.xyz\",\n \"name\": \"Viction\",\n \"nativeCurrency\": {\n \"name\": \"Viction\",\n \"symbol\": \"VIC\",\n \"decimals\": 18\n },\n \"networkId\": 88,\n \"rpc\": [\"https://88.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.viction.xyz\"],\n \"shortName\": \"vic\",\n \"slip44\": 889,\n \"slug\": \"viction\",\n \"testnet\": false\n};\n\nvar c89 = {\n \"chain\": \"Viction\",\n \"chainId\": 89,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://viction.xyz\",\n \"name\": \"Viction Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Viction\",\n \"symbol\": \"VIC\",\n \"decimals\": 18\n },\n \"networkId\": 89,\n \"rpc\": [\"https://89.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.viction.xyz\"],\n \"shortName\": \"vict\",\n \"slip44\": 1,\n \"slug\": \"viction-testnet\",\n \"testnet\": true\n};\n\nvar c90 = {\n \"chain\": \"GAR\",\n \"chainId\": 90,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Stage0\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 90,\n \"rpc\": [\"https://90.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s0.garizon.net/rpc\"],\n \"shortName\": \"gar-s0\",\n \"slug\": \"garizon-stage0\",\n \"testnet\": false\n};\n\nvar c91 = {\n \"chain\": \"GAR\",\n \"chainId\": 91,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Stage1\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 91,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-90\"\n },\n \"rpc\": [\"https://91.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s1.garizon.net/rpc\"],\n \"shortName\": \"gar-s1\",\n \"slug\": \"garizon-stage1\",\n \"testnet\": false\n};\n\nvar c92 = {\n \"chain\": \"GAR\",\n \"chainId\": 92,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Stage2\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 92,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-90\"\n },\n \"rpc\": [\"https://92.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s2.garizon.net/rpc\"],\n \"shortName\": \"gar-s2\",\n \"slug\": \"garizon-stage2\",\n \"testnet\": false\n};\n\nvar c93 = {\n \"chain\": \"GAR\",\n \"chainId\": 93,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Stage3\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 93,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-90\"\n },\n \"rpc\": [\"https://93.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s3.garizon.net/rpc\"],\n \"shortName\": \"gar-s3\",\n \"slug\": \"garizon-stage3\",\n \"testnet\": false\n};\n\nvar c94 = {\n \"chain\": \"SDLT\",\n \"chainId\": 94,\n \"explorers\": [{\n \"name\": \"SwissDLT Explorer\",\n \"url\": \"https://explorer.swissdlt.ch\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreig7x5z4j6vh2r3pugmjnob3tmlksaekhqcgsorqzvs55o6v7ehqd4\",\n \"width\": 682,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreig7x5z4j6vh2r3pugmjnob3tmlksaekhqcgsorqzvs55o6v7ehqd4\",\n \"width\": 682,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bcts.ch\",\n \"name\": \"SwissDLT\",\n \"nativeCurrency\": {\n \"name\": \"BCTS\",\n \"symbol\": \"BCTS\",\n \"decimals\": 18\n },\n \"networkId\": 94,\n \"rpc\": [\"https://94.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.swissdlt.ch\"],\n \"shortName\": \"sdlt\",\n \"slug\": \"swissdlt\",\n \"testnet\": false\n};\n\nvar c95 = {\n \"chain\": \"CADL\",\n \"chainId\": 95,\n \"explorers\": [{\n \"name\": \"CamDL Block Explorer\",\n \"url\": \"https://explorer.camdl.gov.kh\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.camdl.gov.kh/\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmW5Fpb2Ywnfqcj4ibvpbKvPv5Mo5eseWdYZnnUvLkj2Hp\",\n \"width\": 1453,\n \"height\": 1453,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://camdl.gov.kh/\",\n \"name\": \"CamDL Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"CADL\",\n \"symbol\": \"CADL\",\n \"decimals\": 18\n },\n \"networkId\": 95,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://95.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.camdl.gov.kh/\"],\n \"shortName\": \"camdl\",\n \"slug\": \"camdl\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c96 = {\n \"chain\": \"BKC\",\n \"chainId\": 96,\n \"explorers\": [{\n \"name\": \"Bitkub Chain Explorer\",\n \"url\": \"https://bkcscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYFYwyquipwc9gURQGcEd4iAq7pq15chQrJ3zJJe9HuFT\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYFYwyquipwc9gURQGcEd4iAq7pq15chQrJ3zJJe9HuFT\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bitkubchain.com/\",\n \"name\": \"Bitkub Chain\",\n \"nativeCurrency\": {\n \"name\": \"Bitkub Coin\",\n \"symbol\": \"KUB\",\n \"decimals\": 18\n },\n \"networkId\": 96,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://96.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bitkubchain.io\", \"wss://wss.bitkubchain.io\"],\n \"shortName\": \"bkc\",\n \"slug\": \"bitkub-chain\",\n \"testnet\": false\n};\n\nvar c97 = {\n \"chain\": \"BSC\",\n \"chainId\": 97,\n \"explorers\": [{\n \"name\": \"bscscan-testnet\",\n \"url\": \"https://testnet.bscscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet.bnbchain.org/faucet-smart\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/binance-coin/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bnbchain.org/en\",\n \"name\": \"BNB Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BNB Chain Native Token\",\n \"symbol\": \"tBNB\",\n \"decimals\": 18\n },\n \"networkId\": 97,\n \"redFlags\": [],\n \"rpc\": [\"https://97.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://data-seed-prebsc-1-s1.bnbchain.org:8545\", \"https://data-seed-prebsc-2-s1.bnbchain.org:8545\", \"https://data-seed-prebsc-1-s2.bnbchain.org:8545\", \"https://data-seed-prebsc-2-s2.bnbchain.org:8545\", \"https://data-seed-prebsc-1-s3.bnbchain.org:8545\", \"https://data-seed-prebsc-2-s3.bnbchain.org:8545\", \"https://bsc-testnet-rpc.publicnode.com\", \"wss://bsc-testnet-rpc.publicnode.com\"],\n \"shortName\": \"bnbt\",\n \"slip44\": 1,\n \"slug\": \"binance-testnet\",\n \"testnet\": true\n};\n\nvar c98 = {\n \"chain\": \"SIXNET\",\n \"chainId\": 98,\n \"explorers\": [{\n \"name\": \"SIX Scan\",\n \"url\": \"https://sixscan.io/sixnet\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://six.network/\",\n \"name\": \"Six Protocol\",\n \"nativeCurrency\": {\n \"name\": \"SIX evm token\",\n \"symbol\": \"SIX\",\n \"decimals\": 18\n },\n \"networkId\": 98,\n \"rpc\": [\"https://98.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sixnet-rpc-evm.sixprotocol.net\"],\n \"shortName\": \"six\",\n \"slug\": \"six-protocol\",\n \"testnet\": false\n};\n\nvar c99 = {\n \"chain\": \"POA\",\n \"chainId\": 99,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.com/poa/core\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://poa.network\",\n \"name\": \"POA Network Core\",\n \"nativeCurrency\": {\n \"name\": \"POA Network Core Ether\",\n \"symbol\": \"POA\",\n \"decimals\": 18\n },\n \"networkId\": 99,\n \"rpc\": [\"https://99.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://core.poa.network\"],\n \"shortName\": \"poa\",\n \"slip44\": 178,\n \"slug\": \"poa-network-core\",\n \"testnet\": false\n};\n\nvar c100 = {\n \"chain\": \"GNO\",\n \"chainId\": 100,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://gnosis.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"gnosisscan\",\n \"url\": \"https://gnosisscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://gnosis.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://gnosisfaucet.com\", \"https://stakely.io/faucet/gnosis-chain-xdai\", \"https://faucet.prussia.dev/xdai\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeidk4swpgdyqmpz6shd5onvpaujvwiwthrhypufnwr6xh3dausz2dm\",\n \"width\": 1800,\n \"height\": 1800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.gnosischain.com\",\n \"name\": \"Gnosis\",\n \"nativeCurrency\": {\n \"name\": \"xDAI\",\n \"symbol\": \"XDAI\",\n \"decimals\": 18\n },\n \"networkId\": 100,\n \"rpc\": [\"https://100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gnosischain.com\", \"https://rpc.gnosis.gateway.fm\", \"https://rpc.ankr.com/gnosis\", \"https://gnosischain-rpc.gateway.pokt.network\", \"https://gnosis-mainnet.public.blastapi.io\", \"https://gnosis.api.onfinality.io/public\", \"https://gnosis.blockpi.network/v1/rpc/public\", \"https://web3endpoints.com/gnosischain-mainnet\", \"https://gnosis.oat.farm\", \"wss://rpc.gnosischain.com/wss\", \"https://gnosis-rpc.publicnode.com\", \"wss://gnosis-rpc.publicnode.com\"],\n \"shortName\": \"gno\",\n \"slip44\": 700,\n \"slug\": \"gnosis\",\n \"testnet\": false\n};\n\nvar c101 = {\n \"chain\": \"ETI\",\n \"chainId\": 101,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://einc.io\",\n \"name\": \"EtherInc\",\n \"nativeCurrency\": {\n \"name\": \"EtherInc Ether\",\n \"symbol\": \"ETI\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.einc.io/jsonrpc/mainnet\"],\n \"shortName\": \"eti\",\n \"slip44\": 464,\n \"slug\": \"etherinc\",\n \"testnet\": false\n};\n\nvar c102 = {\n \"chain\": \"Web3Games\",\n \"chainId\": 102,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUc57w3UTHiWapNW9oQb1dP57ymtdemTTbpvGkjVHBRCo\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://web3games.org/\",\n \"name\": \"Web3Games Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Web3Games\",\n \"symbol\": \"W3G\",\n \"decimals\": 18\n },\n \"networkId\": 102,\n \"rpc\": [\"https://102.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc-0.web3games.org/evm\", \"https://testnet-rpc-1.web3games.org/evm\", \"https://testnet-rpc-2.web3games.org/evm\"],\n \"shortName\": \"tw3g\",\n \"slip44\": 1,\n \"slug\": \"web3games-testnet\",\n \"testnet\": true\n};\n\nvar c103 = {\n \"chain\": \"Worldland\",\n \"chainId\": 103,\n \"explorers\": [{\n \"name\": \"Worldland Explorer\",\n \"url\": \"https://scan.worldland.foundation\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYZNTfK3byhgLsTjXP8vPubVHRz2CWsBrTJxZrQmKq6JZ\",\n \"width\": 3509,\n \"height\": 2482,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://worldland.foundation\",\n \"name\": \"WorldLand Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Worldland\",\n \"symbol\": \"WLC\",\n \"decimals\": 18\n },\n \"networkId\": 103,\n \"rpc\": [\"https://103.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://seoul.worldland.foundation\", \"https://seoul2.worldland.foundation\"],\n \"shortName\": \"WLC\",\n \"slug\": \"worldland\",\n \"testnet\": false\n};\n\nvar c104 = {\n \"chain\": \"tKLC\",\n \"chainId\": 104,\n \"explorers\": [{\n \"name\": \"kaibascan\",\n \"url\": \"https://kaibascan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafybeihbsw3ky7yf6llpww6fabo4dicotcgwjpefscoxrppstjx25dvtea\",\n \"width\": 932,\n \"height\": 932,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeihbsw3ky7yf6llpww6fabo4dicotcgwjpefscoxrppstjx25dvtea\",\n \"width\": 932,\n \"height\": 932,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kaibadefi.com\",\n \"name\": \"Kaiba Lightning Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Kaiba Testnet Token\",\n \"symbol\": \"tKAIBA\",\n \"decimals\": 18\n },\n \"networkId\": 104,\n \"rpc\": [\"https://104.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://klc.live/\"],\n \"shortName\": \"tklc\",\n \"slip44\": 1,\n \"slug\": \"kaiba-lightning-chain-testnet\",\n \"testnet\": true\n};\n\nvar c105 = {\n \"chain\": \"Web3Games\",\n \"chainId\": 105,\n \"explorers\": [{\n \"name\": \"Web3Games Explorer\",\n \"url\": \"https://explorer-devnet.web3games.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUc57w3UTHiWapNW9oQb1dP57ymtdemTTbpvGkjVHBRCo\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://web3games.org/\",\n \"name\": \"Web3Games Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Web3Games\",\n \"symbol\": \"W3G\",\n \"decimals\": 18\n },\n \"networkId\": 105,\n \"rpc\": [\"https://105.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.web3games.org/evm\"],\n \"shortName\": \"dw3g\",\n \"slug\": \"web3games-devnet\",\n \"testnet\": false\n};\n\nvar c106 = {\n \"chain\": \"Velas\",\n \"chainId\": 106,\n \"explorers\": [{\n \"name\": \"Velas Explorer\",\n \"url\": \"https://evmexplorer.velas.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNXiCXJxEeBd7ZYGYjPSMTSdbDd2nfodLC677gUfk9ku5\",\n \"width\": 924,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://velas.com\",\n \"name\": \"Velas EVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Velas\",\n \"symbol\": \"VLX\",\n \"decimals\": 18\n },\n \"networkId\": 106,\n \"rpc\": [\"https://106.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmexplorer.velas.com/rpc\", \"https://explorer.velas.com/rpc\"],\n \"shortName\": \"vlx\",\n \"slug\": \"velas-evm\",\n \"testnet\": false\n};\n\nvar c107 = {\n \"chain\": \"NTN\",\n \"chainId\": 107,\n \"explorers\": [{\n \"name\": \"nebulatestnet\",\n \"url\": \"https://explorer.novanetwork.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.novanetwork.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmeFaJtQqTKKuXQR7ysS53bLFPasFBcZw445cvYJ2HGeTo\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://novanetwork.io\",\n \"name\": \"Nebula Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Nebula X\",\n \"symbol\": \"NBX\",\n \"decimals\": 18\n },\n \"networkId\": 107,\n \"rpc\": [\"https://107.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.novanetwork.io\"],\n \"shortName\": \"ntn\",\n \"slip44\": 1,\n \"slug\": \"nebula-testnet\",\n \"testnet\": true\n};\n\nvar c108 = {\n \"chain\": \"TT\",\n \"chainId\": 108,\n \"explorers\": [{\n \"name\": \"thundercore-viewblock\",\n \"url\": \"https://viewblock.io/thundercore\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://thundercore.com\",\n \"name\": \"ThunderCore Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ThunderCore Token\",\n \"symbol\": \"TT\",\n \"decimals\": 18\n },\n \"networkId\": 108,\n \"rpc\": [\"https://108.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.thundercore.com\", \"https://mainnet-rpc.thundertoken.net\", \"https://mainnet-rpc.thundercore.io\"],\n \"shortName\": \"TT\",\n \"slip44\": 1001,\n \"slug\": \"thundercore\",\n \"testnet\": false\n};\n\nvar c109 = {\n \"chain\": \"Shibarium\",\n \"chainId\": 109,\n \"explorers\": [{\n \"name\": \"Shibariumscan\",\n \"url\": \"https://www.shibariumscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"https://www.shibariumscan.io/assets/configs/network_icon_dark.png\",\n \"width\": 360,\n \"height\": 360,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://chewyswap.dog/images/chains/109.png\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shibariumecosystem.com\",\n \"name\": \"Shibarium\",\n \"nativeCurrency\": {\n \"name\": \"BONE Shibarium\",\n \"symbol\": \"BONE\",\n \"decimals\": 18\n },\n \"networkId\": 109,\n \"redFlags\": [],\n \"rpc\": [\"https://109.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.shibrpc.com\", \"https://www.shibrpc.com\"],\n \"shortName\": \"shibariumecosystem\",\n \"slug\": \"shibarium\",\n \"testnet\": false\n};\n\nvar c110 = {\n \"chain\": \"XPR\",\n \"chainId\": 110,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://protonchain.com\",\n \"name\": \"Proton Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Proton\",\n \"symbol\": \"XPR\",\n \"decimals\": 4\n },\n \"networkId\": 110,\n \"rpc\": [\"https://110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://protontestnet.greymass.com/\"],\n \"shortName\": \"xpr\",\n \"slip44\": 1,\n \"slug\": \"proton-testnet\",\n \"testnet\": true\n};\n\nvar c111 = {\n \"chain\": \"ETL\",\n \"chainId\": 111,\n \"explorers\": [],\n \"faucets\": [\"https://etherlite.org/faucets\"],\n \"icon\": {\n \"url\": \"ipfs://QmbNAai1KnBnw4SPQKgrf6vBddifPCQTg2PePry1bmmZYy\",\n \"width\": 88,\n \"height\": 88,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://etherlite.org\",\n \"name\": \"EtherLite Chain\",\n \"nativeCurrency\": {\n \"name\": \"EtherLite\",\n \"symbol\": \"ETL\",\n \"decimals\": 18\n },\n \"networkId\": 111,\n \"rpc\": [\"https://111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.etherlite.org\"],\n \"shortName\": \"ETL\",\n \"slug\": \"etherlite-chain\",\n \"testnet\": false\n};\n\nvar c112 = {\n \"chain\": \"Coinbit\",\n \"chainId\": 112,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://coinbit-explorer.chain.sbcrypto.app\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdaQRUbAXJGfHeJ8jaB8WVh8CCmHExq8VjvAfXpLWWQEo\",\n \"width\": 760,\n \"height\": 760,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://crypto.stockbit.com/\",\n \"name\": \"Coinbit Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Gas IDR\",\n \"symbol\": \"GIDR\",\n \"decimals\": 18\n },\n \"networkId\": 112,\n \"rpc\": [\"https://112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://coinbit-rpc-mainnet.chain.sbcrypto.app\"],\n \"shortName\": \"coinbit\",\n \"slug\": \"coinbit\",\n \"testnet\": false\n};\n\nvar c113 = {\n \"chain\": \"Dehvo\",\n \"chainId\": 113,\n \"explorers\": [{\n \"name\": \"Dehvo Explorer\",\n \"url\": \"https://explorer.dehvo.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://buy.dehvo.com\"],\n \"infoURL\": \"https://dehvo.com\",\n \"name\": \"Dehvo\",\n \"nativeCurrency\": {\n \"name\": \"Dehvo\",\n \"symbol\": \"Deh\",\n \"decimals\": 18\n },\n \"networkId\": 113,\n \"rpc\": [\"https://113.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://connect.dehvo.com\", \"https://rpc.dehvo.com\", \"https://rpc1.dehvo.com\", \"https://rpc2.dehvo.com\"],\n \"shortName\": \"deh\",\n \"slip44\": 714,\n \"slug\": \"dehvo\",\n \"testnet\": false\n};\n\nvar c114 = {\n \"chain\": \"FLR\",\n \"chainId\": 114,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://coston2-explorer.flare.network\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"flarescan\",\n \"url\": \"https://coston2.testnet.flarescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.flare.network\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSmXY36oXCLmTp1u3Z2MSrBstBFVFyQv3aGKLKf1hxB6u\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://flare.network\",\n \"name\": \"Flare Testnet Coston2\",\n \"nativeCurrency\": {\n \"name\": \"Coston2 Flare\",\n \"symbol\": \"C2FLR\",\n \"decimals\": 18\n },\n \"networkId\": 114,\n \"rpc\": [\"https://114.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://coston2-api.flare.network/ext/C/rpc\", \"https://flaretestnet-bundler.etherspot.io\", \"https://01-gravelines-005-01.rpc.tatum.io/ext/bc/C/rpc\", \"https://02-chicago-005-02.rpc.tatum.io/ext/bc/C/rpc\", \"https://02-tokyo-005-03.rpc.tatum.io/ext/bc/C/rpc\", \"https://coston2.enosys.global/ext/C/rpc\"],\n \"shortName\": \"c2flr\",\n \"slip44\": 1,\n \"slug\": \"flare-testnet-coston2\",\n \"testnet\": true\n};\n\nvar c115 = {\n \"chain\": \"DeBank\",\n \"chainId\": 115,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW9pBps8WHRRWmyXhjLZrjZJUe8F48hUu7z98bu2RVsjN\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://debank.com\",\n \"name\": \"DeBank Testnet(Deprecated)\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 115,\n \"rpc\": [],\n \"shortName\": \"debank-testnet\",\n \"slip44\": 1,\n \"slug\": \"debank-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c116 = {\n \"chain\": \"DeBank\",\n \"chainId\": 116,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW9pBps8WHRRWmyXhjLZrjZJUe8F48hUu7z98bu2RVsjN\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://debank.com\",\n \"name\": \"DeBank Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 116,\n \"rpc\": [],\n \"shortName\": \"debank-mainnet\",\n \"slug\": \"debank\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c117 = {\n \"chain\": \"Uptick\",\n \"chainId\": 117,\n \"explorers\": [{\n \"name\": \"Uptick Explorer\",\n \"url\": \"https://evm-explorer.uptick.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRGJ6PqYHDTWuUQ6xfnK8S82NzRXiMjTnSGat9qtLuaLP\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRGJ6PqYHDTWuUQ6xfnK8S82NzRXiMjTnSGat9qtLuaLP\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.uptick.network\",\n \"name\": \"Uptick Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Uptick\",\n \"symbol\": \"UPTICK\",\n \"decimals\": 18\n },\n \"networkId\": 117,\n \"rpc\": [\"https://117.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.uptick.network\"],\n \"shortName\": \"auptick\",\n \"slug\": \"uptick\",\n \"testnet\": false\n};\n\nvar c118 = {\n \"chain\": \"Arcology\",\n \"chainId\": 118,\n \"explorers\": [{\n \"name\": \"arcology\",\n \"url\": \"https://testnet.arcology.network/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRD7itMvaZutfBjyA7V9xkMGDtsZiJSagPwd3ijqka8kE\",\n \"width\": 288,\n \"height\": 288,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://arcology.network/\",\n \"name\": \"Arcology Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Arcology Coin\",\n \"symbol\": \"Acol\",\n \"decimals\": 18\n },\n \"networkId\": 118,\n \"rpc\": [\"https://118.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.arcology.network/rpc\"],\n \"shortName\": \"arcology\",\n \"slip44\": 1,\n \"slug\": \"arcology-testnet\",\n \"testnet\": true\n};\n\nvar c119 = {\n \"chain\": \"ENULS\",\n \"chainId\": 119,\n \"explorers\": [{\n \"name\": \"enulsscan\",\n \"url\": \"https://evmscan.nuls.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYz8LK5WkUN8UwqKfWUjnyLuYqQZWihT7J766YXft4TSy\",\n \"width\": 26,\n \"height\": 41,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYz8LK5WkUN8UwqKfWUjnyLuYqQZWihT7J766YXft4TSy\",\n \"width\": 26,\n \"height\": 41,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://nuls.io\",\n \"name\": \"ENULS Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"NULS\",\n \"symbol\": \"NULS\",\n \"decimals\": 18\n },\n \"networkId\": 119,\n \"rpc\": [\"https://119.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmapi.nuls.io\", \"https://evmapi2.nuls.io\"],\n \"shortName\": \"enuls\",\n \"slug\": \"enuls\",\n \"testnet\": false\n};\n\nvar c120 = {\n \"chain\": \"ENULS\",\n \"chainId\": 120,\n \"explorers\": [{\n \"name\": \"enulsscan\",\n \"url\": \"https://beta.evmscan.nuls.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYz8LK5WkUN8UwqKfWUjnyLuYqQZWihT7J766YXft4TSy\",\n \"width\": 26,\n \"height\": 41,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"http://faucet.nuls.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmYz8LK5WkUN8UwqKfWUjnyLuYqQZWihT7J766YXft4TSy\",\n \"width\": 26,\n \"height\": 41,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://nuls.io\",\n \"name\": \"ENULS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"NULS\",\n \"symbol\": \"NULS\",\n \"decimals\": 18\n },\n \"networkId\": 120,\n \"rpc\": [\"https://120.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://beta.evmapi.nuls.io\", \"https://beta.evmapi2.nuls.io\"],\n \"shortName\": \"enulst\",\n \"slip44\": 1,\n \"slug\": \"enuls-testnet\",\n \"testnet\": true\n};\n\nvar c121 = {\n \"chain\": \"REAL\",\n \"chainId\": 121,\n \"explorers\": [{\n \"name\": \"realscan\",\n \"url\": \"https://rclscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.rclsidechain.com/\",\n \"name\": \"Realchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Realchain\",\n \"symbol\": \"REAL\",\n \"decimals\": 18\n },\n \"networkId\": 121,\n \"rpc\": [\"https://121.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rcl-dataseed1.rclsidechain.com\", \"https://rcl-dataseed2.rclsidechain.com\", \"https://rcl-dataseed3.rclsidechain.com\", \"https://rcl-dataseed4.rclsidechain.com\", \"wss://rcl-dataseed1.rclsidechain.com/v1/\", \"wss://rcl-dataseed2.rclsidechain.com/v1/\", \"wss://rcl-dataseed3.rclsidechain.com/v1/\", \"wss://rcl-dataseed4.rclsidechain.com/v1/\"],\n \"shortName\": \"REAL\",\n \"slip44\": 714,\n \"slug\": \"realchain\",\n \"testnet\": false\n};\n\nvar c122 = {\n \"chain\": \"FUSE\",\n \"chainId\": 122,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.fuse.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQg8aqyeaMfHvjzFDtZkb8dUNRYhFezPp8UYVc1HnLpRW/green.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://fuse.io/\",\n \"name\": \"Fuse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Fuse\",\n \"symbol\": \"FUSE\",\n \"decimals\": 18\n },\n \"networkId\": 122,\n \"redFlags\": [],\n \"rpc\": [\"https://122.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.fuse.io\", \"https://fuse.drpc.org\", \"wss://fuse.drpc.org\"],\n \"shortName\": \"fuse\",\n \"slug\": \"fuse\",\n \"testnet\": false\n};\n\nvar c123 = {\n \"chain\": \"fuse\",\n \"chainId\": 123,\n \"explorers\": [],\n \"faucets\": [\"https://get.fusespark.io\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQg8aqyeaMfHvjzFDtZkb8dUNRYhFezPp8UYVc1HnLpRW/green.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.fuse.io/general/fuse-network-blockchain/fuse-testnet\",\n \"name\": \"Fuse Sparknet\",\n \"nativeCurrency\": {\n \"name\": \"Spark\",\n \"symbol\": \"SPARK\",\n \"decimals\": 18\n },\n \"networkId\": 123,\n \"redFlags\": [],\n \"rpc\": [\"https://123.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.fusespark.io\"],\n \"shortName\": \"spark\",\n \"slug\": \"fuse-sparknet\",\n \"testnet\": true\n};\n\nvar c124 = {\n \"chain\": \"DWU\",\n \"chainId\": 124,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://decentralized-web.tech/dw_chain.php\",\n \"name\": \"Decentralized Web Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Decentralized Web Utility\",\n \"symbol\": \"DWU\",\n \"decimals\": 18\n },\n \"networkId\": 124,\n \"rpc\": [\"https://124.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://decentralized-web.tech/dw_rpc.php\"],\n \"shortName\": \"dwu\",\n \"slug\": \"decentralized-web\",\n \"testnet\": false\n};\n\nvar c125 = {\n \"chain\": \"OYchain\",\n \"chainId\": 125,\n \"explorers\": [{\n \"name\": \"OYchain Testnet Explorer\",\n \"url\": \"https://explorer.testnet.oychain.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.oychain.io\"],\n \"infoURL\": \"https://www.oychain.io\",\n \"name\": \"OYchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OYchain Token\",\n \"symbol\": \"OY\",\n \"decimals\": 18\n },\n \"networkId\": 125,\n \"rpc\": [\"https://125.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.oychain.io\"],\n \"shortName\": \"OYchainTestnet\",\n \"slip44\": 1,\n \"slug\": \"oychain-testnet\",\n \"testnet\": true\n};\n\nvar c126 = {\n \"chain\": \"OYchain\",\n \"chainId\": 126,\n \"explorers\": [{\n \"name\": \"OYchain Mainnet Explorer\",\n \"url\": \"https://explorer.oychain.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXW5T2MaGHznXUmQEXoyJjcdmX7dhLbj5fnqvZZKqeKzA\",\n \"width\": 677,\n \"height\": 237,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.oychain.io\",\n \"name\": \"OYchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OYchain Token\",\n \"symbol\": \"OY\",\n \"decimals\": 18\n },\n \"networkId\": 126,\n \"rpc\": [\"https://126.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.oychain.io\"],\n \"shortName\": \"OYchainMainnet\",\n \"slip44\": 126,\n \"slug\": \"oychain\",\n \"testnet\": false\n};\n\nvar c127 = {\n \"chain\": \"FETH\",\n \"chainId\": 127,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.factory127.com\",\n \"name\": \"Factory 127 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Factory 127 Token\",\n \"symbol\": \"FETH\",\n \"decimals\": 18\n },\n \"networkId\": 127,\n \"rpc\": [],\n \"shortName\": \"feth\",\n \"slip44\": 127,\n \"slug\": \"factory-127\",\n \"testnet\": false\n};\n\nvar c128 = {\n \"chain\": \"Heco\",\n \"chainId\": 128,\n \"explorers\": [{\n \"name\": \"hecoinfo\",\n \"url\": \"https://hecoinfo.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.hecochain.com\",\n \"name\": \"Huobi ECO Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Huobi ECO Chain Native Token\",\n \"symbol\": \"HT\",\n \"decimals\": 18\n },\n \"networkId\": 128,\n \"rpc\": [\"https://128.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-mainnet.hecochain.com\", \"wss://ws-mainnet.hecochain.com\"],\n \"shortName\": \"heco\",\n \"slip44\": 1010,\n \"slug\": \"huobi-eco-chain\",\n \"testnet\": false\n};\n\nvar c129 = {\n \"chain\": \"INNOVATOR\",\n \"chainId\": 129,\n \"explorers\": [{\n \"name\": \"Innovator Explorer\",\n \"url\": \"https://evm.innovatorchain.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVJBGeFYZXMQqicNdzctMfvPN5CrtRrfZBTw3CEpkCBsS\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://innovatorchain.com\",\n \"name\": \"Innovator Chain\",\n \"nativeCurrency\": {\n \"name\": \"INOV8\",\n \"symbol\": \"INOV8\",\n \"decimals\": 18\n },\n \"networkId\": 129,\n \"rpc\": [\"https://129.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.innovatorchain.com\"],\n \"shortName\": \"Innovator\",\n \"slug\": \"innovator-chain\",\n \"testnet\": false\n};\n\nvar c131 = {\n \"chain\": \"tGRAM\",\n \"chainId\": 131,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://tokioscan-v2.engram.tech\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidn7dolavrzgqxthydb6rt5iwuzm6cvkxqirzh2szarjspsdp4kyu\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreidn7dolavrzgqxthydb6rt5iwuzm6cvkxqirzh2szarjspsdp4kyu\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://engramnet.io\",\n \"name\": \"Engram Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Engram Tokio Testnet\",\n \"symbol\": \"tGRAM\",\n \"decimals\": 18\n },\n \"networkId\": 131,\n \"rpc\": [\"https://131.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tokioswift.engram.tech\", \"https://tokio-archive.engram.tech\"],\n \"shortName\": \"tgram\",\n \"slug\": \"engram-testnet\",\n \"testnet\": true\n};\n\nvar c132 = {\n \"chain\": \"NFIC\",\n \"chainId\": 132,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://namefi.io/\",\n \"name\": \"Namefi Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Namefi Coin\",\n \"symbol\": \"NFIC\",\n \"decimals\": 18\n },\n \"networkId\": 132,\n \"rpc\": [\"https://132.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.chain.namefi.io\"],\n \"shortName\": \"nfic\",\n \"slug\": \"namefi-chain\",\n \"testnet\": false\n};\n\nvar c133 = {\n \"chain\": \"HashKey Chain Testnet\",\n \"chainId\": 133,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://hashkey.cloud\",\n \"name\": \"HashKey Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"HashKey EcoPoints\",\n \"symbol\": \"HSK\",\n \"decimals\": 18\n },\n \"networkId\": 133,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\"\n },\n \"rpc\": [],\n \"shortName\": \"HSKT\",\n \"slug\": \"hashkey-chain-testnet\",\n \"testnet\": true,\n \"title\": \"HashKey Chain Testnet\"\n};\n\nvar c134 = {\n \"chain\": \"Bellecour\",\n \"chainId\": 134,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.bellecour.iex.ec\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUYKpVmZL4aS3TEZLG5wbrRJ6exxLiwm1rejfGYYNicfb\",\n \"width\": 155,\n \"height\": 155,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://iex.ec\",\n \"name\": \"iExec Sidechain\",\n \"nativeCurrency\": {\n \"name\": \"xRLC\",\n \"symbol\": \"xRLC\",\n \"decimals\": 18\n },\n \"networkId\": 134,\n \"rpc\": [\"https://134.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bellecour.iex.ec\"],\n \"shortName\": \"rlc\",\n \"slug\": \"iexec-sidechain\",\n \"testnet\": false\n};\n\nvar c135 = {\n \"chain\": \"Alyx Chain Testnet\",\n \"chainId\": 135,\n \"explorers\": [{\n \"name\": \"alyx testnet scan\",\n \"url\": \"https://testnet.alyxscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.alyxchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreifd43fcvh77mdcwjrpzpnlhthounc6b4u645kukqpqhduaveatf6i\",\n \"width\": 2481,\n \"height\": 2481,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.alyxchain.com\",\n \"name\": \"Alyx Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Alyx Testnet Native Token\",\n \"symbol\": \"ALYX\",\n \"decimals\": 18\n },\n \"networkId\": 135,\n \"rpc\": [\"https://135.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.alyxchain.com\"],\n \"shortName\": \"AlyxTestnet\",\n \"slip44\": 1,\n \"slug\": \"alyx-chain-testnet\",\n \"testnet\": true\n};\n\nvar c136 = {\n \"chain\": \"Deamchain\",\n \"chainId\": 136,\n \"explorers\": [{\n \"name\": \"Deamchain Block Explorer\",\n \"url\": \"https://scan.deamchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://deamchain.com\",\n \"name\": \"Deamchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Deamchain Native Token\",\n \"symbol\": \"DEAM\",\n \"decimals\": 18\n },\n \"networkId\": 136,\n \"rpc\": [\"https://136.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.deamchain.com\"],\n \"shortName\": \"deam\",\n \"slug\": \"deamchain\",\n \"testnet\": false\n};\n\nvar c137 = {\n \"chain\": \"Polygon\",\n \"chainId\": 137,\n \"explorers\": [{\n \"name\": \"polygonscan\",\n \"url\": \"https://polygonscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://polygon.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/polygon/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polygon.technology/\",\n \"name\": \"Polygon Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MATIC\",\n \"symbol\": \"MATIC\",\n \"decimals\": 18\n },\n \"networkId\": 137,\n \"redFlags\": [],\n \"rpc\": [\"https://137.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://polygon-mainnet.infura.io/v3/${INFURA_API_KEY}\", \"https://polygon-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}\", \"https://polygon-rpc.com/\", \"https://rpc-mainnet.matic.network\", \"https://matic-mainnet.chainstacklabs.com\", \"https://rpc-mainnet.maticvigil.com\", \"https://rpc-mainnet.matic.quiknode.pro\", \"https://matic-mainnet-full-rpc.bwarelabs.com\", \"https://polygon-bor-rpc.publicnode.com\", \"wss://polygon-bor-rpc.publicnode.com\", \"https://polygon.gateway.tenderly.co\", \"wss://polygon.gateway.tenderly.co\", \"https://polygon.drpc.org\", \"wss://polygon.drpc.org\"],\n \"shortName\": \"matic\",\n \"slip44\": 966,\n \"slug\": \"polygon\",\n \"testnet\": false\n};\n\nvar c138 = {\n \"chain\": \"dfiometa\",\n \"chainId\": 138,\n \"ens\": {\n \"registry\": \"0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85\"\n },\n \"explorers\": [{\n \"name\": \"Blockscout Explorer\",\n \"url\": \"https://blockscout.defi-oracle.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Quorum Explorer\",\n \"url\": \"https://explorer.defi-oracle.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmYrMRnjQJcNkYq9AvZ2FQ9kzYj9szzP4YDmyNA1ybd8xE\",\n \"width\": 1000,\n \"height\": 1043,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://info.defi-oracle.io/\",\n \"name\": \"Defi Oracle Meta Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://138.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.defi-oracle.io\", \"wss://wss.defi-oracle.io\"],\n \"shortName\": \"dfio-meta-main\",\n \"slip44\": 60,\n \"slug\": \"defi-oracle-meta\",\n \"testnet\": false\n};\n\nvar c139 = {\n \"chain\": \"WOOP\",\n \"chainId\": 139,\n \"explorers\": [{\n \"name\": \"wikiwoop\",\n \"url\": \"https://explorer.wikiwoop.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qma7LpnkGjAN1dwL6VTXUYqzySNxjLg4br7J8UE4yZWYec\",\n \"width\": 310,\n \"height\": 310,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://wikiwoop.com\",\n \"name\": \"WoopChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"WoopCoin\",\n \"symbol\": \"WOOC\",\n \"decimals\": 18\n },\n \"networkId\": 139,\n \"rpc\": [\"https://139.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.woop.ai/rpc\"],\n \"shortName\": \"woop\",\n \"slug\": \"woopchain\",\n \"testnet\": false\n};\n\nvar c140 = {\n \"chain\": \"Eter\",\n \"chainId\": 140,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeibexfskndvhn5xtrcmpjoifp2ufnzgwiwbfrjcxat55alergskkve\",\n \"width\": 122,\n \"height\": 133,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://eternalcoin.io\",\n \"name\": \"Eternal Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Eternal\",\n \"symbol\": \"Eter\",\n \"decimals\": 18\n },\n \"networkId\": 140,\n \"rpc\": [\"https://140.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.eternalcoin.io/v1\", \"ws://mainnet.eternalcoin.io/v1/ws\"],\n \"shortName\": \"Eter\",\n \"slug\": \"eternal\",\n \"testnet\": false\n};\n\nvar c141 = {\n \"chain\": \"OPENPIECE\",\n \"chainId\": 141,\n \"explorers\": [{\n \"name\": \"Belly Scan\",\n \"url\": \"https://testnet.bellyscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVTahJkdSH3HPYsJMK2GmqfWZjLyxE7cXy1aHEnHU3vp2\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cryptopiece.online\",\n \"name\": \"Openpiece Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Belly\",\n \"symbol\": \"BELLY\",\n \"decimals\": 18\n },\n \"networkId\": 141,\n \"rpc\": [\"https://141.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.openpiece.io\"],\n \"shortName\": \"OPtest\",\n \"slip44\": 1,\n \"slug\": \"openpiece-testnet\",\n \"testnet\": true\n};\n\nvar c142 = {\n \"chain\": \"DAX\",\n \"chainId\": 142,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://prodax.io/\",\n \"name\": \"DAX CHAIN\",\n \"nativeCurrency\": {\n \"name\": \"Prodax\",\n \"symbol\": \"DAX\",\n \"decimals\": 18\n },\n \"networkId\": 142,\n \"rpc\": [\"https://142.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.prodax.io\"],\n \"shortName\": \"dax\",\n \"slug\": \"dax-chain\",\n \"testnet\": false\n};\n\nvar c144 = {\n \"chain\": \"PHI\",\n \"chainId\": 144,\n \"explorers\": [{\n \"name\": \"Phiscan\",\n \"url\": \"https://phiscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://phi.network\",\n \"name\": \"PHI Network v2\",\n \"nativeCurrency\": {\n \"name\": \"PHI\",\n \"symbol\": \"Φ\",\n \"decimals\": 18\n },\n \"networkId\": 144,\n \"rpc\": [\"https://144.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://connect.phi.network\"],\n \"shortName\": \"PHI\",\n \"slug\": \"phi-network-v2\",\n \"testnet\": false\n};\n\nvar c145 = {\n \"chain\": \"SETH\",\n \"chainId\": 145,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.soraai.bot\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://soraai.bot\",\n \"name\": \"SoraAI Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SoraETH\",\n \"symbol\": \"SETH\",\n \"decimals\": 18\n },\n \"networkId\": 145,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.soraai.bot\"\n }]\n },\n \"rpc\": [\"https://145.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.soraai.bot\"],\n \"shortName\": \"SETH\",\n \"slip44\": 1,\n \"slug\": \"soraai-testnet\",\n \"testnet\": true\n};\n\nvar c147 = {\n \"chain\": \"Flag\",\n \"chainId\": 147,\n \"explorers\": [{\n \"name\": \"Flag Mainnet Explorer\",\n \"url\": \"https://flagscan.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeibcrxeavdxpwwmj4mc6hhp232nkrfbpvfpngcqux2v5rmoshycj3u\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://flagscan.xyz\",\n \"name\": \"Flag Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Flag\",\n \"symbol\": \"FLAG\",\n \"decimals\": 18\n },\n \"networkId\": 147,\n \"rpc\": [\"https://147.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.flagscan.xyz\"],\n \"shortName\": \"FLAG\",\n \"slug\": \"flag\",\n \"testnet\": false\n};\n\nvar c148 = {\n \"chain\": \"ShimmerEVM\",\n \"chainId\": 148,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.evm.shimmer.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shimmer.network\",\n \"name\": \"ShimmerEVM\",\n \"nativeCurrency\": {\n \"name\": \"SMR\",\n \"symbol\": \"SMR\",\n \"decimals\": 18\n },\n \"networkId\": 148,\n \"rpc\": [\"https://148.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.evm.shimmer.network\"],\n \"shortName\": \"shimmerevm\",\n \"slug\": \"shimmerevm\",\n \"testnet\": false,\n \"title\": \"ShimmerEVM\"\n};\n\nvar c150 = {\n \"chain\": \"FIVENET\",\n \"chainId\": 150,\n \"explorers\": [{\n \"name\": \"SIX Scan fivenet\",\n \"url\": \"https://sixscan.io/fivenet\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.sixprotocol.net\"],\n \"icon\": {\n \"url\": \"ipfs://QmP93z696v8Hetu13peY2oEHDXq8Bj5CqaDRwpVkpnM15A\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://six.network/\",\n \"name\": \"Six Protocol Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SIX testnet evm token\",\n \"symbol\": \"tSIX\",\n \"decimals\": 18\n },\n \"networkId\": 150,\n \"rpc\": [\"https://150.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-evm.fivenet.sixprotocol.net\"],\n \"shortName\": \"sixt\",\n \"slug\": \"six-protocol-testnet\",\n \"testnet\": true\n};\n\nvar c151 = {\n \"chain\": \"RBN\",\n \"chainId\": 151,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://redbelly.network\",\n \"name\": \"Redbelly Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Redbelly Network Coin\",\n \"symbol\": \"RBNT\",\n \"decimals\": 18\n },\n \"networkId\": 151,\n \"rpc\": [],\n \"shortName\": \"rbn\",\n \"slip44\": 824,\n \"slug\": \"redbelly-network\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c152 = {\n \"chain\": \"RBN\",\n \"chainId\": 152,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://redbelly.network\",\n \"name\": \"Redbelly Network Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Redbelly Network Coin\",\n \"symbol\": \"RBNT\",\n \"decimals\": 18\n },\n \"networkId\": 152,\n \"rpc\": [],\n \"shortName\": \"rbn-devnet\",\n \"slug\": \"redbelly-network-devnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c153 = {\n \"chain\": \"RBN\",\n \"chainId\": 153,\n \"explorers\": [{\n \"name\": \"Redbelly Network Testnet Explorer\",\n \"url\": \"https://explorer.testnet.redbelly.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://redbelly.network\",\n \"name\": \"Redbelly Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Redbelly Network Coin\",\n \"symbol\": \"RBNT\",\n \"decimals\": 18\n },\n \"networkId\": 153,\n \"rpc\": [\"https://153.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://governors.testnet.redbelly.network\"],\n \"shortName\": \"rbn-testnet\",\n \"slip44\": 1,\n \"slug\": \"redbelly-network-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c154 = {\n \"chain\": \"RBN\",\n \"chainId\": 154,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://redbelly.network\",\n \"name\": \"Redbelly Network TGE\",\n \"nativeCurrency\": {\n \"name\": \"Redbelly Network Coin\",\n \"symbol\": \"RBNT\",\n \"decimals\": 18\n },\n \"networkId\": 154,\n \"rpc\": [],\n \"shortName\": \"rbn-tge\",\n \"slug\": \"redbelly-network-tge\",\n \"testnet\": false\n};\n\nvar c155 = {\n \"chain\": \"TENET\",\n \"chainId\": 155,\n \"explorers\": [{\n \"name\": \"TenetScan Testnet\",\n \"url\": \"https://testnet.tenetscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://faucet.testnet.tenet.org\"],\n \"icon\": {\n \"url\": \"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://tenet.org/\",\n \"name\": \"Tenet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TENET\",\n \"symbol\": \"TENET\",\n \"decimals\": 18\n },\n \"networkId\": 155,\n \"rpc\": [\"https://155.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.tenet.org\"],\n \"shortName\": \"tenet-testnet\",\n \"slip44\": 1,\n \"slug\": \"tenet-testnet\",\n \"testnet\": true,\n \"title\": \"Tenet Testnet\"\n};\n\nvar c156 = {\n \"chain\": \"OEBt\",\n \"chainId\": 156,\n \"explorers\": [{\n \"name\": \"OEScan explorer\",\n \"url\": \"https://testnet.oescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmdoQUfYqtkWMfjtoPv2KWDY4MxDDSsyWgwXtCx6jfkezz\",\n \"width\": 155,\n \"height\": 177,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.oeblock.com/\",\n \"name\": \"OEBlock Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OEBlock\",\n \"symbol\": \"OEB\",\n \"decimals\": 18\n },\n \"networkId\": 156,\n \"rpc\": [\"https://156.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.oeblock.com\"],\n \"shortName\": \"obe\",\n \"slip44\": 1,\n \"slug\": \"oeblock-testnet\",\n \"testnet\": true\n};\n\nvar c157 = {\n \"chain\": \"Puppynet Shibarium\",\n \"chainId\": 157,\n \"explorers\": [{\n \"name\": \"puppyscan\",\n \"url\": \"https://puppyscan.shib.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://beta.shibariumtech.com/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmYNVkoZgRjDBQzJz6kog9mA2yPzQFW2oSKvhnkwuBhLQE\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shibariumecosystem.com\",\n \"name\": \"Puppynet Shibarium\",\n \"nativeCurrency\": {\n \"name\": \"BONE\",\n \"symbol\": \"BONE\",\n \"decimals\": 18\n },\n \"networkId\": 157,\n \"rpc\": [\"https://157.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://puppynet.shibrpc.com\"],\n \"shortName\": \"puppynet\",\n \"slug\": \"puppynet-shibarium\",\n \"testnet\": false\n};\n\nvar c158 = {\n \"chain\": \"RBA\",\n \"chainId\": 158,\n \"explorers\": [{\n \"name\": \"Rbascan Explorer\",\n \"url\": \"https://rbascan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTk1uhB9nvnvXifvwEPGFcdgsXRt4EXNjovUGyUmfFRcB\",\n \"width\": 4000,\n \"height\": 4000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.roburna.com/\",\n \"name\": \"Roburna Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Roburna\",\n \"symbol\": \"RBA\",\n \"decimals\": 18\n },\n \"networkId\": 158,\n \"rpc\": [\"https://158.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed.roburna.com\"],\n \"shortName\": \"rba\",\n \"slug\": \"roburna\",\n \"testnet\": false\n};\n\nvar c159 = {\n \"chain\": \"RBAT\",\n \"chainId\": 159,\n \"explorers\": [{\n \"name\": \"Rbascan Testnet Explorer\",\n \"url\": \"https://testnet.rbascan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTk1uhB9nvnvXifvwEPGFcdgsXRt4EXNjovUGyUmfFRcB\",\n \"width\": 4000,\n \"height\": 4000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.roburna.com/\",\n \"name\": \"Roburna Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Roburna\",\n \"symbol\": \"RBAT\",\n \"decimals\": 18\n },\n \"networkId\": 159,\n \"rpc\": [\"https://159.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://preseed-testnet-1.roburna.com\"],\n \"shortName\": \"rbat\",\n \"slug\": \"roburna-testnet\",\n \"testnet\": true\n};\n\nvar c160 = {\n \"chain\": \"Eva\",\n \"chainId\": 160,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://amax.network\",\n \"name\": \"Armonia Eva Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Armonia Multichain Native Token\",\n \"symbol\": \"AMAX\",\n \"decimals\": 18\n },\n \"networkId\": 160,\n \"rpc\": [\"https://160.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evascan.io/api/eth-rpc/\"],\n \"shortName\": \"eva\",\n \"slug\": \"armonia-eva-chain\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c161 = {\n \"chain\": \"Wall-e\",\n \"chainId\": 161,\n \"explorers\": [{\n \"name\": \"blockscout - evascan\",\n \"url\": \"https://testnet.evascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://amax.network\",\n \"name\": \"Armonia Eva Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Armonia Multichain Native Token\",\n \"symbol\": \"AMAX\",\n \"decimals\": 18\n },\n \"networkId\": 161,\n \"rpc\": [\"https://161.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.evascan.io/api/eth-rpc/\"],\n \"shortName\": \"wall-e\",\n \"slip44\": 1,\n \"slug\": \"armonia-eva-chain-testnet\",\n \"testnet\": true\n};\n\nvar c162 = {\n \"chain\": \"PHT\",\n \"chainId\": 162,\n \"explorers\": [],\n \"faucets\": [\"https://discuss.lightstreams.network/t/request-test-tokens\"],\n \"infoURL\": \"https://explorer.sirius.lightstreams.io\",\n \"name\": \"Lightstreams Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Lightstreams PHT\",\n \"symbol\": \"PHT\",\n \"decimals\": 18\n },\n \"networkId\": 162,\n \"rpc\": [\"https://162.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.sirius.lightstreams.io\"],\n \"shortName\": \"tpht\",\n \"slip44\": 1,\n \"slug\": \"lightstreams-testnet\",\n \"testnet\": true\n};\n\nvar c163 = {\n \"chain\": \"PHT\",\n \"chainId\": 163,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://explorer.lightstreams.io\",\n \"name\": \"Lightstreams Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Lightstreams PHT\",\n \"symbol\": \"PHT\",\n \"decimals\": 18\n },\n \"networkId\": 163,\n \"rpc\": [\"https://163.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.mainnet.lightstreams.io\"],\n \"shortName\": \"pht\",\n \"slug\": \"lightstreams\",\n \"testnet\": false\n};\n\nvar c164 = {\n \"chain\": \"Omni\",\n \"chainId\": 164,\n \"explorers\": [{\n \"name\": \"Omni X-Explorer\",\n \"url\": \"https://explorer.testnet.omni.network\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Omni EVM Explorer on Blockscout\",\n \"url\": \"https://omni-testnet.blockscout.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Omni EVM Explorer on Routescan\",\n \"url\": \"https://testnet.omniscan.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://docs.omni.network\",\n \"name\": \"Omni Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Omni\",\n \"symbol\": \"OMNI\",\n \"decimals\": 18\n },\n \"networkId\": 164,\n \"rpc\": [\"https://164.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.omni.network\"],\n \"shortName\": \"omni_testnet\",\n \"slip44\": 1,\n \"slug\": \"omni-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c165 = {\n \"chain\": \"Omni\",\n \"chainId\": 165,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://docs.omni.network/\",\n \"name\": \"Omni Testnet (Deprecated)\",\n \"nativeCurrency\": {\n \"name\": \"Omni\",\n \"symbol\": \"OMNI\",\n \"decimals\": 18\n },\n \"networkId\": 165,\n \"rpc\": [],\n \"shortName\": \"omni_testnet_deprecated\",\n \"slip44\": 1,\n \"slug\": \"omni-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c166 = {\n \"chain\": \"Omni\",\n \"chainId\": 166,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://docs.omni.network/\",\n \"name\": \"Omni\",\n \"nativeCurrency\": {\n \"name\": \"Omni\",\n \"symbol\": \"OMNI\",\n \"decimals\": 18\n },\n \"networkId\": 166,\n \"rpc\": [],\n \"shortName\": \"omni\",\n \"slip44\": 1,\n \"slug\": \"omni\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c167 = {\n \"chain\": \"ATOSHI\",\n \"chainId\": 167,\n \"explorers\": [{\n \"name\": \"atoshiscan\",\n \"url\": \"https://scan.atoverse.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfFK6B4MFLrpSS46aLf7hjpt28poHFeTGEKEuH248Tbyj\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://atoshi.org\",\n \"name\": \"Atoshi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ATOSHI\",\n \"symbol\": \"ATOS\",\n \"decimals\": 18\n },\n \"networkId\": 167,\n \"rpc\": [\"https://167.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.atoshi.io/\"],\n \"shortName\": \"atoshi\",\n \"slip44\": 1,\n \"slug\": \"atoshi-testnet\",\n \"testnet\": true\n};\n\nvar c168 = {\n \"chain\": \"AIOZ\",\n \"chainId\": 168,\n \"explorers\": [{\n \"name\": \"AIOZ Network Explorer\",\n \"url\": \"https://explorer.aioz.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRAGPFhvQiXgoJkui7WHajpKctGFrJNhHqzYdwcWt5V3Z\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aioz.network\",\n \"name\": \"AIOZ Network\",\n \"nativeCurrency\": {\n \"name\": \"AIOZ\",\n \"symbol\": \"AIOZ\",\n \"decimals\": 18\n },\n \"networkId\": 168,\n \"rpc\": [\"https://168.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-dataseed.aioz.network\"],\n \"shortName\": \"aioz\",\n \"slip44\": 60,\n \"slug\": \"aioz-network\",\n \"testnet\": false\n};\n\nvar c169 = {\n \"chain\": \"Manta Pacific\",\n \"chainId\": 169,\n \"explorers\": [{\n \"name\": \"manta-pacific Explorer\",\n \"url\": \"https://pacific-explorer.manta.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTckcVTViRZ3NqT36MTt8AvgBSmudrbgU3pi8AaNtthoV\",\n \"width\": 834,\n \"height\": 834,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://pacific-info.manta.network\",\n \"name\": \"Manta Pacific Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 169,\n \"rpc\": [\"https://169.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pacific-rpc.manta.network/http\", \"https://manta-pacific.drpc.org\", \"wss://manta-pacific.drpc.org\"],\n \"shortName\": \"manta\",\n \"slug\": \"manta-pacific\",\n \"testnet\": false\n};\n\nvar c170 = {\n \"chain\": \"ETH\",\n \"chainId\": 170,\n \"explorers\": [],\n \"faucets\": [\"https://faucet-testnet.hscscan.com/\"],\n \"infoURL\": \"https://www.hoosmartchain.com\",\n \"name\": \"HOO Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"HOO\",\n \"symbol\": \"HOO\",\n \"decimals\": 18\n },\n \"networkId\": 170,\n \"rpc\": [\"https://170.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-testnet.hoosmartchain.com\"],\n \"shortName\": \"hoosmartchain\",\n \"slip44\": 1,\n \"slug\": \"hoo-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c172 = {\n \"chain\": \"Resil\",\n \"chainId\": 172,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.latam-blockchain.com\"],\n \"infoURL\": \"https://latam-blockchain.com\",\n \"name\": \"Latam-Blockchain Resil Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Latam-Blockchain Resil Test Native Token\",\n \"symbol\": \"usd\",\n \"decimals\": 18\n },\n \"networkId\": 172,\n \"rpc\": [\"https://172.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.latam-blockchain.com\", \"wss://ws.latam-blockchain.com\"],\n \"shortName\": \"resil\",\n \"slip44\": 1,\n \"slug\": \"latam-blockchain-resil-testnet\",\n \"testnet\": true\n};\n\nvar c176 = {\n \"chain\": \"dcchain\",\n \"chainId\": 176,\n \"explorers\": [{\n \"name\": \"dcscan\",\n \"url\": \"https://exp.dcnetio.cloud\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQsNtUoaKUHWaxFMBuCQwkX9WmKHz7iNotcZTFkWo7Qgt\",\n \"width\": 1020,\n \"height\": 1022,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.dcnetio.cloud\",\n \"name\": \"DC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DC Native Token\",\n \"symbol\": \"DCT\",\n \"decimals\": 18\n },\n \"networkId\": 176,\n \"rpc\": [\"https://176.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dcnetio.cloud\", \"wss://ws.dcnetio.cloud\"],\n \"shortName\": \"dcchain\",\n \"slug\": \"dc\",\n \"testnet\": false\n};\n\nvar c180 = {\n \"chain\": \"AME\",\n \"chainId\": 180,\n \"explorers\": [{\n \"name\": \"AME Scan\",\n \"url\": \"https://amescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://amechain.io/\",\n \"name\": \"AME Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"AME\",\n \"symbol\": \"AME\",\n \"decimals\": 18\n },\n \"networkId\": 180,\n \"rpc\": [\"https://180.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.amechain.io/\"],\n \"shortName\": \"ame\",\n \"slug\": \"ame-chain\",\n \"testnet\": false\n};\n\nvar c181 = {\n \"chain\": \"Waterfall Network\",\n \"chainId\": 181,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSDJPBKh9cLVL8UZ5KYwdwPyhD8bRWNb33jjt48wtu5Uc\",\n \"width\": 241,\n \"height\": 179,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://waterfall.network\",\n \"name\": \"Waterfall Network\",\n \"nativeCurrency\": {\n \"name\": \"WATER\",\n \"symbol\": \"WATER\",\n \"decimals\": 18\n },\n \"networkId\": 181,\n \"rpc\": [\"https://181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.waterfall.network/\"],\n \"shortName\": \"water\",\n \"slug\": \"waterfall-network\",\n \"testnet\": false\n};\n\nvar c185 = {\n \"chain\": \"ETH\",\n \"chainId\": 185,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.mintchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVfsiKWkiYzxoq1j2Ri3yLYGvgHJBPybVEPsgyw5kqsMN\",\n \"width\": 96,\n \"height\": 96,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVfsiKWkiYzxoq1j2Ri3yLYGvgHJBPybVEPsgyw5kqsMN\",\n \"width\": 96,\n \"height\": 96,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.mintchain.io\",\n \"name\": \"Mint Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 185,\n \"rpc\": [\"https://185.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mintchain.io\", \"https://global.rpc.mintchain.io\", \"https://asia.rpc.mintchain.io\"],\n \"shortName\": \"mint\",\n \"slug\": \"mint\",\n \"testnet\": false\n};\n\nvar c186 = {\n \"chain\": \"Seele\",\n \"chainId\": 186,\n \"explorers\": [{\n \"name\": \"seeleview\",\n \"url\": \"https://seeleview.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://seelen.pro/\",\n \"name\": \"Seele Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Seele\",\n \"symbol\": \"Seele\",\n \"decimals\": 18\n },\n \"networkId\": 186,\n \"rpc\": [\"https://186.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.seelen.pro/\"],\n \"shortName\": \"Seele\",\n \"slug\": \"seele\",\n \"testnet\": false\n};\n\nvar c188 = {\n \"chain\": \"BMC\",\n \"chainId\": 188,\n \"explorers\": [{\n \"name\": \"Blockmeta\",\n \"url\": \"https://bmc.blockmeta.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bmc.bytom.io/\",\n \"name\": \"BMC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTM\",\n \"symbol\": \"BTM\",\n \"decimals\": 18\n },\n \"networkId\": 188,\n \"rpc\": [\"https://188.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.bmcchain.com/\"],\n \"shortName\": \"BMC\",\n \"slug\": \"bmc\",\n \"testnet\": false\n};\n\nvar c189 = {\n \"chain\": \"BMC\",\n \"chainId\": 189,\n \"explorers\": [{\n \"name\": \"Blockmeta\",\n \"url\": \"https://bmctestnet.blockmeta.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bmc.bytom.io/\",\n \"name\": \"BMC Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTM\",\n \"symbol\": \"BTM\",\n \"decimals\": 18\n },\n \"networkId\": 189,\n \"rpc\": [\"https://189.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bmcchain.com\"],\n \"shortName\": \"BMCT\",\n \"slip44\": 1,\n \"slug\": \"bmc-testnet\",\n \"testnet\": true\n};\n\nvar c191 = {\n \"chain\": \"FFG\",\n \"chainId\": 191,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreihsas2rwakc7lllmtb4pcgwutlel2woibmqmhd4aiin342zgtpmwy\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filefilego.com\",\n \"name\": \"FileFileGo\",\n \"nativeCurrency\": {\n \"name\": \"FFG\",\n \"symbol\": \"FFG\",\n \"decimals\": 18\n },\n \"networkId\": 191,\n \"rpc\": [\"https://191.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.filefilego.com/rpc\"],\n \"shortName\": \"ffg\",\n \"slug\": \"filefilego\",\n \"testnet\": false\n};\n\nvar c193 = {\n \"chain\": \"CEM\",\n \"chainId\": 193,\n \"explorers\": [{\n \"name\": \"cemscan\",\n \"url\": \"https://cemscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://cemblockchain.com/\",\n \"name\": \"Crypto Emergency\",\n \"nativeCurrency\": {\n \"name\": \"Crypto Emergency\",\n \"symbol\": \"CEM\",\n \"decimals\": 18\n },\n \"networkId\": 193,\n \"rpc\": [\"https://193.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cemchain.com\"],\n \"shortName\": \"cem\",\n \"slug\": \"crypto-emergency\",\n \"testnet\": false\n};\n\nvar c195 = {\n \"chain\": \"X Layer\",\n \"chainId\": 195,\n \"explorers\": [{\n \"name\": \"OKLink\",\n \"url\": \"https://www.oklink.com/xlayer-test\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.okx.com/xlayer/faucet\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSLkiAAr6VtJ6jEqEzz3QdZtVEHzR6Az7E4XD8qXwjuio\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.okx.com/xlayer\",\n \"name\": \"X Layer Testnet\",\n \"nativeCurrency\": {\n \"name\": \"X Layer Global Utility Token in testnet\",\n \"symbol\": \"OKB\",\n \"decimals\": 18\n },\n \"networkId\": 195,\n \"rpc\": [\"https://195.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testrpc.xlayer.tech\", \"https://xlayertestrpc.okx.com\"],\n \"shortName\": \"tokb\",\n \"slip44\": 1,\n \"slug\": \"x-layer-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c196 = {\n \"chain\": \"X Layer\",\n \"chainId\": 196,\n \"explorers\": [{\n \"name\": \"OKLink\",\n \"url\": \"https://www.oklink.com/xlayer\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSLkiAAr6VtJ6jEqEzz3QdZtVEHzR6Az7E4XD8qXwjuio\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.okx.com/xlayer\",\n \"name\": \"X Layer Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"X Layer Global Utility Token\",\n \"symbol\": \"OKB\",\n \"decimals\": 18\n },\n \"networkId\": 196,\n \"rpc\": [\"https://196.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.xlayer.tech\", \"https://xlayerrpc.okx.com\"],\n \"shortName\": \"okb\",\n \"slug\": \"x-layer\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c197 = {\n \"chain\": \"NEUTR\",\n \"chainId\": 197,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.neutrinoschain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://neutrinoschain.com/faucet\"],\n \"infoURL\": \"https://docs.neutrinoschain.com\",\n \"name\": \"Neutrinos TestNet\",\n \"nativeCurrency\": {\n \"name\": \"Neutrinos\",\n \"symbol\": \"NEUTR\",\n \"decimals\": 18\n },\n \"networkId\": 197,\n \"rpc\": [\"https://197.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.neutrinoschain.com\"],\n \"shortName\": \"NEUTR\",\n \"slip44\": 1,\n \"slug\": \"neutrinos-testnet\",\n \"testnet\": true\n};\n\nvar c198 = {\n \"chain\": \"Bit\",\n \"chainId\": 198,\n \"explorers\": [{\n \"name\": \"Bitchain Scan\",\n \"url\": \"https://explorer.bitchain.biz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.bitchain.biz/\",\n \"name\": \"Bitchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 198,\n \"rpc\": [\"https://198.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bitchain.biz/\"],\n \"shortName\": \"bit\",\n \"slug\": \"bitchain\",\n \"testnet\": false\n};\n\nvar c199 = {\n \"chain\": \"BTTC\",\n \"chainId\": 199,\n \"explorers\": [{\n \"name\": \"BitTorrent Chain Explorer\",\n \"url\": \"https://bttcscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bt.io\",\n \"name\": \"BitTorrent Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BitTorrent\",\n \"symbol\": \"BTT\",\n \"decimals\": 18\n },\n \"networkId\": 199,\n \"rpc\": [\"https://199.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bt.io\", \"https://bittorrent.drpc.org\", \"wss://bittorrent.drpc.org\"],\n \"shortName\": \"BTT\",\n \"slug\": \"bittorrent-chain\",\n \"testnet\": false\n};\n\nvar c200 = {\n \"chain\": \"AOX\",\n \"chainId\": 200,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.com/xdai/arbitrum\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://xdaichain.com\",\n \"name\": \"Arbitrum on xDai\",\n \"nativeCurrency\": {\n \"name\": \"xDAI\",\n \"symbol\": \"xDAI\",\n \"decimals\": 18\n },\n \"networkId\": 200,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-100\"\n },\n \"rpc\": [\"https://200.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://arbitrum.xdaichain.com/\"],\n \"shortName\": \"aox\",\n \"slug\": \"arbitrum-on-xdai\",\n \"testnet\": false\n};\n\nvar c201 = {\n \"chain\": \"MOAC\",\n \"chainId\": 201,\n \"explorers\": [{\n \"name\": \"moac testnet explorer\",\n \"url\": \"https://testnet.moac.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://moac.io\",\n \"name\": \"MOAC testnet\",\n \"nativeCurrency\": {\n \"name\": \"MOAC\",\n \"symbol\": \"mc\",\n \"decimals\": 18\n },\n \"networkId\": 201,\n \"rpc\": [\"https://201.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gateway.moac.io/testnet\"],\n \"shortName\": \"moactest\",\n \"slip44\": 1,\n \"slug\": \"moac-testnet\",\n \"testnet\": true\n};\n\nvar c202 = {\n \"chain\": \"EdgelessTestnet\",\n \"chainId\": 202,\n \"explorers\": [{\n \"name\": \"Edgeless Explorer\",\n \"url\": \"https://testnet.explorer.edgeless.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://edgeless.network\",\n \"name\": \"Edgeless Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Edgeless Wrapped Eth\",\n \"symbol\": \"EwEth\",\n \"decimals\": 18\n },\n \"networkId\": 202,\n \"rpc\": [\"https://202.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.edgeless.network/http\"],\n \"shortName\": \"edgeless-testnet\",\n \"slug\": \"edgeless-testnet\",\n \"testnet\": true\n};\n\nvar c204 = {\n \"chain\": \"opBNB\",\n \"chainId\": 204,\n \"explorers\": [{\n \"name\": \"opbnbscan\",\n \"url\": \"https://mainnet.opbnbscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXxTwwfYzagtJqvWreUDoq4pKz3A22YmAi7c3hcgZp5Rt/bnb-bnb-logo.png\",\n \"width\": 96,\n \"height\": 96,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://opbnb.bnbchain.org/en\",\n \"name\": \"opBNB Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BNB Chain Native Token\",\n \"symbol\": \"BNB\",\n \"decimals\": 18\n },\n \"networkId\": 204,\n \"redFlags\": [],\n \"rpc\": [\"https://204.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://opbnb-mainnet-rpc.bnbchain.org\", \"https://opbnb-mainnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3\", \"wss://opbnb-mainnet.nodereal.io/ws/v1/64a9df0874fb4a93b9d0a3849de012d3\", \"https://opbnb-mainnet.nodereal.io/v1/e9a36765eb8a40b9bd12e680a1fd2bc5\", \"wss://opbnb-mainnet.nodereal.io/ws/v1/e9a36765eb8a40b9bd12e680a1fd2bc5\", \"https://opbnb-rpc.publicnode.com\", \"wss://opbnb-rpc.publicnode.com\", \"https://opbnb.drpc.org\", \"wss://opbnb.drpc.org\"],\n \"shortName\": \"obnb\",\n \"slip44\": 714,\n \"slug\": \"opbnb\",\n \"testnet\": false\n};\n\nvar c206 = {\n \"chain\": \"VinuChain Testnet\",\n \"chainId\": 206,\n \"explorers\": [{\n \"name\": \"VinuScan Testnet\",\n \"url\": \"https://testnet.vinuscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiayq7a5qncxzlilfnvpgzt4pwfxbof2qrqr2nyd2suztfummpty4i\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidtie4srt52ry67wd3dpxhklmug2ozrawvf3jdlljveinp3frutra\",\n \"width\": 2000,\n \"height\": 392,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://vitainu.org\",\n \"name\": \"VinuChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"VinuChain\",\n \"symbol\": \"VC\",\n \"decimals\": 18\n },\n \"networkId\": 206,\n \"rpc\": [\"https://206.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://vinufoundation-rpc.com\"],\n \"shortName\": \"VCTEST\",\n \"slip44\": 1,\n \"slug\": \"vinuchain-testnet\",\n \"testnet\": true\n};\n\nvar c207 = {\n \"chain\": \"VinuChain\",\n \"chainId\": 207,\n \"explorers\": [{\n \"name\": \"VinuScan\",\n \"url\": \"https://vinuscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiayq7a5qncxzlilfnvpgzt4pwfxbof2qrqr2nyd2suztfummpty4i\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiderli6uaaxk7eboyf7g4abnybgrkbglmqbkmf25z57ode7zdzmvy\",\n \"width\": 613,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://vitainu.org\",\n \"name\": \"VinuChain Network\",\n \"nativeCurrency\": {\n \"name\": \"VinuChain\",\n \"symbol\": \"VC\",\n \"decimals\": 18\n },\n \"networkId\": 207,\n \"rpc\": [\"https://207.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://vinuchain-rpc.com\"],\n \"shortName\": \"VC\",\n \"slug\": \"vinuchain-network\",\n \"testnet\": false\n};\n\nvar c208 = {\n \"chain\": \"utx\",\n \"chainId\": 208,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://structx.io\",\n \"name\": \"Structx Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Notes\",\n \"symbol\": \"utx\",\n \"decimals\": 18\n },\n \"networkId\": 208,\n \"rpc\": [\"https://208.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.structx.io\"],\n \"shortName\": \"utx\",\n \"slug\": \"structx\",\n \"testnet\": false\n};\n\nvar c210 = {\n \"chain\": \"BTN\",\n \"chainId\": 210,\n \"explorers\": [{\n \"name\": \"Bitnet Explorer\",\n \"url\": \"https://btnscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9h3nFiCzaBLnBNw8Wot4U7vvEVK45EQfi8nxH4nvrmz\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bitnet.money\",\n \"name\": \"Bitnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitnet\",\n \"symbol\": \"BTN\",\n \"decimals\": 18\n },\n \"networkId\": 210,\n \"rpc\": [\"https://210.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bitnet.money\", \"https://rpc.btnscan.com\"],\n \"shortName\": \"BTN\",\n \"slug\": \"bitnet\",\n \"testnet\": false\n};\n\nvar c211 = {\n \"chain\": \"EDI\",\n \"chainId\": 211,\n \"explorers\": [],\n \"faucets\": [\"http://faucet.freight.sh\"],\n \"infoURL\": \"https://freighttrust.com\",\n \"name\": \"Freight Trust Network\",\n \"nativeCurrency\": {\n \"name\": \"Freight Trust Native\",\n \"symbol\": \"0xF\",\n \"decimals\": 18\n },\n \"networkId\": 0,\n \"rpc\": [\"https://211.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://13.57.207.168:3435\", \"https://app.freighttrust.net/ftn/${API_KEY}\"],\n \"shortName\": \"EDI\",\n \"slug\": \"freight-trust-network\",\n \"testnet\": false\n};\n\nvar c212 = {\n \"chain\": \"MAPO\",\n \"chainId\": 212,\n \"explorers\": [{\n \"name\": \"maposcan\",\n \"url\": \"https://testnet.maposcan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.mapprotocol.io\"],\n \"infoURL\": \"https://mapprotocol.io/\",\n \"name\": \"MAPO Makalu\",\n \"nativeCurrency\": {\n \"name\": \"Makalu MAPO\",\n \"symbol\": \"MAPO\",\n \"decimals\": 18\n },\n \"networkId\": 212,\n \"rpc\": [\"https://212.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.maplabs.io\"],\n \"shortName\": \"makalu\",\n \"slug\": \"mapo-makalu\",\n \"testnet\": true,\n \"title\": \"MAPO Testnet Makalu\"\n};\n\nvar c213 = {\n \"chain\": \"B2\",\n \"chainId\": 213,\n \"explorers\": [{\n \"name\": \"B2 Hub Mainnet Explorer\",\n \"url\": \"https://hub-explorer.bsquared.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bsquared.network\",\n \"name\": \"B2 Hub Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BSquared Token\",\n \"symbol\": \"B2\",\n \"decimals\": 18\n },\n \"networkId\": 213,\n \"rpc\": [\"https://213.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hub-rpc.bsquared.network\"],\n \"shortName\": \"B2Hub-mainnet\",\n \"slug\": \"b2-hub\",\n \"testnet\": false\n};\n\nvar c214 = {\n \"chain\": \"Shinarium\",\n \"chainId\": 214,\n \"explorers\": [{\n \"name\": \"shinascan\",\n \"url\": \"https://shinascan.shinarium.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiadbavrwcial76vs5ovhyykyaobteltuhliqcthdairbja4klwzhu\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shinarium.org\",\n \"name\": \"Shinarium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Shina Inu\",\n \"symbol\": \"SHI\",\n \"decimals\": 18\n },\n \"networkId\": 214,\n \"rpc\": [\"https://214.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.shinarium.org\"],\n \"shortName\": \"shinarium\",\n \"slug\": \"shinarium\",\n \"testnet\": false\n};\n\nvar c217 = {\n \"chain\": \"SIN2\",\n \"chainId\": 217,\n \"explorers\": [{\n \"name\": \"siriusnet explorer\",\n \"url\": \"https://scan.siriusnet.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeicxuxdzrzpwsil4owqmn7wpwka2rqsohpfqmukg57pifzyxr5om2q\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://siriusnet.io\",\n \"name\": \"SiriusNet V2\",\n \"nativeCurrency\": {\n \"name\": \"MCD\",\n \"symbol\": \"MCD\",\n \"decimals\": 18\n },\n \"networkId\": 217,\n \"rpc\": [\"https://217.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc2.siriusnet.io\"],\n \"shortName\": \"SIN2\",\n \"slug\": \"siriusnet-v2\",\n \"testnet\": false\n};\n\nvar c218 = {\n \"chain\": \"SOTER\",\n \"chainId\": 218,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.soterone.com\",\n \"name\": \"SoterOne Mainnet old\",\n \"nativeCurrency\": {\n \"name\": \"SoterOne Mainnet Ether\",\n \"symbol\": \"SOTER\",\n \"decimals\": 18\n },\n \"networkId\": 218,\n \"rpc\": [\"https://218.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.soter.one\"],\n \"shortName\": \"SO1-old\",\n \"slug\": \"soterone-old\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c220 = {\n \"chain\": \"Flag\",\n \"chainId\": 220,\n \"explorers\": [{\n \"name\": \"flagscan\",\n \"url\": \"https://scan.flagscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXo2p1i4zsbTNEu41EjjrhdmbKFDGHEHeADXZ3x2fgNKE/1682003789585.jpeg\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"jpeg\"\n },\n \"infoURL\": \"https://flagblockchain.com/\",\n \"name\": \"Flag Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Flag\",\n \"symbol\": \"Flag\",\n \"decimals\": 18\n },\n \"networkId\": 220,\n \"redFlags\": [],\n \"rpc\": [\"https://220.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.flagscan.io/\"],\n \"shortName\": \"Flag\",\n \"slug\": \"flag-flag\",\n \"testnet\": false\n};\n\nvar c222 = {\n \"chain\": \"ASK\",\n \"chainId\": 222,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://permission.io/\",\n \"name\": \"Permission\",\n \"nativeCurrency\": {\n \"name\": \"ASK\",\n \"symbol\": \"ASK\",\n \"decimals\": 18\n },\n \"networkId\": 2221,\n \"rpc\": [\"https://222.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://blockchain-api-mainnet.permission.io/rpc\"],\n \"shortName\": \"ASK\",\n \"slip44\": 2221,\n \"slug\": \"permission\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c223 = {\n \"chain\": \"B2\",\n \"chainId\": 223,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.bsquared.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bsquared.network\",\n \"name\": \"B2 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 223,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-213\",\n \"bridges\": [{\n \"url\": \"https://www.bsquared.network/bridge\"\n }]\n },\n \"rpc\": [\"https://223.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.b2-rpc.com\", \"https://rpc.bsquared.network\", \"https://b2-mainnet.alt.technology\", \"https://b2-mainnet-public.s.chainbase.com\", \"https://rpc.ankr.com/b2\"],\n \"shortName\": \"B2-mainnet\",\n \"slug\": \"b2\",\n \"testnet\": false,\n \"title\": \"B2 Mainnet\"\n};\n\nvar c224 = {\n \"chain\": \"VRD\",\n \"chainId\": 224,\n \"explorers\": [{\n \"name\": \"Viridis Testnet\",\n \"url\": \"https://testnet.vrd.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.vrd.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmPdxcJwPogfZdec7UAqxeatRxrivEktpP1ftJBTeJQTdR\",\n \"width\": 3000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://viridis.network\",\n \"name\": \"Viridis Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Viridis Token\",\n \"symbol\": \"VRD\",\n \"decimals\": 18\n },\n \"networkId\": 224,\n \"rpc\": [\"https://224.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.vrd.network\"],\n \"shortName\": \"VRD-Testnet\",\n \"slug\": \"viridis-testnet\",\n \"testnet\": true\n};\n\nvar c225 = {\n \"chain\": \"LA\",\n \"chainId\": 225,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.lachain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQxGA6rhuCQDXUueVcNvFRhMEWisyTmnF57TqL7h6k6cZ\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lachain.io\",\n \"name\": \"LACHAIN Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LA\",\n \"symbol\": \"LA\",\n \"decimals\": 18\n },\n \"networkId\": 225,\n \"rpc\": [\"https://225.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.lachain.io\"],\n \"shortName\": \"LA\",\n \"slug\": \"lachain\",\n \"testnet\": false\n};\n\nvar c226 = {\n \"chain\": \"TLA\",\n \"chainId\": 226,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan-test.lachain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQxGA6rhuCQDXUueVcNvFRhMEWisyTmnF57TqL7h6k6cZ\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lachain.io\",\n \"name\": \"LACHAIN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TLA\",\n \"symbol\": \"TLA\",\n \"decimals\": 18\n },\n \"networkId\": 226,\n \"rpc\": [\"https://226.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.lachain.io\"],\n \"shortName\": \"TLA\",\n \"slip44\": 1,\n \"slug\": \"lachain-testnet\",\n \"testnet\": true\n};\n\nvar c228 = {\n \"chain\": \"FHE\",\n \"chainId\": 228,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://mindnetwork.xyz\",\n \"name\": \"Mind Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"FHE\",\n \"symbol\": \"FHE\",\n \"decimals\": 18\n },\n \"networkId\": 228,\n \"rpc\": [\"https://228.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc_mainnet.mindnetwork.xyz\", \"wss://rpc_mainnet.mindnetwork.xyz\"],\n \"shortName\": \"fhe\",\n \"slug\": \"mind-network\",\n \"testnet\": false\n};\n\nvar c230 = {\n \"chain\": \"SDX\",\n \"chainId\": 230,\n \"explorers\": [{\n \"name\": \"SwapDEX\",\n \"url\": \"https://evm.swapdex.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://swapdex.network/\",\n \"name\": \"SwapDEX\",\n \"nativeCurrency\": {\n \"name\": \"SwapDEX\",\n \"symbol\": \"SDX\",\n \"decimals\": 18\n },\n \"networkId\": 230,\n \"rpc\": [\"https://230.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.swapdex.network\", \"wss://ss.swapdex.network\"],\n \"shortName\": \"SDX\",\n \"slug\": \"swapdex\",\n \"testnet\": false\n};\n\nvar c234 = {\n \"chain\": \"Jumbo\",\n \"chainId\": 234,\n \"explorers\": [{\n \"name\": \"ProtoJumbo\",\n \"url\": \"https://protojumbo.jumbochain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://protojumbo.jumbochain.org/faucet-smart\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://jumbochain.org\",\n \"name\": \"ProtoJumbo Testnet\",\n \"nativeCurrency\": {\n \"name\": \"JNFTC\",\n \"symbol\": \"JNFTC\",\n \"decimals\": 18\n },\n \"networkId\": 234,\n \"rpc\": [\"https://234.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnode.jumbochain.org\"],\n \"shortName\": \"ProtoJumbo\",\n \"slip44\": 1,\n \"slug\": \"protojumbo-testnet\",\n \"testnet\": true\n};\n\nvar c236 = {\n \"chain\": \"Deamchain\",\n \"chainId\": 236,\n \"explorers\": [{\n \"name\": \"Deamchain Testnet Explorer\",\n \"url\": \"https://testnet-scan.deamchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://faucet.deamchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmXvHWmjfXKdZMSz7x82NR4SjEqigKdJELVHbnzUPkj17F\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://deamchain.com\",\n \"name\": \"Deamchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Deamchain Native Token\",\n \"symbol\": \"DEAM\",\n \"decimals\": 18\n },\n \"networkId\": 236,\n \"rpc\": [\"https://236.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.deamchain.com\"],\n \"shortName\": \"deamtest\",\n \"slip44\": 1,\n \"slug\": \"deamchain-testnet\",\n \"testnet\": true\n};\n\nvar c238 = {\n \"chain\": \"ETH\",\n \"chainId\": 238,\n \"explorers\": [{\n \"name\": \"Blast Mainnet\",\n \"url\": \"https://scan.blastblockchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdHpjiepU2Q4bt4kR48tKHPgaQW57Sb6UVFgLh4MCyg6U\",\n \"width\": 595,\n \"height\": 582,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.blastblockchain.com\",\n \"name\": \"Blast Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 238,\n \"rpc\": [\"https://238.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.blastblockchain.com\"],\n \"shortName\": \"blast\",\n \"slug\": \"blast\",\n \"testnet\": false\n};\n\nvar c242 = {\n \"chain\": \"Plinga\",\n \"chainId\": 242,\n \"explorers\": [{\n \"name\": \"plgscan\",\n \"url\": \"https://www.plgscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeibpvlod5nyev6wyuvp6pbestmgvru3ovbadsul32odpno26xwld6y\",\n \"width\": 1039,\n \"height\": 1022,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.plinga.technology/\",\n \"name\": \"Plinga Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Plinga\",\n \"symbol\": \"PLINGA\",\n \"decimals\": 18\n },\n \"networkId\": 242,\n \"rpc\": [\"https://242.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcurl.mainnet.plgchain.com\", \"https://rpcurl.plgchain.blockchain.evmnode.online\", \"https://rpcurl.mainnet.plgchain.plinga.technology\"],\n \"shortName\": \"plgchain\",\n \"slug\": \"plinga\",\n \"testnet\": false\n};\n\nvar c246 = {\n \"chain\": \"Energy Web Chain\",\n \"chainId\": 246,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.energyweb.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://energyweb.org\",\n \"name\": \"Energy Web Chain\",\n \"nativeCurrency\": {\n \"name\": \"Energy Web Token\",\n \"symbol\": \"EWT\",\n \"decimals\": 18\n },\n \"networkId\": 246,\n \"rpc\": [\"https://246.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.energyweb.org\", \"wss://rpc.energyweb.org/ws\"],\n \"shortName\": \"ewt\",\n \"slip44\": 246,\n \"slug\": \"energy-web-chain\",\n \"testnet\": false\n};\n\nvar c248 = {\n \"chain\": \"Oasys\",\n \"chainId\": 248,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.oasys.games\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYcGHTPheBwLv9zoJfQAJ7NB6MCtXe2zV7XqPyiTJg3WP/Oasys_Large%20Logo%20Black.png\",\n \"width\": 1250,\n \"height\": 1250,\n \"format\": \".png\"\n },\n \"infoURL\": \"https://oasys.games\",\n \"name\": \"Oasys Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 248,\n \"redFlags\": [],\n \"rpc\": [\"https://248.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.oasys.games\"],\n \"shortName\": \"OAS\",\n \"slug\": \"oasys\",\n \"testnet\": false\n};\n\nvar c250 = {\n \"chain\": \"FTM\",\n \"chainId\": 250,\n \"explorers\": [{\n \"name\": \"ftmscan\",\n \"url\": \"https://ftmscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRqbK449Fo9sJ3xMpkPbg6uV1weQj4yVV1xNMP9cdPmjf\",\n \"width\": 73,\n \"height\": 73,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://fantom.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/fantom/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://fantom.foundation\",\n \"name\": \"Fantom Opera\",\n \"nativeCurrency\": {\n \"name\": \"Fantom\",\n \"symbol\": \"FTM\",\n \"decimals\": 18\n },\n \"networkId\": 250,\n \"redFlags\": [],\n \"rpc\": [\"https://250.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ftm.tools\", \"https://fantom-rpc.publicnode.com\", \"wss://fantom-rpc.publicnode.com\", \"https://fantom.drpc.org\", \"wss://fantom.drpc.org\"],\n \"shortName\": \"ftm\",\n \"slug\": \"fantom\",\n \"testnet\": false\n};\n\nvar c252 = {\n \"chain\": \"FRAX\",\n \"chainId\": 252,\n \"explorers\": [{\n \"name\": \"fraxscan\",\n \"url\": \"https://fraxscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQLJk5G7zF8ZDxSxkRcpHqEqcifrJEhGmEKC6zwyPXWAw/fraxchain.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"PNG\"\n },\n \"infoURL\": \"https://mainnet.frax.com\",\n \"name\": \"Fraxtal\",\n \"nativeCurrency\": {\n \"name\": \"Frax Ether\",\n \"symbol\": \"frxETH\",\n \"decimals\": 18\n },\n \"networkId\": 252,\n \"redFlags\": [],\n \"rpc\": [\"https://252.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.frax.com\"],\n \"shortName\": \"fraxtal\",\n \"slug\": \"fraxtal\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c255 = {\n \"chain\": \"ETH\",\n \"chainId\": 255,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.kroma.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://kroma.network\",\n \"name\": \"Kroma\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 255,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://kroma.network/bridge\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://255.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.kroma.network\", \"https://1rpc.io/kroma\", \"https://rpc-kroma.rockx.com\"],\n \"shortName\": \"kroma\",\n \"slug\": \"kroma\",\n \"testnet\": false\n};\n\nvar c256 = {\n \"chain\": \"Heco\",\n \"chainId\": 256,\n \"explorers\": [],\n \"faucets\": [\"https://scan-testnet.hecochain.com/faucet\"],\n \"infoURL\": \"https://testnet.hecoinfo.com\",\n \"name\": \"Huobi ECO Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Huobi ECO Chain Test Native Token\",\n \"symbol\": \"htt\",\n \"decimals\": 18\n },\n \"networkId\": 256,\n \"rpc\": [\"https://256.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-testnet.hecochain.com\", \"wss://ws-testnet.hecochain.com\"],\n \"shortName\": \"hecot\",\n \"slug\": \"huobi-eco-chain-testnet\",\n \"testnet\": true\n};\n\nvar c258 = {\n \"chain\": \"Setheum\",\n \"chainId\": 258,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://setheum.xyz\",\n \"name\": \"Setheum\",\n \"nativeCurrency\": {\n \"name\": \"Setheum\",\n \"symbol\": \"SETM\",\n \"decimals\": 18\n },\n \"networkId\": 258,\n \"rpc\": [],\n \"shortName\": \"setm\",\n \"slug\": \"setheum\",\n \"testnet\": false\n};\n\nvar c259 = {\n \"chain\": \"Neonlink\",\n \"chainId\": 259,\n \"explorers\": [{\n \"name\": \"Neon Blockchain Explorer\",\n \"url\": \"https://scan.neonlink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://neonlink.io\",\n \"name\": \"Neonlink Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Neonlink Native Token\",\n \"symbol\": \"NEON\",\n \"decimals\": 18\n },\n \"networkId\": 259,\n \"rpc\": [\"https://259.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.neonlink.io\"],\n \"shortName\": \"neon\",\n \"slug\": \"neonlink\",\n \"testnet\": false\n};\n\nvar c262 = {\n \"chain\": \"SUR\",\n \"chainId\": 262,\n \"explorers\": [{\n \"name\": \"Surnet Explorer\",\n \"url\": \"https://explorer.surnet.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbUcDQHCvheYQrWk9WFJRMW5fTJQmtZqkoGUed4bhCM7T\",\n \"width\": 3000,\n \"height\": 3000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbUcDQHCvheYQrWk9WFJRMW5fTJQmtZqkoGUed4bhCM7T\",\n \"width\": 3000,\n \"height\": 3000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://surnet.org\",\n \"name\": \"SUR Blockchain Network\",\n \"nativeCurrency\": {\n \"name\": \"Suren\",\n \"symbol\": \"SRN\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://262.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sur.nilin.org\"],\n \"shortName\": \"SUR\",\n \"slug\": \"sur-blockchain-network\",\n \"testnet\": false\n};\n\nvar c266 = {\n \"chain\": \"NEURA\",\n \"chainId\": 266,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmWdpK5WFKrosaCSpJRCvU7uXeKk2qVeCckTxh6Zw2JrK8\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.neuraprotocol.io/\",\n \"name\": \"Neura\",\n \"nativeCurrency\": {\n \"name\": \"Ankr\",\n \"symbol\": \"ANKR\",\n \"decimals\": 18\n },\n \"networkId\": 266,\n \"rpc\": [],\n \"shortName\": \"neura\",\n \"slug\": \"neura\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Neura Mainnet\"\n};\n\nvar c267 = {\n \"chain\": \"NEURA\",\n \"chainId\": 267,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.neura-testnet.ankr.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"ankrscan-neura\",\n \"url\": \"https://testnet.explorer.neuraprotocol.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWdpK5WFKrosaCSpJRCvU7uXeKk2qVeCckTxh6Zw2JrK8\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://testnet.neuraprotocol.io/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmWdpK5WFKrosaCSpJRCvU7uXeKk2qVeCckTxh6Zw2JrK8\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.neuraprotocol.io/\",\n \"name\": \"Neura Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Ankr\",\n \"symbol\": \"ANKR\",\n \"decimals\": 18\n },\n \"networkId\": 267,\n \"rpc\": [\"https://267.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ankr.com/neura_testnet\"],\n \"shortName\": \"tneura\",\n \"slip44\": 1,\n \"slug\": \"neura-testnet\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Neura Testnet\"\n};\n\nvar c268 = {\n \"chain\": \"NEURA\",\n \"chainId\": 268,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmWdpK5WFKrosaCSpJRCvU7uXeKk2qVeCckTxh6Zw2JrK8\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.neuraprotocol.io/\",\n \"name\": \"Neura Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Devnet Ankr\",\n \"symbol\": \"ANKR\",\n \"decimals\": 18\n },\n \"networkId\": 268,\n \"rpc\": [],\n \"shortName\": \"dneura\",\n \"slip44\": 1,\n \"slug\": \"neura-devnet\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Neura Devnet\"\n};\n\nvar c269 = {\n \"chain\": \"HPB\",\n \"chainId\": 269,\n \"explorers\": [{\n \"name\": \"hscan\",\n \"url\": \"https://hscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://myhpbwallet.com/\"],\n \"infoURL\": \"https://hpb.io\",\n \"name\": \"High Performance Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"High Performance Blockchain Ether\",\n \"symbol\": \"HPB\",\n \"decimals\": 18\n },\n \"networkId\": 269,\n \"rpc\": [\"https://269.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hpbnode.com\", \"wss://ws.hpbnode.com\"],\n \"shortName\": \"hpb\",\n \"slip44\": 269,\n \"slug\": \"high-performance-blockchain\",\n \"testnet\": false\n};\n\nvar c271 = {\n \"chain\": \"EGON\",\n \"chainId\": 271,\n \"explorers\": [{\n \"name\": \"EgonCoin Mainnet\",\n \"url\": \"https://egonscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNZiMmzMQYjyGtNSghtzLg4UooYhDgMQsa677DAP5KsBg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://egonscan.com\",\n \"name\": \"EgonCoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EgonCoin\",\n \"symbol\": \"EGON\",\n \"decimals\": 18\n },\n \"networkId\": 271,\n \"rpc\": [\"https://271.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.egonscan.com\"],\n \"shortName\": \"EGONm\",\n \"slug\": \"egoncoin\",\n \"testnet\": false\n};\n\nvar c274 = {\n \"chain\": \"LaChain\",\n \"chainId\": 274,\n \"explorers\": [{\n \"name\": \"LaChain Explorer\",\n \"url\": \"https://explorer.lachain.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQxGA6rhuCQDXUueVcNvFRhMEWisyTmnF57TqL7h6k6cZ\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"name\": \"LaChain\",\n \"nativeCurrency\": {\n \"name\": \"LaCoin\",\n \"symbol\": \"LAC\",\n \"decimals\": 18\n },\n \"networkId\": 274,\n \"rpc\": [\"https://274.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.mainnet.lachain.network\", \"https://rpc2.mainnet.lachain.network\", \"https://lachain.rpc-nodes.cedalio.dev\"],\n \"shortName\": \"lachain\",\n \"slug\": \"lachain-lachain\",\n \"testnet\": false\n};\n\nvar c278 = {\n \"chain\": \"FAI\",\n \"chainId\": 278,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://xfair.ai\",\n \"name\": \"xFair.AI Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"FAI\",\n \"symbol\": \"FAI\",\n \"decimals\": 18\n },\n \"networkId\": 278,\n \"rpc\": [\"https://278.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc_mainnet.xfair.ai\", \"wss://rpc_mainnet.xfair.ai\"],\n \"shortName\": \"fai\",\n \"slug\": \"xfair-ai\",\n \"testnet\": false\n};\n\nvar c279 = {\n \"chain\": \"BPX\",\n \"chainId\": 279,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiatcu42wbjlo24mr35jou4awvsqpaqys6iv4kxgkjhno3haovsiaq\",\n \"width\": 140,\n \"height\": 140,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://bpxchain.cc\",\n \"name\": \"BPX Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"BPX\",\n \"symbol\": \"BPX\",\n \"decimals\": 18\n },\n \"networkId\": 279,\n \"rpc\": [\"https://279.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.bpxchain.cc\", \"https://bpx-dataseed.infinex.cc\"],\n \"shortName\": \"bpx\",\n \"slug\": \"bpx-blockchain\",\n \"testnet\": false\n};\n\nvar c280 = {\n \"chain\": \"ETH\",\n \"chainId\": 280,\n \"explorers\": [{\n \"name\": \"zkSync Era Block Explorer\",\n \"url\": \"https://goerli.explorer.zksync.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://zksync.io/\",\n \"name\": \"zkSync Era Goerli Testnet (deprecated)\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 280,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.zksync.io/\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://280.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.era.zksync.dev\"],\n \"shortName\": \"zksync-goerli\",\n \"slip44\": 1,\n \"slug\": \"zksync-era-goerli-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c282 = {\n \"chain\": \"CronosZkEVMTestnet\",\n \"chainId\": 282,\n \"explorers\": [{\n \"name\": \"Cronos zkEVM Testnet Explorer\",\n \"url\": \"https://explorer.zkevm.cronos.org/testnet\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://zkevm.cronos.org/faucet\"],\n \"infoURL\": \"https://docs-zkevm.cronos.org\",\n \"name\": \"Cronos zkEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Cronos zkEVM Test Coin\",\n \"symbol\": \"zkTCRO\",\n \"decimals\": 18\n },\n \"networkId\": 282,\n \"rpc\": [\"https://282.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.zkevm.cronos.org\"],\n \"shortName\": \"zkTCRO\",\n \"slip44\": 1,\n \"slug\": \"cronos-zkevm-testnet\",\n \"testnet\": true\n};\n\nvar c288 = {\n \"chain\": \"ETH\",\n \"chainId\": 288,\n \"explorers\": [{\n \"name\": \"Bobascan\",\n \"url\": \"https://bobascan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba Network\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 288,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://gateway.boba.network\"\n }]\n },\n \"rpc\": [\"https://288.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.boba.network\", \"https://replica.boba.network\", \"https://boba-ethereum.gateway.tenderly.co\", \"https://gateway.tenderly.co/public/boba-ethereum\", \"wss://boba-ethereum.gateway.tenderly.co/\", \"wss://gateway.tenderly.co/public/boba-ethereum\", \"https://boba-eth.drpc.org\", \"wss://boba-eth.drpc.org\"],\n \"shortName\": \"Boba\",\n \"slug\": \"boba-network\",\n \"testnet\": false\n};\n\nvar c291 = {\n \"chain\": \"ETH\",\n \"chainId\": 291,\n \"explorers\": [{\n \"name\": \"orderlyscout\",\n \"url\": \"https://explorer.orderly.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSpwp3RAVhZsErAQrCQxEmjnGqJQMigarzZbfqr9Ktakb\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Orderly Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 291,\n \"rpc\": [\"https://291.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.orderly.network\", \"https://l2-orderly-mainnet-0.t.conduit.xyz\"],\n \"shortName\": \"orderly\",\n \"slug\": \"orderly\",\n \"testnet\": false\n};\n\nvar c295 = {\n \"chain\": \"Hedera\",\n \"chainId\": 295,\n \"explorers\": [{\n \"name\": \"HashScan\",\n \"url\": \"https://hashscan.io/mainnet\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Arkhia Explorer\",\n \"url\": \"https://explorer.arkhia.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"DragonGlass\",\n \"url\": \"https://app.dragonglass.me\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Hedera Explorer\",\n \"url\": \"https://hederaexplorer.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Ledger Works Explore\",\n \"url\": \"https://explore.lworks.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQikzhvZKyMmbZJd7BVLZb2YTBDMgNDnaMCAErsVjsfuz\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hedera.com\",\n \"name\": \"Hedera Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"hbar\",\n \"symbol\": \"HBAR\",\n \"decimals\": 18\n },\n \"networkId\": 295,\n \"rpc\": [\"https://295.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.hashio.io/api\"],\n \"shortName\": \"hedera-mainnet\",\n \"slip44\": 3030,\n \"slug\": \"hedera\",\n \"testnet\": false\n};\n\nvar c296 = {\n \"chain\": \"Hedera\",\n \"chainId\": 296,\n \"explorers\": [{\n \"name\": \"HashScan\",\n \"url\": \"https://hashscan.io/testnet\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Arkhia Explorer\",\n \"url\": \"https://explorer.arkhia.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"DragonGlass\",\n \"url\": \"https://app.dragonglass.me\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Hedera Explorer\",\n \"url\": \"https://hederaexplorer.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Ledger Works Explore\",\n \"url\": \"https://explore.lworks.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://portal.hedera.com\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQikzhvZKyMmbZJd7BVLZb2YTBDMgNDnaMCAErsVjsfuz\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hedera.com\",\n \"name\": \"Hedera Testnet\",\n \"nativeCurrency\": {\n \"name\": \"hbar\",\n \"symbol\": \"HBAR\",\n \"decimals\": 18\n },\n \"networkId\": 296,\n \"rpc\": [\"https://296.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.hashio.io/api\"],\n \"shortName\": \"hedera-testnet\",\n \"slip44\": 1,\n \"slug\": \"hedera-testnet\",\n \"testnet\": true\n};\n\nvar c297 = {\n \"chain\": \"Hedera\",\n \"chainId\": 297,\n \"explorers\": [{\n \"name\": \"HashScan\",\n \"url\": \"https://hashscan.io/previewnet\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://portal.hedera.com\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQikzhvZKyMmbZJd7BVLZb2YTBDMgNDnaMCAErsVjsfuz\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hedera.com\",\n \"name\": \"Hedera Previewnet\",\n \"nativeCurrency\": {\n \"name\": \"hbar\",\n \"symbol\": \"HBAR\",\n \"decimals\": 18\n },\n \"networkId\": 297,\n \"rpc\": [\"https://297.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://previewnet.hashio.io/api\"],\n \"shortName\": \"hedera-previewnet\",\n \"slip44\": 3030,\n \"slug\": \"hedera-previewnet\",\n \"testnet\": false\n};\n\nvar c298 = {\n \"chain\": \"Hedera\",\n \"chainId\": 298,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQikzhvZKyMmbZJd7BVLZb2YTBDMgNDnaMCAErsVjsfuz\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hedera.com\",\n \"name\": \"Hedera Localnet\",\n \"nativeCurrency\": {\n \"name\": \"hbar\",\n \"symbol\": \"HBAR\",\n \"decimals\": 18\n },\n \"networkId\": 298,\n \"rpc\": [],\n \"shortName\": \"hedera-localnet\",\n \"slip44\": 3030,\n \"slug\": \"hedera-localnet\",\n \"testnet\": false\n};\n\nvar c300 = {\n \"chain\": \"ETH\",\n \"chainId\": 300,\n \"explorers\": [{\n \"name\": \"zkSync Block Explorer\",\n \"url\": \"https://sepolia.explorer.zksync.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://zksync.io/\",\n \"name\": \"zkSync Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 300,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.zksync.io/\"\n }]\n },\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://300.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.era.zksync.dev\", \"https://zksync-sepolia.drpc.org\", \"wss://zksync-sepolia.drpc.org\"],\n \"shortName\": \"zksync-sepolia\",\n \"slip44\": 1,\n \"slug\": \"zksync-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c301 = {\n \"chain\": \"Bobaopera\",\n \"chainId\": 301,\n \"explorers\": [{\n \"name\": \"Bobaopera block explorer\",\n \"url\": \"https://blockexplorer.bobaopera.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Bobaopera\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 301,\n \"rpc\": [\"https://301.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bobaopera.boba.network\", \"wss://wss.bobaopera.boba.network\", \"https://replica.bobaopera.boba.network\", \"wss://replica-wss.bobaopera.boba.network\"],\n \"shortName\": \"Bobaopera\",\n \"slug\": \"bobaopera\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c302 = {\n \"chain\": \"ETH\",\n \"chainId\": 302,\n \"explorers\": [{\n \"name\": \"zkCandy Block Explorer\",\n \"url\": \"https://sepolia.explorer.zkcandy.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreib5jsvl6kxn2qvv4giag3l3e54d2wolo2lqbgkhivxu4cpjzi77eq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreib5jsvl6kxn2qvv4giag3l3e54d2wolo2lqbgkhivxu4cpjzi77eq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://zkcandy.io/\",\n \"name\": \"zkCandy Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 302,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://sepolia.bridge.zkcandy.io/\"\n }]\n },\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://302.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.rpc.zkcandy.io\"],\n \"shortName\": \"zkcandy-sepolia\",\n \"slug\": \"zkcandy-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c303 = {\n \"chain\": \"NCN\",\n \"chainId\": 303,\n \"explorers\": [{\n \"name\": \"neuroscan\",\n \"url\": \"https://testnet.ncnscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.neurochain.ai\",\n \"name\": \"Neurochain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Neurochain\",\n \"symbol\": \"tNCN\",\n \"decimals\": 18\n },\n \"networkId\": 303,\n \"rpc\": [\"https://303.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nc-rpc-test1.neurochain.io\"],\n \"shortName\": \"ncnt\",\n \"slip44\": 1,\n \"slug\": \"neurochain-testnet\",\n \"testnet\": true\n};\n\nvar c305 = {\n \"chain\": \"ZKSats\",\n \"chainId\": 305,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.zksats.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmaopiJuCSxRKZJHDkCu9w77x2HEmbNb3QeLC1SUavehEE\",\n \"width\": 3072,\n \"height\": 3072,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaopiJuCSxRKZJHDkCu9w77x2HEmbNb3QeLC1SUavehEE\",\n \"width\": 3072,\n \"height\": 3072,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zksats.io\",\n \"name\": \"ZKSats Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 305,\n \"rpc\": [\"https://305.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.zksats.io\"],\n \"shortName\": \"ZKSats-Mainnet\",\n \"slug\": \"zksats\",\n \"testnet\": false,\n \"title\": \"ZKSats Mainnet\"\n};\n\nvar c307 = {\n \"chain\": \"Lovely\",\n \"chainId\": 307,\n \"explorers\": [{\n \"name\": \"Lovely Network Testnet\",\n \"url\": \"https://tscan.lovely.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.lovely.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmPB7uW7Wj8zWWdeuPnUHPJ5FhaiTL76tv4ZQ4oKWEpb1g\",\n \"width\": 897,\n \"height\": 824,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lovely.network\",\n \"name\": \"Lovely Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Lovely\",\n \"symbol\": \"LOVELY\",\n \"decimals\": 18\n },\n \"networkId\": 307,\n \"rpc\": [\"https://307.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://trpc.lovely.network\"],\n \"shortName\": \"LOVELY-Testnet\",\n \"slug\": \"lovely-network-testnet\",\n \"testnet\": true\n};\n\nvar c308 = {\n \"chain\": \"FTH\",\n \"chainId\": 308,\n \"explorers\": [{\n \"name\": \"furthscan\",\n \"url\": \"http://furthscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Furthscan Network Explorer\",\n \"url\": \"http://furthscan.com/\",\n \"standard\": \"standard\",\n \"icon\": {\n \"url\": \"ipfs://QmaZCiLBHGvQptmspWseHHs6L9iCHGKZbqVTqZ7Cf557Vg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaZCiLBHGvQptmspWseHHs6L9iCHGKZbqVTqZ7Cf557Vg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://furthscan.com/\",\n \"name\": \"Furtheon Network\",\n \"nativeCurrency\": {\n \"name\": \"Furtheon\",\n \"symbol\": \"FTH\",\n \"decimals\": 18\n },\n \"networkId\": 308,\n \"redFlags\": [],\n \"rpc\": [\"https://308.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.furtheon.org/\", \"https://rpc.furtheon.org\"],\n \"shortName\": \"FTH\",\n \"slug\": \"furtheon-network\",\n \"testnet\": false\n};\n\nvar c309 = {\n \"chain\": \"WYZ\",\n \"chainId\": 309,\n \"explorers\": [{\n \"name\": \"wyzth\",\n \"url\": \"http://24.199.108.65:4000\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmT5UMzAftM4mHCtk4pWX4sqyJCki88APbqECywrhJp91Q\",\n \"width\": 324,\n \"height\": 82,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmeDfLgA5heAAXsU8kf5J23Y8up4uHN27uRBEAJFPMJEu7\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://wyzth.org/\",\n \"name\": \"Wyzth Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Wyzth\",\n \"symbol\": \"WYZ\",\n \"decimals\": 18\n },\n \"networkId\": 309,\n \"rpc\": [\"https://309.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet3.wyzthchain.org/\"],\n \"shortName\": \"wyz\",\n \"slip44\": 1,\n \"slug\": \"wyzth-testnet\",\n \"testnet\": true\n};\n\nvar c311 = {\n \"chain\": \"OMAX Chain\",\n \"chainId\": 311,\n \"explorers\": [{\n \"name\": \"Omax Chain Explorer\",\n \"url\": \"https://omaxray.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmd7omPxrehSuxHHPMYd5Nr7nfrtjKdRJQEhDLfTb87w8G\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.omaxray.com/\"],\n \"icon\": {\n \"url\": \"ipfs://Qmd7omPxrehSuxHHPMYd5Nr7nfrtjKdRJQEhDLfTb87w8G\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.omaxcoin.com/\",\n \"name\": \"Omax Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OMAX COIN\",\n \"symbol\": \"OMAX\",\n \"decimals\": 18\n },\n \"networkId\": 311,\n \"rpc\": [\"https://311.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainapi.omaxray.com\"],\n \"shortName\": \"omax\",\n \"slug\": \"omax\",\n \"testnet\": false\n};\n\nvar c313 = {\n \"chain\": \"NCN\",\n \"chainId\": 313,\n \"explorers\": [{\n \"name\": \"neuroscan\",\n \"url\": \"https://ncnscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.neurochain.ai\",\n \"name\": \"Neurochain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Neurochain\",\n \"symbol\": \"NCN\",\n \"decimals\": 18\n },\n \"networkId\": 313,\n \"rpc\": [\"https://313.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nc-rpc-prd1.neurochain.io\", \"https://nc-rpc-prd2.neurochain.io\"],\n \"shortName\": \"ncn\",\n \"slug\": \"neurochain\",\n \"testnet\": false\n};\n\nvar c314 = {\n \"chain\": \"FIL\",\n \"chainId\": 314,\n \"explorers\": [{\n \"name\": \"Filfox\",\n \"url\": \"https://filfox.info/en\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Beryx\",\n \"url\": \"https://beryx.zondax.ch\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Glif Explorer\",\n \"url\": \"https://explorer.glif.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Dev.storage\",\n \"url\": \"https://dev.storage\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Filscan\",\n \"url\": \"https://filscan.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Filscout\",\n \"url\": \"https://filscout.io/en\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9r9XQkMHVomWcSBNDkKkz9n87h9bH9ssabeiKZtANoU\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filecoin.io\",\n \"name\": \"Filecoin - Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"filecoin\",\n \"symbol\": \"FIL\",\n \"decimals\": 18\n },\n \"networkId\": 314,\n \"rpc\": [\"https://314.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.node.glif.io/\", \"https://rpc.ankr.com/filecoin\", \"https://filecoin-mainnet.chainstacklabs.com/rpc/v1\", \"https://filfox.info/rpc/v1\", \"https://filecoin.drpc.org\", \"wss://filecoin.drpc.org\"],\n \"shortName\": \"filecoin\",\n \"slip44\": 461,\n \"slug\": \"filecoin\",\n \"testnet\": false\n};\n\nvar c321 = {\n \"chain\": \"KCC\",\n \"chainId\": 321,\n \"explorers\": [{\n \"name\": \"KCC Explorer\",\n \"url\": \"https://explorer.kcc.io/en\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://kcc.io\",\n \"name\": \"KCC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KuCoin Token\",\n \"symbol\": \"KCS\",\n \"decimals\": 18\n },\n \"networkId\": 321,\n \"rpc\": [\"https://321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.kcc.network\", \"https://kcc.mytokenpocket.vip\", \"https://public-rpc.blockpi.io/http/kcc\"],\n \"shortName\": \"kcs\",\n \"slip44\": 641,\n \"slug\": \"kcc\",\n \"testnet\": false\n};\n\nvar c322 = {\n \"chain\": \"KCC\",\n \"chainId\": 322,\n \"explorers\": [{\n \"name\": \"kcc-scan-testnet\",\n \"url\": \"https://scan-testnet.kcc.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet-testnet.kcc.network\"],\n \"infoURL\": \"https://scan-testnet.kcc.network\",\n \"name\": \"KCC Testnet\",\n \"nativeCurrency\": {\n \"name\": \"KuCoin Testnet Token\",\n \"symbol\": \"tKCS\",\n \"decimals\": 18\n },\n \"networkId\": 322,\n \"rpc\": [\"https://322.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.kcc.network\"],\n \"shortName\": \"kcst\",\n \"slip44\": 1,\n \"slug\": \"kcc-testnet\",\n \"testnet\": true\n};\n\nvar c323 = {\n \"chain\": \"CVM\",\n \"chainId\": 323,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.cosvm.net\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://cosvm.network\",\n \"name\": \"Cosvm Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Cosvm\",\n \"symbol\": \"CVM\",\n \"decimals\": 18\n },\n \"networkId\": 323,\n \"rpc\": [\"https://323.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.cosvm.net\"],\n \"shortName\": \"cvm\",\n \"slug\": \"cosvm\",\n \"testnet\": false\n};\n\nvar c324 = {\n \"chain\": \"ETH\",\n \"chainId\": 324,\n \"explorers\": [{\n \"name\": \"zkSync Era Block Explorer\",\n \"url\": \"https://explorer.zksync.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRkhUD6J3B9WhT4hEWLrcFVTrBhx3CQgNC783aJsrwxSN\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://zksync.io/\",\n \"name\": \"zkSync Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 324,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.zksync.io/\"\n }]\n },\n \"rpc\": [\"https://324.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.era.zksync.io\", \"https://zksync.drpc.org\", \"wss://zksync.drpc.org\"],\n \"shortName\": \"zksync\",\n \"slug\": \"zksync\",\n \"testnet\": false\n};\n\nvar c333 = {\n \"chain\": \"Web3Q\",\n \"chainId\": 333,\n \"explorers\": [{\n \"name\": \"w3q-mainnet\",\n \"url\": \"https://explorer.mainnet.web3q.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://web3q.io/home.w3q/\",\n \"name\": \"Web3Q Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Web3Q\",\n \"symbol\": \"W3Q\",\n \"decimals\": 18\n },\n \"networkId\": 333,\n \"rpc\": [\"https://333.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.web3q.io:8545\"],\n \"shortName\": \"w3q\",\n \"slug\": \"web3q\",\n \"testnet\": false\n};\n\nvar c335 = {\n \"chain\": \"DFK\",\n \"chainId\": 335,\n \"explorers\": [{\n \"name\": \"ethernal\",\n \"url\": \"https://explorer-test.dfkchain.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQB48m15TzhUFrmu56QCRQjkrkgUaKfgCmKE8o3RzmuPJ\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://defikingdoms.com\",\n \"name\": \"DFK Chain Test\",\n \"nativeCurrency\": {\n \"name\": \"Jewel\",\n \"symbol\": \"JEWEL\",\n \"decimals\": 18\n },\n \"networkId\": 335,\n \"rpc\": [\"https://335.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain-testnet/rpc\"],\n \"shortName\": \"DFKTEST\",\n \"slip44\": 1,\n \"slug\": \"dfk-chain-test\",\n \"testnet\": true\n};\n\nvar c336 = {\n \"chain\": \"SDN\",\n \"chainId\": 336,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.com/shiden\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"subscan\",\n \"url\": \"https://shiden.subscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qma2GfW5nQHuA7nGqdEfwaXPL63G9oTwRTQKaGTfjNtM2W\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQySjAoWHgk3ou1yvBi2TrTcgH6KhfGiU7GcrLzrAeRkE\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shiden.astar.network/\",\n \"name\": \"Shiden\",\n \"nativeCurrency\": {\n \"name\": \"Shiden\",\n \"symbol\": \"SDN\",\n \"decimals\": 18\n },\n \"networkId\": 336,\n \"rpc\": [\"https://336.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://shiden.api.onfinality.io/public\", \"https://shiden-rpc.dwellir.com\", \"https://shiden.public.blastapi.io\", \"wss://shiden.api.onfinality.io/public-ws\", \"wss://shiden.public.blastapi.io\", \"wss://shiden-rpc.dwellir.com\"],\n \"shortName\": \"sdn\",\n \"slug\": \"shiden\",\n \"testnet\": false\n};\n\nvar c338 = {\n \"chain\": \"CRO\",\n \"chainId\": 338,\n \"explorers\": [{\n \"name\": \"Cronos Testnet Explorer\",\n \"url\": \"https://explorer.cronos.org/testnet\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://cronos.org/faucet\"],\n \"infoURL\": \"https://cronos.org\",\n \"name\": \"Cronos Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Cronos Test Coin\",\n \"symbol\": \"TCRO\",\n \"decimals\": 18\n },\n \"networkId\": 338,\n \"rpc\": [\"https://338.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-t3.cronos.org\", \"https://cronos-testnet.drpc.org\", \"wss://cronos-testnet.drpc.org\"],\n \"shortName\": \"tcro\",\n \"slip44\": 1,\n \"slug\": \"cronos-testnet\",\n \"testnet\": true\n};\n\nvar c345 = {\n \"chain\": \"Trust Smart Chain\",\n \"chainId\": 345,\n \"explorers\": [{\n \"name\": \"tscscan\",\n \"url\": \"https://www.tscscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmZWF4RcDtxuFRRGgMMuDV7FWCYR6kA9cAUTk12iADU52U\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYmQAo5hSr16LDeSbWbXfKdF6qa2zCoK7e88r2f7RiFdt\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.trias.one\",\n \"name\": \"TSC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TAS\",\n \"symbol\": \"TAS\",\n \"decimals\": 18\n },\n \"networkId\": 16,\n \"rpc\": [\"https://345.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc01.trias.one\"],\n \"shortName\": \"TSC\",\n \"slug\": \"tsc\",\n \"testnet\": false\n};\n\nvar c361 = {\n \"chain\": \"Theta\",\n \"chainId\": 361,\n \"explorers\": [{\n \"name\": \"Theta Mainnet Explorer\",\n \"url\": \"https://explorer.thetatoken.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.thetatoken.org/\",\n \"name\": \"Theta Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Theta Fuel\",\n \"symbol\": \"TFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 361,\n \"rpc\": [\"https://361.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-api.thetatoken.org/rpc\"],\n \"shortName\": \"theta-mainnet\",\n \"slug\": \"theta\",\n \"testnet\": false\n};\n\nvar c363 = {\n \"chain\": \"Theta\",\n \"chainId\": 363,\n \"explorers\": [{\n \"name\": \"Theta Sapphire Testnet Explorer\",\n \"url\": \"https://guardian-testnet-sapphire-explorer.thetatoken.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.thetatoken.org/\",\n \"name\": \"Theta Sapphire Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Theta Fuel\",\n \"symbol\": \"TFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 363,\n \"rpc\": [\"https://363.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-api-sapphire.thetatoken.org/rpc\"],\n \"shortName\": \"theta-sapphire\",\n \"slip44\": 1,\n \"slug\": \"theta-sapphire-testnet\",\n \"testnet\": true\n};\n\nvar c364 = {\n \"chain\": \"Theta\",\n \"chainId\": 364,\n \"explorers\": [{\n \"name\": \"Theta Amber Testnet Explorer\",\n \"url\": \"https://guardian-testnet-amber-explorer.thetatoken.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.thetatoken.org/\",\n \"name\": \"Theta Amber Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Theta Fuel\",\n \"symbol\": \"TFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 364,\n \"rpc\": [\"https://364.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-api-amber.thetatoken.org/rpc\"],\n \"shortName\": \"theta-amber\",\n \"slip44\": 1,\n \"slug\": \"theta-amber-testnet\",\n \"testnet\": true\n};\n\nvar c365 = {\n \"chain\": \"Theta\",\n \"chainId\": 365,\n \"explorers\": [{\n \"name\": \"Theta Testnet Explorer\",\n \"url\": \"https://testnet-explorer.thetatoken.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.thetatoken.org/\",\n \"name\": \"Theta Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Theta Fuel\",\n \"symbol\": \"TFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 365,\n \"rpc\": [\"https://365.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-api-testnet.thetatoken.org/rpc\"],\n \"shortName\": \"theta-testnet\",\n \"slip44\": 1,\n \"slug\": \"theta-testnet\",\n \"testnet\": true\n};\n\nvar c369 = {\n \"chain\": \"PLS\",\n \"chainId\": 369,\n \"ens\": {\n \"registry\": \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.pulsechain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"otterscan\",\n \"url\": \"https://otter.pulsechain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://pulsechain.com/\",\n \"name\": \"PulseChain\",\n \"nativeCurrency\": {\n \"name\": \"Pulse\",\n \"symbol\": \"PLS\",\n \"decimals\": 18\n },\n \"networkId\": 369,\n \"redFlags\": [],\n \"rpc\": [\"https://369.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evex.cloud/pulserpc\", \"https://rpc.pulsechain.com\", \"wss://rpc.pulsechain.com\", \"https://pulsechain-rpc.publicnode.com\", \"wss://pulsechain-rpc.publicnode.com\", \"https://rpc-pulsechain.g4mm4.io\", \"wss://rpc-pulsechain.g4mm4.io\"],\n \"shortName\": \"pls\",\n \"slip44\": 60,\n \"slug\": \"pulsechain\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c371 = {\n \"chain\": \"tCNT\",\n \"chainId\": 371,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer-testnet.theconsta.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfQ1yae6uvXgBSwnwJM4Mtp8ctH66tM6mB1Hsgu4XvsC9\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://theconsta.com\",\n \"name\": \"Consta Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tCNT\",\n \"symbol\": \"tCNT\",\n \"decimals\": 18\n },\n \"networkId\": 371,\n \"rpc\": [\"https://371.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.theconsta.com\"],\n \"shortName\": \"tCNT\",\n \"slip44\": 1,\n \"slug\": \"consta-testnet\",\n \"testnet\": true\n};\n\nvar c380 = {\n \"chain\": \"FIL\",\n \"chainId\": 380,\n \"explorers\": [{\n \"name\": \"ZKAmoeba Test Explorer\",\n \"url\": \"https://testnetexplorer.zkamoeba.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRTChjmiwh9HrGsLh9qECsH7WHQAhqT5Ww8S34s8ME2Cp\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRTChjmiwh9HrGsLh9qECsH7WHQAhqT5Ww8S34s8ME2Cp\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.zkamoeba.com\",\n \"name\": \"ZKAmoeba Testnet\",\n \"nativeCurrency\": {\n \"name\": \"filecoin\",\n \"symbol\": \"FIL\",\n \"decimals\": 18\n },\n \"networkId\": 380,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-314\",\n \"bridges\": [{\n \"url\": \"https://testnet.zkamoeba.com/en/bridge\"\n }]\n },\n \"rpc\": [\"https://380.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.zkamoeba.com:4050/\", \"https://rpc1.testnet.zkamoeba.com:4050/\"],\n \"shortName\": \"zkamoeba-test\",\n \"slug\": \"zkamoeba-testnet\",\n \"testnet\": true\n};\n\nvar c381 = {\n \"chain\": \"FIL\",\n \"chainId\": 381,\n \"explorers\": [{\n \"name\": \"ZKAmoeba Explorer\",\n \"url\": \"https://explorer.zkamoeba.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRTChjmiwh9HrGsLh9qECsH7WHQAhqT5Ww8S34s8ME2Cp\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRTChjmiwh9HrGsLh9qECsH7WHQAhqT5Ww8S34s8ME2Cp\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zkamoeba.com\",\n \"name\": \"ZKAmoeba Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"filecoin\",\n \"symbol\": \"FIL\",\n \"decimals\": 18\n },\n \"networkId\": 381,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-314\",\n \"bridges\": [{\n \"url\": \"https://www.zkamoeba.com/en/bridge\"\n }]\n },\n \"rpc\": [\"https://381.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.zkamoeba.com/rpc\"],\n \"shortName\": \"zkamoeba\",\n \"slug\": \"zkamoeba\",\n \"testnet\": false\n};\n\nvar c385 = {\n \"chain\": \"CRO\",\n \"chainId\": 385,\n \"explorers\": [],\n \"faucets\": [\"https://pipa.lisinski.online\"],\n \"infoURL\": \"https://lisinski.online\",\n \"name\": \"Lisinski\",\n \"nativeCurrency\": {\n \"name\": \"Lisinski Ether\",\n \"symbol\": \"LISINS\",\n \"decimals\": 18\n },\n \"networkId\": 385,\n \"rpc\": [\"https://385.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-bitfalls1.lisinski.online\"],\n \"shortName\": \"lisinski\",\n \"slug\": \"lisinski\",\n \"testnet\": false\n};\n\nvar c395 = {\n \"chain\": \"CADL\",\n \"chainId\": 395,\n \"explorers\": [{\n \"name\": \"CamDL Testnet Explorer\",\n \"url\": \"https://explorer.testnet.camdl.gov.kh\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.testnet.camdl.gov.kh/\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmW5Fpb2Ywnfqcj4ibvpbKvPv5Mo5eseWdYZnnUvLkj2Hp\",\n \"width\": 1453,\n \"height\": 1453,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://camdl.gov.kh/\",\n \"name\": \"CamDL Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CADL\",\n \"symbol\": \"CADL\",\n \"decimals\": 18\n },\n \"networkId\": 395,\n \"rpc\": [\"https://395.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.testnet.camdl.gov.kh/\"],\n \"shortName\": \"camdl-testnet\",\n \"slug\": \"camdl-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c397 = {\n \"chain\": \"NEAR\",\n \"chainId\": 397,\n \"explorers\": [{\n \"name\": \"Near Blocks\",\n \"url\": \"https://nearblocks.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiayxzdbu3e5ahri3ooieg6k6pjxrwkrkc2x5cnyadqeu5zbmaummq\",\n \"width\": 639,\n \"height\": 639,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://near.org/\",\n \"name\": \"Near Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"NEAR\",\n \"symbol\": \"NEAR\",\n \"decimals\": 18\n },\n \"networkId\": 397,\n \"rpc\": [],\n \"shortName\": \"near\",\n \"slug\": \"near\",\n \"testnet\": false\n};\n\nvar c398 = {\n \"chain\": \"NEAR\",\n \"chainId\": 398,\n \"explorers\": [{\n \"name\": \"Near blocks\",\n \"url\": \"https://testnet.nearblocks.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiayxzdbu3e5ahri3ooieg6k6pjxrwkrkc2x5cnyadqeu5zbmaummq\",\n \"width\": 639,\n \"height\": 639,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aurora.dev\",\n \"name\": \"Near Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet NEAR\",\n \"symbol\": \"NEAR\",\n \"decimals\": 18\n },\n \"networkId\": 398,\n \"rpc\": [],\n \"shortName\": \"near-testnet\",\n \"slug\": \"near-testnet\",\n \"testnet\": true\n};\n\nvar c399 = {\n \"chain\": \"Nativ3\",\n \"chainId\": 399,\n \"explorers\": [{\n \"name\": \"N3scan\",\n \"url\": \"https://scan.nativ3.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVzJDndPui6qBSeJWe5kMLA56C3KpVhqqqk9xvVKE1DGb\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nativ3.network\",\n \"name\": \"Nativ3 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"USNT\",\n \"symbol\": \"USNT\",\n \"decimals\": 18\n },\n \"networkId\": 399,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-42161\",\n \"bridges\": [{\n \"url\": \"https://bridge.nativ3.network\"\n }]\n },\n \"rpc\": [\"https://399.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.nativ3.network\", \"wss://ws.nativ3.network\"],\n \"shortName\": \"N3\",\n \"slug\": \"nativ3\",\n \"testnet\": false\n};\n\nvar c400 = {\n \"chain\": \"HPN\",\n \"chainId\": 400,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.hyperonchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWxhyxXTEsWH98v7M3ck4ZL1qQoUaHG4HgtgxzD2KJQ5m\",\n \"width\": 540,\n \"height\": 541,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.hyperonchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmWxhyxXTEsWH98v7M3ck4ZL1qQoUaHG4HgtgxzD2KJQ5m\",\n \"width\": 540,\n \"height\": 541,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.hyperonchain.com\",\n \"name\": \"HyperonChain TestNet\",\n \"nativeCurrency\": {\n \"name\": \"HyperonChain\",\n \"symbol\": \"HPN\",\n \"decimals\": 18\n },\n \"networkId\": 400,\n \"rpc\": [\"https://400.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.hyperonchain.com\"],\n \"shortName\": \"hpn\",\n \"slip44\": 1,\n \"slug\": \"hyperonchain-testnet\",\n \"testnet\": true\n};\n\nvar c401 = {\n \"chain\": \"OZONE\",\n \"chainId\": 401,\n \"explorers\": [{\n \"name\": \"OZONE Scan\",\n \"url\": \"https://testnet.ozonescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbM4weV8Bk6c9yNhosYntkVw39SNZtCHYGgWyXTxkevZ8\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ozonechain.io\",\n \"name\": \"Ozone Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OZONE\",\n \"symbol\": \"OZO\",\n \"decimals\": 18\n },\n \"networkId\": 401,\n \"rpc\": [\"https://401.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.testnet.ozonechain.io\"],\n \"shortName\": \"ozo_tst\",\n \"slip44\": 1,\n \"slug\": \"ozone-chain-testnet\",\n \"testnet\": true\n};\n\nvar c404 = {\n \"chain\": \"SYNDR\",\n \"chainId\": 404,\n \"explorers\": [{\n \"name\": \"Syndr L3 Explorer\",\n \"url\": \"https://explorer.syndr.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibsl7iuxeibovp7uddigbus3lyse2f7n4s2lomgvf33fmgyxjwq5i\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://syndr.com\",\n \"name\": \"Syndr L3\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 404,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-42161\",\n \"bridges\": [{\n \"url\": \"https://bridge.syndr.com\"\n }]\n },\n \"rpc\": [\"https://404.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.syndr.com\", \"wss://rpc.syndr.com/ws\"],\n \"shortName\": \"syndr-l3\",\n \"slug\": \"syndr-l3\",\n \"testnet\": false,\n \"title\": \"Syndr L3 Rollup\"\n};\n\nvar c408 = {\n \"chain\": \"OmegaNetwork\",\n \"chainId\": 408,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreig676zxfhwhcx5bvvvjxedx6ftr2wq4iiznrwm3c6ozrprbc4oxwm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Omega Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Omega Network Coin\",\n \"symbol\": \"OMN\",\n \"decimals\": 18\n },\n \"networkId\": 408,\n \"redFlags\": [],\n \"rpc\": [\"https://408.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.omtch.com\"],\n \"shortName\": \"OmegaNetwork\",\n \"slug\": \"omega\",\n \"testnet\": false\n};\n\nvar c411 = {\n \"chain\": \"PC\",\n \"chainId\": 411,\n \"explorers\": [{\n \"name\": \"pepechain explorer\",\n \"url\": \"https://explorer.pepe-chain.vip\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibjsc3gww3moti27za2hpyq552aevux3yv5y2ntdklksyr4v4uavy\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://pepe-chain.vip\",\n \"name\": \"Pepe Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Pepe\",\n \"symbol\": \"PEPE\",\n \"decimals\": 18\n },\n \"networkId\": 411,\n \"rpc\": [\"https://411.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.pepe-chain.vip\"],\n \"shortName\": \"pepe\",\n \"slug\": \"pepe-chain\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c416 = {\n \"chain\": \"SX\",\n \"chainId\": 416,\n \"explorers\": [{\n \"name\": \"SX Network Explorer\",\n \"url\": \"https://explorer.sx.technology\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF\",\n \"width\": 896,\n \"height\": 690,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.sx.technology\",\n \"name\": \"SX Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SX Network\",\n \"symbol\": \"SX\",\n \"decimals\": 18\n },\n \"networkId\": 416,\n \"rpc\": [\"https://416.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sx.technology\"],\n \"shortName\": \"SX\",\n \"slug\": \"sx-network\",\n \"testnet\": false\n};\n\nvar c418 = {\n \"chain\": \"LaTestnet\",\n \"chainId\": 418,\n \"explorers\": [{\n \"name\": \"LaTestnet Explorer\",\n \"url\": \"https://testexplorer.lachain.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.lachain.network\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQxGA6rhuCQDXUueVcNvFRhMEWisyTmnF57TqL7h6k6cZ\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"name\": \"LaTestnet\",\n \"nativeCurrency\": {\n \"name\": \"Test LaCoin\",\n \"symbol\": \"TLA\",\n \"decimals\": 18\n },\n \"networkId\": 418,\n \"rpc\": [\"https://418.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.lachain.network\", \"https://lachain-testnet.rpc-nodes.cedalio.dev\"],\n \"shortName\": \"latestnet\",\n \"slug\": \"latestnet\",\n \"testnet\": true\n};\n\nvar c420 = {\n \"chain\": \"ETH\",\n \"chainId\": 420,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://optimism-goerli.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/optimism/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optimism.io\",\n \"name\": \"Optimism Goerli Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Goerli Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 420,\n \"redFlags\": [],\n \"rpc\": [\"https://420.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.optimism.io\", \"https://optimism-goerli-rpc.publicnode.com\", \"wss://optimism-goerli-rpc.publicnode.com\", \"https://optimism-goerli.gateway.tenderly.co\", \"wss://optimism-goerli.gateway.tenderly.co\", \"https://optimism-testnet.drpc.org\", \"wss://optimism-testnet.drpc.org\"],\n \"shortName\": \"ogor\",\n \"slip44\": 1,\n \"slug\": \"optimism-goerli\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c422 = {\n \"chain\": \"VRD\",\n \"chainId\": 422,\n \"explorers\": [{\n \"name\": \"Viridis Mainnet\",\n \"url\": \"https://explorer.vrd.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPdxcJwPogfZdec7UAqxeatRxrivEktpP1ftJBTeJQTdR\",\n \"width\": 3000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://viridis.network\",\n \"name\": \"Viridis Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Viridis Token\",\n \"symbol\": \"VRD\",\n \"decimals\": 18\n },\n \"networkId\": 422,\n \"rpc\": [\"https://422.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.vrd.network\"],\n \"shortName\": \"vrd\",\n \"slug\": \"viridis\",\n \"testnet\": false\n};\n\nvar c424 = {\n \"chain\": \"ETH\",\n \"chainId\": 424,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.publicgoods.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUVJ7MLCEAfq3pHVPFLscqRMiyAY5biVgTkeDQCmAhHNS\",\n \"width\": 574,\n \"height\": 574,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://publicgoods.network/\",\n \"name\": \"PGN (Public Goods Network)\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 424,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.publicgoods.network\"\n }]\n },\n \"rpc\": [\"https://424.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.publicgoods.network\"],\n \"shortName\": \"PGN\",\n \"slug\": \"pgn-public-goods-network\",\n \"testnet\": false\n};\n\nvar c427 = {\n \"chain\": \"ZeethChain\",\n \"chainId\": 427,\n \"explorers\": [{\n \"name\": \"Zeeth Explorer\",\n \"url\": \"https://explorer.zeeth.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"name\": \"Zeeth Chain\",\n \"nativeCurrency\": {\n \"name\": \"Zeeth Token\",\n \"symbol\": \"ZTH\",\n \"decimals\": 18\n },\n \"networkId\": 427,\n \"rpc\": [\"https://427.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.zeeth.io\"],\n \"shortName\": \"zeeth\",\n \"slug\": \"zeeth-chain\",\n \"testnet\": false\n};\n\nvar c428 = {\n \"chain\": \"Geso Verse\",\n \"chainId\": 428,\n \"explorers\": [{\n \"name\": \"Geso Verse Explorer\",\n \"url\": \"https://explorer.verse.gesoten.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmb7oJY9zd9sTzxNNQNTVZQz2hkd1aA94mWm4cvXfJ9QxV\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gesoten.com/\",\n \"name\": \"Geso Verse\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 428,\n \"rpc\": [\"https://428.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.verse.gesoten.com/\"],\n \"shortName\": \"GSV\",\n \"slug\": \"geso-verse\",\n \"testnet\": false\n};\n\nvar c434 = {\n \"chain\": \"BYC\",\n \"chainId\": 434,\n \"explorers\": [{\n \"name\": \"Boyaa explorer\",\n \"url\": \"https://explorer.mainnet.boyaa.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiapootrvggtigdlvgvk6srfseplpuowsqq3zpyup4j5yj5moxuala\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://boyaa.network\",\n \"name\": \"Boyaa Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Boyaa mainnet native coin\",\n \"symbol\": \"BYC\",\n \"decimals\": 18\n },\n \"networkId\": 434,\n \"rpc\": [\"https://434.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc.mainnet.boyaa.network\"],\n \"shortName\": \"BYC\",\n \"slug\": \"boyaa\",\n \"testnet\": false\n};\n\nvar c443 = {\n \"chain\": \"ETH\",\n \"chainId\": 443,\n \"explorers\": [{\n \"name\": \"Ten Sepolia Rollup Explorer\",\n \"url\": \"https://tenscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://ten.xyz\",\n \"name\": \"Ten Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 443,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://bridge.ten.xyz\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://443.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.ten.xyz/v1/\", \"https://testnet.ten.xyz\"],\n \"shortName\": \"ten-testnet\",\n \"slip44\": 1,\n \"slug\": \"ten-testnet\",\n \"testnet\": true,\n \"title\": \"Ten Sepolia Rollup Testnet\"\n};\n\nvar c444 = {\n \"chain\": \"ETH\",\n \"chainId\": 444,\n \"explorers\": [{\n \"name\": \"Synapse Chain Sepolia\",\n \"url\": \"https://sepolia.synapsescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmX2Z71QszaZvpMppdNWeCLqmeWk8NA6KMDLMqAt5VRyVi/synapse.webp\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"webp\"\n },\n \"infoURL\": \"https://synapseprotocol.com\",\n \"name\": \"Synapse Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 444,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://docs.synapseprotocol.com/synapse-chain/using-synapse-chain/bridging-to-synapse-chain\"\n }]\n },\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.synapseprotocol.com\"],\n \"shortName\": \"synapse-sepolia\",\n \"slip44\": 1,\n \"slug\": \"synapse-chain-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c456 = {\n \"chain\": \"ARZIO\",\n \"chainId\": 456,\n \"explorers\": [{\n \"name\": \"ARZIO Scan\",\n \"url\": \"https://scan.arzio.co\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUwqGWGjjQweTprn5LBirAwRjYnteTiFLCVpSNHrfMmSL\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://chain.arzio.co\",\n \"name\": \"ARZIO Chain\",\n \"nativeCurrency\": {\n \"name\": \"ARZIO\",\n \"symbol\": \"AZO\",\n \"decimals\": 18\n },\n \"networkId\": 456,\n \"rpc\": [\"https://456.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain-rpc.arzio.co\"],\n \"shortName\": \"arzio\",\n \"slug\": \"arzio-chain\",\n \"testnet\": false\n};\n\nvar c462 = {\n \"chain\": \"Areon\",\n \"chainId\": 462,\n \"explorers\": [{\n \"name\": \"AreonScan\",\n \"url\": \"https://areonscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihs2nrnizpcuzjmuu2yi7wrtwd7qlqje46qnil5bnntfbfkb2roea\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://areon.network\",\n \"name\": \"Areon Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Areon\",\n \"symbol\": \"TAREA\",\n \"decimals\": 18\n },\n \"networkId\": 462,\n \"rpc\": [\"https://462.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.areon.network\", \"https://testnet-rpc2.areon.network\", \"https://testnet-rpc3.areon.network\", \"https://testnet-rpc4.areon.network\", \"https://testnet-rpc5.areon.network\"],\n \"shortName\": \"tarea\",\n \"slip44\": 1,\n \"slug\": \"areon-network-testnet\",\n \"testnet\": true\n};\n\nvar c463 = {\n \"chain\": \"Areon\",\n \"chainId\": 463,\n \"explorers\": [{\n \"name\": \"AreonScan\",\n \"url\": \"https://areonscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihs2nrnizpcuzjmuu2yi7wrtwd7qlqje46qnil5bnntfbfkb2roea\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://areon.network\",\n \"name\": \"Areon Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Areon\",\n \"symbol\": \"AREA\",\n \"decimals\": 18\n },\n \"networkId\": 463,\n \"rpc\": [\"https://463.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.areon.network\", \"https://mainnet-rpc2.areon.network\", \"https://mainnet-rpc3.areon.network\", \"https://mainnet-rpc4.areon.network\", \"https://mainnet-rpc5.areon.network\"],\n \"shortName\": \"area\",\n \"slug\": \"areon-network\",\n \"testnet\": false\n};\n\nvar c499 = {\n \"chain\": \"RUPX\",\n \"chainId\": 499,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.rupaya.io\",\n \"name\": \"Rupaya\",\n \"nativeCurrency\": {\n \"name\": \"Rupaya\",\n \"symbol\": \"RUPX\",\n \"decimals\": 18\n },\n \"networkId\": 499,\n \"rpc\": [],\n \"shortName\": \"rupx\",\n \"slip44\": 499,\n \"slug\": \"rupaya\",\n \"testnet\": false\n};\n\nvar c500 = {\n \"chain\": \"CAM\",\n \"chainId\": 500,\n \"explorers\": [{\n \"name\": \"blockexplorer\",\n \"url\": \"https://suite.camino.network/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSEoUonisawfCvT3osysuZzbqUEHugtgNraePKWL8PKYa\",\n \"width\": 768,\n \"height\": 768,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://camino.network/\",\n \"name\": \"Camino C-Chain\",\n \"nativeCurrency\": {\n \"name\": \"Camino\",\n \"symbol\": \"CAM\",\n \"decimals\": 18\n },\n \"networkId\": 1000,\n \"rpc\": [\"https://500.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.camino.network/ext/bc/C/rpc\"],\n \"shortName\": \"Camino\",\n \"slug\": \"camino-c-chain\",\n \"testnet\": false\n};\n\nvar c501 = {\n \"chain\": \"CAM\",\n \"chainId\": 501,\n \"explorers\": [{\n \"name\": \"blockexplorer\",\n \"url\": \"https://suite.camino.network/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSEoUonisawfCvT3osysuZzbqUEHugtgNraePKWL8PKYa\",\n \"width\": 768,\n \"height\": 768,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://camino.network/\",\n \"name\": \"Columbus Test Network\",\n \"nativeCurrency\": {\n \"name\": \"Camino\",\n \"symbol\": \"CAM\",\n \"decimals\": 18\n },\n \"networkId\": 1001,\n \"rpc\": [\"https://501.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://columbus.camino.network/ext/bc/C/rpc\"],\n \"shortName\": \"Columbus\",\n \"slip44\": 1,\n \"slug\": \"columbus-test-network\",\n \"testnet\": true\n};\n\nvar c510 = {\n \"chain\": \"Syndicate\",\n \"chainId\": 510,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeSvQcD3XvLFAiMLoQSPbGK9JxVfbCWPBUTMLhhhzYPqX\",\n \"width\": 16000,\n \"height\": 16000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://syndicate.io\",\n \"name\": \"Syndicate Chain\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 510,\n \"rpc\": [\"https://510.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.syndicate.io\"],\n \"shortName\": \"syndicate-chain-mainnet\",\n \"slug\": \"syndicate-chain\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Syndicate Chain\"\n};\n\nvar c512 = {\n \"chain\": \"AAC\",\n \"chainId\": 512,\n \"explorers\": [{\n \"name\": \"aacscan\",\n \"url\": \"https://scan.acuteangle.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRUrz4dULaoaMpnqd8qXT7ehwz3aaqnYKY4ePsy7isGaF\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.acuteangle.com/\",\n \"name\": \"Double-A Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Acuteangle Native Token\",\n \"symbol\": \"AAC\",\n \"decimals\": 18\n },\n \"networkId\": 512,\n \"rpc\": [\"https://512.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.acuteangle.com\"],\n \"shortName\": \"aac\",\n \"slip44\": 1512,\n \"slug\": \"double-a-chain\",\n \"testnet\": false\n};\n\nvar c513 = {\n \"chain\": \"AAC\",\n \"chainId\": 513,\n \"explorers\": [{\n \"name\": \"aacscan-testnet\",\n \"url\": \"https://scan-testnet.acuteangle.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://scan-testnet.acuteangle.com/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmRUrz4dULaoaMpnqd8qXT7ehwz3aaqnYKY4ePsy7isGaF\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.acuteangle.com/\",\n \"name\": \"Double-A Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Acuteangle Native Token\",\n \"symbol\": \"AAC\",\n \"decimals\": 18\n },\n \"networkId\": 513,\n \"rpc\": [\"https://513.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.acuteangle.com\"],\n \"shortName\": \"aact\",\n \"slip44\": 1,\n \"slug\": \"double-a-chain-testnet\",\n \"testnet\": true\n};\n\nvar c516 = {\n \"chain\": \"GearZero\",\n \"chainId\": 516,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://token.gearzero.ca/mainnet\",\n \"name\": \"Gear Zero Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Gear Zero Network Native Token\",\n \"symbol\": \"GZN\",\n \"decimals\": 18\n },\n \"networkId\": 516,\n \"rpc\": [\"https://516.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gzn.linksme.info\"],\n \"shortName\": \"gz-mainnet\",\n \"slip44\": 516,\n \"slug\": \"gear-zero-network\",\n \"testnet\": false\n};\n\nvar c520 = {\n \"chain\": \"XSC\",\n \"chainId\": 520,\n \"explorers\": [{\n \"name\": \"xscscan\",\n \"url\": \"https://xscscan.pub\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://xsc.pub/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmNmAFgQKkjofaBR5mhB5ygE1Gna36YBVsGkgZQxrwW85s\",\n \"width\": 98,\n \"height\": 96,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xsc.pub/\",\n \"name\": \"XT Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"XT Smart Chain Native Token\",\n \"symbol\": \"XT\",\n \"decimals\": 18\n },\n \"networkId\": 1024,\n \"rpc\": [\"https://520.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://datarpc1.xsc.pub\", \"https://datarpc2.xsc.pub\", \"https://datarpc3.xsc.pub\"],\n \"shortName\": \"xt\",\n \"slug\": \"xt-smart-chain\",\n \"testnet\": false\n};\n\nvar c529 = {\n \"chain\": \"FIRE\",\n \"chainId\": 529,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYjuztyURb3Fc6ZTLgCbwQa64CcVoigF5j9cafzuSbqgf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://thefirechain.com\",\n \"name\": \"Firechain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Firechain\",\n \"symbol\": \"FIRE\",\n \"decimals\": 18\n },\n \"networkId\": 529,\n \"rpc\": [\"https://529.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.thefirechain.com\"],\n \"shortName\": \"fire\",\n \"slug\": \"firechain\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c530 = {\n \"chain\": \"Fxcore\",\n \"chainId\": 530,\n \"explorers\": [{\n \"name\": \"FunctionX Explorer\",\n \"url\": \"https://fx-evm.functionx.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmauD5hzc5q1VgEU1nT4AGLCeV79CB8GgfnXXeeLmBZVHf\",\n \"width\": 36,\n \"height\": 36,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://functionx.io/\",\n \"name\": \"F(x)Core Mainnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Function X\",\n \"symbol\": \"FX\",\n \"decimals\": 18\n },\n \"networkId\": 530,\n \"rpc\": [\"https://530.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fx-json-web3.functionx.io:8545\"],\n \"shortName\": \"FxCore\",\n \"slug\": \"f-x-core-network\",\n \"testnet\": false\n};\n\nvar c534 = {\n \"chain\": \"Candle\",\n \"chainId\": 534,\n \"explorers\": [{\n \"name\": \"candleexplorer\",\n \"url\": \"https://candleexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://candlelabs.org/\",\n \"name\": \"Candle\",\n \"nativeCurrency\": {\n \"name\": \"CANDLE\",\n \"symbol\": \"CNDL\",\n \"decimals\": 18\n },\n \"networkId\": 534,\n \"rpc\": [\"https://534.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://candle-rpc.com/\", \"https://rpc.cndlchain.com\"],\n \"shortName\": \"CNDL\",\n \"slip44\": 674,\n \"slug\": \"candle\",\n \"testnet\": false\n};\n\nvar c537 = {\n \"chain\": \"OpTrust\",\n \"chainId\": 537,\n \"explorers\": [{\n \"name\": \"OpTrust explorer\",\n \"url\": \"https://scan.optrust.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYktPMo4tdQhMA9nRJBVckjzHcFLbpHbTVNSpGUUPEP8J\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYktPMo4tdQhMA9nRJBVckjzHcFLbpHbTVNSpGUUPEP8J\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optrust.io\",\n \"name\": \"OpTrust Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BSC\",\n \"symbol\": \"BNB\",\n \"decimals\": 18\n },\n \"networkId\": 537,\n \"rpc\": [\"https://537.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.optrust.io\"],\n \"shortName\": \"optrust\",\n \"slug\": \"optrust\",\n \"testnet\": false\n};\n\nvar c542 = {\n \"chain\": \"PAW\",\n \"chainId\": 542,\n \"explorers\": [{\n \"name\": \"PAWCHAIN Testnet\",\n \"url\": \"https://pawscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://pawchainx.com/\",\n \"name\": \"PAWCHAIN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"PAW\",\n \"symbol\": \"PAW\",\n \"decimals\": 18\n },\n \"networkId\": 542,\n \"rpc\": [\"https://542.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pawchainx.com/\"],\n \"shortName\": \"PAW\",\n \"slip44\": 1,\n \"slug\": \"pawchain-testnet\",\n \"testnet\": true\n};\n\nvar c545 = {\n \"chain\": \"Flow\",\n \"chainId\": 545,\n \"explorers\": [{\n \"name\": \"Flow Diver\",\n \"url\": \"https://testnet.flowdiver.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://testnet-faucet.onflow.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmQFugEvsfU3ARjjJ7YRLJwSxMfTk54WWzrofekTRBKFaC\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://developers.flow.com/evm/about\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FLOW\",\n \"symbol\": \"FLOW\",\n \"decimals\": 18\n },\n \"networkId\": 545,\n \"rpc\": [\"https://545.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.evm.nodes.onflow.org\"],\n \"shortName\": \"flow-testnet\",\n \"slug\": \"testnet\",\n \"testnet\": true\n};\n\nvar c555 = {\n \"chain\": \"VELA1\",\n \"chainId\": 555,\n \"explorers\": [{\n \"name\": \"Vela1 Chain Mainnet Explorer\",\n \"url\": \"https://exp.velaverse.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://velaverse.io\",\n \"name\": \"Vela1 Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"CLASS COIN\",\n \"symbol\": \"CLASS\",\n \"decimals\": 18\n },\n \"networkId\": 555,\n \"rpc\": [\"https://555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.velaverse.io\"],\n \"shortName\": \"CLASS\",\n \"slug\": \"vela1-chain\",\n \"testnet\": false\n};\n\nvar c558 = {\n \"chain\": \"TAO\",\n \"chainId\": 558,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://tao.network\",\n \"name\": \"Tao Network\",\n \"nativeCurrency\": {\n \"name\": \"Tao\",\n \"symbol\": \"TAO\",\n \"decimals\": 18\n },\n \"networkId\": 558,\n \"rpc\": [\"https://558.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.tao.network\", \"http://rpc.testnet.tao.network:8545\", \"https://rpc.tao.network\", \"wss://rpc.tao.network\"],\n \"shortName\": \"tao\",\n \"slug\": \"tao-network\",\n \"testnet\": true\n};\n\nvar c568 = {\n \"chain\": \"DC\",\n \"chainId\": 568,\n \"explorers\": [{\n \"name\": \"dogechain testnet explorer\",\n \"url\": \"https://explorer-testnet.dogechain.dog\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dogechain.dog\"],\n \"icon\": {\n \"url\": \"ipfs://QmNS6B6L8FfgGSMTEi2SxD3bK5cdmKPNtQKcYaJeRWrkHs\",\n \"width\": 732,\n \"height\": 732,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dogechain.dog\",\n \"name\": \"Dogechain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dogecoin\",\n \"symbol\": \"DOGE\",\n \"decimals\": 18\n },\n \"networkId\": 568,\n \"rpc\": [\"https://568.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.dogechain.dog\"],\n \"shortName\": \"dct\",\n \"slip44\": 1,\n \"slug\": \"dogechain-testnet\",\n \"testnet\": true\n};\n\nvar c570 = {\n \"chain\": \"SYS\",\n \"chainId\": 570,\n \"explorers\": [{\n \"name\": \"Rollux Explorer\",\n \"url\": \"https://explorer.rollux.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://rollux.id/faucetapp\"],\n \"infoURL\": \"https://rollux.com\",\n \"name\": \"Rollux Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Syscoin\",\n \"symbol\": \"SYS\",\n \"decimals\": 18\n },\n \"networkId\": 570,\n \"rpc\": [\"https://570.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.rollux.com\", \"wss://rpc.rollux.com/wss\", \"https://rpc.ankr.com/rollux\", \"https://rollux.rpc.syscoin.org\", \"wss://rollux.rpc.syscoin.org/wss\"],\n \"shortName\": \"sys-rollux\",\n \"slug\": \"rollux\",\n \"testnet\": false\n};\n\nvar c571 = {\n \"chain\": \"MTC\",\n \"chainId\": 571,\n \"explorers\": [{\n \"name\": \"MetaExplorer\",\n \"url\": \"https://explorer.metatime.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUH2Ph2hW4upvevEAGCaSo7nd8nthqMx5RrHcrnNZ9Y3g\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://metatime.com/en\",\n \"name\": \"MetaChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Metatime Coin\",\n \"symbol\": \"MTC\",\n \"decimals\": 18\n },\n \"networkId\": 571,\n \"rpc\": [\"https://571.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.metatime.com\"],\n \"shortName\": \"metatime\",\n \"slip44\": 571,\n \"slug\": \"metachain\",\n \"testnet\": false\n};\n\nvar c579 = {\n \"chain\": \"Filenova\",\n \"chainId\": 579,\n \"explorers\": [{\n \"name\": \"filenova explorer\",\n \"url\": \"https://scan.filenova.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qmc4KSKiAChhtN7ZNE5gvkLTRbvtLreKU9xaQFG8BKM8RE\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc4KSKiAChhtN7ZNE5gvkLTRbvtLreKU9xaQFG8BKM8RE\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filenova.org\",\n \"name\": \"Filenova Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Filecoin\",\n \"symbol\": \"FIL\",\n \"decimals\": 18\n },\n \"networkId\": 579,\n \"rpc\": [\"https://579.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.filenova.org\"],\n \"shortName\": \"filenova\",\n \"slug\": \"filenova\",\n \"testnet\": false\n};\n\nvar c588 = {\n \"chain\": \"ETH\",\n \"chainId\": 588,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://stardust-explorer.metis.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.metis.io\",\n \"name\": \"Metis Stardust Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tMetis\",\n \"symbol\": \"METIS\",\n \"decimals\": 18\n },\n \"networkId\": 588,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-4\",\n \"bridges\": [{\n \"url\": \"https://bridge.metis.io\"\n }]\n },\n \"rpc\": [\"https://588.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://stardust.metis.io/?owner=588\"],\n \"shortName\": \"metis-stardust\",\n \"slip44\": 1,\n \"slug\": \"metis-stardust-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c592 = {\n \"chain\": \"ASTR\",\n \"chainId\": 592,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.com/astar\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"subscan\",\n \"url\": \"https://astar.subscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qma2GfW5nQHuA7nGqdEfwaXPL63G9oTwRTQKaGTfjNtM2W\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmdvmx3p6gXBCLUMU1qivscaTNkT6h3URdhUTZCHLwKudg\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://astar.network/\",\n \"name\": \"Astar\",\n \"nativeCurrency\": {\n \"name\": \"Astar\",\n \"symbol\": \"ASTR\",\n \"decimals\": 18\n },\n \"networkId\": 592,\n \"redFlags\": [],\n \"rpc\": [\"https://592.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.astar.network\", \"https://rpc.astar.network:8545\"],\n \"shortName\": \"astr\",\n \"slug\": \"astar\",\n \"testnet\": false\n};\n\nvar c595 = {\n \"chain\": \"mACA\",\n \"chainId\": 595,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.mandala.aca-staging.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://acala.network\",\n \"name\": \"Acala Mandala Testnet TC9\",\n \"nativeCurrency\": {\n \"name\": \"Acala Mandala Token\",\n \"symbol\": \"mACA\",\n \"decimals\": 18\n },\n \"networkId\": 595,\n \"rpc\": [\"https://595.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-tc9.aca-staging.network\", \"wss://eth-rpc-tc9.aca-staging.network\"],\n \"shortName\": \"maca\",\n \"slip44\": 1,\n \"slug\": \"acala-mandala-testnet-tc9\",\n \"testnet\": true\n};\n\nvar c596 = {\n \"chain\": \"KAR\",\n \"chainId\": 596,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.karura-testnet.aca-staging.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://karura.network\",\n \"name\": \"Karura Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Karura Token\",\n \"symbol\": \"KAR\",\n \"decimals\": 18\n },\n \"networkId\": 596,\n \"rpc\": [\"https://596.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-karura-testnet.aca-staging.network\", \"wss://eth-rpc-karura-testnet.aca-staging.network\"],\n \"shortName\": \"tkar\",\n \"slip44\": 1,\n \"slug\": \"karura-network-testnet\",\n \"testnet\": true\n};\n\nvar c597 = {\n \"chain\": \"ACA\",\n \"chainId\": 597,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.acala-dev.aca-dev.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://acala.network\",\n \"name\": \"Acala Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Acala Token\",\n \"symbol\": \"ACA\",\n \"decimals\": 18\n },\n \"networkId\": 597,\n \"rpc\": [\"https://597.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-acala-testnet.aca-staging.network\", \"wss://eth-rpc-acala-testnet.aca-staging.network\"],\n \"shortName\": \"taca\",\n \"slip44\": 1,\n \"slug\": \"acala-network-testnet\",\n \"testnet\": true\n};\n\nvar c599 = {\n \"chain\": \"ETH\",\n \"chainId\": 599,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://goerli.explorer.metisdevops.link\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://goerli.faucet.metisdevops.link\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbWKNucbMtrMPPkHG5ZmVmvNUo8CzqHHcrpk1C2BVQsEG/2022_H-Brand_Stacked_WhiteGreen.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.metis.io\",\n \"name\": \"Metis Goerli Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Goerli Metis\",\n \"symbol\": \"METIS\",\n \"decimals\": 18\n },\n \"networkId\": 599,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-4\",\n \"bridges\": [{\n \"url\": \"https://testnet-bridge.metis.io\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://599.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.gateway.metisdevops.link\"],\n \"shortName\": \"metis-goerli\",\n \"slip44\": 1,\n \"slug\": \"metis-goerli-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c600 = {\n \"chain\": \"MeshTestChain\",\n \"chainId\": 600,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"Meshnyan testnet\",\n \"nativeCurrency\": {\n \"name\": \"Meshnyan Testnet Native Token\",\n \"symbol\": \"MESHT\",\n \"decimals\": 18\n },\n \"networkId\": 600,\n \"rpc\": [],\n \"shortName\": \"mesh-chain-testnet\",\n \"slip44\": 1,\n \"slug\": \"meshnyan-testnet\",\n \"testnet\": true\n};\n\nvar c601 = {\n \"chain\": \"VINE\",\n \"chainId\": 601,\n \"explorers\": [{\n \"name\": \"Vine Explorer\",\n \"url\": \"https://vne.network/rose\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTPbbhH4CkQiQWm4JUh3J9o5w79vXjFZaMBW4DKNuSVU3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://vne.network/rose\"],\n \"icon\": {\n \"url\": \"ipfs://QmTPbbhH4CkQiQWm4JUh3J9o5w79vXjFZaMBW4DKNuSVU3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.peer.inc\",\n \"name\": \"Vine Testnet\",\n \"nativeCurrency\": {\n \"name\": \"VINE\",\n \"symbol\": \"VNE\",\n \"decimals\": 18\n },\n \"networkId\": 601,\n \"rpc\": [\"https://601.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.vne.network\"],\n \"shortName\": \"VINE\",\n \"slug\": \"vine-testnet\",\n \"testnet\": true\n};\n\nvar c612 = {\n \"chain\": \"EIOB\",\n \"chainId\": 612,\n \"explorers\": [{\n \"name\": \"EIOB Explorer\",\n \"url\": \"https://explorer.eiob.xyz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfJLG2mXgSqKx2V3A2jzTwt4vkozvQTTXkRy3os27wEVm\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"png\"\n },\n \"name\": \"EIOB Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EIOB\",\n \"symbol\": \"EIOB\",\n \"decimals\": 18\n },\n \"networkId\": 612,\n \"rpc\": [\"https://612.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.eiob.xyz\"],\n \"shortName\": \"eiob\",\n \"slug\": \"eiob\",\n \"testnet\": false\n};\n\nvar c614 = {\n \"chain\": \"GLQ Blockchain\",\n \"chainId\": 614,\n \"explorers\": [{\n \"name\": \"GLQ Explorer\",\n \"url\": \"https://explorer.graphlinq.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://graphlinq.io\",\n \"name\": \"Graphlinq Blockchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GLQ\",\n \"symbol\": \"GLQ\",\n \"decimals\": 18\n },\n \"networkId\": 614,\n \"rpc\": [\"https://614.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://glq-dataseed.graphlinq.io\"],\n \"shortName\": \"glq\",\n \"slug\": \"graphlinq-blockchain\",\n \"testnet\": false\n};\n\nvar c634 = {\n \"chain\": \"Avocado\",\n \"chainId\": 634,\n \"explorers\": [{\n \"name\": \"avoscan\",\n \"url\": \"https://avoscan.co\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qma9rJSgy32UL1iXtXKFZQJA6FjkcUcDU4HR6y13Wu1vjn\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qma9rJSgy32UL1iXtXKFZQJA6FjkcUcDU4HR6y13Wu1vjn\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://avocado.instadapp.io\",\n \"name\": \"Avocado\",\n \"nativeCurrency\": {\n \"name\": \"USDC\",\n \"symbol\": \"USDC\",\n \"decimals\": 18\n },\n \"networkId\": 634,\n \"rpc\": [\"https://634.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.avocado.instadapp.io\"],\n \"shortName\": \"avocado\",\n \"slug\": \"avocado\",\n \"testnet\": false\n};\n\nvar c646 = {\n \"chain\": \"Flow\",\n \"chainId\": 646,\n \"explorers\": [{\n \"name\": \"Flow Diver\",\n \"url\": \"https://previewnet.flowdiver.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://previewnet-faucet.onflow.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmQFugEvsfU3ARjjJ7YRLJwSxMfTk54WWzrofekTRBKFaC\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://developers.flow.com/evm/about\",\n \"name\": \"Previewnet\",\n \"nativeCurrency\": {\n \"name\": \"FLOW\",\n \"symbol\": \"FLOW\",\n \"decimals\": 18\n },\n \"networkId\": 646,\n \"rpc\": [\"https://646.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://previewnet.evm.nodes.onflow.org\"],\n \"shortName\": \"flow-previewnet\",\n \"slug\": \"previewnet\",\n \"testnet\": false\n};\n\nvar c647 = {\n \"chain\": \"SX\",\n \"chainId\": 647,\n \"explorers\": [{\n \"name\": \"SX Network Toronto Explorer\",\n \"url\": \"https://explorer.toronto.sx.technology\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.toronto.sx.technology\"],\n \"icon\": {\n \"url\": \"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF\",\n \"width\": 896,\n \"height\": 690,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.sx.technology\",\n \"name\": \"SX Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SX Network\",\n \"symbol\": \"SX\",\n \"decimals\": 18\n },\n \"networkId\": 647,\n \"rpc\": [\"https://647.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.toronto.sx.technology\"],\n \"shortName\": \"SX-Testnet\",\n \"slip44\": 1,\n \"slug\": \"sx-network-testnet\",\n \"testnet\": true\n};\n\nvar c648 = {\n \"chain\": \"ACE\",\n \"chainId\": 648,\n \"explorers\": [{\n \"name\": \"Endurance Scan\",\n \"url\": \"https://explorer.endurance.fusionist.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ace.fusionist.io/\",\n \"name\": \"Endurance Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Endurance Chain Native Token\",\n \"symbol\": \"ACE\",\n \"decimals\": 18\n },\n \"networkId\": 648,\n \"rpc\": [\"https://648.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-endurance.fusionist.io/\"],\n \"shortName\": \"ace\",\n \"slug\": \"endurance-smart-chain\",\n \"testnet\": false\n};\n\nvar c653 = {\n \"chain\": \"Kalichain\",\n \"chainId\": 653,\n \"explorers\": [{\n \"name\": \"kalichain explorer\",\n \"url\": \"https://explorer.kalichain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreieox7v337p3jfhd37dz74mq6mn3uk5i5475rmzpirmyp6ydcfzzqi\",\n \"width\": 350,\n \"height\": 350,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kalichain.com\",\n \"name\": \"Kalichain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"kalis\",\n \"symbol\": \"KALIS\",\n \"decimals\": 18\n },\n \"networkId\": 653,\n \"rpc\": [\"https://653.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kalichain.com\"],\n \"shortName\": \"kalichain\",\n \"slug\": \"kalichain-testnet\",\n \"testnet\": true\n};\n\nvar c654 = {\n \"chain\": \"Kalichain\",\n \"chainId\": 654,\n \"explorers\": [{\n \"name\": \"kalichain explorer\",\n \"url\": \"https://explorer.kalichain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreieox7v337p3jfhd37dz74mq6mn3uk5i5475rmzpirmyp6ydcfzzqi\",\n \"width\": 350,\n \"height\": 350,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kalichain.com\",\n \"name\": \"Kalichain\",\n \"nativeCurrency\": {\n \"name\": \"kalis\",\n \"symbol\": \"KALIS\",\n \"decimals\": 18\n },\n \"networkId\": 654,\n \"rpc\": [\"https://654.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.kalichain.com\"],\n \"shortName\": \"kalichainMainnet\",\n \"slug\": \"kalichain\",\n \"testnet\": false\n};\n\nvar c662 = {\n \"chain\": \"UltronSmartchain\",\n \"chainId\": 662,\n \"explorers\": [{\n \"name\": \"ultronsmartchain explorer\",\n \"url\": \"https://scan.ultronsmartchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTns2FXAqDCq1QJsocUBGjhxsgWYK7pFfD4UrRZ9JBsF1\",\n \"width\": 50,\n \"height\": 50,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ultronsmartchain.io\",\n \"name\": \"UltronSmartchain\",\n \"nativeCurrency\": {\n \"name\": \"ulc\",\n \"symbol\": \"ULC\",\n \"decimals\": 18\n },\n \"networkId\": 662,\n \"rpc\": [\"https://662.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ultronsmartchain.io\"],\n \"shortName\": \"ultronsmartchain\",\n \"slug\": \"ultronsmartchain\",\n \"testnet\": false\n};\n\nvar c666 = {\n \"chain\": \"PixieChain\",\n \"chainId\": 666,\n \"explorers\": [],\n \"faucets\": [\"https://chain.pixie.xyz/faucet\"],\n \"infoURL\": \"https://scan-testnet.chain.pixie.xyz\",\n \"name\": \"Pixie Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Pixie Chain Testnet Native Token\",\n \"symbol\": \"PCTT\",\n \"decimals\": 18\n },\n \"networkId\": 666,\n \"rpc\": [\"https://666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-testnet.chain.pixie.xyz\", \"wss://ws-testnet.chain.pixie.xyz\"],\n \"shortName\": \"pixie-chain-testnet\",\n \"slip44\": 1,\n \"slug\": \"pixie-chain-testnet\",\n \"testnet\": true\n};\n\nvar c667 = {\n \"chain\": \"LAOS\",\n \"chainId\": 667,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://arrakis.gorengine.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZ4YYcvhcaeotMPaGXC5Vab7JFaVkka37V8TiTJpT7Mak\",\n \"width\": 586,\n \"height\": 558,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZ4YYcvhcaeotMPaGXC5Vab7JFaVkka37V8TiTJpT7Mak\",\n \"width\": 586,\n \"height\": 558,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.laosfoundation.io/\",\n \"name\": \"LAOS Arrakis\",\n \"nativeCurrency\": {\n \"name\": \"LAOS\",\n \"symbol\": \"LAOS\",\n \"decimals\": 18\n },\n \"networkId\": 667,\n \"rpc\": [\"https://667.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://arrakis.gorengine.com/own\", \"wss://arrakis.gorengine.com/own\"],\n \"shortName\": \"laos\",\n \"slug\": \"laos-arrakis\",\n \"testnet\": true,\n \"title\": \"LAOS Testnet Arrakis\"\n};\n\nvar c668 = {\n \"chain\": \"JuncaChain\",\n \"chainId\": 668,\n \"explorers\": [{\n \"name\": \"JuncaScan\",\n \"url\": \"https://scan.juncachain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://junca-cash.world\",\n \"name\": \"JuncaChain\",\n \"nativeCurrency\": {\n \"name\": \"JuncaChain Native Token\",\n \"symbol\": \"JGC\",\n \"decimals\": 18\n },\n \"networkId\": 668,\n \"rpc\": [\"https://668.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.juncachain.com\"],\n \"shortName\": \"junca\",\n \"slug\": \"juncachain\",\n \"testnet\": false\n};\n\nvar c669 = {\n \"chain\": \"JuncaChain testnet\",\n \"chainId\": 669,\n \"explorers\": [{\n \"name\": \"JuncaScan\",\n \"url\": \"https://scan-testnet.juncachain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet-testnet.juncachain.com\"],\n \"infoURL\": \"https://junca-cash.world\",\n \"name\": \"JuncaChain testnet\",\n \"nativeCurrency\": {\n \"name\": \"JuncaChain Testnet Native Token\",\n \"symbol\": \"JGCT\",\n \"decimals\": 18\n },\n \"networkId\": 669,\n \"rpc\": [\"https://669.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.juncachain.com\", \"wss://ws-testnet.juncachain.com\"],\n \"shortName\": \"juncat\",\n \"slip44\": 1,\n \"slug\": \"juncachain-testnet\",\n \"testnet\": true\n};\n\nvar c686 = {\n \"chain\": \"KAR\",\n \"chainId\": 686,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.karura.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://acala.network/karura\",\n \"name\": \"Karura Network\",\n \"nativeCurrency\": {\n \"name\": \"Karura Token\",\n \"symbol\": \"KAR\",\n \"decimals\": 18\n },\n \"networkId\": 686,\n \"rpc\": [\"https://686.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-karura.aca-api.network\", \"wss://eth-rpc-karura.aca-api.network\"],\n \"shortName\": \"kar\",\n \"slip44\": 686,\n \"slug\": \"karura-network\",\n \"testnet\": false\n};\n\nvar c690 = {\n \"chain\": \"ETH\",\n \"chainId\": 690,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.redstone.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreieyaqgkgntvxuo5tnhgseladga5q6gutc37dab7kqqfdguhq7vkxq\",\n \"width\": 5836,\n \"height\": 5836,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://redstone.xyz\",\n \"name\": \"Redstone\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 690,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://redstone.xyz/deposit\"\n }]\n },\n \"rpc\": [\"https://690.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.redstonechain.com\", \"wss://rpc.redstonechain.com\"],\n \"shortName\": \"redstone\",\n \"slug\": \"redstone\",\n \"testnet\": false\n};\n\nvar c700 = {\n \"chain\": \"SNS\",\n \"chainId\": 700,\n \"explorers\": [{\n \"name\": \"starscan\",\n \"url\": \"https://avastar.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://info.avastar.cc\",\n \"name\": \"Star Social Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Social\",\n \"symbol\": \"SNS\",\n \"decimals\": 18\n },\n \"networkId\": 700,\n \"rpc\": [\"https://700.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://avastar.cc/ext/bc/C/rpc\"],\n \"shortName\": \"SNS\",\n \"slip44\": 1,\n \"slug\": \"star-social-testnet\",\n \"testnet\": true\n};\n\nvar c701 = {\n \"chain\": \"Darwinia Koi\",\n \"chainId\": 701,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://koi-scan.darwinia.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://darwinia.network/\",\n \"name\": \"Darwinia Koi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Koi Network Native Token\",\n \"symbol\": \"KRING\",\n \"decimals\": 18\n },\n \"networkId\": 701,\n \"rpc\": [\"https://701.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://koi-rpc.darwinia.network\"],\n \"shortName\": \"darwinia-koi\",\n \"slip44\": 1,\n \"slug\": \"darwinia-koi-testnet\",\n \"testnet\": true\n};\n\nvar c707 = {\n \"chain\": \"BCS\",\n \"chainId\": 707,\n \"explorers\": [{\n \"name\": \"BlockChain Station Explorer\",\n \"url\": \"https://explorer.bcsdev.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://blockchainstation.io\",\n \"name\": \"BlockChain Station Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BCS Token\",\n \"symbol\": \"BCS\",\n \"decimals\": 18\n },\n \"networkId\": 707,\n \"rpc\": [\"https://707.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.bcsdev.io\", \"wss://rpc-ws-mainnet.bcsdev.io\"],\n \"shortName\": \"bcs\",\n \"slug\": \"blockchain-station\",\n \"testnet\": false\n};\n\nvar c708 = {\n \"chain\": \"BCS\",\n \"chainId\": 708,\n \"explorers\": [{\n \"name\": \"BlockChain Station Explorer\",\n \"url\": \"https://testnet.bcsdev.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bcsdev.io\"],\n \"infoURL\": \"https://blockchainstation.io\",\n \"name\": \"BlockChain Station Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BCS Testnet Token\",\n \"symbol\": \"tBCS\",\n \"decimals\": 18\n },\n \"networkId\": 708,\n \"rpc\": [\"https://708.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.bcsdev.io\", \"wss://rpc-ws-testnet.bcsdev.io\"],\n \"shortName\": \"tbcs\",\n \"slip44\": 1,\n \"slug\": \"blockchain-station-testnet\",\n \"testnet\": true\n};\n\nvar c710 = {\n \"chain\": \"HIGHBURY\",\n \"chainId\": 710,\n \"explorers\": [{\n \"name\": \"Furya EVM Explorer\",\n \"url\": \"https://explorer.furya.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiby27m6esbsjthmknckq5ktsaaj2z6hylzljbsmvx4fgezdra3q4m\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiby27m6esbsjthmknckq5ktsaaj2z6hylzljbsmvx4fgezdra3q4m\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.fury.black\",\n \"name\": \"Highbury\",\n \"nativeCurrency\": {\n \"name\": \"Fury\",\n \"symbol\": \"FURY\",\n \"decimals\": 18\n },\n \"networkId\": 710,\n \"rpc\": [\"https://710.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://highbury.furya.io\", \"https://rest.furya.io\"],\n \"shortName\": \"fury\",\n \"slug\": \"highbury\",\n \"testnet\": false\n};\n\nvar c713 = {\n \"chain\": \"VRC\",\n \"chainId\": 713,\n \"explorers\": [{\n \"name\": \"vrcscan\",\n \"url\": \"https://vrcscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"dxbscan\",\n \"url\": \"https://dxb.vrcscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmasMkZJ6m7y77fgY6SooNnrH3Y4a3vVYNDWe9T3KusxeU\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://vrccoin.com\",\n \"name\": \"Vrcscan Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"VRC Chain\",\n \"symbol\": \"VRC\",\n \"decimals\": 18\n },\n \"networkId\": 713,\n \"rpc\": [\"https://713.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet-5.vrcscan.com\", \"https://rpc-mainnet-6.vrcscan.com\", \"https://rpc-mainnet-7.vrcscan.com\", \"https://rpc-mainnet-8.vrcscan.com\"],\n \"shortName\": \"vrc\",\n \"slug\": \"vrcscan\",\n \"testnet\": false\n};\n\nvar c719 = {\n \"chain\": \"Shibarium\",\n \"chainId\": 719,\n \"explorers\": [{\n \"name\": \"shibscan\",\n \"url\": \"https://puppyscan.shib.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYNVkoZgRjDBQzJz6kog9mA2yPzQFW2oSKvhnkwuBhLQE\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://beta.shibariumtech.com\",\n \"name\": \"Shibarium Beta\",\n \"nativeCurrency\": {\n \"name\": \"BONE\",\n \"symbol\": \"BONE\",\n \"decimals\": 18\n },\n \"networkId\": 719,\n \"rpc\": [\"https://719.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://puppynet.shibrpc.com\"],\n \"shortName\": \"shibarium\",\n \"slug\": \"shibarium-beta\",\n \"testnet\": false\n};\n\nvar c721 = {\n \"chain\": \"LYC\",\n \"chainId\": 721,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.lycanchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZsp3gnmHCJPw3qReiqV8P8Ct5Eidib4E5jDNfBUxYEgP\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lycanchain.com\",\n \"name\": \"Lycan Chain\",\n \"nativeCurrency\": {\n \"name\": \"Lycan\",\n \"symbol\": \"LYC\",\n \"decimals\": 18\n },\n \"networkId\": 721,\n \"rpc\": [\"https://721.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.lycanchain.com/\", \"https://us-east.lycanchain.com\", \"https://us-west.lycanchain.com\", \"https://eu-north.lycanchain.com\", \"https://eu-west.lycanchain.com\", \"https://asia-southeast.lycanchain.com\"],\n \"shortName\": \"LYC\",\n \"slug\": \"lycan-chain\",\n \"testnet\": false\n};\n\nvar c727 = {\n \"chain\": \"BLU\",\n \"chainId\": 727,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.blucrates.com\",\n \"name\": \"Blucrates\",\n \"nativeCurrency\": {\n \"name\": \"Blucrates\",\n \"symbol\": \"BLU\",\n \"decimals\": 18\n },\n \"networkId\": 727,\n \"rpc\": [\"https://727.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://data.bluchain.pro\"],\n \"shortName\": \"blu\",\n \"slip44\": 727,\n \"slug\": \"blucrates\",\n \"testnet\": false\n};\n\nvar c730 = {\n \"chain\": \"Lovely\",\n \"chainId\": 730,\n \"explorers\": [{\n \"name\": \"Lovely Network Mainnet\",\n \"url\": \"https://scan.lovely.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPB7uW7Wj8zWWdeuPnUHPJ5FhaiTL76tv4ZQ4oKWEpb1g\",\n \"width\": 897,\n \"height\": 824,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lovely.network\",\n \"name\": \"Lovely Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Lovely\",\n \"symbol\": \"LOVELY\",\n \"decimals\": 18\n },\n \"networkId\": 730,\n \"rpc\": [\"https://730.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.lovely.network\"],\n \"shortName\": \"LOVELY\",\n \"slug\": \"lovely-network\",\n \"testnet\": false\n};\n\nvar c740 = {\n \"chain\": \"Canto Tesnet\",\n \"chainId\": 740,\n \"explorers\": [{\n \"name\": \"Canto Tesnet Explorer (Neobase)\",\n \"url\": \"https://testnet-explorer.canto.neobase.one\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://canto.io\",\n \"name\": \"Canto Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Canto\",\n \"symbol\": \"CANTO\",\n \"decimals\": 18\n },\n \"networkId\": 740,\n \"rpc\": [\"https://740.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth.plexnode.wtf/\"],\n \"shortName\": \"tcanto\",\n \"slip44\": 1,\n \"slug\": \"canto-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c741 = {\n \"chain\": \"VSCT\",\n \"chainId\": 741,\n \"explorers\": [{\n \"name\": \"ventionscan\",\n \"url\": \"https://testnet.ventionscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.vention.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmcNepHmbmHW1BZYM3MFqJW4awwhmDqhUPRXXmRnXwg1U4\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.ventionscan.io\",\n \"name\": \"Vention Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"VNT\",\n \"symbol\": \"VNT\",\n \"decimals\": 18\n },\n \"networkId\": 741,\n \"rpc\": [\"https://741.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node-testnet.vention.network\"],\n \"shortName\": \"vsct\",\n \"slip44\": 1,\n \"slug\": \"vention-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c742 = {\n \"chain\": \"SPAY\",\n \"chainId\": 742,\n \"explorers\": [{\n \"name\": \"Script Explorer\",\n \"url\": \"https://explorer.script.tv\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://token.script.tv\",\n \"name\": \"Script Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Script\",\n \"symbol\": \"SPAY\",\n \"decimals\": 18\n },\n \"networkId\": 742,\n \"rpc\": [\"https://742.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testeth-rpc-api.script.tv/rpc\"],\n \"shortName\": \"SPAY\",\n \"slip44\": 1,\n \"slug\": \"script-testnet\",\n \"testnet\": true\n};\n\nvar c747 = {\n \"chain\": \"Flow\",\n \"chainId\": 747,\n \"explorers\": [{\n \"name\": \"Flow Diver\",\n \"url\": \"https://flowdiver.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQFugEvsfU3ARjjJ7YRLJwSxMfTk54WWzrofekTRBKFaC\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://developers.flow.com/evm/about\",\n \"name\": \"Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"FLOW\",\n \"symbol\": \"FLOW\",\n \"decimals\": 18\n },\n \"networkId\": 747,\n \"rpc\": [\"https://747.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.evm.nodes.onflow.org\"],\n \"shortName\": \"flow-mainnet\",\n \"slug\": \"flow-mainnet\",\n \"testnet\": false\n};\n\nvar c766 = {\n \"chain\": \"QOM\",\n \"chainId\": 766,\n \"explorers\": [{\n \"name\": \"QL1 Mainnet Explorer\",\n \"url\": \"https://mainnet.qom.one\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRc1kJ7AgcDL1BSoMYudatWHTrz27K6WNTwGifQb5V17D\",\n \"width\": 518,\n \"height\": 518,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRc1kJ7AgcDL1BSoMYudatWHTrz27K6WNTwGifQb5V17D\",\n \"width\": 518,\n \"height\": 518,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://qom.one\",\n \"name\": \"QL1\",\n \"nativeCurrency\": {\n \"name\": \"Shiba Predator\",\n \"symbol\": \"QOM\",\n \"decimals\": 18\n },\n \"networkId\": 766,\n \"rpc\": [\"https://766.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.qom.one\"],\n \"shortName\": \"qom\",\n \"slug\": \"ql1\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c776 = {\n \"chain\": \"OpenChain Testnet\",\n \"chainId\": 776,\n \"explorers\": [{\n \"name\": \"OPEN CHAIN TESTNET\",\n \"url\": \"https://testnet.openchain.info\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.openchain.info/\"],\n \"infoURL\": \"https://testnet.openchain.info/\",\n \"name\": \"OpenChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Openchain Testnet\",\n \"symbol\": \"TOPC\",\n \"decimals\": 18\n },\n \"networkId\": 776,\n \"rpc\": [],\n \"shortName\": \"opc\",\n \"slip44\": 1,\n \"slug\": \"openchain-testnet\",\n \"testnet\": true\n};\n\nvar c777 = {\n \"chain\": \"cheapETH\",\n \"chainId\": 777,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://cheapeth.org/\",\n \"name\": \"cheapETH\",\n \"nativeCurrency\": {\n \"name\": \"cTH\",\n \"symbol\": \"cTH\",\n \"decimals\": 18\n },\n \"networkId\": 777,\n \"rpc\": [\"https://777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.cheapeth.org/rpc\"],\n \"shortName\": \"cth\",\n \"slug\": \"cheapeth\",\n \"testnet\": false\n};\n\nvar c786 = {\n \"chain\": \"MAAL\",\n \"chainId\": 786,\n \"explorers\": [{\n \"name\": \"maalscan\",\n \"url\": \"https://maalscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiexfqfe2x4impvwhra3xxa5eb25gv25zi3kkaoatdnld7wbxdzf2a\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.maalchain.com/\",\n \"name\": \"MAAL Chain\",\n \"nativeCurrency\": {\n \"name\": \"MAAL\",\n \"symbol\": \"MAAL\",\n \"decimals\": 18\n },\n \"networkId\": 786,\n \"rpc\": [\"https://786.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1-mainnet.maalscan.io/\", \"https://node2-mainnet.maalscan.io/\", \"https://node3-mainnet.maalscan.io/\"],\n \"shortName\": \"maal\",\n \"slug\": \"maal-chain\",\n \"testnet\": false\n};\n\nvar c787 = {\n \"chain\": \"ACA\",\n \"chainId\": 787,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.acala.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://acala.network\",\n \"name\": \"Acala Network\",\n \"nativeCurrency\": {\n \"name\": \"Acala Token\",\n \"symbol\": \"ACA\",\n \"decimals\": 18\n },\n \"networkId\": 787,\n \"rpc\": [\"https://787.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-acala.aca-api.network\", \"wss://eth-rpc-acala.aca-api.network\"],\n \"shortName\": \"aca\",\n \"slip44\": 787,\n \"slug\": \"acala-network\",\n \"testnet\": false\n};\n\nvar c788 = {\n \"chain\": \"Aerochain\",\n \"chainId\": 788,\n \"explorers\": [{\n \"name\": \"aeroscan\",\n \"url\": \"https://testnet.aeroscan.id\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.aerochain.id/\"],\n \"infoURL\": \"https://aerochaincoin.org/\",\n \"name\": \"Aerochain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Aerochain Testnet\",\n \"symbol\": \"TAero\",\n \"decimals\": 18\n },\n \"networkId\": 788,\n \"rpc\": [\"https://788.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.aerochain.id/\"],\n \"shortName\": \"taero\",\n \"slip44\": 1,\n \"slug\": \"aerochain-testnet\",\n \"testnet\": true\n};\n\nvar c789 = {\n \"chain\": \"ETH\",\n \"chainId\": 789,\n \"explorers\": [{\n \"name\": \"patexscan\",\n \"url\": \"https://patexscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTNTSNn3t5WpSEzQmUYbkxYkBKaH6QahyVdVrRKyPHChr\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTNTSNn3t5WpSEzQmUYbkxYkBKaH6QahyVdVrRKyPHChr\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://patex.io/\",\n \"name\": \"Patex\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 789,\n \"rpc\": [\"https://789.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.patex.io/\"],\n \"shortName\": \"peth\",\n \"slug\": \"patex\",\n \"testnet\": false\n};\n\nvar c799 = {\n \"chain\": \"Rupaya Testnet\",\n \"chainId\": 799,\n \"explorers\": [{\n \"name\": \"rupayascan\",\n \"url\": \"https://scan.testnet.rupaya.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.testnet.rupaya.io\"],\n \"infoURL\": \"https://www.rupaya.io\",\n \"name\": \"Rupaya Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Test Rupaya\",\n \"symbol\": \"TRUPX\",\n \"decimals\": 18\n },\n \"networkId\": 799,\n \"rpc\": [\"https://799.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.rupaya.io\"],\n \"shortName\": \"RupayaTestnet\",\n \"slip44\": 1,\n \"slug\": \"rupaya-testnet\",\n \"testnet\": true\n};\n\nvar c800 = {\n \"chain\": \"Lucid\",\n \"chainId\": 800,\n \"explorers\": [{\n \"name\": \"Lucid Explorer\",\n \"url\": \"https://explorer.lucidcoin.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.lucidcoin.io\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeigxiyyxll4vst5cjjh732mr6zhsnligxubaldyiul2xdvvi6ibktu\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lucidcoin.io\",\n \"name\": \"Lucid Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"LUCID\",\n \"symbol\": \"LUCID\",\n \"decimals\": 18\n },\n \"networkId\": 800,\n \"rpc\": [\"https://800.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.lucidcoin.io\"],\n \"shortName\": \"LUCID\",\n \"slug\": \"lucid-blockchain\",\n \"testnet\": false\n};\n\nvar c803 = {\n \"chain\": \"Haic\",\n \"chainId\": 803,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.haichain.io/\",\n \"name\": \"Haic\",\n \"nativeCurrency\": {\n \"name\": \"Haicoin\",\n \"symbol\": \"HAIC\",\n \"decimals\": 18\n },\n \"networkId\": 803,\n \"rpc\": [\"https://803.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://orig.haichain.io/\"],\n \"shortName\": \"haic\",\n \"slug\": \"haic\",\n \"testnet\": false\n};\n\nvar c808 = {\n \"chain\": \"PF\",\n \"chainId\": 808,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeMa6aw3ebUKJdGgbzDgcVtggzp7cQdfSrmzMYmnt5ywc\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://portalfantasy.io\",\n \"name\": \"Portal Fantasy Chain Test\",\n \"nativeCurrency\": {\n \"name\": \"Portal Fantasy Token\",\n \"symbol\": \"PFT\",\n \"decimals\": 18\n },\n \"networkId\": 808,\n \"rpc\": [\"https://808.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/portal-fantasy/testnet/rpc\"],\n \"shortName\": \"PFTEST\",\n \"slip44\": 1,\n \"slug\": \"portal-fantasy-chain-test\",\n \"testnet\": true\n};\n\nvar c810 = {\n \"chain\": \"haven1\",\n \"chainId\": 810,\n \"explorers\": [{\n \"name\": \"Haven1 Explorer\",\n \"url\": \"https://testnet-explorer.haven1.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreih4jq33lz2mjwvu62hmo2ptt277et5l6oqi5ejuyxv2dir2iohsai\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://www.haven1.org/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreih4jq33lz2mjwvu62hmo2ptt277et5l6oqi5ejuyxv2dir2iohsai\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.haven1.org\",\n \"name\": \"Haven1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Haven1\",\n \"symbol\": \"H1\",\n \"decimals\": 18\n },\n \"networkId\": 810,\n \"rpc\": [\"https://810.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.haven1.org\"],\n \"shortName\": \"h1\",\n \"slug\": \"haven1-testnet\",\n \"testnet\": true\n};\n\nvar c813 = {\n \"chain\": \"MEER\",\n \"chainId\": 813,\n \"explorers\": [{\n \"name\": \"meerscan\",\n \"url\": \"https://qng.qitmeer.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"meerscan\",\n \"url\": \"https://qng.meerscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Qitmeer Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Qitmeer\",\n \"symbol\": \"MEER\",\n \"decimals\": 18\n },\n \"networkId\": 813,\n \"rpc\": [\"https://813.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-dataseed1.meerscan.io\", \"https://evm-dataseed2.meerscan.io\", \"https://evm-dataseed3.meerscan.io\", \"https://evm-dataseed.meerscan.com\", \"https://qng.rpc.qitmeer.io\", \"https://mainnet.meerlabs.com\", \"https://rpc.dimai.ai\", \"https://rpc.woowow.io\"],\n \"shortName\": \"meer\",\n \"slip44\": 813,\n \"slug\": \"qitmeer-network\",\n \"testnet\": false\n};\n\nvar c814 = {\n \"chain\": \"Firechain\",\n \"chainId\": 814,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYjuztyURb3Fc6ZTLgCbwQa64CcVoigF5j9cafzuSbqgf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.thefirechain.com/\",\n \"name\": \"Firechain zkEVM\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 814,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://zkevm-bridge-rpc.thefirechain.com\"\n }]\n },\n \"rpc\": [\"https://814.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-zkevm.thefirechain.com\"],\n \"shortName\": \"firechan-zkEVM\",\n \"slug\": \"firechain-zkevm\",\n \"testnet\": false,\n \"title\": \"Firechain zkEVM\"\n};\n\nvar c818 = {\n \"chain\": \"BOC\",\n \"chainId\": 818,\n \"explorers\": [{\n \"name\": \"BeOne Chain Mainnet\",\n \"url\": \"https://beonescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbVLQnaMDu86bPyKgCvTGhFBeYwjr15hQnrCcsp1EkAGL\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://beonechain.com\",\n \"name\": \"BeOne Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BeOne Chain Mainnet\",\n \"symbol\": \"BOC\",\n \"decimals\": 18\n },\n \"networkId\": 818,\n \"rpc\": [\"https://818.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed1.beonechain.com\", \"https://dataseed2.beonechain.com\", \"https://dataseed-us1.beonechain.com\", \"https://dataseed-us2.beonechain.com\", \"https://dataseed-uk1.beonechain.com\", \"https://dataseed-uk2.beonechain.com\"],\n \"shortName\": \"BOC\",\n \"slip44\": 8181,\n \"slug\": \"beone-chain\",\n \"testnet\": false\n};\n\nvar c820 = {\n \"chain\": \"CLO\",\n \"chainId\": 820,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://callisto.network\",\n \"name\": \"Callisto Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Callisto\",\n \"symbol\": \"CLO\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://820.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.callisto.network/\"],\n \"shortName\": \"clo\",\n \"slip44\": 820,\n \"slug\": \"callisto\",\n \"testnet\": false\n};\n\nvar c821 = {\n \"chain\": \"CLO\",\n \"chainId\": 821,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://callisto.network\",\n \"name\": \"Callisto Testnet Deprecated\",\n \"nativeCurrency\": {\n \"name\": \"Callisto Testnet Ether\",\n \"symbol\": \"TCLO\",\n \"decimals\": 18\n },\n \"networkId\": 2,\n \"rpc\": [],\n \"shortName\": \"tclo\",\n \"slip44\": 1,\n \"slug\": \"callisto-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c822 = {\n \"chain\": \"Runic\",\n \"chainId\": 822,\n \"explorers\": [{\n \"name\": \"RunicScan\",\n \"url\": \"https://scan.runic.build\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3RZKwBq12F7jVV2pn6T9WzwU5rosLYkVqoRQckfKvXo\",\n \"width\": 340,\n \"height\": 340,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.runic.build\"],\n \"icon\": {\n \"url\": \"ipfs://QmW3RZKwBq12F7jVV2pn6T9WzwU5rosLYkVqoRQckfKvXo\",\n \"width\": 340,\n \"height\": 340,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://runic.build\",\n \"name\": \"Runic Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"rBTC\",\n \"decimals\": 18\n },\n \"networkId\": 822,\n \"rpc\": [\"https://822.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.runic.build\"],\n \"shortName\": \"runic-testnet\",\n \"slug\": \"runic-chain-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c831 = {\n \"chain\": \"CDT Blockchain\",\n \"chainId\": 831,\n \"explorers\": [{\n \"name\": \"CDT Explorer\",\n \"url\": \"https://explorer.checkdot.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://checkdot.io\",\n \"name\": \"CheckDot Blockchain Devnet\",\n \"nativeCurrency\": {\n \"name\": \"CDT\",\n \"symbol\": \"CDT\",\n \"decimals\": 18\n },\n \"networkId\": 831,\n \"rpc\": [\"https://831.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.checkdot.io\"],\n \"shortName\": \"cdt\",\n \"slug\": \"checkdot-blockchain-devnet\",\n \"testnet\": false\n};\n\nvar c841 = {\n \"chain\": \"Tara\",\n \"chainId\": 841,\n \"explorers\": [{\n \"name\": \"Taraxa Explorer\",\n \"url\": \"https://explorer.mainnet.taraxa.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQhdktNyBeXmCaVuQpi1B4yXheSUKrJA17L4wpECKzG5D\",\n \"width\": 310,\n \"height\": 310,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taraxa.io\",\n \"name\": \"Taraxa Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Tara\",\n \"symbol\": \"TARA\",\n \"decimals\": 18\n },\n \"networkId\": 841,\n \"rpc\": [\"https://841.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.taraxa.io/\"],\n \"shortName\": \"tara\",\n \"slug\": \"taraxa\",\n \"testnet\": false\n};\n\nvar c842 = {\n \"chain\": \"Tara\",\n \"chainId\": 842,\n \"explorers\": [{\n \"name\": \"Taraxa Explorer\",\n \"url\": \"https://explorer.testnet.taraxa.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQhdktNyBeXmCaVuQpi1B4yXheSUKrJA17L4wpECKzG5D\",\n \"width\": 310,\n \"height\": 310,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taraxa.io\",\n \"name\": \"Taraxa Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Tara\",\n \"symbol\": \"TARA\",\n \"decimals\": 18\n },\n \"networkId\": 842,\n \"rpc\": [\"https://842.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.taraxa.io/\"],\n \"shortName\": \"taratest\",\n \"slip44\": 1,\n \"slug\": \"taraxa-testnet\",\n \"testnet\": true\n};\n\nvar c859 = {\n \"chain\": \"ZeethChainDev\",\n \"chainId\": 859,\n \"explorers\": [{\n \"name\": \"Zeeth Explorer Dev\",\n \"url\": \"https://explorer.dev.zeeth.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"name\": \"Zeeth Chain Dev\",\n \"nativeCurrency\": {\n \"name\": \"Zeeth Token\",\n \"symbol\": \"ZTH\",\n \"decimals\": 18\n },\n \"networkId\": 859,\n \"rpc\": [\"https://859.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dev.zeeth.io\"],\n \"shortName\": \"zeethdev\",\n \"slug\": \"zeeth-chain-dev\",\n \"testnet\": false\n};\n\nvar c868 = {\n \"chain\": \"FSC\",\n \"chainId\": 868,\n \"explorers\": [{\n \"name\": \"FSCScan\",\n \"url\": \"https://explorer.fantasiachain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://fantasiachain.com/\",\n \"name\": \"Fantasia Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"FST\",\n \"symbol\": \"FST\",\n \"decimals\": 18\n },\n \"networkId\": 868,\n \"rpc\": [\"https://868.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-data1.fantasiachain.com/\", \"https://mainnet-data2.fantasiachain.com/\", \"https://mainnet-data3.fantasiachain.com/\"],\n \"shortName\": \"FSCMainnet\",\n \"slug\": \"fantasia-chain\",\n \"testnet\": false\n};\n\nvar c876 = {\n \"chain\": \"Bandai Namco Research Verse\",\n \"chainId\": 876,\n \"explorers\": [{\n \"name\": \"Bandai Namco Research Verse Explorer\",\n \"url\": \"https://explorer.main.oasvrs.bnken.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifhetalm3vpvjrg5u5d2momkcgvkz6rhltur5co3rslltbxzpr6yq\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bandainamco-mirai.com/en/\",\n \"name\": \"Bandai Namco Research Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 876,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://876.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.main.oasvrs.bnken.net\"],\n \"shortName\": \"BNKEN\",\n \"slug\": \"bandai-namco-research-verse\",\n \"testnet\": false\n};\n\nvar c877 = {\n \"chain\": \"DXT\",\n \"chainId\": 877,\n \"explorers\": [{\n \"name\": \"dxtscan\",\n \"url\": \"https://dxtscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dexit.network\"],\n \"infoURL\": \"https://dexit.network\",\n \"name\": \"Dexit Network\",\n \"nativeCurrency\": {\n \"name\": \"Dexit network\",\n \"symbol\": \"DXT\",\n \"decimals\": 18\n },\n \"networkId\": 877,\n \"rpc\": [\"https://877.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dxt.dexit.network\"],\n \"shortName\": \"DXT\",\n \"slug\": \"dexit-network\",\n \"testnet\": false\n};\n\nvar c880 = {\n \"chain\": \"ambroschain\",\n \"chainId\": 880,\n \"explorers\": [{\n \"name\": \"Ambros Chain Explorer\",\n \"url\": \"https://ambrosscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ambros.network\",\n \"name\": \"Ambros Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"AMBROS\",\n \"symbol\": \"AMBROS\",\n \"decimals\": 18\n },\n \"networkId\": 880,\n \"rpc\": [\"https://880.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.ambros.network\"],\n \"shortName\": \"ambros\",\n \"slug\": \"ambros-chain\",\n \"testnet\": false\n};\n\nvar c881 = {\n \"chain\": \"Hypr\",\n \"chainId\": 881,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeie6wdqkhub4p346rixkvft3l2bxa3kzo4q6dh5c5vgq6oejwlhu4a/\",\n \"width\": 3600,\n \"height\": 3600,\n \"format\": \"PNG\"\n },\n \"infoURL\": \"https://www.hypr.network\",\n \"name\": \"Hypr Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 881,\n \"parent\": {\n \"type\": \"OP Stack\",\n \"chain\": \"OP\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://881.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.hypr.network\"],\n \"shortName\": \"ether\",\n \"slug\": \"hypr\",\n \"testnet\": false\n};\n\nvar c882 = {\n \"chain\": \"Hypr\",\n \"chainId\": 882,\n \"explorers\": [{\n \"name\": \"Explorer\",\n \"url\": \"https://explorer-testnet.hypr.network\",\n \"standard\": \"OP Stack EVM\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeie6wdqkhub4p346rixkvft3l2bxa3kzo4q6dh5c5vgq6oejwlhu4a/\",\n \"width\": 3600,\n \"height\": 3600,\n \"format\": \"ONG\"\n },\n \"name\": \"Hypr Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 882,\n \"redFlags\": [],\n \"rpc\": [\"https://882.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.hypr.network\"],\n \"shortName\": \"eth\",\n \"slug\": \"hypr-testnet\",\n \"testnet\": true,\n \"title\": \"https://explorer-testnet.hypr.network\"\n};\n\nvar c888 = {\n \"chain\": \"WAN\",\n \"chainId\": 888,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.wanscan.org\",\n \"name\": \"Wanchain\",\n \"nativeCurrency\": {\n \"name\": \"Wancoin\",\n \"symbol\": \"WAN\",\n \"decimals\": 18\n },\n \"networkId\": 888,\n \"rpc\": [\"https://888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gwan-ssl.wandevs.org:56891/\"],\n \"shortName\": \"wan\",\n \"slip44\": 5718350,\n \"slug\": \"wanchain\",\n \"testnet\": false\n};\n\nvar c898 = {\n \"chain\": \"MAXI\",\n \"chainId\": 898,\n \"explorers\": [{\n \"name\": \"Maxi Chain Testnet Explorer\",\n \"url\": \"https://testnet.maxi.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.maxi.network\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXMLcCaNPMyWCEYX2MZDJHNvj5cpj2cR5dRQtedBRNypT\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://maxi.network\",\n \"name\": \"MAXI Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MAXI GAS\",\n \"symbol\": \"MGAS\",\n \"decimals\": 18\n },\n \"networkId\": 898,\n \"rpc\": [\"https://898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.maxi.network\"],\n \"shortName\": \"maxi-testnet\",\n \"slug\": \"maxi-chain-testnet\",\n \"testnet\": true\n};\n\nvar c899 = {\n \"chain\": \"MAXI\",\n \"chainId\": 899,\n \"explorers\": [{\n \"name\": \"Maxi Chain Mainnet Explorer\",\n \"url\": \"https://mainnet.maxi.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXMLcCaNPMyWCEYX2MZDJHNvj5cpj2cR5dRQtedBRNypT\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://maxi.network\",\n \"name\": \"MAXI Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MAXI GAS\",\n \"symbol\": \"MGAS\",\n \"decimals\": 18\n },\n \"networkId\": 899,\n \"rpc\": [\"https://899.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.maxi.network\"],\n \"shortName\": \"maxi-mainnet\",\n \"slug\": \"maxi-chain\",\n \"testnet\": false\n};\n\nvar c900 = {\n \"chain\": \"GAR\",\n \"chainId\": 900,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer-testnet.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.garizon.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Testnet Stage0\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 900,\n \"rpc\": [\"https://900.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s0-testnet.garizon.net/rpc\"],\n \"shortName\": \"gar-test-s0\",\n \"slug\": \"garizon-testnet-stage0\",\n \"testnet\": true\n};\n\nvar c901 = {\n \"chain\": \"GAR\",\n \"chainId\": 901,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer-testnet.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.garizon.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Testnet Stage1\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 901,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-900\"\n },\n \"rpc\": [\"https://901.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s1-testnet.garizon.net/rpc\"],\n \"shortName\": \"gar-test-s1\",\n \"slip44\": 1,\n \"slug\": \"garizon-testnet-stage1\",\n \"testnet\": true\n};\n\nvar c902 = {\n \"chain\": \"GAR\",\n \"chainId\": 902,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer-testnet.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.garizon.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Testnet Stage2\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 902,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-900\"\n },\n \"rpc\": [\"https://902.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s2-testnet.garizon.net/rpc\"],\n \"shortName\": \"gar-test-s2\",\n \"slip44\": 1,\n \"slug\": \"garizon-testnet-stage2\",\n \"testnet\": true\n};\n\nvar c903 = {\n \"chain\": \"GAR\",\n \"chainId\": 903,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer-testnet.garizon.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.garizon.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmW3WRyuLZ95K8hvV2QN6rP5yWY98sSzWyVUxD2eUjXGrc\",\n \"width\": 1024,\n \"height\": 613,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://garizon.com\",\n \"name\": \"Garizon Testnet Stage3\",\n \"nativeCurrency\": {\n \"name\": \"Garizon\",\n \"symbol\": \"GAR\",\n \"decimals\": 18\n },\n \"networkId\": 903,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-900\"\n },\n \"rpc\": [\"https://903.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s3-testnet.garizon.net/rpc\"],\n \"shortName\": \"gar-test-s3\",\n \"slip44\": 1,\n \"slug\": \"garizon-testnet-stage3\",\n \"testnet\": true\n};\n\nvar c909 = {\n \"chain\": \"PF\",\n \"chainId\": 909,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeMa6aw3ebUKJdGgbzDgcVtggzp7cQdfSrmzMYmnt5ywc\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://portalfantasy.io\",\n \"name\": \"Portal Fantasy Chain\",\n \"nativeCurrency\": {\n \"name\": \"Portal Fantasy Token\",\n \"symbol\": \"PFT\",\n \"decimals\": 18\n },\n \"networkId\": 909,\n \"rpc\": [],\n \"shortName\": \"PF\",\n \"slug\": \"portal-fantasy-chain\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c910 = {\n \"chain\": \"DBONE\",\n \"chainId\": 910,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://decentrabone.com\",\n \"name\": \"DecentraBone Layer1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DecentraBone\",\n \"symbol\": \"DBONE\",\n \"decimals\": 18\n },\n \"networkId\": 910,\n \"rpc\": [\"https://910.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://layer1test.decentrabone.com\"],\n \"shortName\": \"DBONE\",\n \"slip44\": 1,\n \"slug\": \"decentrabone-layer1-testnet\",\n \"testnet\": true\n};\n\nvar c911 = {\n \"chain\": \"TAPROOT CHAIN\",\n \"chainId\": 911,\n \"explorers\": [{\n \"name\": \"TAPROOT Scan\",\n \"url\": \"https://scan.taprootchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeucqvcreQk8nnSRUiHo3QTvLoYYB7shJTKXj5Tk6BtWi\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeucqvcreQk8nnSRUiHo3QTvLoYYB7shJTKXj5Tk6BtWi\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taprootchain.io\",\n \"name\": \"TAPROOT Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TBTC\",\n \"symbol\": \"TBTC\",\n \"decimals\": 18\n },\n \"networkId\": 911,\n \"rpc\": [\"https://911.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.taprootchain.io\"],\n \"shortName\": \"TAPROOT-Mainnet\",\n \"slug\": \"taproot\",\n \"testnet\": false,\n \"title\": \"TAPROOT Mainnet\"\n};\n\nvar c917 = {\n \"chain\": \"FIRE\",\n \"chainId\": 917,\n \"explorers\": [{\n \"name\": \"FireScan\",\n \"url\": \"https://rinia.firescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.thefirechain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmRnnw2gtbU9TWJMLJ6tks7SN6HQV5rRugeoyN6csTYHt1\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://thefirechain.com\",\n \"name\": \"Rinia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Firechain\",\n \"symbol\": \"FIRE\",\n \"decimals\": 18\n },\n \"networkId\": 917,\n \"rpc\": [\"https://917.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rinia-rpc1.thefirechain.com\"],\n \"shortName\": \"tfire\",\n \"slip44\": 1,\n \"slug\": \"rinia-testnet\",\n \"testnet\": true\n};\n\nvar c919 = {\n \"chain\": \"ETH\",\n \"chainId\": 919,\n \"explorers\": [{\n \"name\": \"modescout\",\n \"url\": \"https://sepolia.explorer.mode.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://sepoliafaucet.com/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreidi5y7afj5z4xrz7uz5rkg2mcsv2p2n4ui4g7q4k4ecdz65i2agou\",\n \"width\": 2160,\n \"height\": 2160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.mode.network/\",\n \"name\": \"Mode Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 919,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://bridge.mode.network/\"\n }]\n },\n \"rpc\": [\"https://919.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.mode.network\"],\n \"shortName\": \"modesep\",\n \"slip44\": 1,\n \"slug\": \"mode-testnet\",\n \"testnet\": true\n};\n\nvar c927 = {\n \"chain\": \"Yidark\",\n \"chainId\": 927,\n \"explorers\": [{\n \"name\": \"Yidarkscan\",\n \"url\": \"https://yidarkscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdbFGqrpiLQGtAeUAyeS2NBvACfgrchEF466ni5q36fuZ\",\n \"width\": 401,\n \"height\": 401,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://yidarkscan.com\",\n \"name\": \"Yidark Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Yidark\",\n \"symbol\": \"YDK\",\n \"decimals\": 18\n },\n \"networkId\": 927,\n \"rpc\": [\"https://927.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.yidark.io\"],\n \"shortName\": \"ydk\",\n \"slug\": \"yidark-chain\",\n \"testnet\": false\n};\n\nvar c940 = {\n \"chain\": \"tPLS\",\n \"chainId\": 940,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.v2.testnet.pulsechain.com/\"],\n \"infoURL\": \"https://pulsechain.com/\",\n \"name\": \"PulseChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Test Pulse\",\n \"symbol\": \"tPLS\",\n \"decimals\": 18\n },\n \"networkId\": 940,\n \"rpc\": [\"https://940.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.v2.testnet.pulsechain.com/\", \"wss://rpc.v2.testnet.pulsechain.com/\"],\n \"shortName\": \"tpls\",\n \"slip44\": 1,\n \"slug\": \"pulsechain-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c941 = {\n \"chain\": \"t2bPLS\",\n \"chainId\": 941,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.v2b.testnet.pulsechain.com/\"],\n \"infoURL\": \"https://pulsechain.com/\",\n \"name\": \"PulseChain Testnet v2b\",\n \"nativeCurrency\": {\n \"name\": \"Test Pulse\",\n \"symbol\": \"tPLS\",\n \"decimals\": 18\n },\n \"networkId\": 941,\n \"rpc\": [\"https://941.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.v2b.testnet.pulsechain.com/\", \"wss://rpc.v2b.testnet.pulsechain.com/\"],\n \"shortName\": \"t2bpls\",\n \"slip44\": 1,\n \"slug\": \"pulsechain-testnet-v2b\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c942 = {\n \"chain\": \"t3PLS\",\n \"chainId\": 942,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.v3.testnet.pulsechain.com/\"],\n \"infoURL\": \"https://pulsechain.com/\",\n \"name\": \"PulseChain Testnet v3\",\n \"nativeCurrency\": {\n \"name\": \"Test Pulse\",\n \"symbol\": \"tPLS\",\n \"decimals\": 18\n },\n \"networkId\": 942,\n \"rpc\": [\"https://942.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.v3.testnet.pulsechain.com/\", \"wss://rpc.v3.testnet.pulsechain.com/\"],\n \"shortName\": \"t3pls\",\n \"slip44\": 1,\n \"slug\": \"pulsechain-testnet-v3\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c943 = {\n \"chain\": \"t4PLS\",\n \"chainId\": 943,\n \"ens\": {\n \"registry\": \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://otter-testnet-pulsechain.g4mm4.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.v4.testnet.pulsechain.com/\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmckj9B9F3jWDk9bv9HwoPmfjrx2Ju8J2BQSNoPFdYGduj\",\n \"width\": 433,\n \"height\": 402,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://pulsechain.com\",\n \"name\": \"PulseChain Testnet v4\",\n \"nativeCurrency\": {\n \"name\": \"Test Pulse\",\n \"symbol\": \"tPLS\",\n \"decimals\": 18\n },\n \"networkId\": 943,\n \"rpc\": [\"https://943.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.v4.testnet.pulsechain.com\", \"wss://rpc.v4.testnet.pulsechain.com\", \"https://pulsechain-testnet-rpc.publicnode.com\", \"wss://pulsechain-testnet-rpc.publicnode.com\", \"https://rpc-testnet-pulsechain.g4mm4.io\", \"wss://rpc-testnet-pulsechain.g4mm4.io\"],\n \"shortName\": \"t4pls\",\n \"slip44\": 1,\n \"slug\": \"pulsechain-testnet-v4\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c949 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 949,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0521s5t\",\n \"nativeCurrency\": {\n \"name\": \"QI0521s5t Token\",\n \"symbol\": \"VTV\",\n \"decimals\": 18\n },\n \"networkId\": 949,\n \"redFlags\": [],\n \"rpc\": [\"https://949.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0521s5t\",\n \"slug\": \"qi0521s5t\",\n \"testnet\": true\n};\n\nvar c956 = {\n \"chain\": \"munode\",\n \"chainId\": 956,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://munode.dev/\",\n \"name\": \"muNode Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 956,\n \"rpc\": [],\n \"shortName\": \"munode\",\n \"slip44\": 1,\n \"slug\": \"munode-testnet\",\n \"testnet\": true\n};\n\nvar c957 = {\n \"chain\": \"Lyra\",\n \"chainId\": 957,\n \"explorers\": [{\n \"name\": \"Lyra Explorer\",\n \"url\": \"https://explorer.lyra.finance\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifrvwcwcgs2luampufdbdgohuxue5rep3u4p4owmwskob7hzpcfdq\",\n \"width\": 2640,\n \"height\": 2640,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreifrvwcwcgs2luampufdbdgohuxue5rep3u4p4owmwskob7hzpcfdq\",\n \"width\": 2640,\n \"height\": 2640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lyra.finance\",\n \"name\": \"Lyra Chain\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 957,\n \"rpc\": [\"https://957.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.lyra.finance\"],\n \"shortName\": \"lyra\",\n \"slug\": \"lyra-chain\",\n \"testnet\": false\n};\n\nvar c963 = {\n \"chain\": \"BTC20\",\n \"chainId\": 963,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.bitcoincode.technology\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmRUzDpn3xqPYnjLuZvFs2Attio9VxGRUprXEjcNQDcpe5\",\n \"width\": 375,\n \"height\": 456,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bitcoincode.technology\",\n \"name\": \"BTC20 Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"BTCC\",\n \"symbol\": \"BTCC\",\n \"decimals\": 18\n },\n \"networkId\": 963,\n \"rpc\": [\"https://963.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bitcoincode.technology/\"],\n \"shortName\": \"btc20\",\n \"slug\": \"btc20-smart-chain\",\n \"testnet\": false\n};\n\nvar c969 = {\n \"chain\": \"EthXY\",\n \"chainId\": 969,\n \"explorers\": [{\n \"name\": \"EthXY Network Explorer\",\n \"url\": \"https://explorer.ethxy.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihq3b3cqbg2ttlp4dfbgmirrwdw6bbpmmbr5wolddd2izbyqay4xq\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethxy.com\",\n \"name\": \"EthXY\",\n \"nativeCurrency\": {\n \"name\": \"Settled EthXY Token\",\n \"symbol\": \"SEXY\",\n \"decimals\": 18\n },\n \"networkId\": 969,\n \"rpc\": [\"https://969.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ethxy.com\"],\n \"shortName\": \"sexy\",\n \"slug\": \"ethxy\",\n \"testnet\": false\n};\n\nvar c970 = {\n \"chain\": \"Oort Mainnet\",\n \"chainId\": 970,\n \"explorers\": [{\n \"name\": \"Oort Mainnet Explorer\",\n \"url\": \"https://mainnet-scan.oortech.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy\",\n \"width\": 1440,\n \"height\": 1440,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy\",\n \"width\": 1440,\n \"height\": 1440,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oortech.com\",\n \"name\": \"Oort Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Oort\",\n \"symbol\": \"OORT\",\n \"decimals\": 18\n },\n \"networkId\": 970,\n \"rpc\": [\"https://970.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.oortech.com\"],\n \"shortName\": \"ccn\",\n \"slug\": \"oort\",\n \"testnet\": false\n};\n\nvar c971 = {\n \"chain\": \"Huygens\",\n \"chainId\": 971,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZ1jbxFZcuotj3eZ6iKFrg9ZXnaV8AK6sGRa7ELrceWyD\",\n \"width\": 1043,\n \"height\": 1079,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oortech.com\",\n \"name\": \"Oort Huygens\",\n \"nativeCurrency\": {\n \"name\": \"Oort\",\n \"symbol\": \"CCN\",\n \"decimals\": 18\n },\n \"networkId\": 971,\n \"rpc\": [],\n \"shortName\": \"Huygens\",\n \"slug\": \"oort-huygens\",\n \"testnet\": false\n};\n\nvar c972 = {\n \"chain\": \"Ascraeus\",\n \"chainId\": 972,\n \"explorers\": [{\n \"name\": \"Oort Ascraeus Explorer\",\n \"url\": \"https://ascraeus-scan.oortech.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy\",\n \"width\": 1440,\n \"height\": 1440,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy\",\n \"width\": 1440,\n \"height\": 1440,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oortech.com\",\n \"name\": \"Oort Ascraeus\",\n \"nativeCurrency\": {\n \"name\": \"Oort\",\n \"symbol\": \"CCNA\",\n \"decimals\": 18\n },\n \"networkId\": 972,\n \"rpc\": [\"https://972.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ascraeus-rpc.oortech.com\"],\n \"shortName\": \"Ascraeus\",\n \"slug\": \"oort-ascraeus\",\n \"testnet\": false,\n \"title\": \"Oort Ascraeus\"\n};\n\nvar c977 = {\n \"chain\": \"YETI\",\n \"chainId\": 977,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.nepalblockchain.network\"],\n \"infoURL\": \"https://nepalblockchain.network\",\n \"name\": \"Nepal Blockchain Network\",\n \"nativeCurrency\": {\n \"name\": \"Nepal Blockchain Network Ether\",\n \"symbol\": \"YETI\",\n \"decimals\": 18\n },\n \"networkId\": 977,\n \"rpc\": [\"https://977.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.nepalblockchain.dev\", \"https://api.nepalblockchain.network\"],\n \"shortName\": \"yeti\",\n \"slug\": \"nepal-blockchain-network\",\n \"testnet\": false\n};\n\nvar c979 = {\n \"chain\": \"EthXY\",\n \"chainId\": 979,\n \"explorers\": [{\n \"name\": \"EthXY Testnet Network Explorer\",\n \"url\": \"https://explorer.testnet.ethxy.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihq3b3cqbg2ttlp4dfbgmirrwdw6bbpmmbr5wolddd2izbyqay4xq\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethxy.com\",\n \"name\": \"EthXY Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Settled EthXY Token\",\n \"symbol\": \"SEXY\",\n \"decimals\": 18\n },\n \"networkId\": 979,\n \"rpc\": [\"https://979.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.ethxy.com\"],\n \"shortName\": \"sexyTestnet\",\n \"slug\": \"ethxy-testnet\",\n \"testnet\": true\n};\n\nvar c980 = {\n \"chain\": \"TOP\",\n \"chainId\": 980,\n \"explorers\": [{\n \"name\": \"topscan.dev\",\n \"url\": \"https://www.topscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYikaM849eZrL8pGNeVhEHVTKWpxdGMvCY5oFBfZ2ndhd\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.topnetwork.org/\",\n \"name\": \"TOP Mainnet EVM\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 0,\n \"rpc\": [\"https://980.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ethapi.topnetwork.org\"],\n \"shortName\": \"top_evm\",\n \"slug\": \"top-evm\",\n \"testnet\": false\n};\n\nvar c985 = {\n \"chain\": \"MEMO\",\n \"chainId\": 985,\n \"explorers\": [{\n \"name\": \"Memo Mainnet Explorer\",\n \"url\": \"https://scan.metamemo.one:8080\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreig52paynhccs4o5ew6f7mk3xoqu2bqtitmfvlgnwarh2pm33gbdrq\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.metamemo.one/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreig52paynhccs4o5ew6f7mk3xoqu2bqtitmfvlgnwarh2pm33gbdrq\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"name\": \"Memo Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Memo\",\n \"symbol\": \"CMEMO\",\n \"decimals\": 18\n },\n \"networkId\": 985,\n \"rpc\": [\"https://985.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain.metamemo.one:8501\", \"wss://chain.metamemo.one:16801\"],\n \"shortName\": \"memochain\",\n \"slug\": \"memo-smart-chain\",\n \"testnet\": false\n};\n\nvar c987 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 987,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Orange Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Orange Testnet Token\",\n \"symbol\": \"JUICE\",\n \"decimals\": 18\n },\n \"networkId\": 987,\n \"redFlags\": [],\n \"rpc\": [\"https://987.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/orangetest/testnet/rpc\"],\n \"shortName\": \"Orange Testnet\",\n \"slug\": \"orange-testnet\",\n \"testnet\": true\n};\n\nvar c989 = {\n \"chain\": \"TOP\",\n \"chainId\": 989,\n \"explorers\": [{\n \"name\": \"topscan.dev\",\n \"url\": \"https://www.topscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYikaM849eZrL8pGNeVhEHVTKWpxdGMvCY5oFBfZ2ndhd\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.topnetwork.org/\",\n \"name\": \"TOP Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TOP\",\n \"symbol\": \"TOP\",\n \"decimals\": 6\n },\n \"networkId\": 0,\n \"rpc\": [],\n \"shortName\": \"top\",\n \"slug\": \"top\",\n \"testnet\": false\n};\n\nvar c990 = {\n \"chain\": \"$EL\",\n \"chainId\": 990,\n \"explorers\": [{\n \"name\": \"eLiberty Mainnet\",\n \"url\": \"https://explorer.eliberty.ngo\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.eliberty.ngo\"],\n \"icon\": {\n \"url\": \"ipfs://Qmcr8US1DZcK3ooiMtE8tEQPgep12abXzxPw1jCkgZhji9\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eliberty.ngo\",\n \"name\": \"eLiberty Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"eLiberty\",\n \"symbol\": \"$EL\",\n \"decimals\": 18\n },\n \"networkId\": 990,\n \"rpc\": [\"https://990.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.eliberty.ngo\"],\n \"shortName\": \"ELm\",\n \"slug\": \"eliberty\",\n \"testnet\": false\n};\n\nvar c997 = {\n \"chain\": \"5ireChain\",\n \"chainId\": 997,\n \"explorers\": [{\n \"name\": \"5ireChain Explorer\",\n \"url\": \"https://explorer.5ire.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmaZDNDFLWESH4i3XqwEWfWBb1HPnQSNbDAr74nr2x8QAk\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://explorer.5ire.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmaZDNDFLWESH4i3XqwEWfWBb1HPnQSNbDAr74nr2x8QAk\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://5ire.org\",\n \"name\": \"5ireChain Thunder\",\n \"nativeCurrency\": {\n \"name\": \"5ire Token\",\n \"symbol\": \"5ire\",\n \"decimals\": 18\n },\n \"networkId\": 997,\n \"rpc\": [\"https://997.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.5ire.network\"],\n \"shortName\": \"5ire\",\n \"slug\": \"5irechain-thunder\",\n \"testnet\": true\n};\n\nvar c998 = {\n \"chain\": \"LN\",\n \"chainId\": 998,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.luckynetwork.org\",\n \"standard\": \"none\"\n }, {\n \"name\": \"expedition\",\n \"url\": \"https://lnscan.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidmvcd5i7touug55hj45mf2pgabxamy5fziva7mtx5n664s3yap6m\",\n \"width\": 205,\n \"height\": 28,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://luckynetwork.org\",\n \"name\": \"Lucky Network\",\n \"nativeCurrency\": {\n \"name\": \"Lucky\",\n \"symbol\": \"L99\",\n \"decimals\": 18\n },\n \"networkId\": 998,\n \"rpc\": [\"https://998.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.luckynetwork.org\", \"wss://ws.lnscan.org\", \"https://rpc.lnscan.org\"],\n \"shortName\": \"ln\",\n \"slug\": \"lucky-network\",\n \"testnet\": false\n};\n\nvar c999 = {\n \"chain\": \"ETH\",\n \"chainId\": 999,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZ6qaRwTPFEZUspwMUjaxC6KhmzcELdRQcQzS3P72Dzts/Vector.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"name\": \"Zora Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"GETH\",\n \"decimals\": 18\n },\n \"networkId\": 999,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.zora.co/\"],\n \"shortName\": \"zora-testnet\",\n \"slug\": \"zora-testnet\",\n \"testnet\": true\n};\n\nvar c1000 = {\n \"chain\": \"GTON\",\n \"chainId\": 1000,\n \"explorers\": [{\n \"name\": \"GTON Network Explorer\",\n \"url\": \"https://explorer.gton.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gton.capital\",\n \"name\": \"GTON Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GCD\",\n \"symbol\": \"GCD\",\n \"decimals\": 18\n },\n \"networkId\": 1000,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\"\n },\n \"rpc\": [\"https://1000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gton.network/\"],\n \"shortName\": \"gton\",\n \"slug\": \"gton\",\n \"testnet\": false\n};\n\nvar c1001 = {\n \"chain\": \"KLAY\",\n \"chainId\": 1001,\n \"explorers\": [{\n \"name\": \"Klaytnscope\",\n \"url\": \"https://baobab.klaytnscope.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Klaytnfinder\",\n \"url\": \"https://baobab.klaytnfinder.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://baobab.wallet.klaytn.com/access?next=faucet\"],\n \"features\": [],\n \"infoURL\": \"https://klaytn.foundation\",\n \"name\": \"Klaytn Testnet Baobab\",\n \"nativeCurrency\": {\n \"name\": \"KLAY\",\n \"symbol\": \"KLAY\",\n \"decimals\": 18\n },\n \"networkId\": 1001,\n \"redFlags\": [],\n \"rpc\": [\"https://1001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-en-baobab.klaytn.net\", \"https://api.baobab.klaytn.net:8651\"],\n \"shortName\": \"Baobab\",\n \"slip44\": 1,\n \"slug\": \"klaytn-testnet-baobab\",\n \"testnet\": true\n};\n\nvar c1003 = {\n \"chain\": \"TET\",\n \"chainId\": 1003,\n \"explorers\": [{\n \"name\": \"Tectum explorer\",\n \"url\": \"https://explorer.tectum.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYvFVprVdAGJH4iHUCXGEmy7pq8MMfxEjM64SuXutz9qx\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://softnote.com\",\n \"name\": \"Tectum Emission Token\",\n \"nativeCurrency\": {\n \"name\": \"Tectum\",\n \"symbol\": \"TET\",\n \"decimals\": 8\n },\n \"networkId\": 1003,\n \"rpc\": [\"https://1003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.softnote.com/\"],\n \"shortName\": \"tet\",\n \"slug\": \"tectum-emission-token\",\n \"testnet\": false\n};\n\nvar c1004 = {\n \"chain\": \"T-EKTA\",\n \"chainId\": 1004,\n \"explorers\": [{\n \"name\": \"test-ektascan\",\n \"url\": \"https://test.ektascan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmfMd564KUPK8eKZDwGCT71ZC2jMnUZqP6LCtLpup3rHH1\",\n \"width\": 2100,\n \"height\": 2100,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfMd564KUPK8eKZDwGCT71ZC2jMnUZqP6LCtLpup3rHH1\",\n \"width\": 2100,\n \"height\": 2100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ekta.io\",\n \"name\": \"T-EKTA\",\n \"nativeCurrency\": {\n \"name\": \"T-EKTA\",\n \"symbol\": \"T-EKTA\",\n \"decimals\": 18\n },\n \"networkId\": 1004,\n \"rpc\": [\"https://1004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test.ekta.io:8545\"],\n \"shortName\": \"t-ekta\",\n \"slug\": \"t-ekta\",\n \"testnet\": true,\n \"title\": \"EKTA Testnet T-EKTA\"\n};\n\nvar c1007 = {\n \"chain\": \"NEW\",\n \"chainId\": 1007,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.newtonproject.org/\",\n \"name\": \"Newton Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Newton\",\n \"symbol\": \"NEW\",\n \"decimals\": 18\n },\n \"networkId\": 1007,\n \"rpc\": [\"https://1007.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.newchain.newtonproject.org\"],\n \"shortName\": \"tnew\",\n \"slip44\": 1,\n \"slug\": \"newton-testnet\",\n \"testnet\": true\n};\n\nvar c1008 = {\n \"chain\": \"EUN\",\n \"chainId\": 1008,\n \"explorers\": [{\n \"name\": \"eurusexplorer\",\n \"url\": \"https://explorer.eurus.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmaGd5L9jGPbfyGXBFhu9gjinWJ66YtNrXq8x6Q98Eep9e\",\n \"width\": 471,\n \"height\": 471,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaGd5L9jGPbfyGXBFhu9gjinWJ66YtNrXq8x6Q98Eep9e\",\n \"width\": 471,\n \"height\": 471,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://eurus.network\",\n \"name\": \"Eurus Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Eurus\",\n \"symbol\": \"EUN\",\n \"decimals\": 18\n },\n \"networkId\": 1008,\n \"rpc\": [\"https://1008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.eurus.network/\"],\n \"shortName\": \"eun\",\n \"slug\": \"eurus\",\n \"testnet\": false\n};\n\nvar c1009 = {\n \"chain\": \"Jumbo\",\n \"chainId\": 1009,\n \"explorers\": [{\n \"name\": \"Jumboscan\",\n \"url\": \"https://jumboscan.jumbochain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://jumbochain.org\",\n \"name\": \"Jumbochain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"JNFTC\",\n \"symbol\": \"JNFTC\",\n \"decimals\": 18\n },\n \"networkId\": 1009,\n \"rpc\": [\"https://1009.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcpriv.jumbochain.org\"],\n \"shortName\": \"Jumboscan\",\n \"slip44\": 1,\n \"slug\": \"jumbochain\",\n \"testnet\": false\n};\n\nvar c1010 = {\n \"chain\": \"EVC\",\n \"chainId\": 1010,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://evrice.com\",\n \"name\": \"Evrice Network\",\n \"nativeCurrency\": {\n \"name\": \"Evrice\",\n \"symbol\": \"EVC\",\n \"decimals\": 18\n },\n \"networkId\": 1010,\n \"rpc\": [\"https://1010.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://meta.evrice.com\"],\n \"shortName\": \"EVC\",\n \"slip44\": 1020,\n \"slug\": \"evrice-network\",\n \"testnet\": false\n};\n\nvar c1011 = {\n \"chain\": \"REBUS\",\n \"chainId\": 1011,\n \"explorers\": [{\n \"name\": \"Rebus EVM Explorer (Blockscout)\",\n \"url\": \"https://evm.rebuschain.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifzag46dhp33vb2uldg4htqbqipuqrapjga6ml6pnhn5yibbvb4gq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Rebus Cosmos Explorer (ping.pub)\",\n \"url\": \"https://cosmos.rebuschain.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifzag46dhp33vb2uldg4htqbqipuqrapjga6ml6pnhn5yibbvb4gq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifzag46dhp33vb2uldg4htqbqipuqrapjga6ml6pnhn5yibbvb4gq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.rebuschain.com\",\n \"name\": \"Rebus Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Rebus\",\n \"symbol\": \"REBUS\",\n \"decimals\": 18\n },\n \"networkId\": 1011,\n \"rpc\": [\"https://1011.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://apievm.rebuschain.com/rpc\"],\n \"shortName\": \"rebus\",\n \"slug\": \"rebus\",\n \"testnet\": false,\n \"title\": \"Rebuschain Mainnet\"\n};\n\nvar c1012 = {\n \"chain\": \"NEW\",\n \"chainId\": 1012,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.newtonproject.org/\",\n \"name\": \"Newton\",\n \"nativeCurrency\": {\n \"name\": \"Newton\",\n \"symbol\": \"NEW\",\n \"decimals\": 18\n },\n \"networkId\": 1012,\n \"rpc\": [\"https://1012.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://global.rpc.mainnet.newtonproject.org\"],\n \"shortName\": \"new\",\n \"slug\": \"newton\",\n \"testnet\": false\n};\n\nvar c1022 = {\n \"chain\": \"Sakura\",\n \"chainId\": 1022,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://clover.finance/sakura\",\n \"name\": \"Sakura\",\n \"nativeCurrency\": {\n \"name\": \"Sakura\",\n \"symbol\": \"SKU\",\n \"decimals\": 18\n },\n \"networkId\": 1022,\n \"rpc\": [],\n \"shortName\": \"sku\",\n \"slug\": \"sakura\",\n \"testnet\": false\n};\n\nvar c1023 = {\n \"chain\": \"Clover\",\n \"chainId\": 1023,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://clover.finance\",\n \"name\": \"Clover Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Clover\",\n \"symbol\": \"CLV\",\n \"decimals\": 18\n },\n \"networkId\": 1023,\n \"rpc\": [],\n \"shortName\": \"tclv\",\n \"slip44\": 1,\n \"slug\": \"clover-testnet\",\n \"testnet\": true\n};\n\nvar c1024 = {\n \"chain\": \"CLV\",\n \"chainId\": 1024,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://clv.org\",\n \"name\": \"CLV Parachain\",\n \"nativeCurrency\": {\n \"name\": \"CLV\",\n \"symbol\": \"CLV\",\n \"decimals\": 18\n },\n \"networkId\": 1024,\n \"rpc\": [\"https://1024.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api-para.clover.finance\"],\n \"shortName\": \"clv\",\n \"slug\": \"clv-parachain\",\n \"testnet\": false\n};\n\nvar c1028 = {\n \"chain\": \"BTTC\",\n \"chainId\": 1028,\n \"explorers\": [{\n \"name\": \"testbttcscan\",\n \"url\": \"https://testscan.bittorrentchain.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bittorrentchain.io/\",\n \"name\": \"BitTorrent Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BitTorrent\",\n \"symbol\": \"BTT\",\n \"decimals\": 18\n },\n \"networkId\": 1028,\n \"rpc\": [\"https://1028.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testrpc.bittorrentchain.io/\"],\n \"shortName\": \"tbtt\",\n \"slip44\": 1,\n \"slug\": \"bittorrent-chain-testnet\",\n \"testnet\": true\n};\n\nvar c1030 = {\n \"chain\": \"Conflux\",\n \"chainId\": 1030,\n \"explorers\": [{\n \"name\": \"Conflux Scan\",\n \"url\": \"https://evm.confluxscan.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifj7n24u2dslfijfihwqvpdeigt5aj3k3sxv6s35lv75sxsfr3ojy\",\n \"width\": 460,\n \"height\": 576,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://confluxnetwork.org\",\n \"name\": \"Conflux eSpace\",\n \"nativeCurrency\": {\n \"name\": \"CFX\",\n \"symbol\": \"CFX\",\n \"decimals\": 18\n },\n \"networkId\": 1030,\n \"rpc\": [\"https://1030.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.confluxrpc.com\"],\n \"shortName\": \"cfx\",\n \"slug\": \"conflux-espace\",\n \"testnet\": false\n};\n\nvar c1031 = {\n \"chain\": \"Proxy Network\",\n \"chainId\": 1031,\n \"explorers\": [{\n \"name\": \"proxy network testnet\",\n \"url\": \"http://testnet-explorer.theproxy.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://theproxy.network\",\n \"name\": \"Proxy Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"PRX\",\n \"symbol\": \"PRX\",\n \"decimals\": 18\n },\n \"networkId\": 1031,\n \"rpc\": [\"https://1031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://128.199.94.183:8041\"],\n \"shortName\": \"prx\",\n \"slip44\": 1,\n \"slug\": \"proxy-network-testnet\",\n \"testnet\": true\n};\n\nvar c1038 = {\n \"chain\": \"Bronos\",\n \"chainId\": 1038,\n \"explorers\": [{\n \"name\": \"Bronos Testnet Explorer\",\n \"url\": \"https://tbroscan.bronos.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.bronos.org\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bronos.org\",\n \"name\": \"Bronos Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tBRO\",\n \"symbol\": \"tBRO\",\n \"decimals\": 18\n },\n \"networkId\": 1038,\n \"rpc\": [\"https://1038.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-testnet.bronos.org\"],\n \"shortName\": \"bronos-testnet\",\n \"slip44\": 1,\n \"slug\": \"bronos-testnet\",\n \"testnet\": true\n};\n\nvar c1039 = {\n \"chain\": \"Bronos\",\n \"chainId\": 1039,\n \"explorers\": [{\n \"name\": \"Bronos Explorer\",\n \"url\": \"https://broscan.bronos.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeifkgtmhnq4sxu6jn22i7ass7aih6ubodr77k6ygtu4tjbvpmkw2ga\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bronos.org\",\n \"name\": \"Bronos Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BRO\",\n \"symbol\": \"BRO\",\n \"decimals\": 18\n },\n \"networkId\": 1039,\n \"rpc\": [],\n \"shortName\": \"bronos-mainnet\",\n \"slug\": \"bronos\",\n \"testnet\": false\n};\n\nvar c1071 = {\n \"chain\": \"ShimmerEVM\",\n \"chainId\": 1071,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.evm.testnet.shimmer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://evm-toolkit.evm.testnet.shimmer.network\", \"https://evm-faucet.testnet.shimmer.network\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shimmer.network\",\n \"name\": \"ShimmerEVM Testnet Deprecated\",\n \"nativeCurrency\": {\n \"name\": \"SMR\",\n \"symbol\": \"SMR\",\n \"decimals\": 18\n },\n \"networkId\": 1071,\n \"rpc\": [],\n \"shortName\": \"shimmerevm-testnet-deprecated\",\n \"slip44\": 1,\n \"slug\": \"shimmerevm-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"ShimmerEVM Testnet Deprecated\"\n};\n\nvar c1072 = {\n \"chain\": \"ShimmerEVM\",\n \"chainId\": 1072,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.evm.testnet.shimmer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://evm-toolkit.evm.testnet.shimmer.network\", \"https://evm-faucet.testnet.shimmer.network\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shimmer.network\",\n \"name\": \"ShimmerEVM Testnet Deprecated 1072\",\n \"nativeCurrency\": {\n \"name\": \"SMR\",\n \"symbol\": \"SMR\",\n \"decimals\": 6\n },\n \"networkId\": 1072,\n \"rpc\": [],\n \"shortName\": \"shimmerevm-testnet-deprecated-1072\",\n \"slip44\": 1,\n \"slug\": \"shimmerevm-testnet-deprecated-1072\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"ShimmerEVM Testnet Deprecated 1072\"\n};\n\nvar c1073 = {\n \"chain\": \"ShimmerEVM\",\n \"chainId\": 1073,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.evm.testnet.shimmer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://evm-toolkit.evm.testnet.shimmer.network\", \"https://evm-faucet.testnet.shimmer.network\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shimmer.network\",\n \"name\": \"ShimmerEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SMR\",\n \"symbol\": \"SMR\",\n \"decimals\": 18\n },\n \"networkId\": 1073,\n \"rpc\": [\"https://1073.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.evm.testnet.shimmer.network\"],\n \"shortName\": \"shimmerevm-testnet\",\n \"slip44\": 1,\n \"slug\": \"shimmerevm-testnet\",\n \"testnet\": true,\n \"title\": \"ShimmerEVM Testnet\"\n};\n\nvar c1075 = {\n \"chain\": \"IOTA EVM\",\n \"chainId\": 1075,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.evm.testnet.iotaledger.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://evm-toolkit.evm.testnet.iotaledger.net\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.iota.org\",\n \"name\": \"IOTA EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"IOTA\",\n \"symbol\": \"IOTA\",\n \"decimals\": 18\n },\n \"networkId\": 1075,\n \"rpc\": [\"https://1075.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.evm.testnet.iotaledger.net\"],\n \"shortName\": \"iotaevm-testnet\",\n \"slug\": \"iota-evm-testnet\",\n \"testnet\": true,\n \"title\": \"IOTA EVM Testnet\"\n};\n\nvar c1079 = {\n \"chain\": \"Mintara\",\n \"chainId\": 1079,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://subnets-test.avax.network/mintara\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeie7jzlzlpz7c3a3oh4x5joej23dj2qf3cexmchjyc72hv3fblcaja\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://playthink.co.jp\",\n \"name\": \"Mintara Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MINTARA\",\n \"symbol\": \"MNTR\",\n \"decimals\": 18\n },\n \"networkId\": 1079,\n \"rpc\": [\"https://1079.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/mintara/testnet/rpc\"],\n \"shortName\": \"mintara-testnet\",\n \"slip44\": 1,\n \"slug\": \"mintara-testnet\",\n \"testnet\": true,\n \"title\": \"Mintara Testnet\"\n};\n\nvar c1080 = {\n \"chain\": \"Mintara\",\n \"chainId\": 1080,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://subnets.avax.network/mintara\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeie7jzlzlpz7c3a3oh4x5joej23dj2qf3cexmchjyc72hv3fblcaja\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://playthink.co.jp\",\n \"name\": \"Mintara Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MINTARA\",\n \"symbol\": \"MNTR\",\n \"decimals\": 18\n },\n \"networkId\": 1080,\n \"rpc\": [\"https://1080.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/mintara/mainnet/rpc\"],\n \"shortName\": \"mintara\",\n \"slug\": \"mintara\",\n \"testnet\": false,\n \"title\": \"Mintara Mainnet\"\n};\n\nvar c1088 = {\n \"chain\": \"ETH\",\n \"chainId\": 1088,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://andromeda-explorer.metis.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbWKNucbMtrMPPkHG5ZmVmvNUo8CzqHHcrpk1C2BVQsEG/2022_H-Brand_Stacked_WhiteGreen.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.metis.io\",\n \"name\": \"Metis Andromeda Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Metis\",\n \"symbol\": \"METIS\",\n \"decimals\": 18\n },\n \"networkId\": 1088,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.metis.io\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://1088.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://andromeda.metis.io/?owner=1088\", \"https://metis.drpc.org\", \"wss://metis.drpc.org\"],\n \"shortName\": \"metis-andromeda\",\n \"slug\": \"metis-andromeda\",\n \"testnet\": false\n};\n\nvar c1089 = {\n \"chain\": \"Humans\",\n \"chainId\": 1089,\n \"explorers\": [{\n \"name\": \"explorer.guru\",\n \"url\": \"https://humans.explorers.guru\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmU83haX3TNifDDjBx6RP6ByqES1Kg9VqeJC87X9ipKyCS\",\n \"width\": 386,\n \"height\": 397,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmX6XuoQDTTjYqAmdNJiieLDZSwHHyUx44yQb4E3tmHmEA\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://humans.ai\",\n \"name\": \"Humans.ai Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"HEART\",\n \"symbol\": \"HEART\",\n \"decimals\": 18\n },\n \"networkId\": 1089,\n \"rpc\": [\"https://1089.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.humans.nodestake.top\", \"https://humans-mainnet-evm.itrocket.net\", \"https://humans-evm-rpc.staketab.org:443\", \"https://evm.humans.stakepool.dev.br\", \"https://mainnet-humans-evm.konsortech.xyz\", \"https://evm-rpc.mainnet.humans.zone\", \"https://json-rpc.humans.bh.rocks\", \"https://evm-rpc.humans.huginn.tech\"],\n \"shortName\": \"humans\",\n \"slug\": \"humans-ai\",\n \"testnet\": false\n};\n\nvar c1099 = {\n \"chain\": \"MOAC\",\n \"chainId\": 1099,\n \"explorers\": [{\n \"name\": \"moac explorer\",\n \"url\": \"https://explorer.moac.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://moac.io\",\n \"name\": \"MOAC mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MOAC\",\n \"symbol\": \"mc\",\n \"decimals\": 18\n },\n \"networkId\": 1099,\n \"rpc\": [],\n \"shortName\": \"moac\",\n \"slip44\": 314,\n \"slug\": \"moac\",\n \"testnet\": false\n};\n\nvar c1100 = {\n \"chain\": \"Dymension\",\n \"chainId\": 1100,\n \"explorers\": [{\n \"name\": \"dym.fyi\",\n \"url\": \"https://dym.fyi\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreic4sjyqikz33xzpcctczvkiwfj44q5i3i7zslycnjiqmyx5ybc3fi\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dymension.xyz\",\n \"name\": \"Dymension\",\n \"nativeCurrency\": {\n \"name\": \"DYM\",\n \"symbol\": \"DYM\",\n \"decimals\": 18\n },\n \"networkId\": 1100,\n \"rpc\": [\"https://1100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dymension-evm.blockpi.network/v1/rpc/public\", \"https://dymension-evm-rpc.publicnode.com\", \"wss://dymension-evm-rpc.publicnode.com\"],\n \"shortName\": \"dymension\",\n \"slug\": \"dymension\",\n \"testnet\": false\n};\n\nvar c1101 = {\n \"chain\": \"Polygon\",\n \"chainId\": 1101,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://zkevm.polygonscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNmJZkQgx9RcFLS3rvxQTVYcPfyAFPr667keHTUxB9PDv\",\n \"width\": 122,\n \"height\": 135,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNmJZkQgx9RcFLS3rvxQTVYcPfyAFPr667keHTUxB9PDv\",\n \"width\": 122,\n \"height\": 135,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polygon.technology/polygon-zkevm\",\n \"name\": \"Polygon zkEVM\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1101,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.zkevm-rpc.com\"\n }]\n },\n \"rpc\": [\"https://1101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zkevm-rpc.com\", \"https://polygon-zkevm.drpc.org\", \"wss://polygon-zkevm.drpc.org\"],\n \"shortName\": \"zkevm\",\n \"slug\": \"polygon-zkevm\",\n \"testnet\": false,\n \"title\": \"Polygon zkEVM\"\n};\n\nvar c1107 = {\n \"chain\": \"BLXQ\",\n \"chainId\": 1107,\n \"explorers\": [{\n \"name\": \"BLXq Explorer\",\n \"url\": \"https://explorer.blx.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmS9kDKr1rgcz5W55yCQVfFs1vRTCneaLHt1t9cBizpqpH\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9kDKr1rgcz5W55yCQVfFs1vRTCneaLHt1t9cBizpqpH\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://blx.org\",\n \"name\": \"BLXq Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BLXQ\",\n \"symbol\": \"BLXQ\",\n \"decimals\": 18\n },\n \"networkId\": 1107,\n \"rpc\": [\"https://1107.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnetq1.blx.org\"],\n \"shortName\": \"tblxq\",\n \"slip44\": 1,\n \"slug\": \"blxq-testnet\",\n \"testnet\": true\n};\n\nvar c1108 = {\n \"chain\": \"BLXQ\",\n \"chainId\": 1108,\n \"explorers\": [{\n \"name\": \"BLXq Explorer\",\n \"url\": \"https://explorer.blxq.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmS9kDKr1rgcz5W55yCQVfFs1vRTCneaLHt1t9cBizpqpH\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9kDKr1rgcz5W55yCQVfFs1vRTCneaLHt1t9cBizpqpH\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://blx.org\",\n \"name\": \"BLXq Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BLXQ\",\n \"symbol\": \"BLXQ\",\n \"decimals\": 18\n },\n \"networkId\": 1108,\n \"rpc\": [\"https://1108.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.blxq.org\"],\n \"shortName\": \"blxq\",\n \"slug\": \"blxq\",\n \"testnet\": false\n};\n\nvar c1111 = {\n \"chain\": \"WEMIX\",\n \"chainId\": 1111,\n \"explorers\": [{\n \"name\": \"WEMIX Block Explorer\",\n \"url\": \"https://explorer.wemix.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://wemix.com\",\n \"name\": \"WEMIX3.0 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"WEMIX\",\n \"symbol\": \"WEMIX\",\n \"decimals\": 18\n },\n \"networkId\": 1111,\n \"rpc\": [\"https://1111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.wemix.com\", \"wss://ws.wemix.com\"],\n \"shortName\": \"wemix\",\n \"slug\": \"wemix3-0\",\n \"testnet\": false\n};\n\nvar c1112 = {\n \"chain\": \"TWEMIX\",\n \"chainId\": 1112,\n \"explorers\": [{\n \"name\": \"WEMIX Testnet Microscope\",\n \"url\": \"https://microscope.test.wemix.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://wallet.test.wemix.com/faucet\"],\n \"infoURL\": \"https://wemix.com\",\n \"name\": \"WEMIX3.0 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TestnetWEMIX\",\n \"symbol\": \"tWEMIX\",\n \"decimals\": 18\n },\n \"networkId\": 1112,\n \"rpc\": [\"https://1112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.test.wemix.com\", \"wss://ws.test.wemix.com\"],\n \"shortName\": \"twemix\",\n \"slip44\": 1,\n \"slug\": \"wemix3-0-testnet\",\n \"testnet\": true\n};\n\nvar c1113 = {\n \"chain\": \"BSQ\",\n \"chainId\": 1113,\n \"explorers\": [{\n \"name\": \"B2 Hub Habitat Testnet Explorer\",\n \"url\": \"https://testnet-hub-explorer.bsquared.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bsquared.network\",\n \"name\": \"B2 Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BSquared Token\",\n \"symbol\": \"B2\",\n \"decimals\": 18\n },\n \"networkId\": 1113,\n \"rpc\": [\"https://1113.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-hub-rpc.bsquared.network\"],\n \"shortName\": \"B2Hub-testnet\",\n \"slug\": \"b2-hub-testnet\",\n \"testnet\": true\n};\n\nvar c1115 = {\n \"chain\": \"Core\",\n \"chainId\": 1115,\n \"explorers\": [{\n \"name\": \"Core Scan Testnet\",\n \"url\": \"https://scan.test.btcs.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeTQaBCkpbsxNNWTpoNrMsnwnAEf1wYTcn7CiiZGfUXD2\",\n \"width\": 200,\n \"height\": 217,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://scan.test.btcs.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmeTQaBCkpbsxNNWTpoNrMsnwnAEf1wYTcn7CiiZGfUXD2\",\n \"width\": 200,\n \"height\": 217,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.coredao.org\",\n \"name\": \"Core Blockchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Core Blockchain Testnet Native Token\",\n \"symbol\": \"tCORE\",\n \"decimals\": 18\n },\n \"networkId\": 1115,\n \"rpc\": [\"https://1115.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.test.btcs.network/\"],\n \"shortName\": \"tcore\",\n \"slip44\": 1,\n \"slug\": \"core-blockchain-testnet\",\n \"testnet\": true\n};\n\nvar c1116 = {\n \"chain\": \"Core\",\n \"chainId\": 1116,\n \"explorers\": [{\n \"name\": \"Core Scan\",\n \"url\": \"https://scan.coredao.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeTQaBCkpbsxNNWTpoNrMsnwnAEf1wYTcn7CiiZGfUXD2\",\n \"width\": 200,\n \"height\": 217,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeTQaBCkpbsxNNWTpoNrMsnwnAEf1wYTcn7CiiZGfUXD2\",\n \"width\": 200,\n \"height\": 217,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.coredao.org\",\n \"name\": \"Core Blockchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Core Blockchain Native Token\",\n \"symbol\": \"CORE\",\n \"decimals\": 18\n },\n \"networkId\": 1116,\n \"rpc\": [\"https://1116.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.coredao.org/\", \"https://rpc-core.icecreamswap.com\", \"https://core.drpc.org\", \"wss://core.drpc.org\"],\n \"shortName\": \"core\",\n \"slug\": \"core-blockchain\",\n \"testnet\": false\n};\n\nvar c1117 = {\n \"chain\": \"DOGS\",\n \"chainId\": 1117,\n \"explorers\": [{\n \"name\": \"Dogcoin\",\n \"url\": \"https://explorer.dogcoin.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dogcoin.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmZCadkExKThak3msvszZjo6UnAbUJKE61dAcg4TixuMC3\",\n \"width\": 160,\n \"height\": 171,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dogcoin.network\",\n \"name\": \"Dogcoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Dogcoin\",\n \"symbol\": \"DOGS\",\n \"decimals\": 18\n },\n \"networkId\": 1117,\n \"rpc\": [\"https://1117.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.dogcoin.me\"],\n \"shortName\": \"DOGSm\",\n \"slug\": \"dogcoin\",\n \"testnet\": false\n};\n\nvar c1123 = {\n \"chain\": \"Habitat\",\n \"chainId\": 1123,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet-explorer.bsquared.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPV6ASrQDEkEW3g3ni7p2rJMPeciRLpEpvrAc1QfzVkx9\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bsquared.network\",\n \"name\": \"B2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 1123,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1113\"\n },\n \"rpc\": [\"https://1123.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://b2-testnet.alt.technology\", \"https://rpc.ankr.com/b2_testnet\", \"https://testnet-rpc.bsquared.network\"],\n \"shortName\": \"B2-testnet\",\n \"slug\": \"b2-testnet\",\n \"testnet\": true,\n \"title\": \"B2 Testnet\"\n};\n\nvar c1130 = {\n \"chain\": \"defichain-evm\",\n \"chainId\": 1130,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdR3YL9F95ajwVwfxAGoEzYwm9w7JNsPSfUPjSaQogVjK\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://meta.defichain.com/\",\n \"name\": \"DeFiChain EVM Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DeFiChain\",\n \"symbol\": \"DFI\",\n \"decimals\": 18\n },\n \"networkId\": 1130,\n \"rpc\": [],\n \"shortName\": \"DFI\",\n \"slip44\": 1130,\n \"slug\": \"defichain-evm-network\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c1131 = {\n \"chain\": \"defichain-evm-testnet\",\n \"chainId\": 1131,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdR3YL9F95ajwVwfxAGoEzYwm9w7JNsPSfUPjSaQogVjK\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://meta.defichain.com/\",\n \"name\": \"DeFiChain EVM Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DeFiChain\",\n \"symbol\": \"DFI\",\n \"decimals\": 18\n },\n \"networkId\": 1131,\n \"rpc\": [],\n \"shortName\": \"DFI-T\",\n \"slip44\": 1,\n \"slug\": \"defichain-evm-network-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c1133 = {\n \"chain\": \"DFI\",\n \"chainId\": 1133,\n \"explorers\": [{\n \"name\": \"MetaScan\",\n \"url\": \"https://meta.defiscan.live\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://tc04.mydefichain.com/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmdR3YL9F95ajwVwfxAGoEzYwm9w7JNsPSfUPjSaQogVjK\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://meta.defichain.com\",\n \"name\": \"DeFiMetaChain Changi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DeFiChain Token\",\n \"symbol\": \"DFI\",\n \"decimals\": 18\n },\n \"networkId\": 1133,\n \"rpc\": [\"https://1133.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dmc.mydefichain.com/changi\", \"https://testnet-dmc.mydefichain.com:20551\"],\n \"shortName\": \"changi\",\n \"slug\": \"defimetachain-changi-testnet\",\n \"testnet\": true\n};\n\nvar c1135 = {\n \"chain\": \"ETH\",\n \"chainId\": 1135,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.lisk.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVTS8jmWD5e7jVEn86wLjJsuMnc6s8fym3JbtE4etzSKf\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lisk.com\",\n \"name\": \"Lisk\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1135,\n \"rpc\": [\"https://1135.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.api.lisk.com\"],\n \"shortName\": \"lisk\",\n \"slip44\": 134,\n \"slug\": \"lisk\",\n \"testnet\": false\n};\n\nvar c1138 = {\n \"chain\": \"AmStar\",\n \"chainId\": 1138,\n \"explorers\": [{\n \"name\": \"amstarscan-testnet\",\n \"url\": \"https://testnet.amstarscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmd4TMQdnYxaUZqnVddh5S37NGH72g2kkK38ccCEgdZz1C\",\n \"width\": 599,\n \"height\": 563,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sinso.io\",\n \"name\": \"AmStar Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SINSO\",\n \"symbol\": \"SINSO\",\n \"decimals\": 18\n },\n \"networkId\": 1138,\n \"rpc\": [\"https://1138.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.amstarscan.com\"],\n \"shortName\": \"ASARt\",\n \"slip44\": 1,\n \"slug\": \"amstar-testnet\",\n \"testnet\": true\n};\n\nvar c1139 = {\n \"chain\": \"MATH\",\n \"chainId\": 1139,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://mathchain.org\",\n \"name\": \"MathChain\",\n \"nativeCurrency\": {\n \"name\": \"MathChain\",\n \"symbol\": \"MATH\",\n \"decimals\": 18\n },\n \"networkId\": 1139,\n \"rpc\": [\"https://1139.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mathchain-asia.maiziqianbao.net/rpc\", \"https://mathchain-us.maiziqianbao.net/rpc\"],\n \"shortName\": \"MATH\",\n \"slug\": \"mathchain\",\n \"testnet\": false\n};\n\nvar c1140 = {\n \"chain\": \"MATH\",\n \"chainId\": 1140,\n \"explorers\": [],\n \"faucets\": [\"https://scan.boka.network/#/Galois/faucet\"],\n \"infoURL\": \"https://mathchain.org\",\n \"name\": \"MathChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MathChain\",\n \"symbol\": \"MATH\",\n \"decimals\": 18\n },\n \"networkId\": 1140,\n \"rpc\": [\"https://1140.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://galois-hk.maiziqianbao.net/rpc\"],\n \"shortName\": \"tMATH\",\n \"slip44\": 1,\n \"slug\": \"mathchain-testnet\",\n \"testnet\": true\n};\n\nvar c1147 = {\n \"chain\": \"Flag\",\n \"chainId\": 1147,\n \"explorers\": [{\n \"name\": \"Flag Testnet Explorer\",\n \"url\": \"https://testnet-explorer.flagscan.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.flagscan.xyz\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeibcrxeavdxpwwmj4mc6hhp232nkrfbpvfpngcqux2v5rmoshycj3u\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet-explorer.flagscan.xyz\",\n \"name\": \"Flag Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Flag Testnet\",\n \"symbol\": \"FLAG\",\n \"decimals\": 18\n },\n \"networkId\": 1147,\n \"rpc\": [\"https://1147.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.flagscan.xyz\"],\n \"shortName\": \"tFLAG\",\n \"slug\": \"flag-testnet\",\n \"testnet\": true\n};\n\nvar c1149 = {\n \"chain\": \"Plexchain\",\n \"chainId\": 1149,\n \"explorers\": [{\n \"name\": \"Plexchain Explorer\",\n \"url\": \"https://explorer.plexfinance.us\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmcXzfMNSQ7SZzKemNquVoXyG5ergdqCGeLWjRYETGBTUM\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcXzfMNSQ7SZzKemNquVoXyG5ergdqCGeLWjRYETGBTUM\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://plexfinance.us/\",\n \"name\": \"Symplexia Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"Plex Native Token\",\n \"symbol\": \"PLEX\",\n \"decimals\": 18\n },\n \"networkId\": 1149,\n \"rpc\": [\"https://1149.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://plex-rpc.plexfinance.us\"],\n \"shortName\": \"Plexchain\",\n \"slug\": \"symplexia-smart-chain\",\n \"testnet\": false\n};\n\nvar c1170 = {\n \"chain\": \"Origin\",\n \"chainId\": 1170,\n \"explorers\": [{\n \"name\": \"Origin Explorer\",\n \"url\": \"https://evm-explorer.origin.uptick.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRGJ6PqYHDTWuUQ6xfnK8S82NzRXiMjTnSGat9qtLuaLP\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRGJ6PqYHDTWuUQ6xfnK8S82NzRXiMjTnSGat9qtLuaLP\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.uptick.network\",\n \"name\": \"Origin Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Origin\",\n \"symbol\": \"UOC\",\n \"decimals\": 18\n },\n \"networkId\": 1170,\n \"rpc\": [\"https://1170.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.origin.uptick.network\"],\n \"shortName\": \"auoc\",\n \"slip44\": 1,\n \"slug\": \"origin-testnet\",\n \"testnet\": true\n};\n\nvar c1177 = {\n \"chain\": \"SHT\",\n \"chainId\": 1177,\n \"explorers\": [{\n \"name\": \"Smart Host Teknoloji TESTNET Explorer\",\n \"url\": \"https://s2.tl.web.tr:4000\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTrLGHyQ1Le25Q7EgNSF5Qq8D2SocKvroDkLqurdBuSQQ\",\n \"width\": 1655,\n \"height\": 1029,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTrLGHyQ1Le25Q7EgNSF5Qq8D2SocKvroDkLqurdBuSQQ\",\n \"width\": 1655,\n \"height\": 1029,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://smart-host.com.tr\",\n \"name\": \"Smart Host Teknoloji TESTNET\",\n \"nativeCurrency\": {\n \"name\": \"Smart Host Teknoloji TESTNET\",\n \"symbol\": \"tSHT\",\n \"decimals\": 18\n },\n \"networkId\": 1177,\n \"rpc\": [\"https://1177.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://s2.tl.web.tr:4041\"],\n \"shortName\": \"sht\",\n \"slip44\": 1,\n \"slug\": \"smart-host-teknoloji-testnet\",\n \"testnet\": true\n};\n\nvar c1188 = {\n \"chain\": \"MOS\",\n \"chainId\": 1188,\n \"explorers\": [{\n \"name\": \"mosscan\",\n \"url\": \"https://www.mosscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmczQf61mZmg3NmmGnwseDxzH1AqapA252KCTT85GuNG96\",\n \"width\": 51,\n \"height\": 50,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmczQf61mZmg3NmmGnwseDxzH1AqapA252KCTT85GuNG96\",\n \"width\": 51,\n \"height\": 50,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.mosscan.com\",\n \"name\": \"ClubMos Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ClubMos\",\n \"symbol\": \"MOS\",\n \"decimals\": 18\n },\n \"networkId\": 1188,\n \"rpc\": [\"https://1188.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.mosscan.com\"],\n \"shortName\": \"MOS\",\n \"slug\": \"clubmos\",\n \"testnet\": false\n};\n\nvar c1197 = {\n \"chain\": \"IORA\",\n \"chainId\": 1197,\n \"explorers\": [{\n \"name\": \"ioraexplorer\",\n \"url\": \"https://explorer.iorachain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiehps5cqdhqottu2efo4jeehwpkz5rbux3cjxd75rm6rjm4sgs2wi\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://iorachain.com\",\n \"name\": \"Iora Chain\",\n \"nativeCurrency\": {\n \"name\": \"Iora\",\n \"symbol\": \"IORA\",\n \"decimals\": 18\n },\n \"networkId\": 1197,\n \"rpc\": [\"https://1197.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed.iorachain.com\"],\n \"shortName\": \"iora\",\n \"slug\": \"iora-chain\",\n \"testnet\": false\n};\n\nvar c1200 = {\n \"chain\": \"CuckooAI\",\n \"chainId\": 1200,\n \"explorers\": [{\n \"name\": \"Cuckoo Chain Explorer\",\n \"url\": \"https://mainnet-scan.cuckoo.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZjVDfk56DjqkCPymaweJJaj9ASGjjgcwJ95XsFDzj9us\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cuckoo.network\",\n \"name\": \"Cuckoo Chain\",\n \"nativeCurrency\": {\n \"name\": \"CuckooAI\",\n \"symbol\": \"CAI\",\n \"decimals\": 18\n },\n \"networkId\": 1200,\n \"rpc\": [\"https://1200.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.cuckoo.network\", \"wss://mainnet-rpc.cuckoo.network\"],\n \"shortName\": \"cai\",\n \"slug\": \"cuckoo-chain\",\n \"testnet\": false,\n \"title\": \"Cuckoo Chain\"\n};\n\nvar c1201 = {\n \"chain\": \"Evanesco Testnet\",\n \"chainId\": 1201,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://evanesco.org/\",\n \"name\": \"Evanesco Testnet\",\n \"nativeCurrency\": {\n \"name\": \"AVIS\",\n \"symbol\": \"AVIS\",\n \"decimals\": 18\n },\n \"networkId\": 1201,\n \"rpc\": [\"https://1201.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://seed5.evanesco.org:8547\"],\n \"shortName\": \"avis\",\n \"slip44\": 1,\n \"slug\": \"evanesco-testnet\",\n \"testnet\": true\n};\n\nvar c1202 = {\n \"chain\": \"WTT\",\n \"chainId\": 1202,\n \"explorers\": [{\n \"name\": \"WTTScout\",\n \"url\": \"https://explorer.cadaut.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"http://www.cadaut.com\",\n \"name\": \"World Trade Technical Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"World Trade Token\",\n \"symbol\": \"WTT\",\n \"decimals\": 18\n },\n \"networkId\": 2048,\n \"rpc\": [\"https://1202.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.cadaut.com\", \"wss://rpc.cadaut.com/ws\"],\n \"shortName\": \"wtt\",\n \"slug\": \"world-trade-technical-chain\",\n \"testnet\": false\n};\n\nvar c1209 = {\n \"chain\": \"SaitaBlockChain(SBC)\",\n \"chainId\": 1209,\n \"explorers\": [{\n \"name\": \"Saitascan explorer\",\n \"url\": \"https://saitascan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmVFWTqfqnMXbiPKpDFucE9QSQ1SVsUWs4HxBqRGjgQCbu\",\n \"width\": 974,\n \"height\": 263,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVFWTqfqnMXbiPKpDFucE9QSQ1SVsUWs4HxBqRGjgQCbu\",\n \"width\": 974,\n \"height\": 263,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://saitachain.com\",\n \"name\": \"SaitaBlockChain(SBC)\",\n \"nativeCurrency\": {\n \"name\": \"SaitaBlockChain(SBC)\",\n \"symbol\": \"STC\",\n \"decimals\": 18\n },\n \"networkId\": 1209,\n \"rpc\": [\"https://1209.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-nodes.saitascan.io\"],\n \"shortName\": \"SBC\",\n \"slug\": \"saitablockchain-sbc\",\n \"testnet\": false\n};\n\nvar c1210 = {\n \"chain\": \"CuckooAI\",\n \"chainId\": 1210,\n \"explorers\": [{\n \"name\": \"Cuckoo Sepolia Explorer\",\n \"url\": \"https://testnet-scan.cuckoo.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://cuckoo.network/portal/faucet/\"],\n \"icon\": {\n \"url\": \"ipfs://QmZjVDfk56DjqkCPymaweJJaj9ASGjjgcwJ95XsFDzj9us\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cuckoo.network\",\n \"name\": \"Cuckoo Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"CuckooAI\",\n \"symbol\": \"CAI\",\n \"decimals\": 18\n },\n \"networkId\": 1210,\n \"rpc\": [\"https://1210.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.cuckoo.network\", \"wss://testnet-rpc.cuckoo.network\"],\n \"shortName\": \"caisepolia\",\n \"slug\": \"cuckoo-sepolia\",\n \"testnet\": true,\n \"title\": \"Cuckoo AI Testnet Sepolia\"\n};\n\nvar c1213 = {\n \"chain\": \"POPCATEUM\",\n \"chainId\": 1213,\n \"explorers\": [{\n \"name\": \"popcateum explorer\",\n \"url\": \"https://explorer.popcateum.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://popcateum.org\",\n \"name\": \"Popcateum Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Popcat\",\n \"symbol\": \"POP\",\n \"decimals\": 18\n },\n \"networkId\": 1213,\n \"rpc\": [\"https://1213.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed.popcateum.org\"],\n \"shortName\": \"popcat\",\n \"slug\": \"popcateum\",\n \"testnet\": false\n};\n\nvar c1214 = {\n \"chain\": \"ENTER\",\n \"chainId\": 1214,\n \"explorers\": [{\n \"name\": \"Enter Explorer - Expenter\",\n \"url\": \"https://explorer.entercoin.net\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmb2UYVc1MjLPi8vhszWRxqBJYoYkWQVxDJRSmtrgk6j2E\",\n \"width\": 64,\n \"height\": 64,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmb2UYVc1MjLPi8vhszWRxqBJYoYkWQVxDJRSmtrgk6j2E\",\n \"width\": 64,\n \"height\": 64,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://entercoin.net\",\n \"name\": \"EnterChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EnterCoin\",\n \"symbol\": \"ENTER\",\n \"decimals\": 18\n },\n \"networkId\": 1214,\n \"rpc\": [\"https://1214.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tapi.entercoin.net/\"],\n \"shortName\": \"enter\",\n \"slug\": \"enterchain\",\n \"testnet\": false\n};\n\nvar c1220 = {\n \"chain\": \"1220\",\n \"chainId\": 1220,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXo2p1i4zsbTNEu41EjjrhdmbKFDGHEHeADXZ3x2fgNKE/1682003789585.jpeg\",\n \"width\": 3600,\n \"height\": 3600,\n \"format\": \"jpeg\"\n },\n \"infoURL\": \"https://flagblockchain.com/\",\n \"name\": \"Flag Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FLAG\",\n \"symbol\": \"FLAG\",\n \"decimals\": 18\n },\n \"networkId\": 1220,\n \"redFlags\": [],\n \"rpc\": [\"https://1220.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.flagscan.io\"],\n \"shortName\": \"Flag\",\n \"slug\": \"flag-testnet-flag\",\n \"testnet\": true\n};\n\nvar c1221 = {\n \"chain\": \"ETH\",\n \"chainId\": 1221,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeC4mKGbBpwmLfFxUSsareWkSWJomevUmex8ajjxo1zHx\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cyclenetwork.io/\",\n \"name\": \"Cycle Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1221,\n \"rpc\": [\"https://1221.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.cyclenetwork.io\"],\n \"shortName\": \"Cycle\",\n \"slug\": \"cycle-network-testnet\",\n \"testnet\": true\n};\n\nvar c1224 = {\n \"chain\": \"HYB\",\n \"chainId\": 1224,\n \"explorers\": [{\n \"name\": \"Hybrid Testnet\",\n \"url\": \"https://explorer.buildonhybrid.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdGfvH9qfvbMXYKosS1nHbw3q5UtFJky4hdMDmmKDTx8Y\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://buildonhybrid.com\",\n \"name\": \"Hybrid Testnet (Deprecated)\",\n \"nativeCurrency\": {\n \"name\": \"Hybrid\",\n \"symbol\": \"HYB\",\n \"decimals\": 18\n },\n \"networkId\": 1224,\n \"rpc\": [\"https://1224.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.buildonhybrid.com\"],\n \"shortName\": \"hyb_deprecated\",\n \"slug\": \"hybrid-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c1225 = {\n \"chain\": \"HYB\",\n \"chainId\": 1225,\n \"explorers\": [{\n \"name\": \"Hybrid Testnet\",\n \"url\": \"https://explorer.buildonhybrid.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdGfvH9qfvbMXYKosS1nHbw3q5UtFJky4hdMDmmKDTx8Y\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://buildonhybrid.com\",\n \"name\": \"Hybrid Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Hybrid\",\n \"symbol\": \"HYB\",\n \"decimals\": 18\n },\n \"networkId\": 1225,\n \"rpc\": [\"https://1225.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hybrid-testnet.rpc.caldera.xyz/http\", \"wss://hybrid-testnet.rpc.caldera.xyz/ws\"],\n \"shortName\": \"hyb\",\n \"slug\": \"hybrid-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c1229 = {\n \"chain\": \"EXZO\",\n \"chainId\": 1229,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://exzoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeYpc2JfEsHa2Bh11SKRx3sgDtMeg6T8KpXNLepBEKnbJ\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://exzo.network\",\n \"name\": \"Exzo Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Exzo\",\n \"symbol\": \"XZO\",\n \"decimals\": 18\n },\n \"networkId\": 1229,\n \"rpc\": [\"https://1229.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.exzo.technology\"],\n \"shortName\": \"xzo\",\n \"slug\": \"exzo-network\",\n \"testnet\": false\n};\n\nvar c1230 = {\n \"chain\": \"Ultron\",\n \"chainId\": 1230,\n \"explorers\": [{\n \"name\": \"Ultron Testnet Explorer\",\n \"url\": \"https://explorer.ultron-dev.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPC6odFVyAQrXJQaZJVFpEQfRNbzZ5BjDZ7KBKmXPaYDw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPC6odFVyAQrXJQaZJVFpEQfRNbzZ5BjDZ7KBKmXPaYDw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ultron.foundation\",\n \"name\": \"Ultron Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ultron\",\n \"symbol\": \"ULX\",\n \"decimals\": 18\n },\n \"networkId\": 1230,\n \"rpc\": [\"https://1230.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ultron-dev.io\"],\n \"shortName\": \"UltronTestnet\",\n \"slip44\": 1,\n \"slug\": \"ultron-testnet\",\n \"testnet\": true\n};\n\nvar c1231 = {\n \"chain\": \"Ultron\",\n \"chainId\": 1231,\n \"explorers\": [{\n \"name\": \"Ultron Explorer\",\n \"url\": \"https://ulxscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPC6odFVyAQrXJQaZJVFpEQfRNbzZ5BjDZ7KBKmXPaYDw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPC6odFVyAQrXJQaZJVFpEQfRNbzZ5BjDZ7KBKmXPaYDw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ultron.foundation\",\n \"name\": \"Ultron Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ultron\",\n \"symbol\": \"ULX\",\n \"decimals\": 18\n },\n \"networkId\": 1231,\n \"rpc\": [\"https://1231.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ultron-rpc.net\"],\n \"shortName\": \"UtronMainnet\",\n \"slug\": \"ultron\",\n \"testnet\": false\n};\n\nvar c1234 = {\n \"chain\": \"STEP\",\n \"chainId\": 1234,\n \"explorers\": [{\n \"name\": \"StepScan\",\n \"url\": \"https://stepscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVp9jyb3UFW71867yVtymmiRw7dPY4BTnsp3hEjr9tn8L\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVp9jyb3UFW71867yVtymmiRw7dPY4BTnsp3hEjr9tn8L\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://step.network\",\n \"name\": \"Step Network\",\n \"nativeCurrency\": {\n \"name\": \"FITFI\",\n \"symbol\": \"FITFI\",\n \"decimals\": 18\n },\n \"networkId\": 1234,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-43114\",\n \"bridges\": [{\n \"url\": \"https://bridge.step.network\"\n }]\n },\n \"rpc\": [\"https://1234.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.step.network\"],\n \"shortName\": \"step\",\n \"slug\": \"step-network\",\n \"testnet\": false,\n \"title\": \"Step Main Network\"\n};\n\nvar c1235 = {\n \"chain\": \"ITX\",\n \"chainId\": 1235,\n \"explorers\": [{\n \"name\": \"ITX Mainnet Explorer (Blockscout)\",\n \"url\": \"https://explorer.itxchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://explorer.itxchain.com\",\n \"name\": \"ITX Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ITX\",\n \"symbol\": \"ITX\",\n \"decimals\": 18\n },\n \"networkId\": 1235,\n \"rpc\": [\"https://1235.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.itxchain.com\"],\n \"shortName\": \"itx\",\n \"slug\": \"itx\",\n \"testnet\": false\n};\n\nvar c1243 = {\n \"chain\": \"ARC\",\n \"chainId\": 1243,\n \"explorers\": [{\n \"name\": \"archiescan\",\n \"url\": \"https://app.archiescan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiady63oqduls2pm4aaykzjhahblagokhnpsc5qeq5dmkxqelh7i2i\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://archiechain.io/\",\n \"name\": \"ARC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ARC\",\n \"symbol\": \"ARC\",\n \"decimals\": 18\n },\n \"networkId\": 1243,\n \"rpc\": [\"https://1243.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-main-1.archiechain.io\"],\n \"shortName\": \"ARC\",\n \"slug\": \"arc\",\n \"testnet\": false\n};\n\nvar c1244 = {\n \"chain\": \"ARC\",\n \"chainId\": 1244,\n \"explorers\": [{\n \"name\": \"archiescan\",\n \"url\": \"https://testnet.archiescan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.archiechain.io\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeiady63oqduls2pm4aaykzjhahblagokhnpsc5qeq5dmkxqelh7i2i\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://archiechain.io/\",\n \"name\": \"ARC Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ARC\",\n \"symbol\": \"ARC\",\n \"decimals\": 18\n },\n \"networkId\": 1244,\n \"rpc\": [\"https://1244.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-test-1.archiechain.io\"],\n \"shortName\": \"TARC\",\n \"slip44\": 1,\n \"slug\": \"arc-testnet\",\n \"testnet\": true\n};\n\nvar c1246 = {\n \"chain\": \"omplatform\",\n \"chainId\": 1246,\n \"explorers\": [{\n \"name\": \"OMSCAN - Expenter\",\n \"url\": \"https://omscan.omplatform.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://omplatform.com/\",\n \"name\": \"OM Platform Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OMCOIN\",\n \"symbol\": \"OM\",\n \"decimals\": 18\n },\n \"networkId\": 1246,\n \"rpc\": [\"https://1246.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-cnx.omplatform.com/\"],\n \"shortName\": \"om\",\n \"slug\": \"om-platform\",\n \"testnet\": false\n};\n\nvar c1248 = {\n \"chain\": \"Dogether\",\n \"chainId\": 1248,\n \"explorers\": [{\n \"name\": \"DogetherExplorer\",\n \"url\": \"https://explorer.dogether.dog\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.dogether.dog/\",\n \"name\": \"Dogether Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Dogether\",\n \"symbol\": \"dogeth\",\n \"decimals\": 18\n },\n \"networkId\": 1248,\n \"rpc\": [\"https://1248.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dogether.dog/\"],\n \"shortName\": \"Dogether\",\n \"slug\": \"dogether\",\n \"testnet\": false\n};\n\nvar c1252 = {\n \"chain\": \"CICT\",\n \"chainId\": 1252,\n \"explorers\": [{\n \"name\": \"CICscan\",\n \"url\": \"https://testnet.cicscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNekc5gpyrQkeDQcmfJLBrP5fa6GMarB13iy6aHVdQJDU\",\n \"width\": 1024,\n \"height\": 768,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://cicfaucet.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmNekc5gpyrQkeDQcmfJLBrP5fa6GMarB13iy6aHVdQJDU\",\n \"width\": 1024,\n \"height\": 768,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cicchain.net\",\n \"name\": \"CIC Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Crazy Internet Coin\",\n \"symbol\": \"CICT\",\n \"decimals\": 18\n },\n \"networkId\": 1252,\n \"rpc\": [\"https://1252.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testapi.cicscan.com\"],\n \"shortName\": \"CICT\",\n \"slip44\": 1,\n \"slug\": \"cic-chain-testnet\",\n \"testnet\": true\n};\n\nvar c1280 = {\n \"chain\": \"HALO\",\n \"chainId\": 1280,\n \"explorers\": [{\n \"name\": \"HALOexplorer\",\n \"url\": \"https://browser.halo.land\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://halo.land/#/\",\n \"name\": \"HALO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"HALO\",\n \"symbol\": \"HO\",\n \"decimals\": 18\n },\n \"networkId\": 1280,\n \"rpc\": [\"https://1280.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nodes.halo.land\"],\n \"shortName\": \"HO\",\n \"slug\": \"halo\",\n \"testnet\": false\n};\n\nvar c1284 = {\n \"chain\": \"MOON\",\n \"chainId\": 1284,\n \"explorers\": [{\n \"name\": \"moonscan\",\n \"url\": \"https://moonbeam.moonscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://moonbeam.network/networks/moonbeam/\",\n \"name\": \"Moonbeam\",\n \"nativeCurrency\": {\n \"name\": \"Glimmer\",\n \"symbol\": \"GLMR\",\n \"decimals\": 18\n },\n \"networkId\": 1284,\n \"rpc\": [\"https://1284.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.api.moonbeam.network\", \"wss://wss.api.moonbeam.network\", \"https://moonbeam.public.blastapi.io\", \"wss://moonbeam.public.blastapi.io\", \"https://moonbeam-rpc.dwellir.com\", \"wss://moonbeam-rpc.dwellir.com\", \"https://moonbeam.api.onfinality.io/public\", \"wss://moonbeam.api.onfinality.io/public-ws\", \"https://moonbeam.unitedbloc.com\", \"wss://moonbeam.unitedbloc.com\", \"https://moonbeam-rpc.publicnode.com\", \"wss://moonbeam-rpc.publicnode.com\", \"https://moonbeam.drpc.org\", \"wss://moonbeam.drpc.org\"],\n \"shortName\": \"mbeam\",\n \"slug\": \"moonbeam\",\n \"testnet\": false\n};\n\nvar c1285 = {\n \"chain\": \"MOON\",\n \"chainId\": 1285,\n \"explorers\": [{\n \"name\": \"moonscan\",\n \"url\": \"https://moonriver.moonscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://moonbeam.network/networks/moonriver/\",\n \"name\": \"Moonriver\",\n \"nativeCurrency\": {\n \"name\": \"Moonriver\",\n \"symbol\": \"MOVR\",\n \"decimals\": 18\n },\n \"networkId\": 1285,\n \"rpc\": [\"https://1285.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.api.moonriver.moonbeam.network\", \"wss://wss.api.moonriver.moonbeam.network\", \"https://moonriver.public.blastapi.io\", \"wss://moonriver.public.blastapi.io\", \"https://moonriver-rpc.dwellir.com\", \"wss://moonriver-rpc.dwellir.com\", \"https://moonriver.api.onfinality.io/public\", \"wss://moonriver.api.onfinality.io/public-ws\", \"https://moonriver.unitedbloc.com\", \"wss://moonriver.unitedbloc.com\", \"https://moonriver-rpc.publicnode.com\", \"wss://moonriver-rpc.publicnode.com\", \"https://moonriver.drpc.org\", \"wss://moonriver.drpc.org\"],\n \"shortName\": \"mriver\",\n \"slug\": \"moonriver\",\n \"testnet\": false\n};\n\nvar c1286 = {\n \"chain\": \"MOON\",\n \"chainId\": 1286,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"Moonrock old\",\n \"nativeCurrency\": {\n \"name\": \"Rocs\",\n \"symbol\": \"ROC\",\n \"decimals\": 18\n },\n \"networkId\": 1286,\n \"rpc\": [],\n \"shortName\": \"mrock-old\",\n \"slug\": \"moonrock-old\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c1287 = {\n \"chain\": \"MOON\",\n \"chainId\": 1287,\n \"explorers\": [{\n \"name\": \"moonscan\",\n \"url\": \"https://moonbase.moonscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://docs.moonbeam.network/learn/platform/networks/moonbase/\",\n \"name\": \"Moonbase Alpha\",\n \"nativeCurrency\": {\n \"name\": \"Dev\",\n \"symbol\": \"DEV\",\n \"decimals\": 18\n },\n \"networkId\": 1287,\n \"redFlags\": [],\n \"rpc\": [\"https://1287.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.api.moonbase.moonbeam.network\", \"wss://wss.api.moonbase.moonbeam.network\", \"https://moonbase-alpha.public.blastapi.io\", \"wss://moonbase-alpha.public.blastapi.io\", \"https://moonbase-rpc.dwellir.com\", \"wss://moonbase-rpc.dwellir.com\", \"https://moonbeam-alpha.api.onfinality.io/public\", \"wss://moonbeam-alpha.api.onfinality.io/public-ws\", \"https://moonbase.unitedbloc.com\", \"wss://moonbase.unitedbloc.com\", \"https://moonbase-alpha.drpc.org\", \"wss://moonbase-alpha.drpc.org\"],\n \"shortName\": \"mbase\",\n \"slip44\": 1,\n \"slug\": \"moonbase-alpha\",\n \"testnet\": true\n};\n\nvar c1288 = {\n \"chain\": \"MOON\",\n \"chainId\": 1288,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://docs.moonbeam.network/learn/platform/networks/overview/\",\n \"name\": \"Moonrock\",\n \"nativeCurrency\": {\n \"name\": \"Rocs\",\n \"symbol\": \"ROC\",\n \"decimals\": 18\n },\n \"networkId\": 1288,\n \"rpc\": [\"https://1288.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.api.moonrock.moonbeam.network\", \"wss://wss.api.moonrock.moonbeam.network\"],\n \"shortName\": \"mrock\",\n \"slug\": \"moonrock\",\n \"testnet\": false\n};\n\nvar c1291 = {\n \"chain\": \"SWTR\",\n \"chainId\": 1291,\n \"explorers\": [{\n \"name\": \"Swisstronik Scout\",\n \"url\": \"https://explorer-evm.testnet.swisstronik.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.testnet.swisstronik.com\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafybeihuintkoipxalwans23vhxajbwjnozpy34ww7ia7ds7nay3rpylzi\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.swisstronik.com\",\n \"name\": \"Swisstronik Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Swisstronik\",\n \"symbol\": \"SWTR\",\n \"decimals\": 18\n },\n \"networkId\": 1291,\n \"rpc\": [\"https://1291.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.testnet.swisstronik.com\"],\n \"shortName\": \"swtr\",\n \"slip44\": 1,\n \"slug\": \"swisstronik-testnet\",\n \"testnet\": true\n};\n\nvar c1294 = {\n \"chain\": \"Bobabeam\",\n \"chainId\": 1294,\n \"explorers\": [{\n \"name\": \"Bobabeam block explorer\",\n \"url\": \"https://blockexplorer.bobabeam.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Bobabeam\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 1294,\n \"rpc\": [\"https://1294.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bobabeam.boba.network\", \"wss://wss.bobabeam.boba.network\", \"https://replica.bobabeam.boba.network\", \"wss://replica-wss.bobabeam.boba.network\"],\n \"shortName\": \"Bobabeam\",\n \"slug\": \"bobabeam\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c1297 = {\n \"chain\": \"Bobabase Testnet\",\n \"chainId\": 1297,\n \"explorers\": [{\n \"name\": \"Bobabase block explorer\",\n \"url\": \"https://blockexplorer.bobabase.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Bobabase Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 1297,\n \"rpc\": [\"https://1297.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bobabase.boba.network\", \"wss://wss.bobabase.boba.network\", \"https://replica.bobabase.boba.network\", \"wss://replica-wss.bobabase.boba.network\"],\n \"shortName\": \"Bobabase\",\n \"slip44\": 1,\n \"slug\": \"bobabase-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c1311 = {\n \"chain\": \"DOS\",\n \"chainId\": 1311,\n \"explorers\": [{\n \"name\": \"dos-testnet\",\n \"url\": \"https://test.doscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"http://doschain.io/\",\n \"name\": \"Dos Fuji Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Dos Native Token\",\n \"symbol\": \"DOS\",\n \"decimals\": 18\n },\n \"networkId\": 1311,\n \"rpc\": [\"https://1311.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test.doschain.com/jsonrpc\"],\n \"shortName\": \"TDOS\",\n \"slug\": \"dos-fuji-subnet\",\n \"testnet\": true\n};\n\nvar c1314 = {\n \"chain\": \"ALYX\",\n \"chainId\": 1314,\n \"explorers\": [{\n \"name\": \"alyxscan\",\n \"url\": \"https://www.alyxscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifd43fcvh77mdcwjrpzpnlhthounc6b4u645kukqpqhduaveatf6i\",\n \"width\": 2481,\n \"height\": 2481,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.alyxchain.com\",\n \"name\": \"Alyx Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Alyx Chain Native Token\",\n \"symbol\": \"ALYX\",\n \"decimals\": 18\n },\n \"networkId\": 1314,\n \"rpc\": [\"https://1314.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.alyxchain.com\"],\n \"shortName\": \"alyx\",\n \"slug\": \"alyx\",\n \"testnet\": false\n};\n\nvar c1319 = {\n \"chain\": \"AIA\",\n \"chainId\": 1319,\n \"explorers\": [{\n \"name\": \"AIA Chain Explorer Mainnet\",\n \"url\": \"https://aiascan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXbBMMhjTTGAGjmqMpJm3ufFrtdkfEXCFyXYgz7nnZzsy\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aiachain.org/\",\n \"name\": \"AIA Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"AIA Mainnet\",\n \"symbol\": \"AIA\",\n \"decimals\": 18\n },\n \"networkId\": 1319,\n \"rpc\": [\"https://1319.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://aia-dataseed1.aiachain.org\", \"https://aia-dataseed2.aiachain.org\", \"https://aia-dataseed3.aiachain.org\", \"https://aia-dataseed4.aiachain.org\"],\n \"shortName\": \"aia\",\n \"slug\": \"aia\",\n \"testnet\": false\n};\n\nvar c1320 = {\n \"chain\": \"AIA\",\n \"chainId\": 1320,\n \"explorers\": [{\n \"name\": \"AIA Chain Explorer Testnet\",\n \"url\": \"https://testnet.aiascan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://aia-faucet-testnet.aiachain.org\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXbBMMhjTTGAGjmqMpJm3ufFrtdkfEXCFyXYgz7nnZzsy\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aiachain.org\",\n \"name\": \"AIA Testnet\",\n \"nativeCurrency\": {\n \"name\": \"AIA Testnet\",\n \"symbol\": \"AIA\",\n \"decimals\": 18\n },\n \"networkId\": 1320,\n \"rpc\": [\"https://1320.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://aia-dataseed1-testnet.aiachain.org\"],\n \"shortName\": \"aiatestnet\",\n \"slip44\": 1,\n \"slug\": \"aia-testnet\",\n \"testnet\": true\n};\n\nvar c1328 = {\n \"chain\": \"Sei\",\n \"chainId\": 1328,\n \"explorers\": [{\n \"name\": \"Seitrace\",\n \"url\": \"https://seitrace.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://atlantic-2.app.sei.io/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreih3l3iisplmikofkbfyimqlox7nmixzlkzhjoewmpi4jbqitwryoa\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.sei.io\",\n \"name\": \"Sei Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sei\",\n \"symbol\": \"SEI\",\n \"decimals\": 18\n },\n \"networkId\": 1328,\n \"rpc\": [\"https://1328.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc-testnet.sei-apis.com\", \"wss://evm-ws-testnet.sei-apis.com\"],\n \"shortName\": \"sei-testnet\",\n \"slug\": \"sei-testnet\",\n \"testnet\": true\n};\n\nvar c1329 = {\n \"chain\": \"Sei\",\n \"chainId\": 1329,\n \"explorers\": [{\n \"name\": \"Seitrace\",\n \"url\": \"https://seitrace.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Sei Explorer\",\n \"url\": \"https://github.com/sei-protocol/sei-chain/blob/main/assets/SeiLogo.png\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"https://github.com/sei-protocol/sei-chain/blob/main/assets/SeiLogo.png\",\n \"width\": 231,\n \"height\": 231,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://github.com/sei-protocol/sei-chain/blob/main/assets/SeiLogo.png\",\n \"width\": 231,\n \"height\": 231,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.sei.io\",\n \"name\": \"Sei\",\n \"nativeCurrency\": {\n \"name\": \"Sei\",\n \"symbol\": \"Sei\",\n \"decimals\": 18\n },\n \"networkId\": 1329,\n \"redFlags\": [],\n \"rpc\": [\"https://1329.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc.sei-apis.com\", \"wss://evm-ws.sei-apis.com\"],\n \"shortName\": \"sei\",\n \"slug\": \"sei\",\n \"testnet\": false\n};\n\nvar c1337 = {\n \"chain\": \"ETH\",\n \"chainId\": 1337,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Localhost\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1337,\n \"redFlags\": [],\n \"rpc\": [\"http://localhost:8545\"],\n \"shortName\": \"local\",\n \"slug\": \"localhost\",\n \"testnet\": true\n};\n\nvar c1338 = {\n \"chain\": \"Elysium\",\n \"chainId\": 1338,\n \"explorers\": [{\n \"name\": \"Elysium testnet explorer\",\n \"url\": \"https://elysium-explorer.vulcanforged.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://elysiumscan.vulcanforged.com\",\n \"name\": \"Elysium Testnet\",\n \"nativeCurrency\": {\n \"name\": \"LAVA\",\n \"symbol\": \"LAVA\",\n \"decimals\": 18\n },\n \"networkId\": 1338,\n \"rpc\": [\"https://1338.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://elysium-test-rpc.vulcanforged.com\"],\n \"shortName\": \"ELST\",\n \"slip44\": 1,\n \"slug\": \"elysium-testnet\",\n \"testnet\": true,\n \"title\": \"An L1, carbon-neutral, tree-planting, metaverse dedicated blockchain created by VulcanForged\"\n};\n\nvar c1339 = {\n \"chain\": \"Elysium\",\n \"chainId\": 1339,\n \"explorers\": [{\n \"name\": \"Elysium mainnet explorer\",\n \"url\": \"https://explorer.elysiumchain.tech\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://elysiumscan.vulcanforged.com\",\n \"name\": \"Elysium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LAVA\",\n \"symbol\": \"LAVA\",\n \"decimals\": 18\n },\n \"networkId\": 1339,\n \"rpc\": [\"https://1339.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.elysiumchain.tech/\"],\n \"shortName\": \"ELSM\",\n \"slug\": \"elysium\",\n \"testnet\": false,\n \"title\": \"An L1, carbon-neutral, tree-planting, metaverse dedicated blockchain created by VulcanForged\"\n};\n\nvar c1343 = {\n \"chain\": \"BLITZ\",\n \"chainId\": 1343,\n \"explorers\": [{\n \"name\": \"BLITZ Explorer\",\n \"url\": \"https://subnets-test.avax.network/blitz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://blitz.gg\",\n \"name\": \"Blitz Subnet\",\n \"nativeCurrency\": {\n \"name\": \"BLITZ GAS\",\n \"symbol\": \"BGAS\",\n \"decimals\": 18\n },\n \"networkId\": 1343,\n \"rpc\": [\"https://1343.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/blitz/testnet/rpc\"],\n \"shortName\": \"blitz\",\n \"slug\": \"blitz-subnet\",\n \"testnet\": true\n};\n\nvar c1353 = {\n \"chain\": \"CIC\",\n \"chainId\": 1353,\n \"explorers\": [{\n \"name\": \"CICscan\",\n \"url\": \"https://cicscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNekc5gpyrQkeDQcmfJLBrP5fa6GMarB13iy6aHVdQJDU\",\n \"width\": 1024,\n \"height\": 768,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNekc5gpyrQkeDQcmfJLBrP5fa6GMarB13iy6aHVdQJDU\",\n \"width\": 1024,\n \"height\": 768,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cicchain.net\",\n \"name\": \"CIC Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Crazy Internet Coin\",\n \"symbol\": \"CIC\",\n \"decimals\": 18\n },\n \"networkId\": 1353,\n \"rpc\": [\"https://1353.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://xapi.cicscan.com\"],\n \"shortName\": \"CIC\",\n \"slug\": \"cic-chain\",\n \"testnet\": false\n};\n\nvar c1369 = {\n \"chain\": \"ZAFIC\",\n \"chainId\": 1369,\n \"explorers\": [{\n \"name\": \"zafirium-explorer\",\n \"url\": \"https://explorer.zakumi.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZT1Wq3P4YbgKBSUmCtgbs5ijPF5d91BzaMPh7Aub8d8t\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zakumi.io\",\n \"name\": \"Zafirium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Zakumi Chain Native Token\",\n \"symbol\": \"ZAFIC\",\n \"decimals\": 18\n },\n \"networkId\": 1369,\n \"rpc\": [\"https://1369.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.zakumi.io\"],\n \"shortName\": \"zafic\",\n \"slug\": \"zafirium\",\n \"testnet\": false\n};\n\nvar c1370 = {\n \"chain\": \"Ramestta\",\n \"chainId\": 1370,\n \"explorers\": [{\n \"name\": \"ramascan\",\n \"url\": \"https://ramascan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ramestta.com\",\n \"name\": \"Ramestta Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Rama\",\n \"symbol\": \"RAMA\",\n \"decimals\": 18\n },\n \"networkId\": 1370,\n \"rpc\": [\"https://1370.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://blockchain.ramestta.com\", \"https://blockchain2.ramestta.com\"],\n \"shortName\": \"RAMA\",\n \"slug\": \"ramestta\",\n \"testnet\": false\n};\n\nvar c1377 = {\n \"chain\": \"Pingaksha\",\n \"chainId\": 1377,\n \"explorers\": [{\n \"name\": \"Pingaksha\",\n \"url\": \"https://pingaksha.ramascan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUtnYVBeDMKudGq2Wue25pqYfQEdgbyvzTzoGPMqRGMJZ\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ramestta.com\",\n \"name\": \"Pingaksha testnet\",\n \"nativeCurrency\": {\n \"name\": \"Rama\",\n \"symbol\": \"tRAMA\",\n \"decimals\": 18\n },\n \"networkId\": 1377,\n \"rpc\": [\"https://1377.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.ramestta.com\"],\n \"shortName\": \"tRAMA\",\n \"slug\": \"pingaksha-testnet\",\n \"testnet\": true\n};\n\nvar c1379 = {\n \"chain\": \"KLC\",\n \"chainId\": 1379,\n \"explorers\": [{\n \"name\": \"kalarscan\",\n \"url\": \"https://explorer.kalarchain.tech\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidbzzv3lrwlzquhlpl4jcmr54sifhi5ufoek6olb5kjh3h3kvktdq\",\n \"width\": 411,\n \"height\": 159,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihfoy2kgf2rebaoicso7z5h7ju46z6gtr64mskkths3qbfkrtnkjm\",\n \"width\": 190,\n \"height\": 170,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kalarchain.tech\",\n \"name\": \"Kalar Chain\",\n \"nativeCurrency\": {\n \"name\": \"Kalar\",\n \"symbol\": \"KLC\",\n \"decimals\": 18\n },\n \"networkId\": 1379,\n \"rpc\": [\"https://1379.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-api.kalarchain.tech\"],\n \"shortName\": \"KLC\",\n \"slug\": \"kalar-chain\",\n \"testnet\": false\n};\n\nvar c1388 = {\n \"chain\": \"AmStar\",\n \"chainId\": 1388,\n \"explorers\": [{\n \"name\": \"amstarscan\",\n \"url\": \"https://mainnet.amstarscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmd4TMQdnYxaUZqnVddh5S37NGH72g2kkK38ccCEgdZz1C\",\n \"width\": 599,\n \"height\": 563,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sinso.io\",\n \"name\": \"AmStar Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SINSO\",\n \"symbol\": \"SINSO\",\n \"decimals\": 18\n },\n \"networkId\": 1388,\n \"rpc\": [\"https://1388.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.amstarscan.com\"],\n \"shortName\": \"ASAR\",\n \"slug\": \"amstar\",\n \"testnet\": false\n};\n\nvar c1392 = {\n \"chain\": \"Joseon\",\n \"chainId\": 1392,\n \"explorers\": [{\n \"name\": \"BlockExplorer\",\n \"url\": \"https://www.blockexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQjwcNRCLXU8JBtSkPLUnbWVrpoqbnZVffpJ9Bu8rG34e\",\n \"width\": 148,\n \"height\": 148,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.joseon.com/\",\n \"name\": \"Joseon Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Joseon Mun\",\n \"symbol\": \"JSM\",\n \"decimals\": 18\n },\n \"networkId\": 1392,\n \"rpc\": [\"https://1392.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.modchain.net/blockchain.joseon.com/rpc\"],\n \"shortName\": \"mun\",\n \"slug\": \"joseon\",\n \"testnet\": false\n};\n\nvar c1402 = {\n \"chain\": \"Polygon\",\n \"chainId\": 1402,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.public.zkevm-test.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://polygon.technology/solutions/polygon-zkevm/\",\n \"name\": \"Polygon zkEVM Testnet old\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1402,\n \"rpc\": [],\n \"shortName\": \"zkevmtest\",\n \"slip44\": 1,\n \"slug\": \"polygon-zkevm-testnet-old\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Polygon zkEVM Testnet\"\n};\n\nvar c1414 = {\n \"chain\": \"Silicon\",\n \"chainId\": 1414,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTEnk2fosqbY6HQW5vySrLGbopJfeni9ThZ6R9sVefbnq\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"name\": \"Silicon zkEVM Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1414,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": []\n },\n \"rpc\": [],\n \"shortName\": \"silicon-sepolia-testnet\",\n \"slug\": \"silicon-zkevm-sepolia-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true,\n \"title\": \"Silicon zkEVM Sepolia Testnet\"\n};\n\nvar c1422 = {\n \"chain\": \"Polygon\",\n \"chainId\": 1422,\n \"explorers\": [{\n \"name\": \"Polygon zkEVM explorer\",\n \"url\": \"https://explorer.public.zkevm-test.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://polygon.technology/solutions/polygon-zkevm/\",\n \"name\": \"Polygon zkEVM Testnet Pre Audit-Upgraded\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1422,\n \"rpc\": [],\n \"shortName\": \"testnet-zkEVM-mango-pre-audit-upgraded\",\n \"slip44\": 1,\n \"slug\": \"polygon-zkevm-testnet-pre-audit-upgraded\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Polygon zkEVM Testnet Pre Audit-Upgraded\"\n};\n\nvar c1433 = {\n \"chain\": \"Rikeza\",\n \"chainId\": 1433,\n \"explorers\": [{\n \"name\": \"Rikeza Blockchain explorer\",\n \"url\": \"https://rikscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfJ1Qxpzi6CSLeFeWY1Bwe435CpT5za5WfrLUE7vNzZfy\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rikeza.io\",\n \"name\": \"Rikeza Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Rikeza\",\n \"symbol\": \"RIK\",\n \"decimals\": 18\n },\n \"networkId\": 1433,\n \"rpc\": [\"https://1433.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.rikscan.com\"],\n \"shortName\": \"RIK\",\n \"slug\": \"rikeza-network\",\n \"testnet\": false,\n \"title\": \"Rikeza Network Mainnet\"\n};\n\nvar c1440 = {\n \"chain\": \"LAS\",\n \"chainId\": 1440,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRidubY7BVwC737BQwGEttenP1npAXN7ZNryktE416uUW\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://dev.livingassets.io/\",\n \"name\": \"Living Assets Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LAS\",\n \"symbol\": \"LAS\",\n \"decimals\": 18\n },\n \"networkId\": 1440,\n \"rpc\": [\"https://1440.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://beta.mainnet.livingassets.io/rpc\", \"https://gamma.mainnet.livingassets.io/rpc\"],\n \"shortName\": \"LAS\",\n \"slug\": \"living-assets\",\n \"testnet\": false\n};\n\nvar c1442 = {\n \"chain\": \"Polygon\",\n \"chainId\": 1442,\n \"explorers\": [{\n \"name\": \"Polygon zkEVM explorer\",\n \"url\": \"https://explorer.public.zkevm-test.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNmJZkQgx9RcFLS3rvxQTVYcPfyAFPr667keHTUxB9PDv\",\n \"width\": 122,\n \"height\": 135,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polygon.technology/solutions/polygon-zkevm/\",\n \"name\": \"Polygon zkEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1442,\n \"redFlags\": [],\n \"rpc\": [\"https://1442.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.public.zkevm-test.net\", \"https://polygon-zkevm-testnet.drpc.org\", \"wss://polygon-zkevm-testnet.drpc.org\"],\n \"shortName\": \"testnet-zkEVM-mango\",\n \"slip44\": 1,\n \"slug\": \"polygon-zkevm-testnet\",\n \"testnet\": true,\n \"title\": \"Polygon zkEVM Testnet\"\n};\n\nvar c1452 = {\n \"chain\": \"GIL\",\n \"chainId\": 1452,\n \"explorers\": [{\n \"name\": \"GIL Explorer\",\n \"url\": \"https://explorer.giltestnet.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeDXUAYgQxwaSJLsqWgTqnrJVwicgEyNf9199xAMyRkqA\",\n \"width\": 243,\n \"height\": 243,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://gaussgang.com/\",\n \"name\": \"GIL Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GANG\",\n \"symbol\": \"GANG\",\n \"decimals\": 18\n },\n \"networkId\": 1452,\n \"rpc\": [\"https://1452.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.giltestnet.com\"],\n \"shortName\": \"gil\",\n \"slip44\": 1,\n \"slug\": \"gil-testnet\",\n \"testnet\": true\n};\n\nvar c1453 = {\n \"chain\": \"MTC\",\n \"chainId\": 1453,\n \"explorers\": [{\n \"name\": \"MetaExplorer\",\n \"url\": \"https://istanbul-explorer.metachain.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://istanbul-faucet.metachain.dev\"],\n \"icon\": {\n \"url\": \"ipfs://QmUH2Ph2hW4upvevEAGCaSo7nd8nthqMx5RrHcrnNZ9Y3g\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://metatime.com/en\",\n \"name\": \"MetaChain Istanbul\",\n \"nativeCurrency\": {\n \"name\": \"Metatime Coin\",\n \"symbol\": \"MTC\",\n \"decimals\": 18\n },\n \"networkId\": 1453,\n \"rpc\": [\"https://1453.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://istanbul-rpc.metachain.dev\"],\n \"shortName\": \"metatimeistanbul\",\n \"slip44\": 1453,\n \"slug\": \"metachain-istanbul\",\n \"testnet\": true,\n \"title\": \"MetaChain Testnet Istanbul\"\n};\n\nvar c1455 = {\n \"chain\": \"Ctex Scan Blockchain\",\n \"chainId\": 1455,\n \"explorers\": [{\n \"name\": \"Ctex Scan Explorer\",\n \"url\": \"https://ctexscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.ctexscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreid5evn4qovxo6msuekizv5zn7va62tea7w2zpdx5sskconebuhqle\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ctextoken.io\",\n \"name\": \"Ctex Scan Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"CTEX\",\n \"symbol\": \"CTEX\",\n \"decimals\": 18\n },\n \"networkId\": 1455,\n \"rpc\": [\"https://1455.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.ctexscan.com/\"],\n \"shortName\": \"CTEX\",\n \"slug\": \"ctex-scan-blockchain\",\n \"testnet\": false\n};\n\nvar c1490 = {\n \"chain\": \"Vitruveo\",\n \"chainId\": 1490,\n \"explorers\": [{\n \"name\": \"Vitruveo Explorer\",\n \"url\": \"https://explorer.vitruveo.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidjhjv7uu7if745ys7ari3ka75spm2hqyr5po66sbe7kqsfk7ahua\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreidjhjv7uu7if745ys7ari3ka75spm2hqyr5po66sbe7kqsfk7ahua\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.vitruveo.xyz\",\n \"name\": \"Vitruveo Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Vitruveo Coin\",\n \"symbol\": \"VTRU\",\n \"decimals\": 18\n },\n \"networkId\": 1490,\n \"rpc\": [\"https://1490.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.vitruveo.xyz\"],\n \"shortName\": \"vitruveo\",\n \"slug\": \"vitruveo\",\n \"testnet\": false,\n \"title\": \"Vitruveo is a blockchain for Creators\"\n};\n\nvar c1499 = {\n \"chain\": \"IGC\",\n \"chainId\": 1499,\n \"explorers\": [{\n \"name\": \"IGC-Scan\",\n \"url\": \"https://igcscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeXuzaYXCDwHgQdpuE9L55JfEChzj11P73Ngrn8vDTE9T\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://idosgames.com/\",\n \"name\": \"iDos Games Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"iDos Games Coin\",\n \"symbol\": \"IGC\",\n \"decimals\": 18\n },\n \"networkId\": 1499,\n \"rpc\": [\"https://1499.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.idos.games\"],\n \"shortName\": \"IGC\",\n \"slug\": \"idos-games-chain-testnet\",\n \"testnet\": true\n};\n\nvar c1501 = {\n \"chain\": \"ChainX\",\n \"chainId\": 1501,\n \"explorers\": [{\n \"name\": \"bevm canary scan\",\n \"url\": \"https://scan-canary.bevm.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://cloudflare-ipfs.com/ipfs/bafkreibvwfrow3w6q5qj2mk6n7yx5oahxzgn3pnghdr76zsyxvc3l5hh7y\",\n \"width\": 3600,\n \"height\": 3600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://chainx.org\",\n \"name\": \"BEVM Canary\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 1501,\n \"redFlags\": [],\n \"rpc\": [\"https://1501.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-canary-1.bevm.io/\", \"https://rpc-canary-2.bevm.io/\"],\n \"shortName\": \"chainx\",\n \"slug\": \"bevm-canary\",\n \"testnet\": false\n};\n\nvar c1506 = {\n \"chain\": \"Sherpax Mainnet\",\n \"chainId\": 1506,\n \"explorers\": [{\n \"name\": \"Sherpax Mainnet Explorer\",\n \"url\": \"https://evm.sherpax.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://sherpax.io/\",\n \"name\": \"Sherpax Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KSX\",\n \"symbol\": \"KSX\",\n \"decimals\": 18\n },\n \"networkId\": 1506,\n \"rpc\": [\"https://1506.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.sherpax.io/rpc\"],\n \"shortName\": \"Sherpax\",\n \"slug\": \"sherpax\",\n \"testnet\": false\n};\n\nvar c1507 = {\n \"chain\": \"Sherpax Testnet\",\n \"chainId\": 1507,\n \"explorers\": [{\n \"name\": \"Sherpax Testnet Explorer\",\n \"url\": \"https://evm-pre.sherpax.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://sherpax.io/\",\n \"name\": \"Sherpax Testnet\",\n \"nativeCurrency\": {\n \"name\": \"KSX\",\n \"symbol\": \"KSX\",\n \"decimals\": 18\n },\n \"networkId\": 1507,\n \"rpc\": [\"https://1507.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sherpax-testnet.chainx.org/rpc\"],\n \"shortName\": \"SherpaxTestnet\",\n \"slip44\": 1,\n \"slug\": \"sherpax-testnet\",\n \"testnet\": true\n};\n\nvar c1515 = {\n \"chain\": \"BMC\",\n \"chainId\": 1515,\n \"explorers\": [{\n \"name\": \"Beagle Messaging Chain Explorer\",\n \"url\": \"https://eth.beagle.chat\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.beagle.chat/\"],\n \"infoURL\": \"https://beagle.chat/\",\n \"name\": \"Beagle Messaging Chain\",\n \"nativeCurrency\": {\n \"name\": \"Beagle\",\n \"symbol\": \"BG\",\n \"decimals\": 18\n },\n \"networkId\": 1515,\n \"rpc\": [\"https://1515.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://beagle.chat/eth\"],\n \"shortName\": \"beagle\",\n \"slug\": \"beagle-messaging-chain\",\n \"testnet\": false\n};\n\nvar c1559 = {\n \"chain\": \"TENET\",\n \"chainId\": 1559,\n \"explorers\": [{\n \"name\": \"TenetScan Mainnet\",\n \"url\": \"https://tenetscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://tenet.org/\",\n \"name\": \"Tenet\",\n \"nativeCurrency\": {\n \"name\": \"TENET\",\n \"symbol\": \"TENET\",\n \"decimals\": 18\n },\n \"networkId\": 1559,\n \"rpc\": [\"https://1559.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tenet.org\", \"https://tenet-evm.publicnode.com\", \"wss://tenet-evm.publicnode.com\"],\n \"shortName\": \"tenet\",\n \"slug\": \"tenet\",\n \"testnet\": false,\n \"title\": \"Tenet Mainnet\"\n};\n\nvar c1582 = {\n \"chain\": \"gETH\",\n \"chainId\": 1582,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeibfpls2ealp4e5fdeoxessfjjkldgjnrcx2erph7524pg7alskk6a/1f9cb.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://bubstestnet.com\",\n \"name\": \"Bubs Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"gETH\",\n \"decimals\": 18\n },\n \"networkId\": 1582,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"Bubs\",\n \"slug\": \"bubs-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c1614 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 1614,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0305I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0305I1 Testnet Token\",\n \"symbol\": \"PDC\",\n \"decimals\": 18\n },\n \"networkId\": 1614,\n \"redFlags\": [],\n \"rpc\": [\"https://1614.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0305I1 Testnet\",\n \"slug\": \"qi0305i1-testnet\",\n \"testnet\": true\n};\n\nvar c1617 = {\n \"chain\": \"ETINS\",\n \"chainId\": 1617,\n \"explorers\": [{\n \"name\": \"Ethereum Inscription Explorer\",\n \"url\": \"https://explorer.etins.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.etins.org\",\n \"name\": \"Ethereum Inscription Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ethereum Inscription\",\n \"symbol\": \"ETINS\",\n \"decimals\": 18\n },\n \"networkId\": 1617,\n \"rpc\": [\"https://1617.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.etins.org\"],\n \"shortName\": \"etins\",\n \"slug\": \"ethereum-inscription\",\n \"testnet\": false\n};\n\nvar c1618 = {\n \"chain\": \"Catechain\",\n \"chainId\": 1618,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://catechain.com\",\n \"name\": \"Catecoin Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Catecoin\",\n \"symbol\": \"CATE\",\n \"decimals\": 18\n },\n \"networkId\": 1618,\n \"rpc\": [\"https://1618.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://send.catechain.com\"],\n \"shortName\": \"cate\",\n \"slug\": \"catecoin-chain\",\n \"testnet\": false\n};\n\nvar c1620 = {\n \"chain\": \"ATH\",\n \"chainId\": 1620,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://atheios.org\",\n \"name\": \"Atheios\",\n \"nativeCurrency\": {\n \"name\": \"Atheios Ether\",\n \"symbol\": \"ATH\",\n \"decimals\": 18\n },\n \"networkId\": 11235813,\n \"rpc\": [\"https://1620.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.atheios.org/\"],\n \"shortName\": \"ath\",\n \"slip44\": 1620,\n \"slug\": \"atheios\",\n \"testnet\": false\n};\n\nvar c1625 = {\n \"chain\": \"Gravity\",\n \"chainId\": 1625,\n \"explorers\": [{\n \"name\": \"Gravity Alpha Mainnet Explorer\",\n \"url\": \"https://explorer.gravity.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }, {\n \"name\": \"EIP1108\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmU5XU4S5oaGM5fj8oU1ovhWoXCzGWspwRj2zWRTuJrU4k\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gravity.xyz\",\n \"name\": \"Gravity Alpha Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Gravity\",\n \"symbol\": \"G.\",\n \"decimals\": 18\n },\n \"networkId\": 1625,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.gravity.xyz\"\n }]\n },\n \"rpc\": [\"https://1625.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gravity.xyz\"],\n \"shortName\": \"gravity\",\n \"slug\": \"gravity-alpha\",\n \"testnet\": false\n};\n\nvar c1657 = {\n \"chain\": \"btachain\",\n \"chainId\": 1657,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://bitcoinasset.io/\",\n \"name\": \"Btachain\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin Asset\",\n \"symbol\": \"BTA\",\n \"decimals\": 18\n },\n \"networkId\": 1657,\n \"rpc\": [\"https://1657.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed1.btachain.com/\"],\n \"shortName\": \"bta\",\n \"slug\": \"btachain\",\n \"testnet\": false\n};\n\nvar c1662 = {\n \"chain\": \"LQC\",\n \"chainId\": 1662,\n \"explorers\": [{\n \"name\": \"Liquichain Mainnet\",\n \"url\": \"https://mainnet.liquichain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://liquichain.io/\",\n \"name\": \"Liquichain\",\n \"nativeCurrency\": {\n \"name\": \"Licoin\",\n \"symbol\": \"LCN\",\n \"decimals\": 18\n },\n \"networkId\": 1662,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [],\n \"shortName\": \"Liquichain\",\n \"slug\": \"liquichain\",\n \"testnet\": false\n};\n\nvar c1663 = {\n \"chain\": \"Gobi\",\n \"chainId\": 1663,\n \"explorers\": [{\n \"name\": \"Gobi Testnet Block Explorer\",\n \"url\": \"https://gobi-explorer.horizen.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti\",\n \"width\": 1213,\n \"height\": 1213,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.horizen.io\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti\",\n \"width\": 1213,\n \"height\": 1213,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://horizen.io/\",\n \"name\": \"Horizen Gobi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Zen\",\n \"symbol\": \"tZEN\",\n \"decimals\": 18\n },\n \"networkId\": 1663,\n \"rpc\": [\"https://1663.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gobi-rpc.horizenlabs.io/ethv1\", \"https://rpc.ankr.com/horizen_gobi_testnet\"],\n \"shortName\": \"Gobi\",\n \"slip44\": 1,\n \"slug\": \"horizen-gobi-testnet\",\n \"testnet\": true\n};\n\nvar c1686 = {\n \"chain\": \"ETH\",\n \"chainId\": 1686,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet-explorer.mintchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQsYisbKkCTKoKG2YSVs94UGuWWMiBspirH4Af4FyZeZz\",\n \"width\": 80,\n \"height\": 80,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQsYisbKkCTKoKG2YSVs94UGuWWMiBspirH4Af4FyZeZz\",\n \"width\": 80,\n \"height\": 80,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.mintchain.io\",\n \"name\": \"Mint Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1686,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://testnet-bridge.mintchain.io\"\n }]\n },\n \"rpc\": [\"https://1686.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.mintchain.io\"],\n \"shortName\": \"minttest\",\n \"slug\": \"mint-testnet\",\n \"testnet\": true\n};\n\nvar c1687 = {\n \"chain\": \"ETH\",\n \"chainId\": 1687,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://sepolia-testnet-explorer.mintchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQsYisbKkCTKoKG2YSVs94UGuWWMiBspirH4Af4FyZeZz\",\n \"width\": 80,\n \"height\": 80,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQsYisbKkCTKoKG2YSVs94UGuWWMiBspirH4Af4FyZeZz\",\n \"width\": 80,\n \"height\": 80,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.mintchain.io\",\n \"name\": \"Mint Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1687,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://sepolia-testnet-bridge.mintchain.io\"\n }]\n },\n \"rpc\": [\"https://1687.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-testnet-rpc.mintchain.io\"],\n \"shortName\": \"mintsepoliatest\",\n \"slug\": \"mint-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c1688 = {\n \"chain\": \"LUDAN\",\n \"chainId\": 1688,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigzeanzqgxrzzep45t776ovbwi242poqxbryuu2go5eedeuwwcsay\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ludan.org/\",\n \"name\": \"LUDAN Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LUDAN\",\n \"symbol\": \"LUDAN\",\n \"decimals\": 18\n },\n \"networkId\": 1688,\n \"rpc\": [\"https://1688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ludan.org/\"],\n \"shortName\": \"LUDAN\",\n \"slug\": \"ludan\",\n \"testnet\": false\n};\n\nvar c1701 = {\n \"chain\": \"ETH\",\n \"chainId\": 1701,\n \"explorers\": [{\n \"name\": \"Anytype Explorer\",\n \"url\": \"https://explorer.anytype.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmaARJiAQUn4Z6wG8GLEry3kTeBB3k6RfHzSZU9SPhBgcG\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://evm.anytype.io/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmaARJiAQUn4Z6wG8GLEry3kTeBB3k6RfHzSZU9SPhBgcG\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://evm.anytype.io\",\n \"name\": \"Anytype EVM Chain\",\n \"nativeCurrency\": {\n \"name\": \"ANY\",\n \"symbol\": \"ANY\",\n \"decimals\": 18\n },\n \"networkId\": 1701,\n \"rpc\": [\"https://1701.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://geth.anytype.io\"],\n \"shortName\": \"AnytypeChain\",\n \"slug\": \"anytype-evm-chain\",\n \"testnet\": false\n};\n\nvar c1707 = {\n \"chain\": \"TBSI\",\n \"chainId\": 1707,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://exp.blockchain.or.th\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://blockchain.or.th\",\n \"name\": \"TBSI Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Jinda\",\n \"symbol\": \"JINDA\",\n \"decimals\": 18\n },\n \"networkId\": 1707,\n \"rpc\": [\"https://1707.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.blockchain.or.th\"],\n \"shortName\": \"TBSI\",\n \"slug\": \"tbsi\",\n \"testnet\": false,\n \"title\": \"Thai Blockchain Service Infrastructure Mainnet\"\n};\n\nvar c1708 = {\n \"chain\": \"TBSI\",\n \"chainId\": 1708,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://exp.testnet.blockchain.or.th\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.blockchain.or.th\"],\n \"infoURL\": \"https://blockchain.or.th\",\n \"name\": \"TBSI Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jinda\",\n \"symbol\": \"JINDA\",\n \"decimals\": 18\n },\n \"networkId\": 1708,\n \"rpc\": [\"https://1708.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.blockchain.or.th\"],\n \"shortName\": \"tTBSI\",\n \"slip44\": 1,\n \"slug\": \"tbsi-testnet\",\n \"testnet\": true,\n \"title\": \"Thai Blockchain Service Infrastructure Testnet\"\n};\n\nvar c1717 = {\n \"chain\": \"DRC\",\n \"chainId\": 1717,\n \"explorers\": [{\n \"name\": \"Doric Explorer\",\n \"url\": \"https://explorer.doric.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdFEozqneC8abhpfgtGpvfKpWVEbL8eMZjJKtUPuBTanK\",\n \"width\": 988,\n \"height\": 901,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://doric.network\",\n \"name\": \"Doric Network\",\n \"nativeCurrency\": {\n \"name\": \"Doric Native Token\",\n \"symbol\": \"DRC\",\n \"decimals\": 18\n },\n \"networkId\": 1717,\n \"rpc\": [\"https://1717.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.doric.network\"],\n \"shortName\": \"DRC\",\n \"slug\": \"doric-network\",\n \"testnet\": false\n};\n\nvar c1718 = {\n \"chain\": \"PLT\",\n \"chainId\": 1718,\n \"explorers\": [{\n \"name\": \"Palettescan\",\n \"url\": \"https://palettescan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hashpalette.com/\",\n \"name\": \"Palette Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Palette Token\",\n \"symbol\": \"PLT\",\n \"decimals\": 18\n },\n \"networkId\": 1718,\n \"rpc\": [\"https://1718.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://palette-rpc.com:22000\"],\n \"shortName\": \"PCM\",\n \"slug\": \"palette-chain\",\n \"testnet\": false\n};\n\nvar c1729 = {\n \"chain\": \"Reya\",\n \"chainId\": 1729,\n \"explorers\": [{\n \"name\": \"Reya Network Explorer\",\n \"url\": \"https://explorer.reya.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://reya.network\",\n \"name\": \"Reya Network\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1729,\n \"rpc\": [\"https://1729.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.reya.network\", \"wss://ws.reya.network\"],\n \"shortName\": \"reya\",\n \"slug\": \"reya-network\",\n \"testnet\": false\n};\n\nvar c1740 = {\n \"chain\": \"Metal L2 Testnet\",\n \"chainId\": 1740,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.explorer.metall2.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmesm61n8vVVDEeZU7npz39aQYofes9vMfXYwWM4JehLFS\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://metall2.com\",\n \"name\": \"Metal L2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1740,\n \"rpc\": [\"https://1740.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.metall2.com\"],\n \"shortName\": \"metall2-testnet\",\n \"slug\": \"metal-l2-testnet\",\n \"testnet\": true\n};\n\nvar c1750 = {\n \"chain\": \"Metal L2\",\n \"chainId\": 1750,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.metall2.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmesm61n8vVVDEeZU7npz39aQYofes9vMfXYwWM4JehLFS\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://metall2.com\",\n \"name\": \"Metal L2\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1750,\n \"rpc\": [\"https://1750.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.metall2.com\"],\n \"shortName\": \"metall2\",\n \"slug\": \"metal-l2\",\n \"testnet\": false\n};\n\nvar c1773 = {\n \"chain\": \"mainnet\",\n \"chainId\": 1773,\n \"explorers\": [{\n \"name\": \"PartyExplorer\",\n \"url\": \"https://partyexplorer.co\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmerDBFoXvgev2xx9U71gAaAK4CtxaaQVaAPf9Qi6UF9MS\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmerDBFoXvgev2xx9U71gAaAK4CtxaaQVaAPf9Qi6UF9MS\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"name\": \"PartyChain\",\n \"nativeCurrency\": {\n \"name\": \"Grams\",\n \"symbol\": \"GRAMS\",\n \"decimals\": 18\n },\n \"networkId\": 1773,\n \"rpc\": [\"https://1773.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tea.mining4people.com/rpc\", \"http://172.104.194.36:8545\"],\n \"shortName\": \"TeaParty\",\n \"slug\": \"partychain\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c1777 = {\n \"chain\": \"Gauss\",\n \"chainId\": 1777,\n \"explorers\": [{\n \"name\": \"Gauss Explorer\",\n \"url\": \"https://explorer.gaussgang.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeDXUAYgQxwaSJLsqWgTqnrJVwicgEyNf9199xAMyRkqA\",\n \"width\": 243,\n \"height\": 243,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://gaussgang.com/\",\n \"name\": \"Gauss Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GANG\",\n \"symbol\": \"GANG\",\n \"decimals\": 18\n },\n \"networkId\": 1777,\n \"rpc\": [\"https://1777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gaussgang.com\"],\n \"shortName\": \"gauss\",\n \"slug\": \"gauss\",\n \"testnet\": false\n};\n\nvar c1789 = {\n \"chain\": \"ETH\",\n \"chainId\": 1789,\n \"explorers\": [{\n \"name\": \"ZKbase Block Explorer\",\n \"url\": \"https://sepolia-explorer.zkbase.app\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRLtNvkVhC7rRDiLMHLckWbesaSU6sNYhQZgsAM1phTZx\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRLtNvkVhC7rRDiLMHLckWbesaSU6sNYhQZgsAM1phTZx\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://zkbase.org/\",\n \"name\": \"ZKBase Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1789,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://portral.zkbase.app/\"\n }]\n },\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://1789.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-rpc.zkbase.app\"],\n \"shortName\": \"zkbase-sepolia\",\n \"slip44\": 1,\n \"slug\": \"zkbase-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c1804 = {\n \"chain\": \"CRC\",\n \"chainId\": 1804,\n \"explorers\": [{\n \"name\": \"Lite Explorer\",\n \"url\": \"https://ethereum-pocr.github.io/explorer/kerleano\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRLwpq47tyEd3rfK4tKRhbTvyb3fc7PCutExnL1XAb37A\",\n \"width\": 334,\n \"height\": 360,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://github.com/ethereum-pocr/kerleano/blob/main/docs/faucet.md\"],\n \"icon\": {\n \"url\": \"ipfs://QmRLwpq47tyEd3rfK4tKRhbTvyb3fc7PCutExnL1XAb37A\",\n \"width\": 334,\n \"height\": 360,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/ethereum-pocr/kerleano\",\n \"name\": \"Kerleano\",\n \"nativeCurrency\": {\n \"name\": \"Climate awaReness Coin\",\n \"symbol\": \"CRC\",\n \"decimals\": 18\n },\n \"networkId\": 1804,\n \"rpc\": [\"https://1804.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cacib-saturn-test.francecentral.cloudapp.azure.com\", \"wss://cacib-saturn-test.francecentral.cloudapp.azure.com:9443\"],\n \"shortName\": \"kerleano\",\n \"slip44\": 1,\n \"slug\": \"kerleano\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Proof of Climate awaReness testnet\"\n};\n\nvar c1807 = {\n \"chain\": \"rAna\",\n \"chainId\": 1807,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://rabbit.analogscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://analogfaucet.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmdfbjjF3ZzN2jTkH9REgrA8jDS6A6c21n7rbWSVbSnvQc\",\n \"width\": 310,\n \"height\": 251,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://rabbit.analogscan.com\",\n \"name\": \"Rabbit Analog Testnet Chain\",\n \"nativeCurrency\": {\n \"name\": \"Rabbit Analog Test Chain Native Token \",\n \"symbol\": \"rAna\",\n \"decimals\": 18\n },\n \"networkId\": 1807,\n \"rpc\": [\"https://1807.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rabbit.analog-rpc.com\"],\n \"shortName\": \"rAna\",\n \"slip44\": 1,\n \"slug\": \"rabbit-analog-testnet-chain\",\n \"testnet\": true\n};\n\nvar c1818 = {\n \"chain\": \"Cube\",\n \"chainId\": 1818,\n \"explorers\": [{\n \"name\": \"cube-scan\",\n \"url\": \"https://cubescan.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbENgHTymTUUArX5MZ2XXH69WGenirU3oamkRD448hYdz\",\n \"width\": 282,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cube.network\",\n \"name\": \"Cube Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Cube Chain Native Token\",\n \"symbol\": \"CUBE\",\n \"decimals\": 18\n },\n \"networkId\": 1818,\n \"rpc\": [\"https://1818.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-mainnet.cube.network\", \"wss://ws-mainnet.cube.network\", \"https://http-mainnet-sg.cube.network\", \"wss://ws-mainnet-sg.cube.network\", \"https://http-mainnet-us.cube.network\", \"wss://ws-mainnet-us.cube.network\"],\n \"shortName\": \"cube\",\n \"slip44\": 1818,\n \"slug\": \"cube-chain\",\n \"testnet\": false\n};\n\nvar c1819 = {\n \"chain\": \"Cube\",\n \"chainId\": 1819,\n \"explorers\": [{\n \"name\": \"cubetest-scan\",\n \"url\": \"https://testnet.cubescan.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.cube.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmbENgHTymTUUArX5MZ2XXH69WGenirU3oamkRD448hYdz\",\n \"width\": 282,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cube.network\",\n \"name\": \"Cube Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Cube Chain Test Native Token\",\n \"symbol\": \"CUBET\",\n \"decimals\": 18\n },\n \"networkId\": 1819,\n \"rpc\": [\"https://1819.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-testnet.cube.network\", \"wss://ws-testnet.cube.network\", \"https://http-testnet-sg.cube.network\", \"wss://ws-testnet-sg.cube.network\", \"https://http-testnet-jp.cube.network\", \"wss://ws-testnet-jp.cube.network\", \"https://http-testnet-us.cube.network\", \"wss://ws-testnet-us.cube.network\"],\n \"shortName\": \"cubet\",\n \"slip44\": 1,\n \"slug\": \"cube-chain-testnet\",\n \"testnet\": true\n};\n\nvar c1821 = {\n \"chain\": \"RUBY\",\n \"chainId\": 1821,\n \"explorers\": [{\n \"name\": \"RUBY Smart Chain MAINNET Explorer\",\n \"url\": \"https://rubyscan.net\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmXGJevyPHHKT28hDfsJ9Cq2DQ2bAavdie37MEwFQUVCQz\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXGJevyPHHKT28hDfsJ9Cq2DQ2bAavdie37MEwFQUVCQz\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rubychain.io\",\n \"name\": \"Ruby Smart Chain MAINNET\",\n \"nativeCurrency\": {\n \"name\": \"RUBY Smart Chain Native Token\",\n \"symbol\": \"RUBY\",\n \"decimals\": 18\n },\n \"networkId\": 1821,\n \"rpc\": [\"https://1821.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-data.rubychain.io/\", \"https://mainnet.rubychain.io/\"],\n \"shortName\": \"RUBY\",\n \"slip44\": 1,\n \"slug\": \"ruby-smart-chain\",\n \"testnet\": false\n};\n\nvar c1838 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 1838,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Traderlands Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Traderlands Testnet Token\",\n \"symbol\": \"TDL3\",\n \"decimals\": 18\n },\n \"networkId\": 1838,\n \"redFlags\": [],\n \"rpc\": [\"https://1838.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/traderland/testnet/rpc\"],\n \"shortName\": \"Traderlands Testnet\",\n \"slug\": \"traderlands-testnet\",\n \"testnet\": true\n};\n\nvar c1853 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 1853,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"HighOctane\",\n \"nativeCurrency\": {\n \"name\": \"HighOctane Token\",\n \"symbol\": \"HO\",\n \"decimals\": 18\n },\n \"networkId\": 1853,\n \"redFlags\": [],\n \"rpc\": [\"https://1853.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/highoctane/mainnet/rpc\"],\n \"shortName\": \"HighOctane\",\n \"slug\": \"highoctane\",\n \"testnet\": false\n};\n\nvar c1856 = {\n \"chain\": \"TSF\",\n \"chainId\": 1856,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://teslafunds.io\",\n \"name\": \"Teslafunds\",\n \"nativeCurrency\": {\n \"name\": \"Teslafunds Ether\",\n \"symbol\": \"TSF\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://1856.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tsfapi.europool.me\"],\n \"shortName\": \"tsf\",\n \"slug\": \"teslafunds\",\n \"testnet\": false\n};\n\nvar c1875 = {\n \"chain\": \"WBT\",\n \"chainId\": 1875,\n \"explorers\": [{\n \"name\": \"whitechain-explorer\",\n \"url\": \"https://explorer.whitechain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNeELax6vjkR9WZVmtggk8cam9xHVABZ4WvQyqkGCJ5qf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://whitechain.io\",\n \"name\": \"Whitechain\",\n \"nativeCurrency\": {\n \"name\": \"WhiteBIT Coin\",\n \"symbol\": \"WBT\",\n \"decimals\": 18\n },\n \"networkId\": 1875,\n \"rpc\": [\"https://1875.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.whitechain.io\"],\n \"shortName\": \"wbt\",\n \"slug\": \"whitechain\",\n \"testnet\": false\n};\n\nvar c1881 = {\n \"chain\": \"Gitshock Cartenz\",\n \"chainId\": 1881,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.cartenz.works\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreifqpj5jkjazvh24muc7wv4r22tihzzl75cevgecxhvojm4ls6mzpq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gitshock.com\",\n \"name\": \"Gitshock Cartenz Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Gitshock Cartenz\",\n \"symbol\": \"tGTFX\",\n \"decimals\": 18\n },\n \"networkId\": 1881,\n \"rpc\": [\"https://1881.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.cartenz.works\"],\n \"shortName\": \"gitshockchain\",\n \"slip44\": 1,\n \"slug\": \"gitshock-cartenz-testnet\",\n \"testnet\": true\n};\n\nvar c1890 = {\n \"chain\": \"Lightlink Phoenix Mainnet\",\n \"chainId\": 1890,\n \"explorers\": [{\n \"name\": \"phoenix\",\n \"url\": \"https://phoenix.lightlink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXMDj6iAFn2ducQcUU1M87PMMdT2jfyL3Tp3Lz5uUD5Lv\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXMDj6iAFn2ducQcUU1M87PMMdT2jfyL3Tp3Lz5uUD5Lv\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lightlink.io\",\n \"name\": \"Lightlink Phoenix Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ethereum\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1890,\n \"rpc\": [\"https://1890.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://replicator.phoenix.lightlink.io/rpc/v1\"],\n \"shortName\": \"lightlink_phoenix\",\n \"slug\": \"lightlink-phoenix\",\n \"testnet\": false\n};\n\nvar c1891 = {\n \"chain\": \"Lightlink Pegasus Testnet\",\n \"chainId\": 1891,\n \"explorers\": [{\n \"name\": \"pegasus\",\n \"url\": \"https://pegasus.lightlink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXMDj6iAFn2ducQcUU1M87PMMdT2jfyL3Tp3Lz5uUD5Lv\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.pegasus.lightlink.io/\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXMDj6iAFn2ducQcUU1M87PMMdT2jfyL3Tp3Lz5uUD5Lv\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lightlink.io\",\n \"name\": \"Lightlink Pegasus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ethereum\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1891,\n \"rpc\": [\"https://1891.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://replicator.pegasus.lightlink.io/rpc/v1\"],\n \"shortName\": \"lightlink_pegasus\",\n \"slip44\": 1,\n \"slug\": \"lightlink-pegasus-testnet\",\n \"testnet\": true\n};\n\nvar c1898 = {\n \"chain\": \"BON\",\n \"chainId\": 1898,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.boyanet.org:4001\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boyanet.org\",\n \"name\": \"BON Network\",\n \"nativeCurrency\": {\n \"name\": \"BOYACoin\",\n \"symbol\": \"BOY\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://1898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://rpc.boyanet.org:8545\", \"ws://rpc.boyanet.org:8546\"],\n \"shortName\": \"boya\",\n \"slug\": \"bon-network\",\n \"testnet\": false\n};\n\nvar c1904 = {\n \"chain\": \"SCN\",\n \"chainId\": 1904,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.sportschainnetwork.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdW7XfRgeyoaHXEvXp8MaVteonankR32CxhL3K5Yc2uQM\",\n \"width\": 345,\n \"height\": 321,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sportschainnetwork.xyz\",\n \"name\": \"Sports Chain Network\",\n \"nativeCurrency\": {\n \"name\": \"SCN\",\n \"symbol\": \"SCN\",\n \"decimals\": 18\n },\n \"networkId\": 1904,\n \"rpc\": [\"https://1904.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sportschainnetwork.xyz/\"],\n \"shortName\": \"SCN\",\n \"slug\": \"sports-chain-network\",\n \"testnet\": false\n};\n\nvar c1907 = {\n \"chain\": \"BITCI\",\n \"chainId\": 1907,\n \"explorers\": [{\n \"name\": \"Bitci Explorer\",\n \"url\": \"https://bitciexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbxmfWw5sVMASz5EbR1DCgLfk8PnqpSJGQKpYuEUpoxqn\",\n \"width\": 64,\n \"height\": 64,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.bitcichain.com\",\n \"name\": \"Bitcichain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitci\",\n \"symbol\": \"BITCI\",\n \"decimals\": 18\n },\n \"networkId\": 1907,\n \"rpc\": [\"https://1907.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bitci.com\"],\n \"shortName\": \"bitci\",\n \"slug\": \"bitcichain\",\n \"testnet\": false\n};\n\nvar c1908 = {\n \"chain\": \"TBITCI\",\n \"chainId\": 1908,\n \"explorers\": [{\n \"name\": \"Bitci Explorer Testnet\",\n \"url\": \"https://testnet.bitciexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bitcichain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmbxmfWw5sVMASz5EbR1DCgLfk8PnqpSJGQKpYuEUpoxqn\",\n \"width\": 64,\n \"height\": 64,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.bitcichain.com\",\n \"name\": \"Bitcichain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Test Bitci\",\n \"symbol\": \"TBITCI\",\n \"decimals\": 18\n },\n \"networkId\": 1908,\n \"rpc\": [\"https://1908.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bitcichain.com\"],\n \"shortName\": \"tbitci\",\n \"slip44\": 1,\n \"slug\": \"bitcichain-testnet\",\n \"testnet\": true\n};\n\nvar c1909 = {\n \"chain\": \"MRK\",\n \"chainId\": 1909,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://merklescan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZocJpCSLoQqoYFkF1kn7uKDuAiFRNTK8P5PoVeiigDBU\",\n \"width\": 114,\n \"height\": 132,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://merklescan.com\",\n \"name\": \"Merkle Scan\",\n \"nativeCurrency\": {\n \"name\": \"Merkle\",\n \"symbol\": \"MRK\",\n \"decimals\": 18\n },\n \"networkId\": 1909,\n \"rpc\": [\"https://1909.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://marklechain-rpc.merklescan.com\"],\n \"shortName\": \"MRK\",\n \"slug\": \"merkle-scan\",\n \"testnet\": false\n};\n\nvar c1911 = {\n \"chain\": \"ETH\",\n \"chainId\": 1911,\n \"explorers\": [{\n \"name\": \"scalind\",\n \"url\": \"https://explorer.scalind.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmayuauUTSkYxbT1xi2AkkG5VLEMDhcMeZ18WZHiApPa9M\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://scalind.com\",\n \"name\": \"Scalind\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1911,\n \"rpc\": [\"https://1911.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.scalind.com\"],\n \"shortName\": \"scal\",\n \"slug\": \"scalind\",\n \"testnet\": false\n};\n\nvar c1912 = {\n \"chain\": \"RUBY\",\n \"chainId\": 1912,\n \"explorers\": [{\n \"name\": \"RUBY Smart Chain Testnet Explorer\",\n \"url\": \"https://testnet.rubyscan.net\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmXGJevyPHHKT28hDfsJ9Cq2DQ2bAavdie37MEwFQUVCQz\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://claim-faucet.rubychain.io/\"],\n \"icon\": {\n \"url\": \"ipfs://QmXGJevyPHHKT28hDfsJ9Cq2DQ2bAavdie37MEwFQUVCQz\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rubychain.io\",\n \"name\": \"Ruby Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"RUBY Smart Chain Native Token\",\n \"symbol\": \"tRUBY\",\n \"decimals\": 18\n },\n \"networkId\": 1912,\n \"rpc\": [\"https://1912.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rchain.rubychain.io/\"],\n \"shortName\": \"tRUBY\",\n \"slip44\": 1,\n \"slug\": \"ruby-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c1918 = {\n \"chain\": \"UPBEth\",\n \"chainId\": 1918,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://mobylab.docs.crescdi.pub.ro/blog/UPB-CRESCDI-Testnet\",\n \"name\": \"UPB CRESCDI Testnet\",\n \"nativeCurrency\": {\n \"name\": \"UPBEth\",\n \"symbol\": \"UPBEth\",\n \"decimals\": 18\n },\n \"networkId\": 1918,\n \"rpc\": [\"https://1918.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.crescdi.pub.ro\"],\n \"shortName\": \"UPBEth\",\n \"slug\": \"upb-crescdi-testnet\",\n \"testnet\": true\n};\n\nvar c1945 = {\n \"chain\": \"onus\",\n \"chainId\": 1945,\n \"explorers\": [{\n \"name\": \"Onus explorer testnet\",\n \"url\": \"https://explorer-testnet.onuschain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiec34ik3glrm5jrzafdytvu4kxdsrxhqmagbe27fytdcuzkhoooay\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://onuschain.io\",\n \"name\": \"ONUS Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ONUS\",\n \"symbol\": \"ONUS\",\n \"decimals\": 18\n },\n \"networkId\": 1945,\n \"rpc\": [\"https://1945.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.onuschain.io\"],\n \"shortName\": \"onus-testnet\",\n \"slip44\": 1,\n \"slug\": \"onus-chain-testnet\",\n \"testnet\": true,\n \"title\": \"ONUS Chain Testnet\"\n};\n\nvar c1951 = {\n \"chain\": \"D-Chain\",\n \"chainId\": 1951,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmV2vhTqS9UyrX9Q6BSCbK4JrKBnS8ErHvstMjfb2oVWaj\",\n \"width\": 700,\n \"height\": 495,\n \"format\": \"png\"\n },\n \"name\": \"D-Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DOINX\",\n \"symbol\": \"DOINX\",\n \"decimals\": 18\n },\n \"networkId\": 1951,\n \"rpc\": [\"https://1951.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.d-chain.network/ext/bc/2ZiR1Bro5E59siVuwdNuRFzqL95NkvkbzyLBdrsYR9BLSHV7H4/rpc\"],\n \"shortName\": \"dchain-mainnet\",\n \"slug\": \"d-chain\",\n \"testnet\": false\n};\n\nvar c1953 = {\n \"chain\": \"tSEL\",\n \"chainId\": 1953,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbnLDuVc4JReFysyKvmpuqUtj9HCus6qoKD5nQ9QkokzK\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://selendra.org\",\n \"name\": \"Selendra Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Selendra\",\n \"symbol\": \"tSEL\",\n \"decimals\": 18\n },\n \"networkId\": 1953,\n \"rpc\": [\"https://1953.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc0-testnet.selendra.org\", \"https://rpc1-testnet.selendra.org\"],\n \"shortName\": \"tSEL\",\n \"slug\": \"selendra-network-testnet\",\n \"testnet\": true\n};\n\nvar c1954 = {\n \"chain\": \"Dexilla\",\n \"chainId\": 1954,\n \"explorers\": [{\n \"name\": \"dos-mainnet\",\n \"url\": \"https://exp.dexilla.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUBveetVibvSEWQrjyxySgUphLuoMGSVLGmYnobt5FgEZ\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dexilla.com\",\n \"name\": \"Dexilla Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dexilla Native Token\",\n \"symbol\": \"DXZ\",\n \"decimals\": 18\n },\n \"networkId\": 1954,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://bridge.dexilla.com\"\n }]\n },\n \"rpc\": [\"https://1954.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dexilla.com\"],\n \"shortName\": \"Dexilla\",\n \"slip44\": 1,\n \"slug\": \"dexilla-testnet\",\n \"testnet\": true\n};\n\nvar c1956 = {\n \"chain\": \"AIW3\",\n \"chainId\": 1956,\n \"explorers\": [{\n \"name\": \"aiw3 testnet scan\",\n \"url\": \"https://scan-testnet.aiw3.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigfxcyvnx2r46a3unljb2auxeez5olbg56lbu4gkpa4me7wqoajjy\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aiw3.io/\",\n \"name\": \"AIW3 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 1956,\n \"rpc\": [\"https://1956.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.aiw3.io/\"],\n \"shortName\": \"AIW3-Testnet\",\n \"slug\": \"aiw3-testnet\",\n \"testnet\": true\n};\n\nvar c1961 = {\n \"chain\": \"SEL\",\n \"chainId\": 1961,\n \"explorers\": [{\n \"name\": \"Selendra Scan\",\n \"url\": \"https://scan.selendra.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbnLDuVc4JReFysyKvmpuqUtj9HCus6qoKD5nQ9QkokzK\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://selendra.org\",\n \"name\": \"Selendra Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Selendra\",\n \"symbol\": \"SEL\",\n \"decimals\": 18\n },\n \"networkId\": 1961,\n \"rpc\": [\"https://1961.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc0.selendra.org\", \"https://rpc1.selendra.org\"],\n \"shortName\": \"SEL\",\n \"slug\": \"selendra-network\",\n \"testnet\": false\n};\n\nvar c1962 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 1962,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3295 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3295 Testnet Token\",\n \"symbol\": \"JXA\",\n \"decimals\": 18\n },\n \"networkId\": 1962,\n \"redFlags\": [],\n \"rpc\": [\"https://1962.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3295 Testnet\",\n \"slug\": \"qauser3295-testnet\",\n \"testnet\": true\n};\n\nvar c1967 = {\n \"chain\": \"MTC\",\n \"chainId\": 1967,\n \"explorers\": [{\n \"name\": \"metaexplorer-eleanor\",\n \"url\": \"https://explorer.metatime.com/eleanor\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.metatime.com/eleanor\"],\n \"infoURL\": \"https://eleanor.metatime.com\",\n \"name\": \"Eleanor\",\n \"nativeCurrency\": {\n \"name\": \"Eleanor Metacoin\",\n \"symbol\": \"MTC\",\n \"decimals\": 18\n },\n \"networkId\": 1967,\n \"rpc\": [\"https://1967.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.metatime.com/eleanor\", \"wss://ws.metatime.com/eleanor\"],\n \"shortName\": \"mtc\",\n \"slip44\": 1,\n \"slug\": \"eleanor\",\n \"testnet\": true,\n \"title\": \"Metatime Testnet Eleanor\"\n};\n\nvar c1969 = {\n \"chain\": \"TSCS\",\n \"chainId\": 1969,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnetscan.scschain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet.scschain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmW4C4QHLMhLeH5MsdVbauMc2Skb4ehzLKU3egLKKoux4D\",\n \"width\": 130,\n \"height\": 130,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.scschain.com\",\n \"name\": \"Super Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Super Chain Native Token\",\n \"symbol\": \"TSCS\",\n \"decimals\": 18\n },\n \"networkId\": 1969,\n \"rpc\": [\"https://1969.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnetrpc.scschain.com\"],\n \"shortName\": \"tscs\",\n \"slip44\": 1,\n \"slug\": \"super-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c1970 = {\n \"chain\": \"SCS\",\n \"chainId\": 1970,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.scschain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW4C4QHLMhLeH5MsdVbauMc2Skb4ehzLKU3egLKKoux4D\",\n \"width\": 130,\n \"height\": 130,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://scschain.com\",\n \"name\": \"Super Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Super Chain Native Token\",\n \"symbol\": \"SCS\",\n \"decimals\": 18\n },\n \"networkId\": 1970,\n \"rpc\": [\"https://1970.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.scschain.com\"],\n \"shortName\": \"scs\",\n \"slug\": \"super-smart-chain\",\n \"testnet\": false\n};\n\nvar c1971 = {\n \"chain\": \"ALTR\",\n \"chainId\": 1971,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigcquvoalec3ll2m26v4wsx5enlxwyn6nk2mgfqwncyqrgwivla5u\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://1971.network/\",\n \"name\": \"Atelier\",\n \"nativeCurrency\": {\n \"name\": \"ATLR\",\n \"symbol\": \"ATLR\",\n \"decimals\": 18\n },\n \"networkId\": 1971,\n \"rpc\": [\"https://1971.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://1971.network/atlr\", \"wss://1971.network/atlr\"],\n \"shortName\": \"atlr\",\n \"slip44\": 1,\n \"slug\": \"atelier\",\n \"testnet\": true,\n \"title\": \"Atelier Test Network\"\n};\n\nvar c1972 = {\n \"chain\": \"REDEV2\",\n \"chainId\": 1972,\n \"explorers\": [{\n \"name\": \"RedeCoin Explorer\",\n \"url\": \"https://explorer3.redecoin.eu\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.redecoin.eu\",\n \"name\": \"RedeCoin\",\n \"nativeCurrency\": {\n \"name\": \"RedeCoin\",\n \"symbol\": \"REDEV2\",\n \"decimals\": 18\n },\n \"networkId\": 1972,\n \"rpc\": [\"https://1972.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc2.redecoin.eu\"],\n \"shortName\": \"rede\",\n \"slug\": \"redecoin\",\n \"testnet\": false\n};\n\nvar c1975 = {\n \"chain\": \"onus\",\n \"chainId\": 1975,\n \"explorers\": [{\n \"name\": \"Onus explorer mainnet\",\n \"url\": \"https://explorer.onuschain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiec34ik3glrm5jrzafdytvu4kxdsrxhqmagbe27fytdcuzkhoooay\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://onuschain.io\",\n \"name\": \"ONUS Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ONUS\",\n \"symbol\": \"ONUS\",\n \"decimals\": 18\n },\n \"networkId\": 1975,\n \"rpc\": [\"https://1975.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.onuschain.io\", \"wss://ws.onuschain.io\"],\n \"shortName\": \"onus-mainnet\",\n \"slug\": \"onus-chain\",\n \"testnet\": false,\n \"title\": \"ONUS Chain Mainnet\"\n};\n\nvar c1984 = {\n \"chain\": \"EUN\",\n \"chainId\": 1984,\n \"explorers\": [{\n \"name\": \"testnetexplorer\",\n \"url\": \"https://testnetexplorer.eurus.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmaGd5L9jGPbfyGXBFhu9gjinWJ66YtNrXq8x6Q98Eep9e\",\n \"width\": 471,\n \"height\": 471,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaGd5L9jGPbfyGXBFhu9gjinWJ66YtNrXq8x6Q98Eep9e\",\n \"width\": 471,\n \"height\": 471,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://eurus.network\",\n \"name\": \"Eurus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Eurus\",\n \"symbol\": \"EUN\",\n \"decimals\": 18\n },\n \"networkId\": 1984,\n \"rpc\": [\"https://1984.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.eurus.network\"],\n \"shortName\": \"euntest\",\n \"slip44\": 1,\n \"slug\": \"eurus-testnet\",\n \"testnet\": true\n};\n\nvar c1985 = {\n \"chain\": \"TUSHY\",\n \"chainId\": 1985,\n \"explorers\": [{\n \"name\": \"mainnetexplorer\",\n \"url\": \"http://explore.satosh.ie\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRHT4o9ihiY6nVkkRdwZjdugbEAQiXrrov3GS9a3GTuL7\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRHT4o9ihiY6nVkkRdwZjdugbEAQiXrrov3GS9a3GTuL7\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://satosh.ie\",\n \"name\": \"SatoshIE\",\n \"nativeCurrency\": {\n \"name\": \"Tushy Token\",\n \"symbol\": \"TUSHY\",\n \"decimals\": 18\n },\n \"networkId\": 1985,\n \"rpc\": [\"https://1985.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://rpc.satosh.ie\"],\n \"shortName\": \"satoshie\",\n \"slug\": \"satoshie\",\n \"testnet\": false\n};\n\nvar c1986 = {\n \"chain\": \"TUSHY\",\n \"chainId\": 1986,\n \"explorers\": [{\n \"name\": \"testnetexplorer\",\n \"url\": \"http://explore-testnet.satosh.ie\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRHT4o9ihiY6nVkkRdwZjdugbEAQiXrrov3GS9a3GTuL7\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRHT4o9ihiY6nVkkRdwZjdugbEAQiXrrov3GS9a3GTuL7\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://satosh.ie\",\n \"name\": \"SatoshIE Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Tushy Token\",\n \"symbol\": \"TUSHY\",\n \"decimals\": 18\n },\n \"networkId\": 1986,\n \"rpc\": [\"https://1986.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet.satosh.ie\"],\n \"shortName\": \"satoshie_testnet\",\n \"slip44\": 1,\n \"slug\": \"satoshie-testnet\",\n \"testnet\": true\n};\n\nvar c1987 = {\n \"chain\": \"EGEM\",\n \"chainId\": 1987,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://egem.io\",\n \"name\": \"EtherGem\",\n \"nativeCurrency\": {\n \"name\": \"EtherGem Ether\",\n \"symbol\": \"EGEM\",\n \"decimals\": 18\n },\n \"networkId\": 1987,\n \"rpc\": [\"https://1987.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.egem.io/custom\"],\n \"shortName\": \"egem\",\n \"slip44\": 1987,\n \"slug\": \"ethergem\",\n \"testnet\": false\n};\n\nvar c1992 = {\n \"chain\": \"Hubblenet\",\n \"chainId\": 1992,\n \"explorers\": [{\n \"name\": \"routescan\",\n \"url\": \"https://explorer.hubble.exchange\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmU9t9fZaWiqpAZ9dw2ojTpJycnB8BxekLWVSCJikJVgjW\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.hubble.exchange\",\n \"name\": \"Hubble Exchange\",\n \"nativeCurrency\": {\n \"name\": \"USD Coin\",\n \"symbol\": \"USDC\",\n \"decimals\": 18\n },\n \"networkId\": 1992,\n \"rpc\": [\"https://1992.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.hubble.exchange\", \"wss://ws-rpc.hubble.exchange\"],\n \"shortName\": \"hubblenet\",\n \"slip44\": 60,\n \"slug\": \"hubble-exchange\",\n \"testnet\": false\n};\n\nvar c1993 = {\n \"chain\": \"B3 Sepolia\",\n \"chainId\": 1993,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://cdn.b3.fun/b3_logo%40.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.b3.fun/\",\n \"name\": \"B3 Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1993,\n \"parent\": {\n \"type\": \"L3\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.b3.fun/\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://1993.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.b3.fun/http\"],\n \"shortName\": \"b3-sepolia\",\n \"slug\": \"b3-sepolia\",\n \"testnet\": true,\n \"title\": \"B3 Sepolia\"\n};\n\nvar c1994 = {\n \"chain\": \"EKTA\",\n \"chainId\": 1994,\n \"explorers\": [{\n \"name\": \"ektascan\",\n \"url\": \"https://ektascan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmfMd564KUPK8eKZDwGCT71ZC2jMnUZqP6LCtLpup3rHH1\",\n \"width\": 2100,\n \"height\": 2100,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfMd564KUPK8eKZDwGCT71ZC2jMnUZqP6LCtLpup3rHH1\",\n \"width\": 2100,\n \"height\": 2100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ekta.io\",\n \"name\": \"Ekta\",\n \"nativeCurrency\": {\n \"name\": \"EKTA\",\n \"symbol\": \"EKTA\",\n \"decimals\": 18\n },\n \"networkId\": 1994,\n \"rpc\": [\"https://1994.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://main.ekta.io\"],\n \"shortName\": \"ekta\",\n \"slug\": \"ekta\",\n \"testnet\": false\n};\n\nvar c1995 = {\n \"chain\": \"edeXa TestNetwork\",\n \"chainId\": 1995,\n \"explorers\": [{\n \"name\": \"edexa-testnet\",\n \"url\": \"https://explorer.testnet.edexa.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.edexa.com/\"],\n \"icon\": {\n \"url\": \"ipfs://QmSgvmLpRsCiu2ySqyceA5xN4nwi7URJRNEZLffwEKXdoR\",\n \"width\": 1028,\n \"height\": 1042,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://edexa.network/\",\n \"name\": \"edeXa Testnet\",\n \"nativeCurrency\": {\n \"name\": \"EDEXA\",\n \"symbol\": \"EDX\",\n \"decimals\": 18\n },\n \"networkId\": 1995,\n \"rpc\": [\"https://1995.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.edexa.network/rpc\", \"https://io-dataseed1.testnet.edexa.io-market.com/rpc\"],\n \"shortName\": \"edx\",\n \"slip44\": 1,\n \"slug\": \"edexa-testnet\",\n \"testnet\": true\n};\n\nvar c1996 = {\n \"chain\": \"Sanko\",\n \"chainId\": 1996,\n \"explorers\": [{\n \"name\": \"Sanko Explorer\",\n \"url\": \"https://explorer.sanko.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmbwi5FoJdL6HuFmQGQu1sdyoGrSuj45H12tMNTnpRAmLw\",\n \"width\": 795,\n \"height\": 792,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sanko.xyz/\",\n \"name\": \"Sanko\",\n \"nativeCurrency\": {\n \"name\": \"DMT\",\n \"symbol\": \"DMT\",\n \"decimals\": 18\n },\n \"networkId\": 1996,\n \"rpc\": [\"https://1996.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.sanko.xyz\"],\n \"shortName\": \"Sanko\",\n \"slug\": \"sanko\",\n \"testnet\": false\n};\n\nvar c1997 = {\n \"chain\": \"KYOTO\",\n \"chainId\": 1997,\n \"explorers\": [{\n \"name\": \"Kyotoscan\",\n \"url\": \"https://kyotoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://kyotoprotocol.io\",\n \"name\": \"Kyoto\",\n \"nativeCurrency\": {\n \"name\": \"Kyoto\",\n \"symbol\": \"KYOTO\",\n \"decimals\": 18\n },\n \"networkId\": 1997,\n \"rpc\": [\"https://1997.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kyotochain.io\"],\n \"shortName\": \"kyoto\",\n \"slip44\": 1,\n \"slug\": \"kyoto\",\n \"testnet\": false\n};\n\nvar c1998 = {\n \"chain\": \"KYOTO\",\n \"chainId\": 1998,\n \"explorers\": [{\n \"name\": \"Kyotoscan\",\n \"url\": \"https://testnet.kyotoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.kyotoprotocol.io\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://kyotoprotocol.io\",\n \"name\": \"Kyoto Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Kyoto\",\n \"symbol\": \"KYOTO\",\n \"decimals\": 18\n },\n \"networkId\": 1998,\n \"rpc\": [\"https://1998.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.kyotoprotocol.io:8545\"],\n \"shortName\": \"kyoto-testnet\",\n \"slip44\": 1,\n \"slug\": \"kyoto-testnet\",\n \"testnet\": true\n};\n\nvar c2000 = {\n \"chain\": \"DC\",\n \"chainId\": 2000,\n \"explorers\": [{\n \"name\": \"dogechain explorer\",\n \"url\": \"https://explorer.dogechain.dog\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNS6B6L8FfgGSMTEi2SxD3bK5cdmKPNtQKcYaJeRWrkHs\",\n \"width\": 732,\n \"height\": 732,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dogechain.dog\",\n \"name\": \"Dogechain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Dogecoin\",\n \"symbol\": \"DOGE\",\n \"decimals\": 18\n },\n \"networkId\": 2000,\n \"rpc\": [\"https://2000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dogechain.dog\", \"https://rpc01-sg.dogechain.dog\", \"https://rpc.ankr.com/dogechain\"],\n \"shortName\": \"dc\",\n \"slug\": \"dogechain\",\n \"testnet\": false\n};\n\nvar c2001 = {\n \"chain\": \"milkAda\",\n \"chainId\": 2001,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer-mainnet-cardano-evm.c1.milkomeda.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdoUtvHDybu5ppYBZT8BMRp6AqByVSoQs8nFwKbaS55jd\",\n \"width\": 367,\n \"height\": 367,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://milkomeda.com\",\n \"name\": \"Milkomeda C1 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"milkAda\",\n \"symbol\": \"mADA\",\n \"decimals\": 18\n },\n \"networkId\": 2001,\n \"rpc\": [\"https://2001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet-cardano-evm.c1.milkomeda.com\", \"wss://rpc-mainnet-cardano-evm.c1.milkomeda.com\"],\n \"shortName\": \"milkAda\",\n \"slug\": \"milkomeda-c1\",\n \"testnet\": false\n};\n\nvar c2002 = {\n \"chain\": \"milkALGO\",\n \"chainId\": 2002,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer-mainnet-algorand-rollup.a1.milkomeda.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdoUtvHDybu5ppYBZT8BMRp6AqByVSoQs8nFwKbaS55jd\",\n \"width\": 367,\n \"height\": 367,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://milkomeda.com\",\n \"name\": \"Milkomeda A1 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"milkALGO\",\n \"symbol\": \"mALGO\",\n \"decimals\": 18\n },\n \"networkId\": 2002,\n \"rpc\": [\"https://2002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet-algorand-rollup.a1.milkomeda.com\", \"wss://rpc-mainnet-algorand-rollup.a1.milkomeda.com/ws\"],\n \"shortName\": \"milkALGO\",\n \"slug\": \"milkomeda-a1\",\n \"testnet\": false\n};\n\nvar c2004 = {\n \"chain\": \"MetaLink\",\n \"chainId\": 2004,\n \"explorers\": [{\n \"name\": \"MetaScan\",\n \"url\": \"http://twoto3.com:3000\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfSXRkDPSwt7heQ24pDtWKN6vvervEaTJHmueyRp1mpg1\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"http://totwo3.com:3000\",\n \"name\": \"MetaLink Network\",\n \"nativeCurrency\": {\n \"name\": \"MetaLink\",\n \"symbol\": \"MTL\",\n \"decimals\": 18\n },\n \"networkId\": 2004,\n \"rpc\": [\"https://2004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://77.237.237.69:9933\"],\n \"shortName\": \"mtl\",\n \"slug\": \"metalink-network\",\n \"testnet\": false\n};\n\nvar c2008 = {\n \"chain\": \"CloudWalk Testnet\",\n \"chainId\": 2008,\n \"explorers\": [{\n \"name\": \"CloudWalk Testnet Explorer\",\n \"url\": \"https://explorer.testnet.cloudwalk.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://cloudwalk.io\",\n \"name\": \"CloudWalk Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CloudWalk Native Token\",\n \"symbol\": \"CWN\",\n \"decimals\": 18\n },\n \"networkId\": 2008,\n \"rpc\": [],\n \"shortName\": \"cloudwalk_testnet\",\n \"slip44\": 1,\n \"slug\": \"cloudwalk-testnet\",\n \"testnet\": true\n};\n\nvar c2009 = {\n \"chain\": \"CloudWalk Mainnet\",\n \"chainId\": 2009,\n \"explorers\": [{\n \"name\": \"CloudWalk Mainnet Explorer\",\n \"url\": \"https://explorer.mainnet.cloudwalk.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://cloudwalk.io\",\n \"name\": \"CloudWalk Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"CloudWalk Native Token\",\n \"symbol\": \"CWN\",\n \"decimals\": 18\n },\n \"networkId\": 2009,\n \"rpc\": [],\n \"shortName\": \"cloudwalk_mainnet\",\n \"slug\": \"cloudwalk\",\n \"testnet\": false\n};\n\nvar c2013 = {\n \"chain\": \"Panarchy\",\n \"chainId\": 2013,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://polytopia.org/\",\n \"name\": \"Panarchy\",\n \"nativeCurrency\": {\n \"name\": \"GAS\",\n \"symbol\": \"GAS\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://2013.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://polytopia.org:8545\"],\n \"shortName\": \"panarchy\",\n \"slug\": \"panarchy\",\n \"testnet\": false\n};\n\nvar c2014 = {\n \"chain\": \"NOW\",\n \"chainId\": 2014,\n \"explorers\": [{\n \"name\": \"nowscan\",\n \"url\": \"https://nowscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSUzhRGzMyMyGwBcE3ooZ5jvHKyJ1FjVjh5SfoGHG36MX\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nowchain.co\",\n \"name\": \"NOW Chain\",\n \"nativeCurrency\": {\n \"name\": \"NOW Coin\",\n \"symbol\": \"NOW\",\n \"decimals\": 18\n },\n \"networkId\": 2014,\n \"rpc\": [\"https://2014.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.nowscan.io\"],\n \"shortName\": \"now\",\n \"slug\": \"now-chain\",\n \"testnet\": false\n};\n\nvar c2016 = {\n \"chain\": \"NetZ\",\n \"chainId\": 2016,\n \"explorers\": [{\n \"name\": \"MainnetZ\",\n \"url\": \"https://explorer.mainnetz.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmT5gJ5weBiLT3GoYuF5yRTRLdPLCVZ3tXznfqW7M8fxgG\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mainnetz.io\",\n \"name\": \"MainnetZ Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MainnetZ\",\n \"symbol\": \"NetZ\",\n \"decimals\": 18\n },\n \"networkId\": 2016,\n \"rpc\": [\"https://2016.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.mainnetz.io\", \"https://eu-rpc.mainnetz.io\"],\n \"shortName\": \"netz\",\n \"slug\": \"z-mainnet\",\n \"testnet\": false\n};\n\nvar c2017 = {\n \"chain\": \"TEL\",\n \"chainId\": 2017,\n \"explorers\": [{\n \"name\": \"telscan\",\n \"url\": \"https://telscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreih4obvrymfdqohzhiafhvpcy6zwqbgpfm26aahrv3qx2dtcei7hk4\",\n \"width\": 79,\n \"height\": 80,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://telcoin.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreih4obvrymfdqohzhiafhvpcy6zwqbgpfm26aahrv3qx2dtcei7hk4\",\n \"width\": 79,\n \"height\": 80,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://telcoin.network\",\n \"name\": \"Adiri\",\n \"nativeCurrency\": {\n \"name\": \"Telcoin\",\n \"symbol\": \"TEL\",\n \"decimals\": 18\n },\n \"networkId\": 2017,\n \"rpc\": [\"https://2017.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.telcoin.network\", \"https://adiri.tel\", \"https://node1.telcoin.network\", \"https://node2.telcoin.network\", \"https://node3.telcoin.network\", \"https://node4.telcoin.network\"],\n \"shortName\": \"tel\",\n \"slip44\": 1,\n \"slug\": \"adiri\",\n \"testnet\": true,\n \"title\": \"Telcoin Network Testnet\"\n};\n\nvar c2018 = {\n \"chain\": \"PublicMint\",\n \"chainId\": 2018,\n \"explorers\": [{\n \"name\": \"PublicMint Explorer\",\n \"url\": \"https://explorer.dev.publicmint.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://publicmint.com\",\n \"name\": \"PublicMint Devnet\",\n \"nativeCurrency\": {\n \"name\": \"USD\",\n \"symbol\": \"USD\",\n \"decimals\": 18\n },\n \"networkId\": 2018,\n \"rpc\": [\"https://2018.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dev.publicmint.io:8545\"],\n \"shortName\": \"pmint_dev\",\n \"slip44\": 60,\n \"slug\": \"publicmint-devnet\",\n \"testnet\": false,\n \"title\": \"Public Mint Devnet\"\n};\n\nvar c2019 = {\n \"chain\": \"PublicMint\",\n \"chainId\": 2019,\n \"explorers\": [{\n \"name\": \"PublicMint Explorer\",\n \"url\": \"https://explorer.tst.publicmint.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://publicmint.com\",\n \"name\": \"PublicMint Testnet\",\n \"nativeCurrency\": {\n \"name\": \"USD\",\n \"symbol\": \"USD\",\n \"decimals\": 18\n },\n \"networkId\": 2019,\n \"rpc\": [\"https://2019.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tst.publicmint.io:8545\"],\n \"shortName\": \"pmint_test\",\n \"slip44\": 1,\n \"slug\": \"publicmint-testnet\",\n \"testnet\": true,\n \"title\": \"Public Mint Testnet\"\n};\n\nvar c2020 = {\n \"chain\": \"PublicMint\",\n \"chainId\": 2020,\n \"explorers\": [{\n \"name\": \"PublicMint Explorer\",\n \"url\": \"https://explorer.publicmint.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://publicmint.com\",\n \"name\": \"PublicMint Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"USD\",\n \"symbol\": \"USD\",\n \"decimals\": 18\n },\n \"networkId\": 2020,\n \"rpc\": [\"https://2020.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.publicmint.io:8545\"],\n \"shortName\": \"pmint\",\n \"slip44\": 60,\n \"slug\": \"publicmint\",\n \"testnet\": false,\n \"title\": \"Public Mint Mainnet\"\n};\n\nvar c2021 = {\n \"chain\": \"EDG\",\n \"chainId\": 2021,\n \"explorers\": [{\n \"name\": \"Edgscan EdgeEVM explorer by Bharathcoorg\",\n \"url\": \"https://edgscan.live\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Edgscan EdgeWASM explorer by Bharathcoorg\",\n \"url\": \"https://edgscan.ink\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmVV7ibcq8pS44Nt77jWSLNY2RkfQooHBCZMBPSMdAfZ3d\",\n \"width\": 88,\n \"height\": 88,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmWCSXYLigYE6qEiese4cso2icgKQyosV3x1adtxJnRyJ9\",\n \"width\": 88,\n \"height\": 76,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://edgeware.io\",\n \"name\": \"Edgeware EdgeEVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Edgeware\",\n \"symbol\": \"EDG\",\n \"decimals\": 18\n },\n \"networkId\": 2021,\n \"rpc\": [\"https://2021.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://edgeware-evm.jelliedowl.net\", \"https://edgeware-evm0.jelliedowl.net\", \"https://edgeware-evm1.jelliedowl.net\", \"https://edgeware-evm2.jelliedowl.net\", \"https://edgeware-evm3.jelliedowl.net\", \"wss://edgeware.jelliedowl.net\", \"wss://edgeware-rpc0.jelliedowl.net\", \"wss://edgeware-rpc1.jelliedowl.net\", \"wss://edgeware-rpc2.jelliedowl.net\", \"wss://edgeware-rpc3.jelliedowl.net\"],\n \"shortName\": \"edg\",\n \"slip44\": 523,\n \"slug\": \"edgeware-edgeevm\",\n \"testnet\": false\n};\n\nvar c2022 = {\n \"chain\": \"EDG\",\n \"chainId\": 2022,\n \"explorers\": [{\n \"name\": \"Edgscan by Bharathcoorg\",\n \"url\": \"https://testnet.edgscan.live\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://edgeware.io/build\",\n \"name\": \"Beresheet BereEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet EDG\",\n \"symbol\": \"tEDG\",\n \"decimals\": 18\n },\n \"networkId\": 2022,\n \"rpc\": [\"https://2022.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://beresheet-evm.jelliedowl.net\", \"wss://beresheet.jelliedowl.net\"],\n \"shortName\": \"edgt\",\n \"slip44\": 1,\n \"slug\": \"beresheet-bereevm-testnet\",\n \"testnet\": true\n};\n\nvar c2023 = {\n \"chain\": \"Taycan\",\n \"chainId\": 2023,\n \"explorers\": [{\n \"name\": \"Taycan Explorer(Blockscout)\",\n \"url\": \"https://evmscan-test.hupayx.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidvjcc73v747lqlyrhgbnkvkdepdvepo6baj6hmjsmjtvdyhmzzmq\",\n \"width\": 1000,\n \"height\": 1206,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Taycan Cosmos Explorer\",\n \"url\": \"https://cosmoscan-test.hupayx.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidvjcc73v747lqlyrhgbnkvkdepdvepo6baj6hmjsmjtvdyhmzzmq\",\n \"width\": 1000,\n \"height\": 1206,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://ttaycan-faucet.hupayx.io/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreidvjcc73v747lqlyrhgbnkvkdepdvepo6baj6hmjsmjtvdyhmzzmq\",\n \"width\": 1000,\n \"height\": 1206,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hupayx.io\",\n \"name\": \"Taycan Testnet\",\n \"nativeCurrency\": {\n \"name\": \"test-Shuffle\",\n \"symbol\": \"tSFL\",\n \"decimals\": 18\n },\n \"networkId\": 2023,\n \"rpc\": [\"https://2023.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-taycan.hupayx.io\"],\n \"shortName\": \"taycan-testnet\",\n \"slip44\": 1,\n \"slug\": \"taycan-testnet\",\n \"testnet\": true\n};\n\nvar c2024 = {\n \"chain\": \"SWAN\",\n \"chainId\": 2024,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://swanchain.io/\",\n \"name\": \"Swan Saturn Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SWANETH\",\n \"symbol\": \"sETH\",\n \"decimals\": 18\n },\n \"networkId\": 2024,\n \"rpc\": [\"https://2024.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://saturn-rpc.swanchain.io\"],\n \"shortName\": \"swan\",\n \"slug\": \"swan-saturn-testnet\",\n \"testnet\": true\n};\n\nvar c2025 = {\n \"chain\": \"Rangers\",\n \"chainId\": 2025,\n \"explorers\": [{\n \"name\": \"rangersscan\",\n \"url\": \"https://scan.rangersprotocol.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXR5e5SDABWfQn6XT9uMsVYAo5Bv7vUv4jVs8DFqatZWG\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rangersprotocol.com\",\n \"name\": \"Rangers Protocol Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Rangers Protocol Gas\",\n \"symbol\": \"RPG\",\n \"decimals\": 18\n },\n \"networkId\": 2025,\n \"rpc\": [\"https://2025.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.rangersprotocol.com/api/jsonrpc\"],\n \"shortName\": \"rpg\",\n \"slip44\": 1008,\n \"slug\": \"rangers-protocol\",\n \"testnet\": false\n};\n\nvar c2026 = {\n \"chain\": \"Edgeless\",\n \"chainId\": 2026,\n \"explorers\": [{\n \"name\": \"Edgeless Explorer\",\n \"url\": \"https://explorer.edgeless.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://edgeless.network\",\n \"name\": \"Edgeless Network\",\n \"nativeCurrency\": {\n \"name\": \"Edgeless Wrapped Eth\",\n \"symbol\": \"EwEth\",\n \"decimals\": 18\n },\n \"networkId\": 2026,\n \"rpc\": [\"https://2026.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.edgeless.network/http\"],\n \"shortName\": \"edgeless\",\n \"slug\": \"edgeless-network\",\n \"testnet\": false\n};\n\nvar c2031 = {\n \"chain\": \"CFG\",\n \"chainId\": 2031,\n \"explorers\": [{\n \"name\": \"subscan\",\n \"url\": \"https://centrifuge.subscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qma2GfW5nQHuA7nGqdEfwaXPL63G9oTwRTQKaGTfjNtM2W\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmedNc3WvTm66iNK2NYW6Fzu5tx5FgNa6HCBf3DTHpzQZ1\",\n \"width\": 209,\n \"height\": 208,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://centrifuge.io\",\n \"name\": \"Centrifuge\",\n \"nativeCurrency\": {\n \"name\": \"Centrifuge\",\n \"symbol\": \"CFG\",\n \"decimals\": 18\n },\n \"networkId\": 2031,\n \"rpc\": [\"https://2031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fullnode.centrifuge.io\", \"wss://fullnode.centrifuge.io\", \"https://centrifuge-parachain.api.onfinality.io/public\", \"wss://centrifuge-parachain.api.onfinality.io/public-ws\", \"https://centrifuge-rpc.dwellir.com\", \"wss://centrifuge-rpc.dwellir.com\", \"https://rpc-centrifuge.luckyfriday.io\", \"wss://rpc-centrifuge.luckyfriday.io\"],\n \"shortName\": \"cfg\",\n \"slug\": \"centrifuge\",\n \"testnet\": false\n};\n\nvar c2032 = {\n \"chain\": \"CFG\",\n \"chainId\": 2032,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://centrifuge.io\",\n \"name\": \"Catalyst\",\n \"nativeCurrency\": {\n \"name\": \"Catalyst CFG\",\n \"symbol\": \"NCFG\",\n \"decimals\": 18\n },\n \"networkId\": 2032,\n \"rpc\": [\"wss://fullnode.catalyst.cntrfg.com\"],\n \"shortName\": \"ncfg\",\n \"slug\": \"catalyst\",\n \"testnet\": false\n};\n\nvar c2035 = {\n \"chain\": \"PHA\",\n \"chainId\": 2035,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://phala.network\",\n \"name\": \"Phala Network\",\n \"nativeCurrency\": {\n \"name\": \"Phala\",\n \"symbol\": \"PHA\",\n \"decimals\": 18\n },\n \"networkId\": 2035,\n \"rpc\": [],\n \"shortName\": \"pha\",\n \"slug\": \"phala-network\",\n \"testnet\": false\n};\n\nvar c2037 = {\n \"chain\": \"KIWI\",\n \"chainId\": 2037,\n \"explorers\": [{\n \"name\": \"KIWI Explorer\",\n \"url\": \"https://subnets-test.avax.network/kiwi\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"name\": \"Kiwi Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Shrapgas\",\n \"symbol\": \"SHRAP\",\n \"decimals\": 18\n },\n \"networkId\": 2037,\n \"rpc\": [\"https://2037.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/kiwi/testnet/rpc\"],\n \"shortName\": \"kiwi\",\n \"slip44\": 1,\n \"slug\": \"kiwi-subnet\",\n \"testnet\": true\n};\n\nvar c2038 = {\n \"chain\": \"SHRAPNEL\",\n \"chainId\": 2038,\n \"explorers\": [{\n \"name\": \"SHRAPNEL Explorer\",\n \"url\": \"https://subnets-test.avax.network/shrapnel\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.shrapnel.com/\",\n \"name\": \"Shrapnel Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SHRAPG\",\n \"symbol\": \"SHRAPG\",\n \"decimals\": 18\n },\n \"networkId\": 2038,\n \"rpc\": [\"https://2038.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/shrapnel/testnet/rpc\"],\n \"shortName\": \"shraptest\",\n \"slip44\": 1,\n \"slug\": \"shrapnel-testnet\",\n \"testnet\": true\n};\n\nvar c2039 = {\n \"chain\": \"Aleph Zero Testnet\",\n \"chainId\": 2039,\n \"explorers\": [{\n \"name\": \"Aleph Zero Testnet\",\n \"url\": \"https://test.azero.dev/#/explorer\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmbeSYW2c5pXAyEUzj8UFRdJhp5oMQzRMPqAsxJAqbGiem\",\n \"width\": 317,\n \"height\": 303,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbeSYW2c5pXAyEUzj8UFRdJhp5oMQzRMPqAsxJAqbGiem\",\n \"width\": 317,\n \"height\": 303,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.alephzero.org\",\n \"name\": \"Aleph Zero Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TZERO\",\n \"symbol\": \"TZERO\",\n \"decimals\": 18\n },\n \"networkId\": 2039,\n \"rpc\": [\"https://2039.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.alephzero-testnet.gelato.digital\", \"wss://rpc.alephzero-testnet.gelato.digital\"],\n \"shortName\": \"aleph\",\n \"slug\": \"aleph-zero-testnet\",\n \"testnet\": true\n};\n\nvar c2040 = {\n \"chain\": \"VANAR\",\n \"chainId\": 2040,\n \"explorers\": [{\n \"name\": \"Vanar Explorer\",\n \"url\": \"https://explorer.vanarchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmbx25iq4Vn4zLooPit9bbguXJzdiogwtVQWtSseyQPuSC\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmbx25iq4Vn4zLooPit9bbguXJzdiogwtVQWtSseyQPuSC\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://vanarchain.com\",\n \"name\": \"Vanar Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"VANRY\",\n \"symbol\": \"VANRY\",\n \"decimals\": 18\n },\n \"networkId\": 2040,\n \"rpc\": [\"https://2040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.vanarchain.com\", \"wss://ws.vanarchain.com\"],\n \"shortName\": \"Vanar\",\n \"slug\": \"vanar\",\n \"testnet\": false,\n \"title\": \"Vanarchain\"\n};\n\nvar c2043 = {\n \"chain\": \"NEUROWEB\",\n \"chainId\": 2043,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://neuroweb.ai\",\n \"name\": \"NeuroWeb\",\n \"nativeCurrency\": {\n \"name\": \"NeuroWeb Token\",\n \"symbol\": \"NEURO\",\n \"decimals\": 12\n },\n \"networkId\": 2043,\n \"rpc\": [\"https://2043.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://astrosat.origintrail.network\", \"wss://parachain-rpc.origin-trail.network\"],\n \"shortName\": \"NEURO\",\n \"slug\": \"neuroweb\",\n \"testnet\": false\n};\n\nvar c2044 = {\n \"chain\": \"shrapnel\",\n \"chainId\": 2044,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.shrapnel.com/\",\n \"name\": \"Shrapnel Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Shrapnel Gas Token\",\n \"symbol\": \"SHRAPG\",\n \"decimals\": 18\n },\n \"networkId\": 2044,\n \"rpc\": [\"https://2044.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/shrapnel/mainnet/rpc\"],\n \"shortName\": \"Shrapnel\",\n \"slug\": \"shrapnel-subnet\",\n \"testnet\": false\n};\n\nvar c2045 = {\n \"chain\": \"AIW3\",\n \"chainId\": 2045,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigfxcyvnx2r46a3unljb2auxeez5olbg56lbu4gkpa4me7wqoajjy\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aiw3.io/\",\n \"name\": \"AIW3 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 2045,\n \"rpc\": [],\n \"shortName\": \"AIW3\",\n \"slug\": \"aiw3\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c2047 = {\n \"chain\": \"STOS\",\n \"chainId\": 2047,\n \"explorers\": [{\n \"name\": \"Stratos EVM Explorer (Blockscout)\",\n \"url\": \"https://web3-explorer-mesos.thestratos.org\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Stratos Cosmos Explorer (BigDipper)\",\n \"url\": \"https://big-dipper-mesos.thestratos.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.thestratos.org\",\n \"name\": \"Stratos Testnet\",\n \"nativeCurrency\": {\n \"name\": \"STOS\",\n \"symbol\": \"STOS\",\n \"decimals\": 18\n },\n \"networkId\": 2047,\n \"rpc\": [\"https://2047.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://web3-rpc-mesos.thestratos.org\"],\n \"shortName\": \"stos-testnet\",\n \"slip44\": 1,\n \"slug\": \"stratos-testnet\",\n \"testnet\": true\n};\n\nvar c2048 = {\n \"chain\": \"STOS\",\n \"chainId\": 2048,\n \"explorers\": [{\n \"name\": \"Stratos EVM Explorer (Blockscout)\",\n \"url\": \"https://web3-explorer.thestratos.org\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Stratos Cosmos Explorer (BigDipper)\",\n \"url\": \"https://explorer.thestratos.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.thestratos.org\",\n \"name\": \"Stratos\",\n \"nativeCurrency\": {\n \"name\": \"STOS\",\n \"symbol\": \"STOS\",\n \"decimals\": 18\n },\n \"networkId\": 2048,\n \"rpc\": [\"https://2048.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://web3-rpc.thestratos.org\"],\n \"shortName\": \"stos-mainnet\",\n \"slug\": \"stratos\",\n \"testnet\": false\n};\n\nvar c2049 = {\n \"chain\": \"MOVO\",\n \"chainId\": 2049,\n \"explorers\": [{\n \"name\": \"movoscan\",\n \"url\": \"https://movoscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdFJMdnTvu4adiMERMP7B5ZZDwgiPmU3kU1qrUFdvHmUY\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSQGKhhBpMTM7vYpGdgMTDFyzaAN3PGG5AnmWy7KQPdSn\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://movo.uk\",\n \"name\": \"Movo Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Movo Smart Chain\",\n \"symbol\": \"MOVO\",\n \"decimals\": 18\n },\n \"networkId\": 2049,\n \"rpc\": [\"https://2049.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://msc-rpc.movoscan.com\", \"https://msc-rpc.movochain.org\", \"https://msc-rpc.movoswap.com\"],\n \"shortName\": \"movo\",\n \"slip44\": 2050,\n \"slug\": \"movo-smart-chain\",\n \"testnet\": false\n};\n\nvar c2077 = {\n \"chain\": \"Qkacoin\",\n \"chainId\": 2077,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.qkacoin.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://qkacoin.org\",\n \"name\": \"Quokkacoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Qkacoin\",\n \"symbol\": \"QKA\",\n \"decimals\": 18\n },\n \"networkId\": 2077,\n \"rpc\": [\"https://2077.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.qkacoin.org\"],\n \"shortName\": \"QKA\",\n \"slug\": \"quokkacoin\",\n \"testnet\": false\n};\n\nvar c2078 = {\n \"chain\": \"Parodychain\",\n \"chainId\": 2078,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmR2ovc7zeM7gdzpL6FdvWBEhLyE8dL1w8GWnooHEk9uEZ/parodychain-logo.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Parody Network\",\n \"nativeCurrency\": {\n \"name\": \"Parody\",\n \"symbol\": \"PDY\",\n \"decimals\": 18\n },\n \"networkId\": 2078,\n \"redFlags\": [],\n \"rpc\": [\"https://2078.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-flashbox-4392-rpc.a.stagenet.tanssi.network\"],\n \"shortName\": \"Parody\",\n \"slug\": \"parody-network\",\n \"testnet\": true\n};\n\nvar c2088 = {\n \"chain\": \"AIR\",\n \"chainId\": 2088,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSwqWxZ5HRdc25HMhEmVKxZkwSKapuuyGHb8kyrtuzxat\",\n \"width\": 210,\n \"height\": 210,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://centrifuge.io\",\n \"name\": \"Altair\",\n \"nativeCurrency\": {\n \"name\": \"Altair\",\n \"symbol\": \"AIR\",\n \"decimals\": 18\n },\n \"networkId\": 2088,\n \"rpc\": [\"wss://fullnode.altair.centrifuge.io\", \"wss://altair.api.onfinality.io/public-ws\"],\n \"shortName\": \"air\",\n \"slug\": \"altair\",\n \"testnet\": false\n};\n\nvar c2089 = {\n \"chain\": \"algol\",\n \"chainId\": 2089,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://centrifuge.io\",\n \"name\": \"Algol\",\n \"nativeCurrency\": {\n \"name\": \"Algol\",\n \"symbol\": \"ALGL\",\n \"decimals\": 18\n },\n \"networkId\": 2089,\n \"rpc\": [\"wss://fullnode.algol.cntrfg.com\"],\n \"shortName\": \"algl\",\n \"slug\": \"algol\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c2100 = {\n \"chain\": \"ECO\",\n \"chainId\": 2100,\n \"explorers\": [{\n \"name\": \"Ecoball Explorer\",\n \"url\": \"https://scan.ecoball.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ecoball.org\",\n \"name\": \"Ecoball Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ecoball Coin\",\n \"symbol\": \"ECO\",\n \"decimals\": 18\n },\n \"networkId\": 2100,\n \"rpc\": [\"https://2100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.ecoball.org/ecoball/\"],\n \"shortName\": \"eco\",\n \"slug\": \"ecoball\",\n \"testnet\": false\n};\n\nvar c2101 = {\n \"chain\": \"ECO\",\n \"chainId\": 2101,\n \"explorers\": [{\n \"name\": \"Ecoball Testnet Explorer\",\n \"url\": \"https://espuma-scan.ecoball.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ecoball.org\",\n \"name\": \"Ecoball Testnet Espuma\",\n \"nativeCurrency\": {\n \"name\": \"Espuma Coin\",\n \"symbol\": \"ECO\",\n \"decimals\": 18\n },\n \"networkId\": 2101,\n \"rpc\": [\"https://2101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.ecoball.org/espuma/\"],\n \"shortName\": \"esp\",\n \"slip44\": 1,\n \"slug\": \"ecoball-testnet-espuma\",\n \"testnet\": true\n};\n\nvar c2109 = {\n \"chain\": \"EXN\",\n \"chainId\": 2109,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.exosama.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS\",\n \"width\": 468,\n \"height\": 468,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://moonsama.com\",\n \"name\": \"Exosama Network\",\n \"nativeCurrency\": {\n \"name\": \"Sama Token\",\n \"symbol\": \"SAMA\",\n \"decimals\": 18\n },\n \"networkId\": 2109,\n \"rpc\": [\"https://2109.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.exosama.com\", \"wss://rpc.exosama.com\"],\n \"shortName\": \"exn\",\n \"slip44\": 2109,\n \"slug\": \"exosama-network\",\n \"testnet\": false\n};\n\nvar c2112 = {\n \"chain\": \"UCHAIN\",\n \"chainId\": 2112,\n \"explorers\": [{\n \"name\": \"uchain.info\",\n \"url\": \"https://uchain.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUz6jimQbYZ43aeQBC6nSy2m7W7U6xR2qG8tCki2Jvj9k\",\n \"width\": 344,\n \"height\": 342,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://u.cash/\",\n \"name\": \"UCHAIN Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"UCASH\",\n \"symbol\": \"UCASH\",\n \"decimals\": 18\n },\n \"networkId\": 2112,\n \"rpc\": [\"https://2112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.uchain.link/\"],\n \"shortName\": \"uchain\",\n \"slug\": \"uchain\",\n \"testnet\": false\n};\n\nvar c2121 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 2121,\n \"explorers\": [{\n \"name\": \"catenascan\",\n \"url\": \"https://catenascan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"M TEST 1103-2\",\n \"nativeCurrency\": {\n \"name\": \"M TEST 1103-2 Token\",\n \"symbol\": \"RJI\",\n \"decimals\": 18\n },\n \"networkId\": 2121,\n \"redFlags\": [],\n \"rpc\": [\"https://2121.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/cb82eb40-2d0d-4188-905b-d50c4b09b40b\", \"https://rpc1.catenarpc.com\"],\n \"shortName\": \"M TEST 1103-2\",\n \"slug\": \"m-test-1103-2\",\n \"testnet\": true\n};\n\nvar c2122 = {\n \"chain\": \"METAD\",\n \"chainId\": 2122,\n \"explorers\": [{\n \"name\": \"Metad Scan\",\n \"url\": \"https://scan.metaplayer.one\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZyxS9BfRGYWWDtvrV6qtthCYV4TwdjLoH2sF6MkiTYFf\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZyxS9BfRGYWWDtvrV6qtthCYV4TwdjLoH2sF6MkiTYFf\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.metaplayer.one/\",\n \"name\": \"Metaplayerone Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"METAD\",\n \"symbol\": \"METAD\",\n \"decimals\": 18\n },\n \"networkId\": 2122,\n \"rpc\": [\"https://2122.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.metaplayer.one/\"],\n \"shortName\": \"Metad\",\n \"slug\": \"metaplayerone\",\n \"testnet\": false\n};\n\nvar c2124 = {\n \"chain\": \"MP1 Dubai-Testnet\",\n \"chainId\": 2124,\n \"explorers\": [{\n \"name\": \"MP1Scan\",\n \"url\": \"https://dubai.mp1scan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.metaplayer.one/\",\n \"name\": \"Metaplayerone Dubai Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Metaunit\",\n \"symbol\": \"MEU\",\n \"decimals\": 18\n },\n \"networkId\": 2124,\n \"rpc\": [\"https://2124.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-dubai.mp1network.com/\"],\n \"shortName\": \"MEU\",\n \"slip44\": 1,\n \"slug\": \"metaplayerone-dubai-testnet\",\n \"testnet\": true\n};\n\nvar c2136 = {\n \"chain\": \"BIGSB Testnet\",\n \"chainId\": 2136,\n \"explorers\": [{\n \"name\": \"Polkadot.js\",\n \"url\": \"https://polkadot.js.org/apps/?rpc=wss://test-market.bigsb.network#/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bigshortbets.com/\",\n \"name\": \"BigShortBets Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dolarz\",\n \"symbol\": \"Dolarz\",\n \"decimals\": 18\n },\n \"networkId\": 2136,\n \"rpc\": [\"https://2136.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-market.bigsb.network\", \"wss://test-market.bigsb.network\"],\n \"shortName\": \"bigsb_testnet\",\n \"slug\": \"bigshortbets-testnet\",\n \"testnet\": true\n};\n\nvar c2137 = {\n \"chain\": \"BIGSB\",\n \"chainId\": 2137,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://bigshortbets.com/\",\n \"name\": \"BigShortBets\",\n \"nativeCurrency\": {\n \"name\": \"USD Coin\",\n \"symbol\": \"USDC\",\n \"decimals\": 18\n },\n \"networkId\": 2137,\n \"rpc\": [\"https://2137.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://market.bigsb.io\", \"wss://market.bigsb.io\"],\n \"shortName\": \"bigsb\",\n \"slug\": \"bigshortbets\",\n \"testnet\": false\n};\n\nvar c2138 = {\n \"chain\": \"dfiometatest\",\n \"chainId\": 2138,\n \"ens\": {\n \"registry\": \"0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85\"\n },\n \"explorers\": [{\n \"name\": \"Quorum Explorer\",\n \"url\": \"https://public-2138.defi-oracle.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmYrMRnjQJcNkYq9AvZ2FQ9kzYj9szzP4YDmyNA1ybd8xE\",\n \"width\": 1000,\n \"height\": 1043,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://defi-oracle.io/\",\n \"name\": \"Defi Oracle Meta Testnet\",\n \"nativeCurrency\": {\n \"name\": \"testEther\",\n \"symbol\": \"tETH\",\n \"decimals\": 18\n },\n \"networkId\": 21,\n \"rpc\": [\"https://2138.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.public-2138.defi-oracle.io\", \"wss://rpc.public-2138.defi-oracle.io\"],\n \"shortName\": \"dfio-meta-test\",\n \"slip44\": 1,\n \"slug\": \"defi-oracle-meta-testnet\",\n \"testnet\": true\n};\n\nvar c2140 = {\n \"chain\": \"Oneness\",\n \"chainId\": 2140,\n \"explorers\": [{\n \"name\": \"oneness-mainnet\",\n \"url\": \"https://scan.onenesslabs.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"name\": \"Oneness Network\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 2140,\n \"rpc\": [\"https://2140.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.onenesslabs.io/\"],\n \"shortName\": \"oneness\",\n \"slug\": \"oneness-network\",\n \"testnet\": false\n};\n\nvar c2141 = {\n \"chain\": \"Oneness-Testnet\",\n \"chainId\": 2141,\n \"explorers\": [{\n \"name\": \"oneness-testnet\",\n \"url\": \"https://scan.testnet.onenesslabs.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"name\": \"Oneness TestNet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 2141,\n \"rpc\": [\"https://2141.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.onenesslabs.io/\"],\n \"shortName\": \"oneness-testnet\",\n \"slug\": \"oneness-testnet\",\n \"testnet\": true\n};\n\nvar c2144 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 2144,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Test Subnet Resources\",\n \"nativeCurrency\": {\n \"name\": \"Test Subnet Resources Token\",\n \"symbol\": \"LNV\",\n \"decimals\": 18\n },\n \"networkId\": 2144,\n \"redFlags\": [],\n \"rpc\": [\"https://2144.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/testsubnet/testnet/rpc\"],\n \"shortName\": \"Test Subnet Resources\",\n \"slug\": \"test-subnet-resources\",\n \"testnet\": true\n};\n\nvar c2151 = {\n \"chain\": \"ETH\",\n \"chainId\": 2151,\n \"explorers\": [{\n \"name\": \"BOASCAN\",\n \"url\": \"https://boascan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3CT4SHmso5dRJdsjR8GL1qmt79HkdAebCn2uNaWXFYh\",\n \"width\": 256,\n \"height\": 257,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW3CT4SHmso5dRJdsjR8GL1qmt79HkdAebCn2uNaWXFYh\",\n \"width\": 256,\n \"height\": 257,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.bosagora.org\",\n \"name\": \"BOSagora Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BOSAGORA\",\n \"symbol\": \"BOA\",\n \"decimals\": 18\n },\n \"networkId\": 2151,\n \"rpc\": [\"https://2151.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.bosagora.org\", \"https://rpc.bosagora.org\"],\n \"shortName\": \"boa\",\n \"slug\": \"bosagora\",\n \"testnet\": false\n};\n\nvar c2152 = {\n \"chain\": \"Findora\",\n \"chainId\": 2152,\n \"explorers\": [{\n \"name\": \"findorascan\",\n \"url\": \"https://evm.findorascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://findora.org/\",\n \"name\": \"Findora Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"FRA\",\n \"symbol\": \"FRA\",\n \"decimals\": 18\n },\n \"networkId\": 2152,\n \"rpc\": [\"https://2152.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.findora.org\"],\n \"shortName\": \"fra\",\n \"slug\": \"findora\",\n \"testnet\": false\n};\n\nvar c2153 = {\n \"chain\": \"Testnet-anvil\",\n \"chainId\": 2153,\n \"explorers\": [{\n \"name\": \"findorascan\",\n \"url\": \"https://testnet-anvil.evm.findorascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://findora.org/\",\n \"name\": \"Findora Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FRA\",\n \"symbol\": \"FRA\",\n \"decimals\": 18\n },\n \"networkId\": 2153,\n \"rpc\": [\"https://2153.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://prod-testnet.prod.findora.org:8545/\"],\n \"shortName\": \"findora-testnet\",\n \"slip44\": 1,\n \"slug\": \"findora-testnet\",\n \"testnet\": true\n};\n\nvar c2154 = {\n \"chain\": \"Testnet-forge\",\n \"chainId\": 2154,\n \"explorers\": [{\n \"name\": \"findorascan\",\n \"url\": \"https://testnet-forge.evm.findorascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://findora.org/\",\n \"name\": \"Findora Forge\",\n \"nativeCurrency\": {\n \"name\": \"FRA\",\n \"symbol\": \"FRA\",\n \"decimals\": 18\n },\n \"networkId\": 2154,\n \"rpc\": [\"https://2154.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://prod-forge.prod.findora.org:8545/\"],\n \"shortName\": \"findora-forge\",\n \"slip44\": 1,\n \"slug\": \"findora-forge\",\n \"testnet\": true\n};\n\nvar c2199 = {\n \"chain\": \"MSN\",\n \"chainId\": 2199,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.moonsama.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://multiverse.moonsama.com/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS\",\n \"width\": 468,\n \"height\": 468,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://moonsama.com\",\n \"name\": \"Moonsama Network\",\n \"nativeCurrency\": {\n \"name\": \"Sama Token\",\n \"symbol\": \"SAMA\",\n \"decimals\": 18\n },\n \"networkId\": 2199,\n \"rpc\": [\"https://2199.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.moonsama.com\", \"wss://rpc.moonsama.com/ws\"],\n \"shortName\": \"msn\",\n \"slip44\": 2199,\n \"slug\": \"moonsama-network\",\n \"testnet\": false\n};\n\nvar c2202 = {\n \"chain\": \"ABN\",\n \"chainId\": 2202,\n \"explorers\": [{\n \"name\": \"Antofy Mainnet\",\n \"url\": \"https://antofyscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.antofy.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmdTfku81ohnG9ECU1Xswmeumt678cBhwHWuFYZ7i1Qsto\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://antofy.io\",\n \"name\": \"Antofy Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Antofy\",\n \"symbol\": \"ABN\",\n \"decimals\": 18\n },\n \"networkId\": 2202,\n \"rpc\": [\"https://2202.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.antofy.io\"],\n \"shortName\": \"ABNm\",\n \"slug\": \"antofy\",\n \"testnet\": false\n};\n\nvar c2203 = {\n \"chain\": \"Bitcoin EVM\",\n \"chainId\": 2203,\n \"explorers\": [{\n \"name\": \"Explorer\",\n \"url\": \"https://explorer.bitcoinevm.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreic4aq265oaf6yze7ba5okefqh6vnqudyrz6ovukvbnrlhet36itle\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreic4aq265oaf6yze7ba5okefqh6vnqudyrz6ovukvbnrlhet36itle\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bitcoinevm.com\",\n \"name\": \"Bitcoin EVM\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 2203,\n \"rpc\": [\"https://2203.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://connect.bitcoinevm.com\"],\n \"shortName\": \"BTC\",\n \"slug\": \"bitcoin-evm\",\n \"testnet\": false\n};\n\nvar c2213 = {\n \"chain\": \"EVA\",\n \"chainId\": 2213,\n \"explorers\": [{\n \"name\": \"Evanesco Explorer\",\n \"url\": \"https://explorer.evanesco.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZbmGYdfbMRrWJore3c7hyD6q7B5pXHJqTSNjbZZUK6V8\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://evanesco.org/\",\n \"name\": \"Evanesco Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EVA\",\n \"symbol\": \"EVA\",\n \"decimals\": 18\n },\n \"networkId\": 2213,\n \"rpc\": [\"https://2213.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://seed4.evanesco.org:8546\"],\n \"shortName\": \"evanesco\",\n \"slug\": \"evanesco\",\n \"testnet\": false\n};\n\nvar c2221 = {\n \"chain\": \"KAVA\",\n \"chainId\": 2221,\n \"explorers\": [{\n \"name\": \"Kava Testnet Explorer\",\n \"url\": \"http://testnet.kavascan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm\",\n \"width\": 1186,\n \"height\": 360,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://faucet.kava.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm\",\n \"width\": 1186,\n \"height\": 360,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.kava.io\",\n \"name\": \"Kava Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TKava\",\n \"symbol\": \"TKAVA\",\n \"decimals\": 18\n },\n \"networkId\": 2221,\n \"rpc\": [\"https://2221.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.testnet.kava.io\", \"wss://wevm.testnet.kava.io\", \"https://kava-testnet.drpc.org\", \"wss://kava-testnet.drpc.org\"],\n \"shortName\": \"tkava\",\n \"slug\": \"kava-testnet\",\n \"testnet\": true\n};\n\nvar c2222 = {\n \"chain\": \"KAVA\",\n \"chainId\": 2222,\n \"explorers\": [{\n \"name\": \"Kava EVM Explorer\",\n \"url\": \"https://kavascan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm\",\n \"width\": 1186,\n \"height\": 360,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdpRTk6oL1HRW9xC6cAc4Rnf9gs6zgdAcr4Z3HcLztusm\",\n \"width\": 1186,\n \"height\": 360,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.kava.io\",\n \"name\": \"Kava\",\n \"nativeCurrency\": {\n \"name\": \"Kava\",\n \"symbol\": \"KAVA\",\n \"decimals\": 18\n },\n \"networkId\": 2222,\n \"redFlags\": [],\n \"rpc\": [\"https://2222.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://kava-evm-rpc.publicnode.com\", \"wss://kava-evm-rpc.publicnode.com\", \"https://evm.kava.io\", \"wss://wevm.kava.io\", \"https://kava-rpc.gateway.pokt.network\", \"https://evm.kava-rpc.com\", \"wss://wevm.kava-rpc.com\", \"https://rpc.ankr.com/kava_evm\", \"https://kava.drpc.org\", \"wss://kava.drpc.org\"],\n \"shortName\": \"kava\",\n \"slug\": \"kava\",\n \"testnet\": false\n};\n\nvar c2223 = {\n \"chain\": \"VChain\",\n \"chainId\": 2223,\n \"explorers\": [{\n \"name\": \"VChain Scan\",\n \"url\": \"https://scan.vcex.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bo.vcex.xyz/\",\n \"name\": \"VChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"VNDT\",\n \"symbol\": \"VNDT\",\n \"decimals\": 18\n },\n \"networkId\": 2223,\n \"rpc\": [\"https://2223.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bc.vcex.xyz\"],\n \"shortName\": \"VChain\",\n \"slug\": \"vchain\",\n \"testnet\": false\n};\n\nvar c2241 = {\n \"chain\": \"Krest\",\n \"chainId\": 2241,\n \"explorers\": [{\n \"name\": \"Polkadot.js\",\n \"url\": \"https://polkadot.js.org/apps/?rpc=wss://wss-krest.peaq.network#/explorer\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Subscan\",\n \"url\": \"https://krest.subscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreid732273ib5at7krjdl2t7lteljlepwd3tvifqge7mu7g6naxavhe\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.peaq.network\",\n \"name\": \"Krest Network\",\n \"nativeCurrency\": {\n \"name\": \"Krest\",\n \"symbol\": \"KRST\",\n \"decimals\": 18\n },\n \"networkId\": 2241,\n \"rpc\": [\"https://2241.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://erpc-krest.peaq.network\", \"https://krest.unitedbloc.com\"],\n \"shortName\": \"KRST\",\n \"slug\": \"krest-network\",\n \"testnet\": false\n};\n\nvar c2300 = {\n \"chain\": \"BOMB\",\n \"chainId\": 2300,\n \"explorers\": [{\n \"name\": \"bombscan\",\n \"url\": \"https://bombscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmc44uSjfdNHdcxPTgZAL8eZ8TLe4UmSHibcvKQFyGJxTB\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc44uSjfdNHdcxPTgZAL8eZ8TLe4UmSHibcvKQFyGJxTB\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bombchain.com\",\n \"name\": \"BOMB Chain\",\n \"nativeCurrency\": {\n \"name\": \"BOMB Token\",\n \"symbol\": \"BOMB\",\n \"decimals\": 18\n },\n \"networkId\": 2300,\n \"rpc\": [\"https://2300.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bombchain.com\"],\n \"shortName\": \"bomb\",\n \"slug\": \"bomb-chain\",\n \"testnet\": false\n};\n\nvar c2306 = {\n \"chain\": \"ebro\",\n \"chainId\": 2306,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.ebrochain.com\",\n \"name\": \"Ebro Network\",\n \"nativeCurrency\": {\n \"name\": \"Ebro\",\n \"symbol\": \"ebro\",\n \"decimals\": 18\n },\n \"networkId\": 2306,\n \"rpc\": [\"https://2306.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://greendinoswap.com\"],\n \"shortName\": \"ebro\",\n \"slug\": \"ebro-network\",\n \"testnet\": false\n};\n\nvar c2309 = {\n \"chain\": \"Arevia\",\n \"chainId\": 2309,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"Arevia\",\n \"nativeCurrency\": {\n \"name\": \"Arev\",\n \"symbol\": \"ARÉV\",\n \"decimals\": 18\n },\n \"networkId\": 2309,\n \"rpc\": [],\n \"shortName\": \"arevia\",\n \"slug\": \"arevia\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c2323 = {\n \"chain\": \"SOMA\",\n \"chainId\": 2323,\n \"explorers\": [{\n \"name\": \"SOMA Testnet Explorer\",\n \"url\": \"https://testnet.somascan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmadSU2tcyvuzssDYGJ4rVLag43QLnKwcBerZR2zKLVU2N\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.somanetwork.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmadSU2tcyvuzssDYGJ4rVLag43QLnKwcBerZR2zKLVU2N\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://somanetwork.io\",\n \"name\": \"SOMA Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SMA\",\n \"symbol\": \"tSMA\",\n \"decimals\": 18\n },\n \"networkId\": 2323,\n \"rpc\": [\"https://2323.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://data-testnet-v1.somanetwork.io/\", \"https://testnet-au-server-2.somanetwork.io\", \"https://testnet-au-server-1.somanetwork.io\", \"https://testnet-sg-server-1.somanetwork.io\", \"https://testnet-sg-server-2.somanetwork.io\"],\n \"shortName\": \"sma\",\n \"slip44\": 1,\n \"slug\": \"soma-network-testnet\",\n \"testnet\": true\n};\n\nvar c2330 = {\n \"chain\": \"mainnet\",\n \"chainId\": 2330,\n \"explorers\": [{\n \"name\": \"expedition\",\n \"url\": \"http://expedition.altcoinchain.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYwHmGC9CRVcKo1LSesqxU31SDj9vk2iQxcFjQArzhix4\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYwHmGC9CRVcKo1LSesqxU31SDj9vk2iQxcFjQArzhix4\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://altcoinchain.org\",\n \"name\": \"Altcoinchain\",\n \"nativeCurrency\": {\n \"name\": \"Altcoin\",\n \"symbol\": \"ALT\",\n \"decimals\": 18\n },\n \"networkId\": 2330,\n \"rpc\": [\"https://2330.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc0.altcoinchain.org/rpc\"],\n \"shortName\": \"alt\",\n \"slug\": \"altcoinchain\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c2331 = {\n \"chain\": \"RSS3\",\n \"chainId\": 2331,\n \"explorers\": [{\n \"name\": \"RSS3 VSL Sepolia Testnet Scan\",\n \"url\": \"https://scan.testnet.rss3.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTE6hnMTQaGU8Fm7nQbeTqQ5Ha3kyLKHR6QTd59prP2mC\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://rss3.io\",\n \"name\": \"RSS3 VSL Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"RSS3\",\n \"symbol\": \"RSS3\",\n \"decimals\": 18\n },\n \"networkId\": 2331,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://explorer.testnet.rss3.io/bridge\"\n }]\n },\n \"rpc\": [\"https://2331.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.rss3.io\"],\n \"shortName\": \"rss3-testnet\",\n \"slug\": \"rss3-vsl-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c2332 = {\n \"chain\": \"SOMA\",\n \"chainId\": 2332,\n \"explorers\": [{\n \"name\": \"SOMA Explorer Mainnet\",\n \"url\": \"https://somascan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmadSU2tcyvuzssDYGJ4rVLag43QLnKwcBerZR2zKLVU2N\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://airdrop.somanetwork.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmadSU2tcyvuzssDYGJ4rVLag43QLnKwcBerZR2zKLVU2N\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://somanetwork.io\",\n \"name\": \"SOMA Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Soma Native Token\",\n \"symbol\": \"SMA\",\n \"decimals\": 18\n },\n \"networkId\": 2332,\n \"rpc\": [\"https://2332.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://data-mainnet-v1.somanetwork.io/\", \"https://id-mainnet.somanetwork.io\", \"https://hk-mainnet.somanetwork.io\", \"https://sg-mainnet.somanetwork.io\"],\n \"shortName\": \"smam\",\n \"slug\": \"soma-network\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c2340 = {\n \"chain\": \"Atleta\",\n \"chainId\": 2340,\n \"explorers\": [{\n \"name\": \"Atleta Olympia Explorer\",\n \"url\": \"https://blockscout.atleta.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmV2JVr4FCcb6aRiUoA3wS5erLoxtLBLonQ1Nvz8fNuEcR\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Atleta Olympia Polka Explorer\",\n \"url\": \"https://polkadot-explorer.atleta.network/#/explorer\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmV2JVr4FCcb6aRiUoA3wS5erLoxtLBLonQ1Nvz8fNuEcR\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://app-olympia.atleta.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmV2JVr4FCcb6aRiUoA3wS5erLoxtLBLonQ1Nvz8fNuEcR\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://atleta.network\",\n \"name\": \"Atleta Olympia\",\n \"nativeCurrency\": {\n \"name\": \"Atla\",\n \"symbol\": \"ATLA\",\n \"decimals\": 18\n },\n \"networkId\": 2340,\n \"rpc\": [\"https://2340.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"wss://testnet-rpc.atleta.network:9944\", \"https://testnet-rpc.atleta.network:9944\", \"https://testnet-rpc.atleta.network\"],\n \"shortName\": \"atla\",\n \"slip44\": 1,\n \"slug\": \"atleta-olympia\",\n \"testnet\": true\n};\n\nvar c2342 = {\n \"chain\": \"OMNIA\",\n \"chainId\": 2342,\n \"explorers\": [{\n \"name\": \"OmniaVerse Explorer\",\n \"url\": \"https://scan.omniaverse.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.omniaverse.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmdNQMFxcjB9PAP1LZVqaQmyppV5QGTqXXmbBeQyaTUpMM\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.omniaverse.io\",\n \"name\": \"Omnia Chain\",\n \"nativeCurrency\": {\n \"name\": \"Omnia\",\n \"symbol\": \"OMNIA\",\n \"decimals\": 18\n },\n \"networkId\": 2342,\n \"rpc\": [\"https://2342.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.omniaverse.io\"],\n \"shortName\": \"omnia\",\n \"slug\": \"omnia-chain\",\n \"testnet\": false\n};\n\nvar c2355 = {\n \"chain\": \"Silicon\",\n \"chainId\": 2355,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTEnk2fosqbY6HQW5vySrLGbopJfeni9ThZ6R9sVefbnq\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"name\": \"Silicon zkEVM\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2355,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": []\n },\n \"rpc\": [],\n \"shortName\": \"silicon-zk\",\n \"slug\": \"silicon-zkevm\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Silicon zkEVM Mainnet\"\n};\n\nvar c2357 = {\n \"chain\": \"ETH\",\n \"chainId\": 2357,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.sepolia-deprecated.kroma.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://kroma.network\",\n \"name\": \"(deprecated) Kroma Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2357,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://kroma.network/bridge\"\n }]\n },\n \"rpc\": [\"https://2357.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.sepolia-deprecated.kroma.network\"],\n \"shortName\": \"deprecated-kroma-sepolia\",\n \"slip44\": 1,\n \"slug\": \"deprecated-kroma-sepolia\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"(deprecated) Kroma Testnet Sepolia\"\n};\n\nvar c2358 = {\n \"chain\": \"ETH\",\n \"chainId\": 2358,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.sepolia.kroma.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVpV2WET6ZrqnvvPfE9hCwoE2y5ygbPuniuugpaRoxrho\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://kroma.network\",\n \"name\": \"Kroma Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2358,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://kroma.network/bridge\"\n }]\n },\n \"rpc\": [\"https://2358.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.sepolia.kroma.network\"],\n \"shortName\": \"kroma-sepolia\",\n \"slip44\": 1,\n \"slug\": \"kroma-sepolia\",\n \"testnet\": true,\n \"title\": \"Kroma Testnet Sepolia\"\n};\n\nvar c2370 = {\n \"chain\": \"Nexis Network\",\n \"chainId\": 2370,\n \"explorers\": [{\n \"name\": \"Nexis Testnet Explorer\",\n \"url\": \"https://evm-testnet.nexscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://evm-faucet.nexis.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmdJwWuMgbhoZhgFM4zWrZne6qs5ktcL1vBLKX12VGgALM\",\n \"width\": 1892,\n \"height\": 1892,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nexis.network/\",\n \"name\": \"Nexis Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Nexis\",\n \"symbol\": \"NZT\",\n \"decimals\": 18\n },\n \"networkId\": 2370,\n \"rpc\": [\"https://2370.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-testnet.nexis.network\"],\n \"shortName\": \"nzt\",\n \"slug\": \"nexis-network-testnet\",\n \"testnet\": true\n};\n\nvar c2399 = {\n \"chain\": \"BOMB\",\n \"chainId\": 2399,\n \"explorers\": [{\n \"name\": \"bombscan-testnet\",\n \"url\": \"https://explorer.bombchain-testnet.ankr.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmc44uSjfdNHdcxPTgZAL8eZ8TLe4UmSHibcvKQFyGJxTB\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.bombchain-testnet.ankr.com/\"],\n \"icon\": {\n \"url\": \"ipfs://Qmc44uSjfdNHdcxPTgZAL8eZ8TLe4UmSHibcvKQFyGJxTB\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bombmoney.com\",\n \"name\": \"BOMB Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BOMB Token\",\n \"symbol\": \"tBOMB\",\n \"decimals\": 18\n },\n \"networkId\": 2399,\n \"rpc\": [\"https://2399.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bombchain-testnet.ankr.com/bas_full_rpc_1\"],\n \"shortName\": \"bombt\",\n \"slip44\": 1,\n \"slug\": \"bomb-chain-testnet\",\n \"testnet\": true\n};\n\nvar c2400 = {\n \"chain\": \"TCG Verse\",\n \"chainId\": 2400,\n \"explorers\": [{\n \"name\": \"TCG Verse Explorer\",\n \"url\": \"https://explorer.tcgverse.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe\",\n \"width\": 350,\n \"height\": 350,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://tcgverse.xyz/\",\n \"name\": \"TCG Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 2400,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://2400.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tcgverse.xyz\"],\n \"shortName\": \"TCGV\",\n \"slug\": \"tcg-verse\",\n \"testnet\": false\n};\n\nvar c2410 = {\n \"chain\": \"Karak\",\n \"chainId\": 2410,\n \"explorers\": [{\n \"name\": \"Karak Mainnet Explorer\",\n \"url\": \"https://explorer.karak.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRvHRuhfQgDRyGgt6vCoHqjZW2Dir7siowYnBpR5BRSej\",\n \"width\": 1080,\n \"height\": 1080,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://karak.network\",\n \"name\": \"Karak Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2410,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\"\n },\n \"rpc\": [\"https://2410.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.karak.network\"],\n \"shortName\": \"karak-mainnet\",\n \"slug\": \"karak\",\n \"testnet\": false\n};\n\nvar c2415 = {\n \"chain\": \"XODEX\",\n \"chainId\": 2415,\n \"explorers\": [{\n \"name\": \"XODEX Explorer\",\n \"url\": \"https://explorer.xo-dex.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXt49jPfHUmDF4n8TF7ks6txiPztx6qUHanWmHnCoEAhW\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXt49jPfHUmDF4n8TF7ks6txiPztx6qUHanWmHnCoEAhW\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xo-dex.com\",\n \"name\": \"XODEX\",\n \"nativeCurrency\": {\n \"name\": \"XODEX Native Token\",\n \"symbol\": \"XODEX\",\n \"decimals\": 18\n },\n \"networkId\": 10,\n \"rpc\": [\"https://2415.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.xo-dex.com/rpc\", \"https://xo-dex.io\"],\n \"shortName\": \"xodex\",\n \"slug\": \"xodex\",\n \"testnet\": false\n};\n\nvar c2425 = {\n \"chain\": \"KOL\",\n \"chainId\": 2425,\n \"explorers\": [{\n \"name\": \"King Of Legends Devnet Explorer\",\n \"url\": \"https://devnet.kingscan.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTZFXhYJboYE9fbaeje12iTF3QPLn6xgyFgrDVe2isDBH\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTZFXhYJboYE9fbaeje12iTF3QPLn6xgyFgrDVe2isDBH\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kingoflegends.net/\",\n \"name\": \"King Of Legends Devnet\",\n \"nativeCurrency\": {\n \"name\": \"King Of Legends\",\n \"symbol\": \"KOL\",\n \"decimals\": 18\n },\n \"networkId\": 2425,\n \"rpc\": [\"https://2425.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-devnet.kinggamer.org/\"],\n \"shortName\": \"kol\",\n \"slip44\": 1,\n \"slug\": \"king-of-legends-devnet\",\n \"testnet\": false,\n \"title\": \"King Of Legends Devnet\"\n};\n\nvar c2442 = {\n \"chain\": \"Polygon\",\n \"chainId\": 2442,\n \"explorers\": [{\n \"name\": \"polygonscan\",\n \"url\": \"https://cardona-zkevm.polygonscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNmJZkQgx9RcFLS3rvxQTVYcPfyAFPr667keHTUxB9PDv\",\n \"width\": 122,\n \"height\": 135,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polygon.technology/polygon-zkevm\",\n \"name\": \"Polygon zkEVM Cardona Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2442,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge-ui.cardona.zkevm-rpc.com\"\n }]\n },\n \"rpc\": [\"https://2442.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.cardona.zkevm-rpc.com\"],\n \"shortName\": \"zkevm-testnet-cardona\",\n \"slug\": \"polygon-zkevm-cardona-testnet\",\n \"testnet\": true,\n \"title\": \"Polygon zkEVM Cardona Testnet\"\n};\n\nvar c2458 = {\n \"chain\": \"HYBRID\",\n \"chainId\": 2458,\n \"explorers\": [{\n \"name\": \"Hybrid Chain Explorer Testnet\",\n \"url\": \"https://testnet.hybridscan.ai\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmQDNdhPvCrrijEKC3G9Px5if2CHgdxq7Q2Pg66cy9xwbF\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.hybridchain.ai\"],\n \"icon\": {\n \"url\": \"ipfs://QmQDNdhPvCrrijEKC3G9Px5if2CHgdxq7Q2Pg66cy9xwbF\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hybridchain.ai\",\n \"name\": \"Hybrid Chain Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Hybrid Chain Native Token\",\n \"symbol\": \"tHRC\",\n \"decimals\": 18\n },\n \"networkId\": 2458,\n \"rpc\": [\"https://2458.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.hybridchain.ai/\"],\n \"shortName\": \"thrc\",\n \"slip44\": 1,\n \"slug\": \"hybrid-chain-network-testnet\",\n \"testnet\": true\n};\n\nvar c2468 = {\n \"chain\": \"HYBRID\",\n \"chainId\": 2468,\n \"explorers\": [{\n \"name\": \"Hybrid Chain Explorer Mainnet\",\n \"url\": \"https://hybridscan.ai\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmQDNdhPvCrrijEKC3G9Px5if2CHgdxq7Q2Pg66cy9xwbF\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.hybridchain.ai\"],\n \"icon\": {\n \"url\": \"ipfs://QmQDNdhPvCrrijEKC3G9Px5if2CHgdxq7Q2Pg66cy9xwbF\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hybridchain.ai\",\n \"name\": \"Hybrid Chain Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Hybrid Chain Native Token\",\n \"symbol\": \"HRC\",\n \"decimals\": 18\n },\n \"networkId\": 2468,\n \"rpc\": [\"https://2468.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://coredata-mainnet.hybridchain.ai/\", \"https://rpc-mainnet.hybridchain.ai\"],\n \"shortName\": \"hrc\",\n \"slug\": \"hybrid-chain-network\",\n \"testnet\": true\n};\n\nvar c2484 = {\n \"chain\": \"u2u\",\n \"chainId\": 2484,\n \"explorers\": [{\n \"name\": \"U2U Explorer\",\n \"url\": \"https://testnet.u2uscan.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmcW64RgqQVHnNbVFyfaMNKt7dJvFqEbfEHZmeyeK8dpEa\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.uniultra.xyz\"],\n \"icon\": {\n \"url\": \"ipfs://QmcW64RgqQVHnNbVFyfaMNKt7dJvFqEbfEHZmeyeK8dpEa\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://uniultra.xyz\",\n \"name\": \"Unicorn Ultra Nebulas Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Unicorn Ultra Nebulas Testnet\",\n \"symbol\": \"U2U\",\n \"decimals\": 18\n },\n \"networkId\": 2484,\n \"rpc\": [\"https://2484.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-nebulas-testnet.uniultra.xyz\"],\n \"shortName\": \"u2u_nebulas\",\n \"slip44\": 1,\n \"slug\": \"unicorn-ultra-nebulas-testnet\",\n \"testnet\": true\n};\n\nvar c2511 = {\n \"chain\": \"Karak\",\n \"chainId\": 2511,\n \"explorers\": [{\n \"name\": \"Karak Goerli Explorer\",\n \"url\": \"https://goerli.scan.karak.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRvHRuhfQgDRyGgt6vCoHqjZW2Dir7siowYnBpR5BRSej\",\n \"width\": 1080,\n \"height\": 1080,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://karak.network\",\n \"name\": \"Karak Goerli\",\n \"nativeCurrency\": {\n \"name\": \"Karak\",\n \"symbol\": \"KRK\",\n \"decimals\": 18\n },\n \"networkId\": 2511,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\"\n },\n \"rpc\": [\"https://2511.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.node1.karak.network\"],\n \"shortName\": \"karak-goerli\",\n \"slug\": \"karak-goerli\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c2522 = {\n \"chain\": \"FRAX\",\n \"chainId\": 2522,\n \"explorers\": [{\n \"name\": \"fraxscan\",\n \"url\": \"https://holesky.fraxscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQLJk5G7zF8ZDxSxkRcpHqEqcifrJEhGmEKC6zwyPXWAw/fraxchain.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"PNG\"\n },\n \"infoURL\": \"https://testnet.frax.com\",\n \"name\": \"Fraxtal Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Frax Ether\",\n \"symbol\": \"frxETH\",\n \"decimals\": 18\n },\n \"networkId\": 2522,\n \"redFlags\": [],\n \"rpc\": [\"https://2522.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.frax.com\"],\n \"shortName\": \"fraxtal-testnet\",\n \"slip44\": 1,\n \"slug\": \"fraxtal-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c2525 = {\n \"chain\": \"inEVM\",\n \"chainId\": 2525,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmU9KU1qgReJR7vyVxN5zwWB3nkhSs658ViArUjT7GCh4r\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://inevm.com\",\n \"name\": \"inEVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Injective\",\n \"symbol\": \"INJ\",\n \"decimals\": 18\n },\n \"networkId\": 2525,\n \"rpc\": [\"https://2525.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.rpc.inevm.com/http\"],\n \"shortName\": \"inevm\",\n \"slug\": \"inevm\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c2559 = {\n \"chain\": \"Kortho Chain\",\n \"chainId\": 2559,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.kortho.io/\",\n \"name\": \"Kortho Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KorthoChain\",\n \"symbol\": \"KTO\",\n \"decimals\": 11\n },\n \"networkId\": 2559,\n \"rpc\": [\"https://2559.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://www.kortho-chain.com\"],\n \"shortName\": \"ktoc\",\n \"slug\": \"kortho\",\n \"testnet\": false\n};\n\nvar c2569 = {\n \"chain\": \"TPC\",\n \"chainId\": 2569,\n \"explorers\": [{\n \"name\": \"tpcscan\",\n \"url\": \"https://tpcscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQyTyJUnhD1dca35Vyj96pm3v3Xyw8xbG9m8HXHw3k2zR\",\n \"width\": 578,\n \"height\": 701,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQyTyJUnhD1dca35Vyj96pm3v3Xyw8xbG9m8HXHw3k2zR\",\n \"width\": 578,\n \"height\": 701,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://techpay.io/\",\n \"name\": \"TechPay Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TechPay\",\n \"symbol\": \"TPC\",\n \"decimals\": 18\n },\n \"networkId\": 2569,\n \"rpc\": [\"https://2569.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.techpay.io/\"],\n \"shortName\": \"tpc\",\n \"slug\": \"techpay\",\n \"testnet\": false\n};\n\nvar c2606 = {\n \"chain\": \"CRC\",\n \"chainId\": 2606,\n \"explorers\": [{\n \"name\": \"Lite Explorer\",\n \"url\": \"https://ethereum-pocr.github.io/explorer/pocrnet\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRLwpq47tyEd3rfK4tKRhbTvyb3fc7PCutExnL1XAb37A\",\n \"width\": 334,\n \"height\": 360,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRLwpq47tyEd3rfK4tKRhbTvyb3fc7PCutExnL1XAb37A\",\n \"width\": 334,\n \"height\": 360,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/ethereum-pocr/pocrnet\",\n \"name\": \"PoCRNet\",\n \"nativeCurrency\": {\n \"name\": \"Climate awaReness Coin\",\n \"symbol\": \"CRC\",\n \"decimals\": 18\n },\n \"networkId\": 2606,\n \"rpc\": [\"https://2606.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pocrnet.westeurope.cloudapp.azure.com/http\", \"wss://pocrnet.westeurope.cloudapp.azure.com/ws\"],\n \"shortName\": \"pocrnet\",\n \"slug\": \"pocrnet\",\n \"status\": \"active\",\n \"testnet\": false,\n \"title\": \"Proof of Climate awaReness mainnet\"\n};\n\nvar c2611 = {\n \"chain\": \"REDLC\",\n \"chainId\": 2611,\n \"explorers\": [{\n \"name\": \"REDLC Explorer\",\n \"url\": \"https://redlightscan.finance\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://redlight.finance/\",\n \"name\": \"Redlight Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Redlight Coin\",\n \"symbol\": \"REDLC\",\n \"decimals\": 18\n },\n \"networkId\": 2611,\n \"rpc\": [\"https://2611.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed2.redlightscan.finance\"],\n \"shortName\": \"REDLC\",\n \"slug\": \"redlight-chain\",\n \"testnet\": false\n};\n\nvar c2612 = {\n \"chain\": \"EZC\",\n \"chainId\": 2612,\n \"explorers\": [{\n \"name\": \"ezchain\",\n \"url\": \"https://cchain-explorer.ezchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPKJbYCFjGmY9X2cA4b9YQjWYHQncmKnFtKyQh9rHkFTb\",\n \"width\": 146,\n \"height\": 48,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ezchain.com\",\n \"name\": \"EZChain C-Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EZChain\",\n \"symbol\": \"EZC\",\n \"decimals\": 18\n },\n \"networkId\": 2612,\n \"rpc\": [\"https://2612.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.ezchain.com/ext/bc/C/rpc\"],\n \"shortName\": \"EZChain\",\n \"slug\": \"ezchain-c-chain\",\n \"testnet\": false\n};\n\nvar c2613 = {\n \"chain\": \"EZC\",\n \"chainId\": 2613,\n \"explorers\": [{\n \"name\": \"ezchain\",\n \"url\": \"https://testnet-cchain-explorer.ezchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet-faucet.ezchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmPKJbYCFjGmY9X2cA4b9YQjWYHQncmKnFtKyQh9rHkFTb\",\n \"width\": 146,\n \"height\": 48,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ezchain.com\",\n \"name\": \"EZChain C-Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"EZChain\",\n \"symbol\": \"EZC\",\n \"decimals\": 18\n },\n \"networkId\": 2613,\n \"rpc\": [\"https://2613.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-api.ezchain.com/ext/bc/C/rpc\"],\n \"shortName\": \"Fuji-EZChain\",\n \"slip44\": 1,\n \"slug\": \"ezchain-c-chain-testnet\",\n \"testnet\": true\n};\n\nvar c2625 = {\n \"chain\": \"WBT\",\n \"chainId\": 2625,\n \"explorers\": [{\n \"name\": \"whitechain-testnet-explorer\",\n \"url\": \"https://testnet.whitechain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet.whitechain.io/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmNeELax6vjkR9WZVmtggk8cam9xHVABZ4WvQyqkGCJ5qf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://whitechain.io\",\n \"name\": \"Whitechain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"WhiteBIT Coin\",\n \"symbol\": \"WBT\",\n \"decimals\": 18\n },\n \"networkId\": 2625,\n \"rpc\": [\"https://2625.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.whitechain.io\"],\n \"shortName\": \"twbt\",\n \"slip44\": 1,\n \"slug\": \"whitechain-testnet\",\n \"testnet\": true\n};\n\nvar c2648 = {\n \"chain\": \"AILayer\",\n \"chainId\": 2648,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet-explorer.ailayer.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYoqc8rm8PrBg9jqfpsrxd6zdPEqDozbyNVMkBo3QMAFP\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYoqc8rm8PrBg9jqfpsrxd6zdPEqDozbyNVMkBo3QMAFP\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ailayer.xyz/\",\n \"name\": \"AILayer Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 2648,\n \"rpc\": [\"https://2648.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.ailayer.xyz\", \"wss://testnet-rpc.ailayer.xyz\"],\n \"shortName\": \"ailayer-testnet\",\n \"slug\": \"ailayer-testnet\",\n \"testnet\": true\n};\n\nvar c2649 = {\n \"chain\": \"AILayer\",\n \"chainId\": 2649,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://mainnet-explorer.ailayer.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYoqc8rm8PrBg9jqfpsrxd6zdPEqDozbyNVMkBo3QMAFP\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYoqc8rm8PrBg9jqfpsrxd6zdPEqDozbyNVMkBo3QMAFP\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ailayer.xyz/\",\n \"name\": \"AILayer Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 2649,\n \"rpc\": [\"https://2649.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.ailayer.xyz\", \"wss://mainnet-rpc.ailayer.xyz\"],\n \"shortName\": \"ailayer-mainnet\",\n \"slug\": \"ailayer\",\n \"testnet\": false\n};\n\nvar c2662 = {\n \"chain\": \"ETH\",\n \"chainId\": 2662,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTYgeN1E3GGXnMF2oa43v2ehX2bYqrHPrGQ9xbBMXy1we\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://apexlayer.xyz/\",\n \"name\": \"APEX\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2662,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\"\n },\n \"rpc\": [],\n \"shortName\": \"apexmainnet\",\n \"slug\": \"apex\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c2710 = {\n \"chain\": \"ETH\",\n \"chainId\": 2710,\n \"explorers\": [{\n \"name\": \"Morph Testnet Explorer\",\n \"url\": \"https://explorer-testnet.morphl2.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://morphl2.io\",\n \"name\": \"Morph Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2710,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge-testnet.morphl2.io\"\n }]\n },\n \"rpc\": [\"https://2710.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.morphl2.io\"],\n \"shortName\": \"tmorph\",\n \"slip44\": 1,\n \"slug\": \"morph-testnet\",\n \"testnet\": true\n};\n\nvar c2715 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 2715,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3583\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3583 Token\",\n \"symbol\": \"XDR\",\n \"decimals\": 18\n },\n \"networkId\": 2715,\n \"redFlags\": [],\n \"rpc\": [\"https://2715.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3583\",\n \"slug\": \"qauser3583\",\n \"testnet\": true\n};\n\nvar c2718 = {\n \"chain\": \"K-LAOS\",\n \"chainId\": 2718,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.klaos.laosfoundation.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW26eoxJeyUfikZ4DUT1Gfk78sBkvydEo8QzHa1BXjUUL\",\n \"width\": 580,\n \"height\": 580,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW26eoxJeyUfikZ4DUT1Gfk78sBkvydEo8QzHa1BXjUUL\",\n \"width\": 580,\n \"height\": 580,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.laosfoundation.io/\",\n \"name\": \"K-LAOS\",\n \"nativeCurrency\": {\n \"name\": \"KLAOS\",\n \"symbol\": \"KLAOS\",\n \"decimals\": 18\n },\n \"networkId\": 2718,\n \"rpc\": [\"https://2718.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.klaos.laosfoundation.io\", \"wss://rpc.klaos.laosfoundation.io\"],\n \"shortName\": \"k-laos\",\n \"slug\": \"k-laos\",\n \"testnet\": false,\n \"title\": \"K-LAOS: LAOS on Kusama\"\n};\n\nvar c2730 = {\n \"chain\": \"XR Sepolia\",\n \"chainId\": 2730,\n \"explorers\": [{\n \"name\": \"XR Sepolia Explorer\",\n \"url\": \"https://xr-sepolia-testnet.explorer.caldera.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmRdBsZF2sgWitedT5qAtBZwrYwY1xecHN9u5fgddqA1eL/xr-sepolia.png\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xr-one.gitbook.io\",\n \"name\": \"XR Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"tXR\",\n \"symbol\": \"tXR\",\n \"decimals\": 18\n },\n \"networkId\": 2730,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-421614\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://2730.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://xr-sepolia-testnet.rpc.caldera.xyz/infra-partner-http\", \"https://xr-sepolia-testnet.rpc.caldera.xyz/http\"],\n \"shortName\": \"xr-sepolia\",\n \"slip44\": 60,\n \"slug\": \"xr-sepolia\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c2731 = {\n \"chain\": \"Elizabeth\",\n \"chainId\": 2731,\n \"explorers\": [{\n \"name\": \"Time Network Explorer\",\n \"url\": \"https://testnet-scanner.timenetwork.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidoudwo453gr3hoxpreleguga73rm55yl6vuedxrfmhknljppqbiu\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidoudwo453gr3hoxpreleguga73rm55yl6vuedxrfmhknljppqbiu\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://whitepaper.anttime.net/overview/anttime\",\n \"name\": \"Elizabeth Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TIME\",\n \"symbol\": \"TIME\",\n \"decimals\": 18\n },\n \"networkId\": 2731,\n \"rpc\": [\"https://2731.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.timenetwork.io\"],\n \"shortName\": \"TIME\",\n \"slug\": \"elizabeth-testnet\",\n \"testnet\": true\n};\n\nvar c2748 = {\n \"chain\": \"ETH\",\n \"chainId\": 2748,\n \"explorers\": [{\n \"name\": \"Nanon Rollup Explorer\",\n \"url\": \"https://explorer.nanon.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiduib2fygrwziqpy4yuqr6vvnd6elhahpigbcowcipjjhk6c3qiny\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nanon.network\",\n \"name\": \"Nanon\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2748,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.nanon.network\"\n }]\n },\n \"rpc\": [\"https://2748.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.nanon.network\"],\n \"shortName\": \"Nanon\",\n \"slip44\": 1,\n \"slug\": \"nanon\",\n \"testnet\": false,\n \"title\": \"Nanon Rollup\"\n};\n\nvar c2777 = {\n \"chain\": \"GM Network Mainnet\",\n \"chainId\": 2777,\n \"explorers\": [{\n \"name\": \"GM Network Mainnet Explorer\",\n \"url\": \"https://scan.gmnetwork.ai\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gmnetwork.ai\",\n \"name\": \"GM Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2777,\n \"rpc\": [\"https://2777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gmnetwork.ai\"],\n \"shortName\": \"gmnetwork-mainnet\",\n \"slug\": \"gm-network\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c2810 = {\n \"chain\": \"ETH\",\n \"chainId\": 2810,\n \"explorers\": [{\n \"name\": \"Morph Holesky Testnet Explorer\",\n \"url\": \"https://explorer-holesky.morphl2.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://morphl2.io\",\n \"name\": \"Morph Holesky\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2810,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge-holesky.morphl2.io\"\n }]\n },\n \"rpc\": [\"https://2810.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-quicknode-holesky.morphl2.io\", \"wss://rpc-quicknode-holesky.morphl2.io\", \"https://rpc-holesky.morphl2.io\"],\n \"shortName\": \"hmorph\",\n \"slip44\": 1,\n \"slug\": \"morph-holesky\",\n \"testnet\": true,\n \"title\": \"Morph Holesky Testnet\"\n};\n\nvar c2828 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 2828,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Cohan's Testnet 1\",\n \"nativeCurrency\": {\n \"name\": \"Cohan's Testnet 1 Token\",\n \"symbol\": \"FQC\",\n \"decimals\": 18\n },\n \"networkId\": 2828,\n \"redFlags\": [],\n \"rpc\": [\"https://2828.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/a6eec829-2c08-4264-b0d7-6d393997e9a6\"],\n \"shortName\": \"Cohan's Testnet 1\",\n \"slug\": \"cohan-s-testnet-1\",\n \"testnet\": true\n};\n\nvar c2864 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 2864,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0613I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0613I1 Token\",\n \"symbol\": \"NPQ\",\n \"decimals\": 18\n },\n \"networkId\": 2864,\n \"redFlags\": [],\n \"rpc\": [\"https://2864.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0613I1\",\n \"slug\": \"qi0613i1\",\n \"testnet\": true\n};\n\nvar c2888 = {\n \"chain\": \"ETH\",\n \"chainId\": 2888,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://testnet.bobascan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba Network Goerli Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Goerli Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2888,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://gateway.boba.network\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://2888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.boba.network/\", \"wss://wss.goerli.boba.network/\"],\n \"shortName\": \"BobaGoerli\",\n \"slip44\": 1,\n \"slug\": \"boba-network-goerli-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c2907 = {\n \"chain\": \"ELUX\",\n \"chainId\": 2907,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://eluxscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQC7LzzFj8kL71a1MXRgn3TSeRrgF1tTuVEzvWx5cQjv1\",\n \"width\": 114,\n \"height\": 132,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eluxscan.com\",\n \"name\": \"Elux Chain\",\n \"nativeCurrency\": {\n \"name\": \"Elux Chain\",\n \"symbol\": \"ELUX\",\n \"decimals\": 18\n },\n \"networkId\": 2907,\n \"rpc\": [\"https://2907.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.eluxscan.com\"],\n \"shortName\": \"ELUX\",\n \"slug\": \"elux-chain\",\n \"testnet\": false\n};\n\nvar c2911 = {\n \"chain\": \"2911\",\n \"chainId\": 2911,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.hychain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmcSJmAfk3iay6uCGJxgUPd9pTsRxbtF4BrNnC5txE9cg8\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcSJmAfk3iay6uCGJxgUPd9pTsRxbtF4BrNnC5txE9cg8\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://www.hychain.com\",\n \"name\": \"HYCHAIN\",\n \"nativeCurrency\": {\n \"name\": \"TOPIA\",\n \"symbol\": \"TOPIA\",\n \"decimals\": 18\n },\n \"networkId\": 2911,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.hychain.com\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://2911.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.hychain.com/http\"],\n \"shortName\": \"hychain\",\n \"slug\": \"hychain\",\n \"testnet\": true\n};\n\nvar c2941 = {\n \"chain\": \"XEN\",\n \"chainId\": 2941,\n \"explorers\": [{\n \"name\": \"Xenon testnet Explorer\",\n \"url\": \"https://testnet.xenonchain.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://xfaucet.xenonchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmNSoxDnj6MV8mPJWiuzzLbATcbk5op11NTwMTdzcr272F\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xenonchain.com\",\n \"name\": \"Xenon Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Xenon Testnet\",\n \"symbol\": \"tXEN\",\n \"decimals\": 18\n },\n \"networkId\": 2941,\n \"rpc\": [\"https://2941.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-chain.xenonchain.com/\", \"https://testnet-dev.xenonchain.com/\"],\n \"shortName\": \"xenon\",\n \"slip44\": 1,\n \"slug\": \"xenon-chain-testnet\",\n \"testnet\": true\n};\n\nvar c2999 = {\n \"chain\": \"BTY\",\n \"chainId\": 2999,\n \"explorers\": [{\n \"name\": \"BitYuan Block Chain Explorer\",\n \"url\": \"https://mainnet.bityuan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUmJVof2m5e4HUXb3GmijWUFsLUNhrQiwwQG3CqcXEtHt\",\n \"width\": 91,\n \"height\": 24,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bityuan.com\",\n \"name\": \"BitYuan Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTY\",\n \"symbol\": \"BTY\",\n \"decimals\": 18\n },\n \"networkId\": 2999,\n \"rpc\": [\"https://2999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.bityuan.com/eth\"],\n \"shortName\": \"bty\",\n \"slug\": \"bityuan\",\n \"testnet\": false\n};\n\nvar c3000 = {\n \"chain\": \"CENNZnet\",\n \"chainId\": 3000,\n \"explorers\": [],\n \"faucets\": [\"https://app-faucet.centrality.me\"],\n \"icon\": {\n \"url\": \"ipfs://QmWhNm7tTi6SYbiumULDRk956hxgqaZSX77vcxBNn8fvnw\",\n \"width\": 112,\n \"height\": 112,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cennz.net\",\n \"name\": \"CENNZnet Rata\",\n \"nativeCurrency\": {\n \"name\": \"CPAY\",\n \"symbol\": \"CPAY\",\n \"decimals\": 18\n },\n \"networkId\": 3000,\n \"rpc\": [],\n \"shortName\": \"cennz-r\",\n \"slug\": \"cennznet-rata\",\n \"testnet\": false\n};\n\nvar c3001 = {\n \"chain\": \"CENNZnet\",\n \"chainId\": 3001,\n \"explorers\": [{\n \"name\": \"UNcover\",\n \"url\": \"https://www.uncoverexplorer.com/?network=Nikau\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://app-faucet.centrality.me\"],\n \"icon\": {\n \"url\": \"ipfs://QmWhNm7tTi6SYbiumULDRk956hxgqaZSX77vcxBNn8fvnw\",\n \"width\": 112,\n \"height\": 112,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cennz.net\",\n \"name\": \"CENNZnet Nikau\",\n \"nativeCurrency\": {\n \"name\": \"CPAY\",\n \"symbol\": \"CPAY\",\n \"decimals\": 18\n },\n \"networkId\": 3001,\n \"rpc\": [\"https://3001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nikau.centrality.me/public\"],\n \"shortName\": \"cennz-n\",\n \"slug\": \"cennznet-nikau\",\n \"testnet\": false\n};\n\nvar c3003 = {\n \"chain\": \"CAU\",\n \"chainId\": 3003,\n \"explorers\": [{\n \"name\": \"canxium explorer\",\n \"url\": \"https://explorer.canxium.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXHSbtVNCJVfe2CvRH7njdyf2SrX5u5bNTfvhqjLeFN2A\",\n \"width\": 938,\n \"height\": 938,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://canxium.org\",\n \"name\": \"Canxium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Canxium\",\n \"symbol\": \"CAU\",\n \"decimals\": 18\n },\n \"networkId\": 3003,\n \"rpc\": [\"https://3003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.canxium.org\"],\n \"shortName\": \"cau\",\n \"slug\": \"canxium\",\n \"testnet\": false\n};\n\nvar c3011 = {\n \"chain\": \"3ULL\",\n \"chainId\": 3011,\n \"explorers\": [{\n \"name\": \"PLAYA3ULL GAMES Explorer\",\n \"url\": \"https://3011.routescan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreib62bv2d65d7nidojgpkgatrt7smee2l4ov6i6ozqhpfaqsonxku4\",\n \"width\": 512,\n \"height\": 443,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreib62bv2d65d7nidojgpkgatrt7smee2l4ov6i6ozqhpfaqsonxku4\",\n \"width\": 512,\n \"height\": 443,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://playa3ull.games\",\n \"name\": \"PLAYA3ULL GAMES\",\n \"nativeCurrency\": {\n \"name\": \"3ULL\",\n \"symbol\": \"3ULL\",\n \"decimals\": 18\n },\n \"networkId\": 3011,\n \"rpc\": [\"https://3011.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.mainnet.playa3ull.games\"],\n \"shortName\": \"3ULL\",\n \"slug\": \"playa3ull-games\",\n \"testnet\": false\n};\n\nvar c3026 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 3026,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405064 NO INTEROP PRECOMPILE\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405064 NO INTEROP PRECOMPILE Token\",\n \"symbol\": \"BLY\",\n \"decimals\": 18\n },\n \"networkId\": 3026,\n \"redFlags\": [],\n \"rpc\": [\"https://3026.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405064 NO INTEROP PRECOMPILE\",\n \"slug\": \"qim2405064-no-interop-precompile\",\n \"testnet\": true\n};\n\nvar c3031 = {\n \"chain\": \"ORL\",\n \"chainId\": 3031,\n \"explorers\": [{\n \"name\": \"Orlando (ORL) Explorer\",\n \"url\": \"https://orlscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNsuuBBTHErnuFDcdyzaY8CKoVJtobsLJx2WQjaPjcp7g\",\n \"width\": 512,\n \"height\": 528,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNsuuBBTHErnuFDcdyzaY8CKoVJtobsLJx2WQjaPjcp7g\",\n \"width\": 512,\n \"height\": 528,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://orlchain.com\",\n \"name\": \"Orlando Chain\",\n \"nativeCurrency\": {\n \"name\": \"Orlando\",\n \"symbol\": \"ORL\",\n \"decimals\": 18\n },\n \"networkId\": 3031,\n \"rpc\": [\"https://3031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.orlchain.com\"],\n \"shortName\": \"ORL\",\n \"slug\": \"orlando-chain\",\n \"testnet\": true\n};\n\nvar c3033 = {\n \"chain\": \"REBUS\",\n \"chainId\": 3033,\n \"explorers\": [{\n \"name\": \"Rebus EVM Explorer (Blockscout)\",\n \"url\": \"https://evm.testnet.rebus.money\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifzag46dhp33vb2uldg4htqbqipuqrapjga6ml6pnhn5yibbvb4gq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Rebus Cosmos Explorer (ping.pub)\",\n \"url\": \"https://testnet.rebus.money/rebustestnet\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifzag46dhp33vb2uldg4htqbqipuqrapjga6ml6pnhn5yibbvb4gq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifzag46dhp33vb2uldg4htqbqipuqrapjga6ml6pnhn5yibbvb4gq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.rebuschain.com\",\n \"name\": \"Rebus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Rebus\",\n \"symbol\": \"REBUS\",\n \"decimals\": 18\n },\n \"networkId\": 3033,\n \"rpc\": [\"https://3033.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rebus.money/rpc\"],\n \"shortName\": \"rebus-testnet\",\n \"slug\": \"rebus-testnet\",\n \"testnet\": true,\n \"title\": \"Rebuschain Testnet\"\n};\n\nvar c3036 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 3036,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's Testnet Token\",\n \"symbol\": \"QED\",\n \"decimals\": 18\n },\n \"networkId\": 3036,\n \"redFlags\": [],\n \"rpc\": [\"https://3036.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's Testnet\",\n \"slug\": \"will-s-testnet\",\n \"testnet\": true\n};\n\nvar c3068 = {\n \"chain\": \"BFC\",\n \"chainId\": 3068,\n \"explorers\": [{\n \"name\": \"explorer-thebifrost\",\n \"url\": \"https://explorer.mainnet.bifrostnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYxniqbiFD7nXBNjN8boUhoXYEAW23YquArD2Rnkq8WHS\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bifrostnetwork.com\",\n \"name\": \"Bifrost Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bifrost\",\n \"symbol\": \"BFC\",\n \"decimals\": 18\n },\n \"networkId\": 3068,\n \"rpc\": [\"https://3068.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-01.mainnet.bifrostnetwork.com/rpc\", \"https://public-02.mainnet.bifrostnetwork.com/rpc\"],\n \"shortName\": \"bfc\",\n \"slug\": \"bifrost\",\n \"testnet\": false,\n \"title\": \"Bifrost Network Mainnet\"\n};\n\nvar c3070 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 3070,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9054\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9054 Token\",\n \"symbol\": \"QFE\",\n \"decimals\": 18\n },\n \"networkId\": 3070,\n \"redFlags\": [],\n \"rpc\": [\"https://3070.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9054\",\n \"slug\": \"qauser9054\",\n \"testnet\": true\n};\n\nvar c3073 = {\n \"chain\": \"MOVE\",\n \"chainId\": 3073,\n \"explorers\": [{\n \"name\": \"mevm explorer\",\n \"url\": \"https://explorer.movementlabs.xyz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWRAor77N6VyjJiQgtsEE7h9Bd1Q7vtRveTYv2A6wZyAT\",\n \"width\": 1546,\n \"height\": 1546,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://movementlabs.xyz\",\n \"name\": \"Movement EVM\",\n \"nativeCurrency\": {\n \"name\": \"Move\",\n \"symbol\": \"MOVE\",\n \"decimals\": 18\n },\n \"networkId\": 3073,\n \"rpc\": [],\n \"shortName\": \"move\",\n \"slug\": \"movement-evm\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c3084 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 3084,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"XL Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"XL Network Testnet Token\",\n \"symbol\": \"XLN\",\n \"decimals\": 18\n },\n \"networkId\": 3084,\n \"redFlags\": [],\n \"rpc\": [\"https://3084.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/xlnetworkt/testnet/rpc\"],\n \"shortName\": \"XL Network Testnet\",\n \"slug\": \"xl-network-testnet\",\n \"testnet\": true\n};\n\nvar c3100 = {\n \"chain\": \"EVMCC\",\n \"chainId\": 3100,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://immu3.io\",\n \"name\": \"Immu3 EVM\",\n \"nativeCurrency\": {\n \"name\": \"IMMU\",\n \"symbol\": \"IMMU\",\n \"decimals\": 18\n },\n \"networkId\": 3100,\n \"rpc\": [\"https://3100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-flashbox-2800-rpc.a.stagenet.tanssi.network\", \"wss://fraa-flashbox-2800-rpc.a.stagenet.tanssi.network\"],\n \"shortName\": \"Immu3\",\n \"slug\": \"immu3-evm\",\n \"testnet\": false\n};\n\nvar c3102 = {\n \"chain\": \"VFIEVMCC\",\n \"chainId\": 3102,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://vulture.finance\",\n \"name\": \"Vulture EVM Beta\",\n \"nativeCurrency\": {\n \"name\": \"VFI\",\n \"symbol\": \"VFI\",\n \"decimals\": 18\n },\n \"networkId\": 3102,\n \"rpc\": [\"https://3102.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-dancebox-3050-rpc.a.dancebox.tanssi.network\", \"wss://fraa-dancebox-3050-rpc.a.dancebox.tanssi.network\"],\n \"shortName\": \"VFI\",\n \"slug\": \"vulture-evm-beta\",\n \"testnet\": false\n};\n\nvar c3109 = {\n \"chain\": \"SatoshiVM\",\n \"chainId\": 3109,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdXnQw9YwzEBZnciSe42MMwnH1SqhfY3FcVbseyM4k7Th\",\n \"width\": 940,\n \"height\": 941,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.satoshivm.io/\",\n \"name\": \"SatoshiVM Alpha Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 3109,\n \"rpc\": [\"https://3109.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://alpha-rpc-node-http.svmscan.io\"],\n \"shortName\": \"SAVM\",\n \"slug\": \"satoshivm-alpha\",\n \"testnet\": false\n};\n\nvar c3110 = {\n \"chain\": \"SatoshiVM\",\n \"chainId\": 3110,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdXnQw9YwzEBZnciSe42MMwnH1SqhfY3FcVbseyM4k7Th\",\n \"width\": 940,\n \"height\": 941,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.satoshivm.io/\",\n \"name\": \"SatoshiVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 3110,\n \"rpc\": [\"https://3110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-rpc-node-http.svmscan.io\"],\n \"shortName\": \"tSAVM\",\n \"slug\": \"satoshivm-testnet\",\n \"testnet\": true\n};\n\nvar c3141 = {\n \"chain\": \"FIL\",\n \"chainId\": 3141,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9r9XQkMHVomWcSBNDkKkz9n87h9bH9ssabeiKZtANoU\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filecoin.io\",\n \"name\": \"Filecoin - Hyperspace testnet\",\n \"nativeCurrency\": {\n \"name\": \"testnet filecoin\",\n \"symbol\": \"tFIL\",\n \"decimals\": 18\n },\n \"networkId\": 3141,\n \"rpc\": [],\n \"shortName\": \"filecoin-hyperspace\",\n \"slip44\": 1,\n \"slug\": \"filecoin-hyperspace-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c3269 = {\n \"chain\": \"DUBX\",\n \"chainId\": 3269,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://arabianchain.org\",\n \"name\": \"Dubxcoin network\",\n \"nativeCurrency\": {\n \"name\": \"Dubxcoin mainnet\",\n \"symbol\": \"DUBX\",\n \"decimals\": 18\n },\n \"networkId\": 3269,\n \"rpc\": [\"https://3269.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcmain.arabianchain.org\"],\n \"shortName\": \"dubx\",\n \"slug\": \"dubxcoin-network\",\n \"testnet\": false\n};\n\nvar c3270 = {\n \"chain\": \"TESTDUBX\",\n \"chainId\": 3270,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.arabianchain.org/\"],\n \"infoURL\": \"https://arabianchain.org\",\n \"name\": \"Dubxcoin testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dubxcoin testnet\",\n \"symbol\": \"TDUBX\",\n \"decimals\": 18\n },\n \"networkId\": 3270,\n \"rpc\": [\"https://3270.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctestnet.arabianchain.org\"],\n \"shortName\": \"testdubx\",\n \"slip44\": 1,\n \"slug\": \"dubxcoin-testnet\",\n \"testnet\": true\n};\n\nvar c3306 = {\n \"chain\": \"Debounce Network\",\n \"chainId\": 3306,\n \"explorers\": [{\n \"name\": \"Debounce Devnet Explorer\",\n \"url\": \"https://explorer.debounce.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeib5q4hez37s7b2fx4hqt2q4ji2tuudxjhfdgnp6q3d5mqm6wsxdfq\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://debounce.network\",\n \"name\": \"Debounce Subnet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Debounce Network\",\n \"symbol\": \"DB\",\n \"decimals\": 18\n },\n \"networkId\": 3306,\n \"rpc\": [\"https://3306.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dev-rpc.debounce.network\"],\n \"shortName\": \"debounce-devnet\",\n \"slip44\": 1,\n \"slug\": \"debounce-subnet-testnet\",\n \"testnet\": true\n};\n\nvar c3331 = {\n \"chain\": \"Beach\",\n \"chainId\": 3331,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.zcore.cash\"],\n \"icon\": {\n \"url\": \"ipfs://QmQnXu13ym8W1VA3QxocaNVXGAuEPmamSCkS7bBscVk1f4\",\n \"width\": 1050,\n \"height\": 1050,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zcore.cash\",\n \"name\": \"ZCore Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ZCore\",\n \"symbol\": \"ZCR\",\n \"decimals\": 18\n },\n \"networkId\": 3331,\n \"rpc\": [\"https://3331.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.zcore.cash\"],\n \"shortName\": \"zcrbeach\",\n \"slip44\": 1,\n \"slug\": \"zcore-testnet\",\n \"testnet\": true\n};\n\nvar c3333 = {\n \"chain\": \"EthStorage\",\n \"chainId\": 3333,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ethstorage.io/\",\n \"name\": \"EthStorage Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3333,\n \"rpc\": [\"https://3333.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet.ethstorage.io:9540\"],\n \"shortName\": \"es-t\",\n \"slip44\": 1,\n \"slug\": \"ethstorage-testnet\",\n \"testnet\": true\n};\n\nvar c3334 = {\n \"chain\": \"Web3Q\",\n \"chainId\": 3334,\n \"explorers\": [{\n \"name\": \"w3q-galileo\",\n \"url\": \"https://explorer.galileo.web3q.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://galileo.web3q.io/home.w3q/\",\n \"name\": \"Web3Q Galileo\",\n \"nativeCurrency\": {\n \"name\": \"Web3Q\",\n \"symbol\": \"W3Q\",\n \"decimals\": 18\n },\n \"networkId\": 3334,\n \"rpc\": [\"https://3334.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://galileo.web3q.io:8545\"],\n \"shortName\": \"w3q-g\",\n \"slug\": \"web3q-galileo\",\n \"testnet\": false\n};\n\nvar c3335 = {\n \"chain\": \"EthStorage\",\n \"chainId\": 3335,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ethstorage.io/\",\n \"name\": \"EthStorage Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3335,\n \"rpc\": [\"https://3335.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://mainnet.ethstorage.io:9540\"],\n \"shortName\": \"es-m\",\n \"slip44\": 1,\n \"slug\": \"ethstorage\",\n \"testnet\": false\n};\n\nvar c3400 = {\n \"chain\": \"PRB\",\n \"chainId\": 3400,\n \"explorers\": [{\n \"name\": \"Paribu Net Explorer\",\n \"url\": \"https://explorer.paribu.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVgc77jYo2zrxQjhYwT4KzvSrSZ1DBJraJVX57xAvP8MD\",\n \"width\": 2362,\n \"height\": 2362,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://net.paribu.com\",\n \"name\": \"Paribu Net Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"PRB\",\n \"symbol\": \"PRB\",\n \"decimals\": 18\n },\n \"networkId\": 3400,\n \"rpc\": [\"https://3400.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.paribu.network\"],\n \"shortName\": \"prb\",\n \"slug\": \"paribu-net\",\n \"testnet\": false\n};\n\nvar c3424 = {\n \"chain\": \"EVO\",\n \"chainId\": 3424,\n \"explorers\": [{\n \"name\": \"Evolve Mainnet Explorer\",\n \"url\": \"https://evoexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVxtpYYzc5214CB7BgsMC4mRNRHCD8fpbNMzZguBWyRwa\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://evolveblockchain.io\",\n \"name\": \"EVOLVE Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Evolve\",\n \"symbol\": \"EVO\",\n \"decimals\": 18\n },\n \"networkId\": 3424,\n \"rpc\": [\"https://3424.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.evolveblockchain.io\"],\n \"shortName\": \"EVOm\",\n \"slug\": \"evolve\",\n \"testnet\": false\n};\n\nvar c3434 = {\n \"chain\": \"SCAI\",\n \"chainId\": 3434,\n \"explorers\": [{\n \"name\": \"SecureChain\",\n \"url\": \"https://testnet.securechain.ai\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.securechain.ai\"],\n \"icon\": {\n \"url\": \"ipfs://Qme2Z8VFYjhHGfLQPBnfseNpEdRfmTDy7VXqrdH4AHETJf\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://securechain.ai\",\n \"name\": \"SecureChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SCAI\",\n \"symbol\": \"SCAI\",\n \"decimals\": 18\n },\n \"networkId\": 3434,\n \"rpc\": [\"https://3434.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.securechain.ai\"],\n \"shortName\": \"SCAIt\",\n \"slip44\": 1,\n \"slug\": \"securechain-testnet\",\n \"testnet\": true\n};\n\nvar c3454 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 3454,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Masa\",\n \"nativeCurrency\": {\n \"name\": \"Masa Token\",\n \"symbol\": \"MASA\",\n \"decimals\": 18\n },\n \"networkId\": 3454,\n \"redFlags\": [],\n \"rpc\": [\"https://3454.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/masa/mainnet/rpc\"],\n \"shortName\": \"Masa\",\n \"slug\": \"masa\",\n \"testnet\": false\n};\n\nvar c3456 = {\n \"chain\": \"LayerEdge\",\n \"chainId\": 3456,\n \"explorers\": [{\n \"name\": \"LayerEdge Testnet Explorer\",\n \"url\": \"https://testnet-explorer.layeredge.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmT2RotFAn8edji6FqBiP1TpTb1EFqHr28qbQGoRaJ9nTN\",\n \"width\": 218,\n \"height\": 211,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://testnet-faucet.layeredge.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmT2RotFAn8edji6FqBiP1TpTb1EFqHr28qbQGoRaJ9nTN\",\n \"width\": 218,\n \"height\": 211,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.layeredge.io\",\n \"name\": \"LayerEdge testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 3456,\n \"rpc\": [\"https://3456.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.layeredge.io\"],\n \"shortName\": \"LayerEdge-testnet\",\n \"slug\": \"layeredge-testnet\",\n \"testnet\": true\n};\n\nvar c3490 = {\n \"chain\": \"GTC\",\n \"chainId\": 3490,\n \"explorers\": [{\n \"name\": \"GTCScan Explorer\",\n \"url\": \"https://gtcscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafybeiaaq7gogws6uqcvo6imxbxfgpdhewybh7bxgtfny2i2as5nidbdje\",\n \"width\": 312,\n \"height\": 312,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiaaq7gogws6uqcvo6imxbxfgpdhewybh7bxgtfny2i2as5nidbdje\",\n \"width\": 312,\n \"height\": 312,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gtcscan.io/\",\n \"name\": \"GTCSCAN\",\n \"nativeCurrency\": {\n \"name\": \"GTC\",\n \"symbol\": \"GTC\",\n \"decimals\": 18\n },\n \"networkId\": 3490,\n \"rpc\": [\"https://3490.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gtc-dataseed.gtcscan.io/\"],\n \"shortName\": \"gtc\",\n \"slip44\": 1,\n \"slug\": \"gtcscan\",\n \"testnet\": false\n};\n\nvar c3500 = {\n \"chain\": \"PRB\",\n \"chainId\": 3500,\n \"explorers\": [{\n \"name\": \"Paribu Net Testnet Explorer\",\n \"url\": \"https://testnet.paribuscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.paribuscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmVgc77jYo2zrxQjhYwT4KzvSrSZ1DBJraJVX57xAvP8MD\",\n \"width\": 2362,\n \"height\": 2362,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://net.paribu.com\",\n \"name\": \"Paribu Net Testnet\",\n \"nativeCurrency\": {\n \"name\": \"PRB\",\n \"symbol\": \"PRB\",\n \"decimals\": 18\n },\n \"networkId\": 3500,\n \"rpc\": [\"https://3500.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.paribuscan.com\"],\n \"shortName\": \"prbtestnet\",\n \"slip44\": 1,\n \"slug\": \"paribu-net-testnet\",\n \"testnet\": true\n};\n\nvar c3501 = {\n \"chain\": \"JFIN\",\n \"chainId\": 3501,\n \"explorers\": [{\n \"name\": \"JFIN Chain Explorer\",\n \"url\": \"https://exp.jfinchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://jfinchain.com\",\n \"name\": \"JFIN Chain\",\n \"nativeCurrency\": {\n \"name\": \"JFIN Coin\",\n \"symbol\": \"JFIN\",\n \"decimals\": 18\n },\n \"networkId\": 3501,\n \"rpc\": [\"https://3501.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.jfinchain.com\"],\n \"shortName\": \"JFIN\",\n \"slug\": \"jfin-chain\",\n \"testnet\": false\n};\n\nvar c3601 = {\n \"chain\": \"PandoProject\",\n \"chainId\": 3601,\n \"explorers\": [{\n \"name\": \"Pando Mainnet Explorer\",\n \"url\": \"https://explorer.pandoproject.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNduBtT5BNGDw7DjRwDvaZBb6gjxf46WD7BYhn4gauGc9\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.pandoproject.org/\",\n \"name\": \"PandoProject Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"pando-token\",\n \"symbol\": \"PTX\",\n \"decimals\": 18\n },\n \"networkId\": 3601,\n \"rpc\": [\"https://3601.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-rpc-api.pandoproject.org/rpc\"],\n \"shortName\": \"pando-mainnet\",\n \"slug\": \"pandoproject\",\n \"testnet\": false\n};\n\nvar c3602 = {\n \"chain\": \"PandoProject\",\n \"chainId\": 3602,\n \"explorers\": [{\n \"name\": \"Pando Testnet Explorer\",\n \"url\": \"https://testnet.explorer.pandoproject.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNduBtT5BNGDw7DjRwDvaZBb6gjxf46WD7BYhn4gauGc9\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.pandoproject.org/\",\n \"name\": \"PandoProject Testnet\",\n \"nativeCurrency\": {\n \"name\": \"pando-token\",\n \"symbol\": \"PTX\",\n \"decimals\": 18\n },\n \"networkId\": 3602,\n \"rpc\": [\"https://3602.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.ethrpc.pandoproject.org/rpc\"],\n \"shortName\": \"pando-testnet\",\n \"slip44\": 1,\n \"slug\": \"pandoproject-testnet\",\n \"testnet\": true\n};\n\nvar c3630 = {\n \"chain\": \"TYCON\",\n \"chainId\": 3630,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"Tycooncoin\",\n \"nativeCurrency\": {\n \"name\": \"Tycooncoin\",\n \"symbol\": \"TYCO\",\n \"decimals\": 18\n },\n \"networkId\": 3630,\n \"rpc\": [\"https://3630.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.tycoscan.com\"],\n \"shortName\": \"TYCON\",\n \"slug\": \"tycooncoin\",\n \"testnet\": false\n};\n\nvar c3636 = {\n \"chain\": \"BOTANIX\",\n \"chainId\": 3636,\n \"explorers\": [{\n \"name\": \"3xpl\",\n \"url\": \"https://3xpl.com/botanix\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Blockscout\",\n \"url\": \"https://blockscout.botanixlabs.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.botanixlabs.dev\"],\n \"icon\": {\n \"url\": \"ipfs://QmVE5s2pXiqdMnAcxhAmWkZYhpFB5CysypeLyPKzT4rGYe\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://botanixlabs.xyz\",\n \"name\": \"Botanix Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Botanix\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 3636,\n \"rpc\": [\"https://3636.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.botanixlabs.dev\"],\n \"shortName\": \"BTNX\",\n \"slip44\": 1,\n \"slug\": \"botanix-testnet\",\n \"testnet\": true\n};\n\nvar c3637 = {\n \"chain\": \"BTC\",\n \"chainId\": 3637,\n \"explorers\": [{\n \"name\": \"Botanix\",\n \"url\": \"https://btxtestchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.btxtestchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmVE5s2pXiqdMnAcxhAmWkZYhpFB5CysypeLyPKzT4rGYe\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://btxtestchain.com\",\n \"name\": \"Botanix Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Botanix\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 3637,\n \"rpc\": [\"https://3637.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.btxtestchain.com\"],\n \"shortName\": \"BTCm\",\n \"slug\": \"botanix\",\n \"testnet\": true\n};\n\nvar c3639 = {\n \"chain\": \"iChain\",\n \"chainId\": 3639,\n \"explorers\": [{\n \"name\": \"iChainscan\",\n \"url\": \"https://ichainscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcumhDxUyoLTHkcMKgPqkpGnnjwSTqE2KGFnDXXFY8mMo\",\n \"width\": 40,\n \"height\": 38,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://islamicoin.finance\",\n \"name\": \"iChain Network\",\n \"nativeCurrency\": {\n \"name\": \"ISLAMICOIN\",\n \"symbol\": \"ISLAMI\",\n \"decimals\": 18\n },\n \"networkId\": 3639,\n \"rpc\": [\"https://3639.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ichainscan.com\"],\n \"shortName\": \"ISLAMI\",\n \"slug\": \"ichain-network\",\n \"testnet\": false\n};\n\nvar c3645 = {\n \"chain\": \"iChain Testnet\",\n \"chainId\": 3645,\n \"explorers\": [{\n \"name\": \"iChainscan\",\n \"url\": \"https://test.ichainscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcumhDxUyoLTHkcMKgPqkpGnnjwSTqE2KGFnDXXFY8mMo\",\n \"width\": 40,\n \"height\": 38,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://islamicoin.finance\",\n \"name\": \"iChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ISLAMICOIN\",\n \"symbol\": \"ISLAMI\",\n \"decimals\": 18\n },\n \"networkId\": 3645,\n \"rpc\": [\"https://3645.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://istanbul.ichainscan.com\"],\n \"shortName\": \"ISLAMIT\",\n \"slug\": \"ichain-testnet\",\n \"testnet\": true\n};\n\nvar c3666 = {\n \"chain\": \"Jouleverse\",\n \"chainId\": 3666,\n \"explorers\": [{\n \"name\": \"jscan\",\n \"url\": \"https://jscan.jnsdao.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://jnsdao.com\",\n \"name\": \"Jouleverse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"J\",\n \"symbol\": \"J\",\n \"decimals\": 18\n },\n \"networkId\": 3666,\n \"rpc\": [\"https://3666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.jnsdao.com:8503\"],\n \"shortName\": \"jouleverse\",\n \"slug\": \"jouleverse\",\n \"testnet\": false\n};\n\nvar c3690 = {\n \"chain\": \"BTX\",\n \"chainId\": 3690,\n \"explorers\": [{\n \"name\": \"bittexscan\",\n \"url\": \"https://bittexscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bittexscan.com\",\n \"name\": \"Bittex Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bittex\",\n \"symbol\": \"BTX\",\n \"decimals\": 18\n },\n \"networkId\": 3690,\n \"rpc\": [\"https://3690.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.bittexscan.info\", \"https://rpc2.bittexscan.info\"],\n \"shortName\": \"btx\",\n \"slug\": \"bittex\",\n \"testnet\": false\n};\n\nvar c3693 = {\n \"chain\": \"EMPIRE\",\n \"chainId\": 3693,\n \"explorers\": [{\n \"name\": \"Empire Explorer\",\n \"url\": \"https://explorer.empirenetwork.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.empirenetwork.io/\",\n \"name\": \"Empire Network\",\n \"nativeCurrency\": {\n \"name\": \"Empire\",\n \"symbol\": \"EMPIRE\",\n \"decimals\": 18\n },\n \"networkId\": 3693,\n \"rpc\": [\"https://3693.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.empirenetwork.io\"],\n \"shortName\": \"empire\",\n \"slug\": \"empire-network\",\n \"testnet\": false\n};\n\nvar c3698 = {\n \"chain\": \"SPC\",\n \"chainId\": 3698,\n \"explorers\": [{\n \"name\": \"SenjePowers\",\n \"url\": \"https://testnet.senjepowersscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.senjepowersscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmcpyTj4hUyHJZ2VmSdkXFpPpRcNKRP1VxMs7Cp1anymNy\",\n \"width\": 504,\n \"height\": 495,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://senjepowersscan.com\",\n \"name\": \"SenjePowers Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SenjePowers\",\n \"symbol\": \"SPC\",\n \"decimals\": 18\n },\n \"networkId\": 3698,\n \"rpc\": [\"https://3698.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.senjepowersscan.com\"],\n \"shortName\": \"SPCt\",\n \"slip44\": 1,\n \"slug\": \"senjepowers-testnet\",\n \"testnet\": true\n};\n\nvar c3699 = {\n \"chain\": \"SPC\",\n \"chainId\": 3699,\n \"explorers\": [{\n \"name\": \"SenjePowers\",\n \"url\": \"https://senjepowersscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.senjepowersscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmcpyTj4hUyHJZ2VmSdkXFpPpRcNKRP1VxMs7Cp1anymNy\",\n \"width\": 504,\n \"height\": 495,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://senjepowersscan.com\",\n \"name\": \"SenjePowers Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SenjePowers\",\n \"symbol\": \"SPC\",\n \"decimals\": 18\n },\n \"networkId\": 3699,\n \"rpc\": [\"https://3699.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.senjepowersscan.com\"],\n \"shortName\": \"SPCm\",\n \"slug\": \"senjepowers\",\n \"testnet\": false\n};\n\nvar c3701 = {\n \"chain\": \"XPLATest\",\n \"chainId\": 3701,\n \"explorers\": [{\n \"name\": \"XPLA Explorer\",\n \"url\": \"https://explorer.xpla.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.xpla.io\"],\n \"icon\": {\n \"url\": \"ipfs://Qmf4GoxfpeA5VGqu7KP5eyv1WKaCpNDbvMxq1MjQBwFWxq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xpla.io\",\n \"name\": \"Xpla Testnet\",\n \"nativeCurrency\": {\n \"name\": \"XPLA\",\n \"symbol\": \"XPLA\",\n \"decimals\": 18\n },\n \"networkId\": 3701,\n \"rpc\": [\"https://3701.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dimension-rpc.xpla.dev\"],\n \"shortName\": \"xplatest\",\n \"slip44\": 1,\n \"slug\": \"xpla-testnet-xplatest\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c3737 = {\n \"chain\": \"Crossbell\",\n \"chainId\": 3737,\n \"explorers\": [{\n \"name\": \"Crossbell Explorer\",\n \"url\": \"https://scan.crossbell.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.crossbell.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmS8zEetTb6pwdNpVjv5bz55BXiSMGP9BjTJmNcjcUT91t\",\n \"width\": 408,\n \"height\": 408,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://crossbell.io\",\n \"name\": \"Crossbell\",\n \"nativeCurrency\": {\n \"name\": \"Crossbell Token\",\n \"symbol\": \"CSB\",\n \"decimals\": 18\n },\n \"networkId\": 3737,\n \"rpc\": [\"https://3737.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.crossbell.io\"],\n \"shortName\": \"csb\",\n \"slug\": \"crossbell\",\n \"testnet\": false\n};\n\nvar c3776 = {\n \"chain\": \"ETH\",\n \"chainId\": 3776,\n \"explorers\": [{\n \"name\": \"Blockscout Astar zkEVM explorer\",\n \"url\": \"https://astar-zkevm.explorer.startale.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRySLe3su59dE5x5JPm2b1GeZfz6DR9qUzcbp3rt4SD3A\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://astar.network\",\n \"name\": \"Astar zkEVM\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3776,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.gelato.network/bridge/astar-zkevm\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://3776.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.startale.com/astar-zkevm\"],\n \"shortName\": \"astarzk\",\n \"slug\": \"astar-zkevm\",\n \"testnet\": false,\n \"title\": \"Astar zkEVM Mainnet\"\n};\n\nvar c3797 = {\n \"chain\": \"ALV\",\n \"chainId\": 3797,\n \"explorers\": [{\n \"name\": \"AlveyScan\",\n \"url\": \"https://alveyscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTuY2Goyxpuy5GmA32EMYZBwxRcGsahiMFgfeBixSk7rb\",\n \"width\": 2048,\n \"height\": 1538,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTuY2Goyxpuy5GmA32EMYZBwxRcGsahiMFgfeBixSk7rb\",\n \"width\": 2048,\n \"height\": 1538,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://alveychain.com/\",\n \"name\": \"AlveyChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"AlveyCoin\",\n \"symbol\": \"ALV\",\n \"decimals\": 18\n },\n \"networkId\": 3797,\n \"rpc\": [\"https://3797.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://elves-core1.alvey.io\", \"https://elves-core2.alvey.io\", \"https://elves-core3.alvey.io\"],\n \"shortName\": \"alv\",\n \"slug\": \"alveychain\",\n \"testnet\": false\n};\n\nvar c3799 = {\n \"chain\": \"Tangle Testnet\",\n \"chainId\": 3799,\n \"explorers\": [{\n \"name\": \"ttntscan\",\n \"url\": \"https://testnet-explorer.tangle.tools\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.tangle.tools\"],\n \"icon\": {\n \"url\": \"ipfs://QmbxMNBTeQgch8t9GpWdLiS2R3wPYCzVRaX5kCQ4o5QU3w\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.tangle.tools\",\n \"name\": \"Tangle Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Tangle Network Token\",\n \"symbol\": \"tTNT\",\n \"decimals\": 18\n },\n \"networkId\": 3799,\n \"rpc\": [\"https://3799.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.tangle.tools\", \"https://testnet-rpc-archive.tangle.tools\", \"wss://testnet-rpc.tangle.tools\", \"wss://testnet-rpc-archive.tangle.tools\"],\n \"shortName\": \"tTangle\",\n \"slug\": \"tangle-testnet\",\n \"testnet\": true\n};\n\nvar c3839 = {\n \"chain\": \"3839\",\n \"chainId\": 3839,\n \"explorers\": [{\n \"name\": \"traderlands explorer\",\n \"url\": \"https://sepolia.arbiscan.io/\",\n \"standard\": \"standard\",\n \"icon\": {\n \"url\": \"ipfs://QmRQVgjLcoWAVTocuYegwumz8J8b2F3Le2WnQhwffRmWcg/traderlands%20logo.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRQVgjLcoWAVTocuYegwumz8J8b2F3Le2WnQhwffRmWcg/traderlands%20logo.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sepolia.arbiscan.io/\",\n \"name\": \"traderlands-sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Traderlands\",\n \"symbol\": \"TRADE\",\n \"decimals\": 18\n },\n \"networkId\": 3839,\n \"redFlags\": [],\n \"rpc\": [\"https://3839.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://traderlands-sepolia.rpc.caldera.xyz/http\"],\n \"shortName\": \"Tradetest\",\n \"slug\": \"traderlands-sepolia\",\n \"testnet\": true\n};\n\nvar c3885 = {\n \"chain\": \"Firechain\",\n \"chainId\": 3885,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://docs.thefirechain.com/\",\n \"name\": \"Firechain zkEVM Ghostrider\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3885,\n \"rpc\": [\"https://3885.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-zkevm-ghostrider.thefirechain.com\"],\n \"shortName\": \"firechain-zkEVM-testnet\",\n \"slug\": \"firechain-zkevm-ghostrider\",\n \"testnet\": true,\n \"title\": \"Firechain zkEVM Testnet\"\n};\n\nvar c3888 = {\n \"chain\": \"KLC\",\n \"chainId\": 3888,\n \"explorers\": [{\n \"name\": \"KalyScan\",\n \"url\": \"https://kalyscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUaXcPewLuQtY5a7xPTzJyVdjkH487VfV7gSR8UXrbxQ3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kalychain.io\",\n \"name\": \"KalyChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KalyCoin\",\n \"symbol\": \"KLC\",\n \"decimals\": 18\n },\n \"networkId\": 3888,\n \"rpc\": [\"https://3888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kalychain.io/rpc\"],\n \"shortName\": \"kalymainnet\",\n \"slug\": \"kalychain\",\n \"testnet\": false\n};\n\nvar c3889 = {\n \"chain\": \"KLC\",\n \"chainId\": 3889,\n \"explorers\": [{\n \"name\": \"KalyScan\",\n \"url\": \"https://testnet.kalyscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUaXcPewLuQtY5a7xPTzJyVdjkH487VfV7gSR8UXrbxQ3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kalychain.io\",\n \"name\": \"KalyChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"KalyCoin\",\n \"symbol\": \"KLC\",\n \"decimals\": 18\n },\n \"networkId\": 3889,\n \"rpc\": [\"https://3889.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnetrpc.kalychain.io/rpc\"],\n \"shortName\": \"kalytestnet\",\n \"slip44\": 1,\n \"slug\": \"kalychain-testnet\",\n \"testnet\": true\n};\n\nvar c3912 = {\n \"chain\": \"DRAC\",\n \"chainId\": 3912,\n \"explorers\": [{\n \"name\": \"DRAC_Network Scan\",\n \"url\": \"https://www.dracscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.dracscan.io/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXbsQe7QsVFZJZdBmbZVvS6LgX9ZFoaTMBs9MiQXUzJTw\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://drac.io/\",\n \"name\": \"DRAC Network\",\n \"nativeCurrency\": {\n \"name\": \"DRAC\",\n \"symbol\": \"DRAC\",\n \"decimals\": 18\n },\n \"networkId\": 3912,\n \"rpc\": [\"https://3912.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://www.dracscan.com/rpc\"],\n \"shortName\": \"drac\",\n \"slug\": \"drac-network\",\n \"testnet\": false\n};\n\nvar c3939 = {\n \"chain\": \"DOS\",\n \"chainId\": 3939,\n \"explorers\": [{\n \"name\": \"DOScan-Test\",\n \"url\": \"https://test.doscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://doschain.io/\",\n \"name\": \"DOS Tesnet\",\n \"nativeCurrency\": {\n \"name\": \"DOS\",\n \"symbol\": \"DOS\",\n \"decimals\": 18\n },\n \"networkId\": 3939,\n \"rpc\": [\"https://3939.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test.doschain.com\"],\n \"shortName\": \"dost\",\n \"slip44\": 1,\n \"slug\": \"dos-tesnet\",\n \"testnet\": true\n};\n\nvar c3966 = {\n \"chain\": \"DYNO\",\n \"chainId\": 3966,\n \"explorers\": [{\n \"name\": \"DYNO Explorer\",\n \"url\": \"https://dynoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dynoscan.io\"],\n \"infoURL\": \"https://dynoprotocol.com\",\n \"name\": \"DYNO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DYNO Token\",\n \"symbol\": \"DYNO\",\n \"decimals\": 18\n },\n \"networkId\": 3966,\n \"rpc\": [\"https://3966.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.dynoprotocol.com\"],\n \"shortName\": \"dyno\",\n \"slug\": \"dyno\",\n \"testnet\": false\n};\n\nvar c3967 = {\n \"chain\": \"DYNO\",\n \"chainId\": 3967,\n \"explorers\": [{\n \"name\": \"DYNO Explorer\",\n \"url\": \"https://testnet.dynoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dynoscan.io\"],\n \"infoURL\": \"https://dynoprotocol.com\",\n \"name\": \"DYNO Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DYNO Token\",\n \"symbol\": \"tDYNO\",\n \"decimals\": 18\n },\n \"networkId\": 3967,\n \"rpc\": [\"https://3967.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tapi.dynoprotocol.com\"],\n \"shortName\": \"tdyno\",\n \"slip44\": 1,\n \"slug\": \"dyno-testnet\",\n \"testnet\": true\n};\n\nvar c3993 = {\n \"chain\": \"ETH\",\n \"chainId\": 3993,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://exp-testnet.apexlayer.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sepoliafaucet.com/\"],\n \"icon\": {\n \"url\": \"ipfs://qmxhs7fvjanzwm14vjpbnmklre32gsiy9chsarrnbtfa1n\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.apexlayer.xyz/\",\n \"name\": \"APEX Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3993,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://apexlayer.xyz/bridge\"\n }]\n },\n \"rpc\": [\"https://3993.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.apexlayer.xyz\"],\n \"shortName\": \"apexsep\",\n \"slip44\": 1,\n \"slug\": \"apex-testnet\",\n \"testnet\": true\n};\n\nvar c3999 = {\n \"chain\": \"YCC\",\n \"chainId\": 3999,\n \"explorers\": [{\n \"name\": \"YuanChain Explorer\",\n \"url\": \"https://mainnet.yuan.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdbPhiB5W2gbHZGkYsN7i2VTKKP9casmAN2hRnpDaL9W4\",\n \"width\": 96,\n \"height\": 96,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.yuan.org\",\n \"name\": \"YuanChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"YCC\",\n \"symbol\": \"YCC\",\n \"decimals\": 18\n },\n \"networkId\": 3999,\n \"rpc\": [\"https://3999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.yuan.org/eth\"],\n \"shortName\": \"ycc\",\n \"slug\": \"yuanchain\",\n \"testnet\": false\n};\n\nvar c4000 = {\n \"chain\": \"OZONE\",\n \"chainId\": 4000,\n \"explorers\": [{\n \"name\": \"OZONE Scan\",\n \"url\": \"https://ozonescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbM4weV8Bk6c9yNhosYntkVw39SNZtCHYGgWyXTxkevZ8\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ozonechain.io\",\n \"name\": \"Ozone Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OZONE\",\n \"symbol\": \"OZO\",\n \"decimals\": 18\n },\n \"networkId\": 4000,\n \"rpc\": [\"https://4000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.ozonechain.io\"],\n \"shortName\": \"ozo\",\n \"slug\": \"ozone-chain\",\n \"testnet\": false\n};\n\nvar c4001 = {\n \"chain\": \"PERIUM\",\n \"chainId\": 4001,\n \"explorers\": [{\n \"name\": \"Peperium Chain Explorer\",\n \"url\": \"https://scan-testnet.peperium.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmag2hr5DQghRzKPN3oUFBkjWzqd5CndQzZeb5LfoiMCXf\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmag2hr5DQghRzKPN3oUFBkjWzqd5CndQzZeb5LfoiMCXf\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://peperium.io\",\n \"name\": \"Peperium Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Peperium Chain Testnet\",\n \"symbol\": \"PERIUM\",\n \"decimals\": 18\n },\n \"networkId\": 4001,\n \"rpc\": [\"https://4001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.peperium.io\"],\n \"shortName\": \"PERIUM\",\n \"slip44\": 1,\n \"slug\": \"peperium-chain-testnet\",\n \"testnet\": true\n};\n\nvar c4002 = {\n \"chain\": \"FTM\",\n \"chainId\": 4002,\n \"explorers\": [{\n \"name\": \"ftmscan\",\n \"url\": \"https://testnet.ftmscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRqbK449Fo9sJ3xMpkPbg6uV1weQj4yVV1xNMP9cdPmjf\",\n \"width\": 73,\n \"height\": 73,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.fantom.network\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/fantom/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.fantom.foundation/quick-start/short-guide#fantom-testnet\",\n \"name\": \"Fantom Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Fantom\",\n \"symbol\": \"FTM\",\n \"decimals\": 18\n },\n \"networkId\": 4002,\n \"redFlags\": [],\n \"rpc\": [\"https://4002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.fantom.network\", \"https://fantom-testnet-rpc.publicnode.com\", \"wss://fantom-testnet-rpc.publicnode.com\", \"https://fantom-testnet.drpc.org\", \"wss://fantom-testnet.drpc.org\"],\n \"shortName\": \"tftm\",\n \"slip44\": 1,\n \"slug\": \"fantom-testnet\",\n \"testnet\": true\n};\n\nvar c4003 = {\n \"chain\": \"X1\",\n \"chainId\": 4003,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.x1-fastnet.xen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.xen.network/go-x1/\",\n \"name\": \"X1 Fastnet\",\n \"nativeCurrency\": {\n \"name\": \"XN\",\n \"symbol\": \"XN\",\n \"decimals\": 18\n },\n \"networkId\": 4003,\n \"rpc\": [\"https://4003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://x1-fastnet.xen.network\"],\n \"shortName\": \"x1-fastnet\",\n \"slip44\": 1,\n \"slug\": \"x1-fastnet\",\n \"testnet\": false\n};\n\nvar c4040 = {\n \"chain\": \"CBR\",\n \"chainId\": 4040,\n \"explorers\": [{\n \"name\": \"Carbonium Network tesnet Explorer\",\n \"url\": \"https://testnet.carboniumscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmUTDMvoY7JgDs9sZuuBhsyJz6B2dNfc5jj6xUj355be2C\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://getfaucet.carbonium.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmUTDMvoY7JgDs9sZuuBhsyJz6B2dNfc5jj6xUj355be2C\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://carbonium.network\",\n \"name\": \"Carbonium Testnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Carbonium\",\n \"symbol\": \"tCBR\",\n \"decimals\": 18\n },\n \"networkId\": 4040,\n \"rpc\": [\"https://4040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-dev.carbonium.network/\", \"https://server-testnet.carbonium.network\"],\n \"shortName\": \"tcbr\",\n \"slip44\": 1,\n \"slug\": \"carbonium-testnet-network\",\n \"testnet\": true\n};\n\nvar c4048 = {\n \"chain\": \"GAN\",\n \"chainId\": 4048,\n \"explorers\": [{\n \"name\": \"ganscan\",\n \"url\": \"https://ganscan.gpu.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTYgL4PMNJya3XchuRx99ggNzMHL9kWaZvj3wycdEwpQA\",\n \"width\": 1248,\n \"height\": 1197,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.gpu.net/\",\n \"name\": \"GAN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GP Token\",\n \"symbol\": \"GP\",\n \"decimals\": 18\n },\n \"networkId\": 4048,\n \"rpc\": [\"https://4048.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gpu.net\"],\n \"shortName\": \"GANTestnet\",\n \"slug\": \"gan-testnet\",\n \"testnet\": true\n};\n\nvar c4051 = {\n \"chain\": \"Bobaopera Testnet\",\n \"chainId\": 4051,\n \"explorers\": [{\n \"name\": \"Bobaopera Testnet block explorer\",\n \"url\": \"https://blockexplorer.testnet.bobaopera.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Bobaopera Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 4051,\n \"rpc\": [\"https://4051.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bobaopera.boba.network\", \"wss://wss.testnet.bobaopera.boba.network\", \"https://replica.testnet.bobaopera.boba.network\", \"wss://replica-wss.testnet.bobaopera.boba.network\"],\n \"shortName\": \"BobaoperaTestnet\",\n \"slip44\": 1,\n \"slug\": \"bobaopera-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c4058 = {\n \"chain\": \"Bahamut\",\n \"chainId\": 4058,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://ocean.ftnscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSemioP83RXnDWwTZbet8VpwJxcFRboX4B3pcdhLZGodP\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bahamut.io\",\n \"name\": \"Bahamut ocean\",\n \"nativeCurrency\": {\n \"name\": \"FTN\",\n \"symbol\": \"FTN\",\n \"decimals\": 18\n },\n \"networkId\": 4058,\n \"rpc\": [\"https://4058.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.ocean.bahamutchain.com\"],\n \"shortName\": \"ocean\",\n \"slug\": \"bahamut-ocean\",\n \"testnet\": false,\n \"title\": \"Bahamut ocean\"\n};\n\nvar c4061 = {\n \"chain\": \"Nahmii\",\n \"chainId\": 4061,\n \"explorers\": [{\n \"name\": \"Nahmii 3 Mainnet Explorer\",\n \"url\": \"https://explorer.nahmii.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nahmii.io\",\n \"name\": \"Nahmii 3 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4061,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://accounts.nahmii.io\"\n }]\n },\n \"rpc\": [\"https://4061.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.n3.nahmii.io\"],\n \"shortName\": \"Nahmii3Mainnet\",\n \"slug\": \"nahmii-3\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c4062 = {\n \"chain\": \"Nahmii\",\n \"chainId\": 4062,\n \"explorers\": [{\n \"name\": \"Nahmii 3 Testnet Explorer\",\n \"url\": \"https://explorer.testnet.nahmii.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nahmii.io\",\n \"name\": \"Nahmii 3 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4062,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://accounts.testnet.nahmii.io\"\n }]\n },\n \"rpc\": [\"https://4062.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.nahmii.io\"],\n \"shortName\": \"Nahmii3Testnet\",\n \"slip44\": 1,\n \"slug\": \"nahmii-3-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c4078 = {\n \"chain\": \"Muster\",\n \"chainId\": 4078,\n \"explorers\": [{\n \"name\": \"Musterscan\",\n \"url\": \"https://muster-explorer.alt.technology\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiexm4aoscqo4d7dipicdgmfaemgzck2w7qhfp5mnoo7z2plcxleju\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Muster Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4078,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-42161\",\n \"bridges\": []\n },\n \"rpc\": [\"https://4078.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://muster.alt.technology\"],\n \"shortName\": \"muster\",\n \"slug\": \"muster\",\n \"testnet\": false\n};\n\nvar c4080 = {\n \"chain\": \"TBC\",\n \"chainId\": 4080,\n \"explorers\": [{\n \"name\": \"tobescan\",\n \"url\": \"https://tobescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://tobechain.net\",\n \"name\": \"Tobe Chain\",\n \"nativeCurrency\": {\n \"name\": \"Tobe Coin\",\n \"symbol\": \"TBC\",\n \"decimals\": 18\n },\n \"networkId\": 4080,\n \"rpc\": [\"https://4080.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tobescan.com\"],\n \"shortName\": \"tbc\",\n \"slug\": \"tobe-chain\",\n \"testnet\": false\n};\n\nvar c4090 = {\n \"chain\": \"Fastex Chain (Bahamut)\",\n \"chainId\": 4090,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://oasis.ftnscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.oasis.fastexchain.com\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSemioP83RXnDWwTZbet8VpwJxcFRboX4B3pcdhLZGodP\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://fastexchain.com\",\n \"name\": \"Fastex Chain (Bahamut) Oasis Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FTN\",\n \"symbol\": \"FTN\",\n \"decimals\": 18\n },\n \"networkId\": 4090,\n \"rpc\": [\"https://4090.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.oasis.bahamutchain.com\"],\n \"shortName\": \"Oasis\",\n \"slip44\": 1,\n \"slug\": \"fastex-chain-bahamut-oasis-testnet\",\n \"testnet\": true,\n \"title\": \"Bahamut testnet Oasis\"\n};\n\nvar c4096 = {\n \"chain\": \"BNI\",\n \"chainId\": 4096,\n \"explorers\": [{\n \"name\": \"Bitindi\",\n \"url\": \"https://testnet.bitindiscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bitindi.org\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRAFFPiLiSgjGTs9QaZdnR9fsDgyUdTejwSxcnPXo292s\",\n \"width\": 60,\n \"height\": 72,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bitindi.org\",\n \"name\": \"Bitindi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BNI\",\n \"symbol\": \"$BNI\",\n \"decimals\": 18\n },\n \"networkId\": 4096,\n \"redFlags\": [],\n \"rpc\": [\"https://4096.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.bitindi.org\", \"https://testnet-rpc.bitindi.org\"],\n \"shortName\": \"BNIt\",\n \"slip44\": 1,\n \"slug\": \"bitindi-testnet\",\n \"testnet\": true\n};\n\nvar c4099 = {\n \"chain\": \"BNI\",\n \"chainId\": 4099,\n \"explorers\": [{\n \"name\": \"Bitindi\",\n \"url\": \"https://bitindiscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bitindi.org\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRAFFPiLiSgjGTs9QaZdnR9fsDgyUdTejwSxcnPXo292s\",\n \"width\": 60,\n \"height\": 72,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bitindi.org\",\n \"name\": \"Bitindi Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BNI\",\n \"symbol\": \"$BNI\",\n \"decimals\": 18\n },\n \"networkId\": 4099,\n \"redFlags\": [],\n \"rpc\": [\"https://4099.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \" https://rpc-mainnet.bitindi.org\", \"https://mainnet-rpc.bitindi.org\"],\n \"shortName\": \"BNIm\",\n \"slug\": \"bitindi\",\n \"testnet\": false\n};\n\nvar c4102 = {\n \"chain\": \"AIOZ\",\n \"chainId\": 4102,\n \"explorers\": [{\n \"name\": \"AIOZ Network Testnet Explorer\",\n \"url\": \"https://testnet.explorer.aioz.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRAGPFhvQiXgoJkui7WHajpKctGFrJNhHqzYdwcWt5V3Z\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aioz.network\",\n \"name\": \"AIOZ Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"testAIOZ\",\n \"symbol\": \"AIOZ\",\n \"decimals\": 18\n },\n \"networkId\": 4102,\n \"rpc\": [\"https://4102.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth-ds.testnet.aioz.network\"],\n \"shortName\": \"aioz-testnet\",\n \"slip44\": 1,\n \"slug\": \"aioz-network-testnet\",\n \"testnet\": true\n};\n\nvar c4139 = {\n \"chain\": \"Humans Testnet\",\n \"chainId\": 4139,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmX6XuoQDTTjYqAmdNJiieLDZSwHHyUx44yQb4E3tmHmEA\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://humans.ai\",\n \"name\": \"Humans.ai Testnet\",\n \"nativeCurrency\": {\n \"name\": \"HEART\",\n \"symbol\": \"HEART\",\n \"decimals\": 18\n },\n \"networkId\": 4139,\n \"rpc\": [\"https://4139.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc.testnet.humans.zone\"],\n \"shortName\": \"humans_testnet\",\n \"slip44\": 1,\n \"slug\": \"humans-ai-testnet\",\n \"testnet\": true\n};\n\nvar c4141 = {\n \"chain\": \"TPBX\",\n \"chainId\": 4141,\n \"explorers\": [{\n \"name\": \"Tipboxcoin\",\n \"url\": \"https://testnet.tipboxcoin.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.tipboxcoin.net\"],\n \"icon\": {\n \"url\": \"ipfs://QmbiaHnR3fVVofZ7Xq2GYZxwHkLEy3Fh5qDtqnqXD6ACAh\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://tipboxcoin.net\",\n \"name\": \"Tipboxcoin Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Tipboxcoin\",\n \"symbol\": \"TPBX\",\n \"decimals\": 18\n },\n \"networkId\": 4141,\n \"rpc\": [\"https://4141.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.tipboxcoin.net\"],\n \"shortName\": \"TPBXt\",\n \"slip44\": 1,\n \"slug\": \"tipboxcoin-testnet\",\n \"testnet\": true\n};\n\nvar c4145 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 4145,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1212I2\",\n \"nativeCurrency\": {\n \"name\": \"QI1212I2 Token\",\n \"symbol\": \"HSCX\",\n \"decimals\": 18\n },\n \"networkId\": 4145,\n \"redFlags\": [],\n \"rpc\": [\"https://4145.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI1212I2\",\n \"slug\": \"qi1212i2\",\n \"testnet\": true\n};\n\nvar c4157 = {\n \"chain\": \"XFI\",\n \"chainId\": 4157,\n \"explorers\": [{\n \"name\": \"CrossFi Testnet Scan\",\n \"url\": \"https://test.xfiscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbRJzDeAdMkEXkqDwBwezpUxyjTPHZ2iXEomqKPvWZcWE\",\n \"width\": 40,\n \"height\": 42,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"Scan Testnet\",\n \"url\": \"https://scan.testnet.ms/\",\n \"standard\": \"EIP1559\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbRJzDeAdMkEXkqDwBwezpUxyjTPHZ2iXEomqKPvWZcWE\",\n \"width\": 40,\n \"height\": 42,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://crossfi.org\",\n \"name\": \"CrossFi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"XFI\",\n \"symbol\": \"XFI\",\n \"decimals\": 18\n },\n \"networkId\": 4157,\n \"redFlags\": [],\n \"rpc\": [\"https://4157.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.ms/\", \"https://rpc.testnet.ms\"],\n \"shortName\": \"XFI\",\n \"slip44\": 1,\n \"slug\": \"crossfi-testnet\",\n \"testnet\": true,\n \"title\": \"https://scan.testnet.ms/\"\n};\n\nvar c4181 = {\n \"chain\": \"PHI V1\",\n \"chainId\": 4181,\n \"explorers\": [{\n \"name\": \"PHI Explorer\",\n \"url\": \"https://explorer.phi.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://phi.network\",\n \"name\": \"PHI Network V1\",\n \"nativeCurrency\": {\n \"name\": \"PHI\",\n \"symbol\": \"Φ\",\n \"decimals\": 18\n },\n \"networkId\": 4181,\n \"rpc\": [\"https://4181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.phi.network\", \"https://rpc2.phi.network\"],\n \"shortName\": \"PHIv1\",\n \"slug\": \"phi-network-v1\",\n \"testnet\": false\n};\n\nvar c4200 = {\n \"chain\": \"Merlin\",\n \"chainId\": 4200,\n \"explorers\": [{\n \"name\": \"L2scan\",\n \"url\": \"https://scan.merlinchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmULpMFUvKSmJT8sWXS3WDnTm4EacgRbsEynDenpxcfrAj\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmULpMFUvKSmJT8sWXS3WDnTm4EacgRbsEynDenpxcfrAj\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://merlinchain.io\",\n \"name\": \"Merlin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 4200,\n \"rpc\": [\"https://4200.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.merlinchain.io\", \"https://merlin-mainnet-enterprise.unifra.io\", \"https://rpc-merlin.rockx.com\"],\n \"shortName\": \"Merlin-Mainnet\",\n \"slug\": \"merlin\",\n \"testnet\": false,\n \"title\": \"Merlin Mainnet\"\n};\n\nvar c4201 = {\n \"chain\": \"LUKSO Testnet\",\n \"chainId\": 4201,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.execution.testnet.lukso.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.testnet.lukso.network\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmeg9sFF5tAGi6MCx7YjtVHW6a23zqvHRK1xwzSdp9iE7z\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lukso.network\",\n \"name\": \"LUKSO Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TestLYX\",\n \"symbol\": \"LYXt\",\n \"decimals\": 18\n },\n \"networkId\": 4201,\n \"rpc\": [\"https://4201.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.lukso.network\", \"wss://ws-rpc.testnet.lukso.network\"],\n \"shortName\": \"lukso-testnet\",\n \"slip44\": 1,\n \"slug\": \"lukso-testnet\",\n \"testnet\": true\n};\n\nvar c4202 = {\n \"chain\": \"ETH\",\n \"chainId\": 4202,\n \"explorers\": [{\n \"name\": \"liskscout\",\n \"url\": \"https://sepolia-blockscout.lisk.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://app.optimism.io/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmVTS8jmWD5e7jVEn86wLjJsuMnc6s8fym3JbtE4etzSKf\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lisk.com\",\n \"name\": \"Lisk Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4202,\n \"rpc\": [\"https://4202.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sepolia-api.lisk.com\"],\n \"shortName\": \"lisksep\",\n \"slip44\": 134,\n \"slug\": \"lisk-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c4242 = {\n \"chain\": \"Nexi\",\n \"chainId\": 4242,\n \"explorers\": [{\n \"name\": \"nexiscan\",\n \"url\": \"https://www.nexiscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeifxqd7zel2m237kq5enavnh2s6cshaavswigogyvae2wevxy5k2ti\",\n \"width\": 512,\n \"height\": 578,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nexi.technology/\",\n \"name\": \"Nexi Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Nexi\",\n \"symbol\": \"NEXI\",\n \"decimals\": 18\n },\n \"networkId\": 4242,\n \"rpc\": [\"https://4242.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.chain.nexi.technology/\", \"https://chain.nexilix.com\", \"https://chain.nexi.evmnode.online\"],\n \"shortName\": \"nexi\",\n \"slip44\": 2500,\n \"slug\": \"nexi\",\n \"testnet\": false\n};\n\nvar c4243 = {\n \"chain\": \"Nexi V2\",\n \"chainId\": 4243,\n \"explorers\": [{\n \"name\": \"nexiscan\",\n \"url\": \"https://www.nexiscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeifxqd7zel2m237kq5enavnh2s6cshaavswigogyvae2wevxy5k2ti\",\n \"width\": 512,\n \"height\": 578,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nexi.technology/\",\n \"name\": \"Nexi V2 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"NexiV2\",\n \"symbol\": \"NEXI\",\n \"decimals\": 18\n },\n \"networkId\": 4243,\n \"rpc\": [\"https://4243.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain.nexiv2.nexilix.com\", \"https://rpc.chainv1.nexi.technology\"],\n \"shortName\": \"NexiV2\",\n \"slip44\": 2500,\n \"slug\": \"nexi-v2\",\n \"testnet\": false\n};\n\nvar c4328 = {\n \"chain\": \"Bobafuji Testnet\",\n \"chainId\": 4328,\n \"explorers\": [{\n \"name\": \"Bobafuji Testnet block explorer\",\n \"url\": \"https://blockexplorer.testnet.avax.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Bobafuji Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 4328,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://gateway.boba.network\"\n }]\n },\n \"rpc\": [\"https://4328.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.avax.boba.network\", \"wss://wss.testnet.avax.boba.network\", \"https://replica.testnet.avax.boba.network\"],\n \"shortName\": \"BobaFujiTestnet\",\n \"slip44\": 1,\n \"slug\": \"bobafuji-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c4337 = {\n \"chain\": \"BEAM\",\n \"chainId\": 4337,\n \"explorers\": [{\n \"name\": \"Beam Explorer\",\n \"url\": \"https://subnets.avax.network/beam\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.onbeam.com\"],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQJ21NWyGGDraicVEzS1Uqq1yXahM9NCuNZgnfYvtspdt\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.onbeam.com\",\n \"name\": \"Beam\",\n \"nativeCurrency\": {\n \"name\": \"Beam\",\n \"symbol\": \"BEAM\",\n \"decimals\": 18\n },\n \"networkId\": 4337,\n \"rpc\": [\"https://4337.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://build.onbeam.com/rpc\", \"wss://build.onbeam.com/ws\", \"https://subnets.avax.network/beam/mainnet/rpc\", \"wss://subnets.avax.network/beam/mainnet/ws\"],\n \"shortName\": \"beam\",\n \"slug\": \"beam\",\n \"testnet\": false\n};\n\nvar c4400 = {\n \"chain\": \"CREDIT\",\n \"chainId\": 4400,\n \"explorers\": [{\n \"name\": \"Creditscan\",\n \"url\": \"https://scan.creditsmartchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifbso3gd4wu5wxl27xyurxctmuae2jyuy37guqtzx23nga6ba4ag4\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreifbso3gd4wu5wxl27xyurxctmuae2jyuy37guqtzx23nga6ba4ag4\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://creditsmartchain.com\",\n \"name\": \"Credit Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Credit\",\n \"symbol\": \"CREDIT\",\n \"decimals\": 18\n },\n \"networkId\": 4400,\n \"rpc\": [\"https://4400.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.creditsmartchain.com\"],\n \"shortName\": \"CreditEdge\",\n \"slug\": \"credit-smart-chain\",\n \"testnet\": false\n};\n\nvar c4444 = {\n \"chain\": \"mainnet\",\n \"chainId\": 4444,\n \"explorers\": [{\n \"name\": \"htmlcoin\",\n \"url\": \"https://explorer.htmlcoin.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmR1oDRSadPerfyWMhKHNP268vPKvpczt5zPawgFSZisz2\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://gruvin.me/htmlcoin\"],\n \"icon\": {\n \"url\": \"ipfs://QmR1oDRSadPerfyWMhKHNP268vPKvpczt5zPawgFSZisz2\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://htmlcoin.com\",\n \"name\": \"Htmlcoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Htmlcoin\",\n \"symbol\": \"HTML\",\n \"decimals\": 8\n },\n \"networkId\": 4444,\n \"rpc\": [\"https://4444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://janus.htmlcoin.com/api/\"],\n \"shortName\": \"html\",\n \"slug\": \"htmlcoin\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c4460 = {\n \"chain\": \"ETH\",\n \"chainId\": 4460,\n \"explorers\": [{\n \"name\": \"basescout\",\n \"url\": \"https://explorerl2new-orderly-l2-4460-sepolia-8tc3sd7dvy.t.conduit.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSpwp3RAVhZsErAQrCQxEmjnGqJQMigarzZbfqr9Ktakb\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Orderly Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4460,\n \"rpc\": [\"https://4460.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://l2-orderly-l2-4460-sepolia-8tc3sd7dvy.t.conduit.xyz\"],\n \"shortName\": \"orderlyl2\",\n \"slip44\": 1,\n \"slug\": \"orderly-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c4488 = {\n \"chain\": \"HYDRA\",\n \"chainId\": 4488,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVxyUjuA8t9q3oWDgv8ExqaUXcRuDqiKrZAiLaBWHYcmG\",\n \"width\": 722,\n \"height\": 813,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hydrachain.org\",\n \"name\": \"Hydra Chain\",\n \"nativeCurrency\": {\n \"name\": \"Hydra\",\n \"symbol\": \"HYDRA\",\n \"decimals\": 18\n },\n \"networkId\": 4488,\n \"rpc\": [],\n \"shortName\": \"HYDRA\",\n \"slug\": \"hydra-chain\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c4544 = {\n \"chain\": \"Emoney\",\n \"chainId\": 4544,\n \"explorers\": [{\n \"name\": \"EMoney ethscan\",\n \"url\": \"https://ethscan.emoney.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreigo4gtboztftjdnbvy2rb2ku2gxxbhm4iwutzgnzhvden3vcbsqui\",\n \"width\": 472,\n \"height\": 462,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.emoney.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreigo4gtboztftjdnbvy2rb2ku2gxxbhm4iwutzgnzhvden3vcbsqui\",\n \"width\": 472,\n \"height\": 462,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://emoney.network/\",\n \"name\": \"Emoney Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Emoney Network\",\n \"symbol\": \"EMYC\",\n \"decimals\": 18\n },\n \"networkId\": 4544,\n \"rpc\": [\"https://4544.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.emoney.network/\"],\n \"shortName\": \"emoney\",\n \"slip44\": 118,\n \"slug\": \"emoney-network-testnet\",\n \"testnet\": true\n};\n\nvar c4613 = {\n \"chain\": \"VERY Mainnet\",\n \"chainId\": 4613,\n \"explorers\": [{\n \"name\": \"VERY explorer\",\n \"url\": \"https://www.veryscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreidyrvphfojaf7iev57trxk3sxbo6qikg26pdy66ke4n22dgm52wwa\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.verylabs.io/\",\n \"name\": \"VERY Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"VERY\",\n \"symbol\": \"VERY\",\n \"decimals\": 18\n },\n \"networkId\": 4613,\n \"rpc\": [\"https://4613.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.verylabs.io\"],\n \"shortName\": \"very\",\n \"slug\": \"very\",\n \"testnet\": false,\n \"title\": \"VERY Mainnet\"\n};\n\nvar c4638 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 4638,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3387\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3387 Token\",\n \"symbol\": \"LPB\",\n \"decimals\": 18\n },\n \"networkId\": 4638,\n \"redFlags\": [],\n \"rpc\": [\"https://4638.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3387\",\n \"slug\": \"qauser3387\",\n \"testnet\": true\n};\n\nvar c4653 = {\n \"chain\": \"Gold\",\n \"chainId\": 4653,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbvuHpn8Np5uTTbVNgv4JHCj2zfHBfmSoRcVNdWbcV5Vq\",\n \"width\": 226,\n \"height\": 104,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gold.dev\",\n \"name\": \"Gold Chain\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4653,\n \"rpc\": [\"https://4653.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain-rpc.gold.dev\"],\n \"shortName\": \"gold\",\n \"slug\": \"gold-chain\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Gold Chain\"\n};\n\nvar c4689 = {\n \"chain\": \"iotex.io\",\n \"chainId\": 4689,\n \"explorers\": [{\n \"name\": \"iotexscan\",\n \"url\": \"https://iotexscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQKHQrvtyUC5b5B76ke5GPTGXoGTVCubXS6gHgzCAswKo\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://iotex.io\",\n \"name\": \"IoTeX Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"IoTeX\",\n \"symbol\": \"IOTX\",\n \"decimals\": 18\n },\n \"networkId\": 4689,\n \"redFlags\": [],\n \"rpc\": [\"https://4689.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ankr.com/iotex\", \"https://babel-api.mainnet.iotex.io\"],\n \"shortName\": \"iotex-mainnet\",\n \"slug\": \"iotex-network\",\n \"testnet\": false\n};\n\nvar c4690 = {\n \"chain\": \"iotex.io\",\n \"chainId\": 4690,\n \"explorers\": [{\n \"name\": \"testnet iotexscan\",\n \"url\": \"https://testnet.iotexscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.iotex.io/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQKHQrvtyUC5b5B76ke5GPTGXoGTVCubXS6gHgzCAswKo\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://iotex.io\",\n \"name\": \"IoTeX Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"IoTeX\",\n \"symbol\": \"IOTX\",\n \"decimals\": 18\n },\n \"networkId\": 4690,\n \"redFlags\": [],\n \"rpc\": [\"https://4690.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://babel-api.testnet.iotex.io\"],\n \"shortName\": \"iotex-testnet\",\n \"slip44\": 1,\n \"slug\": \"iotex-network-testnet\",\n \"testnet\": true\n};\n\nvar c4759 = {\n \"chain\": \"MEVerse\",\n \"chainId\": 4759,\n \"explorers\": [{\n \"name\": \"MEVerse Chain Testnet Explorer\",\n \"url\": \"https://testnet.meversescan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.meverse.sg\",\n \"name\": \"MEVerse Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MEVerse\",\n \"symbol\": \"MEV\",\n \"decimals\": 18\n },\n \"networkId\": 4759,\n \"rpc\": [\"https://4759.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.meversetestnet.io\"],\n \"shortName\": \"TESTMEV\",\n \"slip44\": 1,\n \"slug\": \"meverse-chain-testnet\",\n \"testnet\": true\n};\n\nvar c4777 = {\n \"chain\": \"TBXN\",\n \"chainId\": 4777,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet-explorer.blackfort.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmPasA8xykRtJDivB2bcKDiRCUNWDPtfUTTKVAcaF2wVxC\",\n \"width\": 1968,\n \"height\": 1968,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://blackfort.exchange\",\n \"name\": \"BlackFort Exchange Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BlackFort Testnet Token\",\n \"symbol\": \"TBXN\",\n \"decimals\": 18\n },\n \"networkId\": 4777,\n \"rpc\": [\"https://4777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.blackfort.network/rpc\"],\n \"shortName\": \"TBXN\",\n \"slip44\": 1,\n \"slug\": \"blackfort-exchange-network-testnet\",\n \"testnet\": true\n};\n\nvar c4893 = {\n \"chain\": \"GC\",\n \"chainId\": 4893,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://gcscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPRHDsVNpRZ72GoQgDbpa3R4wKENmrXCRNuYJkxocFRDb\",\n \"width\": 306,\n \"height\": 293,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gcscan.io\",\n \"name\": \"Globel Chain\",\n \"nativeCurrency\": {\n \"name\": \"Globel Chain\",\n \"symbol\": \"GC\",\n \"decimals\": 18\n },\n \"networkId\": 4893,\n \"rpc\": [\"https://4893.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gcscan.io\"],\n \"shortName\": \"GC\",\n \"slug\": \"globel-chain\",\n \"testnet\": false\n};\n\nvar c4905 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 4905,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jambon's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jambon's Testnet Token\",\n \"symbol\": \"XFX\",\n \"decimals\": 18\n },\n \"networkId\": 4905,\n \"redFlags\": [],\n \"rpc\": [\"https://4905.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f4ceb0cc-0d11-4d49-888e-d744e333488a\"],\n \"shortName\": \"Jambon's Testnet\",\n \"slug\": \"jambon-s-testnet\",\n \"testnet\": true\n};\n\nvar c4918 = {\n \"chain\": \"XVM\",\n \"chainId\": 4918,\n \"explorers\": [{\n \"name\": \"Venidium EVM Testnet Explorer\",\n \"url\": \"https://evm-testnet.venidiumexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://venidium.io\",\n \"name\": \"Venidium Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Venidium\",\n \"symbol\": \"XVM\",\n \"decimals\": 18\n },\n \"networkId\": 4918,\n \"rpc\": [\"https://4918.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-evm-testnet.venidium.io\"],\n \"shortName\": \"txvm\",\n \"slip44\": 1,\n \"slug\": \"venidium-testnet\",\n \"testnet\": true\n};\n\nvar c4919 = {\n \"chain\": \"XVM\",\n \"chainId\": 4919,\n \"explorers\": [{\n \"name\": \"Venidium Explorer\",\n \"url\": \"https://evm.venidiumexplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiaplwlym5g27jm4mjhotfqq6al2cxp3fnkmzdusqjg7wnipq5wn2e\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://venidium.io\",\n \"name\": \"Venidium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Venidium\",\n \"symbol\": \"XVM\",\n \"decimals\": 18\n },\n \"networkId\": 4919,\n \"rpc\": [\"https://4919.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.venidium.io\"],\n \"shortName\": \"xvm\",\n \"slug\": \"venidium\",\n \"testnet\": false\n};\n\nvar c4999 = {\n \"chain\": \"BXN\",\n \"chainId\": 4999,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.blackfort.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmPasA8xykRtJDivB2bcKDiRCUNWDPtfUTTKVAcaF2wVxC\",\n \"width\": 1968,\n \"height\": 1968,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://blackfort.exchange\",\n \"name\": \"BlackFort Exchange Network\",\n \"nativeCurrency\": {\n \"name\": \"BlackFort Token\",\n \"symbol\": \"BXN\",\n \"decimals\": 18\n },\n \"networkId\": 4999,\n \"rpc\": [\"https://4999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.blackfort.network/rpc\", \"https://mainnet-1.blackfort.network/rpc\", \"https://mainnet-2.blackfort.network/rpc\", \"https://mainnet-3.blackfort.network/rpc\"],\n \"shortName\": \"BXN\",\n \"slug\": \"blackfort-exchange-network\",\n \"testnet\": false\n};\n\nvar c5000 = {\n \"chain\": \"ETH\",\n \"chainId\": 5000,\n \"explorers\": [{\n \"name\": \"Mantle Explorer\",\n \"url\": \"https://explorer.mantle.xyz\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Mantle Explorer\",\n \"url\": \"https://mantlescan.xyz/\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYddHh5zdceSsBU7uGfQvEHg6UUtAFbzQBBaePS4whx7o\",\n \"width\": 225,\n \"height\": 225,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mantle.xyz\",\n \"name\": \"Mantle\",\n \"nativeCurrency\": {\n \"name\": \"Mantle\",\n \"symbol\": \"MNT\",\n \"decimals\": 18\n },\n \"networkId\": 5000,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.mantle.xyz\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://5000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mantle.xyz\", \"https://mantle-rpc.publicnode.com\", \"wss://mantle-rpc.publicnode.com\"],\n \"shortName\": \"mantle\",\n \"slug\": \"mantle\",\n \"testnet\": false\n};\n\nvar c5001 = {\n \"chain\": \"ETH\",\n \"chainId\": 5001,\n \"explorers\": [{\n \"name\": \"Mantle Testnet Explorer\",\n \"url\": \"https://explorer.testnet.mantle.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.testnet.mantle.xyz\"],\n \"features\": [],\n \"infoURL\": \"https://mantle.xyz\",\n \"name\": \"Mantle Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Mantle\",\n \"symbol\": \"MNT\",\n \"decimals\": 18\n },\n \"networkId\": 5001,\n \"redFlags\": [],\n \"rpc\": [\"https://5001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.mantle.xyz\"],\n \"shortName\": \"mantle-testnet\",\n \"slip44\": 1,\n \"slug\": \"mantle-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c5002 = {\n \"chain\": \"Treasurenet Mainnet Alpha\",\n \"chainId\": 5002,\n \"explorers\": [{\n \"name\": \"Treasurenet EVM BlockExplorer\",\n \"url\": \"https://evmexplorer.treasurenet.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B\",\n \"width\": 1844,\n \"height\": 1920,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B\",\n \"width\": 1844,\n \"height\": 1920,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.treasurenet.io\",\n \"name\": \"Treasurenet Mainnet Alpha\",\n \"nativeCurrency\": {\n \"name\": \"UNIT\",\n \"symbol\": \"UNIT\",\n \"decimals\": 18\n },\n \"networkId\": 5002,\n \"rpc\": [\"https://5002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node0.treasurenet.io\", \"https://node1.treasurenet.io\", \"https://node2.treasurenet.io\", \"https://node3.treasurenet.io\"],\n \"shortName\": \"treasurenet\",\n \"slug\": \"treasurenet-alpha\",\n \"testnet\": false\n};\n\nvar c5003 = {\n \"chain\": \"ETH\",\n \"chainId\": 5003,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.sepolia.mantle.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.sepolia.mantle.xyz\"],\n \"features\": [],\n \"infoURL\": \"https://mantle.xyz\",\n \"name\": \"Mantle Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Mantle\",\n \"symbol\": \"MNT\",\n \"decimals\": 18\n },\n \"networkId\": 5003,\n \"redFlags\": [],\n \"rpc\": [\"https://5003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sepolia.mantle.xyz\"],\n \"shortName\": \"mnt-sep\",\n \"slip44\": 1,\n \"slug\": \"mantle-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c5005 = {\n \"chain\": \"Treasurenet Testnet\",\n \"chainId\": 5005,\n \"explorers\": [{\n \"name\": \"Treasurenet EVM BlockExplorer\",\n \"url\": \"https://evmexplorer.testnet.treasurenet.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B\",\n \"width\": 1844,\n \"height\": 1920,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTcNX8ukHkXiVfVah1W8Sed3vtGN95Sq2QSimfLuHva6B\",\n \"width\": 1844,\n \"height\": 1920,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.testnet.treasurenet.io\",\n \"name\": \"Treasurenet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"UNIT\",\n \"symbol\": \"UNIT\",\n \"decimals\": 18\n },\n \"networkId\": 5005,\n \"rpc\": [\"https://5005.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node0.testnet.treasurenet.io\", \"https://node1.testnet.treasurenet.io\", \"https://node2.testnet.treasurenet.io\", \"https://node3.testnet.treasurenet.io\"],\n \"shortName\": \"tntest\",\n \"slip44\": 1,\n \"slug\": \"treasurenet-testnet\",\n \"testnet\": true\n};\n\nvar c5039 = {\n \"chain\": \"ONIGIRI\",\n \"chainId\": 5039,\n \"explorers\": [{\n \"name\": \"ONIGIRI Explorer\",\n \"url\": \"https://subnets-test.avax.network/onigiri\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreieenivbkpmaxslvvvaybi53hynnarng4ek37xhtf5euvsyunvhbai\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ongr.org/\",\n \"name\": \"ONIGIRI Test Subnet\",\n \"nativeCurrency\": {\n \"name\": \"ONIGIRI\",\n \"symbol\": \"ONGR\",\n \"decimals\": 18\n },\n \"networkId\": 5039,\n \"rpc\": [\"https://5039.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/onigiri/testnet/rpc\"],\n \"shortName\": \"onigiritest\",\n \"slug\": \"onigiri-test-subnet\",\n \"testnet\": true\n};\n\nvar c5040 = {\n \"chain\": \"ONIGIRI\",\n \"chainId\": 5040,\n \"explorers\": [{\n \"name\": \"ONIGIRI Explorer\",\n \"url\": \"https://subnets.avax.network/onigiri\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreieenivbkpmaxslvvvaybi53hynnarng4ek37xhtf5euvsyunvhbai\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.ongr.org/\",\n \"name\": \"ONIGIRI Subnet\",\n \"nativeCurrency\": {\n \"name\": \"ONIGIRI\",\n \"symbol\": \"ONGR\",\n \"decimals\": 18\n },\n \"networkId\": 5040,\n \"rpc\": [\"https://5040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/onigiri/mainnet/rpc\"],\n \"shortName\": \"onigiri\",\n \"slug\": \"onigiri-subnet\",\n \"testnet\": false\n};\n\nvar c5041 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 5041,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"OMOCHI\",\n \"nativeCurrency\": {\n \"name\": \"OMOCHI Token\",\n \"symbol\": \"OMCH\",\n \"decimals\": 18\n },\n \"networkId\": 5041,\n \"redFlags\": [],\n \"rpc\": [\"https://5041.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/omochi/mainnet/rpc\"],\n \"shortName\": \"OMOCHI\",\n \"slug\": \"omochi\",\n \"testnet\": false\n};\n\nvar c5042 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 5042,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"OMOCHI\",\n \"nativeCurrency\": {\n \"name\": \"OMOCHI Token\",\n \"symbol\": \"OMCH\",\n \"decimals\": 18\n },\n \"networkId\": 5042,\n \"redFlags\": [],\n \"rpc\": [\"https://5042.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/omochi/testnet/rpc\"],\n \"shortName\": \"OMOCHI\",\n \"slug\": \"omochi-omochi\",\n \"testnet\": true\n};\n\nvar c5051 = {\n \"chain\": \"Skatechain\",\n \"chainId\": 5051,\n \"explorers\": [{\n \"name\": \"Nollie Skate Chain Testnet Explorer\",\n \"url\": \"https://nolliescan.skatechain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmdofX1W8QFt4TSDaq2wyPvYuUba9LabgD1MYcn3Hezu8h\",\n \"width\": 600,\n \"height\": 875,\n \"format\": \"png\"\n },\n \"name\": \"Nollie Skatechain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5051,\n \"rpc\": [\"https://5051.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nollie-rpc.skatechain.org/\"],\n \"shortName\": \"nollie-testnet\",\n \"slug\": \"nollie-skatechain-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c5100 = {\n \"chain\": \"Syndicate\",\n \"chainId\": 5100,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeSvQcD3XvLFAiMLoQSPbGK9JxVfbCWPBUTMLhhhzYPqX\",\n \"width\": 16000,\n \"height\": 16000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://syndicate.io\",\n \"name\": \"Syndicate Testnet\",\n \"nativeCurrency\": {\n \"name\": \"S-Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5100,\n \"rpc\": [\"https://5100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.syndicate.io\"],\n \"shortName\": \"syndicate-chain-testnet\",\n \"slug\": \"syndicate-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true,\n \"title\": \"Syndicate Testnet\"\n};\n\nvar c5101 = {\n \"chain\": \"Syndicate Frame\",\n \"chainId\": 5101,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeSvQcD3XvLFAiMLoQSPbGK9JxVfbCWPBUTMLhhhzYPqX\",\n \"width\": 16000,\n \"height\": 16000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://syndicate.io\",\n \"name\": \"Syndicate Frame Chain\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5101,\n \"rpc\": [\"https://5101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-frame.syndicate.io\"],\n \"shortName\": \"syndicate-chain-frame\",\n \"slug\": \"syndicate-frame-chain\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Syndicate Frame Chain\"\n};\n\nvar c5102 = {\n \"chain\": \"SIC Testnet\",\n \"chainId\": 5102,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorerl2new-sic-testnet-zvr7tlkzsi.t.conduit.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.fwb.help/\",\n \"name\": \"SIC Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5102,\n \"rpc\": [\"https://5102.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-sic-testnet-zvr7tlkzsi.t.conduit.xyz\"],\n \"shortName\": \"sic-testnet\",\n \"slug\": \"sic-testnet\",\n \"testnet\": true\n};\n\nvar c5103 = {\n \"chain\": \"Coordinape Testnet\",\n \"chainId\": 5103,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://coordinape.com/\",\n \"name\": \"Coordinape Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5103,\n \"rpc\": [\"https://5103.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-coordinape-testnet-vs9se3oc4v.t.conduit.xyz\"],\n \"shortName\": \"coordinape-testnet\",\n \"slug\": \"coordinape-testnet\",\n \"testnet\": true\n};\n\nvar c5104 = {\n \"chain\": \"Charmverse Testnet\",\n \"chainId\": 5104,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://charmverse.io/\",\n \"name\": \"Charmverse Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5104,\n \"rpc\": [\"https://5104.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-charmverse-testnet-g6blnaebes.t.conduit.xyz\"],\n \"shortName\": \"charmverse-testnet\",\n \"slug\": \"charmverse-testnet\",\n \"testnet\": true\n};\n\nvar c5105 = {\n \"chain\": \"Superloyalty Testnet\",\n \"chainId\": 5105,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.superloyal.com/\",\n \"name\": \"Superloyalty Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5105,\n \"rpc\": [\"https://5105.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-superloyalty-testnet-1m5gwjbsv1.t.conduit.xyz\"],\n \"shortName\": \"superloyalty-testnet\",\n \"slug\": \"superloyalty-testnet\",\n \"testnet\": true\n};\n\nvar c5106 = {\n \"chain\": \"Azra Testnet\",\n \"chainId\": 5106,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorerl2new-azra-testnet-6hz86owb1n.t.conduit.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://azragames.com\",\n \"name\": \"Azra Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5106,\n \"rpc\": [\"https://5106.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-azra-testnet-6hz86owb1n.t.conduit.xyz\"],\n \"shortName\": \"azra-testnet\",\n \"slug\": \"azra-testnet\",\n \"testnet\": true\n};\n\nvar c5112 = {\n \"chain\": \"Ham\",\n \"chainId\": 5112,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.ham.fun\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcbYVenTET9HBS7vs7SGv1MNqnRscAKVF5kaRVHaVCfvs\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://ham.fun\",\n \"name\": \"Ham\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5112,\n \"rpc\": [\"https://5112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ham.fun\"],\n \"shortName\": \"ham\",\n \"slug\": \"ham\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c5165 = {\n \"chain\": \"Bahamut\",\n \"chainId\": 5165,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://ftnscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSemioP83RXnDWwTZbet8VpwJxcFRboX4B3pcdhLZGodP\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bahamut.io\",\n \"name\": \"Bahamut\",\n \"nativeCurrency\": {\n \"name\": \"FTN\",\n \"symbol\": \"FTN\",\n \"decimals\": 18\n },\n \"networkId\": 5165,\n \"rpc\": [\"https://5165.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.bahamut.io\", \"https://rpc2.bahamut.io\", \"wss://ws1.sahara.bahamutchain.com\", \"wss://ws2.sahara.bahamutchain.com\", \"https://bahamut-rpc.publicnode.com\", \"wss://bahamut-rpc.publicnode.com\"],\n \"shortName\": \"ftn\",\n \"slug\": \"bahamut\",\n \"testnet\": false,\n \"title\": \"Bahamut mainnet\"\n};\n\nvar c5169 = {\n \"chain\": \"SLN\",\n \"chainId\": 5169,\n \"explorers\": [{\n \"name\": \"SLN Mainnet Explorer\",\n \"url\": \"https://explorer.main.smartlayer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.smartlayer.network/\",\n \"name\": \"Smart Layer Network\",\n \"nativeCurrency\": {\n \"name\": \"Service Unit Token\",\n \"symbol\": \"SU\",\n \"decimals\": 18\n },\n \"networkId\": 5169,\n \"rpc\": [\"https://5169.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.main.smartlayer.network\"],\n \"shortName\": \"SLN\",\n \"slug\": \"smart-layer-network\",\n \"testnet\": false\n};\n\nvar c5177 = {\n \"chain\": \"TLC\",\n \"chainId\": 5177,\n \"explorers\": [{\n \"name\": \"TLChain Explorer\",\n \"url\": \"https://explorer.tlchain.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaR5TsgnWSjLys6wGaciKUbc5qYL3Es4jtgQcosVqDWR3\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://tlchain.network/\",\n \"name\": \"TLChain Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TLChain Network\",\n \"symbol\": \"TLC\",\n \"decimals\": 18\n },\n \"networkId\": 5177,\n \"rpc\": [\"https://5177.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.tlxscan.com/\"],\n \"shortName\": \"tlc\",\n \"slug\": \"tlchain-network\",\n \"testnet\": false\n};\n\nvar c5197 = {\n \"chain\": \"ESN\",\n \"chainId\": 5197,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmV1wZ1RVXeD7216aiVBpLkbBBHWNuoTvcSzpVQsqi2uaH\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eraswap.info/\",\n \"name\": \"EraSwap Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EraSwap\",\n \"symbol\": \"ES\",\n \"decimals\": 18\n },\n \"networkId\": 5197,\n \"rpc\": [\"https://5197.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.eraswap.network\", \"https://rpc-mumbai.mainnet.eraswap.network\"],\n \"shortName\": \"es\",\n \"slug\": \"eraswap\",\n \"testnet\": false\n};\n\nvar c5234 = {\n \"chain\": \"HMND\",\n \"chainId\": 5234,\n \"explorers\": [{\n \"name\": \"Subscan\",\n \"url\": \"https://humanode.subscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qma2GfW5nQHuA7nGqdEfwaXPL63G9oTwRTQKaGTfjNtM2W\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeihuskzfwqogwvutaxil6sztmvpiavzbrzwjwpn6w2i4j3jysbybra\",\n \"width\": 1043,\n \"height\": 1043,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://humanode.io\",\n \"name\": \"Humanode Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"eHMND\",\n \"symbol\": \"eHMND\",\n \"decimals\": 18\n },\n \"networkId\": 5234,\n \"rpc\": [\"https://5234.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://explorer-rpc-http.mainnet.stages.humanode.io\"],\n \"shortName\": \"hmnd\",\n \"slug\": \"humanode\",\n \"testnet\": false\n};\n\nvar c5290 = {\n \"chain\": \"FIRE\",\n \"chainId\": 5290,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYjuztyURb3Fc6ZTLgCbwQa64CcVoigF5j9cafzuSbqgf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://thefirechain.com\",\n \"name\": \"Firechain Mainnet Old\",\n \"nativeCurrency\": {\n \"name\": \"Firechain\",\n \"symbol\": \"FIRE\",\n \"decimals\": 18\n },\n \"networkId\": 5290,\n \"rpc\": [\"https://5290.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.rpc1.thefirechain.com\"],\n \"shortName\": \"_old_fire\",\n \"slug\": \"firechain-old\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c5315 = {\n \"chain\": \"UZMI\",\n \"chainId\": 5315,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://uzmigames.com.br/\",\n \"name\": \"Uzmi Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"UZMI\",\n \"symbol\": \"UZMI\",\n \"decimals\": 18\n },\n \"networkId\": 5315,\n \"rpc\": [\"https://5315.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://network.uzmigames.com.br/\"],\n \"shortName\": \"UZMI\",\n \"slug\": \"uzmi-network\",\n \"testnet\": false\n};\n\nvar c5317 = {\n \"chain\": \"OpTrust\",\n \"chainId\": 5317,\n \"explorers\": [{\n \"name\": \"OpTrust Testnet explorer\",\n \"url\": \"https://scantest.optrust.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYktPMo4tdQhMA9nRJBVckjzHcFLbpHbTVNSpGUUPEP8J\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYktPMo4tdQhMA9nRJBVckjzHcFLbpHbTVNSpGUUPEP8J\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optrust.io\",\n \"name\": \"OpTrust Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TestBSC\",\n \"symbol\": \"tBNB\",\n \"decimals\": 18\n },\n \"networkId\": 5317,\n \"rpc\": [\"https://5317.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctest.optrust.io\"],\n \"shortName\": \"toptrust\",\n \"slug\": \"optrust-testnet\",\n \"testnet\": true\n};\n\nvar c5321 = {\n \"chain\": \"ITX\",\n \"chainId\": 5321,\n \"explorers\": [{\n \"name\": \"ITX Testnet Explorer (Blockscout)\",\n \"url\": \"https://explorer.testnet.itxchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://explorer.testnet.itxchain.com\",\n \"name\": \"ITX Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ITX\",\n \"symbol\": \"ITX\",\n \"decimals\": 18\n },\n \"networkId\": 5321,\n \"rpc\": [\"https://5321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.itxchain.com\"],\n \"shortName\": \"itx-testnet\",\n \"slug\": \"itx-testnet\",\n \"testnet\": true\n};\n\nvar c5353 = {\n \"chain\": \"TRITANIUM\",\n \"chainId\": 5353,\n \"explorers\": [{\n \"name\": \"TRITANIUM Testnet Explorer\",\n \"url\": \"https://testnet.tritanium.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRm6gcEPJmU9a86zrmyP7FALTN4Toz9HrnrL2Kwg6FPeh\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.tritanium.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmRm6gcEPJmU9a86zrmyP7FALTN4Toz9HrnrL2Kwg6FPeh\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://tritanium.network\",\n \"name\": \"Tritanium Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Tritanium Native Token\",\n \"symbol\": \"tTRN\",\n \"decimals\": 18\n },\n \"networkId\": 5353,\n \"rpc\": [\"https://5353.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nodetestnet-station-one.tritanium.network/\", \"https://nodetestnet-station-two.tritanium.network/\"],\n \"shortName\": \"ttrn\",\n \"slip44\": 1,\n \"slug\": \"tritanium-testnet\",\n \"testnet\": true\n};\n\nvar c5372 = {\n \"chain\": \"Settlus\",\n \"chainId\": 5372,\n \"explorers\": [{\n \"name\": \"Settlus Scan\",\n \"url\": \"https://testnet.settlus.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.settlus.io\"],\n \"infoURL\": \"https://settlus.org\",\n \"name\": \"Settlus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Setl\",\n \"symbol\": \"SETL\",\n \"decimals\": 18\n },\n \"networkId\": 5372,\n \"rpc\": [\"https://5372.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://settlus-test-eth.settlus.io\"],\n \"shortName\": \"settlus-testnet\",\n \"slug\": \"settlus-testnet\",\n \"testnet\": true\n};\n\nvar c5424 = {\n \"chain\": \"edeXa Network\",\n \"chainId\": 5424,\n \"explorers\": [{\n \"name\": \"edexa-mainnet\",\n \"url\": \"https://explorer.edexa.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSgvmLpRsCiu2ySqyceA5xN4nwi7URJRNEZLffwEKXdoR\",\n \"width\": 1028,\n \"height\": 1042,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://edexa.network/\",\n \"name\": \"edeXa Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EDEXA\",\n \"symbol\": \"EDX\",\n \"decimals\": 18\n },\n \"networkId\": 5424,\n \"rpc\": [\"https://5424.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.edexa.network/rpc\", \"https://mainnet.edexa.com/rpc\", \"https://io-dataseed1.mainnet.edexa.io-market.com/rpc\"],\n \"shortName\": \"edeXa\",\n \"slip44\": 1,\n \"slug\": \"edexa\",\n \"testnet\": false\n};\n\nvar c5439 = {\n \"chain\": \"EGAX\",\n \"chainId\": 5439,\n \"explorers\": [{\n \"name\": \"egoscan\",\n \"url\": \"https://egoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.egochain.org/\",\n \"name\": \"Egochain\",\n \"nativeCurrency\": {\n \"name\": \"EGAX\",\n \"symbol\": \"EGAX\",\n \"decimals\": 18\n },\n \"networkId\": 5439,\n \"rpc\": [\"https://5439.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.egochain.org\"],\n \"shortName\": \"egax\",\n \"slug\": \"egochain\",\n \"testnet\": false\n};\n\nvar c5522 = {\n \"chain\": \"vex\",\n \"chainId\": 5522,\n \"explorers\": [{\n \"name\": \"Vexascan-EVM-TestNet\",\n \"url\": \"https://testnet.vexascan.com/evmexplorer\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://t.me/vexfaucetbot\"],\n \"icon\": {\n \"url\": \"ipfs://QmcZiEAGFYEEax1uxYnDUh8X5YBvZqMi9K92yZoq4o2zeM\",\n \"width\": 451,\n \"height\": 446,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://vexanium.com\",\n \"name\": \"VEX EVM TESTNET\",\n \"nativeCurrency\": {\n \"name\": \"VEX EVM TESTNET\",\n \"symbol\": \"VEX\",\n \"decimals\": 18\n },\n \"networkId\": 5522,\n \"rpc\": [\"https://5522.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.vexascan.com/evmapi\"],\n \"shortName\": \"VEX\",\n \"slip44\": 1,\n \"slug\": \"vex-evm-testnet\",\n \"testnet\": true\n};\n\nvar c5551 = {\n \"chain\": \"Nahmii\",\n \"chainId\": 5551,\n \"explorers\": [{\n \"name\": \"Nahmii 2 Mainnet Explorer\",\n \"url\": \"https://explorer.n2.nahmii.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nahmii.io\",\n \"name\": \"Nahmii 2 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5551,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://n2.bridge.nahmii.io\"\n }]\n },\n \"rpc\": [\"https://5551.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://l2.nahmii.io\"],\n \"shortName\": \"Nahmii\",\n \"slug\": \"nahmii-2\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c5553 = {\n \"chain\": \"Nahmii\",\n \"chainId\": 5553,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.testnet.nahmii.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZhKXgoGpzvthr2eh8ZNgT75YvMtEBegdELAaMPPzf5QT\",\n \"width\": 384,\n \"height\": 384,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nahmii.io\",\n \"name\": \"Nahmii 2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5553,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-3\",\n \"bridges\": [{\n \"url\": \"https://bridge.nahmii.io\"\n }]\n },\n \"rpc\": [\"https://5553.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://l2.testnet.nahmii.io\"],\n \"shortName\": \"NahmiiTestnet\",\n \"slip44\": 1,\n \"slug\": \"nahmii-2-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c5555 = {\n \"chain\": \"CVERSE\",\n \"chainId\": 5555,\n \"explorers\": [{\n \"name\": \"Chain Verse Explorer\",\n \"url\": \"https://explorer.chainverse.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk\",\n \"width\": 1000,\n \"height\": 1436,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://chainverse.info\",\n \"name\": \"Chain Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Oasys\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 5555,\n \"rpc\": [\"https://5555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.chainverse.info\"],\n \"shortName\": \"cverse\",\n \"slug\": \"chain-verse\",\n \"testnet\": false\n};\n\nvar c5611 = {\n \"chain\": \"opBNB\",\n \"chainId\": 5611,\n \"explorers\": [{\n \"name\": \"bscscan-opbnb-testnet\",\n \"url\": \"https://opbnb-testnet.bscscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"opbnbscan\",\n \"url\": \"https://opbnbscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet.bnbchain.org/faucet-smart\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeib75gwytvblyvjpfminitr3i6mpat3a624udfsqsl5nysf5vuuvie\",\n \"width\": 96,\n \"height\": 96,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://opbnb.bnbchain.org/en\",\n \"name\": \"opBNB Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BNB Chain Native Token\",\n \"symbol\": \"tBNB\",\n \"decimals\": 18\n },\n \"networkId\": 5611,\n \"rpc\": [\"https://5611.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://opbnb-testnet-rpc.bnbchain.org\", \"https://opbnb-testnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3\", \"wss://opbnb-testnet.nodereal.io/ws/v1/64a9df0874fb4a93b9d0a3849de012d3\", \"https://opbnb-testnet.nodereal.io/v1/e9a36765eb8a40b9bd12e680a1fd2bc5\", \"wss://opbnb-testnet.nodereal.io/ws/v1/e9a36765eb8a40b9bd12e680a1fd2bc5\", \"https://opbnb-testnet-rpc.publicnode.com\", \"wss://opbnb-testnet-rpc.publicnode.com\"],\n \"shortName\": \"obnbt\",\n \"slip44\": 1,\n \"slug\": \"opbnb-testnet\",\n \"testnet\": true\n};\n\nvar c5615 = {\n \"chain\": \"Arcturus\",\n \"chainId\": 5615,\n \"explorers\": [{\n \"name\": \"explorer-arcturus-testnet\",\n \"url\": \"https://testnet.arcscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.arcturuschain.io\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://arcturuschain.io\",\n \"name\": \"Arcturus Testneet\",\n \"nativeCurrency\": {\n \"name\": \"tARC\",\n \"symbol\": \"tARC\",\n \"decimals\": 18\n },\n \"networkId\": 5615,\n \"rpc\": [\"https://5615.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.arcturuschain.io/\"],\n \"shortName\": \"arcturus-testnet\",\n \"slug\": \"arcturus-testneet\",\n \"testnet\": true\n};\n\nvar c5616 = {\n \"chain\": \"ARCTURUS\",\n \"chainId\": 5616,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://arcturuschain.io\",\n \"name\": \"Arcturus Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Test Arct\",\n \"symbol\": \"tARCT\",\n \"decimals\": 18\n },\n \"networkId\": 5616,\n \"rpc\": [\"https://5616.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://185.99.196.3:8545\"],\n \"shortName\": \"ARCT\",\n \"slip44\": 1,\n \"slug\": \"arcturus-chain-testnet\",\n \"testnet\": true\n};\n\nvar c5656 = {\n \"chain\": \"QIE\",\n \"chainId\": 5656,\n \"explorers\": [{\n \"name\": \"QIE Explorer\",\n \"url\": \"https://mainnet.qiblockchain.online\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRoNxCti6cHrPgZ48YQVSMg9g6ympfXuV8kGQJXrbbmed\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://qiblockchain.online/\",\n \"name\": \"QIE Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"QIE Blockchain\",\n \"symbol\": \"QIE\",\n \"decimals\": 18\n },\n \"networkId\": 5656,\n \"rpc\": [\"https://5656.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-main1.qiblockchain.online/\", \"https://rpc-main2.qiblockchain.online/\"],\n \"shortName\": \"QIE\",\n \"slug\": \"qie-blockchain\",\n \"testnet\": false\n};\n\nvar c5668 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 5668,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"JONO122\",\n \"nativeCurrency\": {\n \"name\": \"JONO122 Token\",\n \"symbol\": \"JONO\",\n \"decimals\": 18\n },\n \"networkId\": 5668,\n \"redFlags\": [],\n \"rpc\": [\"https://5668.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jono122/testnet/rpc\"],\n \"shortName\": \"JONO122\",\n \"slug\": \"jono122\",\n \"testnet\": true\n};\n\nvar c5675 = {\n \"chain\": \"Filenova\",\n \"chainId\": 5675,\n \"explorers\": [{\n \"name\": \"filenova testnet explorer\",\n \"url\": \"https://scantest.filenova.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qmc4KSKiAChhtN7ZNE5gvkLTRbvtLreKU9xaQFG8BKM8RE\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc4KSKiAChhtN7ZNE5gvkLTRbvtLreKU9xaQFG8BKM8RE\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filenova.org\",\n \"name\": \"Filenova Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Test Filecoin\",\n \"symbol\": \"tFIL\",\n \"decimals\": 18\n },\n \"networkId\": 5675,\n \"rpc\": [\"https://5675.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctest.filenova.org\"],\n \"shortName\": \"tfilenova\",\n \"slug\": \"filenova-testnet\",\n \"testnet\": true\n};\n\nvar c5678 = {\n \"chain\": \"TANGO\",\n \"chainId\": 5678,\n \"explorers\": [{\n \"name\": \"BlockScout\",\n \"url\": \"https://3001-blockscout.a.dancebox.tanssi.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.tanssi.network/builders/tanssi-network/networks/dancebox/demo-evm-containerchain\",\n \"name\": \"Tanssi Demo\",\n \"nativeCurrency\": {\n \"name\": \"TANGO\",\n \"symbol\": \"TANGO\",\n \"decimals\": 18\n },\n \"networkId\": 5678,\n \"rpc\": [\"https://5678.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network\", \"wss://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network\"],\n \"shortName\": \"tango\",\n \"slug\": \"tanssi-demo\",\n \"testnet\": false\n};\n\nvar c5700 = {\n \"chain\": \"SYS\",\n \"chainId\": 5700,\n \"explorers\": [{\n \"name\": \"Syscoin Testnet Block Explorer\",\n \"url\": \"https://tanenbaum.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.tanenbaum.io\"],\n \"infoURL\": \"https://syscoin.org\",\n \"name\": \"Syscoin Tanenbaum Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Syscoin\",\n \"symbol\": \"tSYS\",\n \"decimals\": 18\n },\n \"networkId\": 5700,\n \"rpc\": [\"https://5700.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tanenbaum.io\", \"wss://rpc.tanenbaum.io/wss\", \"https://syscoin-tanenbaum-evm.publicnode.com\", \"wss://syscoin-tanenbaum-evm.publicnode.com\"],\n \"shortName\": \"tsys\",\n \"slip44\": 1,\n \"slug\": \"syscoin-tanenbaum-testnet\",\n \"testnet\": true\n};\n\nvar c5729 = {\n \"chain\": \"HIK\",\n \"chainId\": 5729,\n \"explorers\": [{\n \"name\": \"Hika Network Testnet Explorer\",\n \"url\": \"https://scan-testnet.hika.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW44FPm3CMM2JDs8BQxLNvUtykkUtrGkQkQsUDJSi3Gmp\",\n \"width\": 350,\n \"height\": 84,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hika.network/\",\n \"name\": \"Hika Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Hik Token\",\n \"symbol\": \"HIK\",\n \"decimals\": 18\n },\n \"networkId\": 5729,\n \"rpc\": [\"https://5729.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.hika.network/\"],\n \"shortName\": \"hik\",\n \"slug\": \"hika-network-testnet\",\n \"testnet\": true,\n \"title\": \"Hika Network Testnet\"\n};\n\nvar c5758 = {\n \"chain\": \"SATS\",\n \"chainId\": 5758,\n \"explorers\": [{\n \"name\": \"SatoshiChain Testnet Explorer\",\n \"url\": \"https://testnet.satoshiscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.satoshichain.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmRegpZQBW4o1imYNsW3d27MQjygBSU23Gf6JKje26nvs7\",\n \"width\": 1251,\n \"height\": 1251,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://satoshichain.net\",\n \"name\": \"SatoshiChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SatoshiChain Coin\",\n \"symbol\": \"SATS\",\n \"decimals\": 18\n },\n \"networkId\": 5758,\n \"rpc\": [\"https://5758.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.satoshichain.io\"],\n \"shortName\": \"satst\",\n \"slip44\": 1,\n \"slug\": \"satoshichain-testnet\",\n \"testnet\": true\n};\n\nvar c5777 = {\n \"chain\": \"ETH\",\n \"chainId\": 5777,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc9N7V8CiLB4r7FEcG7GojqfiGGsRCZqcFWCahwMohbDW\",\n \"width\": 267,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://trufflesuite.com/ganache/\",\n \"name\": \"Ganache\",\n \"nativeCurrency\": {\n \"name\": \"Ganache Test Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 5777,\n \"rpc\": [\"https://5777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://127.0.0.1:7545\"],\n \"shortName\": \"ggui\",\n \"slip44\": 1,\n \"slug\": \"ganache\",\n \"testnet\": true,\n \"title\": \"Ganache GUI Ethereum Testnet\"\n};\n\nvar c5810 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 5810,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Reg Tnet\",\n \"nativeCurrency\": {\n \"name\": \"Reg Tnet Token\",\n \"symbol\": \"LUG\",\n \"decimals\": 18\n },\n \"networkId\": 5810,\n \"redFlags\": [],\n \"rpc\": [\"https://5810.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Reg Tnet\",\n \"slug\": \"reg-tnet\",\n \"testnet\": true\n};\n\nvar c5845 = {\n \"chain\": \"Tangle\",\n \"chainId\": 5845,\n \"explorers\": [{\n \"name\": \"Tangle EVM Explorer\",\n \"url\": \"https://explorer.tangle.tools\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbxMNBTeQgch8t9GpWdLiS2R3wPYCzVRaX5kCQ4o5QU3w\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbxMNBTeQgch8t9GpWdLiS2R3wPYCzVRaX5kCQ4o5QU3w\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.tangle.tools\",\n \"name\": \"Tangle\",\n \"nativeCurrency\": {\n \"name\": \"Tangle\",\n \"symbol\": \"TNT\",\n \"decimals\": 18\n },\n \"networkId\": 5845,\n \"rpc\": [\"https://5845.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tangle.tools\", \"wss://rpc.tangle.tools\"],\n \"shortName\": \"tangle\",\n \"slug\": \"tangle\",\n \"testnet\": false\n};\n\nvar c5851 = {\n \"chain\": \"Ontology\",\n \"chainId\": 5851,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.ont.io/testnet\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://developer.ont.io/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreigmvn6spvbiirtutowpq6jmetevbxoof5plzixjoerbeswy4htfb4\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ont.io/\",\n \"name\": \"Ontology Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ONG\",\n \"symbol\": \"ONG\",\n \"decimals\": 18\n },\n \"networkId\": 5851,\n \"rpc\": [\"https://5851.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://polaris1.ont.io:20339\", \"http://polaris2.ont.io:20339\", \"http://polaris3.ont.io:20339\", \"http://polaris4.ont.io:20339\", \"https://polaris1.ont.io:10339\", \"https://polaris2.ont.io:10339\", \"https://polaris3.ont.io:10339\", \"https://polaris4.ont.io:10339\"],\n \"shortName\": \"OntologyTestnet\",\n \"slip44\": 1,\n \"slug\": \"ontology-testnet\",\n \"testnet\": true\n};\n\nvar c5869 = {\n \"chain\": \"RBD\",\n \"chainId\": 5869,\n \"explorers\": [{\n \"name\": \"wegoscan2\",\n \"url\": \"https://scan2.wegochain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.wegochain.io\",\n \"name\": \"Wegochain Rubidium Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Rubid\",\n \"symbol\": \"RBD\",\n \"decimals\": 18\n },\n \"networkId\": 5869,\n \"rpc\": [\"https://5869.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://proxy.wegochain.io\", \"http://wallet.wegochain.io:7764\"],\n \"shortName\": \"rbd\",\n \"slug\": \"wegochain-rubidium\",\n \"testnet\": false\n};\n\nvar c6000 = {\n \"chain\": \"BounceBit\",\n \"chainId\": 6000,\n \"explorers\": [{\n \"name\": \"BBScan Testnet Explorer\",\n \"url\": \"https://bbscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXry4fg4n371PCokLGKUMwmws1SoJb5giZM3EedeEQaZz\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bouncebit.io\",\n \"name\": \"BounceBit Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BounceBit\",\n \"symbol\": \"BB\",\n \"decimals\": 18\n },\n \"networkId\": 6000,\n \"rpc\": [\"https://6000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fullnode-testnet.bouncebitapi.com/\"],\n \"shortName\": \"bouncebit-testnet\",\n \"slug\": \"bouncebit-testnet\",\n \"testnet\": true\n};\n\nvar c6001 = {\n \"chain\": \"BounceBit\",\n \"chainId\": 6001,\n \"explorers\": [{\n \"name\": \"BBScan Mainnet Explorer\",\n \"url\": \"https://bbscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXry4fg4n371PCokLGKUMwmws1SoJb5giZM3EedeEQaZz\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bouncebit.io\",\n \"name\": \"BounceBit Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BounceBit\",\n \"symbol\": \"BB\",\n \"decimals\": 18\n },\n \"networkId\": 6001,\n \"rpc\": [\"https://6001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fullnode-mainnet.bouncebitapi.com/\"],\n \"shortName\": \"bouncebit-mainnet\",\n \"slug\": \"bouncebit\",\n \"testnet\": false\n};\n\nvar c6065 = {\n \"chain\": \"TresLeches\",\n \"chainId\": 6065,\n \"explorers\": [{\n \"name\": \"treslechesexplorer\",\n \"url\": \"https://explorer-test.tresleches.finance\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmS33ypsZ1Hx5LMMACaJaxePy9QNYMwu4D12niobExLK74\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"http://faucet.tresleches.finance:8080\"],\n \"icon\": {\n \"url\": \"ipfs://QmS33ypsZ1Hx5LMMACaJaxePy9QNYMwu4D12niobExLK74\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://treschain.com\",\n \"name\": \"Tres Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TRES\",\n \"symbol\": \"TRES\",\n \"decimals\": 18\n },\n \"networkId\": 6065,\n \"rpc\": [\"https://6065.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-test.tresleches.finance/\"],\n \"shortName\": \"TRESTEST\",\n \"slip44\": 1,\n \"slug\": \"tres-testnet\",\n \"testnet\": true\n};\n\nvar c6066 = {\n \"chain\": \"TresLeches\",\n \"chainId\": 6066,\n \"explorers\": [{\n \"name\": \"treslechesexplorer\",\n \"url\": \"https://explorer.tresleches.finance\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmS33ypsZ1Hx5LMMACaJaxePy9QNYMwu4D12niobExLK74\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS33ypsZ1Hx5LMMACaJaxePy9QNYMwu4D12niobExLK74\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://treschain.com\",\n \"name\": \"Tres Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TRES\",\n \"symbol\": \"TRES\",\n \"decimals\": 18\n },\n \"networkId\": 6066,\n \"rpc\": [\"https://6066.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tresleches.finance/\", \"https://rpc.treschain.io/\"],\n \"shortName\": \"TRESMAIN\",\n \"slug\": \"tres\",\n \"testnet\": false\n};\n\nvar c6102 = {\n \"chain\": \"Cascadia\",\n \"chainId\": 6102,\n \"explorers\": [{\n \"name\": \"Cascadia EVM Explorer\",\n \"url\": \"https://explorer.cascadia.foundation\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmQtcwxNiJ9D1QDz4k6jZ7qacLcqMk6CeW85TTBWBvNp3z\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Cascadia Cosmos Explorer\",\n \"url\": \"https://validator.cascadia.foundation\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmQtcwxNiJ9D1QDz4k6jZ7qacLcqMk6CeW85TTBWBvNp3z\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://www.cascadia.foundation/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmQtcwxNiJ9D1QDz4k6jZ7qacLcqMk6CeW85TTBWBvNp3z\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cascadia.foundation\",\n \"name\": \"Cascadia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CC\",\n \"symbol\": \"tCC\",\n \"decimals\": 18\n },\n \"networkId\": 6102,\n \"rpc\": [\"https://6102.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.cascadia.foundation\"],\n \"shortName\": \"cascadia\",\n \"slug\": \"cascadia-testnet\",\n \"testnet\": true\n};\n\nvar c6118 = {\n \"chain\": \"UPTN\",\n \"chainId\": 6118,\n \"explorers\": [{\n \"name\": \"UPTN Testnet Explorer\",\n \"url\": \"https://testnet.explorer.uptn.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qma6cGPCDcJPFxy5KQaMBrLtuVQiqeLncXVybcBoQuhai5\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://uptn.io\",\n \"name\": \"UPTN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"UPTN\",\n \"symbol\": \"UPTN\",\n \"decimals\": 18\n },\n \"networkId\": 6118,\n \"rpc\": [\"https://6118.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node-api.alp.uptn.io/v1/ext/rpc\"],\n \"shortName\": \"UPTN-TEST\",\n \"slip44\": 1,\n \"slug\": \"uptn-testnet\",\n \"testnet\": true\n};\n\nvar c6119 = {\n \"chain\": \"UPTN\",\n \"chainId\": 6119,\n \"explorers\": [{\n \"name\": \"UPTN Explorer\",\n \"url\": \"https://explorer.uptn.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qma6cGPCDcJPFxy5KQaMBrLtuVQiqeLncXVybcBoQuhai5\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://uptn.io\",\n \"name\": \"UPTN\",\n \"nativeCurrency\": {\n \"name\": \"UPTN\",\n \"symbol\": \"UPTN\",\n \"decimals\": 18\n },\n \"networkId\": 6119,\n \"rpc\": [\"https://6119.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node-api.uptn.io/v1/ext/rpc\"],\n \"shortName\": \"UPTN\",\n \"slug\": \"uptn\",\n \"testnet\": false\n};\n\nvar c6213 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 6213,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser8112\",\n \"nativeCurrency\": {\n \"name\": \"QaUser8112 Token\",\n \"symbol\": \"PEN\",\n \"decimals\": 18\n },\n \"networkId\": 6213,\n \"redFlags\": [],\n \"rpc\": [\"https://6213.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser8112\",\n \"slug\": \"qauser8112\",\n \"testnet\": true\n};\n\nvar c6321 = {\n \"chain\": \"Aura\",\n \"chainId\": 6321,\n \"explorers\": [{\n \"name\": \"Aurascan Explorer\",\n \"url\": \"https://euphoria.aurascan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmbpQPpjKy1bkDmuzCSSE9iFTUK37AiWYgJbgN3Fr7MWYq\",\n \"width\": 512,\n \"height\": 557,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://aura.faucetme.pro\"],\n \"icon\": {\n \"url\": \"ipfs://QmbpQPpjKy1bkDmuzCSSE9iFTUK37AiWYgJbgN3Fr7MWYq\",\n \"width\": 512,\n \"height\": 557,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aura.network\",\n \"name\": \"Aura Euphoria Testnet\",\n \"nativeCurrency\": {\n \"name\": \"test-EAura\",\n \"symbol\": \"eAura\",\n \"decimals\": 18\n },\n \"networkId\": 6321,\n \"rpc\": [\"https://6321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.euphoria.aura.network\"],\n \"shortName\": \"eaura\",\n \"slip44\": 1,\n \"slug\": \"aura-euphoria-testnet\",\n \"testnet\": true\n};\n\nvar c6322 = {\n \"chain\": \"Aura\",\n \"chainId\": 6322,\n \"explorers\": [{\n \"name\": \"Aurascan Explorer\",\n \"url\": \"https://aurascan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmbpQPpjKy1bkDmuzCSSE9iFTUK37AiWYgJbgN3Fr7MWYq\",\n \"width\": 512,\n \"height\": 557,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbpQPpjKy1bkDmuzCSSE9iFTUK37AiWYgJbgN3Fr7MWYq\",\n \"width\": 512,\n \"height\": 557,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aura.network\",\n \"name\": \"Aura Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Aura\",\n \"symbol\": \"AURA\",\n \"decimals\": 18\n },\n \"networkId\": 6322,\n \"rpc\": [\"https://6322.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.aura.network\"],\n \"shortName\": \"aura\",\n \"slip44\": 1,\n \"slug\": \"aura\",\n \"testnet\": false\n};\n\nvar c6363 = {\n \"chain\": \"DGS\",\n \"chainId\": 6363,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRiAUu3xV5uiX6Nk1iXD5w6qjki5ugGFETRVavzJ2h5QF\",\n \"width\": 370,\n \"height\": 320,\n \"format\": \"png\"\n },\n \"name\": \"Digit Soul Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"Digit Coin\",\n \"symbol\": \"DGC\",\n \"decimals\": 18\n },\n \"networkId\": 6363,\n \"rpc\": [\"https://6363.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dsc-rpc.digitsoul.co.th\"],\n \"shortName\": \"DGS\",\n \"slug\": \"digit-soul-smart-chain\",\n \"testnet\": false\n};\n\nvar c6502 = {\n \"chain\": \"P2P\",\n \"chainId\": 6502,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://peerpay.su.gy\",\n \"name\": \"Peerpay\",\n \"nativeCurrency\": {\n \"name\": \"Peerpay\",\n \"symbol\": \"P2P\",\n \"decimals\": 18\n },\n \"networkId\": 6502,\n \"rpc\": [\"https://6502.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://peerpay.su.gy/p2p\"],\n \"shortName\": \"Peerpay\",\n \"slug\": \"peerpay\",\n \"testnet\": false\n};\n\nvar c6552 = {\n \"chain\": \"SCOLWEI-testnet\",\n \"chainId\": 6552,\n \"explorers\": [{\n \"name\": \"Scolscan Testnet Explorer\",\n \"url\": \"https://testnet-explorer.scolcoin.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.scolcoin.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmVES1eqDXhP8SdeCpM85wvjmhrQDXGRquQebDrSdvJqpt\",\n \"width\": 792,\n \"height\": 822,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://scolcoin.com\",\n \"name\": \"Scolcoin WeiChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Scolcoin\",\n \"symbol\": \"SCOL\",\n \"decimals\": 18\n },\n \"networkId\": 6552,\n \"rpc\": [\"https://6552.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.scolcoin.com\"],\n \"shortName\": \"SRC-test\",\n \"slip44\": 1,\n \"slug\": \"scolcoin-weichain-testnet\",\n \"testnet\": true\n};\n\nvar c6565 = {\n \"chain\": \"FOX\",\n \"chainId\": 6565,\n \"explorers\": [{\n \"name\": \"FOX Testnet Explorer\",\n \"url\": \"https://testnet.foxscan.app\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qmbp1rwhtRr6JQRyYqyfLqkbmzXr1T17zbmChsi2ouvg3M\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.foxchain.app\"],\n \"icon\": {\n \"url\": \"ipfs://Qmbp1rwhtRr6JQRyYqyfLqkbmzXr1T17zbmChsi2ouvg3M\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://foxchain.app\",\n \"name\": \"Fox Testnet Network\",\n \"nativeCurrency\": {\n \"name\": \"FOX Native Token\",\n \"symbol\": \"tFOX\",\n \"decimals\": 18\n },\n \"networkId\": 6565,\n \"rpc\": [\"https://6565.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet-v1.foxchain.app/\", \"https://rpc2-testnet-v1.foxchain.app/\", \"https://rpc3-testnet-v1.foxchain.app\"],\n \"shortName\": \"fox\",\n \"slip44\": 1,\n \"slug\": \"fox-testnet-network\",\n \"testnet\": true\n};\n\nvar c6626 = {\n \"chain\": \"PixieChain\",\n \"chainId\": 6626,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.chain.pixie.xyz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://chain.pixie.xyz\",\n \"name\": \"Pixie Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Pixie Chain Native Token\",\n \"symbol\": \"PIX\",\n \"decimals\": 18\n },\n \"networkId\": 6626,\n \"rpc\": [\"https://6626.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://http-mainnet.chain.pixie.xyz\", \"wss://ws-mainnet.chain.pixie.xyz\"],\n \"shortName\": \"pixie-chain\",\n \"slug\": \"pixie-chain\",\n \"testnet\": false\n};\n\nvar c6660 = {\n \"chain\": \"LATEST\",\n \"chainId\": 6660,\n \"explorers\": [{\n \"name\": \"Latest Chain\",\n \"url\": \"http://testnet.latestchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://faucet.latestchain.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmUU784i1ZHDNwgXvt9weZmq6YbHHkyXvuDS7r4iDzao72\",\n \"width\": 1115,\n \"height\": 1242,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://latestcoin.io\",\n \"name\": \"Latest Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Latest\",\n \"symbol\": \"LATEST\",\n \"decimals\": 18\n },\n \"networkId\": 6660,\n \"rpc\": [\"https://6660.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.latestcoin.io\"],\n \"shortName\": \"LATESTt\",\n \"slug\": \"latest-chain-testnet\",\n \"testnet\": true\n};\n\nvar c6661 = {\n \"chain\": \"CYBA\",\n \"chainId\": 6661,\n \"explorers\": [{\n \"name\": \"Cybria Explorer\",\n \"url\": \"https://cybascan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiagdqfrvnbdjhkh27gjbvepzo66dpqgnbffmpnywuw5ncprg3jk3u\",\n \"width\": 2264,\n \"height\": 408,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreiarso74bytq5ccnl3mlfhd4ejiylwautsr6ovbqgmynzjzmkorn6y\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cybria.io\",\n \"name\": \"Cybria Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Cybria\",\n \"symbol\": \"CYBA\",\n \"decimals\": 18\n },\n \"networkId\": 6661,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155420\",\n \"bridges\": [{\n \"url\": \"https://app.optimism.io/bridge\"\n }]\n },\n \"rpc\": [\"https://6661.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.cybria.io\"],\n \"shortName\": \"cyba\",\n \"slug\": \"cybria\",\n \"testnet\": false\n};\n\nvar c6666 = {\n \"chain\": \"CYBA\",\n \"chainId\": 6666,\n \"explorers\": [{\n \"name\": \"Cybria Explorer\",\n \"url\": \"https://explorer.cybascan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiagdqfrvnbdjhkh27gjbvepzo66dpqgnbffmpnywuw5ncprg3jk3u\",\n \"width\": 2264,\n \"height\": 408,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.cybascan.io\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreiarso74bytq5ccnl3mlfhd4ejiylwautsr6ovbqgmynzjzmkorn6y\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cybria.io\",\n \"name\": \"Cybria Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Cybria\",\n \"symbol\": \"CYBA\",\n \"decimals\": 18\n },\n \"networkId\": 6666,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155420\",\n \"bridges\": [{\n \"url\": \"https://app.optimism.io/bridge\"\n }]\n },\n \"rpc\": [\"https://6666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://l2-rpc.cybascan.io\"],\n \"shortName\": \"tcyba\",\n \"slug\": \"cybria-testnet\",\n \"testnet\": true\n};\n\nvar c6688 = {\n \"chain\": \"IRIShub\",\n \"chainId\": 6688,\n \"explorers\": [{\n \"name\": \"IRISHub Cosmos Explorer (IOBScan)\",\n \"url\": \"https://irishub.iobscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTKgKs7kJiWDhdjbELE4Y2HVZ36KS4bYkNCbXdsXk66sW\",\n \"width\": 1062,\n \"height\": 1062,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTKgKs7kJiWDhdjbELE4Y2HVZ36KS4bYkNCbXdsXk66sW\",\n \"width\": 1062,\n \"height\": 1062,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.irisnet.org\",\n \"name\": \"IRIShub\",\n \"nativeCurrency\": {\n \"name\": \"Eris\",\n \"symbol\": \"ERIS\",\n \"decimals\": 18\n },\n \"networkId\": 6688,\n \"rpc\": [\"https://6688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmrpc.irishub-1.irisnet.org\", \"https://iris-evm.publicnode.com\", \"wss://iris-evm.publicnode.com\"],\n \"shortName\": \"iris\",\n \"slug\": \"irishub\",\n \"testnet\": false\n};\n\nvar c6699 = {\n \"chain\": \"OX\",\n \"chainId\": 6699,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ox.fun/chain\",\n \"name\": \"OX Chain\",\n \"nativeCurrency\": {\n \"name\": \"OX\",\n \"symbol\": \"OX\",\n \"decimals\": 18\n },\n \"networkId\": 6699,\n \"rpc\": [\"https://6699.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.oxscan.io\"],\n \"shortName\": \"ox-chain\",\n \"slug\": \"ox-chain\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"OX Chain\"\n};\n\nvar c6701 = {\n \"chain\": \"PAXB\",\n \"chainId\": 6701,\n \"explorers\": [{\n \"name\": \"PAXB Explorer\",\n \"url\": \"https://scan.paxb.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSP66CHynXpMYkjV28uLjTR4kjuoJyy92igYYpvLoqHtG\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSP66CHynXpMYkjV28uLjTR4kjuoJyy92igYYpvLoqHtG\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://paxb.io/\",\n \"name\": \"PAXB Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"PAXB\",\n \"symbol\": \"PAXB\",\n \"decimals\": 18\n },\n \"networkId\": 6701,\n \"rpc\": [\"https://6701.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain.paxb.io\"],\n \"shortName\": \"PAXB\",\n \"slug\": \"paxb\",\n \"testnet\": false\n};\n\nvar c6713 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 6713,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7475\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7475 Token\",\n \"symbol\": \"GZR\",\n \"decimals\": 18\n },\n \"networkId\": 6713,\n \"redFlags\": [],\n \"rpc\": [\"https://6713.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7475\",\n \"slug\": \"qauser7475\",\n \"testnet\": true\n};\n\nvar c6779 = {\n \"chain\": \"CPV\",\n \"chainId\": 6779,\n \"explorers\": [{\n \"name\": \"cpvscan\",\n \"url\": \"https://scan.compverse.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYbskrGpidbMwsJekTeLrr8Z6GA9q4Uxh7piS1F9BdWWv\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://compverse.io\",\n \"name\": \"Compverse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"compverse\",\n \"symbol\": \"CPV\",\n \"decimals\": 18\n },\n \"networkId\": 6779,\n \"rpc\": [\"https://6779.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.compverse.io/\", \"https://rpc-useast1.compverse.io/\"],\n \"shortName\": \"compverse\",\n \"slip44\": 7779,\n \"slug\": \"compverse\",\n \"testnet\": false\n};\n\nvar c6789 = {\n \"chain\": \"STAND\",\n \"chainId\": 6789,\n \"explorers\": [{\n \"name\": \"Gold Smart Chain\",\n \"url\": \"https://mainnet.goldsmartchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.goldsmartchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmPNuymyaKLJhCaXnyrsL8358FeTxabZFsaxMmWNU4Tzt3\",\n \"width\": 396,\n \"height\": 418,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://goldsmartchain.com\",\n \"name\": \"Gold Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Standard in Gold\",\n \"symbol\": \"STAND\",\n \"decimals\": 18\n },\n \"networkId\": 6789,\n \"rpc\": [\"https://6789.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.goldsmartchain.com\"],\n \"shortName\": \"STANDm\",\n \"slug\": \"gold-smart-chain\",\n \"testnet\": false\n};\n\nvar c6868 = {\n \"chain\": \"Pools\",\n \"chainId\": 6868,\n \"explorers\": [{\n \"name\": \"poolsscan\",\n \"url\": \"https://scan.poolsmobility.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmV18PRFPkp9pwKKJp4ksVDhMEiqNZ8A5DhQapdNCckeeQ\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmV18PRFPkp9pwKKJp4ksVDhMEiqNZ8A5DhQapdNCckeeQ\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.poolschain.org\",\n \"name\": \"Pools Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"POOLS Native Token\",\n \"symbol\": \"POOLS\",\n \"decimals\": 18\n },\n \"networkId\": 6868,\n \"rpc\": [\"https://6868.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.poolsmobility.com\"],\n \"shortName\": \"POOLS\",\n \"slip44\": 6868,\n \"slug\": \"pools\",\n \"testnet\": false\n};\n\nvar c6969 = {\n \"chain\": \"Tomb Chain\",\n \"chainId\": 6969,\n \"explorers\": [{\n \"name\": \"tombscout\",\n \"url\": \"https://tombscout.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://tombchain.com/\",\n \"name\": \"Tomb Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Tomb\",\n \"symbol\": \"TOMB\",\n \"decimals\": 18\n },\n \"networkId\": 6969,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-250\",\n \"bridges\": [{\n \"url\": \"https://lif3.com/bridge\"\n }]\n },\n \"rpc\": [\"https://6969.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tombchain.com/\"],\n \"shortName\": \"tombchain\",\n \"slug\": \"tomb-chain\",\n \"testnet\": false\n};\n\nvar c6999 = {\n \"chain\": \"PSC\",\n \"chainId\": 6999,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.polysmartchain.com/\",\n \"name\": \"PolySmartChain\",\n \"nativeCurrency\": {\n \"name\": \"PSC\",\n \"symbol\": \"PSC\",\n \"decimals\": 18\n },\n \"networkId\": 6999,\n \"rpc\": [\"https://6999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://seed0.polysmartchain.com/\", \"https://seed1.polysmartchain.com/\", \"https://seed2.polysmartchain.com/\"],\n \"shortName\": \"psc\",\n \"slug\": \"polysmartchain\",\n \"testnet\": false\n};\n\nvar c7000 = {\n \"chain\": \"ZetaChain\",\n \"chainId\": 7000,\n \"explorers\": [{\n \"name\": \"ZetaChain Mainnet Explorer\",\n \"url\": \"https://explorer.zetachain.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmP4Gnf4Lkp8q5LQVePNjAWxSqrw8vU2JAf7amcFz4vEUy\",\n \"width\": 712,\n \"height\": 712,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zetachain.com/docs/\",\n \"name\": \"ZetaChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Zeta\",\n \"symbol\": \"ZETA\",\n \"decimals\": 18\n },\n \"networkId\": 7000,\n \"rpc\": [\"https://7000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zetachain-evm.blockpi.network/v1/rpc/public\", \"https://zetachain-mainnet-archive.allthatnode.com:8545\"],\n \"shortName\": \"zetachain-mainnet\",\n \"slug\": \"zetachain\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c7001 = {\n \"chain\": \"ZetaChain\",\n \"chainId\": 7001,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://zetachain-athens-3.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"ZetaChain Athens Testnet Explorer\",\n \"url\": \"https://athens3.explorer.zetachain.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://labs.zetachain.com/get-zeta\"],\n \"icon\": {\n \"url\": \"ipfs://QmP4Gnf4Lkp8q5LQVePNjAWxSqrw8vU2JAf7amcFz4vEUy\",\n \"width\": 712,\n \"height\": 712,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zetachain.com/docs\",\n \"name\": \"ZetaChain Athens 3 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Zeta\",\n \"symbol\": \"ZETA\",\n \"decimals\": 18\n },\n \"networkId\": 7001,\n \"rpc\": [\"https://7001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zetachain-athens-evm.blockpi.network/v1/rpc/public\", \"wss://zetachain-athens.blockpi.network/rpc/v1/public/websocket\", \"https://zetachain-testnet-archive.allthatnode.com:8545\"],\n \"shortName\": \"zetachain-athens\",\n \"slip44\": 1,\n \"slug\": \"zetachain-athens-3-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c7007 = {\n \"chain\": \"BSTC\",\n \"chainId\": 7007,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://bstscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPko9BJhR5FWTsThcwUFnnnjgLjrXVDm1n98dCuaQNW59\",\n \"width\": 506,\n \"height\": 652,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bstchain.io\",\n \"name\": \"BST Chain\",\n \"nativeCurrency\": {\n \"name\": \"BST Chain\",\n \"symbol\": \"BSTC\",\n \"decimals\": 18\n },\n \"networkId\": 7007,\n \"rpc\": [\"https://7007.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bstchain.io/\"],\n \"shortName\": \"BSTC\",\n \"slug\": \"bst-chain\",\n \"testnet\": false\n};\n\nvar c7027 = {\n \"chain\": \"ella\",\n \"chainId\": 7027,\n \"explorers\": [{\n \"name\": \"Ella\",\n \"url\": \"https://ella.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVkAhSaHhH3wKoLT56Aq8dNyEH4RySPEpqPcLwsptGBDm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ella.network\",\n \"name\": \"Ella the heart\",\n \"nativeCurrency\": {\n \"name\": \"Ella\",\n \"symbol\": \"ELLA\",\n \"decimals\": 18\n },\n \"networkId\": 7027,\n \"rpc\": [\"https://7027.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ella.network\"],\n \"shortName\": \"ELLA\",\n \"slug\": \"ella-the-heart\",\n \"testnet\": false\n};\n\nvar c7070 = {\n \"chain\": \"Planq\",\n \"chainId\": 7070,\n \"explorers\": [{\n \"name\": \"Planq EVM Explorer (Blockscout)\",\n \"url\": \"https://evm.planq.network\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Planq Cosmos Explorer (BigDipper)\",\n \"url\": \"https://explorer.planq.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWEy9xK5BoqxPuVs7T48WM4exJrxzkEFt45iHcxWqUy8D\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://planq.network\",\n \"name\": \"Planq Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Planq\",\n \"symbol\": \"PLQ\",\n \"decimals\": 18\n },\n \"networkId\": 7070,\n \"rpc\": [\"https://7070.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc.planq.network\"],\n \"shortName\": \"planq\",\n \"slug\": \"planq\",\n \"testnet\": false\n};\n\nvar c7077 = {\n \"chain\": \"Planq\",\n \"chainId\": 7077,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWEy9xK5BoqxPuVs7T48WM4exJrxzkEFt45iHcxWqUy8D\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://planq.network\",\n \"name\": \"Planq Atlas Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Planq\",\n \"symbol\": \"tPLQ\",\n \"decimals\": 18\n },\n \"networkId\": 7077,\n \"rpc\": [\"https://7077.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc-atlas.planq.network\"],\n \"shortName\": \"planq-atlas-testnet\",\n \"slug\": \"planq-atlas-testnet\",\n \"testnet\": true\n};\n\nvar c7100 = {\n \"chain\": \"Nume\",\n \"chainId\": 7100,\n \"explorers\": [{\n \"name\": \"numeexplorer\",\n \"url\": \"https://explorer.numecrypto.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmNbp1K6vKKFYh7bWeWtjBqKgdH88suDVbztP5CYU3pYNG\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNbp1K6vKKFYh7bWeWtjBqKgdH88suDVbztP5CYU3pYNG\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://numecrypto.com\",\n \"name\": \"Nume\",\n \"nativeCurrency\": {\n \"name\": \"Dai Stablecoin\",\n \"symbol\": \"DAI\",\n \"decimals\": 18\n },\n \"networkId\": 7100,\n \"rpc\": [\"https://7100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.numecrypto.com\"],\n \"shortName\": \"nume\",\n \"slug\": \"nume\",\n \"testnet\": false,\n \"title\": \"Nume\"\n};\n\nvar c7118 = {\n \"chain\": \"mainnet\",\n \"chainId\": 7118,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNR4Y3cUxefV7KGpGxMkjp5ofeJvbaUkR1GavsmTtK248\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hth.world\",\n \"name\": \"Help The Homeless\",\n \"nativeCurrency\": {\n \"name\": \"Help The Homeless Coin\",\n \"symbol\": \"HTH\",\n \"decimals\": 18\n },\n \"networkId\": 7118,\n \"rpc\": [],\n \"shortName\": \"hth\",\n \"slug\": \"help-the-homeless\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c7158 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7158,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"TESTNet FirstTEST\",\n \"nativeCurrency\": {\n \"name\": \"TESTNet FirstTEST Token\",\n \"symbol\": \"TEST\",\n \"decimals\": 18\n },\n \"networkId\": 7158,\n \"redFlags\": [],\n \"rpc\": [\"https://7158.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/testnetfir/testnet/rpc\"],\n \"shortName\": \"TESTNet FirstTEST\",\n \"slug\": \"testnet-firsttest\",\n \"testnet\": true\n};\n\nvar c7171 = {\n \"chain\": \"Bitrock\",\n \"chainId\": 7171,\n \"explorers\": [{\n \"name\": \"Bitrock Explorer\",\n \"url\": \"https://explorer.bit-rock.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfXZCAh3HWS2bJroUStN9TieL4QA9QArMotie3X4pwBfj\",\n \"width\": 72,\n \"height\": 72,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://bit-rock.io\",\n \"name\": \"Bitrock Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BITROCK\",\n \"symbol\": \"BROCK\",\n \"decimals\": 18\n },\n \"networkId\": 7171,\n \"rpc\": [\"https://7171.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://connect.bit-rock.io\", \"https://brockrpc.io\"],\n \"shortName\": \"bitrock\",\n \"slug\": \"bitrock\",\n \"testnet\": false\n};\n\nvar c7207 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7207,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2401222\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2401222 Token\",\n \"symbol\": \"HZU\",\n \"decimals\": 18\n },\n \"networkId\": 7207,\n \"redFlags\": [],\n \"rpc\": [\"https://7207.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f14d837e-de8f-446d-8222-0077f26e6694\"],\n \"shortName\": \"QI M 2401222\",\n \"slug\": \"qi-m-2401222\",\n \"testnet\": true\n};\n\nvar c7300 = {\n \"chain\": \"XPLA Verse\",\n \"chainId\": 7300,\n \"explorers\": [{\n \"name\": \"XPLA Verse Explorer\",\n \"url\": \"https://explorer-xpla-verse.xpla.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZvqcTNWPUoT1F3r9DTAMhdjt3zQC8eRUStvUGEF68KCt\",\n \"width\": 857,\n \"height\": 132,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.xpla.io\",\n \"name\": \"XPLA Verse\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 7300,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://7300.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-xpla-verse.xpla.dev\"],\n \"shortName\": \"XPLAVERSE\",\n \"slug\": \"xpla-verse\",\n \"testnet\": false\n};\n\nvar c7317 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7317,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5017 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5017 Testnet Token\",\n \"symbol\": \"IHS\",\n \"decimals\": 18\n },\n \"networkId\": 7317,\n \"redFlags\": [],\n \"rpc\": [\"https://7317.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5017 Testnet\",\n \"slug\": \"qauser5017-testnet\",\n \"testnet\": true\n};\n\nvar c7326 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7326,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2403051 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2403051 Testnet Token\",\n \"symbol\": \"VVC\",\n \"decimals\": 18\n },\n \"networkId\": 7326,\n \"redFlags\": [],\n \"rpc\": [\"https://7326.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 2403051 Testnet\",\n \"slug\": \"qi-m-2403051-testnet\",\n \"testnet\": true\n};\n\nvar c7331 = {\n \"chain\": \"KLY\",\n \"chainId\": 7331,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmaDr9R6dKnZLsogRxojjq4dwXuXcudR8UeTZ8Nq553K4u\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://klyntar.org\",\n \"name\": \"KLYNTAR\",\n \"nativeCurrency\": {\n \"name\": \"KLYNTAR\",\n \"symbol\": \"KLY\",\n \"decimals\": 18\n },\n \"networkId\": 7331,\n \"rpc\": [\"https://7331.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.klyntar.org/kly_evm_rpc\", \"https://evm.klyntarscan.org/kly_evm_rpc\"],\n \"shortName\": \"kly\",\n \"slug\": \"klyntar\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c7332 = {\n \"chain\": \"EON\",\n \"chainId\": 7332,\n \"explorers\": [{\n \"name\": \"Horizen EON Block Explorer\",\n \"url\": \"https://eon-explorer.horizenlabs.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti\",\n \"width\": 1213,\n \"height\": 1213,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSFMBk3rMyu45Sy9KQHjgArFj4HdywANNYrSosLMUdcti\",\n \"width\": 1213,\n \"height\": 1213,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://horizen.io/\",\n \"name\": \"Horizen EON Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Zencash\",\n \"symbol\": \"ZEN\",\n \"decimals\": 18\n },\n \"networkId\": 7332,\n \"rpc\": [\"https://7332.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eon-rpc.horizenlabs.io/ethv1\", \"https://rpc.ankr.com/horizen_eon\"],\n \"shortName\": \"EON\",\n \"slip44\": 121,\n \"slug\": \"horizen-eon\",\n \"testnet\": false\n};\n\nvar c7341 = {\n \"chain\": \"SHYFT\",\n \"chainId\": 7341,\n \"explorers\": [{\n \"name\": \"Shyft BX\",\n \"url\": \"https://bx.shyft.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUkFZC2ZmoYPTKf7AHdjwRPZoV2h1MCuHaGM4iu8SNFpi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://shyft.network\",\n \"name\": \"Shyft Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Shyft\",\n \"symbol\": \"SHYFT\",\n \"decimals\": 18\n },\n \"networkId\": 7341,\n \"rpc\": [\"https://7341.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.shyft.network/\"],\n \"shortName\": \"shyft\",\n \"slip44\": 2147490989,\n \"slug\": \"shyft\",\n \"testnet\": false\n};\n\nvar c7366 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7366,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7888\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7888 Token\",\n \"symbol\": \"NHF\",\n \"decimals\": 18\n },\n \"networkId\": 7366,\n \"redFlags\": [],\n \"rpc\": [\"https://7366.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7888\",\n \"slug\": \"qauser7888\",\n \"testnet\": true\n};\n\nvar c7484 = {\n \"chain\": \"Raba\",\n \"chainId\": 7484,\n \"explorers\": [{\n \"name\": \"raba\",\n \"url\": \"https://x.raba.app/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmatP9qMHEYoXqRDyHMTyjYRQa6j6Gk7pmv1QLxQkvpGRP\",\n \"width\": 787,\n \"height\": 750,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://x.raba.app/\",\n \"name\": \"Raba Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Raba\",\n \"symbol\": \"RABA\",\n \"decimals\": 18\n },\n \"networkId\": 7484,\n \"rpc\": [\"https://7484.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.x.raba.app/\", \"wss://rpc.x.raba.app/ws/\"],\n \"shortName\": \"raba\",\n \"slug\": \"raba-network\",\n \"testnet\": false\n};\n\nvar c7507 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7507,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7740 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7740 Testnet Token\",\n \"symbol\": \"RUI\",\n \"decimals\": 18\n },\n \"networkId\": 7507,\n \"redFlags\": [],\n \"rpc\": [\"https://7507.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7740 Testnet\",\n \"slug\": \"qauser7740-testnet\",\n \"testnet\": true\n};\n\nvar c7518 = {\n \"chain\": \"MEVerse\",\n \"chainId\": 7518,\n \"explorers\": [{\n \"name\": \"MEVerse Chain Explorer\",\n \"url\": \"https://www.meversescan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPuQ6gaCfUtNdRuaEDbdhot2m2KCy2ZHCJUvZXJAtdeyJ\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.meverse.sg\",\n \"name\": \"MEVerse Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MEVerse\",\n \"symbol\": \"MEV\",\n \"decimals\": 18\n },\n \"networkId\": 7518,\n \"rpc\": [\"https://7518.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.meversemainnet.io\"],\n \"shortName\": \"MEV\",\n \"slug\": \"meverse-chain\",\n \"testnet\": false\n};\n\nvar c7560 = {\n \"chain\": \"Cyber\",\n \"chainId\": 7560,\n \"explorers\": [{\n \"name\": \"Cyber Mainnet Explorer\",\n \"url\": \"https://cyberscan.co\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmR8NuaSqALStb95YsMsJRG2BoYkibjS1XE1pZFtvEkAXY\",\n \"width\": 213,\n \"height\": 212,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cyber.co/\",\n \"name\": \"Cyber Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 7560,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://cyber.co/bridge\"\n }]\n },\n \"rpc\": [\"https://7560.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cyber.alt.technology/\", \"wss://cyber-ws.alt.technology/\", \"https://rpc.cyber.co/\", \"wss://rpc.cyber.co/\"],\n \"shortName\": \"cyeth\",\n \"slug\": \"cyber\",\n \"testnet\": false\n};\n\nvar c7575 = {\n \"chain\": \"ADIL\",\n \"chainId\": 7575,\n \"explorers\": [{\n \"name\": \"ADIL Testnet Explorer\",\n \"url\": \"https://testnet.adilchain-scan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet-faucet.adil-scan.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmeHNYUx6n8CjUFSLWNT17oAtDYrUq6r8buyvGCUBXCJw6\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://adilchain.io\",\n \"name\": \"ADIL Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet ADIL\",\n \"symbol\": \"ADIL\",\n \"decimals\": 18\n },\n \"networkId\": 7575,\n \"rpc\": [\"https://7575.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.adilchain-rpc.io\"],\n \"shortName\": \"tadil\",\n \"slip44\": 1,\n \"slug\": \"adil-testnet\",\n \"testnet\": true\n};\n\nvar c7576 = {\n \"chain\": \"ADIL\",\n \"chainId\": 7576,\n \"explorers\": [{\n \"name\": \"ADIL Mainnet Explorer\",\n \"url\": \"https://adilchain-scan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeHNYUx6n8CjUFSLWNT17oAtDYrUq6r8buyvGCUBXCJw6\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://adilchain.io\",\n \"name\": \"Adil Chain V2 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ADIL\",\n \"symbol\": \"ADIL\",\n \"decimals\": 18\n },\n \"networkId\": 7576,\n \"rpc\": [\"https://7576.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://adilchain-rpc.io\"],\n \"shortName\": \"adil\",\n \"slug\": \"adil-chain-v2\",\n \"testnet\": false\n};\n\nvar c7640 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7640,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0205I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0205I1 Token\",\n \"symbol\": \"KOA\",\n \"decimals\": 18\n },\n \"networkId\": 7640,\n \"redFlags\": [],\n \"rpc\": [\"https://7640.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0205I1\",\n \"slug\": \"qi0205i1\",\n \"testnet\": true\n};\n\nvar c7668 = {\n \"chain\": \"TRN\",\n \"chainId\": 7668,\n \"explorers\": [{\n \"name\": \"rootnet\",\n \"url\": \"https://explorer.rootnet.live\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.futureverse.com/technology/root\",\n \"name\": \"The Root Network - Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"XRP\",\n \"symbol\": \"XRP\",\n \"decimals\": 6\n },\n \"networkId\": 7668,\n \"rpc\": [\"https://7668.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://root.rootnet.live/archive\", \"wss://root.rootnet.live/archive/ws\"],\n \"shortName\": \"trn-mainnet\",\n \"slug\": \"the-root-network\",\n \"testnet\": false\n};\n\nvar c7672 = {\n \"chain\": \"TRN\",\n \"chainId\": 7672,\n \"explorers\": [{\n \"name\": \"rootnet\",\n \"url\": \"https://explorer.rootnet.cloud\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.futureverse.com/technology/root\",\n \"name\": \"The Root Network - Porcini Testnet\",\n \"nativeCurrency\": {\n \"name\": \"XRP\",\n \"symbol\": \"XRP\",\n \"decimals\": 6\n },\n \"networkId\": 7672,\n \"rpc\": [\"https://7672.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://porcini.rootnet.app/archive\", \"wss://porcini.rootnet.app/archive/ws\"],\n \"shortName\": \"trn-porcini\",\n \"slip44\": 1,\n \"slug\": \"the-root-network-porcini-testnet\",\n \"testnet\": true\n};\n\nvar c7700 = {\n \"chain\": \"Canto\",\n \"chainId\": 7700,\n \"explorers\": [{\n \"name\": \"Canto Explorer (OKLink)\",\n \"url\": \"https://www.oklink.com/canto\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Canto EVM Explorer (Blockscout)\",\n \"url\": \"https://tuber.build\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://canto.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://canto.io\",\n \"name\": \"Canto\",\n \"nativeCurrency\": {\n \"name\": \"Canto\",\n \"symbol\": \"CANTO\",\n \"decimals\": 18\n },\n \"networkId\": 7700,\n \"rpc\": [\"https://7700.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://canto.slingshot.finance\", \"https://canto-rpc.ansybl.io\", \"https://mainnode.plexnode.org:8545\", \"https://canto.gravitychain.io/\"],\n \"shortName\": \"canto\",\n \"slug\": \"canto\",\n \"testnet\": false\n};\n\nvar c7701 = {\n \"chain\": \"Canto\",\n \"chainId\": 7701,\n \"explorers\": [{\n \"name\": \"Canto Testnet EVM Explorer (Blockscout)\",\n \"url\": \"https://testnet.tuber.build\",\n \"standard\": \"none\"\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://canto-test.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://canto.io\",\n \"name\": \"Canto Tesnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Canto\",\n \"symbol\": \"CANTO\",\n \"decimals\": 18\n },\n \"networkId\": 7701,\n \"rpc\": [\"https://7701.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-archive.plexnode.wtf\"],\n \"shortName\": \"TestnetCanto\",\n \"slip44\": 1,\n \"slug\": \"canto-tesnet\",\n \"testnet\": true\n};\n\nvar c7771 = {\n \"chain\": \"Bitrock\",\n \"chainId\": 7771,\n \"explorers\": [{\n \"name\": \"Bitrock Testnet Explorer\",\n \"url\": \"https://testnetscan.bit-rock.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bit-rock.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmfXZCAh3HWS2bJroUStN9TieL4QA9QArMotie3X4pwBfj\",\n \"width\": 72,\n \"height\": 72,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://bit-rock.io\",\n \"name\": \"Bitrock Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BITROCK\",\n \"symbol\": \"BROCK\",\n \"decimals\": 18\n },\n \"networkId\": 7771,\n \"rpc\": [\"https://7771.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bit-rock.io\"],\n \"shortName\": \"tbitrock\",\n \"slip44\": 1,\n \"slug\": \"bitrock-testnet\",\n \"testnet\": true\n};\n\nvar c7775 = {\n \"chain\": \"GDCC\",\n \"chainId\": 7775,\n \"explorers\": [{\n \"name\": \"GDCC\",\n \"url\": \"https://testnet.gdccscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmY4vp1mJoGpUiuWbRVenNiDZC17wSyyueGPK9A5QyK1M2\",\n \"width\": 72,\n \"height\": 72,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gdcchain.com\",\n \"name\": \"GDCC TESTNET\",\n \"nativeCurrency\": {\n \"name\": \"GDCC\",\n \"symbol\": \"GDCC\",\n \"decimals\": 18\n },\n \"networkId\": 7775,\n \"rpc\": [\"https://7775.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc1.gdccscan.io\"],\n \"shortName\": \"GDCC\",\n \"slug\": \"gdcc-testnet\",\n \"testnet\": true\n};\n\nvar c7777 = {\n \"chain\": \"nmactest\",\n \"chainId\": 7777,\n \"explorers\": [{\n \"name\": \"avascan\",\n \"url\": \"https://testnet.avascan.info/blockchain/2mZ9doojfwHzXN3VXDQELKnKyZYxv7833U8Yq5eTfFx3hxJtiy\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://riseofthewarbots.com/\",\n \"name\": \"Rise of the Warbots Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Nano Machines\",\n \"symbol\": \"NMAC\",\n \"decimals\": 18\n },\n \"networkId\": 7777,\n \"rpc\": [\"https://7777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet1.riseofthewarbots.com\", \"https://testnet2.riseofthewarbots.com\", \"https://testnet3.riseofthewarbots.com\", \"https://testnet4.riseofthewarbots.com\", \"https://testnet5.riseofthewarbots.com\"],\n \"shortName\": \"RiseOfTheWarbotsTestnet\",\n \"slip44\": 1,\n \"slug\": \"rise-of-the-warbots-testnet\",\n \"testnet\": true\n};\n\nvar c7778 = {\n \"chain\": \"ORE\",\n \"chainId\": 7778,\n \"explorers\": [{\n \"name\": \"ORE Mainnet Explorer\",\n \"url\": \"https://oreniumscan.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmXszYAtQxaFCG3s9vGHoLJnqxGJw2wTKNbruTJ8iDXU7K\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXszYAtQxaFCG3s9vGHoLJnqxGJw2wTKNbruTJ8iDXU7K\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://orenium.org\",\n \"name\": \"Orenium Mainnet Protocol\",\n \"nativeCurrency\": {\n \"name\": \"ORENIUM\",\n \"symbol\": \"ORE\",\n \"decimals\": 18\n },\n \"networkId\": 7778,\n \"rpc\": [\"https://7778.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://validator-mainnet.orenium.org\", \"https://rpc-oracle-mainnet.orenium.org\", \"https://portalmainnet.orenium.org\"],\n \"shortName\": \"ore\",\n \"slip44\": 1,\n \"slug\": \"orenium-protocol\",\n \"testnet\": false\n};\n\nvar c7798 = {\n \"chain\": \"OEX\",\n \"chainId\": 7798,\n \"explorers\": [{\n \"name\": \"OpenEX Long Testnet Explorer\",\n \"url\": \"https://scan.long.openex.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidnu6p6vmmplerzvkboq7fz73ygkomzpnnokuxstrqv2fvxgmgg7i\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://long.hub.openex.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreidnu6p6vmmplerzvkboq7fz73ygkomzpnnokuxstrqv2fvxgmgg7i\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://openex.network\",\n \"name\": \"OpenEX LONG Testnet\",\n \"nativeCurrency\": {\n \"name\": \"USDT Testnet\",\n \"symbol\": \"USDT\",\n \"decimals\": 18\n },\n \"networkId\": 7798,\n \"rpc\": [\"https://7798.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://long.rpc.openex.network/\"],\n \"shortName\": \"oex\",\n \"slip44\": 1,\n \"slug\": \"openex-long-testnet\",\n \"testnet\": true,\n \"title\": \"OpenEX LONG Testnet\"\n};\n\nvar c7860 = {\n \"chain\": \"MaalChain Testnet\",\n \"chainId\": 7860,\n \"explorers\": [{\n \"name\": \"maalscan testnet\",\n \"url\": \"https://testnet.maalscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet-testnet.maalscan.io/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiexfqfe2x4impvwhra3xxa5eb25gv25zi3kkaoatdnld7wbxdzf2a\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.maalchain.com/\",\n \"name\": \"MaalChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MAAL\",\n \"symbol\": \"MAAL\",\n \"decimals\": 18\n },\n \"networkId\": 7860,\n \"rpc\": [\"https://7860.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.maalscan.io/\", \"https://rpc-bntest.maalscan.io/\"],\n \"shortName\": \"maal-test\",\n \"slip44\": 1,\n \"slug\": \"maalchain-testnet\",\n \"testnet\": true\n};\n\nvar c7865 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7865,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ST 02-07\",\n \"nativeCurrency\": {\n \"name\": \"ST 02-07 Token\",\n \"symbol\": \"TJO\",\n \"decimals\": 18\n },\n \"networkId\": 7865,\n \"redFlags\": [],\n \"rpc\": [\"https://7865.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"ST 02-07\",\n \"slug\": \"st-02-07\",\n \"testnet\": true\n};\n\nvar c7872 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7872,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QAUSer4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QAUSer4 Testnet Token\",\n \"symbol\": \"VVC\",\n \"decimals\": 18\n },\n \"networkId\": 7872,\n \"redFlags\": [],\n \"rpc\": [\"https://7872.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QAUSer4 Testnet\",\n \"slug\": \"qauser4-testnet\",\n \"testnet\": true\n};\n\nvar c7878 = {\n \"chain\": \"SCAS\",\n \"chainId\": 7878,\n \"explorers\": [{\n \"name\": \"Hazlor Testnet Explorer\",\n \"url\": \"https://explorer.hazlor.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.hazlor.com\"],\n \"infoURL\": \"https://hazlor.com\",\n \"name\": \"Hazlor Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Hazlor Test Coin\",\n \"symbol\": \"TSCAS\",\n \"decimals\": 18\n },\n \"networkId\": 7878,\n \"rpc\": [\"https://7878.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hatlas.rpc.hazlor.com:8545\", \"wss://hatlas.rpc.hazlor.com:8546\"],\n \"shortName\": \"tscas\",\n \"slip44\": 1,\n \"slug\": \"hazlor-testnet\",\n \"testnet\": true\n};\n\nvar c7887 = {\n \"chain\": \"Kinto Mainnet\",\n \"chainId\": 7887,\n \"explorers\": [{\n \"name\": \"Kinto Explorer\",\n \"url\": \"https://explorer.kinto.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZw4zfR4Q8MD6MZRwkQrMeiiiu77AJffHdCMdemt4R2VM\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZw4zfR4Q8MD6MZRwkQrMeiiiu77AJffHdCMdemt4R2VM\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://kinto.xyz\",\n \"name\": \"Kinto Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ethereum\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 7887,\n \"rpc\": [\"https://7887.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kinto.xyz/http\", \"https://kinto-mainnet.calderachain.xyz/http\"],\n \"shortName\": \"kintoMainnet\",\n \"slug\": \"kinto\",\n \"testnet\": false\n};\n\nvar c7895 = {\n \"chain\": \"ATHENA\",\n \"chainId\": 7895,\n \"explorers\": [{\n \"name\": \"ARDENIUM Athena Explorer\",\n \"url\": \"https://testnet.ardscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdwifhejRfF8QfyzYrNdFVhfhCR6iuzWMmppK4eL7kttG\",\n \"width\": 120,\n \"height\": 120,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-athena.ardescan.com/\"],\n \"icon\": {\n \"url\": \"ipfs://QmdwifhejRfF8QfyzYrNdFVhfhCR6iuzWMmppK4eL7kttG\",\n \"width\": 120,\n \"height\": 120,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ardenium.org\",\n \"name\": \"ARDENIUM Athena\",\n \"nativeCurrency\": {\n \"name\": \"ARD\",\n \"symbol\": \"tARD\",\n \"decimals\": 18\n },\n \"networkId\": 7895,\n \"rpc\": [\"https://7895.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-athena.ardescan.com/\"],\n \"shortName\": \"ard\",\n \"slug\": \"ardenium-athena\",\n \"testnet\": true\n};\n\nvar c7909 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 7909,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3870 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3870 Testnet Token\",\n \"symbol\": \"RAY\",\n \"decimals\": 18\n },\n \"networkId\": 7909,\n \"redFlags\": [],\n \"rpc\": [\"https://7909.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3870 Testnet\",\n \"slug\": \"qauser3870-testnet\",\n \"testnet\": true\n};\n\nvar c7923 = {\n \"chain\": \"DTBX\",\n \"chainId\": 7923,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.dotblox.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZy2TMY881ghRxXJA7VyRA8Zhj2LJJ86DpHRZs3VQZqoJ\",\n \"width\": 53,\n \"height\": 53,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://explorer.dotblox.io\",\n \"name\": \"Dot Blox\",\n \"nativeCurrency\": {\n \"name\": \"Dot Blox\",\n \"symbol\": \"DTBX\",\n \"decimals\": 18\n },\n \"networkId\": 7923,\n \"rpc\": [\"https://7923.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dotblox.io\"],\n \"shortName\": \"DTBX\",\n \"slug\": \"dot-blox\",\n \"testnet\": false\n};\n\nvar c7924 = {\n \"chain\": \"MO\",\n \"chainId\": 7924,\n \"explorers\": [{\n \"name\": \"MO Explorer\",\n \"url\": \"https://moscan.app\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.mochain.app/\"],\n \"icon\": {\n \"url\": \"ipfs://QmfJYJiR7L8xMG3KAWroVA9CQEfRGcbprC4JmVsiVk1E4e\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mochain.app\",\n \"name\": \"MO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MO\",\n \"symbol\": \"MO\",\n \"decimals\": 18\n },\n \"networkId\": 7924,\n \"rpc\": [\"https://7924.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.mochain.app/\"],\n \"shortName\": \"MO\",\n \"slug\": \"mo\",\n \"testnet\": false\n};\n\nvar c7979 = {\n \"chain\": \"DOS\",\n \"chainId\": 7979,\n \"explorers\": [{\n \"name\": \"DOScan\",\n \"url\": \"https://doscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"DOScan\",\n \"url\": \"https://explorer.doschain.com/\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmV2Nowzo81F6pi2qFcHePA4MwmmdMKBMUzBJUrxcymxx4\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://doschain.com/\",\n \"name\": \"DOS Chain\",\n \"nativeCurrency\": {\n \"name\": \"DOS\",\n \"symbol\": \"DOS\",\n \"decimals\": 18\n },\n \"networkId\": 7979,\n \"redFlags\": [],\n \"rpc\": [\"https://7979.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://main.doschain.com\"],\n \"shortName\": \"dos\",\n \"slug\": \"dos-chain\",\n \"testnet\": false\n};\n\nvar c8000 = {\n \"chain\": \"Teleport\",\n \"chainId\": 8000,\n \"explorers\": [{\n \"name\": \"Teleport EVM Explorer (Blockscout)\",\n \"url\": \"https://evm-explorer.teleport.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdP1sLnsmW9dwnfb1GxAXU1nHDzCvWBQNumvMXpdbCSuz\",\n \"width\": 390,\n \"height\": 390,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"Teleport Cosmos Explorer (Big Dipper)\",\n \"url\": \"https://explorer.teleport.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdP1sLnsmW9dwnfb1GxAXU1nHDzCvWBQNumvMXpdbCSuz\",\n \"width\": 390,\n \"height\": 390,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdP1sLnsmW9dwnfb1GxAXU1nHDzCvWBQNumvMXpdbCSuz\",\n \"width\": 390,\n \"height\": 390,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://teleport.network\",\n \"name\": \"Teleport\",\n \"nativeCurrency\": {\n \"name\": \"Tele\",\n \"symbol\": \"TELE\",\n \"decimals\": 18\n },\n \"networkId\": 8000,\n \"rpc\": [\"https://8000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc.teleport.network\"],\n \"shortName\": \"teleport\",\n \"slug\": \"teleport\",\n \"testnet\": false\n};\n\nvar c8001 = {\n \"chain\": \"Teleport\",\n \"chainId\": 8001,\n \"explorers\": [{\n \"name\": \"Teleport EVM Explorer (Blockscout)\",\n \"url\": \"https://evm-explorer.testnet.teleport.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdP1sLnsmW9dwnfb1GxAXU1nHDzCvWBQNumvMXpdbCSuz\",\n \"width\": 390,\n \"height\": 390,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"Teleport Cosmos Explorer (Big Dipper)\",\n \"url\": \"https://explorer.testnet.teleport.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdP1sLnsmW9dwnfb1GxAXU1nHDzCvWBQNumvMXpdbCSuz\",\n \"width\": 390,\n \"height\": 390,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://chain-docs.teleport.network/testnet/faucet.html\"],\n \"icon\": {\n \"url\": \"ipfs://QmdP1sLnsmW9dwnfb1GxAXU1nHDzCvWBQNumvMXpdbCSuz\",\n \"width\": 390,\n \"height\": 390,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://teleport.network\",\n \"name\": \"Teleport Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Tele\",\n \"symbol\": \"TELE\",\n \"decimals\": 18\n },\n \"networkId\": 8001,\n \"rpc\": [\"https://8001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc.testnet.teleport.network\"],\n \"shortName\": \"teleport-testnet\",\n \"slip44\": 1,\n \"slug\": \"teleport-testnet\",\n \"testnet\": true\n};\n\nvar c8029 = {\n \"chain\": \"MDGL\",\n \"chainId\": 8029,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://mdgl.io\",\n \"name\": \"MDGL Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MDGL Token\",\n \"symbol\": \"MDGLT\",\n \"decimals\": 18\n },\n \"networkId\": 8029,\n \"rpc\": [\"https://8029.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.mdgl.io\"],\n \"shortName\": \"mdgl\",\n \"slip44\": 1,\n \"slug\": \"mdgl-testnet\",\n \"testnet\": true\n};\n\nvar c8047 = {\n \"chain\": \"BOAT\",\n \"chainId\": 8047,\n \"explorers\": [{\n \"name\": \"BOAT Mainnet Explorer\",\n \"url\": \"https://scan.come.boats\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreibqgh23s7yt7rikybybiwfivwtoh32n24scjykvgbgewo3ecbrcye\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibqgh23s7yt7rikybybiwfivwtoh32n24scjykvgbgewo3ecbrcye\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://come.boats\",\n \"name\": \"BOAT Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Best Of All Time Token\",\n \"symbol\": \"BOAT\",\n \"decimals\": 18\n },\n \"networkId\": 8047,\n \"redFlags\": [],\n \"rpc\": [\"https://8047.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc0.come.boats/\", \"https://rpc0.come.boat/\"],\n \"shortName\": \"boat\",\n \"slip44\": 1,\n \"slug\": \"boat\",\n \"testnet\": false,\n \"title\": \"BOAT Mainnet\"\n};\n\nvar c8054 = {\n \"chain\": \"Karak\",\n \"chainId\": 8054,\n \"explorers\": [{\n \"name\": \"Karak Sepolia Explorer\",\n \"url\": \"https://explorer.sepolia.karak.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRvHRuhfQgDRyGgt6vCoHqjZW2Dir7siowYnBpR5BRSej\",\n \"width\": 1080,\n \"height\": 1080,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://karak.network\",\n \"name\": \"Karak Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 8054,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\"\n },\n \"rpc\": [\"https://8054.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sepolia.karak.network\"],\n \"shortName\": \"karak-sepolia\",\n \"slug\": \"karak-sepolia\",\n \"testnet\": true,\n \"title\": \"Karak Testnet Sepolia\"\n};\n\nvar c8080 = {\n \"chain\": \"Shardeum\",\n \"chainId\": 8080,\n \"explorers\": [{\n \"name\": \"Shardeum Scan\",\n \"url\": \"https://explorer-liberty10.shardeum.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.liberty10.shardeum.org\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qma1bfuubpepKn7DLDy4NPSKDeT3S4VPCNhu6UmdGrb6YD\",\n \"width\": 609,\n \"height\": 533,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.shardeum.org/\",\n \"name\": \"Shardeum Liberty 1.X\",\n \"nativeCurrency\": {\n \"name\": \"Shardeum SHM\",\n \"symbol\": \"SHM\",\n \"decimals\": 18\n },\n \"networkId\": 8080,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://8080.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://liberty10.shardeum.org/\"],\n \"shortName\": \"Liberty10\",\n \"slug\": \"shardeum-liberty-1-x\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c8081 = {\n \"chain\": \"Shardeum\",\n \"chainId\": 8081,\n \"explorers\": [{\n \"name\": \"Shardeum Scan\",\n \"url\": \"https://explorer-liberty20.shardeum.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.liberty20.shardeum.org\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qma1bfuubpepKn7DLDy4NPSKDeT3S4VPCNhu6UmdGrb6YD\",\n \"width\": 609,\n \"height\": 533,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.shardeum.org/\",\n \"name\": \"Shardeum Liberty 2.X\",\n \"nativeCurrency\": {\n \"name\": \"Shardeum SHM\",\n \"symbol\": \"SHM\",\n \"decimals\": 18\n },\n \"networkId\": 8081,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://8081.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://liberty20.shardeum.org/\"],\n \"shortName\": \"Liberty20\",\n \"slug\": \"shardeum-liberty-2-x\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c8082 = {\n \"chain\": \"Shardeum\",\n \"chainId\": 8082,\n \"explorers\": [{\n \"name\": \"Shardeum Scan\",\n \"url\": \"https://explorer-sphinx.shardeum.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet-sphinx.shardeum.org/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qma1bfuubpepKn7DLDy4NPSKDeT3S4VPCNhu6UmdGrb6YD\",\n \"width\": 609,\n \"height\": 533,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.shardeum.org/\",\n \"name\": \"Shardeum Sphinx 1.X\",\n \"nativeCurrency\": {\n \"name\": \"Shardeum SHM\",\n \"symbol\": \"SHM\",\n \"decimals\": 18\n },\n \"networkId\": 8082,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://8082.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sphinx.shardeum.org/\"],\n \"shortName\": \"Sphinx10\",\n \"slug\": \"shardeum-sphinx-1-x\",\n \"testnet\": true\n};\n\nvar c8086 = {\n \"chain\": \"BTC\",\n \"chainId\": 8086,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://biteth.org\",\n \"name\": \"Bitcoin Chain\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 8086,\n \"rpc\": [\"https://8086.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.biteth.org\"],\n \"shortName\": \"Bitcoin\",\n \"slug\": \"bitcoin-chain\",\n \"testnet\": false\n};\n\nvar c8087 = {\n \"chain\": \"USD\",\n \"chainId\": 8087,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://e-dollar.org\",\n \"name\": \"E-Dollar\",\n \"nativeCurrency\": {\n \"name\": \"E-Dollar\",\n \"symbol\": \"USD\",\n \"decimals\": 18\n },\n \"networkId\": 8087,\n \"rpc\": [\"https://8087.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.e-dollar.org\"],\n \"shortName\": \"E-Dollar\",\n \"slug\": \"e-dollar\",\n \"testnet\": false\n};\n\nvar c8098 = {\n \"chain\": \"StreamuX\",\n \"chainId\": 8098,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.streamux.cloud\",\n \"name\": \"StreamuX Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"StreamuX\",\n \"symbol\": \"SmuX\",\n \"decimals\": 18\n },\n \"networkId\": 8098,\n \"rpc\": [\"https://8098.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://u0ma6t6heb:KDNwOsRDGcyM2Oeui1p431Bteb4rvcWkuPgQNHwB4FM@u0xy4x6x82-u0e2mg517m-rpc.us0-aws.kaleido.io/\"],\n \"shortName\": \"StreamuX\",\n \"slug\": \"streamux-blockchain\",\n \"testnet\": false\n};\n\nvar c8131 = {\n \"chain\": \"MEER\",\n \"chainId\": 8131,\n \"explorers\": [{\n \"name\": \"meerscan testnet\",\n \"url\": \"https://testnet-qng.qitmeer.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.qitmeer.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Qitmeer Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Qitmeer Testnet\",\n \"symbol\": \"MEER-T\",\n \"decimals\": 18\n },\n \"networkId\": 8131,\n \"rpc\": [\"https://8131.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-qng.rpc.qitmeer.io\", \"https://testnet.meerlabs.com\", \"https://meer.testnet.meerfans.club\"],\n \"shortName\": \"meertest\",\n \"slip44\": 1,\n \"slug\": \"qitmeer-network-testnet\",\n \"testnet\": true\n};\n\nvar c8132 = {\n \"chain\": \"MEER\",\n \"chainId\": 8132,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Qitmeer Network Mixnet\",\n \"nativeCurrency\": {\n \"name\": \"Qitmeer Mixnet\",\n \"symbol\": \"MEER-M\",\n \"decimals\": 18\n },\n \"networkId\": 8132,\n \"rpc\": [],\n \"shortName\": \"meermix\",\n \"slug\": \"qitmeer-network-mixnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c8133 = {\n \"chain\": \"MEER\",\n \"chainId\": 8133,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Qitmeer Network Privnet\",\n \"nativeCurrency\": {\n \"name\": \"Qitmeer Privnet\",\n \"symbol\": \"MEER-P\",\n \"decimals\": 18\n },\n \"networkId\": 8133,\n \"rpc\": [],\n \"shortName\": \"meerpriv\",\n \"slug\": \"qitmeer-network-privnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c8134 = {\n \"chain\": \"MEER\",\n \"chainId\": 8134,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Amana\",\n \"nativeCurrency\": {\n \"name\": \"Amana Mainnet\",\n \"symbol\": \"MEER\",\n \"decimals\": 18\n },\n \"networkId\": 8134,\n \"rpc\": [],\n \"shortName\": \"amana\",\n \"slug\": \"amana\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c8135 = {\n \"chain\": \"MEER\",\n \"chainId\": 8135,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Flana\",\n \"nativeCurrency\": {\n \"name\": \"Flana Mainnet\",\n \"symbol\": \"MEER\",\n \"decimals\": 18\n },\n \"networkId\": 8135,\n \"rpc\": [],\n \"shortName\": \"flana\",\n \"slug\": \"flana\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c8136 = {\n \"chain\": \"MEER\",\n \"chainId\": 8136,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Mizana\",\n \"nativeCurrency\": {\n \"name\": \"Mizana Mainnet\",\n \"symbol\": \"MEER\",\n \"decimals\": 18\n },\n \"networkId\": 8136,\n \"rpc\": [],\n \"shortName\": \"mizana\",\n \"slug\": \"mizana\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c8154 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 8154,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0318sGCP\",\n \"nativeCurrency\": {\n \"name\": \"QR0318sGCP Token\",\n \"symbol\": \"VEG\",\n \"decimals\": 18\n },\n \"networkId\": 8154,\n \"redFlags\": [],\n \"rpc\": [\"https://8154.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0318sgcp/testnet/rpc\"],\n \"shortName\": \"QR0318sGCP\",\n \"slug\": \"qr0318sgcp\",\n \"testnet\": true\n};\n\nvar c8181 = {\n \"chain\": \"tBOC\",\n \"chainId\": 8181,\n \"explorers\": [{\n \"name\": \"Testnet BeOne Chain\",\n \"url\": \"https://testnet.beonescan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmbVLQnaMDu86bPyKgCvTGhFBeYwjr15hQnrCcsp1EkAGL\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://testnet.beonescan.com/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmbVLQnaMDu86bPyKgCvTGhFBeYwjr15hQnrCcsp1EkAGL\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.beonescan.com\",\n \"name\": \"Testnet BeOne Chain\",\n \"nativeCurrency\": {\n \"name\": \"Testnet BeOne Chain\",\n \"symbol\": \"tBOC\",\n \"decimals\": 18\n },\n \"networkId\": 8181,\n \"rpc\": [\"https://8181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pre-boc1.beonechain.com\"],\n \"shortName\": \"tBOC\",\n \"slip44\": 1,\n \"slug\": \"testnet-beone-chain\",\n \"testnet\": true\n};\n\nvar c8192 = {\n \"chain\": \"TQF\",\n \"chainId\": 8192,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://toruscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidchntjaxmq52cuqqoalpajk5ssk4p77k7n4jgywqmkpldo5qgobm\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.toruschain.com\",\n \"name\": \"Torus Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TQF\",\n \"symbol\": \"TQF\",\n \"decimals\": 18\n },\n \"networkId\": 8192,\n \"rpc\": [\"https://8192.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.toruschain.com\"],\n \"shortName\": \"tqf\",\n \"slug\": \"torus\",\n \"testnet\": false\n};\n\nvar c8194 = {\n \"chain\": \"TQF\",\n \"chainId\": 8194,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.toruscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidchntjaxmq52cuqqoalpajk5ssk4p77k7n4jgywqmkpldo5qgobm\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.toruschain.com\",\n \"name\": \"Torus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tTQF\",\n \"symbol\": \"TTQF\",\n \"decimals\": 18\n },\n \"networkId\": 8194,\n \"rpc\": [\"https://8194.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.toruschain.com\"],\n \"shortName\": \"ttqf\",\n \"slip44\": 1,\n \"slug\": \"torus-testnet\",\n \"testnet\": true\n};\n\nvar c8217 = {\n \"chain\": \"KLAY\",\n \"chainId\": 8217,\n \"explorers\": [{\n \"name\": \"Klaytnscope\",\n \"url\": \"https://scope.klaytn.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Klaytnfinder\",\n \"url\": \"https://klaytnfinder.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"klaytnfinder\",\n \"url\": \"https://www.klaytnfinder.io/\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigtgdivlmfvf7trqjqy4vkz2d26xk3iif6av265v4klu5qavsugm4\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://klaytn.foundation\",\n \"name\": \"Klaytn Mainnet Cypress\",\n \"nativeCurrency\": {\n \"name\": \"KLAY\",\n \"symbol\": \"KLAY\",\n \"decimals\": 18\n },\n \"networkId\": 8217,\n \"redFlags\": [],\n \"rpc\": [\"https://8217.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-en-cypress.klaytn.net\", \"https://klaytn-mainnet-rpc.allthatnode.com:8551\", \"https://klaytn.blockpi.network/v1/rpc/public\"],\n \"shortName\": \"Cypress\",\n \"slip44\": 8217,\n \"slug\": \"klaytn-cypress\",\n \"testnet\": false\n};\n\nvar c8227 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 8227,\n \"explorers\": [{\n \"name\": \"SPACE Explorer\",\n \"url\": \"https://subnets.avax.network/space\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Space\",\n \"nativeCurrency\": {\n \"name\": \"Space Token\",\n \"symbol\": \"FUEL\",\n \"decimals\": 18\n },\n \"networkId\": 8227,\n \"redFlags\": [],\n \"rpc\": [\"https://8227.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/space/mainnet/rpc\"],\n \"shortName\": \"Space\",\n \"slug\": \"space\",\n \"testnet\": false\n};\n\nvar c8272 = {\n \"chain\": \"Blockton Blockchain\",\n \"chainId\": 8272,\n \"explorers\": [{\n \"name\": \"Blockton Explorer\",\n \"url\": \"https://blocktonscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.blocktonscan.com/\"],\n \"infoURL\": \"https://blocktoncoin.com\",\n \"name\": \"Blockton Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"BLOCKTON\",\n \"symbol\": \"BTON\",\n \"decimals\": 18\n },\n \"networkId\": 8272,\n \"rpc\": [\"https://8272.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.blocktonscan.com/\"],\n \"shortName\": \"BTON\",\n \"slug\": \"blockton-blockchain\",\n \"testnet\": false\n};\n\nvar c8285 = {\n \"chain\": \"Kortho\",\n \"chainId\": 8285,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.kortho.io/\",\n \"name\": \"KorthoTest\",\n \"nativeCurrency\": {\n \"name\": \"Kortho Test\",\n \"symbol\": \"KTO\",\n \"decimals\": 11\n },\n \"networkId\": 8285,\n \"rpc\": [\"https://8285.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://www.krotho-test.net\"],\n \"shortName\": \"Kortho\",\n \"slip44\": 1,\n \"slug\": \"korthotest\",\n \"testnet\": true\n};\n\nvar c8329 = {\n \"chain\": \"Lorenzo\",\n \"chainId\": 8329,\n \"explorers\": [{\n \"name\": \"Lorenzo Explorer\",\n \"url\": \"https://scan.lorenzo-protocol.xyz\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmcwDCeZpzvRWBwtTgyEFv4tLJk6SFUb26rwsRXyJrhnP7\",\n \"width\": 288,\n \"height\": 288,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmcwDCeZpzvRWBwtTgyEFv4tLJk6SFUb26rwsRXyJrhnP7\",\n \"width\": 288,\n \"height\": 288,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.lorenzo-protocol.xyz/\",\n \"name\": \"Lorenzo\",\n \"nativeCurrency\": {\n \"name\": \"Lorenzo stBTC\",\n \"symbol\": \"stBTC\",\n \"decimals\": 18\n },\n \"networkId\": 8329,\n \"rpc\": [\"https://8329.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.lorenzo-protocol.xyz\"],\n \"shortName\": \"lrz\",\n \"slug\": \"lorenzo\",\n \"testnet\": false\n};\n\nvar c8387 = {\n \"chain\": \"FUCK\",\n \"chainId\": 8387,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeibpyckp65pqjvrvqhdt26wqoqk55m6anshbfgyqnaemn6l34nlwya\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://wolfery.com\",\n \"name\": \"Dracones Financial Services\",\n \"nativeCurrency\": {\n \"name\": \"Functionally Universal Coin Kind\",\n \"symbol\": \"FUCK\",\n \"decimals\": 18\n },\n \"networkId\": 8387,\n \"rpc\": [\"https://8387.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.dracones.net/\"],\n \"shortName\": \"fuck\",\n \"slug\": \"dracones-financial-services\",\n \"testnet\": false,\n \"title\": \"The Dracones Mainnet\"\n};\n\nvar c8453 = {\n \"chain\": \"ETH\",\n \"chainId\": 8453,\n \"explorers\": [{\n \"name\": \"basescan\",\n \"url\": \"https://basescan.org\",\n \"standard\": \"none\"\n }, {\n \"name\": \"basescout\",\n \"url\": \"https://base.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://base.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW5Vn15HeRkScMfPcW12ZdZcC2yUASpu6eCsECRdEmjjj/base-512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://base.org\",\n \"name\": \"Base\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 8453,\n \"redFlags\": [],\n \"rpc\": [\"https://8453.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.base.org/\", \"https://developer-access-mainnet.base.org/\", \"https://base.gateway.tenderly.co\", \"wss://base.gateway.tenderly.co\", \"https://base-rpc.publicnode.com\", \"wss://base-rpc.publicnode.com\"],\n \"shortName\": \"base\",\n \"slug\": \"base\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c8654 = {\n \"chain\": \"TOKI\",\n \"chainId\": 8654,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbCBBH4dFHGr8u1yQspCieQG9hLcPFNYdRx1wnVsX8hUw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.buildwithtoki.com\",\n \"name\": \"Toki Network\",\n \"nativeCurrency\": {\n \"name\": \"Toki\",\n \"symbol\": \"TOKI\",\n \"decimals\": 18\n },\n \"networkId\": 8654,\n \"rpc\": [\"https://8654.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.buildwithtoki.com/v0/rpc\"],\n \"shortName\": \"toki\",\n \"slug\": \"toki-network\",\n \"testnet\": false\n};\n\nvar c8655 = {\n \"chain\": \"TOKI\",\n \"chainId\": 8655,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbCBBH4dFHGr8u1yQspCieQG9hLcPFNYdRx1wnVsX8hUw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.buildwithtoki.com\",\n \"name\": \"Toki Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Toki\",\n \"symbol\": \"TOKI\",\n \"decimals\": 18\n },\n \"networkId\": 8655,\n \"rpc\": [\"https://8655.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.buildwithtoki.com/v0/rpc\"],\n \"shortName\": \"toki-testnet\",\n \"slip44\": 1,\n \"slug\": \"toki-testnet\",\n \"testnet\": true\n};\n\nvar c8668 = {\n \"chain\": \"Hela\",\n \"chainId\": 8668,\n \"explorers\": [{\n \"name\": \"Hela Official Runtime Mainnet Explorer\",\n \"url\": \"https://mainnet-blockexplorer.helachain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQbUVcaxFwY8gqMq1Jeup4NEyivo12QYhbLvVRvgXRBFb\",\n \"width\": 719,\n \"height\": 216,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://helalabs.com\",\n \"name\": \"Hela Official Runtime Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Hela HLUSD\",\n \"symbol\": \"HLUSD\",\n \"decimals\": 18\n },\n \"networkId\": 8668,\n \"rpc\": [\"https://8668.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.helachain.com\"],\n \"shortName\": \"hela\",\n \"slug\": \"hela-official-runtime\",\n \"testnet\": false\n};\n\nvar c8723 = {\n \"chain\": \"OLO\",\n \"chainId\": 8723,\n \"explorers\": [{\n \"name\": \"OLO Block Explorer\",\n \"url\": \"https://www.olo.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ibdt.io\",\n \"name\": \"TOOL Global Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TOOL Global\",\n \"symbol\": \"OLO\",\n \"decimals\": 18\n },\n \"networkId\": 8723,\n \"rpc\": [\"https://8723.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-web3.wolot.io\"],\n \"shortName\": \"olo\",\n \"slip44\": 479,\n \"slug\": \"tool-global\",\n \"testnet\": false\n};\n\nvar c8724 = {\n \"chain\": \"OLO\",\n \"chainId\": 8724,\n \"explorers\": [],\n \"faucets\": [\"https://testnet-explorer.wolot.io\"],\n \"infoURL\": \"https://testnet-explorer.wolot.io\",\n \"name\": \"TOOL Global Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TOOL Global\",\n \"symbol\": \"OLO\",\n \"decimals\": 18\n },\n \"networkId\": 8724,\n \"rpc\": [\"https://8724.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-web3.wolot.io\"],\n \"shortName\": \"tolo\",\n \"slip44\": 1,\n \"slug\": \"tool-global-testnet\",\n \"testnet\": true\n};\n\nvar c8726 = {\n \"chain\": \"Storagechain\",\n \"chainId\": 8726,\n \"explorers\": [{\n \"name\": \"Storscan\",\n \"url\": \"https://explorer-storagechain.invo.zone/?network=StorageChain\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfN9r1S7FvzkbjqfNMdUikhHmCw5e6UqsTuRD51S8T6Cq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://storagechain.io/about-us\",\n \"name\": \"Storagechain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Storagechain\",\n \"symbol\": \"STOR\",\n \"decimals\": 18\n },\n \"networkId\": 8726,\n \"rpc\": [\"https://8726.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-validator.storagechain.io\"],\n \"shortName\": \"stor\",\n \"slug\": \"storagechain\",\n \"testnet\": false\n};\n\nvar c8727 = {\n \"chain\": \"Storagechain\",\n \"chainId\": 8727,\n \"explorers\": [{\n \"name\": \"Storscan\",\n \"url\": \"https://explorer-storagechain.invo.zone/?network=StorageChain%20Testnet\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfN9r1S7FvzkbjqfNMdUikhHmCw5e6UqsTuRD51S8T6Cq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://storagechain.io/about-us\",\n \"name\": \"Storagechain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Storagechain\",\n \"symbol\": \"STOR\",\n \"decimals\": 18\n },\n \"networkId\": 8727,\n \"rpc\": [\"https://8727.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-validator.storagechain.io\"],\n \"shortName\": \"tstor\",\n \"slug\": \"storagechain-testnet\",\n \"testnet\": true\n};\n\nvar c8738 = {\n \"chain\": \"ALPH\",\n \"chainId\": 8738,\n \"explorers\": [{\n \"name\": \"alphscan\",\n \"url\": \"https://explorer.alph.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://alph.network\",\n \"name\": \"Alph Network\",\n \"nativeCurrency\": {\n \"name\": \"Alph Network\",\n \"symbol\": \"ALPH\",\n \"decimals\": 18\n },\n \"networkId\": 8738,\n \"rpc\": [\"https://8738.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.alph.network\", \"wss://rpc.alph.network\"],\n \"shortName\": \"alph\",\n \"slug\": \"alph-network\",\n \"testnet\": false\n};\n\nvar c8768 = {\n \"chain\": \"TMY\",\n \"chainId\": 8768,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.tmychain.org/\"],\n \"icon\": {\n \"url\": \"ipfs://Qmcd19ksUvNMD1XQFSC55jJhDPoF2zUzzV7woteFiugwBH\",\n \"width\": 1024,\n \"height\": 1023,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://tmychain.org/\",\n \"name\": \"TMY Chain\",\n \"nativeCurrency\": {\n \"name\": \"TMY\",\n \"symbol\": \"TMY\",\n \"decimals\": 18\n },\n \"networkId\": 8768,\n \"rpc\": [\"https://8768.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.tmyblockchain.org/rpc\"],\n \"shortName\": \"tmy\",\n \"slug\": \"tmy-chain\",\n \"testnet\": false\n};\n\nvar c8822 = {\n \"chain\": \"IOTA EVM\",\n \"chainId\": 8822,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.evm.iota.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibky2sy6qhi6arktayvologkrgu5kudpgdxfkx4uosbvmstz7v4di\",\n \"width\": 720,\n \"height\": 720,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.iota.org\",\n \"name\": \"IOTA EVM\",\n \"nativeCurrency\": {\n \"name\": \"IOTA\",\n \"symbol\": \"IOTA\",\n \"decimals\": 18\n },\n \"networkId\": 8822,\n \"rpc\": [\"https://8822.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.evm.iotaledger.net\", \"https://ws.json-rpc.evm.iotaledger.net\"],\n \"shortName\": \"iotaevm\",\n \"slug\": \"iota-evm\",\n \"testnet\": false,\n \"title\": \"IOTA EVM\"\n};\n\nvar c8844 = {\n \"chain\": \"HYDRA\",\n \"chainId\": 8844,\n \"explorers\": [{\n \"name\": \"Hydra Chain Testnet explorer\",\n \"url\": \"https://hydragon.hydrachain.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVxyUjuA8t9q3oWDgv8ExqaUXcRuDqiKrZAiLaBWHYcmG\",\n \"width\": 722,\n \"height\": 813,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://app.testnet.hydrachain.org/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVxyUjuA8t9q3oWDgv8ExqaUXcRuDqiKrZAiLaBWHYcmG\",\n \"width\": 722,\n \"height\": 813,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hydrachain.org\",\n \"name\": \"Hydra Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tHydra\",\n \"symbol\": \"tHYDRA\",\n \"decimals\": 18\n },\n \"networkId\": 8844,\n \"rpc\": [\"https://8844.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.hydrachain.org\"],\n \"shortName\": \"THYDRA\",\n \"slug\": \"hydra-chain-testnet\",\n \"testnet\": true\n};\n\nvar c8848 = {\n \"chain\": \"MARO Blockchain\",\n \"chainId\": 8848,\n \"explorers\": [{\n \"name\": \"MARO Scan\",\n \"url\": \"https://scan.ma.ro/#\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreig47k53aipns6nu3u5fxpysp7mogzk6zyvatgpbam7yut3yvtuefa\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ma.ro/\",\n \"name\": \"MARO Blockchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MARO\",\n \"symbol\": \"MARO\",\n \"decimals\": 18\n },\n \"networkId\": 8848,\n \"rpc\": [\"https://8848.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.ma.ro\"],\n \"shortName\": \"maro\",\n \"slug\": \"maro-blockchain\",\n \"testnet\": false\n};\n\nvar c8866 = {\n \"chain\": \"SuperLumio\",\n \"chainId\": 8866,\n \"explorers\": [{\n \"name\": \"Lumio explorer\",\n \"url\": \"https://explorer.lumio.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXiatdz5WBFypfsudoDsFnsLdiHzDwcD3pWcHwBovbPiZ\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lumio.io/\",\n \"name\": \"SuperLumio\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 8866,\n \"rpc\": [\"https://8866.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.lumio.io/\"],\n \"shortName\": \"superlumio\",\n \"slug\": \"superlumio\",\n \"testnet\": false\n};\n\nvar c8880 = {\n \"chain\": \"UNQ\",\n \"chainId\": 8880,\n \"explorers\": [{\n \"name\": \"Unique Scan\",\n \"url\": \"https://uniquescan.io/unique\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbJ7CGZ2GxWMp7s6jy71UGzRsMe4w3KANKXDAExYWdaFR\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://unique.network\",\n \"name\": \"Unique\",\n \"nativeCurrency\": {\n \"name\": \"Unique\",\n \"symbol\": \"UNQ\",\n \"decimals\": 18\n },\n \"networkId\": 8880,\n \"rpc\": [\"https://8880.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.unique.network\", \"https://eu-rpc.unique.network\", \"https://asia-rpc.unique.network\", \"https://us-rpc.unique.network\"],\n \"shortName\": \"unq\",\n \"slug\": \"unique\",\n \"testnet\": false\n};\n\nvar c8881 = {\n \"chain\": \"UNQ\",\n \"chainId\": 8881,\n \"explorers\": [{\n \"name\": \"Unique Scan / Quartz\",\n \"url\": \"https://uniquescan.io/quartz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaGPdccULQEFcCGxzstnmE8THfac2kSiGwvWRAiaRq4dp\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://unique.network\",\n \"name\": \"Quartz by Unique\",\n \"nativeCurrency\": {\n \"name\": \"Quartz\",\n \"symbol\": \"QTZ\",\n \"decimals\": 18\n },\n \"networkId\": 8881,\n \"rpc\": [\"https://8881.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-quartz.unique.network\", \"https://quartz.api.onfinality.io/public-ws\", \"https://eu-rpc-quartz.unique.network\", \"https://asia-rpc-quartz.unique.network\", \"https://us-rpc-quartz.unique.network\"],\n \"shortName\": \"qtz\",\n \"slug\": \"quartz-by-unique\",\n \"testnet\": false\n};\n\nvar c8882 = {\n \"chain\": \"UNQ\",\n \"chainId\": 8882,\n \"explorers\": [{\n \"name\": \"Unique Scan / Opal\",\n \"url\": \"https://uniquescan.io/opal\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://t.me/unique2faucet_opal_bot\"],\n \"icon\": {\n \"url\": \"ipfs://QmYJDpmWyjDa3H6BxweFmQXk4fU8b1GU7M9EqYcaUNvXzc\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://unique.network\",\n \"name\": \"Opal testnet by Unique\",\n \"nativeCurrency\": {\n \"name\": \"Opal\",\n \"symbol\": \"UNQ\",\n \"decimals\": 18\n },\n \"networkId\": 8882,\n \"rpc\": [\"https://8882.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-opal.unique.network\", \"https://us-rpc-opal.unique.network\", \"https://eu-rpc-opal.unique.network\", \"https://asia-rpc-opal.unique.network\"],\n \"shortName\": \"opl\",\n \"slip44\": 1,\n \"slug\": \"opal-testnet-by-unique\",\n \"testnet\": true\n};\n\nvar c8883 = {\n \"chain\": \"UNQ\",\n \"chainId\": 8883,\n \"explorers\": [{\n \"name\": \"Unique Scan / Sapphire\",\n \"url\": \"https://uniquescan.io/sapphire\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmd1PGt4cDRjFbh4ihP5QKEd4XQVwN1MkebYKdF56V74pf\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://unique.network\",\n \"name\": \"Sapphire by Unique\",\n \"nativeCurrency\": {\n \"name\": \"Quartz\",\n \"symbol\": \"QTZ\",\n \"decimals\": 18\n },\n \"networkId\": 8883,\n \"rpc\": [\"https://8883.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-sapphire.unique.network\", \"https://us-rpc-sapphire.unique.network\", \"https://eu-rpc-sapphire.unique.network\", \"https://asia-rpc-sapphire.unique.network\"],\n \"shortName\": \"sph\",\n \"slug\": \"sapphire-by-unique\",\n \"testnet\": false\n};\n\nvar c8888 = {\n \"chain\": \"XANAChain\",\n \"chainId\": 8888,\n \"explorers\": [{\n \"name\": \"XANAChain\",\n \"url\": \"https://xanachain.xana.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWGNfwJ9o2vmKD3E6fjrxpbFP8W5q45zmYzHHoXwqqAoj\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xanachain.xana.net/\",\n \"name\": \"XANAChain\",\n \"nativeCurrency\": {\n \"name\": \"XETA\",\n \"symbol\": \"XETA\",\n \"decimals\": 18\n },\n \"networkId\": 8888,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://8888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.xana.net/rpc\"],\n \"shortName\": \"XANAChain\",\n \"slug\": \"xanachain\",\n \"testnet\": false\n};\n\nvar c8889 = {\n \"chain\": \"VSC\",\n \"chainId\": 8889,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://vsc-dataseed.vyvo.org\",\n \"name\": \"Vyvo Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"VSC\",\n \"symbol\": \"VSC\",\n \"decimals\": 18\n },\n \"networkId\": 8889,\n \"rpc\": [\"https://8889.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://vsc-dataseed.vyvo.org:8889\"],\n \"shortName\": \"vsc\",\n \"slug\": \"vyvo-smart-chain\",\n \"testnet\": false\n};\n\nvar c8890 = {\n \"chain\": \"ORE\",\n \"chainId\": 8890,\n \"explorers\": [{\n \"name\": \"ORE Testnet Explorer\",\n \"url\": \"https://testnet.oreniumscan.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmXszYAtQxaFCG3s9vGHoLJnqxGJw2wTKNbruTJ8iDXU7K\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucetcoin.orenium.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmXszYAtQxaFCG3s9vGHoLJnqxGJw2wTKNbruTJ8iDXU7K\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://orenium.org\",\n \"name\": \"Orenium Testnet Protocol\",\n \"nativeCurrency\": {\n \"name\": \"ORENIUM\",\n \"symbol\": \"tORE\",\n \"decimals\": 18\n },\n \"networkId\": 8890,\n \"rpc\": [\"https://8890.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-dev-testnet.orenium.org/\", \"https://rpc-testnet.orenium.org/\", \"https://rpc-orc.oredex.finance\", \"https://testnet-rpc.oredex.finance\", \"https://oredex-node.oredex.finance\"],\n \"shortName\": \"tore\",\n \"slip44\": 1,\n \"slug\": \"orenium-testnet-protocol\",\n \"testnet\": true\n};\n\nvar c8898 = {\n \"chain\": \"MMT\",\n \"chainId\": 8898,\n \"explorers\": [{\n \"name\": \"mmtscan\",\n \"url\": \"https://mmtscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.mmtscan.io/\"],\n \"infoURL\": \"https://mmtchain.io/\",\n \"name\": \"Mammoth Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Mammoth Token\",\n \"symbol\": \"MMT\",\n \"decimals\": 18\n },\n \"networkId\": 8898,\n \"rpc\": [\"https://8898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dataseed.mmtscan.io\", \"https://dataseed1.mmtscan.io\", \"https://dataseed2.mmtscan.io\"],\n \"shortName\": \"mmt\",\n \"slug\": \"mammoth\",\n \"testnet\": false,\n \"title\": \"Mammoth Chain\"\n};\n\nvar c8899 = {\n \"chain\": \"JBC\",\n \"chainId\": 8899,\n \"explorers\": [{\n \"name\": \"JIBCHAIN Explorer\",\n \"url\": \"https://exp-l1.jibchain.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmWvTUSCcQ17mDiKg3w1X5nW3q4wZGuVsZ9vwzJ8S9oCns\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://jibchain.net\",\n \"name\": \"JIBCHAIN L1\",\n \"nativeCurrency\": {\n \"name\": \"JIBCOIN\",\n \"symbol\": \"JBC\",\n \"decimals\": 18\n },\n \"networkId\": 8899,\n \"rpc\": [\"https://8899.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-l1.jibchain.net\", \"https://jib-rpc.inan.in.th\"],\n \"shortName\": \"jbc\",\n \"slug\": \"jibchain-l1\",\n \"testnet\": false\n};\n\nvar c8911 = {\n \"chain\": \"ALG\",\n \"chainId\": 8911,\n \"explorers\": [{\n \"name\": \"algscan\",\n \"url\": \"https://scan.algen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdSNGv2Atdaexawc4L3uAL7dL5aDREgWwPo2HNayQbpLm\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdSNGv2Atdaexawc4L3uAL7dL5aDREgWwPo2HNayQbpLm\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.algen.network\",\n \"name\": \"Algen\",\n \"nativeCurrency\": {\n \"name\": \"ALG\",\n \"symbol\": \"ALG\",\n \"decimals\": 18\n },\n \"networkId\": 8911,\n \"rpc\": [\"https://8911.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.algen.network\"],\n \"shortName\": \"alg\",\n \"slug\": \"algen\",\n \"testnet\": false\n};\n\nvar c8912 = {\n \"chain\": \"ALG\",\n \"chainId\": 8912,\n \"explorers\": [{\n \"name\": \"algscan\",\n \"url\": \"https://scan.test.algen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdSNGv2Atdaexawc4L3uAL7dL5aDREgWwPo2HNayQbpLm\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdSNGv2Atdaexawc4L3uAL7dL5aDREgWwPo2HNayQbpLm\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.algen.network\",\n \"name\": \"Algen Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ALG\",\n \"symbol\": \"ALG\",\n \"decimals\": 18\n },\n \"networkId\": 8912,\n \"rpc\": [\"https://8912.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.test.algen.network\"],\n \"shortName\": \"algTest\",\n \"slug\": \"algen-testnet\",\n \"testnet\": true\n};\n\nvar c8921 = {\n \"chain\": \"ALG L2\",\n \"chainId\": 8921,\n \"explorers\": [{\n \"name\": \"algl2scan\",\n \"url\": \"https://scan.alg2.algen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbLWspX1WryyfhiiuPpG5A7AGBJUvwdZtVPuzZoJyxS23\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbLWspX1WryyfhiiuPpG5A7AGBJUvwdZtVPuzZoJyxS23\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.algen.network\",\n \"name\": \"Algen Layer2\",\n \"nativeCurrency\": {\n \"name\": \"ALG\",\n \"symbol\": \"ALG\",\n \"decimals\": 18\n },\n \"networkId\": 8921,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-8911\"\n },\n \"rpc\": [\"https://8921.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.alg2.algen.network\"],\n \"shortName\": \"algl2\",\n \"slug\": \"algen-layer2\",\n \"testnet\": false\n};\n\nvar c8922 = {\n \"chain\": \"ALG L2\",\n \"chainId\": 8922,\n \"explorers\": [{\n \"name\": \"algl2scan\",\n \"url\": \"https://scan.alg2-test.algen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbLWspX1WryyfhiiuPpG5A7AGBJUvwdZtVPuzZoJyxS23\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbLWspX1WryyfhiiuPpG5A7AGBJUvwdZtVPuzZoJyxS23\",\n \"width\": 323,\n \"height\": 323,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.algen.network\",\n \"name\": \"Algen Layer2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ALG\",\n \"symbol\": \"ALG\",\n \"decimals\": 18\n },\n \"networkId\": 8922,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-8921\"\n },\n \"rpc\": [\"https://8922.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.alg2-test.algen.network\"],\n \"shortName\": \"algl2Test\",\n \"slug\": \"algen-layer2-testnet\",\n \"testnet\": true\n};\n\nvar c8989 = {\n \"chain\": \"GMMT\",\n \"chainId\": 8989,\n \"explorers\": [{\n \"name\": \"gmmtscan\",\n \"url\": \"https://scan.gmmtchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVth4aPeskDTFqRifUugJx6gyEHCmx2PFbMWUtsCSQFkF\",\n \"width\": 468,\n \"height\": 518,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVth4aPeskDTFqRifUugJx6gyEHCmx2PFbMWUtsCSQFkF\",\n \"width\": 468,\n \"height\": 518,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gmmtchain.io/\",\n \"name\": \"Giant Mammoth Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Giant Mammoth Coin\",\n \"symbol\": \"GMMT\",\n \"decimals\": 18\n },\n \"networkId\": 8989,\n \"rpc\": [\"https://8989.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-asia.gmmtchain.io\"],\n \"shortName\": \"gmmt\",\n \"slug\": \"giant-mammoth\",\n \"testnet\": false,\n \"title\": \"Giant Mammoth Chain\"\n};\n\nvar c8995 = {\n \"chain\": \"bloxberg\",\n \"chainId\": 8995,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.bloxberg.org/\"],\n \"infoURL\": \"https://bloxberg.org\",\n \"name\": \"bloxberg\",\n \"nativeCurrency\": {\n \"name\": \"BERG\",\n \"symbol\": \"U+25B3\",\n \"decimals\": 18\n },\n \"networkId\": 8995,\n \"rpc\": [\"https://8995.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://core.bloxberg.org\"],\n \"shortName\": \"berg\",\n \"slug\": \"bloxberg\",\n \"testnet\": false\n};\n\nvar c9000 = {\n \"chain\": \"Evmos\",\n \"chainId\": 9000,\n \"explorers\": [{\n \"name\": \"Evmos Explorer (Escan)\",\n \"url\": \"https://testnet.escan.live\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.evmos.dev\"],\n \"icon\": {\n \"url\": \"ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://evmos.org\",\n \"name\": \"Evmos Testnet\",\n \"nativeCurrency\": {\n \"name\": \"test-Evmos\",\n \"symbol\": \"tEVMOS\",\n \"decimals\": 18\n },\n \"networkId\": 9000,\n \"rpc\": [\"https://9000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmos-testnet.lava.build\", \"https://eth.bd.evmos.dev:8545\", \"https://evmos-testnet-evm-rpc.publicnode.com\", \"wss://evmos-testnet-evm-rpc.publicnode.com\"],\n \"shortName\": \"evmos-testnet\",\n \"slip44\": 1,\n \"slug\": \"evmos-testnet\",\n \"testnet\": true\n};\n\nvar c9001 = {\n \"chain\": \"Evmos\",\n \"chainId\": 9001,\n \"explorers\": [{\n \"name\": \"Evmos Explorer (Escan)\",\n \"url\": \"https://escan.live\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeZW6VKUFTbz7PPW8PmDR3ZHa6osYPLBFPnW8T5LSU49c\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://evmos.org\",\n \"name\": \"Evmos\",\n \"nativeCurrency\": {\n \"name\": \"Evmos\",\n \"symbol\": \"EVMOS\",\n \"decimals\": 18\n },\n \"networkId\": 9001,\n \"rpc\": [\"https://9001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmos.lava.build\", \"wss://evmos.lava.build/websocket\", \"https://evmos-evm-rpc.publicnode.com\", \"wss://evmos-evm-rpc.publicnode.com\"],\n \"shortName\": \"evmos\",\n \"slug\": \"evmos\",\n \"testnet\": false\n};\n\nvar c9007 = {\n \"chain\": \"Shido Testnet\",\n \"chainId\": 9007,\n \"explorers\": [{\n \"name\": \"Shidoblock Testnet Explorer\",\n \"url\": \"https://testnet.shidoscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://testnet.shidoscan.com/faucet\"],\n \"infoURL\": \"https://www.nexablock.io\",\n \"name\": \"Shido Testnet Block\",\n \"nativeCurrency\": {\n \"name\": \"Shido Testnet Token\",\n \"symbol\": \"SHIDO\",\n \"decimals\": 18\n },\n \"networkId\": 9007,\n \"rpc\": [\"https://9007.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet-nodes.shidoscan.com\", \"wss://wss-testnet-nodes.shidoscan.com\"],\n \"shortName\": \"ShidoTestnet\",\n \"slug\": \"shido-testnet-block\",\n \"testnet\": true\n};\n\nvar c9008 = {\n \"chain\": \"Shido Mainnet\",\n \"chainId\": 9008,\n \"explorers\": [{\n \"name\": \"Shidoblock Mainnet Explorer\",\n \"url\": \"https://shidoscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://shido.io\",\n \"name\": \"Shido Mainnet Block\",\n \"nativeCurrency\": {\n \"name\": \"Shido Mainnet Token\",\n \"symbol\": \"SHIDO\",\n \"decimals\": 18\n },\n \"networkId\": 9008,\n \"rpc\": [\"https://9008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-nodes.shidoscan.com\", \"wss://wss-nodes.shidoscan.com\", \"https://rpc-delta-nodes.shidoscan.com\", \"wss://wss-delta-nodes.shidoscan.com\"],\n \"shortName\": \"Shido\",\n \"slug\": \"shido-block\",\n \"testnet\": false\n};\n\nvar c9012 = {\n \"chain\": \"BRB\",\n \"chainId\": 9012,\n \"explorers\": [{\n \"name\": \"berylbit-explorer\",\n \"url\": \"https://explorer.berylbit.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://t.me/BerylBit\"],\n \"icon\": {\n \"url\": \"ipfs://QmeDXHkpranzqGN1BmQqZSrFp4vGXf4JfaB5iq8WHHiwDi\",\n \"width\": 162,\n \"height\": 162,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.beryl-bit.com\",\n \"name\": \"BerylBit Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BerylBit Chain Native Token\",\n \"symbol\": \"BRB\",\n \"decimals\": 18\n },\n \"networkId\": 9012,\n \"rpc\": [\"https://9012.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.berylbit.io\"],\n \"shortName\": \"brb\",\n \"slug\": \"berylbit\",\n \"testnet\": false\n};\n\nvar c9024 = {\n \"chain\": \"Nexa Testnet\",\n \"chainId\": 9024,\n \"explorers\": [{\n \"name\": \"Nexablock Testnet Explorer\",\n \"url\": \"https://testnet.nexablockscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreib2t2lcaoh6iixrx4gjjvepws5tlsszfla5hb36b3mgyq7clve35y\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://testnet.nexablockscan.io/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreib2t2lcaoh6iixrx4gjjvepws5tlsszfla5hb36b3mgyq7clve35y\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nexablock.io\",\n \"name\": \"Nexa Testnet Block\",\n \"nativeCurrency\": {\n \"name\": \"Nexa Testnet Token\",\n \"symbol\": \"NEXB\",\n \"decimals\": 18\n },\n \"networkId\": 9024,\n \"rpc\": [\"https://9024.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet-nodes.nexablockscan.io\"],\n \"shortName\": \"NexaTestnet\",\n \"slug\": \"nexa-testnet-block\",\n \"testnet\": true\n};\n\nvar c9025 = {\n \"chain\": \"Nexa Mainnet\",\n \"chainId\": 9025,\n \"explorers\": [{\n \"name\": \"Nexablock Mainnet Explorer\",\n \"url\": \"https://nexablockscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreib2t2lcaoh6iixrx4gjjvepws5tlsszfla5hb36b3mgyq7clve35y\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreib2t2lcaoh6iixrx4gjjvepws5tlsszfla5hb36b3mgyq7clve35y\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nexablock.io\",\n \"name\": \"Nexa Mainnet Block\",\n \"nativeCurrency\": {\n \"name\": \"Nexa Mainnet Token\",\n \"symbol\": \"NEXB\",\n \"decimals\": 18\n },\n \"networkId\": 9025,\n \"rpc\": [\"https://9025.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-nodes.nexablockscan.io\", \"wss://wss-nodes.nexablockscan.io\", \"https://rpc-nodes-delta.nexablockscan.io\"],\n \"shortName\": \"Nexa\",\n \"slug\": \"nexa-block\",\n \"testnet\": false\n};\n\nvar c9100 = {\n \"chain\": \"Genesis\",\n \"chainId\": 9100,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://genesis-gn.com\",\n \"name\": \"Genesis Coin\",\n \"nativeCurrency\": {\n \"name\": \"GN Coin\",\n \"symbol\": \"GNC\",\n \"decimals\": 18\n },\n \"networkId\": 9100,\n \"rpc\": [\"https://9100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://genesis-gn.com\", \"wss://genesis-gn.com\"],\n \"shortName\": \"GENEC\",\n \"slug\": \"genesis-coin\",\n \"testnet\": false\n};\n\nvar c9170 = {\n \"chain\": \"FIRE\",\n \"chainId\": 9170,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.thefirechain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmRnnw2gtbU9TWJMLJ6tks7SN6HQV5rRugeoyN6csTYHt1\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://thefirechain.com\",\n \"name\": \"Rinia Testnet Old\",\n \"nativeCurrency\": {\n \"name\": \"Firechain\",\n \"symbol\": \"FIRE\",\n \"decimals\": 18\n },\n \"networkId\": 9170,\n \"rpc\": [],\n \"shortName\": \"_old_tfire\",\n \"slip44\": 1,\n \"slug\": \"rinia-testnet-old\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c9223 = {\n \"chain\": \"COF\",\n \"chainId\": 9223,\n \"explorers\": [{\n \"name\": \"Codefin Net Explorer\",\n \"url\": \"https://explorer.codefin.pro\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVyAuAnKKNnGEpqeYMLPRfMdysLgPBTZeEXihXbRytGhp\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://network.codefin.pro\",\n \"name\": \"Codefin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Codefin\",\n \"symbol\": \"COF\",\n \"decimals\": 18\n },\n \"networkId\": 9223,\n \"rpc\": [\"https://9223.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain-rpc.codefin.pro\"],\n \"shortName\": \"COF\",\n \"slug\": \"codefin\",\n \"testnet\": false\n};\n\nvar c9294 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 9294,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4 Testnet Token\",\n \"symbol\": \"TQO\",\n \"decimals\": 18\n },\n \"networkId\": 9294,\n \"redFlags\": [],\n \"rpc\": [\"https://9294.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4 Testnet\",\n \"slug\": \"qauser4-testnet-qauser4 testnet\",\n \"testnet\": true\n};\n\nvar c9339 = {\n \"chain\": \"DOGS\",\n \"chainId\": 9339,\n \"explorers\": [{\n \"name\": \"Dogcoin\",\n \"url\": \"https://testnet.dogcoin.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dogcoin.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmZCadkExKThak3msvszZjo6UnAbUJKE61dAcg4TixuMC3\",\n \"width\": 160,\n \"height\": 171,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dogcoin.network\",\n \"name\": \"Dogcoin Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dogcoin\",\n \"symbol\": \"DOGS\",\n \"decimals\": 18\n },\n \"networkId\": 9339,\n \"rpc\": [\"https://9339.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.dogcoin.me\"],\n \"shortName\": \"DOGSt\",\n \"slip44\": 1,\n \"slug\": \"dogcoin-testnet\",\n \"testnet\": true\n};\n\nvar c9393 = {\n \"chain\": \"ETH\",\n \"chainId\": 9393,\n \"explorers\": [{\n \"name\": \"basescout\",\n \"url\": \"https://sepolia-delascan.deperp.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZQbfJfxYez8iQyVsB65y7ZTssKbgUpMXzPTEk5xGDwQB\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.deperp.com/dela\",\n \"name\": \"Dela Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 9393,\n \"rpc\": [\"https://9393.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-dela.deperp.com\"],\n \"shortName\": \"delasep\",\n \"slip44\": 1,\n \"slug\": \"dela-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c9395 = {\n \"chain\": \"MTHN\",\n \"chainId\": 9395,\n \"explorers\": [{\n \"name\": \"Evoke SmartChain Explorer\",\n \"url\": \"https://explorer.evokescan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreia5q26knsvxgkwxze7woepvsqat5n2hodokh4ozzphmhexqez5s34\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://explorer.evokescan.org\",\n \"name\": \"Evoke Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MTHN\",\n \"symbol\": \"MTHN\",\n \"decimals\": 18\n },\n \"networkId\": 9395,\n \"rpc\": [\"https://9395.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.evokescan.org\"],\n \"shortName\": \"MTHN\",\n \"slug\": \"evoke\",\n \"testnet\": false\n};\n\nvar c9527 = {\n \"chain\": \"Rangers\",\n \"chainId\": 9527,\n \"explorers\": [{\n \"name\": \"rangersscan-robin\",\n \"url\": \"https://robin-rangersscan.rangersprotocol.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://robin-faucet.rangersprotocol.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmXR5e5SDABWfQn6XT9uMsVYAo5Bv7vUv4jVs8DFqatZWG\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rangersprotocol.com\",\n \"name\": \"Rangers Protocol Testnet Robin\",\n \"nativeCurrency\": {\n \"name\": \"Rangers Protocol Gas\",\n \"symbol\": \"tRPG\",\n \"decimals\": 18\n },\n \"networkId\": 9527,\n \"rpc\": [\"https://9527.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://robin.rangersprotocol.com/api/jsonrpc\"],\n \"shortName\": \"trpg\",\n \"slip44\": 1,\n \"slug\": \"rangers-protocol-testnet-robin\",\n \"testnet\": true\n};\n\nvar c9528 = {\n \"chain\": \"QET\",\n \"chainId\": 9528,\n \"explorers\": [{\n \"name\": \"QEasyWeb3 Explorer\",\n \"url\": \"https://www.qeasyweb3.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://faucet.qeasyweb3.com\"],\n \"infoURL\": \"https://www.qeasyweb3.com\",\n \"name\": \"QEasyWeb3 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QET\",\n \"symbol\": \"QET\",\n \"decimals\": 18\n },\n \"networkId\": 9528,\n \"rpc\": [\"https://9528.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://qeasyweb3.com\"],\n \"shortName\": \"QETTest\",\n \"slip44\": 1,\n \"slug\": \"qeasyweb3-testnet\",\n \"testnet\": true\n};\n\nvar c9543 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 9543,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4523\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4523 Token\",\n \"symbol\": \"NBW\",\n \"decimals\": 18\n },\n \"networkId\": 9543,\n \"redFlags\": [],\n \"rpc\": [\"https://9543.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4523\",\n \"slug\": \"qauser4523\",\n \"testnet\": true\n};\n\nvar c9559 = {\n \"chain\": \"Neonlink\",\n \"chainId\": 9559,\n \"explorers\": [{\n \"name\": \"Neon Blockchain Explorer\",\n \"url\": \"https://testnet-scan.neonlink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://faucet.neonlink.io/\"],\n \"icon\": {\n \"url\": \"ipfs://QmX3hBv8WyvVfYjh1gmgDfJCpJBvKk4TYG9wFX9sC8WAjz\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://neonlink.io\",\n \"name\": \"Neonlink Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Neonlink Native Token\",\n \"symbol\": \"tNEON\",\n \"decimals\": 18\n },\n \"networkId\": 9559,\n \"rpc\": [\"https://9559.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.neonlink.io\"],\n \"shortName\": \"testneon\",\n \"slip44\": 1,\n \"slug\": \"neonlink-testnet\",\n \"testnet\": true\n};\n\nvar c9700 = {\n \"chain\": \"MainnetDev\",\n \"chainId\": 9700,\n \"explorers\": [{\n \"name\": \"Oort MainnetDev Scan\",\n \"url\": \"https://dev-scan.oortech.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy\",\n \"width\": 1440,\n \"height\": 1440,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidrbvklkb52sgmg7cmy42fhf7vqpig7qj7bnrq24ijdwywkzr2tfy\",\n \"width\": 1440,\n \"height\": 1440,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oortech.com\",\n \"name\": \"Oort MainnetDev\",\n \"nativeCurrency\": {\n \"name\": \"Oort\",\n \"symbol\": \"OORT\",\n \"decimals\": 18\n },\n \"networkId\": 9700,\n \"rpc\": [\"https://9700.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dev-rpc.oortech.com\"],\n \"shortName\": \"MainnetDev\",\n \"slug\": \"oort-dev\",\n \"testnet\": false,\n \"title\": \"Oort MainnetDev\"\n};\n\nvar c9728 = {\n \"chain\": \"Boba BNB Testnet\",\n \"chainId\": 9728,\n \"explorers\": [{\n \"name\": \"Boba BNB Testnet block explorer\",\n \"url\": \"https://testnet.bobascan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba BNB Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 9728,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://gateway.boba.network\"\n }]\n },\n \"rpc\": [\"https://9728.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bnb.boba.network\", \"wss://wss.testnet.bnb.boba.network\", \"https://replica.testnet.bnb.boba.network\", \"wss://replica-wss.testnet.bnb.boba.network\", \"https://boba-bnb-testnet.gateway.tenderly.co\", \"wss://boba-bnb-testnet.gateway.tenderly.co\"],\n \"shortName\": \"BobaBnbTestnet\",\n \"slip44\": 1,\n \"slug\": \"boba-bnb-testnet\",\n \"testnet\": true\n};\n\nvar c9768 = {\n \"chain\": \"NetZ\",\n \"chainId\": 9768,\n \"explorers\": [{\n \"name\": \"MainnetZ\",\n \"url\": \"https://testnet.mainnetz.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.mainnetz.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmT5gJ5weBiLT3GoYuF5yRTRLdPLCVZ3tXznfqW7M8fxgG\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.mainnetz.io\",\n \"name\": \"MainnetZ Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MainnetZ\",\n \"symbol\": \"NetZ\",\n \"decimals\": 18\n },\n \"networkId\": 9768,\n \"rpc\": [\"https://9768.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.mainnetz.io\"],\n \"shortName\": \"NetZt\",\n \"slip44\": 1,\n \"slug\": \"z-testnet\",\n \"testnet\": true\n};\n\nvar c9779 = {\n \"chain\": \"PepeNetwork\",\n \"chainId\": 9779,\n \"explorers\": [{\n \"name\": \"Pepe Explorer\",\n \"url\": \"https://explorer.pepenetwork.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPX3uipdwd195z1MJff7uj8hpZdSuVvM5z47eiz2o7Gz5\",\n \"width\": 960,\n \"height\": 944,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPX3uipdwd195z1MJff7uj8hpZdSuVvM5z47eiz2o7Gz5\",\n \"width\": 960,\n \"height\": 944,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://pepenetwork.io\",\n \"name\": \"PepeNetwork Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Pepe\",\n \"symbol\": \"WPEPE\",\n \"decimals\": 18\n },\n \"networkId\": 9779,\n \"rpc\": [\"https://9779.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.pepenetwork.io\"],\n \"shortName\": \"pn\",\n \"slug\": \"pepenetwork\",\n \"testnet\": false\n};\n\nvar c9789 = {\n \"chain\": \"ETH\",\n \"chainId\": 9789,\n \"explorers\": [{\n \"name\": \"Tabi Testnet Explorer\",\n \"url\": \"https://testnet.tabiscan.com\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Tabi Testnet Explorer\",\n \"url\": \"https://testnet.tabiscan.com/\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.testnet.tabichain.com\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.tabichain.com\",\n \"name\": \"Tabichain\",\n \"nativeCurrency\": {\n \"name\": \"TABI\",\n \"symbol\": \"TABI\",\n \"decimals\": 18\n },\n \"networkId\": 9789,\n \"redFlags\": [],\n \"rpc\": [\"https://9789.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.tabichain.com\"],\n \"shortName\": \"tabichain\",\n \"slug\": \"tabichain\",\n \"testnet\": true\n};\n\nvar c9790 = {\n \"chain\": \"Carbon\",\n \"chainId\": 9790,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQUHqi1gyuTuKmJQHqt9EyhN1FPmmmLNUK8u93nMGrxAy\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://carbon.network/\",\n \"name\": \"Carbon EVM\",\n \"nativeCurrency\": {\n \"name\": \"swth\",\n \"symbol\": \"SWTH\",\n \"decimals\": 18\n },\n \"networkId\": 9790,\n \"rpc\": [\"https://9790.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-api.carbon.network/\"],\n \"shortName\": \"carbon\",\n \"slug\": \"carbon-evm\",\n \"testnet\": false\n};\n\nvar c9792 = {\n \"chain\": \"Carbon\",\n \"chainId\": 9792,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQUHqi1gyuTuKmJQHqt9EyhN1FPmmmLNUK8u93nMGrxAy\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://carbon.network/\",\n \"name\": \"Carbon EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"swth\",\n \"symbol\": \"SWTH\",\n \"decimals\": 18\n },\n \"networkId\": 9792,\n \"rpc\": [\"https://9792.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-evm-api.carbon.network/\"],\n \"shortName\": \"carbon-testnet\",\n \"slip44\": 1,\n \"slug\": \"carbon-evm-testnet\",\n \"testnet\": true\n};\n\nvar c9797 = {\n \"chain\": \"OptimusZ7\",\n \"chainId\": 9797,\n \"explorers\": [{\n \"name\": \"OptimusZ7 Mainnet Explorer\",\n \"url\": \"https://explorer.optimusz7.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmerd9Q3otjDuQAFbdiQyUnZk7UfPvkCr21E5N4VCNvhbj\",\n \"width\": 493,\n \"height\": 506,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://optimusz7.com\",\n \"name\": \"OptimusZ7 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OptimusZ7\",\n \"symbol\": \"OZ7\",\n \"decimals\": 18\n },\n \"networkId\": 9797,\n \"rpc\": [\"https://9797.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.optimusz7.com\"],\n \"shortName\": \"OZ7m\",\n \"slug\": \"optimusz7\",\n \"testnet\": false\n};\n\nvar c9818 = {\n \"chain\": \"tIMP\",\n \"chainId\": 9818,\n \"explorers\": [{\n \"name\": \"IMPERIUM TESTNET Explorer\",\n \"url\": \"https://network.impscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmcNGLzKyc7Gu2dgpBFF6t3KJwFuKC79D56DW8GTc5DWRw\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.imperiumchain.com/\"],\n \"icon\": {\n \"url\": \"ipfs://QmcNGLzKyc7Gu2dgpBFF6t3KJwFuKC79D56DW8GTc5DWRw\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://imperiumchain.com\",\n \"name\": \"IMPERIUM TESTNET\",\n \"nativeCurrency\": {\n \"name\": \"tIMP\",\n \"symbol\": \"tIMP\",\n \"decimals\": 18\n },\n \"networkId\": 9818,\n \"rpc\": [\"https://9818.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://data-aws-testnet.imperiumchain.com\", \"https://data-aws2-testnet.imperiumchain.com\"],\n \"shortName\": \"tIMP\",\n \"slip44\": 1,\n \"slug\": \"imperium-testnet\",\n \"testnet\": true\n};\n\nvar c9819 = {\n \"chain\": \"IMP\",\n \"chainId\": 9819,\n \"explorers\": [{\n \"name\": \"IMPERIUM Explorer\",\n \"url\": \"https://impscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmcNGLzKyc7Gu2dgpBFF6t3KJwFuKC79D56DW8GTc5DWRw\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.imperiumchain.com/\"],\n \"icon\": {\n \"url\": \"ipfs://QmcNGLzKyc7Gu2dgpBFF6t3KJwFuKC79D56DW8GTc5DWRw\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://imperiumchain.com\",\n \"name\": \"IMPERIUM MAINNET\",\n \"nativeCurrency\": {\n \"name\": \"IMP\",\n \"symbol\": \"IMP\",\n \"decimals\": 18\n },\n \"networkId\": 9819,\n \"rpc\": [\"https://9819.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://data-aws-mainnet.imperiumchain.com\", \"https://data-aws2-mainnet.imperiumchain.com\"],\n \"shortName\": \"IMP\",\n \"slug\": \"imperium\",\n \"testnet\": false\n};\n\nvar c9872 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 9872,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0507 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0507 Testnet Token\",\n \"symbol\": \"KQA\",\n \"decimals\": 18\n },\n \"networkId\": 9872,\n \"redFlags\": [],\n \"rpc\": [\"https://9872.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0507 Testnet\",\n \"slug\": \"qauser0507-testnet\",\n \"testnet\": true\n};\n\nvar c9888 = {\n \"chain\": \"Dogelayer\",\n \"chainId\": 9888,\n \"explorers\": [{\n \"name\": \"Dogelayer mainnet explorer\",\n \"url\": \"https://dl-explorer.dogelayer.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://dogelayer.org\",\n \"name\": \"Dogelayer Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Dogecoin\",\n \"symbol\": \"DOGE\",\n \"decimals\": 18\n },\n \"networkId\": 9888,\n \"rpc\": [\"https://9888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dl-rpc.dogelayer.org\"],\n \"shortName\": \"Dogelayer\",\n \"slug\": \"dogelayer\",\n \"testnet\": false\n};\n\nvar c9898 = {\n \"chain\": \"Larissa\",\n \"chainId\": 9898,\n \"explorers\": [{\n \"name\": \"Larissa Scan\",\n \"url\": \"https://scan.larissa.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZTWoZ3LvivSinaJ4aSwqU8pCXw8oSZNnUCh4wwXxtAoQ\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://larissa.network\",\n \"name\": \"Larissa Chain\",\n \"nativeCurrency\": {\n \"name\": \"Larissa\",\n \"symbol\": \"LRS\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://9898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.larissa.network\"],\n \"shortName\": \"lrs\",\n \"slip44\": 9898,\n \"slug\": \"larissa-chain\",\n \"status\": \"active\",\n \"testnet\": false,\n \"title\": \"Larissa Chain\"\n};\n\nvar c9911 = {\n \"chain\": \"SPENT\",\n \"chainId\": 9911,\n \"explorers\": [{\n \"name\": \"escscan\",\n \"url\": \"https://escscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVvQdmAj6GNQjP1dsxQKbA7xgzqsciooGTQtQ2RsJ37Lf\",\n \"width\": 335,\n \"height\": 335,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVvQdmAj6GNQjP1dsxQKbA7xgzqsciooGTQtQ2RsJ37Lf\",\n \"width\": 335,\n \"height\": 335,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://espento.network\",\n \"name\": \"Espento Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ESPENTO\",\n \"symbol\": \"SPENT\",\n \"decimals\": 18\n },\n \"networkId\": 9911,\n \"rpc\": [\"https://9911.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.escscan.com/\"],\n \"shortName\": \"spent\",\n \"slug\": \"espento\",\n \"testnet\": false\n};\n\nvar c9977 = {\n \"chain\": \"tMIND\",\n \"chainId\": 9977,\n \"explorers\": [{\n \"name\": \"Mind Chain explorer\",\n \"url\": \"https://testnet.mindscan.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.mindchain.info/\"],\n \"icon\": {\n \"url\": \"ipfs://QmX2b4CzNyrNgy4ERBEteSS9MsuYNVYeq2sSMMiogGjbFP\",\n \"width\": 732,\n \"height\": 732,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://mindchain.info\",\n \"name\": \"Mind Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MIND Coin\",\n \"symbol\": \"tMIND\",\n \"decimals\": 18\n },\n \"networkId\": 9977,\n \"rpc\": [\"https://9977.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-msc.mindchain.info/\", \"wss://testnet-msc.mindchain.info/ws\"],\n \"shortName\": \"tMIND\",\n \"slip44\": 1,\n \"slug\": \"mind-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c9980 = {\n \"chain\": \"Combo\",\n \"chainId\": 9980,\n \"explorers\": [{\n \"name\": \"combotrace explorer\",\n \"url\": \"https://combotrace.nodereal.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRR4v6h6z21BpgS9xY3ExLB4Gkmm3i3dJWQx27oTGifq8\",\n \"width\": 800,\n \"height\": 693,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://combonetwork.io\",\n \"name\": \"Combo Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BNB Chain Native Token\",\n \"symbol\": \"BNB\",\n \"decimals\": 18\n },\n \"networkId\": 9980,\n \"rpc\": [\"https://9980.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.combonetwork.io\"],\n \"shortName\": \"combo-mainnet\",\n \"slug\": \"combo\",\n \"testnet\": false\n};\n\nvar c9981 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 9981,\n \"explorers\": [{\n \"name\": \"Volley Mainnet Explorer\",\n \"url\": \"https://volleyscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4131\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4131 Token\",\n \"symbol\": \"SGT\",\n \"decimals\": 18\n },\n \"networkId\": 9981,\n \"redFlags\": [],\n \"rpc\": [\"https://9981.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\", \"https://main-rpc.volleychain.com\"],\n \"shortName\": \"QaUser4131\",\n \"slug\": \"qauser4131\",\n \"testnet\": true\n};\n\nvar c9990 = {\n \"chain\": \"Agung\",\n \"chainId\": 9990,\n \"explorers\": [{\n \"name\": \"Polkadot.js\",\n \"url\": \"https://polkadot.js.org/apps/?rpc=wss://wsspc1-qa.agung.peaq.network#/explorer\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Subscan\",\n \"url\": \"https://agung.subscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibkqdof3ztkdhgukwvkacwgrjb27e23hgz5c6mmudzu5hipyvgisa\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.peaq.network\",\n \"name\": \"Agung Network\",\n \"nativeCurrency\": {\n \"name\": \"Agung\",\n \"symbol\": \"AGNG\",\n \"decimals\": 18\n },\n \"networkId\": 9990,\n \"rpc\": [\"https://9990.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcpc1-qa.agung.peaq.network\"],\n \"shortName\": \"AGNG\",\n \"slug\": \"agung-network\",\n \"testnet\": false\n};\n\nvar c9996 = {\n \"chain\": \"MIND\",\n \"chainId\": 9996,\n \"explorers\": [{\n \"name\": \"Mind Chain explorer\",\n \"url\": \"https://mainnet.mindscan.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmX2b4CzNyrNgy4ERBEteSS9MsuYNVYeq2sSMMiogGjbFP\",\n \"width\": 732,\n \"height\": 732,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://mindchain.info\",\n \"name\": \"Mind Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MIND Coin\",\n \"symbol\": \"MIND\",\n \"decimals\": 18\n },\n \"networkId\": 9996,\n \"rpc\": [\"https://9996.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-msc.mindchain.info/\", \"https://seednode.mindchain.info\", \"https://archive.mindchain.info/\", \"wss://archive.mindchain.info/ws\", \"wss://seednode.mindchain.info/ws\"],\n \"shortName\": \"MIND\",\n \"slug\": \"mind-smart-chain\",\n \"testnet\": false\n};\n\nvar c9997 = {\n \"chain\": \"ETH\",\n \"chainId\": 9997,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet-rollup-explorer.altlayer.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmcEfZJU7NMn9ycTAcEooQgGNfa2nYBToSUZHdFCFadcjb\",\n \"width\": 1080,\n \"height\": 1025,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://altlayer.io\",\n \"name\": \"AltLayer Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 9997,\n \"rpc\": [\"https://9997.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rollup-api.altlayer.io\"],\n \"shortName\": \"alt-testnet\",\n \"slip44\": 1,\n \"slug\": \"altlayer-testnet\",\n \"testnet\": true\n};\n\nvar c9998 = {\n \"chain\": \"ZTC\",\n \"chainId\": 9998,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ztc.best\",\n \"name\": \"Ztc Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ztcer\",\n \"symbol\": \"ZTC\",\n \"decimals\": 5\n },\n \"networkId\": 9998,\n \"rpc\": [\"https://9998.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zitcoin.us\"],\n \"shortName\": \"ZTC\",\n \"slug\": \"ztc\",\n \"testnet\": false\n};\n\nvar c9999 = {\n \"chain\": \"myOwn\",\n \"chainId\": 9999,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://docs.bccloud.net/\",\n \"name\": \"myOwn Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MYN\",\n \"symbol\": \"MYN\",\n \"decimals\": 18\n },\n \"networkId\": 9999,\n \"rpc\": [\"https://9999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://geth.dev.bccloud.net\"],\n \"shortName\": \"myn\",\n \"slip44\": 1,\n \"slug\": \"myown-testnet\",\n \"testnet\": true\n};\n\nvar c10000 = {\n \"chain\": \"smartBCH\",\n \"chainId\": 10000,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://smartbch.org/\",\n \"name\": \"Smart Bitcoin Cash\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin Cash\",\n \"symbol\": \"BCH\",\n \"decimals\": 18\n },\n \"networkId\": 10000,\n \"rpc\": [\"https://10000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://smartbch.greyh.at\", \"https://rpc-mainnet.smartbch.org\", \"https://smartbch.fountainhead.cash/mainnet\", \"https://smartbch.devops.cash/mainnet\"],\n \"shortName\": \"smartbch\",\n \"slug\": \"smart-bitcoin-cash\",\n \"testnet\": false\n};\n\nvar c10001 = {\n \"chain\": \"smartBCHTest\",\n \"chainId\": 10001,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"http://smartbch.org/\",\n \"name\": \"Smart Bitcoin Cash Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitcoin Cash Test Token\",\n \"symbol\": \"BCHT\",\n \"decimals\": 18\n },\n \"networkId\": 10001,\n \"rpc\": [\"https://10001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.smartbch.org\", \"https://smartbch.devops.cash/testnet\"],\n \"shortName\": \"smartbchtest\",\n \"slip44\": 1,\n \"slug\": \"smart-bitcoin-cash-testnet\",\n \"testnet\": true\n};\n\nvar c10024 = {\n \"chain\": \"GonChain\",\n \"chainId\": 10024,\n \"explorers\": [{\n \"name\": \"Gon Explorer\",\n \"url\": \"https://gonscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPtiJGaApbW3ATZhPW3pKJpw3iGVrRGsZLWhrDKF9ZK18\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"name\": \"Gon Chain\",\n \"nativeCurrency\": {\n \"name\": \"Gon Token\",\n \"symbol\": \"GT\",\n \"decimals\": 18\n },\n \"networkId\": 10024,\n \"rpc\": [\"https://10024.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.testnet.gaiaopen.network\", \"https://node1.mainnet.gon.network\", \"https://node2.mainnet.gon.network\", \"https://node3.mainnet.gon.network\", \"https://node4.mainnet.gon.network\"],\n \"shortName\": \"gon\",\n \"slug\": \"gon-chain\",\n \"testnet\": true\n};\n\nvar c10036 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10036,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Innovo Markets Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Innovo Markets Mainnet Token\",\n \"symbol\": \"INN\",\n \"decimals\": 18\n },\n \"networkId\": 10036,\n \"redFlags\": [],\n \"rpc\": [\"https://10036.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/innovo/mainnet/rpc\"],\n \"shortName\": \"Innovo Markets Mainnet\",\n \"slug\": \"innovo-markets\",\n \"testnet\": false\n};\n\nvar c10050 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10050,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0327S1D Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0327S1D Testnet Token\",\n \"symbol\": \"WZL\",\n \"decimals\": 18\n },\n \"networkId\": 10050,\n \"redFlags\": [],\n \"rpc\": [\"https://10050.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0327s1dt/testnet/rpc\"],\n \"shortName\": \"QR0327S1D Testnet\",\n \"slug\": \"qr0327s1d-testnet\",\n \"testnet\": true\n};\n\nvar c10081 = {\n \"chain\": \"JOCT\",\n \"chainId\": 10081,\n \"explorers\": [{\n \"name\": \"Testnet Block Explorer\",\n \"url\": \"https://explorer.testnet.japanopenchain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.japanopenchain.org/\",\n \"name\": \"Japan Open Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Japan Open Chain Testnet Token\",\n \"symbol\": \"JOCT\",\n \"decimals\": 18\n },\n \"networkId\": 10081,\n \"rpc\": [\"https://10081.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-1.testnet.japanopenchain.org:8545\", \"https://rpc-2.testnet.japanopenchain.org:8545\"],\n \"shortName\": \"joct\",\n \"slip44\": 1,\n \"slug\": \"japan-open-chain-testnet\",\n \"testnet\": true\n};\n\nvar c10086 = {\n \"chain\": \"ETH\",\n \"chainId\": 10086,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://sjis.me\",\n \"name\": \"SJATSH\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 10086,\n \"rpc\": [\"https://10086.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://geth.free.idcfengye.com\"],\n \"shortName\": \"SJ\",\n \"slug\": \"sjatsh\",\n \"testnet\": false\n};\n\nvar c10101 = {\n \"chain\": \"GEN\",\n \"chainId\": 10101,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.xixoio.com/\",\n \"name\": \"Blockchain Genesis Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GEN\",\n \"symbol\": \"GEN\",\n \"decimals\": 18\n },\n \"networkId\": 10101,\n \"rpc\": [\"https://10101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eu.mainnet.xixoio.com\", \"https://us.mainnet.xixoio.com\", \"https://asia.mainnet.xixoio.com\"],\n \"shortName\": \"GEN\",\n \"slug\": \"blockchain-genesis\",\n \"testnet\": false\n};\n\nvar c10154 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10154,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405023 Interop\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405023 Interop Token\",\n \"symbol\": \"UZP\",\n \"decimals\": 18\n },\n \"networkId\": 10154,\n \"redFlags\": [],\n \"rpc\": [\"https://10154.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405023 Interop\",\n \"slug\": \"qim2405023-interop\",\n \"testnet\": true\n};\n\nvar c10200 = {\n \"chain\": \"GNO\",\n \"chainId\": 10200,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://gnosis-chiado.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://gnosisfaucet.com\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeidk4swpgdyqmpz6shd5onvpaujvwiwthrhypufnwr6xh3dausz2dm\",\n \"width\": 1800,\n \"height\": 1800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.gnosischain.com\",\n \"name\": \"Gnosis Chiado Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Chiado xDAI\",\n \"symbol\": \"XDAI\",\n \"decimals\": 18\n },\n \"networkId\": 10200,\n \"rpc\": [\"https://10200.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.chiadochain.net\", \"https://rpc.chiado.gnosis.gateway.fm\", \"wss://rpc.chiadochain.net/wss\", \"https://gnosis-chiado-rpc.publicnode.com\", \"wss://gnosis-chiado-rpc.publicnode.com\", \"https://gnosis-chiado.drpc.org\", \"wss://gnosis-chiado.drpc.org\"],\n \"shortName\": \"chi\",\n \"slip44\": 1,\n \"slug\": \"gnosis-chiado-testnet\",\n \"testnet\": true\n};\n\nvar c10201 = {\n \"chain\": \"MaxxChain\",\n \"chainId\": 10201,\n \"explorers\": [{\n \"name\": \"MaxxChain Block Explorer\",\n \"url\": \"https://explorer.maxxchain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.maxxchain.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmRhQG9TZrXDdbQeTzBmjg3pqgwaD5TKVZj8k4kaz8AoZx\",\n \"width\": 1021,\n \"height\": 1021,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.maxxchain.org/\",\n \"name\": \"MaxxChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Power\",\n \"symbol\": \"PWR\",\n \"decimals\": 18\n },\n \"networkId\": 10201,\n \"rpc\": [\"https://10201.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.maxxchain.org\", \"https://rpc1.maxxchain.org\", \"https://rpc2.maxxchain.org\"],\n \"shortName\": \"PWR\",\n \"slug\": \"maxxchain\",\n \"testnet\": false\n};\n\nvar c10222 = {\n \"chain\": \"GLC\",\n \"chainId\": 10222,\n \"explorers\": [{\n \"name\": \"GLScan Explorer\",\n \"url\": \"https://glscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTw21p6UfXVH2BCU81G2Ck28ecoknz4v9mC35fF8Z987i\",\n \"width\": 512,\n \"height\": 557,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTw21p6UfXVH2BCU81G2Ck28ecoknz4v9mC35fF8Z987i\",\n \"width\": 512,\n \"height\": 557,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://glscan.io/\",\n \"name\": \"GLScan\",\n \"nativeCurrency\": {\n \"name\": \"GLC\",\n \"symbol\": \"GLC\",\n \"decimals\": 18\n },\n \"networkId\": 10222,\n \"rpc\": [\"https://10222.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://glc-dataseed.glscan.io/\"],\n \"shortName\": \"glc\",\n \"slip44\": 1,\n \"slug\": \"glscan\",\n \"testnet\": false\n};\n\nvar c10242 = {\n \"chain\": \"AA\",\n \"chainId\": 10242,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.arthera.net\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak\",\n \"width\": 1024,\n \"height\": 998,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.arthera.net/build/developing-sc/using-hardhat\",\n \"name\": \"Arthera Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Arthera\",\n \"symbol\": \"AA\",\n \"decimals\": 18\n },\n \"networkId\": 10242,\n \"rpc\": [\"https://10242.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.arthera.net\"],\n \"shortName\": \"aa\",\n \"slip44\": 10242,\n \"slug\": \"arthera\",\n \"testnet\": false\n};\n\nvar c10243 = {\n \"chain\": \"AA\",\n \"chainId\": 10243,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer-test.arthera.net\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.arthera.net\"],\n \"icon\": {\n \"url\": \"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak\",\n \"width\": 1024,\n \"height\": 998,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.arthera.net\",\n \"name\": \"Arthera Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Arthera\",\n \"symbol\": \"AA\",\n \"decimals\": 18\n },\n \"networkId\": 10243,\n \"rpc\": [\"https://10243.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-test.arthera.net\"],\n \"shortName\": \"aat\",\n \"slip44\": 1,\n \"slug\": \"arthera-testnet\",\n \"testnet\": true\n};\n\nvar c10248 = {\n \"chain\": \"0XTade Chain\",\n \"chainId\": 10248,\n \"explorers\": [{\n \"name\": \"0xtrade Scan\",\n \"url\": \"https://www.0xtscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.0xtrade.finance/\",\n \"name\": \"0XTade\",\n \"nativeCurrency\": {\n \"name\": \"0XT\",\n \"symbol\": \"0XT\",\n \"decimals\": 18\n },\n \"networkId\": 10248,\n \"rpc\": [\"https://10248.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.0xtchain.com\"],\n \"shortName\": \"0xt\",\n \"slug\": \"0xtade\",\n \"testnet\": false\n};\n\nvar c10255 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10255,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Coqnet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Coqnet Testnet Token\",\n \"symbol\": \"COQ\",\n \"decimals\": 18\n },\n \"networkId\": 10255,\n \"redFlags\": [],\n \"rpc\": [\"https://10255.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/coqnet/testnet/rpc\"],\n \"shortName\": \"Coqnet Testnet\",\n \"slug\": \"coqnet-testnet\",\n \"testnet\": true\n};\n\nvar c10321 = {\n \"chain\": \"TAO EVM\",\n \"chainId\": 10321,\n \"explorers\": [{\n \"name\": \"TAO Mainnet Explorer\",\n \"url\": \"https://taoscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS78hUX5zqYDqoFgyVmtWpCcx7bZW86Nhw5Nqt2GJrLh2\",\n \"width\": 256,\n \"height\": 234,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taoevm.io\",\n \"name\": \"TAO EVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TAO\",\n \"symbol\": \"TAO\",\n \"decimals\": 18\n },\n \"networkId\": 10321,\n \"rpc\": [\"https://10321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.taoevm.io\"],\n \"shortName\": \"TAOm\",\n \"slug\": \"tao-evm\",\n \"testnet\": false\n};\n\nvar c10324 = {\n \"chain\": \"TAO EVM\",\n \"chainId\": 10324,\n \"explorers\": [{\n \"name\": \"TAO Testnet Explorer\",\n \"url\": \"https://testnet.taoscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.taoevm.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmS78hUX5zqYDqoFgyVmtWpCcx7bZW86Nhw5Nqt2GJrLh2\",\n \"width\": 256,\n \"height\": 234,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taoevm.io\",\n \"name\": \"TAO EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TAO\",\n \"symbol\": \"TAO\",\n \"decimals\": 18\n },\n \"networkId\": 10324,\n \"rpc\": [\"https://10324.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.taoevm.io\"],\n \"shortName\": \"TAOt\",\n \"slug\": \"tao-evm-testnet\",\n \"testnet\": true\n};\n\nvar c10395 = {\n \"chain\": \"Worldland\",\n \"chainId\": 10395,\n \"explorers\": [{\n \"name\": \"Worldland Explorer\",\n \"url\": \"https://testscan.worldland.foundation\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYZNTfK3byhgLsTjXP8vPubVHRz2CWsBrTJxZrQmKq6JZ\",\n \"width\": 3509,\n \"height\": 2482,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://worldland.foundation\",\n \"name\": \"WorldLand Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Worldland\",\n \"symbol\": \"WLC\",\n \"decimals\": 18\n },\n \"networkId\": 10395,\n \"rpc\": [\"https://10395.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gwangju.worldland.foundation\"],\n \"shortName\": \"TWLC\",\n \"slip44\": 1,\n \"slug\": \"worldland-testnet\",\n \"testnet\": true\n};\n\nvar c10507 = {\n \"chain\": \"NUM\",\n \"chainId\": 10507,\n \"explorers\": [{\n \"name\": \"ethernal\",\n \"url\": \"https://mainnet.num.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreie3ba6ofosjqqiya6empkyw6u5xdrtcfzi2evvyt4u6utzeiezyhi\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://numbersprotocol.io\",\n \"name\": \"Numbers Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"NUM Token\",\n \"symbol\": \"NUM\",\n \"decimals\": 18\n },\n \"networkId\": 10507,\n \"rpc\": [\"https://10507.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnetrpc.num.network\"],\n \"shortName\": \"Jade\",\n \"slug\": \"numbers\",\n \"testnet\": false\n};\n\nvar c10508 = {\n \"chain\": \"NUM\",\n \"chainId\": 10508,\n \"explorers\": [{\n \"name\": \"ethernal\",\n \"url\": \"https://testnet.num.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.avax.network/?subnet=num\", \"https://faucet.num.network\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreie3ba6ofosjqqiya6empkyw6u5xdrtcfzi2evvyt4u6utzeiezyhi\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://numbersprotocol.io\",\n \"name\": \"Numbers Testnet\",\n \"nativeCurrency\": {\n \"name\": \"NUM Token\",\n \"symbol\": \"NUM\",\n \"decimals\": 18\n },\n \"networkId\": 10508,\n \"rpc\": [\"https://10508.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnetrpc.num.network\"],\n \"shortName\": \"Snow\",\n \"slip44\": 1,\n \"slug\": \"numbers-testnet\",\n \"testnet\": true\n};\n\nvar c10671 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10671,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 12131\",\n \"nativeCurrency\": {\n \"name\": \"QI M 12131 Token\",\n \"symbol\": \"XVL\",\n \"decimals\": 18\n },\n \"networkId\": 10671,\n \"redFlags\": [],\n \"rpc\": [\"https://10671.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/c3c8cc74-5101-4380-937f-4f534cad0128\"],\n \"shortName\": \"QI M 12131\",\n \"slug\": \"qi-m-12131\",\n \"testnet\": true\n};\n\nvar c10823 = {\n \"chain\": \"CCP\",\n \"chainId\": 10823,\n \"explorers\": [{\n \"name\": \"CCP Explorer\",\n \"url\": \"https://cryptocoinpay.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPw1ixYYeXvTiRWoCt2jWe4YMd3B5o7TzL18SBEHXvhXX\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cryptocoinpay.co\",\n \"name\": \"CryptoCoinPay\",\n \"nativeCurrency\": {\n \"name\": \"CryptoCoinPay\",\n \"symbol\": \"CCP\",\n \"decimals\": 18\n },\n \"networkId\": 10823,\n \"rpc\": [\"https://10823.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://node106.cryptocoinpay.info:8545\", \"ws://node106.cryptocoinpay.info:8546\"],\n \"shortName\": \"CCP\",\n \"slug\": \"cryptocoinpay\",\n \"testnet\": false\n};\n\nvar c10849 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10849,\n \"explorers\": [{\n \"name\": \"Lamina1 Explorer\",\n \"url\": \"https://subnets.avax.network/lamina1\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Lamina1\",\n \"nativeCurrency\": {\n \"name\": \"Lamina1 Token\",\n \"symbol\": \"L\",\n \"decimals\": 18\n },\n \"networkId\": 10849,\n \"redFlags\": [],\n \"rpc\": [\"https://10849.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lamina1/mainnet/rpc\"],\n \"shortName\": \"Lamina1\",\n \"slip44\": 1,\n \"slug\": \"lamina1\",\n \"testnet\": false\n};\n\nvar c10850 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 10850,\n \"explorers\": [{\n \"name\": \"Lamina1 Identity Explorer\",\n \"url\": \"https://subnets.avax.network/lamina1id\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Lamina1 Identity\",\n \"nativeCurrency\": {\n \"name\": \"Lamina1 Identity Token\",\n \"symbol\": \"LID\",\n \"decimals\": 18\n },\n \"networkId\": 10850,\n \"redFlags\": [],\n \"rpc\": [\"https://10850.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lamina1id/mainnet/rpc\"],\n \"shortName\": \"Lamina1 Identity\",\n \"slip44\": 1,\n \"slug\": \"lamina1-identity\",\n \"testnet\": false\n};\n\nvar c10946 = {\n \"chain\": \"QDC\",\n \"chainId\": 10946,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.quadrans.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZFiYHnE4TrezPz8wSap9nMxG6m98w4fv7ataj2TfLNck\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZFiYHnE4TrezPz8wSap9nMxG6m98w4fv7ataj2TfLNck\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://quadrans.io\",\n \"name\": \"Quadrans Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"Quadrans Coin\",\n \"symbol\": \"QDC\",\n \"decimals\": 18\n },\n \"networkId\": 10946,\n \"rpc\": [\"https://10946.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.quadrans.io\", \"https://rpcna.quadrans.io\", \"https://rpceu.quadrans.io\"],\n \"shortName\": \"quadrans\",\n \"slug\": \"quadrans-blockchain\",\n \"testnet\": false\n};\n\nvar c10947 = {\n \"chain\": \"tQDC\",\n \"chainId\": 10947,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://explorer.testnet.quadrans.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZFiYHnE4TrezPz8wSap9nMxG6m98w4fv7ataj2TfLNck\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucetpage.quadrans.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmZFiYHnE4TrezPz8wSap9nMxG6m98w4fv7ataj2TfLNck\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://quadrans.io\",\n \"name\": \"Quadrans Blockchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Quadrans Testnet Coin\",\n \"symbol\": \"tQDC\",\n \"decimals\": 18\n },\n \"networkId\": 10947,\n \"rpc\": [\"https://10947.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctest.quadrans.io\", \"https://rpctest2.quadrans.io\"],\n \"shortName\": \"quadranstestnet\",\n \"slip44\": 1,\n \"slug\": \"quadrans-blockchain-testnet\",\n \"testnet\": true\n};\n\nvar c11110 = {\n \"chain\": \"Astra\",\n \"chainId\": 11110,\n \"explorers\": [{\n \"name\": \"Astra EVM Explorer (Blockscout)\",\n \"url\": \"https://explorer.astranaut.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmaBtaukPNNUNjdJSUAwuFFQMLbZX1Pc3fvXKTKQcds7Kf\",\n \"width\": 104,\n \"height\": 80,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Astra PingPub Explorer\",\n \"url\": \"https://ping.astranaut.io/astra\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmaBtaukPNNUNjdJSUAwuFFQMLbZX1Pc3fvXKTKQcds7Kf\",\n \"width\": 104,\n \"height\": 80,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaBtaukPNNUNjdJSUAwuFFQMLbZX1Pc3fvXKTKQcds7Kf\",\n \"width\": 104,\n \"height\": 80,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://astranaut.io\",\n \"name\": \"Astra\",\n \"nativeCurrency\": {\n \"name\": \"Astra\",\n \"symbol\": \"ASA\",\n \"decimals\": 18\n },\n \"networkId\": 11110,\n \"rpc\": [\"https://11110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.astranaut.io\", \"https://rpc1.astranaut.io\"],\n \"shortName\": \"astra\",\n \"slug\": \"astra\",\n \"testnet\": false\n};\n\nvar c11111 = {\n \"chain\": \"WAGMI\",\n \"chainId\": 11111,\n \"explorers\": [{\n \"name\": \"Avalanche Subnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/wagmi\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.avax.network/?subnet=wagmi\"],\n \"icon\": {\n \"url\": \"ipfs://QmNoyUXxnak8B3xgFxErkVfyVEPJUMHBzq7qJcYzkUrPR4\",\n \"width\": 1920,\n \"height\": 1920,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://subnets-test.avax.network/wagmi/details\",\n \"name\": \"WAGMI\",\n \"nativeCurrency\": {\n \"name\": \"WAGMI\",\n \"symbol\": \"WGM\",\n \"decimals\": 18\n },\n \"networkId\": 11111,\n \"rpc\": [\"https://11111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/wagmi/wagmi-chain-testnet/rpc\"],\n \"shortName\": \"WAGMI\",\n \"slug\": \"wagmi\",\n \"testnet\": true\n};\n\nvar c11115 = {\n \"chain\": \"Astra\",\n \"chainId\": 11115,\n \"explorers\": [{\n \"name\": \"Astra EVM Explorer\",\n \"url\": \"https://explorer.astranaut.dev\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmaBtaukPNNUNjdJSUAwuFFQMLbZX1Pc3fvXKTKQcds7Kf\",\n \"width\": 104,\n \"height\": 80,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Astra PingPub Explorer\",\n \"url\": \"https://ping.astranaut.dev/astra\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmaBtaukPNNUNjdJSUAwuFFQMLbZX1Pc3fvXKTKQcds7Kf\",\n \"width\": 104,\n \"height\": 80,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.astranaut.dev\"],\n \"icon\": {\n \"url\": \"ipfs://QmaBtaukPNNUNjdJSUAwuFFQMLbZX1Pc3fvXKTKQcds7Kf\",\n \"width\": 104,\n \"height\": 80,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://astranaut.io\",\n \"name\": \"Astra Testnet\",\n \"nativeCurrency\": {\n \"name\": \"test-Astra\",\n \"symbol\": \"tASA\",\n \"decimals\": 18\n },\n \"networkId\": 11115,\n \"rpc\": [\"https://11115.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.astranaut.dev\"],\n \"shortName\": \"astra-testnet\",\n \"slip44\": 1,\n \"slug\": \"astra-testnet\",\n \"testnet\": true\n};\n\nvar c11119 = {\n \"chain\": \"HBIT\",\n \"chainId\": 11119,\n \"explorers\": [{\n \"name\": \"hashbitscan\",\n \"url\": \"https://explorer.hashbit.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://hashbit.org\",\n \"name\": \"HashBit Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"HashBit Native Token\",\n \"symbol\": \"HBIT\",\n \"decimals\": 18\n },\n \"networkId\": 11119,\n \"rpc\": [\"https://11119.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.hashbit.org\", \"https://rpc.hashbit.org\"],\n \"shortName\": \"hbit\",\n \"slug\": \"hashbit\",\n \"testnet\": false\n};\n\nvar c11198 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 11198,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0304I2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0304I2 Testnet Token\",\n \"symbol\": \"LOD\",\n \"decimals\": 18\n },\n \"networkId\": 11198,\n \"redFlags\": [],\n \"rpc\": [\"https://11198.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0304I2 Testnet\",\n \"slug\": \"qi0304i2-testnet\",\n \"testnet\": true\n};\n\nvar c11221 = {\n \"chain\": \"SC20\",\n \"chainId\": 11221,\n \"explorers\": [{\n \"name\": \"shinescan\",\n \"url\": \"https://shinescan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmUBkpY3prCTZHpx1fjrYLAJ6dPaGvNVTj97iy6p3NPUi1\",\n \"width\": 161,\n \"height\": 161,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUBkpY3prCTZHpx1fjrYLAJ6dPaGvNVTj97iy6p3NPUi1\",\n \"width\": 161,\n \"height\": 161,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shinechain.tech\",\n \"name\": \"Shine Chain\",\n \"nativeCurrency\": {\n \"name\": \"Shine\",\n \"symbol\": \"SC20\",\n \"decimals\": 18\n },\n \"networkId\": 11221,\n \"rpc\": [\"https://11221.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.shinescan.io\"],\n \"shortName\": \"SC20\",\n \"slug\": \"shine-chain\",\n \"testnet\": false\n};\n\nvar c11227 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 11227,\n \"explorers\": [{\n \"name\": \"JIRITSUTES Explorer\",\n \"url\": \"https://subnets-test.avax.network/jiritsutes\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jiritsu Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jiritsu Testnet Token\",\n \"symbol\": \"TZW\",\n \"decimals\": 18\n },\n \"networkId\": 11227,\n \"redFlags\": [],\n \"rpc\": [\"https://11227.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jiritsutes/testnet/rpc\"],\n \"shortName\": \"Jiritsu Testnet\",\n \"slug\": \"jiritsu-testnet\",\n \"testnet\": true\n};\n\nvar c11235 = {\n \"chain\": \"Haqq\",\n \"chainId\": 11235,\n \"explorers\": [{\n \"name\": \"Mainnet HAQQ Explorer\",\n \"url\": \"https://explorer.haqq.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://islamiccoin.net\",\n \"name\": \"Haqq Network\",\n \"nativeCurrency\": {\n \"name\": \"Islamic Coin\",\n \"symbol\": \"ISLM\",\n \"decimals\": 18\n },\n \"networkId\": 11235,\n \"rpc\": [\"https://11235.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.eth.haqq.network\", \"https://haqq-evm-rpc.publicnode.com\", \"wss://haqq-evm-rpc.publicnode.com\", \"https://haqq.drpc.org\", \"wss://haqq.drpc.org\"],\n \"shortName\": \"ISLM\",\n \"slug\": \"haqq-network\",\n \"testnet\": false\n};\n\nvar c11437 = {\n \"chain\": \"SHYFTT\",\n \"chainId\": 11437,\n \"explorers\": [{\n \"name\": \"Shyft Testnet BX\",\n \"url\": \"https://bx.testnet.shyft.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUkFZC2ZmoYPTKf7AHdjwRPZoV2h1MCuHaGM4iu8SNFpi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://shyft.network\",\n \"name\": \"Shyft Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Shyft Test Token\",\n \"symbol\": \"SHYFTT\",\n \"decimals\": 18\n },\n \"networkId\": 11437,\n \"rpc\": [],\n \"shortName\": \"shyftt\",\n \"slip44\": 1,\n \"slug\": \"shyft-testnet\",\n \"testnet\": true\n};\n\nvar c11501 = {\n \"chain\": \"BEVM\",\n \"chainId\": 11501,\n \"explorers\": [{\n \"name\": \"bevm mainnet scan\",\n \"url\": \"https://scan-mainnet.bevm.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfMXiYn4xF9JwdjaqM5YKhqoByox51XvnL68VvKJS6yyu\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bevm.io\",\n \"name\": \"BEVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 11501,\n \"rpc\": [\"https://11501.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet-1.bevm.io/\", \"https://rpc-mainnet-2.bevm.io/\"],\n \"shortName\": \"bevm\",\n \"slug\": \"bevm\",\n \"testnet\": false\n};\n\nvar c11503 = {\n \"chain\": \"BEVM\",\n \"chainId\": 11503,\n \"explorers\": [{\n \"name\": \"bevm testnet scan\",\n \"url\": \"https://scan-testnet.bevm.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfMXiYn4xF9JwdjaqM5YKhqoByox51XvnL68VvKJS6yyu\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bevm.io\",\n \"name\": \"BEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 11503,\n \"rpc\": [\"https://11503.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bevm.io/\"],\n \"shortName\": \"bevm-test\",\n \"slug\": \"bevm-testnet\",\n \"testnet\": true\n};\n\nvar c11516 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 11516,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Tenzro\",\n \"nativeCurrency\": {\n \"name\": \"Tenzro Token\",\n \"symbol\": \"TNZO\",\n \"decimals\": 18\n },\n \"networkId\": 11516,\n \"redFlags\": [],\n \"rpc\": [\"https://11516.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/tenzro/testnet/rpc\"],\n \"shortName\": \"Tenzro\",\n \"slug\": \"tenzro\",\n \"testnet\": true\n};\n\nvar c11612 = {\n \"chain\": \"SRDX\",\n \"chainId\": 11612,\n \"explorers\": [{\n \"name\": \"Sardis\",\n \"url\": \"https://testnet.sardisnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.sardisnetwork.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmdR9QJjQEh1mBnf2WbJfehverxiP5RDPWMtEECbDP2rc3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mysardis.com\",\n \"name\": \"Sardis Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sardis\",\n \"symbol\": \"SRDX\",\n \"decimals\": 18\n },\n \"networkId\": 11612,\n \"rpc\": [\"https://11612.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.sardisnetwork.com\"],\n \"shortName\": \"SRDXt\",\n \"slip44\": 1,\n \"slug\": \"sardis-testnet\",\n \"testnet\": true\n};\n\nvar c11625 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 11625,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 202402121\",\n \"nativeCurrency\": {\n \"name\": \"QI M 202402121 Token\",\n \"symbol\": \"CYB\",\n \"decimals\": 18\n },\n \"networkId\": 11625,\n \"redFlags\": [],\n \"rpc\": [\"https://11625.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 202402121\",\n \"slug\": \"qi-m-202402121\",\n \"testnet\": true\n};\n\nvar c11822 = {\n \"chain\": \"Artela\",\n \"chainId\": 11822,\n \"explorers\": [{\n \"name\": \"ArtelaScan\",\n \"url\": \"https://betanet-scan.artela.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://artela.network/\",\n \"name\": \"Artela Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ART\",\n \"symbol\": \"ART\",\n \"decimals\": 18\n },\n \"networkId\": 11822,\n \"rpc\": [\"https://11822.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://betanet-rpc1.artela.network\"],\n \"shortName\": \"Artela\",\n \"slug\": \"artela-testnet\",\n \"testnet\": true\n};\n\nvar c11881 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 11881,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser2353 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser2353 Testnet Token\",\n \"symbol\": \"ODB\",\n \"decimals\": 18\n },\n \"networkId\": 11881,\n \"redFlags\": [],\n \"rpc\": [\"https://11881.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser2353 Testnet\",\n \"slug\": \"qauser2353-testnet\",\n \"testnet\": true\n};\n\nvar c11888 = {\n \"chain\": \"Santiment Intelligence Network DEPRECATED\",\n \"chainId\": 11888,\n \"explorers\": [{\n \"name\": \"Santiment Intelligence Explorer\",\n \"url\": \"https://app-explorer-pos.sanr.app\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPLMg5mYD8XRknvYbDkD2x7FXxYan7MPTeUWZC2CihwDM\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sanr.app\",\n \"name\": \"Santiment Intelligence Network DEPRECATED\",\n \"nativeCurrency\": {\n \"name\": \"SANold\",\n \"symbol\": \"SANold\",\n \"decimals\": 18\n },\n \"networkId\": 11888,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://sanr.app\"\n }]\n },\n \"rpc\": [\"https://11888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sanrchain-node.santiment.net\"],\n \"shortName\": \"SANold\",\n \"slug\": \"santiment-intelligence-network-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c11891 = {\n \"chain\": \"Arianee\",\n \"chainId\": 11891,\n \"explorers\": [{\n \"name\": \"Polygon Supernet Arianee Explorer\",\n \"url\": \"https://polygonsupernet.explorer.arianee.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://arianee.org\",\n \"name\": \"Polygon Supernet Arianee\",\n \"nativeCurrency\": {\n \"name\": \"Arianee\",\n \"symbol\": \"ARIA20\",\n \"decimals\": 18\n },\n \"networkId\": 11891,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\"\n },\n \"rpc\": [\"https://11891.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.polygonsupernet.public.arianee.net\"],\n \"shortName\": \"Arianee\",\n \"slug\": \"polygon-supernet-arianee\",\n \"testnet\": false\n};\n\nvar c12001 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 12001,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Mikias's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Mikias's Testnet Token\",\n \"symbol\": \"XVL\",\n \"decimals\": 18\n },\n \"networkId\": 12001,\n \"redFlags\": [],\n \"rpc\": [\"https://12001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/c3c8cc74-5101-4380-937f-4f534cad0128\"],\n \"shortName\": \"Mikias's Testnet\",\n \"slug\": \"mikias-s-testnet\",\n \"testnet\": true\n};\n\nvar c12009 = {\n \"chain\": \"SATS\",\n \"chainId\": 12009,\n \"explorers\": [{\n \"name\": \"SatoshiChain Explorer\",\n \"url\": \"https://satoshiscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRegpZQBW4o1imYNsW3d27MQjygBSU23Gf6JKje26nvs7\",\n \"width\": 1251,\n \"height\": 1251,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://satoshichain.net\",\n \"name\": \"SatoshiChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SatoshiChain Coin\",\n \"symbol\": \"SATS\",\n \"decimals\": 18\n },\n \"networkId\": 12009,\n \"rpc\": [\"https://12009.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.satoshichain.io\"],\n \"shortName\": \"sats\",\n \"slug\": \"satoshichain\",\n \"testnet\": false\n};\n\nvar c12020 = {\n \"chain\": \"Aternos\",\n \"chainId\": 12020,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.aternoschain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.aternoschain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmUgfhv3rEsS6t9g6Lsf3TJ1mbnJqBrb8YUFPDiNG59QvT\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aternoschain.com\",\n \"name\": \"Aternos\",\n \"nativeCurrency\": {\n \"name\": \"Aternos\",\n \"symbol\": \"ATR\",\n \"decimals\": 18\n },\n \"networkId\": 12020,\n \"rpc\": [\"https://12020.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.aternoschain.com\"],\n \"shortName\": \"ATR\",\n \"slug\": \"aternos\",\n \"testnet\": false\n};\n\nvar c12035 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 12035,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 11272\",\n \"nativeCurrency\": {\n \"name\": \"QI M 11272 Token\",\n \"symbol\": \"JZW\",\n \"decimals\": 18\n },\n \"networkId\": 12035,\n \"redFlags\": [],\n \"rpc\": [\"https://12035.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/b19c9e32-f359-451f-ad15-7ec784625c04\"],\n \"shortName\": \"QI M 11272\",\n \"slug\": \"qi-m-11272\",\n \"testnet\": true\n};\n\nvar c12051 = {\n \"chain\": \"ZERO\",\n \"chainId\": 12051,\n \"explorers\": [{\n \"name\": \"zeroscan\",\n \"url\": \"https://betaenv.singularity.gold:18002\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://nft.singularity.gold\"],\n \"infoURL\": \"https://www.singularity.gold\",\n \"name\": \"Singularity ZERO Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ZERO\",\n \"symbol\": \"tZERO\",\n \"decimals\": 18\n },\n \"networkId\": 12051,\n \"rpc\": [\"https://12051.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://betaenv.singularity.gold:18545\"],\n \"shortName\": \"tZERO\",\n \"slip44\": 1,\n \"slug\": \"singularity-zero-testnet\",\n \"testnet\": true\n};\n\nvar c12052 = {\n \"chain\": \"ZERO\",\n \"chainId\": 12052,\n \"explorers\": [{\n \"name\": \"zeroscan\",\n \"url\": \"https://zeroscan.singularity.gold\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://zeroscan.singularity.gold\"],\n \"infoURL\": \"https://www.singularity.gold\",\n \"name\": \"Singularity ZERO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ZERO\",\n \"symbol\": \"ZERO\",\n \"decimals\": 18\n },\n \"networkId\": 12052,\n \"rpc\": [\"https://12052.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zerorpc.singularity.gold\"],\n \"shortName\": \"ZERO\",\n \"slip44\": 621,\n \"slug\": \"singularity-zero\",\n \"testnet\": false\n};\n\nvar c12065 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 12065,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405061 WITH INTEROPERABILITY\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405061 WITH INTEROPERABILITY Token\",\n \"symbol\": \"BLY\",\n \"decimals\": 18\n },\n \"networkId\": 12065,\n \"redFlags\": [],\n \"rpc\": [\"https://12065.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405061 WITH INTEROPERABILITY\",\n \"slug\": \"qim2405061-with-interoperability\",\n \"testnet\": true\n};\n\nvar c12123 = {\n \"chain\": \"BRC\",\n \"chainId\": 12123,\n \"explorers\": [{\n \"name\": \"BRC Chain Explorer\",\n \"url\": \"https://scan.brcchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.brcchain.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmX8qGX7xoZqYUpHxA85uZwQX2fgbTHvmddE1NfseDyBED\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bridge.brcchain.io\",\n \"name\": \"BRC Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BRC Chain mainnet native token\",\n \"symbol\": \"BRC\",\n \"decimals\": 18\n },\n \"networkId\": 12123,\n \"rpc\": [\"https://12123.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.brcchain.io\"],\n \"shortName\": \"BRC\",\n \"slug\": \"brc-chain\",\n \"testnet\": false\n};\n\nvar c12306 = {\n \"chain\": \"FIBO\",\n \"chainId\": 12306,\n \"explorers\": [{\n \"name\": \"fiboscan\",\n \"url\": \"https://scan.fibochain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://test.fibochain.org/faucets\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreidiedaz3jugxmh2ylzlc4nympbd5iwab33adhwkcnblyop6vvj25y\",\n \"width\": 1494,\n \"height\": 1494,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://fibochain.org\",\n \"name\": \"Fibonacci Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"FIBONACCI UTILITY TOKEN\",\n \"symbol\": \"FIBO\",\n \"decimals\": 18\n },\n \"networkId\": 1230,\n \"rpc\": [\"https://12306.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.fibo-api.asia\", \"https://node2.fibo-api.asia\", \"https://node3.fibo-api.asia\", \"https://node4.fibo-api.asia\", \"https://node5.fibo-api.asia\", \"https://node6.fibo-api.asia\", \"https://node7.fibo-api.asia\", \"https://node1.fibo-rpc.asia\", \"https://node2.fibo-rpc.asia\", \"https://node3.fibo-rpc.asia\", \"https://node4.fibo-rpc.asia\", \"https://node5.fibo-rpc.asia\", \"https://node6.fibo-rpc.asia\", \"https://node7.fibo-rpc.asia\"],\n \"shortName\": \"fibo\",\n \"slug\": \"fibonacci\",\n \"testnet\": true\n};\n\nvar c12321 = {\n \"chain\": \"BLG\",\n \"chainId\": 12321,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.blgchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmUN5j2cre8GHKv52JE8ag88aAnRmuHMGFxePPvKMogisC\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://blgchain.com\",\n \"name\": \"BLG Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Blg\",\n \"symbol\": \"BLG\",\n \"decimals\": 18\n },\n \"networkId\": 12321,\n \"rpc\": [\"https://12321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.blgchain.com\"],\n \"shortName\": \"blgchain\",\n \"slip44\": 1,\n \"slug\": \"blg-testnet\",\n \"testnet\": true\n};\n\nvar c12324 = {\n \"chain\": \"L3X\",\n \"chainId\": 12324,\n \"explorers\": [{\n \"name\": \"L3X Mainnet Explorer\",\n \"url\": \"https://explorer.l3x.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmf1cim2ZvkgszKiFtmZj3K1z2YgVY7A4VtLkWw8kQxijq\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://l3x.com\",\n \"name\": \"L3X Protocol\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 12324,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-42161\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }]\n },\n \"rpc\": [\"https://12324.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.l3x.com\"],\n \"shortName\": \"l3x\",\n \"slug\": \"l3x-protocol\",\n \"testnet\": false\n};\n\nvar c12325 = {\n \"chain\": \"L3X\",\n \"chainId\": 12325,\n \"explorers\": [{\n \"name\": \"L3X Testnet Explorer\",\n \"url\": \"https://explorer-testnet.l3x.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmf1cim2ZvkgszKiFtmZj3K1z2YgVY7A4VtLkWw8kQxijq\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://l3x.com\",\n \"name\": \"L3X Protocol Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 12325,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-421614\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }]\n },\n \"rpc\": [\"https://12325.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.l3x.com\"],\n \"shortName\": \"l3x-testnet\",\n \"slug\": \"l3x-protocol-testnet\",\n \"testnet\": true\n};\n\nvar c12345 = {\n \"chain\": \"STEP\",\n \"chainId\": 12345,\n \"explorers\": [{\n \"name\": \"StepScan\",\n \"url\": \"https://testnet.stepscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVp9jyb3UFW71867yVtymmiRw7dPY4BTnsp3hEjr9tn8L\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.step.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmVp9jyb3UFW71867yVtymmiRw7dPY4BTnsp3hEjr9tn8L\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://step.network\",\n \"name\": \"Step Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FITFI\",\n \"symbol\": \"FITFI\",\n \"decimals\": 18\n },\n \"networkId\": 12345,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-43113\"\n },\n \"rpc\": [\"https://12345.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.step.network\"],\n \"shortName\": \"steptest\",\n \"slip44\": 1,\n \"slug\": \"step-testnet\",\n \"testnet\": true,\n \"title\": \"Step Test Network\"\n};\n\nvar c12553 = {\n \"chain\": \"RSS3\",\n \"chainId\": 12553,\n \"explorers\": [{\n \"name\": \"RSS3 VSL Scan\",\n \"url\": \"https://scan.rss3.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZFWYnufi6G2Z54oJ25sx2yf2Skx5tseJHJJa6Hc1G34t\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://rss3.io\",\n \"name\": \"RSS3 VSL Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"RSS3\",\n \"symbol\": \"RSS3\",\n \"decimals\": 18\n },\n \"networkId\": 12553,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://explorer.rss3.io/bridge\"\n }]\n },\n \"rpc\": [\"https://12553.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.rss3.io\"],\n \"shortName\": \"rss3\",\n \"slug\": \"rss3-vsl\",\n \"testnet\": false\n};\n\nvar c12715 = {\n \"chain\": \"Rikeza\",\n \"chainId\": 12715,\n \"explorers\": [{\n \"name\": \"Rikeza Blockchain explorer\",\n \"url\": \"https://testnet.rikscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfJ1Qxpzi6CSLeFeWY1Bwe435CpT5za5WfrLUE7vNzZfy\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rikeza.io\",\n \"name\": \"Rikeza Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Rikeza\",\n \"symbol\": \"RIK\",\n \"decimals\": 18\n },\n \"networkId\": 12715,\n \"rpc\": [\"https://12715.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.rikscan.com\"],\n \"shortName\": \"tRIK\",\n \"slip44\": 1,\n \"slug\": \"rikeza-network-testnet\",\n \"testnet\": true,\n \"title\": \"Rikeza Network Testnet\"\n};\n\nvar c12781 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 12781,\n \"explorers\": [{\n \"name\": \"Playdapp Testnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/playdappte\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"playdapp Testnet\",\n \"nativeCurrency\": {\n \"name\": \"playdapp Testnet Token\",\n \"symbol\": \"PDA\",\n \"decimals\": 18\n },\n \"networkId\": 12781,\n \"redFlags\": [],\n \"rpc\": [\"https://12781.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/playdappte/testnet/rpc\"],\n \"shortName\": \"playdapp Testnet\",\n \"slug\": \"playdapp-testnet\",\n \"testnet\": true\n};\n\nvar c12885 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 12885,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0603I3\",\n \"nativeCurrency\": {\n \"name\": \"QI0603I3 Token\",\n \"symbol\": \"UQI\",\n \"decimals\": 18\n },\n \"networkId\": 12885,\n \"redFlags\": [],\n \"rpc\": [\"https://12885.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0603I3\",\n \"slug\": \"qi0603i3\",\n \"testnet\": true\n};\n\nvar c12890 = {\n \"chain\": \"tQNET\",\n \"chainId\": 12890,\n \"explorers\": [{\n \"name\": \"Quantum Scan Testnet\",\n \"url\": \"https://testnet.quantumscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibwywok67uewqbtqdzgr7nlk3lvvg7hxmbgwtn7kdwxe34useucvm\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://quantumnetwork.gg\",\n \"name\": \"Quantum Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Quantum Chain\",\n \"symbol\": \"tQNET\",\n \"decimals\": 18\n },\n \"networkId\": 12890,\n \"rpc\": [\"https://12890.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.quantumscan.org\"],\n \"shortName\": \"tqnet\",\n \"slip44\": 1,\n \"slug\": \"quantum-chain-testnet\",\n \"testnet\": true\n};\n\nvar c12898 = {\n \"chain\": \"PLAYFAIR\",\n \"chainId\": 12898,\n \"explorers\": [{\n \"name\": \"Avalanche Subnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/letsplayfair\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNvoUp2RWiWQzHUKrZ7SnPzwF3FbCNd3jSdpGJhQdH1y5\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://letsplayfair.ai\",\n \"name\": \"PlayFair Testnet Subnet\",\n \"nativeCurrency\": {\n \"name\": \"BTLT Token\",\n \"symbol\": \"BTLT\",\n \"decimals\": 18\n },\n \"networkId\": 12898,\n \"rpc\": [\"https://12898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.letsplayfair.ai/ext/bc/2hhXFNp1jR4RuqvCmWQnBtt9CZnCmmyGr7TNTkxt7XY7pAzHMY/rpc\"],\n \"shortName\": \"playfair\",\n \"slug\": \"playfair-testnet-subnet\",\n \"testnet\": true\n};\n\nvar c13000 = {\n \"chain\": \"SPS\",\n \"chainId\": 13000,\n \"explorers\": [{\n \"name\": \"SPS Explorer\",\n \"url\": \"http://spsscan.ssquad.games\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ssquad.games/\",\n \"name\": \"SPS\",\n \"nativeCurrency\": {\n \"name\": \"ECG\",\n \"symbol\": \"ECG\",\n \"decimals\": 18\n },\n \"networkId\": 13000,\n \"rpc\": [\"https://13000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ssquad.games\"],\n \"shortName\": \"SPS\",\n \"slug\": \"sps\",\n \"testnet\": false\n};\n\nvar c13308 = {\n \"chain\": \"CREDIT\",\n \"chainId\": 13308,\n \"explorers\": [{\n \"name\": \"Creditscan\",\n \"url\": \"https://scan.creditsmartchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifbso3gd4wu5wxl27xyurxctmuae2jyuy37guqtzx23nga6ba4ag4\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreifbso3gd4wu5wxl27xyurxctmuae2jyuy37guqtzx23nga6ba4ag4\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://creditsmartchain.com\",\n \"name\": \"Credit Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"Credit\",\n \"symbol\": \"CREDIT\",\n \"decimals\": 18\n },\n \"networkId\": 13308,\n \"rpc\": [\"https://13308.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.creditsmartchain.com\"],\n \"shortName\": \"Credit\",\n \"slug\": \"credit-smart-chain-credit\",\n \"testnet\": false\n};\n\nvar c13337 = {\n \"chain\": \"BEAM\",\n \"chainId\": 13337,\n \"explorers\": [{\n \"name\": \"Beam Explorer\",\n \"url\": \"https://subnets-test.avax.network/beam\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.avax.network/?subnet=beam\", \"https://faucet.onbeam.com\"],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQJ21NWyGGDraicVEzS1Uqq1yXahM9NCuNZgnfYvtspdt\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.onbeam.com\",\n \"name\": \"Beam Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Beam\",\n \"symbol\": \"BEAM\",\n \"decimals\": 18\n },\n \"networkId\": 13337,\n \"rpc\": [\"https://13337.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://build.onbeam.com/rpc/testnet\", \"wss://build.onbeam.com/ws/testnet\", \"https://subnets.avax.network/beam/testnet/rpc\", \"wss://subnets.avax.network/beam/testnet/ws\"],\n \"shortName\": \"beam-testnet\",\n \"slip44\": 1,\n \"slug\": \"beam-testnet\",\n \"testnet\": true\n};\n\nvar c13371 = {\n \"chain\": \"Immutable zkEVM\",\n \"chainId\": 13371,\n \"explorers\": [{\n \"name\": \"Immutable explorer\",\n \"url\": \"https://explorer.immutable.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw\",\n \"width\": 1168,\n \"height\": 1168,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://docs.immutable.com/docs/zkEVM/guides/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw\",\n \"width\": 1168,\n \"height\": 1168,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.immutable.com\",\n \"name\": \"Immutable zkEVM\",\n \"nativeCurrency\": {\n \"name\": \"IMX\",\n \"symbol\": \"IMX\",\n \"decimals\": 18\n },\n \"networkId\": 13371,\n \"rpc\": [\"https://13371.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.immutable.com\", \"https://immutable-zkevm.drpc.org\", \"wss://immutable-zkevm.drpc.org\"],\n \"shortName\": \"imx\",\n \"slug\": \"immutable-zkevm\",\n \"testnet\": false\n};\n\nvar c13381 = {\n \"chain\": \"Phoenix\",\n \"chainId\": 13381,\n \"explorers\": [{\n \"name\": \"phoenixplorer\",\n \"url\": \"https://phoenixplorer.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYiLMeKDXMSNuQmtxNdxm53xR588pcRXMf7zuiZLjQnc6\",\n \"width\": 1501,\n \"height\": 1501,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cryptophoenix.org/phoenix\",\n \"name\": \"Phoenix Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Phoenix\",\n \"symbol\": \"PHX\",\n \"decimals\": 18\n },\n \"networkId\": 13381,\n \"rpc\": [\"https://13381.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.phoenixplorer.com/\"],\n \"shortName\": \"Phoenix\",\n \"slug\": \"phoenix\",\n \"testnet\": false\n};\n\nvar c13396 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 13396,\n \"explorers\": [{\n \"name\": \"Masa Explorer\",\n \"url\": \"https://subnets.avax.network/masa\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Masa Network \",\n \"nativeCurrency\": {\n \"name\": \"Masa Network Token\",\n \"symbol\": \"MASA\",\n \"decimals\": 18\n },\n \"networkId\": 13396,\n \"redFlags\": [],\n \"rpc\": [\"https://13396.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/masanetwork/mainnet/rpc\"],\n \"shortName\": \"Masa Network \",\n \"slug\": \"masa-network\",\n \"testnet\": false\n};\n\nvar c13473 = {\n \"chain\": \"Immutable zkEVM\",\n \"chainId\": 13473,\n \"explorers\": [{\n \"name\": \"Immutable Testnet explorer\",\n \"url\": \"https://explorer.testnet.immutable.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw\",\n \"width\": 1168,\n \"height\": 1168,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://docs.immutable.com/docs/zkEVM/guides/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw\",\n \"width\": 1168,\n \"height\": 1168,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.immutable.com\",\n \"name\": \"Immutable zkEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Test IMX\",\n \"symbol\": \"tIMX\",\n \"decimals\": 18\n },\n \"networkId\": 13473,\n \"rpc\": [\"https://13473.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.immutable.com\", \"https://immutable-zkevm-testnet.drpc.org\", \"wss://immutable-zkevm-testnet.drpc.org\"],\n \"shortName\": \"imx-testnet\",\n \"slip44\": 1,\n \"slug\": \"immutable-zkevm-testnet\",\n \"testnet\": true\n};\n\nvar c13505 = {\n \"chain\": \"Gravity\",\n \"chainId\": 13505,\n \"explorers\": [{\n \"name\": \"Gravity Alpha Testnet Sepolia Explorer\",\n \"url\": \"https://explorer-sepolia.gravity.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }, {\n \"name\": \"EIP1108\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmU5XU4S5oaGM5fj8oU1ovhWoXCzGWspwRj2zWRTuJrU4k\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gravity.xyz\",\n \"name\": \"Gravity Alpha Testnet Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Gravity\",\n \"symbol\": \"G.\",\n \"decimals\": 18\n },\n \"networkId\": 13505,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": []\n },\n \"rpc\": [\"https://13505.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-sepolia.gravity.xyz\"],\n \"shortName\": \"gravitysep\",\n \"slug\": \"gravity-alpha-testnet-sepolia\",\n \"testnet\": true\n};\n\nvar c13600 = {\n \"chain\": \"KNB\",\n \"chainId\": 13600,\n \"explorers\": [{\n \"name\": \"qbitscan\",\n \"url\": \"https://explorer.qbitscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZEuR4bJaZkC497qQnsxHv23pZFcXb9dTdaDPCPo2sj9Z\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZEuR4bJaZkC497qQnsxHv23pZFcXb9dTdaDPCPo2sj9Z\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kronobit.org\",\n \"name\": \"Kronobit Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Kronobit\",\n \"symbol\": \"KNB\",\n \"decimals\": 18\n },\n \"networkId\": 13600,\n \"rpc\": [\"https://13600.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.qbitscan.com\"],\n \"shortName\": \"KNB\",\n \"slug\": \"kronobit\",\n \"testnet\": false,\n \"title\": \"Kronobit Mainnet\"\n};\n\nvar c13812 = {\n \"chain\": \"SUS\",\n \"chainId\": 13812,\n \"explorers\": [{\n \"name\": \"Susono\",\n \"url\": \"http://explorer.opn.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"name\": \"Susono\",\n \"nativeCurrency\": {\n \"name\": \"Susono\",\n \"symbol\": \"OPN\",\n \"decimals\": 18\n },\n \"networkId\": 13812,\n \"rpc\": [\"https://13812.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gateway.opn.network/node/ext/bc/2VsZe5DstWw2bfgdx3YbjKcMsJnNDjni95sZorBEdk9L9Qr9Fr/rpc\"],\n \"shortName\": \"sus\",\n \"slug\": \"susono\",\n \"testnet\": false\n};\n\nvar c13838 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 13838,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"XTraderlands Subnet Tesnet\",\n \"nativeCurrency\": {\n \"name\": \"XTraderlands Subnet Tesnet Token\",\n \"symbol\": \"XTDL\",\n \"decimals\": 18\n },\n \"networkId\": 13838,\n \"redFlags\": [],\n \"rpc\": [\"https://13838.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/xtraderlan/testnet/rpc\"],\n \"shortName\": \"XTraderlands Subnet Tesnet\",\n \"slug\": \"xtraderlands-subnet-tesnet\",\n \"testnet\": true\n};\n\nvar c14000 = {\n \"chain\": \"SPS-Testnet\",\n \"chainId\": 14000,\n \"explorers\": [{\n \"name\": \"SPS Test Explorer\",\n \"url\": \"https://explorer.3sps.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ssquad.games/\",\n \"name\": \"SPS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ECG\",\n \"symbol\": \"ECG\",\n \"decimals\": 18\n },\n \"networkId\": 14000,\n \"rpc\": [\"https://14000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://www.3sps.net\"],\n \"shortName\": \"SPS-Test\",\n \"slip44\": 1,\n \"slug\": \"sps-testnet\",\n \"testnet\": true\n};\n\nvar c14093 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 14093,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6598\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6598 Token\",\n \"symbol\": \"UQC\",\n \"decimals\": 18\n },\n \"networkId\": 14093,\n \"redFlags\": [],\n \"rpc\": [\"https://14093.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6598\",\n \"slug\": \"qauser6598\",\n \"testnet\": true\n};\n\nvar c14255 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 14255,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0521S2T\",\n \"nativeCurrency\": {\n \"name\": \"QI0521S2T Token\",\n \"symbol\": \"YFT\",\n \"decimals\": 18\n },\n \"networkId\": 14255,\n \"redFlags\": [],\n \"rpc\": [\"https://14255.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0521S2T\",\n \"slug\": \"qi0521s2t\",\n \"testnet\": true\n};\n\nvar c14299 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 14299,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Diego's\",\n \"nativeCurrency\": {\n \"name\": \"Diego's Token\",\n \"symbol\": \"VMF\",\n \"decimals\": 18\n },\n \"networkId\": 14299,\n \"redFlags\": [],\n \"rpc\": [\"https://14299.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/diegos/testnet/rpc\"],\n \"shortName\": \"Diego's\",\n \"slug\": \"diego-s\",\n \"testnet\": true\n};\n\nvar c14324 = {\n \"chain\": \"EVO\",\n \"chainId\": 14324,\n \"explorers\": [{\n \"name\": \"Evolve Testnet Explorer\",\n \"url\": \"https://testnet.evolveblockchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.evolveblockchain.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmVxtpYYzc5214CB7BgsMC4mRNRHCD8fpbNMzZguBWyRwa\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://evolveblockchain.io\",\n \"name\": \"EVOLVE Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Evolve\",\n \"symbol\": \"EVO\",\n \"decimals\": 18\n },\n \"networkId\": 14324,\n \"rpc\": [\"https://14324.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.evolveblockchain.io\"],\n \"shortName\": \"evo\",\n \"slug\": \"evolve-testnet\",\n \"testnet\": true\n};\n\nvar c14333 = {\n \"chain\": \"Vitruveo\",\n \"chainId\": 14333,\n \"explorers\": [{\n \"name\": \"Vitruveo Testnet Explorer\",\n \"url\": \"https://test-explorer.vitruveo.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidjhjv7uu7if745ys7ari3ka75spm2hqyr5po66sbe7kqsfk7ahua\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.vitruveo.xyz\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreidjhjv7uu7if745ys7ari3ka75spm2hqyr5po66sbe7kqsfk7ahua\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.vitruveo.xyz\",\n \"name\": \"Vitruveo Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Vitruveo Test Coin\",\n \"symbol\": \"tVTRU\",\n \"decimals\": 18\n },\n \"networkId\": 14333,\n \"rpc\": [\"https://14333.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-rpc.vitruveo.xyz\"],\n \"shortName\": \"vitruveo-test\",\n \"slug\": \"vitruveo-testnet\",\n \"testnet\": true,\n \"title\": \"Vitruveo is a blockchain for Creators\"\n};\n\nvar c14801 = {\n \"chain\": \"Satori\",\n \"chainId\": 14801,\n \"explorers\": [{\n \"name\": \"satoriscan\",\n \"url\": \"https://satori.vanascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.vana.org\"],\n \"infoURL\": \"https://satori.vana.org\",\n \"name\": \"Vana Satori Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DAT\",\n \"symbol\": \"DAT\",\n \"decimals\": 18\n },\n \"networkId\": 14801,\n \"rpc\": [\"https://14801.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://rpc.satori.vana.org\"],\n \"shortName\": \"satori\",\n \"slug\": \"vana-satori-testnet\",\n \"testnet\": true\n};\n\nvar c14853 = {\n \"chain\": \"Humanode Testnet 5\",\n \"chainId\": 14853,\n \"explorers\": [],\n \"faucets\": [\"https://t.me/HumanodeTestnet5FaucetBot\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeihuskzfwqogwvutaxil6sztmvpiavzbrzwjwpn6w2i4j3jysbybra\",\n \"width\": 1043,\n \"height\": 1043,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://humanode.io\",\n \"name\": \"Humanode Testnet 5 Israfel\",\n \"nativeCurrency\": {\n \"name\": \"eHMND\",\n \"symbol\": \"eHMND\",\n \"decimals\": 18\n },\n \"networkId\": 14853,\n \"rpc\": [\"https://14853.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://explorer-rpc-http.testnet5.stages.humanode.io\"],\n \"shortName\": \"hmnd-t5\",\n \"slip44\": 1,\n \"slug\": \"humanode-testnet-5-israfel\",\n \"testnet\": true\n};\n\nvar c15003 = {\n \"chain\": \"Immutable zkEVM\",\n \"chainId\": 15003,\n \"explorers\": [{\n \"name\": \"Immutable Devnet explorer\",\n \"url\": \"https://explorer.dev.immutable.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw\",\n \"width\": 1168,\n \"height\": 1168,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://docs.immutable.com/docs/zkEVM/guides/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmXFUYFW4e6wifbU9LKVq7owM14bnE6ZbbYq3bn1jBP3Mw\",\n \"width\": 1168,\n \"height\": 1168,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.immutable.com\",\n \"name\": \"Immutable zkEVM Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Dev IMX\",\n \"symbol\": \"dIMX\",\n \"decimals\": 18\n },\n \"networkId\": 15003,\n \"rpc\": [\"https://15003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dev.immutable.com\"],\n \"shortName\": \"imx-devnet\",\n \"slug\": \"immutable-zkevm-devnet\",\n \"testnet\": false\n};\n\nvar c15056 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 15056,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402052\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402052 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 15056,\n \"redFlags\": [],\n \"rpc\": [\"https://15056.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402052\",\n \"slug\": \"qi-m-2402052\",\n \"testnet\": true\n};\n\nvar c15104 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 15104,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402054\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402054 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 15104,\n \"redFlags\": [],\n \"rpc\": [\"https://15104.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402054\",\n \"slug\": \"qi-m-2402054\",\n \"testnet\": true\n};\n\nvar c15257 = {\n \"chain\": \"Poodl\",\n \"chainId\": 15257,\n \"explorers\": [{\n \"name\": \"Poodl Testnet Explorer\",\n \"url\": \"https://testnet.poodl.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.poodl.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmXfBFHHb5kJGQ3dMLnhDhfFBsgAvm9U72jBSYcfmRHL2p\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://poodl.org\",\n \"name\": \"Poodl Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Poodl\",\n \"symbol\": \"POODL\",\n \"decimals\": 18\n },\n \"networkId\": 15257,\n \"rpc\": [\"https://15257.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.poodl.org\"],\n \"shortName\": \"poodlt\",\n \"slug\": \"poodl-testnet\",\n \"testnet\": true\n};\n\nvar c15259 = {\n \"chain\": \"Poodl\",\n \"chainId\": 15259,\n \"explorers\": [{\n \"name\": \"Poodl Mainnet Explorer\",\n \"url\": \"https://explorer.poodl.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXfBFHHb5kJGQ3dMLnhDhfFBsgAvm9U72jBSYcfmRHL2p\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://poodl.org\",\n \"name\": \"Poodl Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Poodl\",\n \"symbol\": \"POODL\",\n \"decimals\": 18\n },\n \"networkId\": 15259,\n \"rpc\": [\"https://15259.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.poodl.org\"],\n \"shortName\": \"poodle\",\n \"slug\": \"poodl\",\n \"testnet\": false\n};\n\nvar c15535 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 15535,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 11271\",\n \"nativeCurrency\": {\n \"name\": \"QI M 11271 Token\",\n \"symbol\": \"JZW\",\n \"decimals\": 18\n },\n \"networkId\": 15535,\n \"redFlags\": [],\n \"rpc\": [\"https://15535.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/a47e1c06-fa75-4536-a900-1574d198e197\"],\n \"shortName\": \"QI M 11271\",\n \"slug\": \"qi-m-11271\",\n \"testnet\": true\n};\n\nvar c15551 = {\n \"chain\": \"LoopNetwork\",\n \"chainId\": 15551,\n \"explorers\": [{\n \"name\": \"loopscan\",\n \"url\": \"http://explorer.mainnetloop.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"http://theloopnetwork.org/\",\n \"name\": \"LoopNetwork Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LOOP\",\n \"symbol\": \"LOOP\",\n \"decimals\": 18\n },\n \"networkId\": 15551,\n \"rpc\": [\"https://15551.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.mainnetloop.com\"],\n \"shortName\": \"loop\",\n \"slug\": \"loopnetwork\",\n \"testnet\": false\n};\n\nvar c15555 = {\n \"chain\": \"Trust EVM Testnet\",\n \"chainId\": 15555,\n \"explorers\": [{\n \"name\": \"Trust EVM Explorer\",\n \"url\": \"https://trustscan.one\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.testnet-dev.trust.one/\"],\n \"infoURL\": \"https://www.trust.one/\",\n \"name\": \"Trust EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Trust EVM\",\n \"symbol\": \"EVM\",\n \"decimals\": 18\n },\n \"networkId\": 15555,\n \"rpc\": [\"https://15555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.testnet-dev.trust.one\"],\n \"shortName\": \"TrustTestnet\",\n \"slip44\": 1,\n \"slug\": \"trust-evm-testnet\",\n \"testnet\": true\n};\n\nvar c15557 = {\n \"chain\": \"EOS\",\n \"chainId\": 15557,\n \"explorers\": [{\n \"name\": \"EOS EVM Explorer\",\n \"url\": \"https://explorer.testnet.evm.eosnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXkK5D5GWizvY1FmL6pV8cYLAbhehKETubktCgh6qDJZb\",\n \"width\": 500,\n \"height\": 750,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eosnetwork.com/eos-evm\",\n \"name\": \"EOS EVM Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"EOS\",\n \"symbol\": \"EOS\",\n \"decimals\": 18\n },\n \"networkId\": 15557,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.testnet.evm.eosnetwork.com\"\n }]\n },\n \"rpc\": [\"https://15557.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.testnet.evm.eosnetwork.com\"],\n \"shortName\": \"eos-testnet\",\n \"slip44\": 1,\n \"slug\": \"eos-evm-network-testnet\",\n \"testnet\": true\n};\n\nvar c16000 = {\n \"chain\": \"MTT\",\n \"chainId\": 16000,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://metadot.network\",\n \"name\": \"MetaDot Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MetaDot Token\",\n \"symbol\": \"MTT\",\n \"decimals\": 18\n },\n \"networkId\": 16000,\n \"rpc\": [\"https://16000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.metadot.network\"],\n \"shortName\": \"mtt\",\n \"slug\": \"metadot\",\n \"testnet\": false\n};\n\nvar c16001 = {\n \"chain\": \"MTTTest\",\n \"chainId\": 16001,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.metadot.network/\"],\n \"infoURL\": \"https://metadot.network\",\n \"name\": \"MetaDot Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MetaDot Token TestNet\",\n \"symbol\": \"MTTest\",\n \"decimals\": 18\n },\n \"networkId\": 16001,\n \"rpc\": [\"https://16001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.metadot.network\"],\n \"shortName\": \"mtttest\",\n \"slip44\": 1,\n \"slug\": \"metadot-testnet\",\n \"testnet\": true\n};\n\nvar c16116 = {\n \"chain\": \"DeFiVerse\",\n \"chainId\": 16116,\n \"explorers\": [{\n \"name\": \"DeFiVerse Explorer\",\n \"url\": \"https://scan.defi-verse.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmaSqPELi11UepS3odwHyiwfUPkLBnE4WP4zNkwumHoPmw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaSqPELi11UepS3odwHyiwfUPkLBnE4WP4zNkwumHoPmw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://defi-verse.org\",\n \"name\": \"DeFiVerse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Oasys\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 16116,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://16116.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.defi-verse.org/\"],\n \"shortName\": \"DFV\",\n \"slug\": \"defiverse\",\n \"testnet\": false\n};\n\nvar c16316 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 16316,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Stripe Test\",\n \"nativeCurrency\": {\n \"name\": \"Stripe Test Token\",\n \"symbol\": \"STR\",\n \"decimals\": 18\n },\n \"networkId\": 16316,\n \"redFlags\": [],\n \"rpc\": [\"https://16316.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Stripe Test\",\n \"slug\": \"stripe-test\",\n \"testnet\": true\n};\n\nvar c16507 = {\n \"chain\": \"Genesys\",\n \"chainId\": 16507,\n \"explorers\": [{\n \"name\": \"GchainExplorer\",\n \"url\": \"https://gchainexplorer.genesys.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreie6nai3yhykcdlsyshn5lbcbyba5y7zwsqg6owcfek2urhoucr6rm\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.genesys.network/\",\n \"name\": \"Genesys Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Genesys\",\n \"symbol\": \"GSYS\",\n \"decimals\": 18\n },\n \"networkId\": 16507,\n \"rpc\": [\"https://16507.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.genesys.network\"],\n \"shortName\": \"Genesys\",\n \"slug\": \"genesys\",\n \"testnet\": false\n};\n\nvar c16587 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 16587,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0603I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0603I1 Token\",\n \"symbol\": \"ODK\",\n \"decimals\": 18\n },\n \"networkId\": 16587,\n \"redFlags\": [],\n \"rpc\": [\"https://16587.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0603I1\",\n \"slug\": \"qi0603i1\",\n \"testnet\": true\n};\n\nvar c16688 = {\n \"chain\": \"IRIShub\",\n \"chainId\": 16688,\n \"explorers\": [{\n \"name\": \"IRISHub Testnet Cosmos Explorer (IOBScan)\",\n \"url\": \"https://nyancat.iobscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRaSx7AX1VDgcqjwLgSDP4WZmKBHPdHhbjkcEEXPA2Fnc\",\n \"width\": 1062,\n \"height\": 822,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmRaSx7AX1VDgcqjwLgSDP4WZmKBHPdHhbjkcEEXPA2Fnc\",\n \"width\": 1062,\n \"height\": 822,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.irisnet.org\",\n \"name\": \"IRIShub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Eris\",\n \"symbol\": \"ERIS\",\n \"decimals\": 18\n },\n \"networkId\": 16688,\n \"rpc\": [\"https://16688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evmrpc.nyancat.irisnet.org\"],\n \"shortName\": \"nyancat\",\n \"slip44\": 1,\n \"slug\": \"irishub-testnet\",\n \"testnet\": true\n};\n\nvar c16718 = {\n \"chain\": \"ambnet\",\n \"chainId\": 16718,\n \"explorers\": [{\n \"name\": \"AirDAO Network Explorer\",\n \"url\": \"https://airdao.io/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://airdao.io\",\n \"name\": \"AirDAO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Amber\",\n \"symbol\": \"AMB\",\n \"decimals\": 18\n },\n \"networkId\": 16718,\n \"rpc\": [\"https://16718.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://network.ambrosus.io\"],\n \"shortName\": \"airdao\",\n \"slug\": \"airdao\",\n \"testnet\": false\n};\n\nvar c16888 = {\n \"chain\": \"IVAR\",\n \"chainId\": 16888,\n \"explorers\": [{\n \"name\": \"ivarscan\",\n \"url\": \"https://testnet.ivarscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://tfaucet.ivarex.com/\"],\n \"icon\": {\n \"url\": \"ipfs://QmV8UmSwqGF2fxrqVEBTHbkyZueahqyYtkfH2RBF5pNysM\",\n \"width\": 519,\n \"height\": 519,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://ivarex.com\",\n \"name\": \"IVAR Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tIvar\",\n \"symbol\": \"tIVAR\",\n \"decimals\": 18\n },\n \"networkId\": 16888,\n \"rpc\": [\"https://16888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.ivarex.com\"],\n \"shortName\": \"tivar\",\n \"slip44\": 1,\n \"slug\": \"ivar-chain-testnet\",\n \"testnet\": true\n};\n\nvar c17000 = {\n \"chain\": \"ETH\",\n \"chainId\": 17000,\n \"explorers\": [{\n \"name\": \"Holesky Explorer\",\n \"url\": \"https://holesky.beaconcha.in\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"otterscan-holesky\",\n \"url\": \"https://holesky.otterscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Holesky Etherscan\",\n \"url\": \"https://holesky.etherscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.holesky.ethpandaops.io\", \"https://holesky-faucet.pk910.de\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://holesky.ethpandaops.io\",\n \"name\": \"Holesky\",\n \"nativeCurrency\": {\n \"name\": \"Testnet ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 17000,\n \"redFlags\": [],\n \"rpc\": [\"https://17000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.holesky.ethpandaops.io\", \"https://ethereum-holesky-rpc.publicnode.com\", \"wss://ethereum-holesky-rpc.publicnode.com\", \"https://holesky.drpc.org\", \"wss://holesky.drpc.org\", \"https://rpc-holesky.rockx.com\"],\n \"shortName\": \"holesky\",\n \"slip44\": 1,\n \"slug\": \"holesky\",\n \"status\": \"incubating\",\n \"testnet\": true,\n \"title\": \"Ethereum Testnet Holesky\"\n};\n\nvar c17001 = {\n \"chain\": \"ETH\",\n \"chainId\": 17001,\n \"explorers\": [{\n \"name\": \"Redstone Holesky Explorer\",\n \"url\": \"https://explorer.holesky.redstone.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreieyaqgkgntvxuo5tnhgseladga5q6gutc37dab7kqqfdguhq7vkxq\",\n \"width\": 5836,\n \"height\": 5836,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://redstone.xyz/docs/network-info\",\n \"name\": \"Redstone Holesky Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Redstone Testnet Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 17001,\n \"rpc\": [\"https://17001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.holesky.redstone.xyz\"],\n \"shortName\": \"redstone-holesky\",\n \"slip44\": 1,\n \"slug\": \"redstone-holesky-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c17026 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 17026,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1204I3\",\n \"nativeCurrency\": {\n \"name\": \"QI1204I3 Token\",\n \"symbol\": \"BHOX\",\n \"decimals\": 18\n },\n \"networkId\": 17026,\n \"redFlags\": [],\n \"rpc\": [\"https://17026.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/e7aeac38-06b2-4aaa-87b4-2c2da10fa43e\"],\n \"shortName\": \"QI1204I3\",\n \"slug\": \"qi1204i3\",\n \"testnet\": true\n};\n\nvar c17069 = {\n \"chain\": \"ETH\",\n \"chainId\": 17069,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.garnetchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWhHvjbjTiNNsHKpbEz9rxSt4CCL2Q5xVZjk8eQkp82B9\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://redstone.xyz\",\n \"name\": \"Garnet Holesky\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 17069,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-17000\",\n \"bridges\": [{\n \"url\": \"https://garnetchain.com/deposit\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://17069.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.garnetchain.com\", \"wss://rpc.garnetchain.com\"],\n \"shortName\": \"garnet\",\n \"slug\": \"garnet-holesky\",\n \"testnet\": true\n};\n\nvar c17117 = {\n \"chain\": \"DeFiVerse Testnet\",\n \"chainId\": 17117,\n \"explorers\": [{\n \"name\": \"DeFiVerse Testnet Explorer\",\n \"url\": \"https://scan-testnet.defi-verse.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmaSqPELi11UepS3odwHyiwfUPkLBnE4WP4zNkwumHoPmw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaSqPELi11UepS3odwHyiwfUPkLBnE4WP4zNkwumHoPmw\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://defi-verse.org\",\n \"name\": \"DeFiVerse Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Oasys\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 17117,\n \"rpc\": [\"https://17117.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.defi-verse.org/\"],\n \"shortName\": \"DFV-testnet\",\n \"slug\": \"defiverse-testnet\",\n \"testnet\": true\n};\n\nvar c17171 = {\n \"chain\": \"G8C\",\n \"chainId\": 17171,\n \"explorers\": [{\n \"name\": \"G8Chain\",\n \"url\": \"https://mainnet.oneg8.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.oneg8.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmbkCVC5vZpVAfq8SuPXR9PhpTRS2m8w6LGqBkhXAvmie6\",\n \"width\": 80,\n \"height\": 80,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oneg8.one\",\n \"name\": \"G8Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"G8Chain\",\n \"symbol\": \"G8C\",\n \"decimals\": 18\n },\n \"networkId\": 17171,\n \"rpc\": [\"https://17171.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.oneg8.network\"],\n \"shortName\": \"G8Cm\",\n \"slug\": \"g8chain\",\n \"testnet\": false\n};\n\nvar c17172 = {\n \"chain\": \"ECLIPSE\",\n \"chainId\": 17172,\n \"explorers\": [{\n \"name\": \"ECLIPSE Explorer\",\n \"url\": \"https://subnets-test.avax.network/eclipse\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"http://eclipsenet.io\",\n \"name\": \"Eclipse Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Eclipse\",\n \"symbol\": \"ECLP\",\n \"decimals\": 16\n },\n \"networkId\": 17172,\n \"rpc\": [\"https://17172.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/eclipse/testnet/rpc\"],\n \"shortName\": \"eclipse\",\n \"slug\": \"eclipse-subnet\",\n \"testnet\": true\n};\n\nvar c17180 = {\n \"chain\": \"PLT\",\n \"chainId\": 17180,\n \"explorers\": [{\n \"name\": \"Palettescan\",\n \"url\": \"https://testnet.palettescan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPCEGZD1p1keTT2YfPp725azx1r9Ci41hejeUuGL2whFA\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hashpalette.com/\",\n \"name\": \"Palette Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Palette Token\",\n \"symbol\": \"PLT\",\n \"decimals\": 18\n },\n \"networkId\": 17180,\n \"rpc\": [\"https://17180.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://palette-opennet.com:22000\"],\n \"shortName\": \"PCT\",\n \"slip44\": 1,\n \"slug\": \"palette-chain-testnet\",\n \"testnet\": true\n};\n\nvar c17186 = {\n \"chain\": \"ETH\",\n \"chainId\": 17186,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"name\": \"lazy-crimson-coral\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 17186,\n \"parent\": {\n \"type\": \"L3\",\n \"chain\": \"Base\",\n \"bridges\": [{\n \"url\": \"https://lazy-crimson-coral-cotlv0ftqf.testnets.superbridge.app\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://17186.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://l2-lazy-crimson-coral-cotlv0ftqf.t.conduit.xyz\"],\n \"shortName\": \"lazy-crimson-coral\",\n \"slug\": \"lazy-crimson-coral\",\n \"testnet\": true\n};\n\nvar c17217 = {\n \"chain\": \"KONET\",\n \"chainId\": 17217,\n \"explorers\": [{\n \"name\": \"konet-explorer\",\n \"url\": \"https://explorer.kon-wallet.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Konetscan\",\n \"url\": \"https://konetexplorer.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSszu2AhLPgcp8SZYiBYCQiRVwb9ueqbnGbcTx9H9CJjZ\",\n \"width\": 1851,\n \"height\": 1851,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://konetmain.com\",\n \"name\": \"KONET Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KONET\",\n \"symbol\": \"KONET\",\n \"decimals\": 18\n },\n \"networkId\": 17217,\n \"redFlags\": [],\n \"rpc\": [\"https://17217.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.kon-wallet.com\"],\n \"shortName\": \"KONET\",\n \"slip44\": 1,\n \"slug\": \"konet\",\n \"testnet\": false\n};\n\nvar c17511 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 17511,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"PST 1-17-24\",\n \"nativeCurrency\": {\n \"name\": \"PST 1-17-24 Token\",\n \"symbol\": \"MUB\",\n \"decimals\": 18\n },\n \"networkId\": 17511,\n \"redFlags\": [],\n \"rpc\": [\"https://17511.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"PST 1-17-24\",\n \"slug\": \"pst-1-17-24\",\n \"testnet\": true\n};\n\nvar c17777 = {\n \"chain\": \"EOS\",\n \"chainId\": 17777,\n \"explorers\": [{\n \"name\": \"EOS EVM Explorer\",\n \"url\": \"https://explorer.evm.eosnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXkK5D5GWizvY1FmL6pV8cYLAbhehKETubktCgh6qDJZb\",\n \"width\": 500,\n \"height\": 750,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eosnetwork.com/eos-evm\",\n \"name\": \"EOS EVM Network\",\n \"nativeCurrency\": {\n \"name\": \"EOS\",\n \"symbol\": \"EOS\",\n \"decimals\": 18\n },\n \"networkId\": 17777,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.evm.eosnetwork.com\"\n }, {\n \"url\": \"https://app.multichain.org\"\n }]\n },\n \"rpc\": [\"https://17777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.evm.eosnetwork.com\"],\n \"shortName\": \"eos\",\n \"slug\": \"eos-evm-network\",\n \"testnet\": false\n};\n\nvar c18000 = {\n \"chain\": \"Game Network\",\n \"chainId\": 18000,\n \"explorers\": [{\n \"name\": \"Game Network\",\n \"url\": \"https://explorer.fod.games\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://goexosphere.com\",\n \"name\": \"Frontier of Dreams Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ZKST\",\n \"symbol\": \"ZKST\",\n \"decimals\": 18\n },\n \"networkId\": 18000,\n \"rpc\": [\"https://18000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.fod.games/\"],\n \"shortName\": \"ZKST\",\n \"slip44\": 1,\n \"slug\": \"frontier-of-dreams-testnet\",\n \"testnet\": true\n};\n\nvar c18105 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 18105,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Found Test\",\n \"nativeCurrency\": {\n \"name\": \"Found Test Token\",\n \"symbol\": \"TVJ\",\n \"decimals\": 18\n },\n \"networkId\": 18105,\n \"redFlags\": [],\n \"rpc\": [\"https://18105.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Found Test\",\n \"slug\": \"found-test\",\n \"testnet\": true\n};\n\nvar c18109 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 18109,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7737 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7737 Testnet Token\",\n \"symbol\": \"XSP\",\n \"decimals\": 18\n },\n \"networkId\": 18109,\n \"redFlags\": [],\n \"rpc\": [\"https://18109.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7737 Testnet\",\n \"slug\": \"qauser7737-testnet\",\n \"testnet\": true\n};\n\nvar c18122 = {\n \"chain\": \"Smart Trade Networks\",\n \"chainId\": 18122,\n \"explorers\": [{\n \"name\": \"stnscan\",\n \"url\": \"https://stnscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRgZVpjik4cH3Sb6wLRpdnfv9kiMEZ8fugfkzTgk3bpRW\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRgZVpjik4cH3Sb6wLRpdnfv9kiMEZ8fugfkzTgk3bpRW\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.smarttradenetworks.com\",\n \"name\": \"Smart Trade Networks\",\n \"nativeCurrency\": {\n \"name\": \"STN\",\n \"symbol\": \"STN\",\n \"decimals\": 18\n },\n \"networkId\": 18122,\n \"rpc\": [\"https://18122.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://beefledgerwallet.com:8544\"],\n \"shortName\": \"STN\",\n \"slug\": \"smart-trade-networks\",\n \"testnet\": false\n};\n\nvar c18159 = {\n \"chain\": \"POM\",\n \"chainId\": 18159,\n \"explorers\": [{\n \"name\": \"explorer-proofofmemes\",\n \"url\": \"https://memescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmePhfibWz9jnGUqF9Rven4x734br1h3LxrChYTEjbbQvo\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://proofofmemes.org\",\n \"name\": \"Proof Of Memes\",\n \"nativeCurrency\": {\n \"name\": \"Proof Of Memes\",\n \"symbol\": \"POM\",\n \"decimals\": 18\n },\n \"networkId\": 18159,\n \"rpc\": [\"https://18159.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.memescan.io\", \"https://mainnet-rpc2.memescan.io\", \"https://mainnet-rpc3.memescan.io\", \"https://mainnet-rpc4.memescan.io\"],\n \"shortName\": \"pom\",\n \"slug\": \"proof-of-memes\",\n \"testnet\": false,\n \"title\": \"Proof Of Memes Mainnet\"\n};\n\nvar c18181 = {\n \"chain\": \"G8C\",\n \"chainId\": 18181,\n \"explorers\": [{\n \"name\": \"G8Chain\",\n \"url\": \"https://testnet.oneg8.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.oneg8.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmbkCVC5vZpVAfq8SuPXR9PhpTRS2m8w6LGqBkhXAvmie6\",\n \"width\": 80,\n \"height\": 80,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oneg8.one\",\n \"name\": \"G8Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"G8Coin\",\n \"symbol\": \"G8C\",\n \"decimals\": 18\n },\n \"networkId\": 18181,\n \"rpc\": [\"https://18181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.oneg8.network\"],\n \"shortName\": \"G8Ct\",\n \"slip44\": 1,\n \"slug\": \"g8chain-testnet\",\n \"testnet\": true\n};\n\nvar c18231 = {\n \"chain\": \"unreal\",\n \"chainId\": 18231,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://unreal.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZbtoK9Q1DHTHjsgPUfHkzb9xdWzrSfPwPQ8M8FPu84mA\",\n \"width\": 300,\n \"height\": 301,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZbtoK9Q1DHTHjsgPUfHkzb9xdWzrSfPwPQ8M8FPu84mA\",\n \"width\": 300,\n \"height\": 301,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://raas.gelato.network/rollups/details/public/unreal\",\n \"name\": \"unreal-old\",\n \"nativeCurrency\": {\n \"name\": \"unreal Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 18231,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": []\n },\n \"rpc\": [\"https://18231.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.unreal.gelato.digital\", \"wss://ws.unreal.gelato.digital\"],\n \"shortName\": \"unreal-old\",\n \"slip44\": 60,\n \"slug\": \"unreal-old\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"unreal testnet for re.al\"\n};\n\nvar c18233 = {\n \"chain\": \"unreal\",\n \"chainId\": 18233,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://unreal.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZbtoK9Q1DHTHjsgPUfHkzb9xdWzrSfPwPQ8M8FPu84mA\",\n \"width\": 300,\n \"height\": 301,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZbtoK9Q1DHTHjsgPUfHkzb9xdWzrSfPwPQ8M8FPu84mA\",\n \"width\": 300,\n \"height\": 301,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://raas.gelato.network/rollups/details/public/unreal\",\n \"name\": \"unreal\",\n \"nativeCurrency\": {\n \"name\": \"unreal Ether\",\n \"symbol\": \"reETH\",\n \"decimals\": 18\n },\n \"networkId\": 18233,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-17000\",\n \"bridges\": [{\n \"url\": \"https://bridge.gelato.network/bridge/unreal\"\n }]\n },\n \"rpc\": [\"https://18233.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.unreal-orbit.gelato.digital\", \"wss://ws.unreal-orbit.gelato.digital\"],\n \"shortName\": \"unreal\",\n \"slip44\": 60,\n \"slug\": \"unreal\",\n \"testnet\": true,\n \"title\": \"unreal testnet for re.al\"\n};\n\nvar c18263 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 18263,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0528S1T\",\n \"nativeCurrency\": {\n \"name\": \"QR0528S1T Token\",\n \"symbol\": \"STZ\",\n \"decimals\": 18\n },\n \"networkId\": 18263,\n \"redFlags\": [],\n \"rpc\": [\"https://18263.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0528s1t/testnet/rpc\"],\n \"shortName\": \"QR0528S1T\",\n \"slug\": \"qr0528s1t\",\n \"testnet\": true\n};\n\nvar c18303 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 18303,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Zeroone Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Zeroone Testnet Token\",\n \"symbol\": \"ZERO\",\n \"decimals\": 18\n },\n \"networkId\": 18303,\n \"redFlags\": [],\n \"rpc\": [\"https://18303.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/zeroonetes/testnet/rpc\"],\n \"shortName\": \"Zeroone Testnet\",\n \"slug\": \"zeroone-testnet\",\n \"testnet\": true\n};\n\nvar c18686 = {\n \"chain\": \"MXC zkEVM\",\n \"chainId\": 18686,\n \"explorers\": [{\n \"name\": \"MXC zkEVM Moonchain\",\n \"url\": \"https://explorer.moonchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdGCthKA11K9kCZJdbTP5WPAyq1wiRZ3REn6KG58MrWaE\",\n \"width\": 159,\n \"height\": 159,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://doc.mxc.com/docs/intro\",\n \"name\": \"MXC zkEVM Moonchain\",\n \"nativeCurrency\": {\n \"name\": \"MXC zkEVM Moonchain\",\n \"symbol\": \"MXC\",\n \"decimals\": 18\n },\n \"networkId\": 18686,\n \"rpc\": [\"https://18686.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mxc.com\"],\n \"shortName\": \"MXCzkEVM\",\n \"slug\": \"mxc-zkevm-moonchain\",\n \"testnet\": false\n};\n\nvar c18888 = {\n \"chain\": \"Titan (TKX)\",\n \"chainId\": 18888,\n \"explorers\": [{\n \"name\": \"Titan Explorer\",\n \"url\": \"https://tkxscan.io/Titan\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreicyvc7t55zsejv6vwaxbmhvea5vdfkkbgqkmn65rhyyifpg3mq3ua\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreicyvc7t55zsejv6vwaxbmhvea5vdfkkbgqkmn65rhyyifpg3mq3ua\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://titanlab.io\",\n \"name\": \"Titan (TKX)\",\n \"nativeCurrency\": {\n \"name\": \"Titan tkx\",\n \"symbol\": \"TKX\",\n \"decimals\": 18\n },\n \"networkId\": 18888,\n \"rpc\": [\"https://18888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://titan-json-rpc.titanlab.io\", \"https://titan-json-rpc-tokyo.titanlab.io\", \"https://titan-json-rpc-seoul.titanlab.io\", \"https://titan-json-rpc-hongkong.titanlab.io\"],\n \"shortName\": \"titan_tkx\",\n \"slip44\": 1,\n \"slug\": \"titan-tkx\",\n \"testnet\": false\n};\n\nvar c18889 = {\n \"chain\": \"Titan (TKX)\",\n \"chainId\": 18889,\n \"explorers\": [{\n \"name\": \"Titan Explorer\",\n \"url\": \"https://titan-testnet-explorer-light.titanlab.io/Titan%20Testnet\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreicyvc7t55zsejv6vwaxbmhvea5vdfkkbgqkmn65rhyyifpg3mq3ua\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreicyvc7t55zsejv6vwaxbmhvea5vdfkkbgqkmn65rhyyifpg3mq3ua\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://titanlab.io\",\n \"name\": \"Titan (TKX) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Titan tkx\",\n \"symbol\": \"TKX\",\n \"decimals\": 18\n },\n \"networkId\": 18889,\n \"rpc\": [\"https://18889.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://titan-testnet-json-rpc.titanlab.io\", \"https://titan-testnet-json-rpc-1.titanlab.io\", \"https://titan-testnet-json-rpc-2.titanlab.io\"],\n \"shortName\": \"titan_tkx-testnet\",\n \"slip44\": 1,\n \"slug\": \"titan-tkx-testnet\",\n \"testnet\": true\n};\n\nvar c18898 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 18898,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4 Testnet Token\",\n \"symbol\": \"NLD\",\n \"decimals\": 18\n },\n \"networkId\": 18898,\n \"redFlags\": [],\n \"rpc\": [\"https://18898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4 Testnet\",\n \"slug\": \"qauser4-testnet-qauser4 testnet-18898\",\n \"testnet\": true\n};\n\nvar c19011 = {\n \"chain\": \"HOME Verse\",\n \"chainId\": 19011,\n \"explorers\": [{\n \"name\": \"HOME Verse Explorer\",\n \"url\": \"https://explorer.oasys.homeverse.games\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeGb65zSworzoHmwK3jdkPtEsQZMUSJRxf8K8Feg56soU\",\n \"width\": 597,\n \"height\": 597,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.homeverse.games/\",\n \"name\": \"HOME Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 19011,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://19011.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.oasys.homeverse.games/\"],\n \"shortName\": \"HMV\",\n \"slug\": \"home-verse\",\n \"testnet\": false\n};\n\nvar c19110 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 19110,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0521s3t\",\n \"nativeCurrency\": {\n \"name\": \"QI0521s3t Token\",\n \"symbol\": \"VTV\",\n \"decimals\": 18\n },\n \"networkId\": 19110,\n \"redFlags\": [],\n \"rpc\": [\"https://19110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0521s3t\",\n \"slug\": \"qi0521s3t\",\n \"testnet\": true\n};\n\nvar c19112 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 19112,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0304s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0304s1 Testnet Token\",\n \"symbol\": \"LKG\",\n \"decimals\": 18\n },\n \"networkId\": 19112,\n \"redFlags\": [],\n \"rpc\": [\"https://19112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0304s1 Testnet\",\n \"slug\": \"qi0304s1-testnet\",\n \"testnet\": true\n};\n\nvar c19224 = {\n \"chain\": \"DCSM\",\n \"chainId\": 19224,\n \"explorers\": [{\n \"name\": \"Decentraconnect Social\",\n \"url\": \"https://decentraconnect.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmatvJXLgMthjXwydGBVFRtga9fZXJ3qFEVJ6cMRxniFUc\",\n \"width\": 307,\n \"height\": 314,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.decentraconnect.io\",\n \"name\": \"Decentraconnect Social\",\n \"nativeCurrency\": {\n \"name\": \"Decentraconnect Social\",\n \"symbol\": \"DCSM\",\n \"decimals\": 18\n },\n \"networkId\": 19224,\n \"rpc\": [\"https://19224.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.decentraconnect.io\"],\n \"shortName\": \"DCSMs\",\n \"slug\": \"decentraconnect-social\",\n \"testnet\": false\n};\n\nvar c19527 = {\n \"chain\": \"Magnet\",\n \"chainId\": 19527,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://magnet.magport.io/\",\n \"name\": \"Magnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Magnet Network\",\n \"symbol\": \"DOT\",\n \"decimals\": 18\n },\n \"networkId\": 19527,\n \"rpc\": [\"https://19527.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://magnet-rpc.magport.io/\"],\n \"shortName\": \"mgt\",\n \"slug\": \"magnet-network\",\n \"testnet\": false\n};\n\nvar c19600 = {\n \"chain\": \"LBRY\",\n \"chainId\": 19600,\n \"explorers\": [{\n \"name\": \"LBRY Block Explorer\",\n \"url\": \"https://explorer.lbry.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmUoSiFWaPTbVY6ZfJswzrM9jKuhfhXWwstRo49cVCWr8x\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUoSiFWaPTbVY6ZfJswzrM9jKuhfhXWwstRo49cVCWr8x\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://lbry.com\",\n \"name\": \"LBRY Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LBRY Credits\",\n \"symbol\": \"LBC\",\n \"decimals\": 8\n },\n \"networkId\": 19600,\n \"rpc\": [\"https://19600.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://lbry.nl/rpc\"],\n \"shortName\": \"LBRY\",\n \"slip44\": 140,\n \"slug\": \"lbry\",\n \"testnet\": false\n};\n\nvar c19683 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 19683,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ST 12-07 V1\",\n \"nativeCurrency\": {\n \"name\": \"ST 12-07 V1 Token\",\n \"symbol\": \"XRL\",\n \"decimals\": 18\n },\n \"networkId\": 19683,\n \"redFlags\": [],\n \"rpc\": [\"https://19683.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/d26b972e-1832-4d3a-bf7b-d0ce1f4331c2\"],\n \"shortName\": \"ST 12-07 V1\",\n \"slug\": \"st-12-07-v1\",\n \"testnet\": true\n};\n\nvar c19845 = {\n \"chain\": \"BTCIX\",\n \"chainId\": 19845,\n \"explorers\": [{\n \"name\": \"BTCIXScan\",\n \"url\": \"https://btcixscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bitcolojix.org\",\n \"name\": \"BTCIX Network\",\n \"nativeCurrency\": {\n \"name\": \"BTCIX Network\",\n \"symbol\": \"BTCIX\",\n \"decimals\": 18\n },\n \"networkId\": 19845,\n \"rpc\": [\"https://19845.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://seed.btcix.org/rpc\"],\n \"shortName\": \"btcix\",\n \"slug\": \"btcix-network\",\n \"testnet\": false\n};\n\nvar c20001 = {\n \"chain\": \"ETHW\",\n \"chainId\": 20001,\n \"explorers\": [{\n \"name\": \"CamelarkScan\",\n \"url\": \"https://scan.camelark.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeJerrsURFNt2LL7DE7TxeunjrQXiuezdfHyqmsbwX3MZ\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.camelark.com\",\n \"name\": \"Camelark Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EthereumPoW\",\n \"symbol\": \"ETHW\",\n \"decimals\": 18\n },\n \"networkId\": 20001,\n \"rpc\": [\"https://20001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-http-rpc.camelark.com\"],\n \"shortName\": \"Camelark\",\n \"slug\": \"camelark\",\n \"testnet\": false\n};\n\nvar c20041 = {\n \"chain\": \"NIZA\",\n \"chainId\": 20041,\n \"explorers\": [{\n \"name\": \"NizaScan\",\n \"url\": \"https://nizascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPh2FdjoPWBaCKNrknv6HjruxdUCr8AvJYvhpgHZP6e2C\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://niza.io\",\n \"name\": \"Niza Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Niza Global\",\n \"symbol\": \"NIZA\",\n \"decimals\": 18\n },\n \"networkId\": 20041,\n \"rpc\": [\"https://20041.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nizascan.io/rpc\"],\n \"shortName\": \"niza\",\n \"slug\": \"niza-chain\",\n \"testnet\": false\n};\n\nvar c20073 = {\n \"chain\": \"NIZA\",\n \"chainId\": 20073,\n \"explorers\": [{\n \"name\": \"NizaScan\",\n \"url\": \"https://testnet.nizascan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPh2FdjoPWBaCKNrknv6HjruxdUCr8AvJYvhpgHZP6e2C\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://niza.io\",\n \"name\": \"Niza Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Niza Global\",\n \"symbol\": \"NIZA\",\n \"decimals\": 18\n },\n \"networkId\": 20073,\n \"rpc\": [\"https://20073.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.nizascan.io/rpc\"],\n \"shortName\": \"niza_testnet\",\n \"slug\": \"niza-chain-testnet\",\n \"testnet\": true\n};\n\nvar c20139 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 20139,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0129I1\",\n \"nativeCurrency\": {\n \"name\": \"QR0129I1 Token\",\n \"symbol\": \"YOD\",\n \"decimals\": 18\n },\n \"networkId\": 20139,\n \"redFlags\": [],\n \"rpc\": [\"https://20139.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0129i1/testnet/rpc\"],\n \"shortName\": \"QR0129I1\",\n \"slug\": \"qr0129i1\",\n \"testnet\": true\n};\n\nvar c20141 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 20141,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Shelby's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Shelby's Testnet Token\",\n \"symbol\": \"FUC\",\n \"decimals\": 18\n },\n \"networkId\": 20141,\n \"redFlags\": [],\n \"rpc\": [\"https://20141.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c6fcfa18-e711-4f91-b8d4-ad59cfd30316\"],\n \"shortName\": \"Shelby's Testnet\",\n \"slug\": \"shelby-s-testnet\",\n \"testnet\": true\n};\n\nvar c20519 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 20519,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4113 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4113 Testnet Token\",\n \"symbol\": \"FYP\",\n \"decimals\": 18\n },\n \"networkId\": 20519,\n \"redFlags\": [],\n \"rpc\": [\"https://20519.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4113 Testnet\",\n \"slug\": \"qauser4113-testnet\",\n \"testnet\": true\n};\n\nvar c20729 = {\n \"chain\": \"CLO\",\n \"chainId\": 20729,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.callisto.network/\"],\n \"infoURL\": \"https://callisto.network\",\n \"name\": \"Callisto Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Callisto\",\n \"symbol\": \"CLO\",\n \"decimals\": 18\n },\n \"networkId\": 79,\n \"rpc\": [\"https://20729.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.callisto.network/\"],\n \"shortName\": \"CLOTestnet\",\n \"slip44\": 1,\n \"slug\": \"callisto-testnet\",\n \"testnet\": true\n};\n\nvar c20736 = {\n \"chain\": \"P12\",\n \"chainId\": 20736,\n \"explorers\": [{\n \"name\": \"P12 Chain Explorer\",\n \"url\": \"https://explorer.p12.games\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreieiro4imoujeewc4r4thf5hxj47l56j2iwuz6d6pdj6ieb6ub3h7e\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://p12.network\",\n \"name\": \"P12 Chain\",\n \"nativeCurrency\": {\n \"name\": \"Hooked P2\",\n \"symbol\": \"hP2\",\n \"decimals\": 18\n },\n \"networkId\": 20736,\n \"rpc\": [\"https://20736.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-chain.p12.games\"],\n \"shortName\": \"p12\",\n \"slug\": \"p12-chain\",\n \"testnet\": false\n};\n\nvar c20765 = {\n \"chain\": \"JONO11\",\n \"chainId\": 20765,\n \"explorers\": [{\n \"name\": \"JONO11 Explorer\",\n \"url\": \"https://subnets-test.avax.network/jono11\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreievzx4ke62dtc77o47x7vs7nn67ghzrwku6h5dxo3hwcsqfeblke4\",\n \"width\": 612,\n \"height\": 612,\n \"format\": \"png\"\n },\n \"name\": \"Jono11 Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Jono11 Token\",\n \"symbol\": \"JONO\",\n \"decimals\": 18\n },\n \"networkId\": 20765,\n \"rpc\": [\"https://20765.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jono11/testnet/rpc\"],\n \"shortName\": \"jono11\",\n \"slug\": \"jono11-subnet\",\n \"testnet\": true\n};\n\nvar c20948 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 20948,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"GoldFever\",\n \"nativeCurrency\": {\n \"name\": \"GoldFever Token\",\n \"symbol\": \"GFT\",\n \"decimals\": 18\n },\n \"networkId\": 20948,\n \"redFlags\": [],\n \"rpc\": [\"https://20948.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/goldfever/testnet/rpc\"],\n \"shortName\": \"GoldFever\",\n \"slug\": \"goldfever\",\n \"testnet\": true\n};\n\nvar c21004 = {\n \"chain\": \"C4EI\",\n \"chainId\": 21004,\n \"explorers\": [{\n \"name\": \"C4EI sirato\",\n \"url\": \"https://exp.c4ei.net\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmNPQBLEau3DsUYczt9QCLqZd9jK488GhF5y2SbtLRSrvB\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://play.google.com/store/apps/details?id=net.c4ei.fps2\"],\n \"infoURL\": \"https://c4ei.net\",\n \"name\": \"C4EI\",\n \"nativeCurrency\": {\n \"name\": \"C4EI\",\n \"symbol\": \"C4EI\",\n \"decimals\": 18\n },\n \"networkId\": 21004,\n \"rpc\": [\"https://21004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.c4ei.net\"],\n \"shortName\": \"c4ei\",\n \"slug\": \"c4ei\",\n \"testnet\": false\n};\n\nvar c21133 = {\n \"chain\": \"AAH\",\n \"chainId\": 21133,\n \"explorers\": [{\n \"name\": \"AAH Blockscout\",\n \"url\": \"https://exp.c4ex.net\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmY7HDEj3vnTZzCmenotr48nYyD13R2Fyd5t12R9ARu4wJ\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://t.me/c4eiAirdrop\"],\n \"infoURL\": \"https://c4ex.net\",\n \"name\": \"All About Healthy\",\n \"nativeCurrency\": {\n \"name\": \"AAH\",\n \"symbol\": \"AAH\",\n \"decimals\": 18\n },\n \"networkId\": 21133,\n \"rpc\": [\"https://21133.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.c4ex.net\"],\n \"shortName\": \"aah\",\n \"slug\": \"all-about-healthy\",\n \"testnet\": false\n};\n\nvar c21178 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 21178,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0430I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0430I2 Token\",\n \"symbol\": \"ETI\",\n \"decimals\": 18\n },\n \"networkId\": 21178,\n \"redFlags\": [],\n \"rpc\": [\"https://21178.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0430I2\",\n \"slug\": \"qi0430i2\",\n \"testnet\": true\n};\n\nvar c21223 = {\n \"chain\": \"DCpay\",\n \"chainId\": 21223,\n \"explorers\": [{\n \"name\": \"DCpay Mainnet Explorer\",\n \"url\": \"https://mainnet.dcpay.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmezBwVepoegoCqb86idzPgvPxtaSuXzMLBGiiYfyTGTkc\",\n \"width\": 458,\n \"height\": 468,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dcpay.io\",\n \"name\": \"DCpay Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DCP\",\n \"symbol\": \"DCP\",\n \"decimals\": 18\n },\n \"networkId\": 21223,\n \"rpc\": [\"https://21223.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dcpay.io\"],\n \"shortName\": \"DCPm\",\n \"slug\": \"dcpay\",\n \"testnet\": false\n};\n\nvar c21224 = {\n \"chain\": \"DCpay\",\n \"chainId\": 21224,\n \"explorers\": [{\n \"name\": \"DCpay Testnet Explorer\",\n \"url\": \"https://testnet.dcpay.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.dcpay.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmezBwVepoegoCqb86idzPgvPxtaSuXzMLBGiiYfyTGTkc\",\n \"width\": 458,\n \"height\": 468,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dcpay.io\",\n \"name\": \"DCpay Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DCP\",\n \"symbol\": \"DCP\",\n \"decimals\": 18\n },\n \"networkId\": 21224,\n \"rpc\": [\"https://21224.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.dcpay.io\"],\n \"shortName\": \"DCPt\",\n \"slug\": \"dcpay-testnet\",\n \"testnet\": true\n};\n\nvar c21337 = {\n \"chain\": \"CENNZnet\",\n \"chainId\": 21337,\n \"explorers\": [{\n \"name\": \"UNcover\",\n \"url\": \"https://uncoverexplorer.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWhNm7tTi6SYbiumULDRk956hxgqaZSX77vcxBNn8fvnw\",\n \"width\": 112,\n \"height\": 112,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cennz.net\",\n \"name\": \"CENNZnet Azalea\",\n \"nativeCurrency\": {\n \"name\": \"CPAY\",\n \"symbol\": \"CPAY\",\n \"decimals\": 18\n },\n \"networkId\": 21337,\n \"rpc\": [\"https://21337.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cennznet.unfrastructure.io/public\"],\n \"shortName\": \"cennz-a\",\n \"slug\": \"cennznet-azalea\",\n \"testnet\": false\n};\n\nvar c21758 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 21758,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"FST 01-16 Multi\",\n \"nativeCurrency\": {\n \"name\": \"FST 01-16 Multi Token\",\n \"symbol\": \"RUI\",\n \"decimals\": 18\n },\n \"networkId\": 21758,\n \"redFlags\": [],\n \"rpc\": [\"https://21758.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"FST 01-16 Multi\",\n \"slug\": \"fst-01-16-multi\",\n \"testnet\": true\n};\n\nvar c21816 = {\n \"chain\": \"OML\",\n \"chainId\": 21816,\n \"explorers\": [{\n \"name\": \"omChain Explorer\",\n \"url\": \"https://explorer.omchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQtEHaejiDbmiCvbBYw9jNQv3DLK5XHCQwLRfnLNpdN5j\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://omchain.io\",\n \"name\": \"omChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"omChain\",\n \"symbol\": \"OMC\",\n \"decimals\": 18\n },\n \"networkId\": 21816,\n \"rpc\": [\"https://21816.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://seed.omchain.io\"],\n \"shortName\": \"omc\",\n \"slug\": \"omchain\",\n \"testnet\": false\n};\n\nvar c21825 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 21825,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6991\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6991 Token\",\n \"symbol\": \"HIO\",\n \"decimals\": 18\n },\n \"networkId\": 21825,\n \"redFlags\": [],\n \"rpc\": [\"https://21825.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6991\",\n \"slug\": \"qauser6991\",\n \"testnet\": true\n};\n\nvar c21912 = {\n \"chain\": \"BSL\",\n \"chainId\": 21912,\n \"explorers\": [{\n \"name\": \"BSL Mainnet Explorer\",\n \"url\": \"https://scan.nftruth.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://bsquarelab.com/\",\n \"name\": \"BSL Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Origin NFT\",\n \"symbol\": \"ONF\",\n \"decimals\": 18\n },\n \"networkId\": 21912,\n \"rpc\": [\"https://21912.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://rpc-mainnet.nftruth.io:8545\", \"ws://rpc-mainnet.nftruth.io:8645\"],\n \"shortName\": \"onf\",\n \"slug\": \"bsl\",\n \"testnet\": false\n};\n\nvar c22023 = {\n \"chain\": \"Taycan\",\n \"chainId\": 22023,\n \"explorers\": [{\n \"name\": \"Taycan Explorer(Blockscout)\",\n \"url\": \"https://taycan-evmscan.hupayx.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidvjcc73v747lqlyrhgbnkvkdepdvepo6baj6hmjsmjtvdyhmzzmq\",\n \"width\": 1000,\n \"height\": 1206,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Taycan Cosmos Explorer(BigDipper)\",\n \"url\": \"https://taycan-cosmoscan.hupayx.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreidvjcc73v747lqlyrhgbnkvkdepdvepo6baj6hmjsmjtvdyhmzzmq\",\n \"width\": 1000,\n \"height\": 1206,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidvjcc73v747lqlyrhgbnkvkdepdvepo6baj6hmjsmjtvdyhmzzmq\",\n \"width\": 1000,\n \"height\": 1206,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hupayx.io\",\n \"name\": \"Taycan\",\n \"nativeCurrency\": {\n \"name\": \"shuffle\",\n \"symbol\": \"SFL\",\n \"decimals\": 18\n },\n \"networkId\": 22023,\n \"rpc\": [\"https://22023.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://taycan-rpc.hupayx.io:8545\"],\n \"shortName\": \"SFL\",\n \"slug\": \"taycan\",\n \"testnet\": false\n};\n\nvar c22039 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 22039,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1631\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1631 Token\",\n \"symbol\": \"UVA\",\n \"decimals\": 18\n },\n \"networkId\": 22039,\n \"redFlags\": [],\n \"rpc\": [\"https://22039.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1631\",\n \"slug\": \"qauser1631\",\n \"testnet\": true\n};\n\nvar c22040 = {\n \"chain\": \"ambnet-test\",\n \"chainId\": 22040,\n \"explorers\": [{\n \"name\": \"AirDAO Network Explorer\",\n \"url\": \"https://testnet.airdao.io/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.airdao.io\",\n \"name\": \"AirDAO Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Amber\",\n \"symbol\": \"AMB\",\n \"decimals\": 18\n },\n \"networkId\": 22040,\n \"rpc\": [\"https://22040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://network.ambrosus-test.io\"],\n \"shortName\": \"airdao-test\",\n \"slip44\": 1,\n \"slug\": \"airdao-testnet\",\n \"testnet\": true\n};\n\nvar c22222 = {\n \"chain\": \"ETH\",\n \"chainId\": 22222,\n \"explorers\": [{\n \"name\": \"Nautscan\",\n \"url\": \"https://nautscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNutSgM7n6aJPPDiofe9Dm1epy1RcYTMvugukLUK2vmPM\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNutSgM7n6aJPPDiofe9Dm1epy1RcYTMvugukLUK2vmPM\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.nautchain.xyz\",\n \"name\": \"Nautilus Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Zebec\",\n \"symbol\": \"ZBC\",\n \"decimals\": 18\n },\n \"networkId\": 22222,\n \"rpc\": [\"https://22222.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.nautilus.nautchain.xyz\"],\n \"shortName\": \"NAUTCHAIN\",\n \"slug\": \"nautilus\",\n \"testnet\": false\n};\n\nvar c22324 = {\n \"chain\": \"GoldXTestnet\",\n \"chainId\": 22324,\n \"explorers\": [{\n \"name\": \"GoldXChain Testnet Explorer\",\n \"url\": \"https://testnet-explorer.goldxchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.goldxchain.io\"],\n \"infoURL\": \"https://goldxchain.io\",\n \"name\": \"GoldXChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GoldX\",\n \"symbol\": \"GOLDX\",\n \"decimals\": 18\n },\n \"networkId\": 22324,\n \"rpc\": [\"https://22324.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.goldxchain.io\"],\n \"shortName\": \"goldx-testnet\",\n \"slug\": \"goldxchain-testnet\",\n \"testnet\": true\n};\n\nvar c22662 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 22662,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QA5-03-07 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QA5-03-07 Testnet Token\",\n \"symbol\": \"TYP\",\n \"decimals\": 18\n },\n \"networkId\": 22662,\n \"redFlags\": [],\n \"rpc\": [\"https://22662.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QA5-03-07 Testnet\",\n \"slug\": \"qa5-03-07-testnet\",\n \"testnet\": true\n};\n\nvar c22776 = {\n \"chain\": \"MAPO\",\n \"chainId\": 22776,\n \"explorers\": [{\n \"name\": \"maposcan\",\n \"url\": \"https://maposcan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcLdQ8gM4iHv3CCKA9HuxmzTxY4WhjWtepUVCc3dpzKxD\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mapprotocol.io/\",\n \"name\": \"MAP Protocol\",\n \"nativeCurrency\": {\n \"name\": \"MAPO\",\n \"symbol\": \"MAPO\",\n \"decimals\": 18\n },\n \"networkId\": 22776,\n \"rpc\": [\"https://22776.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.maplabs.io\"],\n \"shortName\": \"mapo\",\n \"slip44\": 60,\n \"slug\": \"map-protocol\",\n \"testnet\": false\n};\n\nvar c22886 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 22886,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's Testnet Token\",\n \"symbol\": \"MBM\",\n \"decimals\": 18\n },\n \"networkId\": 22886,\n \"redFlags\": [],\n \"rpc\": [\"https://22886.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's Testnet\",\n \"slug\": \"will-s-testnet-will's testnet\",\n \"testnet\": true\n};\n\nvar c22985 = {\n \"chain\": \"ETH\",\n \"chainId\": 22985,\n \"explorers\": [{\n \"name\": \"beyond-sepolia-3wng1zu3j3 explorer\",\n \"url\": \"https://explorerl2new-beyond-sepolia-3wng1zu3j3.t.conduit.xyz\",\n \"standard\": \"standard\",\n \"icon\": {\n \"url\": \"ipfs://QmbLxRVZ27Yy6RE9xAdYgSxGPB1TjPtcxahy6uNnp2Pt6T/Beyond.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbLxRVZ27Yy6RE9xAdYgSxGPB1TjPtcxahy6uNnp2Pt6T/Beyond.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://explorerl2new-beyond-sepolia-3wng1zu3j3.t.conduit.xyz\",\n \"name\": \"Beyond Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 22985,\n \"redFlags\": [],\n \"rpc\": [\"https://22985.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-beyond-sepolia-3wng1zu3j3.t.conduit.xyz\"],\n \"shortName\": \"beyond-sepolia\",\n \"slug\": \"beyond-sepolia\",\n \"testnet\": true\n};\n\nvar c23006 = {\n \"chain\": \"ABN\",\n \"chainId\": 23006,\n \"explorers\": [{\n \"name\": \"Antofy Testnet\",\n \"url\": \"https://test.antofyscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.antofy.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmdTfku81ohnG9ECU1Xswmeumt678cBhwHWuFYZ7i1Qsto\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://antofy.io\",\n \"name\": \"Antofy Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Antofy\",\n \"symbol\": \"ABN\",\n \"decimals\": 18\n },\n \"networkId\": 23006,\n \"rpc\": [\"https://23006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.antofy.io\"],\n \"shortName\": \"ABNt\",\n \"slip44\": 1,\n \"slug\": \"antofy-testnet\",\n \"testnet\": true\n};\n\nvar c23118 = {\n \"chain\": \"Opside\",\n \"chainId\": 23118,\n \"explorers\": [{\n \"name\": \"opsideInfo\",\n \"url\": \"https://opside.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.opside.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmeCyZeibUoHNoYGzy1GkzH2uhxyRHKvH51PdaUMer4VTo\",\n \"width\": 591,\n \"height\": 591,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://opside.network\",\n \"name\": \"Opside Testnet\",\n \"nativeCurrency\": {\n \"name\": \"IDE\",\n \"symbol\": \"IDE\",\n \"decimals\": 18\n },\n \"networkId\": 23118,\n \"rpc\": [\"https://23118.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testrpc.opside.network\"],\n \"shortName\": \"opside\",\n \"slip44\": 1,\n \"slug\": \"opside-testnet\",\n \"testnet\": true\n};\n\nvar c23294 = {\n \"chain\": \"Sapphire\",\n \"chainId\": 23294,\n \"explorers\": [{\n \"name\": \"Oasis Sapphire Explorer\",\n \"url\": \"https://explorer.oasis.io/mainnet/sapphire\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiespupb52akiwrexxg7g72mh7m7h7lum5hmqijmpdh3kmuunzclha\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.oasis.io/dapp/sapphire\",\n \"name\": \"Oasis Sapphire\",\n \"nativeCurrency\": {\n \"name\": \"Sapphire Rose\",\n \"symbol\": \"ROSE\",\n \"decimals\": 18\n },\n \"networkId\": 23294,\n \"rpc\": [\"https://23294.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sapphire.oasis.io\", \"wss://sapphire.oasis.io/ws\"],\n \"shortName\": \"sapphire\",\n \"slug\": \"oasis-sapphire\",\n \"testnet\": false\n};\n\nvar c23295 = {\n \"chain\": \"Sapphire\",\n \"chainId\": 23295,\n \"explorers\": [{\n \"name\": \"Oasis Sapphire Testnet Explorer\",\n \"url\": \"https://explorer.oasis.io/testnet/sapphire\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiespupb52akiwrexxg7g72mh7m7h7lum5hmqijmpdh3kmuunzclha\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.oasis.io/dapp/sapphire\",\n \"name\": \"Oasis Sapphire Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sapphire Test Rose\",\n \"symbol\": \"TEST\",\n \"decimals\": 18\n },\n \"networkId\": 23295,\n \"rpc\": [\"https://23295.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.sapphire.oasis.io\", \"wss://testnet.sapphire.oasis.io/ws\"],\n \"shortName\": \"sapphire-testnet\",\n \"slip44\": 1,\n \"slug\": \"oasis-sapphire-testnet\",\n \"testnet\": true\n};\n\nvar c23444 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 23444,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402272\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402272 Token\",\n \"symbol\": \"OVU\",\n \"decimals\": 18\n },\n \"networkId\": 23444,\n \"redFlags\": [],\n \"rpc\": [\"https://23444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 2402272\",\n \"slug\": \"qi-m-2402272\",\n \"testnet\": true\n};\n\nvar c23451 = {\n \"chain\": \"DreyerX\",\n \"chainId\": 23451,\n \"explorers\": [{\n \"name\": \"drxscan\",\n \"url\": \"https://scan.dreyerx.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTGjVbiSdHYhjzpeqzY6fGwGiLQuEa2hW7irD75sUSx9e\",\n \"width\": 4501,\n \"height\": 4501,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTGjVbiSdHYhjzpeqzY6fGwGiLQuEa2hW7irD75sUSx9e\",\n \"width\": 4501,\n \"height\": 4501,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dreyerx.com\",\n \"name\": \"DreyerX Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DreyerX\",\n \"symbol\": \"DRX\",\n \"decimals\": 18\n },\n \"networkId\": 23451,\n \"rpc\": [\"https://23451.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dreyerx.com\"],\n \"shortName\": \"dreyerx\",\n \"slug\": \"dreyerx\",\n \"testnet\": false\n};\n\nvar c23452 = {\n \"chain\": \"DreyerX\",\n \"chainId\": 23452,\n \"explorers\": [{\n \"name\": \"drxscan\",\n \"url\": \"https://testnet-scan.dreyerx.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTGjVbiSdHYhjzpeqzY6fGwGiLQuEa2hW7irD75sUSx9e\",\n \"width\": 4501,\n \"height\": 4501,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTGjVbiSdHYhjzpeqzY6fGwGiLQuEa2hW7irD75sUSx9e\",\n \"width\": 4501,\n \"height\": 4501,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dreyerx.com\",\n \"name\": \"DreyerX Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DreyerX\",\n \"symbol\": \"DRX\",\n \"decimals\": 18\n },\n \"networkId\": 23452,\n \"rpc\": [\"https://23452.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.dreyerx.com\"],\n \"shortName\": \"dreyerx-testnet\",\n \"slug\": \"dreyerx-testnet\",\n \"testnet\": true\n};\n\nvar c23812 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 23812,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"kjCohan Testnet\",\n \"nativeCurrency\": {\n \"name\": \"kjCohan Testnet Token\",\n \"symbol\": \"DBM\",\n \"decimals\": 18\n },\n \"networkId\": 23812,\n \"redFlags\": [],\n \"rpc\": [\"https://23812.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/d2b6bd35-89f7-4019-bc88-643c31221e5c\"],\n \"shortName\": \"kjCohan Testnet\",\n \"slug\": \"kjcohan-testnet\",\n \"testnet\": true\n};\n\nvar c23888 = {\n \"chain\": \"ETH\",\n \"chainId\": 23888,\n \"explorers\": [{\n \"name\": \"Blast Testnet\",\n \"url\": \"http://testnet-explorer.blastblockchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdHpjiepU2Q4bt4kR48tKHPgaQW57Sb6UVFgLh4MCyg6U\",\n \"width\": 595,\n \"height\": 582,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.blastblockchain.com\",\n \"name\": \"Blast Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 23888,\n \"rpc\": [\"https://23888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet-rpc.blastblockchain.com\"],\n \"shortName\": \"blastT\",\n \"slug\": \"blast-testnet\",\n \"testnet\": true\n};\n\nvar c23934 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 23934,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ST 11-16 v7 Regression\",\n \"nativeCurrency\": {\n \"name\": \"ST 11-16 v7 Regression Token\",\n \"symbol\": \"WLA\",\n \"decimals\": 18\n },\n \"networkId\": 23934,\n \"redFlags\": [],\n \"rpc\": [\"https://23934.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"ST 11-16 v7 Regression\",\n \"slug\": \"st-11-16-v7-regression\",\n \"testnet\": true\n};\n\nvar c24010 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24010,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Stealthnet Testing \",\n \"nativeCurrency\": {\n \"name\": \"Stealthnet Testing Token\",\n \"symbol\": \"AVCLDDEV\",\n \"decimals\": 18\n },\n \"networkId\": 24010,\n \"redFlags\": [],\n \"rpc\": [\"https://24010.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/stealthnet/testnet/rpc\"],\n \"shortName\": \"Stealthnet Testing \",\n \"slug\": \"stealthnet-testing\",\n \"testnet\": true\n};\n\nvar c24070 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24070,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0315I2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0315I2 Testnet Token\",\n \"symbol\": \"GAW\",\n \"decimals\": 18\n },\n \"networkId\": 24070,\n \"redFlags\": [],\n \"rpc\": [\"https://24070.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0315I2 Testnet\",\n \"slug\": \"qi0315i2-testnet\",\n \"testnet\": true\n};\n\nvar c24347 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24347,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Tnet 02-27\",\n \"nativeCurrency\": {\n \"name\": \"Tnet 02-27 Token\",\n \"symbol\": \"TJO\",\n \"decimals\": 18\n },\n \"networkId\": 24347,\n \"redFlags\": [],\n \"rpc\": [\"https://24347.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Tnet 02-27\",\n \"slug\": \"tnet-02-27\",\n \"testnet\": true\n};\n\nvar c24484 = {\n \"chain\": \"WEB\",\n \"chainId\": 24484,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://webchain.network\",\n \"name\": \"Webchain\",\n \"nativeCurrency\": {\n \"name\": \"Webchain Ether\",\n \"symbol\": \"WEB\",\n \"decimals\": 18\n },\n \"networkId\": 37129,\n \"rpc\": [],\n \"shortName\": \"web\",\n \"slip44\": 227,\n \"slug\": \"webchain\",\n \"testnet\": false\n};\n\nvar c24538 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24538,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402133\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402133 Token\",\n \"symbol\": \"XVL\",\n \"decimals\": 18\n },\n \"networkId\": 24538,\n \"redFlags\": [],\n \"rpc\": [\"https://24538.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 2402133\",\n \"slug\": \"qi-m-2402133\",\n \"testnet\": true\n};\n\nvar c24545 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24545,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9167 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9167 Testnet Token\",\n \"symbol\": \"HBG\",\n \"decimals\": 18\n },\n \"networkId\": 24545,\n \"redFlags\": [],\n \"rpc\": [\"https://24545.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9167 Testnet\",\n \"slug\": \"qauser9167-testnet\",\n \"testnet\": true\n};\n\nvar c24668 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24668,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4994 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4994 Testnet Token\",\n \"symbol\": \"PBE\",\n \"decimals\": 18\n },\n \"networkId\": 24668,\n \"redFlags\": [],\n \"rpc\": [\"https://24668.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4994 Testnet\",\n \"slug\": \"qauser4994-testnet\",\n \"testnet\": true\n};\n\nvar c24734 = {\n \"chain\": \"MINTME\",\n \"chainId\": 24734,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.mintme.com\",\n \"name\": \"MintMe.com Coin\",\n \"nativeCurrency\": {\n \"name\": \"MintMe.com Coin\",\n \"symbol\": \"MINTME\",\n \"decimals\": 18\n },\n \"networkId\": 37480,\n \"rpc\": [\"https://24734.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.mintme.com\"],\n \"shortName\": \"mintme\",\n \"slug\": \"mintme-com-coin\",\n \"testnet\": false\n};\n\nvar c24867 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 24867,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser45 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser45 Testnet Token\",\n \"symbol\": \"ZAG\",\n \"decimals\": 18\n },\n \"networkId\": 24867,\n \"redFlags\": [],\n \"rpc\": [\"https://24867.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser45 Testnet\",\n \"slug\": \"qauser45-testnet\",\n \"testnet\": true\n};\n\nvar c25186 = {\n \"chain\": \"LiquidLayer\",\n \"chainId\": 25186,\n \"explorers\": [{\n \"name\": \"LiquidLayer Mainnet Explorer\",\n \"url\": \"https://scan.liquidlayer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiayuuzfpcgwjll4us4hquvpqa5gwq3lbiedv4qftmlwcxhcyjzzpq\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://scan.liquidlayer.network\",\n \"name\": \"LiquidLayer Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LiquidLayer\",\n \"symbol\": \"LILA\",\n \"decimals\": 18\n },\n \"networkId\": 25186,\n \"rpc\": [\"https://25186.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.liquidlayer.network\"],\n \"shortName\": \"LILA\",\n \"slug\": \"liquidlayer\",\n \"testnet\": false\n};\n\nvar c25284 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 25284,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405021\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405021 Token\",\n \"symbol\": \"UZP\",\n \"decimals\": 18\n },\n \"networkId\": 25284,\n \"redFlags\": [],\n \"rpc\": [\"https://25284.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405021\",\n \"slug\": \"qim2405021\",\n \"testnet\": true\n};\n\nvar c25688 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 25688,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0520T1TD\",\n \"nativeCurrency\": {\n \"name\": \"QR0520T1TD Token\",\n \"symbol\": \"DYH\",\n \"decimals\": 18\n },\n \"networkId\": 25688,\n \"redFlags\": [],\n \"rpc\": [\"https://25688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0520t1td/testnet/rpc\"],\n \"shortName\": \"QR0520T1TD\",\n \"slug\": \"qr0520t1td\",\n \"testnet\": true\n};\n\nvar c25839 = {\n \"chain\": \"tALV\",\n \"chainId\": 25839,\n \"explorers\": [{\n \"name\": \"AlveyScan Testnet\",\n \"url\": \"https://alveytestnet.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTuY2Goyxpuy5GmA32EMYZBwxRcGsahiMFgfeBixSk7rb\",\n \"width\": 2048,\n \"height\": 1538,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.alveytestnet.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmTuY2Goyxpuy5GmA32EMYZBwxRcGsahiMFgfeBixSk7rb\",\n \"width\": 2048,\n \"height\": 1538,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://alveychain.com/\",\n \"name\": \"AlveyChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"AlveyCoin Testnet\",\n \"symbol\": \"tALV\",\n \"decimals\": 18\n },\n \"networkId\": 25839,\n \"rpc\": [\"https://25839.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.alvey.io\"],\n \"shortName\": \"talv\",\n \"slug\": \"alveychain-testnet\",\n \"testnet\": true\n};\n\nvar c25888 = {\n \"chain\": \"HammerChain\",\n \"chainId\": 25888,\n \"explorers\": [{\n \"name\": \"Hammer Chain Explorer\",\n \"url\": \"https://www.hammerchain.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.hammerchain.io\",\n \"name\": \"Hammer Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GOLDT\",\n \"symbol\": \"GOLDT\",\n \"decimals\": 18\n },\n \"networkId\": 25888,\n \"rpc\": [\"https://25888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://www.hammerchain.io/rpc\"],\n \"shortName\": \"GOLDT\",\n \"slug\": \"hammer-chain\",\n \"testnet\": false\n};\n\nvar c25925 = {\n \"chain\": \"BKC\",\n \"chainId\": 25925,\n \"explorers\": [{\n \"name\": \"bkcscan-testnet\",\n \"url\": \"https://testnet.bkcscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYFYwyquipwc9gURQGcEd4iAq7pq15chQrJ3zJJe9HuFT\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.bitkubchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmYFYwyquipwc9gURQGcEd4iAq7pq15chQrJ3zJJe9HuFT\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bitkubchain.com/\",\n \"name\": \"Bitkub Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitkub Coin\",\n \"symbol\": \"tKUB\",\n \"decimals\": 18\n },\n \"networkId\": 25925,\n \"rpc\": [\"https://25925.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.bitkubchain.io\", \"wss://wss-testnet.bitkubchain.io\"],\n \"shortName\": \"bkct\",\n \"slip44\": 1,\n \"slug\": \"bitkub-chain-testnet\",\n \"testnet\": true\n};\n\nvar c25968 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 25968,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5275\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5275 Token\",\n \"symbol\": \"EZL\",\n \"decimals\": 18\n },\n \"networkId\": 25968,\n \"redFlags\": [],\n \"rpc\": [\"https://25968.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5275\",\n \"slug\": \"qauser5275\",\n \"testnet\": true\n};\n\nvar c26026 = {\n \"chain\": \"tFRM\",\n \"chainId\": 26026,\n \"explorers\": [{\n \"name\": \"polkadotjs\",\n \"url\": \"https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.dev.svcs.ferrumnetwork.io#/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://testnet.faucet.ferrumnetwork.io\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://ferrum.network\",\n \"name\": \"Ferrum Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ferrum\",\n \"symbol\": \"tFRM\",\n \"decimals\": 18\n },\n \"networkId\": 26026,\n \"rpc\": [\"https://26026.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet.dev.svcs.ferrumnetwork.io:9933\"],\n \"shortName\": \"frm\",\n \"slip44\": 1,\n \"slug\": \"ferrum-testnet\",\n \"testnet\": true\n};\n\nvar c26031 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 26031,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7894 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7894 Testnet Token\",\n \"symbol\": \"YUT\",\n \"decimals\": 18\n },\n \"networkId\": 26031,\n \"redFlags\": [],\n \"rpc\": [\"https://26031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7894 Testnet\",\n \"slug\": \"qauser7894-testnet\",\n \"testnet\": true\n};\n\nvar c26563 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 26563,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2404261\",\n \"nativeCurrency\": {\n \"name\": \"QIM2404261 Token\",\n \"symbol\": \"YCW\",\n \"decimals\": 18\n },\n \"networkId\": 26563,\n \"redFlags\": [],\n \"rpc\": [\"https://26563.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2404261\",\n \"slug\": \"qim2404261\",\n \"testnet\": true\n};\n\nvar c26600 = {\n \"chain\": \"HTZ\",\n \"chainId\": 26600,\n \"explorers\": [{\n \"name\": \"Hertz Scan\",\n \"url\": \"https://hertzscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmf3GYbPXmTDpSP6t7Ug2j5HjEwrY5oGhBDP7d4TQHvGnG\",\n \"width\": 162,\n \"height\": 129,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmf3GYbPXmTDpSP6t7Ug2j5HjEwrY5oGhBDP7d4TQHvGnG\",\n \"width\": 162,\n \"height\": 129,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.hertz-network.com\",\n \"name\": \"Hertz Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Hertz\",\n \"symbol\": \"HTZ\",\n \"decimals\": 18\n },\n \"networkId\": 26600,\n \"rpc\": [\"https://26600.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.hertzscan.com\"],\n \"shortName\": \"HTZ\",\n \"slug\": \"hertz-network\",\n \"testnet\": false\n};\n\nvar c26730 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 26730,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet-AJJ\",\n \"nativeCurrency\": {\n \"name\": \"Testnet-AJJ Token\",\n \"symbol\": \"AJJ\",\n \"decimals\": 18\n },\n \"networkId\": 26730,\n \"redFlags\": [],\n \"rpc\": [\"https://26730.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Testnet-AJJ\",\n \"slug\": \"testnet-ajj\",\n \"testnet\": true\n};\n\nvar c26863 = {\n \"chain\": \"OasisChain\",\n \"chainId\": 26863,\n \"explorers\": [{\n \"name\": \"OasisChain Explorer\",\n \"url\": \"https://scan.oasischain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://faucet.oasischain.io\"],\n \"infoURL\": \"https://scan.oasischain.io\",\n \"name\": \"OasisChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAC\",\n \"symbol\": \"OAC\",\n \"decimals\": 18\n },\n \"networkId\": 26863,\n \"rpc\": [\"https://26863.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.oasischain.io\", \"https://rpc2.oasischain.io\", \"https://rpc3.oasischain.io\"],\n \"shortName\": \"OAC\",\n \"slug\": \"oasischain\",\n \"testnet\": false\n};\n\nvar c27181 = {\n \"chain\": \"KLAOS Nova\",\n \"chainId\": 27181,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.klaosnova.laosfoundation.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW26eoxJeyUfikZ4DUT1Gfk78sBkvydEo8QzHa1BXjUUL\",\n \"width\": 580,\n \"height\": 580,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW26eoxJeyUfikZ4DUT1Gfk78sBkvydEo8QzHa1BXjUUL\",\n \"width\": 580,\n \"height\": 580,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.laosfoundation.io/\",\n \"name\": \"KLAOS Nova\",\n \"nativeCurrency\": {\n \"name\": \"KLAOS\",\n \"symbol\": \"KLAOS\",\n \"decimals\": 18\n },\n \"networkId\": 27181,\n \"rpc\": [\"https://27181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.klaosnova.laosfoundation.io\", \"wss://rpc.klaosnova.laosfoundation.io\"],\n \"shortName\": \"klaosnova\",\n \"slug\": \"klaos-nova\",\n \"testnet\": true,\n \"title\": \"KLAOS Nova Test Chain\"\n};\n\nvar c27483 = {\n \"chain\": \"ETH\",\n \"chainId\": 27483,\n \"explorers\": [{\n \"name\": \"Nanon Sepolia Rollup Testnet Explorer\",\n \"url\": \"https://sepolia-explorer.nanon.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeiduib2fygrwziqpy4yuqr6vvnd6elhahpigbcowcipjjhk6c3qiny\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nanon.network\",\n \"name\": \"Nanon Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 27483,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://sepolia-bridge.nanon.network\"\n }]\n },\n \"rpc\": [\"https://27483.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-rpc.nanon.network\"],\n \"shortName\": \"Nanon-Testnet\",\n \"slip44\": 1,\n \"slug\": \"nanon-sepolia\",\n \"testnet\": true,\n \"title\": \"Nanon Sepolia Rollup Testnet\"\n};\n\nvar c27550 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 27550,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405065 NO INTEROP NO SIM\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405065 NO INTEROP NO SIM Token\",\n \"symbol\": \"BLY\",\n \"decimals\": 18\n },\n \"networkId\": 27550,\n \"redFlags\": [],\n \"rpc\": [\"https://27550.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qim2405065/testnet/rpc\"],\n \"shortName\": \"QIM2405065 NO INTEROP NO SIM\",\n \"slug\": \"qim2405065-no-interop-no-sim\",\n \"testnet\": true\n};\n\nvar c27827 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 27827,\n \"explorers\": [{\n \"name\": \"ZEROONEMAI Explorer\",\n \"url\": \"https://subnets.avax.network/zeroonemai\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"zeroone Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"zeroone Mainnet Token\",\n \"symbol\": \"ZERO\",\n \"decimals\": 18\n },\n \"networkId\": 27827,\n \"redFlags\": [],\n \"rpc\": [\"https://27827.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/zeroonemai/mainnet/rpc\"],\n \"shortName\": \"zeroone Mainnet\",\n \"slug\": \"zeroone\",\n \"testnet\": false\n};\n\nvar c28106 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 28106,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Mezzanine Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Mezzanine Testnet Token\",\n \"symbol\": \"OWQ\",\n \"decimals\": 18\n },\n \"networkId\": 28106,\n \"redFlags\": [],\n \"rpc\": [\"https://28106.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/mezzaninet/testnet/rpc\"],\n \"shortName\": \"Mezzanine Testnet\",\n \"slug\": \"mezzanine-testnet\",\n \"testnet\": true\n};\n\nvar c28408 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 28408,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405062 NO INTEROP\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405062 NO INTEROP Token\",\n \"symbol\": \"BLY\",\n \"decimals\": 18\n },\n \"networkId\": 28408,\n \"redFlags\": [],\n \"rpc\": [\"https://28408.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405062 NO INTEROP\",\n \"slug\": \"qim2405062-no-interop\",\n \"testnet\": true\n};\n\nvar c28516 = {\n \"chain\": \"Vizing Testnet\",\n \"chainId\": 28516,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer-sepolia.vizing.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPgpWfGsAZ5UHekWFR8rioadVe3Wox8idFyeVxuv9N4Vo\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPgpWfGsAZ5UHekWFR8rioadVe3Wox8idFyeVxuv9N4Vo\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://vizing.com\",\n \"name\": \"Vizing Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28516,\n \"rpc\": [\"https://28516.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-sepolia.vizing.com\"],\n \"shortName\": \"Vizing-Testnet\",\n \"slug\": \"vizing-testnet\",\n \"testnet\": true,\n \"title\": \"Vizing Testnet\"\n};\n\nvar c28518 = {\n \"chain\": \"Vizing Mainnet\",\n \"chainId\": 28518,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.vizing.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmPgpWfGsAZ5UHekWFR8rioadVe3Wox8idFyeVxuv9N4Vo\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPgpWfGsAZ5UHekWFR8rioadVe3Wox8idFyeVxuv9N4Vo\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://vizing.com\",\n \"name\": \"Vizing Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28518,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.vizing.com\"\n }]\n },\n \"rpc\": [\"https://28518.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.vizing.com\"],\n \"shortName\": \"Vizing\",\n \"slug\": \"vizing\",\n \"testnet\": false,\n \"title\": \"Vizing Mainnet\"\n};\n\nvar c28528 = {\n \"chain\": \"ETH\",\n \"chainId\": 28528,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscout.com/optimism/bedrock-alpha\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://community.optimism.io/docs/developers/bedrock\",\n \"name\": \"Optimism Bedrock (Goerli Alpha Testnet)\",\n \"nativeCurrency\": {\n \"name\": \"Goerli Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28528,\n \"redFlags\": [],\n \"rpc\": [\"https://28528.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://alpha-1-replica-0.bedrock-goerli.optimism.io\", \"https://alpha-1-replica-1.bedrock-goerli.optimism.io\", \"https://alpha-1-replica-2.bedrock-goerli.optimism.io\"],\n \"shortName\": \"obgor\",\n \"slip44\": 1,\n \"slug\": \"optimism-bedrock-goerli-alpha-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c28882 = {\n \"chain\": \"ETH\",\n \"chainId\": 28882,\n \"explorers\": [{\n \"name\": \"Bobascan\",\n \"url\": \"https://testnet.bobascan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://www.l2faucet.com/boba\"],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28882,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://gateway.boba.network\"\n }]\n },\n \"rpc\": [\"https://28882.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.boba.network\", \"https://boba-sepolia.gateway.tenderly.co\", \"https://gateway.tenderly.co/public/boba-sepolia\", \"wss://boba-sepolia.gateway.tenderly.co/\", \"wss://gateway.tenderly.co/public/boba-sepolia\"],\n \"shortName\": \"BobaSepolia\",\n \"slug\": \"boba-sepolia\",\n \"testnet\": true\n};\n\nvar c28982 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 28982,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Token\",\n \"symbol\": \"RUI\",\n \"decimals\": 18\n },\n \"networkId\": 28982,\n \"redFlags\": [],\n \"rpc\": [\"https://28982.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Testnet\",\n \"slug\": \"testnet-testnet\",\n \"testnet\": true\n};\n\nvar c29112 = {\n \"chain\": \"ETH\",\n \"chainId\": 29112,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.explorer.hychain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmcSJmAfk3iay6uCGJxgUPd9pTsRxbtF4BrNnC5txE9cg8\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcSJmAfk3iay6uCGJxgUPd9pTsRxbtF4BrNnC5txE9cg8\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://www.hychain.com\",\n \"name\": \"HYCHAIN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TOPIA\",\n \"symbol\": \"TOPIA\",\n \"decimals\": 18\n },\n \"networkId\": 29112,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-58008\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://29112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.hychain.com/http\"],\n \"shortName\": \"hychain-testnet\",\n \"slug\": \"hychain-testnet\",\n \"testnet\": true\n};\n\nvar c29386 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 29386,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4106 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4106 Testnet Token\",\n \"symbol\": \"BBS\",\n \"decimals\": 18\n },\n \"networkId\": 29386,\n \"redFlags\": [],\n \"rpc\": [\"https://29386.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4106 Testnet\",\n \"slug\": \"qauser4106-testnet\",\n \"testnet\": true\n};\n\nvar c29442 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 29442,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402055\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402055 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 29442,\n \"redFlags\": [],\n \"rpc\": [\"https://29442.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402055\",\n \"slug\": \"qi-m-2402055\",\n \"testnet\": true\n};\n\nvar c29536 = {\n \"chain\": \"KaiChain\",\n \"chainId\": 29536,\n \"explorers\": [{\n \"name\": \"KaiChain Explorer\",\n \"url\": \"https://testnet-explorer.kaichain.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.kaichain.net\"],\n \"infoURL\": \"https://kaichain.net\",\n \"name\": \"KaiChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"KaiChain Testnet Native Token\",\n \"symbol\": \"KEC\",\n \"decimals\": 18\n },\n \"networkId\": 29536,\n \"rpc\": [\"https://29536.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.kaichain.net\"],\n \"shortName\": \"tkec\",\n \"slug\": \"kaichain-testnet\",\n \"testnet\": true\n};\n\nvar c29548 = {\n \"chain\": \"MCH Verse\",\n \"chainId\": 29548,\n \"explorers\": [{\n \"name\": \"MCH Verse Explorer\",\n \"url\": \"https://explorer.oasys.mycryptoheroes.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU\",\n \"width\": 4000,\n \"height\": 4000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.mycryptoheroes.net/verse\",\n \"name\": \"MCH Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 29548,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://29548.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.oasys.mycryptoheroes.net\"],\n \"shortName\": \"MCHV\",\n \"slug\": \"mch-verse\",\n \"testnet\": false\n};\n\nvar c29645 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 29645,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6355 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6355 Testnet Token\",\n \"symbol\": \"MQO\",\n \"decimals\": 18\n },\n \"networkId\": 29645,\n \"redFlags\": [],\n \"rpc\": [\"https://29645.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6355 Testnet\",\n \"slug\": \"qauser6355-testnet\",\n \"testnet\": true\n};\n\nvar c29830 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 29830,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6165 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6165 Testnet Token\",\n \"symbol\": \"TGQ\",\n \"decimals\": 18\n },\n \"networkId\": 29830,\n \"redFlags\": [],\n \"rpc\": [\"https://29830.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6165 Testnet\",\n \"slug\": \"qauser6165-testnet\",\n \"testnet\": true\n};\n\nvar c30067 = {\n \"chain\": \"PieceNetwork\",\n \"chainId\": 30067,\n \"explorers\": [{\n \"name\": \"Piece Scan\",\n \"url\": \"https://testnet-scan.piecenetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://piecenetwork.com/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmWAU39z1kcYshAqkENRH8qUjfR5CJehCxA4GiC33p3HpH\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://piecenetwork.com\",\n \"name\": \"Piece testnet\",\n \"nativeCurrency\": {\n \"name\": \"ECE\",\n \"symbol\": \"ECE\",\n \"decimals\": 18\n },\n \"networkId\": 30067,\n \"rpc\": [\"https://30067.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc0.piecenetwork.com\"],\n \"shortName\": \"Piece\",\n \"slip44\": 1,\n \"slug\": \"piece-testnet\",\n \"testnet\": true\n};\n\nvar c30088 = {\n \"chain\": \"MiYou Chain\",\n \"chainId\": 30088,\n \"ens\": {\n \"registry\": \"0xFEfa9B3061435977424DD947E756566cFB60473E\"\n },\n \"explorers\": [{\n \"name\": \"MiYou block explorer\",\n \"url\": \"https://myscan.miyou.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmfP1QDK42B7EzYWsYN2PGfjkZUQtSjm1k5gNNT52ixsKL\",\n \"width\": 216,\n \"height\": 216,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.miyou.io\",\n \"name\": \"MiYou Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Miyou\",\n \"symbol\": \"MY\",\n \"decimals\": 18\n },\n \"networkId\": 30088,\n \"rpc\": [\"https://30088.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://blockchain.miyou.io\", \"https://blockchain.miyoulab.com\"],\n \"shortName\": \"MiYou\",\n \"slip44\": 60,\n \"slug\": \"miyou\",\n \"testnet\": false\n};\n\nvar c30103 = {\n \"chain\": \"CAU\",\n \"chainId\": 30103,\n \"explorers\": [{\n \"name\": \"canxium explorer\",\n \"url\": \"https://cerium-explorer.canxium.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXHSbtVNCJVfe2CvRH7njdyf2SrX5u5bNTfvhqjLeFN2A\",\n \"width\": 938,\n \"height\": 938,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://canxium.org\",\n \"name\": \"Cerium Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Canxium\",\n \"symbol\": \"CAU\",\n \"decimals\": 18\n },\n \"networkId\": 30103,\n \"rpc\": [\"https://30103.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cerium-rpc.canxium.net\"],\n \"shortName\": \"ceri\",\n \"slip44\": 1,\n \"slug\": \"cerium-testnet\",\n \"testnet\": true\n};\n\nvar c30226 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30226,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's Testnet Token\",\n \"symbol\": \"JPQ\",\n \"decimals\": 18\n },\n \"networkId\": 30226,\n \"redFlags\": [],\n \"rpc\": [\"https://30226.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's Testnet\",\n \"slug\": \"will-s-testnet-will's testnet-30226\",\n \"testnet\": true\n};\n\nvar c30266 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30266,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Tnet02-06\",\n \"nativeCurrency\": {\n \"name\": \"Tnet02-06 Token\",\n \"symbol\": \"LFC\",\n \"decimals\": 18\n },\n \"networkId\": 30266,\n \"redFlags\": [],\n \"rpc\": [\"https://30266.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Tnet02-06\",\n \"slug\": \"tnet02-06\",\n \"testnet\": true\n};\n\nvar c30289 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30289,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0528I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0528I1 Token\",\n \"symbol\": \"JQI\",\n \"decimals\": 18\n },\n \"networkId\": 30289,\n \"redFlags\": [],\n \"rpc\": [\"https://30289.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0528I1\",\n \"slug\": \"qi0528i1\",\n \"testnet\": true\n};\n\nvar c30406 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30406,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"MUGEN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MUGEN Testnet Token\",\n \"symbol\": \"MGN\",\n \"decimals\": 18\n },\n \"networkId\": 30406,\n \"redFlags\": [],\n \"rpc\": [\"https://30406.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/mugen/testnet/rpc\"],\n \"shortName\": \"MUGEN Testnet\",\n \"slug\": \"mugen-testnet\",\n \"testnet\": true\n};\n\nvar c30730 = {\n \"chain\": \"MOVE\",\n \"chainId\": 30730,\n \"explorers\": [{\n \"name\": \"mevm explorer\",\n \"url\": \"https://explorer.movementlabs.xyz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWRAor77N6VyjJiQgtsEE7h9Bd1Q7vtRveTYv2A6wZyAT\",\n \"width\": 1546,\n \"height\": 1546,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://movementlabs.xyz\",\n \"name\": \"Movement EVM Legacy\",\n \"nativeCurrency\": {\n \"name\": \"Move\",\n \"symbol\": \"MOVE\",\n \"decimals\": 18\n },\n \"networkId\": 30730,\n \"rpc\": [],\n \"shortName\": \"moveleg\",\n \"slug\": \"movement-evm-legacy\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c30731 = {\n \"chain\": \"MOVE\",\n \"chainId\": 30731,\n \"explorers\": [{\n \"name\": \"mevm explorer\",\n \"url\": \"https://explorer.movementlabs.xyz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWRAor77N6VyjJiQgtsEE7h9Bd1Q7vtRveTYv2A6wZyAT\",\n \"width\": 1546,\n \"height\": 1546,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://movementlabs.xyz\",\n \"name\": \"Movement EVM Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Move\",\n \"symbol\": \"MOVE\",\n \"decimals\": 18\n },\n \"networkId\": 30731,\n \"rpc\": [],\n \"shortName\": \"movedev\",\n \"slug\": \"movement-evm-devnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c30732 = {\n \"chain\": \"MOVE\",\n \"chainId\": 30732,\n \"explorers\": [{\n \"name\": \"mevm explorer\",\n \"url\": \"https://explorer.movementlabs.xyz\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWRAor77N6VyjJiQgtsEE7h9Bd1Q7vtRveTYv2A6wZyAT\",\n \"width\": 1546,\n \"height\": 1546,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://movementlabs.xyz\",\n \"name\": \"Movement EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Move\",\n \"symbol\": \"MOVE\",\n \"decimals\": 18\n },\n \"networkId\": 30732,\n \"rpc\": [],\n \"shortName\": \"movetest\",\n \"slug\": \"movement-evm-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c30772 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30772,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0835\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0835 Token\",\n \"symbol\": \"VIG\",\n \"decimals\": 18\n },\n \"networkId\": 30772,\n \"redFlags\": [],\n \"rpc\": [\"https://30772.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0835\",\n \"slug\": \"qauser0835\",\n \"testnet\": true\n};\n\nvar c30891 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30891,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jambon's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jambon's Testnet Token\",\n \"symbol\": \"CXY\",\n \"decimals\": 18\n },\n \"networkId\": 30891,\n \"redFlags\": [],\n \"rpc\": [\"https://30891.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/e8b04790-d50c-4bb1-89ba-7bd140b674f3\"],\n \"shortName\": \"Jambon's Testnet\",\n \"slug\": \"jambon-s-testnet-jambon's testnet\",\n \"testnet\": true\n};\n\nvar c30915 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 30915,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Deboard's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Deboard's Testnet Token\",\n \"symbol\": \"DEVAX\",\n \"decimals\": 18\n },\n \"networkId\": 30915,\n \"redFlags\": [],\n \"rpc\": [\"https://30915.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/deboardste/testnet/rpc\"],\n \"shortName\": \"Deboard's Testnet\",\n \"slug\": \"deboard-s-testnet\",\n \"testnet\": true\n};\n\nvar c31102 = {\n \"chain\": \"ESN\",\n \"chainId\": 31102,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ethersocial.org\",\n \"name\": \"Ethersocial Network\",\n \"nativeCurrency\": {\n \"name\": \"Ethersocial Network Ether\",\n \"symbol\": \"ESN\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://31102.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.esn.gonspool.com\"],\n \"shortName\": \"esn\",\n \"slip44\": 31102,\n \"slug\": \"ethersocial-network\",\n \"testnet\": false\n};\n\nvar c31223 = {\n \"chain\": \"CLD\",\n \"chainId\": 31223,\n \"explorers\": [{\n \"name\": \"cloudtxscan\",\n \"url\": \"https://scan.cloudtx.finance\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSEsi71AdA5HYH6VNC5QUQezFg1C7BiVQJdx1VVfGz3g3\",\n \"width\": 713,\n \"height\": 830,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cloudtx.finance\",\n \"name\": \"CloudTx Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"CloudTx\",\n \"symbol\": \"CLD\",\n \"decimals\": 18\n },\n \"networkId\": 31223,\n \"rpc\": [\"https://31223.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.cloudtx.finance\"],\n \"shortName\": \"CLDTX\",\n \"slug\": \"cloudtx\",\n \"testnet\": false\n};\n\nvar c31224 = {\n \"chain\": \"CloudTx\",\n \"chainId\": 31224,\n \"explorers\": [{\n \"name\": \"cloudtxexplorer\",\n \"url\": \"https://explorer.cloudtx.finance\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.cloudtx.finance\"],\n \"icon\": {\n \"url\": \"ipfs://QmSEsi71AdA5HYH6VNC5QUQezFg1C7BiVQJdx1VVfGz3g3\",\n \"width\": 713,\n \"height\": 830,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cloudtx.finance/\",\n \"name\": \"CloudTx Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CloudTx\",\n \"symbol\": \"CLD\",\n \"decimals\": 18\n },\n \"networkId\": 31224,\n \"rpc\": [\"https://31224.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.cloudtx.finance\"],\n \"shortName\": \"CLD\",\n \"slip44\": 1,\n \"slug\": \"cloudtx-testnet\",\n \"testnet\": true\n};\n\nvar c31337 = {\n \"chain\": \"GO\",\n \"chainId\": 31337,\n \"explorers\": [{\n \"name\": \"GoChain Testnet Explorer\",\n \"url\": \"https://testnet-explorer.gochain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gochain.io\",\n \"name\": \"GoChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GoChain Coin\",\n \"symbol\": \"GO\",\n \"decimals\": 18\n },\n \"networkId\": 31337,\n \"rpc\": [\"https://31337.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.gochain.io\"],\n \"shortName\": \"got\",\n \"slip44\": 1,\n \"slug\": \"gochain-testnet\",\n \"testnet\": true\n};\n\nvar c31338 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 31338,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"LT8 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"LT8 Testnet Token\",\n \"symbol\": \"LT\",\n \"decimals\": 18\n },\n \"networkId\": 31338,\n \"redFlags\": [],\n \"rpc\": [\"https://31338.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lt8/testnet/rpc\"],\n \"shortName\": \"LT8 Testnet\",\n \"slug\": \"lt8-testnet\",\n \"testnet\": true\n};\n\nvar c31339 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 31339,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"LT9\",\n \"nativeCurrency\": {\n \"name\": \"LT9 Token\",\n \"symbol\": \"LT\",\n \"decimals\": 18\n },\n \"networkId\": 31339,\n \"redFlags\": [],\n \"rpc\": [\"https://31339.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lt9/testnet/rpc\"],\n \"shortName\": \"LT9\",\n \"slug\": \"lt9\",\n \"testnet\": true\n};\n\nvar c31414 = {\n \"chain\": \"Evoke\",\n \"chainId\": 31414,\n \"explorers\": [{\n \"name\": \"Evoke SmartChain Testnet Explorer\",\n \"url\": \"https://testnet-explorer.evokescan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.evokescan.org\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreia5q26knsvxgkwxze7woepvsqat5n2hodokh4ozzphmhexqez5s34\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet-explorer.evokescan.org\",\n \"name\": \"Evoke Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MTHN Testnet\",\n \"symbol\": \"MTHN\",\n \"decimals\": 18\n },\n \"networkId\": 31414,\n \"rpc\": [\"https://31414.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.evokescan.org\"],\n \"shortName\": \"tmthn\",\n \"slug\": \"evoke-testnet\",\n \"testnet\": true\n};\n\nvar c31415 = {\n \"chain\": \"FIL\",\n \"chainId\": 31415,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9r9XQkMHVomWcSBNDkKkz9n87h9bH9ssabeiKZtANoU\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filecoin.io\",\n \"name\": \"Filecoin - Wallaby testnet\",\n \"nativeCurrency\": {\n \"name\": \"testnet filecoin\",\n \"symbol\": \"tFIL\",\n \"decimals\": 18\n },\n \"networkId\": 31415,\n \"rpc\": [],\n \"shortName\": \"filecoin-wallaby\",\n \"slip44\": 1,\n \"slug\": \"filecoin-wallaby-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c31646 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 31646,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9492 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9492 Testnet Token\",\n \"symbol\": \"UVI\",\n \"decimals\": 18\n },\n \"networkId\": 31646,\n \"redFlags\": [],\n \"rpc\": [\"https://31646.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9492 Testnet\",\n \"slug\": \"qauser9492-testnet\",\n \"testnet\": true\n};\n\nvar c31753 = {\n \"chain\": \"Xchain\",\n \"chainId\": 31753,\n \"explorers\": [{\n \"name\": \"Xchain Mainnet Explorer\",\n \"url\": \"https://xchainscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeia5n537fj2mkfcwmjfwktkmqrcwef3affdodhxnvmkg2gkvmbv2ke\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xchainscan.com\",\n \"name\": \"Xchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Intdestcoin\",\n \"symbol\": \"INTD\",\n \"decimals\": 18\n },\n \"networkId\": 31753,\n \"rpc\": [\"https://31753.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.xchainscan.com\"],\n \"shortName\": \"INTD\",\n \"slug\": \"xchain\",\n \"testnet\": false\n};\n\nvar c31754 = {\n \"chain\": \"Xchain\",\n \"chainId\": 31754,\n \"explorers\": [{\n \"name\": \"Xchain Testnet Explorer\",\n \"url\": \"https://xchaintest.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://xchainfaucet.net\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeia5n537fj2mkfcwmjfwktkmqrcwef3affdodhxnvmkg2gkvmbv2ke\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xchaintest.net\",\n \"name\": \"Xchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Intdestcoin Testnet\",\n \"symbol\": \"INTD\",\n \"decimals\": 18\n },\n \"networkId\": 31754,\n \"rpc\": [\"https://31754.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.xchaintest.net\"],\n \"shortName\": \"tINTD\",\n \"slug\": \"xchain-testnet\",\n \"testnet\": true\n};\n\nvar c31929 = {\n \"chain\": \"ETH\",\n \"chainId\": 31929,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQHysdcSj7FemPm96k6ShNrc7bMcuzcqpD1gcUPY3YjA3/photo_2024-05-13%2017.19.03.jpeg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"jpeg\"\n },\n \"name\": \"Worlds OP\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 31929,\n \"redFlags\": [],\n \"rpc\": [\"https://31929.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-worlds-hwbmpbzcnh.t.conduit.xyz/\"],\n \"shortName\": \"WorldsOP\",\n \"slug\": \"worlds-op\",\n \"testnet\": true\n};\n\nvar c32001 = {\n \"chain\": \"ETH\",\n \"chainId\": 32001,\n \"explorers\": [{\n \"name\": \"W3Gamez Holesky Explorer\",\n \"url\": \"https://w3gamez-holesky.web3games.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmUc57w3UTHiWapNW9oQb1dP57ymtdemTTbpvGkjVHBRCo\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaQdiE7vwxKeuWCjk4nKBikcpg4XCzQkFWGrAZHmMKnrq\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://web3games.com/\",\n \"name\": \"W3Gamez Holesky Testnet\",\n \"nativeCurrency\": {\n \"name\": \"W3Gamez Testnet Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 32001,\n \"rpc\": [\"https://32001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-holesky.w3gamez.network\"],\n \"shortName\": \"w3gamez\",\n \"slip44\": 1,\n \"slug\": \"w3gamez-holesky-testnet\",\n \"testnet\": true\n};\n\nvar c32112 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 32112,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0606S1T\",\n \"nativeCurrency\": {\n \"name\": \"QR0606S1T Token\",\n \"symbol\": \"GKN\",\n \"decimals\": 18\n },\n \"networkId\": 32112,\n \"redFlags\": [],\n \"rpc\": [\"https://32112.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0606s1t/testnet/rpc\"],\n \"shortName\": \"QR0606S1T\",\n \"slug\": \"qr0606s1t\",\n \"testnet\": true\n};\n\nvar c32277 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 32277,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402058\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402058 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 32277,\n \"redFlags\": [],\n \"rpc\": [\"https://32277.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402058\",\n \"slug\": \"qi-m-2402058\",\n \"testnet\": true\n};\n\nvar c32366 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 32366,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4578 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4578 Testnet Token\",\n \"symbol\": \"EXP\",\n \"decimals\": 18\n },\n \"networkId\": 32366,\n \"redFlags\": [],\n \"rpc\": [\"https://32366.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4578 Testnet\",\n \"slug\": \"qauser4578-testnet\",\n \"testnet\": true\n};\n\nvar c32382 = {\n \"chain\": \"Santiment Intelligence Network\",\n \"chainId\": 32382,\n \"explorers\": [{\n \"name\": \"Santiment Intelligence Explorer\",\n \"url\": \"https://app-explorer-pos.sanr.app\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPLMg5mYD8XRknvYbDkD2x7FXxYan7MPTeUWZC2CihwDM\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sanr.app\",\n \"name\": \"Santiment Intelligence Network\",\n \"nativeCurrency\": {\n \"name\": \"SANR\",\n \"symbol\": \"SANR\",\n \"decimals\": 18\n },\n \"networkId\": 32382,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://sanr.app\"\n }]\n },\n \"rpc\": [\"https://32382.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.sanr.app\"],\n \"shortName\": \"SANR\",\n \"slug\": \"santiment-intelligence-network\",\n \"testnet\": false\n};\n\nvar c32517 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 32517,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4536 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4536 Testnet Token\",\n \"symbol\": \"ZKJ\",\n \"decimals\": 18\n },\n \"networkId\": 32517,\n \"redFlags\": [],\n \"rpc\": [\"https://32517.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4536 Testnet\",\n \"slug\": \"qauser4536-testnet\",\n \"testnet\": true\n};\n\nvar c32520 = {\n \"chain\": \"Brise\",\n \"chainId\": 32520,\n \"explorers\": [{\n \"name\": \"Brise Scan\",\n \"url\": \"https://brisescan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmY3vKe1rG9AyHSGH1ouP3ER3EVUZRtRrFbFZEfEpMSd4V\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmY3vKe1rG9AyHSGH1ouP3ER3EVUZRtRrFbFZEfEpMSd4V\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bitgert.com/\",\n \"name\": \"Bitgert Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitrise Token\",\n \"symbol\": \"Brise\",\n \"decimals\": 18\n },\n \"networkId\": 32520,\n \"rpc\": [\"https://32520.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.icecreamswap.com\", \"https://mainnet-rpc.brisescan.com\", \"https://chainrpc.com\", \"https://serverrpc.com\"],\n \"shortName\": \"Brise\",\n \"slug\": \"bitgert\",\n \"testnet\": false\n};\n\nvar c32659 = {\n \"chain\": \"FSN\",\n \"chainId\": 32659,\n \"explorers\": [{\n \"name\": \"fsnscan\",\n \"url\": \"https://fsnscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSAFx34SKNi7a139agX12f68oBMo2Ktt9c8yD8aFa14gd\",\n \"width\": 48,\n \"height\": 51,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmX3tsEoj7SdaBLLV8VyyCUAmymdEGiSGeuTbxMrEMVvth\",\n \"width\": 31,\n \"height\": 31,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://fusion.org\",\n \"name\": \"Fusion Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Fusion\",\n \"symbol\": \"FSN\",\n \"decimals\": 18\n },\n \"networkId\": 32659,\n \"rpc\": [\"https://32659.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.fusionnetwork.io\", \"wss://mainnet.fusionnetwork.io\"],\n \"shortName\": \"fsn\",\n \"slip44\": 288,\n \"slug\": \"fusion\",\n \"testnet\": false\n};\n\nvar c32769 = {\n \"chain\": \"ZIL\",\n \"chainId\": 32769,\n \"explorers\": [{\n \"name\": \"Zilliqa EVM Explorer\",\n \"url\": \"https://evmx.zilliqa.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTREXNgGtUhSoxFsrkhTe5LUnDBTKL5byaX8kpET6UuKp\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zilliqa.com/\",\n \"name\": \"Zilliqa EVM\",\n \"nativeCurrency\": {\n \"name\": \"Zilliqa\",\n \"symbol\": \"ZIL\",\n \"decimals\": 18\n },\n \"networkId\": 32769,\n \"rpc\": [\"https://32769.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.zilliqa.com\"],\n \"shortName\": \"zil\",\n \"slug\": \"zilliqa-evm\",\n \"testnet\": false\n};\n\nvar c32990 = {\n \"chain\": \"ZIL\",\n \"chainId\": 32990,\n \"explorers\": [{\n \"name\": \"Zilliqa EVM Isolated Server Explorer\",\n \"url\": \"https://devex.zilliqa.com/?network=https://zilliqa-isolated-server.zilliqa.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://dev-wallet.zilliqa.com/faucet?network=isolated_server\"],\n \"icon\": {\n \"url\": \"ipfs://QmTREXNgGtUhSoxFsrkhTe5LUnDBTKL5byaX8kpET6UuKp\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zilliqa.com/\",\n \"name\": \"Zilliqa EVM Isolated Server\",\n \"nativeCurrency\": {\n \"name\": \"Zilliqa\",\n \"symbol\": \"ZIL\",\n \"decimals\": 18\n },\n \"networkId\": 32990,\n \"rpc\": [\"https://32990.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zilliqa-isolated-server.zilliqa.com/\"],\n \"shortName\": \"zil-isolated-server\",\n \"slug\": \"zilliqa-evm-isolated-server\",\n \"testnet\": false\n};\n\nvar c33033 = {\n \"chain\": \"NGL\",\n \"chainId\": 33033,\n \"explorers\": [{\n \"name\": \"Entangle Mainnet Explorer\",\n \"url\": \"https://explorer.entangle.fi\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUQiosuH8ib8aXSpYcJRTje9Lro9VeZyd4cNXrXGY5r8D\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.entangle.fi\",\n \"name\": \"Entangle Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Entangle\",\n \"symbol\": \"NGL\",\n \"decimals\": 18\n },\n \"networkId\": 33033,\n \"rpc\": [\"https://33033.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://json-rpc.entangle.fi\"],\n \"shortName\": \"ngl\",\n \"slug\": \"entangle\",\n \"testnet\": false\n};\n\nvar c33100 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 33100,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7864\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7864 Token\",\n \"symbol\": \"MBP\",\n \"decimals\": 18\n },\n \"networkId\": 33100,\n \"redFlags\": [],\n \"rpc\": [\"https://33100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7864\",\n \"slug\": \"qauser7864\",\n \"testnet\": true\n};\n\nvar c33101 = {\n \"chain\": \"ZIL\",\n \"chainId\": 33101,\n \"explorers\": [{\n \"name\": \"Zilliqa EVM Explorer\",\n \"url\": \"https://evmx.zilliqa.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://dev-wallet.zilliqa.com/faucet?network=testnet\"],\n \"infoURL\": \"https://www.zilliqa.com/\",\n \"name\": \"Zilliqa EVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Zilliqa\",\n \"symbol\": \"ZIL\",\n \"decimals\": 18\n },\n \"networkId\": 33101,\n \"rpc\": [\"https://33101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dev-api.zilliqa.com\"],\n \"shortName\": \"zil-testnet\",\n \"slip44\": 1,\n \"slug\": \"zilliqa-evm-testnet\",\n \"testnet\": true\n};\n\nvar c33133 = {\n \"chain\": \"NGL\",\n \"chainId\": 33133,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmUQiosuH8ib8aXSpYcJRTje9Lro9VeZyd4cNXrXGY5r8D\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.entangle.fi\",\n \"name\": \"Entangle Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Entangle\",\n \"symbol\": \"NGL\",\n \"decimals\": 18\n },\n \"networkId\": 33133,\n \"rpc\": [\"https://33133.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-testnet.entangle.fi\"],\n \"shortName\": \"tngl\",\n \"slug\": \"entangle-testnet\",\n \"testnet\": true\n};\n\nvar c33210 = {\n \"chain\": \"CLOUDVERSE\",\n \"chainId\": 33210,\n \"explorers\": [{\n \"name\": \"CLOUDVERSE Explorer\",\n \"url\": \"https://subnets.avax.network/cloudverse\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://muadao.build/\",\n \"name\": \"Cloudverse Subnet\",\n \"nativeCurrency\": {\n \"name\": \"XCLOUD\",\n \"symbol\": \"XCLOUD\",\n \"decimals\": 18\n },\n \"networkId\": 33210,\n \"rpc\": [\"https://33210.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/cloudverse/mainnet/rpc\"],\n \"shortName\": \"cloudverse\",\n \"slug\": \"cloudverse-subnet\",\n \"testnet\": false\n};\n\nvar c33333 = {\n \"chain\": \"AVS\",\n \"chainId\": 33333,\n \"explorers\": [{\n \"name\": \"avescan\",\n \"url\": \"https://avescan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeKQVv2QneHaaggw2NfpZ7DGMdjVhPywTdse5RzCs4oGn\",\n \"width\": 232,\n \"height\": 232,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmeKQVv2QneHaaggw2NfpZ7DGMdjVhPywTdse5RzCs4oGn\",\n \"width\": 232,\n \"height\": 232,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://avescoin.io\",\n \"name\": \"Aves Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Aves\",\n \"symbol\": \"AVS\",\n \"decimals\": 18\n },\n \"networkId\": 33333,\n \"rpc\": [\"https://33333.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.avescoin.io\"],\n \"shortName\": \"avs\",\n \"slug\": \"aves\",\n \"testnet\": false\n};\n\nvar c33385 = {\n \"chain\": \"ZIL\",\n \"chainId\": 33385,\n \"explorers\": [{\n \"name\": \"Zilliqa EVM Devnet Explorer\",\n \"url\": \"https://otterscan.devnet.zilliqa.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.devnet.zilliqa.com/\"],\n \"icon\": {\n \"url\": \"ipfs://QmTREXNgGtUhSoxFsrkhTe5LUnDBTKL5byaX8kpET6UuKp\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zilliqa.com/\",\n \"name\": \"Zilliqa EVM Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Zilliqa\",\n \"symbol\": \"ZIL\",\n \"decimals\": 18\n },\n \"networkId\": 33385,\n \"rpc\": [\"https://33385.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.devnet.zilliqa.com/\"],\n \"shortName\": \"zil-devnet\",\n \"slug\": \"zilliqa-evm-devnet\",\n \"testnet\": false\n};\n\nvar c33448 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 33448,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0408s2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0408s2 Testnet Token\",\n \"symbol\": \"QCE\",\n \"decimals\": 18\n },\n \"networkId\": 33448,\n \"redFlags\": [],\n \"rpc\": [\"https://33448.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0408s2 Testnet\",\n \"slug\": \"qi0408s2-testnet\",\n \"testnet\": true\n};\n\nvar c33469 = {\n \"chain\": \"ZIL\",\n \"chainId\": 33469,\n \"explorers\": [{\n \"name\": \"Zilliqa-2 EVM Devnet Explorer\",\n \"url\": \"https://explorer.zq2-devnet.zilliqa.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.zq2-devnet.zilliqa.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmTREXNgGtUhSoxFsrkhTe5LUnDBTKL5byaX8kpET6UuKp\",\n \"width\": 2048,\n \"height\": 2048,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zilliqa.com/\",\n \"name\": \"Zilliqa-2 EVM Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Zilliqa\",\n \"symbol\": \"ZIL\",\n \"decimals\": 18\n },\n \"networkId\": 33469,\n \"rpc\": [\"https://33469.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.zq2-devnet.zilliqa.com\"],\n \"shortName\": \"zq2-devnet\",\n \"slug\": \"zilliqa-2-evm-devnet\",\n \"testnet\": false\n};\n\nvar c33795 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 33795,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9260\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9260 Token\",\n \"symbol\": \"SBM\",\n \"decimals\": 18\n },\n \"networkId\": 33795,\n \"redFlags\": [],\n \"rpc\": [\"https://33795.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9260\",\n \"slug\": \"qauser9260\",\n \"testnet\": true\n};\n\nvar c33841 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 33841,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0422s2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0422s2 Testnet Token\",\n \"symbol\": \"HOS\",\n \"decimals\": 18\n },\n \"networkId\": 33841,\n \"redFlags\": [],\n \"rpc\": [\"https://33841.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0422s2 Testnet\",\n \"slug\": \"qi0422s2-testnet\",\n \"testnet\": true\n};\n\nvar c33909 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 33909,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Reg1116test\",\n \"nativeCurrency\": {\n \"name\": \"Reg1116test Token\",\n \"symbol\": \"JUO\",\n \"decimals\": 18\n },\n \"networkId\": 33909,\n \"redFlags\": [],\n \"rpc\": [\"https://33909.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Reg1116test\",\n \"slug\": \"reg1116test\",\n \"testnet\": true\n};\n\nvar c33979 = {\n \"chain\": \"ETH\",\n \"chainId\": 33979,\n \"explorers\": [{\n \"name\": \"Funki Mainnet Explorer\",\n \"url\": \"https://mainnet.funkichain.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWLjmfbjx2qZC39GCFXDzt72NXVTtDBVzVSq6rwaquyp3\",\n \"width\": 1200,\n \"height\": 410,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://funkichain.com\",\n \"name\": \"Funki\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 33979,\n \"rpc\": [],\n \"shortName\": \"funki\",\n \"slug\": \"funki\",\n \"testnet\": false\n};\n\nvar c34295 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 34295,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402132\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402132 Token\",\n \"symbol\": \"CYB\",\n \"decimals\": 18\n },\n \"networkId\": 34295,\n \"redFlags\": [],\n \"rpc\": [\"https://34295.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 2402132\",\n \"slug\": \"qi-m-2402132\",\n \"testnet\": true\n};\n\nvar c34443 = {\n \"chain\": \"ETH\",\n \"chainId\": 34443,\n \"explorers\": [{\n \"name\": \"modescout\",\n \"url\": \"https://explorer.mode.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidi5y7afj5z4xrz7uz5rkg2mcsv2p2n4ui4g7q4k4ecdz65i2agou\",\n \"width\": 2160,\n \"height\": 2160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.mode.network/\",\n \"name\": \"Mode\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 34443,\n \"rpc\": [\"https://34443.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.mode.network\", \"https://mode.drpc.org\", \"wss://mode.drpc.org\"],\n \"shortName\": \"mode\",\n \"slug\": \"mode\",\n \"testnet\": false\n};\n\nvar c34851 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 34851,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0235\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0235 Token\",\n \"symbol\": \"GET\",\n \"decimals\": 18\n },\n \"networkId\": 34851,\n \"redFlags\": [],\n \"rpc\": [\"https://34851.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0235\",\n \"slug\": \"qauser0235\",\n \"testnet\": true\n};\n\nvar c35011 = {\n \"chain\": \"TARO\",\n \"chainId\": 35011,\n \"explorers\": [{\n \"name\": \"J2O Taro Explorer\",\n \"url\": \"https://exp.j2o.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdUYi8fjnvdM9iFQ7dwE2YvmhDtavSB3bKhCD2GhPxPks\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://j2o.io\",\n \"name\": \"J2O Taro\",\n \"nativeCurrency\": {\n \"name\": \"TARO Coin\",\n \"symbol\": \"taro\",\n \"decimals\": 18\n },\n \"networkId\": 35011,\n \"rpc\": [\"https://35011.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.j2o.io\"],\n \"shortName\": \"j2o\",\n \"slug\": \"j2o-taro\",\n \"testnet\": false\n};\n\nvar c35395 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 35395,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Found 1-4-23\",\n \"nativeCurrency\": {\n \"name\": \"Found 1-4-23 Token\",\n \"symbol\": \"TVJ\",\n \"decimals\": 18\n },\n \"networkId\": 35395,\n \"redFlags\": [],\n \"rpc\": [\"https://35395.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Found 1-4-23\",\n \"slug\": \"found-1-4-23\",\n \"testnet\": true\n};\n\nvar c35439 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 35439,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2401122\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2401122 Token\",\n \"symbol\": \"HZU\",\n \"decimals\": 18\n },\n \"networkId\": 35439,\n \"redFlags\": [],\n \"rpc\": [\"https://35439.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f14d837e-de8f-446d-8222-0077f26e6694\"],\n \"shortName\": \"QI M 2401122\",\n \"slug\": \"qi-m-2401122\",\n \"testnet\": true\n};\n\nvar c35441 = {\n \"chain\": \"Q\",\n \"chainId\": 35441,\n \"explorers\": [{\n \"name\": \"Q explorer\",\n \"url\": \"https://explorer.q.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQUQKe8VEtSthhgXnJ3EmEz94YhpVCpUDZAiU9KYyNLya\",\n \"width\": 585,\n \"height\": 603,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQUQKe8VEtSthhgXnJ3EmEz94YhpVCpUDZAiU9KYyNLya\",\n \"width\": 585,\n \"height\": 603,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://q.org\",\n \"name\": \"Q Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"QGOV\",\n \"symbol\": \"QGOV\",\n \"decimals\": 18\n },\n \"networkId\": 35441,\n \"rpc\": [\"https://35441.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.q.org\"],\n \"shortName\": \"q\",\n \"slug\": \"q\",\n \"testnet\": false\n};\n\nvar c35443 = {\n \"chain\": \"Q\",\n \"chainId\": 35443,\n \"explorers\": [{\n \"name\": \"Q explorer\",\n \"url\": \"https://explorer.qtestnet.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQUQKe8VEtSthhgXnJ3EmEz94YhpVCpUDZAiU9KYyNLya\",\n \"width\": 585,\n \"height\": 603,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQUQKe8VEtSthhgXnJ3EmEz94YhpVCpUDZAiU9KYyNLya\",\n \"width\": 585,\n \"height\": 603,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://q.org/\",\n \"name\": \"Q Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Q token\",\n \"symbol\": \"Q\",\n \"decimals\": 18\n },\n \"networkId\": 35443,\n \"rpc\": [\"https://35443.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.qtestnet.org\"],\n \"shortName\": \"q-testnet\",\n \"slip44\": 1,\n \"slug\": \"q-testnet\",\n \"testnet\": true\n};\n\nvar c35641 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 35641,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3338\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3338 Token\",\n \"symbol\": \"BQL\",\n \"decimals\": 18\n },\n \"networkId\": 35641,\n \"redFlags\": [],\n \"rpc\": [\"https://35641.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3338\",\n \"slug\": \"qauser3338\",\n \"testnet\": true\n};\n\nvar c35730 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 35730,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR1129I1\",\n \"nativeCurrency\": {\n \"name\": \"QR1129I1 Token\",\n \"symbol\": \"YXAX\",\n \"decimals\": 18\n },\n \"networkId\": 35730,\n \"redFlags\": [],\n \"rpc\": [\"https://35730.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr1129i1/testnet/rpc\"],\n \"shortName\": \"QR1129I1\",\n \"slug\": \"qr1129i1\",\n \"testnet\": true\n};\n\nvar c36530 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 36530,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's Super Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's Super Subnet Token\",\n \"symbol\": \"VRJ\",\n \"decimals\": 18\n },\n \"networkId\": 36530,\n \"redFlags\": [],\n \"rpc\": [\"https://36530.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's Super Subnet\",\n \"slug\": \"will-s-super-subnet\",\n \"testnet\": true\n};\n\nvar c36695 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 36695,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Cohan Yolo Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Cohan Yolo Testnet Token\",\n \"symbol\": \"KYI\",\n \"decimals\": 18\n },\n \"networkId\": 36695,\n \"redFlags\": [],\n \"rpc\": [\"https://36695.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c033f73a-70ff-463d-b121-81b9542e11a1\"],\n \"shortName\": \"Cohan Yolo Testnet\",\n \"slug\": \"cohan-yolo-testnet\",\n \"testnet\": true\n};\n\nvar c36746 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 36746,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1213 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1213 Testnet Token\",\n \"symbol\": \"ZKJ\",\n \"decimals\": 18\n },\n \"networkId\": 36746,\n \"redFlags\": [],\n \"rpc\": [\"https://36746.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1213 Testnet\",\n \"slug\": \"qauser1213-testnet\",\n \"testnet\": true\n};\n\nvar c36908 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 36908,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR1205s1\",\n \"nativeCurrency\": {\n \"name\": \"QR1205s1 Token\",\n \"symbol\": \"MDN\",\n \"decimals\": 18\n },\n \"networkId\": 36908,\n \"redFlags\": [],\n \"rpc\": [\"https://36908.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr1205s1/testnet/rpc\"],\n \"shortName\": \"QR1205s1\",\n \"slug\": \"qr1205s1\",\n \"testnet\": true\n};\n\nvar c37003 = {\n \"chain\": \"crtr-testnet\",\n \"chainId\": 37003,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorerl2new-crtr-testnet-mev0ni0xlx.t.conduit.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbYKZ1MuDa1hzwLGjdCZGapuhV7C9uyRDPJWD994qbocY/generic-icon.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbYKZ1MuDa1hzwLGjdCZGapuhV7C9uyRDPJWD994qbocY/generic-icon.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"crtr-testnet\",\n \"nativeCurrency\": {\n \"name\": \"CRTR\",\n \"symbol\": \"CRTR\",\n \"decimals\": 18\n },\n \"networkId\": 37003,\n \"parent\": {\n \"type\": \"L3\",\n \"chain\": \"eip155-1\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://37003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-crtr-testnet-mev0ni0xlx.t.conduit.xyz\"],\n \"shortName\": \"crtr-testnet-mev0ni0xlx\",\n \"slug\": \"crtr-testnet\",\n \"testnet\": true\n};\n\nvar c37195 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 37195,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Thari\",\n \"nativeCurrency\": {\n \"name\": \"Thari Token\",\n \"symbol\": \"THARI\",\n \"decimals\": 18\n },\n \"networkId\": 37195,\n \"redFlags\": [],\n \"rpc\": [\"https://37195.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/thari/testnet/rpc\"],\n \"shortName\": \"Thari\",\n \"slug\": \"thari\",\n \"testnet\": true\n};\n\nvar c37375 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 37375,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402057\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402057 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 37375,\n \"redFlags\": [],\n \"rpc\": [\"https://37375.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402057\",\n \"slug\": \"qi-m-2402057\",\n \"testnet\": true\n};\n\nvar c37767 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 37767,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Tnet 01-15\",\n \"nativeCurrency\": {\n \"name\": \"Tnet 01-15 Token\",\n \"symbol\": \"LFC\",\n \"decimals\": 18\n },\n \"networkId\": 37767,\n \"redFlags\": [],\n \"rpc\": [\"https://37767.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Tnet 01-15\",\n \"slug\": \"tnet-01-15\",\n \"testnet\": true\n};\n\nvar c38085 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 38085,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0227I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0227I1 Token\",\n \"symbol\": \"ULH\",\n \"decimals\": 18\n },\n \"networkId\": 38085,\n \"redFlags\": [],\n \"rpc\": [\"https://38085.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0227I1\",\n \"slug\": \"qi0227i1\",\n \"testnet\": true\n};\n\nvar c38168 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 38168,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0531S1T\",\n \"nativeCurrency\": {\n \"name\": \"QR0531S1T Token\",\n \"symbol\": \"GKN\",\n \"decimals\": 18\n },\n \"networkId\": 38168,\n \"redFlags\": [],\n \"rpc\": [\"https://38168.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0531s1t/testnet/rpc\"],\n \"shortName\": \"QR0531S1T\",\n \"slug\": \"qr0531s1t\",\n \"testnet\": true\n};\n\nvar c38400 = {\n \"chain\": \"Rangers\",\n \"chainId\": 38400,\n \"explorers\": [{\n \"name\": \"rangersscan\",\n \"url\": \"https://scan.rangersprotocol.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXR5e5SDABWfQn6XT9uMsVYAo5Bv7vUv4jVs8DFqatZWG\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rangersprotocol.com\",\n \"name\": \"ConnectorManager\",\n \"nativeCurrency\": {\n \"name\": \"Rangers Protocol Gas\",\n \"symbol\": \"cmRPG\",\n \"decimals\": 18\n },\n \"networkId\": 38400,\n \"rpc\": [\"https://38400.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cm.rangersprotocol.com/api/jsonrpc\"],\n \"shortName\": \"cmrpg\",\n \"slug\": \"connectormanager\",\n \"testnet\": false\n};\n\nvar c38401 = {\n \"chain\": \"Rangers\",\n \"chainId\": 38401,\n \"explorers\": [{\n \"name\": \"rangersscan-robin\",\n \"url\": \"https://robin-rangersscan.rangersprotocol.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://robin-faucet.rangersprotocol.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmXR5e5SDABWfQn6XT9uMsVYAo5Bv7vUv4jVs8DFqatZWG\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rangersprotocol.com\",\n \"name\": \"ConnectorManager Robin\",\n \"nativeCurrency\": {\n \"name\": \"Rangers Protocol Gas\",\n \"symbol\": \"ttRPG\",\n \"decimals\": 18\n },\n \"networkId\": 38401,\n \"rpc\": [\"https://38401.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://robin-cm.rangersprotocol.com/api/jsonrpc\"],\n \"shortName\": \"ttrpg\",\n \"slug\": \"connectormanager-robin\",\n \"testnet\": false\n};\n\nvar c38904 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 38904,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1490 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1490 Testnet Token\",\n \"symbol\": \"PNK\",\n \"decimals\": 18\n },\n \"networkId\": 38904,\n \"redFlags\": [],\n \"rpc\": [\"https://38904.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1490 Testnet\",\n \"slug\": \"qauser1490-testnet\",\n \"testnet\": true\n};\n\nvar c39098 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 39098,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI 20240108\",\n \"nativeCurrency\": {\n \"name\": \"QI 20240108 Token\",\n \"symbol\": \"COZ\",\n \"decimals\": 18\n },\n \"networkId\": 39098,\n \"redFlags\": [],\n \"rpc\": [\"https://39098.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f575b5b1-8b60-47f3-af28-13f3f3de2ba5\"],\n \"shortName\": \"QI 20240108\",\n \"slug\": \"qi-20240108\",\n \"testnet\": true\n};\n\nvar c39142 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 39142,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ST Found 1-05-24\",\n \"nativeCurrency\": {\n \"name\": \"ST Found 1-05-24 Token\",\n \"symbol\": \"LGT\",\n \"decimals\": 18\n },\n \"networkId\": 39142,\n \"redFlags\": [],\n \"rpc\": [\"https://39142.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"ST Found 1-05-24\",\n \"slug\": \"st-found-1-05-24\",\n \"testnet\": true\n};\n\nvar c39585 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 39585,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5884\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5884 Token\",\n \"symbol\": \"YRO\",\n \"decimals\": 18\n },\n \"networkId\": 39585,\n \"redFlags\": [],\n \"rpc\": [\"https://39585.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5884\",\n \"slug\": \"qauser5884\",\n \"testnet\": true\n};\n\nvar c39656 = {\n \"chain\": \"prm\",\n \"chainId\": 39656,\n \"explorers\": [{\n \"name\": \"Primal Network\",\n \"url\": \"https://prmscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmckkDRkuCQWbvhpKGsqa8ajuQvf3W5dekzw5qpiPC6shk\",\n \"width\": 1220,\n \"height\": 1220,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://primalnetwork.org\",\n \"name\": \"PRM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Primal Network\",\n \"symbol\": \"PRM\",\n \"decimals\": 18\n },\n \"networkId\": 39656,\n \"rpc\": [\"https://39656.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.prmscan.org\"],\n \"shortName\": \"prm\",\n \"slug\": \"prm\",\n \"testnet\": false\n};\n\nvar c39747 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 39747,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser41Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser41Testnet Token\",\n \"symbol\": \"GYF\",\n \"decimals\": 18\n },\n \"networkId\": 39747,\n \"redFlags\": [],\n \"rpc\": [\"https://39747.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser41Testnet\",\n \"slug\": \"qauser41testnet\",\n \"testnet\": true\n};\n\nvar c39797 = {\n \"chain\": \"NRG\",\n \"chainId\": 39797,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.energi.world/\",\n \"name\": \"Energi Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Energi\",\n \"symbol\": \"NRG\",\n \"decimals\": 18\n },\n \"networkId\": 39797,\n \"rpc\": [\"https://39797.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nodeapi.energi.network\"],\n \"shortName\": \"nrg\",\n \"slip44\": 39797,\n \"slug\": \"energi\",\n \"testnet\": false\n};\n\nvar c39815 = {\n \"chain\": \"OHO\",\n \"chainId\": 39815,\n \"explorers\": [{\n \"name\": \"ohoscan\",\n \"url\": \"https://ohoscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZt75xixnEtFzqHTrJa8kJkV4cTXmUZqeMeHM8BcvomQc\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://oho.ai\",\n \"name\": \"OHO Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OHO\",\n \"symbol\": \"OHO\",\n \"decimals\": 18\n },\n \"networkId\": 39815,\n \"rpc\": [\"https://39815.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.oho.ai\"],\n \"shortName\": \"oho\",\n \"slug\": \"oho\",\n \"testnet\": false\n};\n\nvar c40100 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 40100,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4426\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4426 Token\",\n \"symbol\": \"PMC\",\n \"decimals\": 18\n },\n \"networkId\": 40100,\n \"redFlags\": [],\n \"rpc\": [\"https://40100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4426\",\n \"slug\": \"qauser4426\",\n \"testnet\": true\n};\n\nvar c40542 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 40542,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1212I8\",\n \"nativeCurrency\": {\n \"name\": \"QI1212I8 Token\",\n \"symbol\": \"HSCX\",\n \"decimals\": 18\n },\n \"networkId\": 40542,\n \"redFlags\": [],\n \"rpc\": [\"https://40542.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/ba4e7766-4bc6-44ec-b43f-598647b4ee71\"],\n \"shortName\": \"QI1212I8\",\n \"slug\": \"qi1212i8\",\n \"testnet\": true\n};\n\nvar c40798 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 40798,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qr0109y1p\",\n \"nativeCurrency\": {\n \"name\": \"qr0109y1p Token\",\n \"symbol\": \"KZP\",\n \"decimals\": 18\n },\n \"networkId\": 40798,\n \"redFlags\": [],\n \"rpc\": [\"https://40798.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0109y1p/testnet/rpc\"],\n \"shortName\": \"qr0109y1p\",\n \"slug\": \"qr0109y1p\",\n \"testnet\": true\n};\n\nvar c40868 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 40868,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5110 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5110 Testnet Token\",\n \"symbol\": \"CRL\",\n \"decimals\": 18\n },\n \"networkId\": 40868,\n \"redFlags\": [],\n \"rpc\": [\"https://40868.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5110 Testnet\",\n \"slug\": \"qauser5110-testnet\",\n \"testnet\": true\n};\n\nvar c41077 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 41077,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"REALLY\",\n \"nativeCurrency\": {\n \"name\": \"REALLY Token\",\n \"symbol\": \"FAN\",\n \"decimals\": 18\n },\n \"networkId\": 41077,\n \"redFlags\": [],\n \"rpc\": [\"https://41077.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/really/testnet/rpc\"],\n \"shortName\": \"REALLY\",\n \"slug\": \"really\",\n \"testnet\": true\n};\n\nvar c41425 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 41425,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0205I1\",\n \"nativeCurrency\": {\n \"name\": \"QR0205I1 Token\",\n \"symbol\": \"PVW\",\n \"decimals\": 18\n },\n \"networkId\": 41425,\n \"redFlags\": [],\n \"rpc\": [\"https://41425.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0205i1/testnet/rpc\"],\n \"shortName\": \"QR0205I1\",\n \"slug\": \"qr0205i1\",\n \"testnet\": true\n};\n\nvar c41500 = {\n \"chain\": \"Opulent-X\",\n \"chainId\": 41500,\n \"explorers\": [{\n \"name\": \"Opulent-X BETA Explorer\",\n \"url\": \"https://explorer.opulent-x.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://beta.opulent-x.com\",\n \"name\": \"Opulent-X BETA\",\n \"nativeCurrency\": {\n \"name\": \"Oxyn Gas\",\n \"symbol\": \"OXYN\",\n \"decimals\": 18\n },\n \"networkId\": 41500,\n \"rpc\": [\"https://41500.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://connect.opulent-x.com\"],\n \"shortName\": \"ox-beta\",\n \"slug\": \"opulent-x-beta\",\n \"testnet\": false\n};\n\nvar c41604 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 41604,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Token\",\n \"symbol\": \"LFC\",\n \"decimals\": 18\n },\n \"networkId\": 41604,\n \"redFlags\": [],\n \"rpc\": [\"https://41604.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Testnet\",\n \"slug\": \"testnet-testnet-41604\",\n \"testnet\": true\n};\n\nvar c41720 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 41720,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0409s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0409s1 Testnet Token\",\n \"symbol\": \"ZSP\",\n \"decimals\": 18\n },\n \"networkId\": 41720,\n \"redFlags\": [],\n \"rpc\": [\"https://41720.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0409s1/testnet/rpc\"],\n \"shortName\": \"QR0409s1 Testnet\",\n \"slug\": \"qr0409s1-testnet\",\n \"testnet\": true\n};\n\nvar c41799 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 41799,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's New Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's New Testnet Token\",\n \"symbol\": \"ZBO\",\n \"decimals\": 18\n },\n \"networkId\": 41799,\n \"redFlags\": [],\n \"rpc\": [\"https://41799.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's New Testnet\",\n \"slug\": \"will-s-new-testnet\",\n \"testnet\": true\n};\n\nvar c41847 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 41847,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0606T3TP\",\n \"nativeCurrency\": {\n \"name\": \"QR0606T3TP Token\",\n \"symbol\": \"HRQ\",\n \"decimals\": 18\n },\n \"networkId\": 41847,\n \"redFlags\": [],\n \"rpc\": [\"https://41847.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0606t3tp/testnet/rpc\"],\n \"shortName\": \"QR0606T3TP\",\n \"slug\": \"qr0606t3tp\",\n \"testnet\": true\n};\n\nvar c42069 = {\n \"chain\": \"42069\",\n \"chainId\": 42069,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://teampeggle.com\",\n \"name\": \"pegglecoin\",\n \"nativeCurrency\": {\n \"name\": \"pegglecoin\",\n \"symbol\": \"peggle\",\n \"decimals\": 18\n },\n \"networkId\": 42069,\n \"rpc\": [],\n \"shortName\": \"PC\",\n \"slug\": \"pegglecoin\",\n \"testnet\": false\n};\n\nvar c42072 = {\n \"chain\": \"AgentLayer\",\n \"chainId\": 42072,\n \"explorers\": [{\n \"name\": \"AgentLayer Testnet Explorer\",\n \"url\": \"https://testnet-explorer.agentlayer.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSj6SSWmBiRjnjZQPb17kvhGDmB9xAGRkG13RwPuXLTCT\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://agentlayer.xyz/home\",\n \"name\": \"AgentLayer Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Agent\",\n \"symbol\": \"AGENT\",\n \"decimals\": 18\n },\n \"networkId\": 42072,\n \"rpc\": [\"https://42072.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.agentlayer.xyz\"],\n \"shortName\": \"agent\",\n \"slug\": \"agentlayer-testnet\",\n \"testnet\": true\n};\n\nvar c42161 = {\n \"chain\": \"ETH\",\n \"chainId\": 42161,\n \"explorers\": [{\n \"name\": \"Arbiscan\",\n \"url\": \"https://arbiscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Arbitrum Explorer\",\n \"url\": \"https://explorer.arbitrum.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://arbitrum.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/arbitrum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://arbitrum.io\",\n \"name\": \"Arbitrum One\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 42161,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://42161.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://arbitrum-mainnet.infura.io/v3/${INFURA_API_KEY}\", \"https://arb-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}\", \"https://arb1.arbitrum.io/rpc\", \"https://arbitrum-one.publicnode.com\", \"wss://arbitrum-one.publicnode.com\"],\n \"shortName\": \"arb1\",\n \"slug\": \"arbitrum\",\n \"testnet\": false\n};\n\nvar c42170 = {\n \"chain\": \"ETH\",\n \"chainId\": 42170,\n \"explorers\": [{\n \"name\": \"Arbitrum Nova Chain Explorer\",\n \"url\": \"https://nova-explorer.arbitrum.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://nova.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://arbitrum.io\",\n \"name\": \"Arbitrum Nova\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 42170,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }]\n },\n \"rpc\": [\"https://42170.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nova.arbitrum.io/rpc\", \"https://arbitrum-nova.publicnode.com\", \"wss://arbitrum-nova.publicnode.com\"],\n \"shortName\": \"arb-nova\",\n \"slug\": \"arbitrum-nova\",\n \"testnet\": false\n};\n\nvar c42220 = {\n \"chain\": \"CELO\",\n \"chainId\": 42220,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.celo.org\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Celoscan\",\n \"url\": \"https://celoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.celo.org/\",\n \"name\": \"Celo Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"CELO\",\n \"symbol\": \"CELO\",\n \"decimals\": 18\n },\n \"networkId\": 42220,\n \"rpc\": [\"https://42220.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://forno.celo.org\", \"wss://forno.celo.org/ws\"],\n \"shortName\": \"celo\",\n \"slug\": \"celo\",\n \"testnet\": false\n};\n\nvar c42261 = {\n \"chain\": \"Emerald\",\n \"chainId\": 42261,\n \"explorers\": [{\n \"name\": \"Oasis Emerald Testnet Explorer\",\n \"url\": \"https://explorer.oasis.io/testnet/emerald\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.testnet.oasis.io/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiespupb52akiwrexxg7g72mh7m7h7lum5hmqijmpdh3kmuunzclha\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.oasis.io/dapp/emerald\",\n \"name\": \"Oasis Emerald Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Emerald Rose\",\n \"symbol\": \"ROSE\",\n \"decimals\": 18\n },\n \"networkId\": 42261,\n \"rpc\": [\"https://42261.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.emerald.oasis.io/\", \"wss://testnet.emerald.oasis.io/ws\"],\n \"shortName\": \"emerald-testnet\",\n \"slip44\": 1,\n \"slug\": \"oasis-emerald-testnet\",\n \"testnet\": true\n};\n\nvar c42262 = {\n \"chain\": \"Emerald\",\n \"chainId\": 42262,\n \"explorers\": [{\n \"name\": \"Oasis Emerald Explorer\",\n \"url\": \"https://explorer.oasis.io/mainnet/emerald\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiespupb52akiwrexxg7g72mh7m7h7lum5hmqijmpdh3kmuunzclha\",\n \"width\": 2000,\n \"height\": 2000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.oasis.io/dapp/emerald\",\n \"name\": \"Oasis Emerald\",\n \"nativeCurrency\": {\n \"name\": \"Emerald Rose\",\n \"symbol\": \"ROSE\",\n \"decimals\": 18\n },\n \"networkId\": 42262,\n \"rpc\": [\"https://42262.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://emerald.oasis.io\", \"wss://emerald.oasis.io/ws\"],\n \"shortName\": \"emerald\",\n \"slug\": \"oasis-emerald\",\n \"testnet\": false\n};\n\nvar c42355 = {\n \"chain\": \"GoldX\",\n \"chainId\": 42355,\n \"explorers\": [{\n \"name\": \"GoldXChain Explorer\",\n \"url\": \"https://explorer.goldxchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://goldxchain.io\",\n \"name\": \"GoldXChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GoldX\",\n \"symbol\": \"GOLDX\",\n \"decimals\": 18\n },\n \"networkId\": 42355,\n \"rpc\": [\"https://42355.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.goldxchain.io\"],\n \"shortName\": \"goldx\",\n \"slug\": \"goldxchain\",\n \"testnet\": false\n};\n\nvar c42451 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 42451,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1220s1\",\n \"nativeCurrency\": {\n \"name\": \"QI1220s1 Token\",\n \"symbol\": \"BKX\",\n \"decimals\": 18\n },\n \"networkId\": 42451,\n \"redFlags\": [],\n \"rpc\": [\"https://42451.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI1220s1\",\n \"slug\": \"qi1220s1\",\n \"testnet\": true\n};\n\nvar c42766 = {\n \"chain\": \"ZKFair\",\n \"chainId\": 42766,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.zkfair.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVb682D4mUXkKNP28xxJDNgSYbDLvEc3kVYx7TQxEa6Cw\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVb682D4mUXkKNP28xxJDNgSYbDLvEc3kVYx7TQxEa6Cw\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://zkfair.io\",\n \"name\": \"ZKFair Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"USDC Token\",\n \"symbol\": \"USDC\",\n \"decimals\": 18\n },\n \"networkId\": 42766,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://wallet.zkfair.io\"\n }]\n },\n \"rpc\": [\"https://42766.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.zkfair.io\"],\n \"shortName\": \"ZKFair-Mainnet\",\n \"slug\": \"zkfair\",\n \"testnet\": false,\n \"title\": \"ZKFair Mainnet\"\n};\n\nvar c42793 = {\n \"chain\": \"Etherlink\",\n \"chainId\": 42793,\n \"explorers\": [{\n \"name\": \"Etherlink Explorer\",\n \"url\": \"https://explorer.etherlink.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVqE4wq3fd3RKZwo7GxmW333ywHgYBZGvqwh3TUBM5DUi\",\n \"width\": 584,\n \"height\": 545,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://etherlink.com\",\n \"name\": \"Etherlink Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"tez\",\n \"symbol\": \"XTZ\",\n \"decimals\": 18\n },\n \"networkId\": 42793,\n \"rpc\": [\"https://42793.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.mainnet.etherlink.com\"],\n \"shortName\": \"etlk\",\n \"slug\": \"etherlink\",\n \"testnet\": false\n};\n\nvar c42801 = {\n \"chain\": \"Gesoten Verse\",\n \"chainId\": 42801,\n \"explorers\": [{\n \"name\": \"Gesoten Verse Testnet Explorer\",\n \"url\": \"https://explorer.testnet.verse.gesoten.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmb7oJY9zd9sTzxNNQNTVZQz2hkd1aA94mWm4cvXfJ9QxV\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gesoten.com/\",\n \"name\": \"Gesoten Verse Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 42801,\n \"rpc\": [\"https://42801.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.verse.gesoten.com/\"],\n \"shortName\": \"GST\",\n \"slip44\": 1,\n \"slug\": \"gesoten-verse-testnet\",\n \"testnet\": true\n};\n\nvar c42840 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 42840,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's Testnet Token\",\n \"symbol\": \"DQX\",\n \"decimals\": 18\n },\n \"networkId\": 42840,\n \"redFlags\": [],\n \"rpc\": [\"https://42840.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's Testnet\",\n \"slug\": \"will-s-testnet-will's testnet-42840\",\n \"testnet\": true\n};\n\nvar c42888 = {\n \"chain\": \"ETH\",\n \"chainId\": 42888,\n \"explorers\": [{\n \"name\": \"kintoscan\",\n \"url\": \"http://35.215.120.180:4000\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://ethereum.org\",\n \"name\": \"Kinto Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 42888,\n \"rpc\": [\"https://42888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://35.215.120.180:8545\"],\n \"shortName\": \"keth\",\n \"slip44\": 1,\n \"slug\": \"kinto-testnet\",\n \"testnet\": true,\n \"title\": \"Kinto Testnet\"\n};\n\nvar c43110 = {\n \"chain\": \"ATH\",\n \"chainId\": 43110,\n \"explorers\": [],\n \"faucets\": [\"http://athfaucet.ava.network//?address=${ADDRESS}\"],\n \"infoURL\": \"https://athereum.ava.network\",\n \"name\": \"Athereum\",\n \"nativeCurrency\": {\n \"name\": \"Athereum Ether\",\n \"symbol\": \"ATH\",\n \"decimals\": 18\n },\n \"networkId\": 43110,\n \"rpc\": [\"https://43110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ava.network:21015/ext/evm/rpc\"],\n \"shortName\": \"avaeth\",\n \"slug\": \"athereum\",\n \"testnet\": false\n};\n\nvar c43111 = {\n \"chain\": \"ETH\",\n \"chainId\": 43111,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfP6GDn5eXFcpWuoiyWn5pjn6PYB7HQhRD8nSko1zR8KD\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hemi.xyz\",\n \"name\": \"Hemi Network\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 43111,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\"\n },\n \"rpc\": [],\n \"shortName\": \"hemi\",\n \"slug\": \"hemi-network\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c43113 = {\n \"chain\": \"AVAX\",\n \"chainId\": 43113,\n \"explorers\": [{\n \"name\": \"snowtrace\",\n \"url\": \"https://testnet.snowtrace.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.avax-test.network/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/avalanche/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cchain.explorer.avax-test.network\",\n \"name\": \"Avalanche Fuji Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Avalanche\",\n \"symbol\": \"AVAX\",\n \"decimals\": 18\n },\n \"networkId\": 43113,\n \"redFlags\": [],\n \"rpc\": [\"https://43113.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.avax-test.network/ext/bc/C/rpc\", \"https://avalanche-fuji-c-chain-rpc.publicnode.com\", \"wss://avalanche-fuji-c-chain-rpc.publicnode.com\"],\n \"shortName\": \"Fuji\",\n \"slip44\": 1,\n \"slug\": \"avalanche-fuji\",\n \"testnet\": true\n};\n\nvar c43114 = {\n \"chain\": \"AVAX\",\n \"chainId\": 43114,\n \"explorers\": [{\n \"name\": \"snowtrace\",\n \"url\": \"https://snowtrace.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/avalanche/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.avax.network/\",\n \"name\": \"Avalanche C-Chain\",\n \"nativeCurrency\": {\n \"name\": \"Avalanche\",\n \"symbol\": \"AVAX\",\n \"decimals\": 18\n },\n \"networkId\": 43114,\n \"redFlags\": [],\n \"rpc\": [\"https://43114.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://avalanche-mainnet.infura.io/v3/${INFURA_API_KEY}\", \"https://api.avax.network/ext/bc/C/rpc\", \"https://avalanche-c-chain-rpc.publicnode.com\", \"wss://avalanche-c-chain-rpc.publicnode.com\"],\n \"shortName\": \"avax\",\n \"slip44\": 9005,\n \"slug\": \"avalanche\",\n \"testnet\": false\n};\n\nvar c43125 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 43125,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3950 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3950 Testnet Token\",\n \"symbol\": \"SZL\",\n \"decimals\": 18\n },\n \"networkId\": 43125,\n \"redFlags\": [],\n \"rpc\": [\"https://43125.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3950 Testnet\",\n \"slug\": \"qauser3950-testnet\",\n \"testnet\": true\n};\n\nvar c43288 = {\n \"chain\": \"Boba Avax\",\n \"chainId\": 43288,\n \"explorers\": [{\n \"name\": \"Boba Avax Explorer\",\n \"url\": \"https://blockexplorer.avax.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.boba.network/for-developers/network-avalanche\",\n \"name\": \"Boba Avax\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 43288,\n \"rpc\": [\"https://43288.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://avax.boba.network\", \"wss://wss.avax.boba.network\", \"https://replica.avax.boba.network\", \"wss://replica-wss.avax.boba.network\"],\n \"shortName\": \"bobaavax\",\n \"slug\": \"boba-avax\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c43593 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 43593,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1596\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1596 Token\",\n \"symbol\": \"VNE\",\n \"decimals\": 18\n },\n \"networkId\": 43593,\n \"redFlags\": [],\n \"rpc\": [\"https://43593.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1596\",\n \"slug\": \"qauser1596\",\n \"testnet\": true\n};\n\nvar c43851 = {\n \"chain\": \"ETH\",\n \"chainId\": 43851,\n \"explorers\": [{\n \"name\": \"ZKFair Testnet Info\",\n \"url\": \"https://testnet-scan.zkfair.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVb682D4mUXkKNP28xxJDNgSYbDLvEc3kVYx7TQxEa6Cw\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVb682D4mUXkKNP28xxJDNgSYbDLvEc3kVYx7TQxEa6Cw\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://zkfair.io\",\n \"name\": \"ZKFair Testnet\",\n \"nativeCurrency\": {\n \"name\": \"USDC Token\",\n \"symbol\": \"USDC\",\n \"decimals\": 18\n },\n \"networkId\": 43851,\n \"rpc\": [\"https://43851.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.zkfair.io\"],\n \"shortName\": \"ZKFair-Testnet\",\n \"slip44\": 1,\n \"slug\": \"zkfair-testnet\",\n \"testnet\": true\n};\n\nvar c43994 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 43994,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0606T1TP\",\n \"nativeCurrency\": {\n \"name\": \"QR0606T1TP Token\",\n \"symbol\": \"HRQ\",\n \"decimals\": 18\n },\n \"networkId\": 43994,\n \"redFlags\": [],\n \"rpc\": [\"https://43994.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0606t1tp/testnet/rpc\"],\n \"shortName\": \"QR0606T1TP\",\n \"slug\": \"qr0606t1tp\",\n \"testnet\": true\n};\n\nvar c44044 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 44044,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM 240530 TEST INTEROP\",\n \"nativeCurrency\": {\n \"name\": \"QIM 240530 TEST INTEROP Token\",\n \"symbol\": \"WCC\",\n \"decimals\": 18\n },\n \"networkId\": 44044,\n \"redFlags\": [],\n \"rpc\": [\"https://44044.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qim240530t/testnet/rpc\"],\n \"shortName\": \"QIM 240530 TEST INTEROP\",\n \"slug\": \"qim-240530-test-interop\",\n \"testnet\": true\n};\n\nvar c44444 = {\n \"chain\": \"fren\",\n \"chainId\": 44444,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://frenscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQk41bYX6WpYyUAdRgomZekxP5mbvZXhfxLEEqtatyJv4\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQk41bYX6WpYyUAdRgomZekxP5mbvZXhfxLEEqtatyJv4\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://frenchain.app\",\n \"name\": \"Frenchain\",\n \"nativeCurrency\": {\n \"name\": \"FREN\",\n \"symbol\": \"FREN\",\n \"decimals\": 18\n },\n \"networkId\": 44444,\n \"rpc\": [\"https://44444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-02.frenscan.io\"],\n \"shortName\": \"FREN\",\n \"slug\": \"frenchain\",\n \"testnet\": false\n};\n\nvar c44445 = {\n \"chain\": \"Quantum\",\n \"chainId\": 44445,\n \"explorers\": [{\n \"name\": \"Quantum Explorer\",\n \"url\": \"https://qtm.avescoin.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeKQVv2QneHaaggw2NfpZ7DGMdjVhPywTdse5RzCs4oGn\",\n \"width\": 232,\n \"height\": 232,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeKQVv2QneHaaggw2NfpZ7DGMdjVhPywTdse5RzCs4oGn\",\n \"width\": 232,\n \"height\": 232,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://avescoin.io/\",\n \"name\": \"Quantum Network\",\n \"nativeCurrency\": {\n \"name\": \"Quantum\",\n \"symbol\": \"QTM\",\n \"decimals\": 18\n },\n \"networkId\": 44445,\n \"rpc\": [\"https://44445.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcqtm.avescoin.io\"],\n \"shortName\": \"QTM\",\n \"slug\": \"quantum-network\",\n \"testnet\": false\n};\n\nvar c44787 = {\n \"chain\": \"CELO\",\n \"chainId\": 44787,\n \"explorers\": [{\n \"name\": \"Alfajoresscan\",\n \"url\": \"https://alfajores.celoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://celo.org/developers/faucet\", \"https://cauldron.pretoriaresearchlab.io/alfajores-faucet\"],\n \"features\": [],\n \"infoURL\": \"https://docs.celo.org/\",\n \"name\": \"Celo Alfajores Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CELO\",\n \"symbol\": \"CELO\",\n \"decimals\": 18\n },\n \"networkId\": 44787,\n \"redFlags\": [],\n \"rpc\": [\"https://44787.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://alfajores-forno.celo-testnet.org\", \"wss://alfajores-forno.celo-testnet.org/ws\"],\n \"shortName\": \"ALFA\",\n \"slip44\": 1,\n \"slug\": \"celo-alfajores-testnet\",\n \"testnet\": true\n};\n\nvar c44808 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 44808,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"klCohan Testnet\",\n \"nativeCurrency\": {\n \"name\": \"klCohan Testnet Token\",\n \"symbol\": \"DBM\",\n \"decimals\": 18\n },\n \"networkId\": 44808,\n \"redFlags\": [],\n \"rpc\": [\"https://44808.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/d2b6bd35-89f7-4019-bc88-643c31221e5c\"],\n \"shortName\": \"klCohan Testnet\",\n \"slug\": \"klcohan-testnet\",\n \"testnet\": true\n};\n\nvar c44850 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 44850,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0318I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0318I1 Testnet Token\",\n \"symbol\": \"WJN\",\n \"decimals\": 18\n },\n \"networkId\": 44850,\n \"redFlags\": [],\n \"rpc\": [\"https://44850.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0318I1 Testnet\",\n \"slug\": \"qi0318i1-testnet\",\n \"testnet\": true\n};\n\nvar c45000 = {\n \"chain\": \"TXL\",\n \"chainId\": 45000,\n \"explorers\": [{\n \"name\": \"autobahn explorer\",\n \"url\": \"https://explorer.autobahn.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZP19pbqTco4vaP9siduLWP8pdYArFK3onfR55tvjr12s\",\n \"width\": 489,\n \"height\": 489,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZP19pbqTco4vaP9siduLWP8pdYArFK3onfR55tvjr12s\",\n \"width\": 489,\n \"height\": 489,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autobahn.network\",\n \"name\": \"Autobahn Network\",\n \"nativeCurrency\": {\n \"name\": \"TXL\",\n \"symbol\": \"TXL\",\n \"decimals\": 18\n },\n \"networkId\": 45000,\n \"rpc\": [\"https://45000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.autobahn.network\"],\n \"shortName\": \"AutobahnNetwork\",\n \"slug\": \"autobahn-network\",\n \"testnet\": false\n};\n\nvar c45454 = {\n \"chain\": \"SWP\",\n \"chainId\": 45454,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://swamps-explorer.tc.l2aas.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTEEgWsknzdqjLbaAvLHqCCzCtMJZh2d1SqMscxZCXBwA\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.swamps.fi\",\n \"name\": \"Swamps L2\",\n \"nativeCurrency\": {\n \"name\": \"SWP\",\n \"symbol\": \"SWP\",\n \"decimals\": 18\n },\n \"networkId\": 45454,\n \"rpc\": [\"https://45454.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://swamps.tc.l2aas.com\"],\n \"shortName\": \"SWP\",\n \"slug\": \"swamps-l2\",\n \"testnet\": false\n};\n\nvar c45510 = {\n \"chain\": \"DEE\",\n \"chainId\": 45510,\n \"explorers\": [{\n \"name\": \"Deelance Mainnet Explorer\",\n \"url\": \"https://deescan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.deelance.com\"],\n \"icon\": {\n \"url\": \"ipfs://Qmay2j8biuo5xLJL8NcLtrzubAEHuCWz65cdbKE1pSnGf6\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://deelance.com\",\n \"name\": \"Deelance Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Deelance\",\n \"symbol\": \"DEE\",\n \"decimals\": 18\n },\n \"networkId\": 45510,\n \"rpc\": [\"https://45510.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.deelance.com\"],\n \"shortName\": \"dee\",\n \"slug\": \"deelance\",\n \"testnet\": false,\n \"title\": \"Deelance Network Mainnet\"\n};\n\nvar c45544 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 45544,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6609 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6609 Testnet Token\",\n \"symbol\": \"NHU\",\n \"decimals\": 18\n },\n \"networkId\": 45544,\n \"redFlags\": [],\n \"rpc\": [\"https://45544.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6609 Testnet\",\n \"slug\": \"qauser6609-testnet\",\n \"testnet\": true\n};\n\nvar c45979 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 45979,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5277 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5277 Testnet Token\",\n \"symbol\": \"LWR\",\n \"decimals\": 18\n },\n \"networkId\": 45979,\n \"redFlags\": [],\n \"rpc\": [\"https://45979.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5277 Testnet\",\n \"slug\": \"qauser5277-testnet\",\n \"testnet\": true\n};\n\nvar c46092 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 46092,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0213I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0213I1 Token\",\n \"symbol\": \"ORR\",\n \"decimals\": 18\n },\n \"networkId\": 46092,\n \"redFlags\": [],\n \"rpc\": [\"https://46092.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/f0aae4b1-a373-43ed-9e61-ba61d42131bb\"],\n \"shortName\": \"QI0213I1\",\n \"slug\": \"qi0213i1\",\n \"testnet\": true\n};\n\nvar c46109 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 46109,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qr0224t1tp Testnet\",\n \"nativeCurrency\": {\n \"name\": \"qr0224t1tp Testnet Token\",\n \"symbol\": \"CRH\",\n \"decimals\": 18\n },\n \"networkId\": 46109,\n \"redFlags\": [],\n \"rpc\": [\"https://46109.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0224t1tp/testnet/rpc\"],\n \"shortName\": \"qr0224t1tp Testnet\",\n \"slug\": \"qr0224t1tp-testnet\",\n \"testnet\": true\n};\n\nvar c46145 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 46145,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0520I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0520I2 Token\",\n \"symbol\": \"YZG\",\n \"decimals\": 18\n },\n \"networkId\": 46145,\n \"redFlags\": [],\n \"rpc\": [\"https://46145.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0520I2\",\n \"slug\": \"qi0520i2\",\n \"testnet\": true\n};\n\nvar c46565 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 46565,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0430s2\",\n \"nativeCurrency\": {\n \"name\": \"QI0430s2 Token\",\n \"symbol\": \"SWS\",\n \"decimals\": 18\n },\n \"networkId\": 46565,\n \"redFlags\": [],\n \"rpc\": [\"https://46565.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0430s2\",\n \"slug\": \"qi0430s2\",\n \"testnet\": true\n};\n\nvar c46688 = {\n \"chain\": \"FSN\",\n \"chainId\": 46688,\n \"explorers\": [{\n \"name\": \"fsnscan\",\n \"url\": \"https://testnet.fsnscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSAFx34SKNi7a139agX12f68oBMo2Ktt9c8yD8aFa14gd\",\n \"width\": 48,\n \"height\": 51,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmX3tsEoj7SdaBLLV8VyyCUAmymdEGiSGeuTbxMrEMVvth\",\n \"width\": 31,\n \"height\": 31,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://fusion.org\",\n \"name\": \"Fusion Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Fusion\",\n \"symbol\": \"T-FSN\",\n \"decimals\": 18\n },\n \"networkId\": 46688,\n \"rpc\": [\"https://46688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.fusionnetwork.io\", \"wss://testnet.fusionnetwork.io\"],\n \"shortName\": \"tfsn\",\n \"slip44\": 1,\n \"slug\": \"fusion-testnet\",\n \"testnet\": true\n};\n\nvar c47157 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 47157,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Avaland Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Avaland Testnet Token\",\n \"symbol\": \"AVA\",\n \"decimals\": 18\n },\n \"networkId\": 47157,\n \"redFlags\": [],\n \"rpc\": [\"https://47157.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/avalandtes/testnet/rpc\"],\n \"shortName\": \"Avaland Testnet\",\n \"slug\": \"avaland-testnet\",\n \"testnet\": true\n};\n\nvar c47805 = {\n \"chain\": \"REI\",\n \"chainId\": 47805,\n \"explorers\": [{\n \"name\": \"rei-scan\",\n \"url\": \"https://scan.rei.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://rei.network/\",\n \"name\": \"REI Network\",\n \"nativeCurrency\": {\n \"name\": \"REI\",\n \"symbol\": \"REI\",\n \"decimals\": 18\n },\n \"networkId\": 47805,\n \"rpc\": [\"https://47805.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.rei.network\", \"wss://rpc.rei.network\"],\n \"shortName\": \"REI\",\n \"slug\": \"rei-network\",\n \"testnet\": false\n};\n\nvar c47992 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 47992,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser2555\",\n \"nativeCurrency\": {\n \"name\": \"QaUser2555 Token\",\n \"symbol\": \"PRY\",\n \"decimals\": 18\n },\n \"networkId\": 47992,\n \"redFlags\": [],\n \"rpc\": [\"https://47992.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser2555\",\n \"slug\": \"qauser2555\",\n \"testnet\": true\n};\n\nvar c48137 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 48137,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9608 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9608 Testnet Token\",\n \"symbol\": \"ASI\",\n \"decimals\": 18\n },\n \"networkId\": 48137,\n \"redFlags\": [],\n \"rpc\": [\"https://48137.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9608 Testnet\",\n \"slug\": \"qauser9608-testnet\",\n \"testnet\": true\n};\n\nvar c48267 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 48267,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0130I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0130I2 Token\",\n \"symbol\": \"NZY\",\n \"decimals\": 18\n },\n \"networkId\": 48267,\n \"redFlags\": [],\n \"rpc\": [\"https://48267.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0130I2\",\n \"slug\": \"qi0130i2\",\n \"testnet\": true\n};\n\nvar c48702 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 48702,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Token\",\n \"symbol\": \"LUG\",\n \"decimals\": 18\n },\n \"networkId\": 48702,\n \"redFlags\": [],\n \"rpc\": [\"https://48702.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Testnet\",\n \"slug\": \"testnet-testnet-48702\",\n \"testnet\": true\n};\n\nvar c48795 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 48795,\n \"explorers\": [{\n \"name\": \"SPACE Explorer\",\n \"url\": \"https://subnets-test.avax.network/space\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Space\",\n \"nativeCurrency\": {\n \"name\": \"Space Token\",\n \"symbol\": \"FUEL\",\n \"decimals\": 18\n },\n \"networkId\": 48795,\n \"redFlags\": [],\n \"rpc\": [\"https://48795.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/space/testnet/rpc\"],\n \"shortName\": \"Space\",\n \"slug\": \"space-space\",\n \"testnet\": true\n};\n\nvar c48899 = {\n \"chain\": \"Zircuit Testnet\",\n \"chainId\": 48899,\n \"explorers\": [{\n \"name\": \"Zircuit\",\n \"url\": \"https://explorer.zircuit.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmV4nUUiRaTTZSyWubpF98ZL9jNCoXkrgg6AWR6FKqdxMk\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmV4nUUiRaTTZSyWubpF98ZL9jNCoXkrgg6AWR6FKqdxMk\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.zircuit.com/\",\n \"name\": \"Zircuit Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 48899,\n \"rpc\": [\"https://48899.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zircuit1.p2pify.com/\"],\n \"shortName\": \"zircuit-testnet\",\n \"slug\": \"zircuit-testnet\",\n \"testnet\": true\n};\n\nvar c49049 = {\n \"chain\": \"Wireshape\",\n \"chainId\": 49049,\n \"explorers\": [{\n \"name\": \"Wire Explorer\",\n \"url\": \"https://floripa-explorer.wireshape.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTAyT3YrW2654CBRqRkec2cCznv6EBsbsRc2y6WQPbvXx\",\n \"width\": 1280,\n \"height\": 1280,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://wireshape.org\",\n \"name\": \"Wireshape Floripa Testnet\",\n \"nativeCurrency\": {\n \"name\": \"WIRE\",\n \"symbol\": \"WIRE\",\n \"decimals\": 18\n },\n \"networkId\": 49049,\n \"rpc\": [\"https://49049.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-floripa.wireshape.org\"],\n \"shortName\": \"floripa\",\n \"slip44\": 1,\n \"slug\": \"wireshape-floripa-testnet\",\n \"testnet\": true,\n \"title\": \"Wireshape Floripa Testnet\"\n};\n\nvar c49053 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 49053,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5759 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5759 Testnet Token\",\n \"symbol\": \"ATZ\",\n \"decimals\": 18\n },\n \"networkId\": 49053,\n \"redFlags\": [],\n \"rpc\": [\"https://49053.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5759 Testnet\",\n \"slug\": \"qauser5759-testnet\",\n \"testnet\": true\n};\n\nvar c49088 = {\n \"chain\": \"BFC\",\n \"chainId\": 49088,\n \"explorers\": [{\n \"name\": \"explorer-thebifrost\",\n \"url\": \"https://explorer.testnet.bifrostnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYxniqbiFD7nXBNjN8boUhoXYEAW23YquArD2Rnkq8WHS\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bifrostnetwork.com\",\n \"name\": \"Bifrost Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bifrost\",\n \"symbol\": \"BFC\",\n \"decimals\": 18\n },\n \"networkId\": 49088,\n \"rpc\": [\"https://49088.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-01.testnet.bifrostnetwork.com/rpc\", \"https://public-02.testnet.bifrostnetwork.com/rpc\"],\n \"shortName\": \"tbfc\",\n \"slip44\": 1,\n \"slug\": \"bifrost-testnet\",\n \"testnet\": true,\n \"title\": \"Bifrost Network Testnet\"\n};\n\nvar c49321 = {\n \"chain\": \"tGUN\",\n \"chainId\": 49321,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.gunzscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmd5R5khFePwY9dYBGhjRA1rGtUAKaHg7Z2B7mBrbA6TiB\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gunbygunz.com\",\n \"name\": \"GUNZ Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GUN\",\n \"symbol\": \"GUN\",\n \"decimals\": 18\n },\n \"networkId\": 49321,\n \"rpc\": [\"https://49321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gunz.dev/ext/bc/ryk9vkvNuKtewME2PeCgybo9sdWXGmCkBrrx4VPuZPdVdAak8/rpc\"],\n \"shortName\": \"Stork\",\n \"slug\": \"gunz-testnet\",\n \"testnet\": true\n};\n\nvar c49797 = {\n \"chain\": \"NRG\",\n \"chainId\": 49797,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.energi.world/\",\n \"name\": \"Energi Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Energi\",\n \"symbol\": \"NRG\",\n \"decimals\": 18\n },\n \"networkId\": 49797,\n \"rpc\": [\"https://49797.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nodeapi.test.energi.network\"],\n \"shortName\": \"tnrg\",\n \"slip44\": 1,\n \"slug\": \"energi-testnet\",\n \"testnet\": true\n};\n\nvar c49995 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 49995,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0606T2TP\",\n \"nativeCurrency\": {\n \"name\": \"QR0606T2TP Token\",\n \"symbol\": \"HRQ\",\n \"decimals\": 18\n },\n \"networkId\": 49995,\n \"redFlags\": [],\n \"rpc\": [\"https://49995.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0606t2tp/testnet/rpc\"],\n \"shortName\": \"QR0606T2TP\",\n \"slug\": \"qr0606t2tp\",\n \"testnet\": true\n};\n\nvar c50001 = {\n \"chain\": \"Liveplex OracleEVM Network\",\n \"chainId\": 50001,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"Liveplex OracleEVM\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 50001,\n \"rpc\": [\"https://50001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.oracle.liveplex.io\"],\n \"shortName\": \"LOE\",\n \"slug\": \"liveplex-oracleevm\",\n \"testnet\": false\n};\n\nvar c50005 = {\n \"chain\": \"Yooldo Verse\",\n \"chainId\": 50005,\n \"explorers\": [{\n \"name\": \"Yooldo Verse Explorer\",\n \"url\": \"https://explorer.yooldo-verse.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWvfA2usnYp1ktzLcqFS8eTLgdp4ifrxjiify46KyG9NZ\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://yooldo.gg/\",\n \"name\": \"Yooldo Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 50005,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://50005.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.yooldo-verse.xyz/\"],\n \"shortName\": \"YVM\",\n \"slug\": \"yooldo-verse\",\n \"testnet\": false\n};\n\nvar c50006 = {\n \"chain\": \"Yooldo Verse\",\n \"chainId\": 50006,\n \"explorers\": [{\n \"name\": \"Yooldo Verse Explorer\",\n \"url\": \"https://explorer.testnet.yooldo-verse.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWvfA2usnYp1ktzLcqFS8eTLgdp4ifrxjiify46KyG9NZ\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://yooldo.gg/\",\n \"name\": \"Yooldo Verse Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 50006,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://50006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.yooldo-verse.xyz/\"],\n \"shortName\": \"YVT\",\n \"slip44\": 1,\n \"slug\": \"yooldo-verse-testnet\",\n \"testnet\": true\n};\n\nvar c50021 = {\n \"chain\": \"GTON Testnet\",\n \"chainId\": 50021,\n \"explorers\": [{\n \"name\": \"GTON Testnet Network Explorer\",\n \"url\": \"https://explorer.testnet.gton.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gton.capital\",\n \"name\": \"GTON Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GCD\",\n \"symbol\": \"GCD\",\n \"decimals\": 18\n },\n \"networkId\": 50021,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-3\"\n },\n \"rpc\": [\"https://50021.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.gton.network/\"],\n \"shortName\": \"tgton\",\n \"slip44\": 1,\n \"slug\": \"gton-testnet\",\n \"testnet\": true\n};\n\nvar c50059 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 50059,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0122I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0122I1 Testnet Token\",\n \"symbol\": \"MPX\",\n \"decimals\": 18\n },\n \"networkId\": 50059,\n \"redFlags\": [],\n \"rpc\": [\"https://50059.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0122I1 Testnet\",\n \"slug\": \"qi0122i1-testnet\",\n \"testnet\": true\n};\n\nvar c50097 = {\n \"chain\": \"BTC\",\n \"chainId\": 50097,\n \"explorers\": [{\n \"name\": \"Zytron Explorer\",\n \"url\": \"http://b2-testnet-zytron-blockscout.zypher.game/\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://d391b93f5f62d9c15f67142e43841acc.ipfscdn.io/ipfs/bafybeiaav4gyweksnce4asrkqxxjevkpcx7xol6a72kzihrhppb5p5z6aa/zytron_T_white.png\",\n \"width\": 1420,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"name\": \"Zytron B2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 50097,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"zytron-b2-testnet\",\n \"slug\": \"zytron-b2-testnet\",\n \"testnet\": true\n};\n\nvar c50528 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 50528,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9606 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9606 Testnet Token\",\n \"symbol\": \"JTW\",\n \"decimals\": 18\n },\n \"networkId\": 50528,\n \"redFlags\": [],\n \"rpc\": [\"https://50528.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9606 Testnet\",\n \"slug\": \"qauser9606-testnet\",\n \"testnet\": true\n};\n\nvar c51161 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51161,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1212I6\",\n \"nativeCurrency\": {\n \"name\": \"QI1212I6 Token\",\n \"symbol\": \"HSCX\",\n \"decimals\": 18\n },\n \"networkId\": 51161,\n \"redFlags\": [],\n \"rpc\": [\"https://51161.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI1212I6\",\n \"slug\": \"qi1212i6\",\n \"testnet\": true\n};\n\nvar c51173 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51173,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1544\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1544 Token\",\n \"symbol\": \"ECX\",\n \"decimals\": 18\n },\n \"networkId\": 51173,\n \"redFlags\": [],\n \"rpc\": [\"https://51173.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1544\",\n \"slug\": \"qauser1544\",\n \"testnet\": true\n};\n\nvar c51178 = {\n \"chain\": \"ETH\",\n \"chainId\": 51178,\n \"explorers\": [{\n \"name\": \"LumozTestnetInfo\",\n \"url\": \"https://lumoz.info\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmZnE2ygPL2ZGuzHGvFCHmrqxwdurrhz3K1yPnwLzKbgay\",\n \"width\": 401,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmZnE2ygPL2ZGuzHGvFCHmrqxwdurrhz3K1yPnwLzKbgay\",\n \"width\": 401,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lumoz.org\",\n \"name\": \"Lumoz Testnet Alpha\",\n \"nativeCurrency\": {\n \"name\": \"Lumoz Test Token\",\n \"symbol\": \"MOZ\",\n \"decimals\": 18\n },\n \"networkId\": 51178,\n \"rpc\": [\"https://51178.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://alpha-us-http-geth.lumoz.org\", \"https://alpha-hk-http-geth.lumoz.org\"],\n \"shortName\": \"Lumoz-Testnet\",\n \"slip44\": 1,\n \"slug\": \"lumoz-testnet-alpha\",\n \"testnet\": true\n};\n\nvar c51277 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51277,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0344s1 Testne\",\n \"nativeCurrency\": {\n \"name\": \"QI0344s1 Testne Token\",\n \"symbol\": \"LKG\",\n \"decimals\": 18\n },\n \"networkId\": 51277,\n \"redFlags\": [],\n \"rpc\": [\"https://51277.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0344s1 Testne\",\n \"slug\": \"qi0344s1-testne\",\n \"testnet\": true\n};\n\nvar c51290 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51290,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Test Using Resources\",\n \"nativeCurrency\": {\n \"name\": \"Test Using Resources Token\",\n \"symbol\": \"JMH\",\n \"decimals\": 18\n },\n \"networkId\": 51290,\n \"redFlags\": [],\n \"rpc\": [\"https://51290.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/testsize2/testnet/rpc\"],\n \"shortName\": \"Test Using Resources\",\n \"slug\": \"test-using-resources\",\n \"testnet\": true\n};\n\nvar c51435 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51435,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0410s1d Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0410s1d Testnet Token\",\n \"symbol\": \"CWV\",\n \"decimals\": 18\n },\n \"networkId\": 51435,\n \"redFlags\": [],\n \"rpc\": [\"https://51435.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0410s1d/testnet/rpc\"],\n \"shortName\": \"QR0410s1d Testnet\",\n \"slug\": \"qr0410s1d-testnet\",\n \"testnet\": true\n};\n\nvar c51440 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51440,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0430s4\",\n \"nativeCurrency\": {\n \"name\": \"QI0430s4 Token\",\n \"symbol\": \"SWS\",\n \"decimals\": 18\n },\n \"networkId\": 51440,\n \"redFlags\": [],\n \"rpc\": [\"https://51440.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0430s4\",\n \"slug\": \"qi0430s4\",\n \"testnet\": true\n};\n\nvar c51712 = {\n \"chain\": \"SRDX\",\n \"chainId\": 51712,\n \"explorers\": [{\n \"name\": \"Sardis\",\n \"url\": \"https://contract-mainnet.sardisnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.sardisnetwork.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmdR9QJjQEh1mBnf2WbJfehverxiP5RDPWMtEECbDP2rc3\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mysardis.com\",\n \"name\": \"Sardis Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Sardis\",\n \"symbol\": \"SRDX\",\n \"decimals\": 18\n },\n \"networkId\": 51712,\n \"rpc\": [\"https://51712.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.sardisnetwork.com\"],\n \"shortName\": \"SRDXm\",\n \"slug\": \"sardis\",\n \"testnet\": false\n};\n\nvar c51740 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 51740,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4Testnet Token\",\n \"symbol\": \"VGW\",\n \"decimals\": 18\n },\n \"networkId\": 51740,\n \"redFlags\": [],\n \"rpc\": [\"https://51740.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4Testnet\",\n \"slug\": \"qauser4testnet\",\n \"testnet\": true\n};\n\nvar c52014 = {\n \"chain\": \"Electroneum\",\n \"chainId\": 52014,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockexplorer.electroneum.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVgFqXA3kkCrVYGcWFF7Mhx8JUSe9vSCauNamuKWSvCym\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVgFqXA3kkCrVYGcWFF7Mhx8JUSe9vSCauNamuKWSvCym\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://electroneum.com\",\n \"name\": \"Electroneum Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Electroneum\",\n \"symbol\": \"ETN\",\n \"decimals\": 18\n },\n \"networkId\": 52014,\n \"rpc\": [\"https://52014.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.electroneum.com\"],\n \"shortName\": \"etn-mainnet\",\n \"slug\": \"electroneum\",\n \"testnet\": false\n};\n\nvar c52146 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 52146,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4359 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4359 Testnet Token\",\n \"symbol\": \"WBP\",\n \"decimals\": 18\n },\n \"networkId\": 52146,\n \"redFlags\": [],\n \"rpc\": [\"https://52146.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4359 Testnet\",\n \"slug\": \"qauser4359-testnet\",\n \"testnet\": true\n};\n\nvar c52150 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 52150,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0304I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0304I1 Testnet Token\",\n \"symbol\": \"LOD\",\n \"decimals\": 18\n },\n \"networkId\": 52150,\n \"redFlags\": [],\n \"rpc\": [\"https://52150.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0304I1 Testnet\",\n \"slug\": \"qi0304i1-testnet\",\n \"testnet\": true\n};\n\nvar c53123 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 53123,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Metasky\",\n \"nativeCurrency\": {\n \"name\": \"Metasky Token\",\n \"symbol\": \"MSK\",\n \"decimals\": 18\n },\n \"networkId\": 53123,\n \"redFlags\": [],\n \"rpc\": [\"https://53123.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/metasky/testnet/rpc\"],\n \"shortName\": \"Metasky\",\n \"slug\": \"metasky\",\n \"testnet\": true\n};\n\nvar c53277 = {\n \"chain\": \"DOID\",\n \"chainId\": 53277,\n \"explorers\": [{\n \"name\": \"DOID Scan\",\n \"url\": \"https://scan.doid.tech\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXYSMyMnMvBf2F1ih6dTcRVUhmMnpzvmuP7vieLjmNQo5\",\n \"width\": 41,\n \"height\": 52,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXYSMyMnMvBf2F1ih6dTcRVUhmMnpzvmuP7vieLjmNQo5\",\n \"width\": 41,\n \"height\": 52,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://doid.tech\",\n \"name\": \"DOID\",\n \"nativeCurrency\": {\n \"name\": \"DOID\",\n \"symbol\": \"DOID\",\n \"decimals\": 18\n },\n \"networkId\": 53277,\n \"rpc\": [\"https://53277.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.doid.tech\"],\n \"shortName\": \"DOID\",\n \"slug\": \"doid\",\n \"testnet\": false\n};\n\nvar c53302 = {\n \"chain\": \"Superseed Sepolia Testnet\",\n \"chainId\": 53302,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://sepolia-explorer.superseed.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSyw4AhwGALxb17qWLZgzpHJksqdqNvWuNrhuoMPfb61C\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://sepoliafaucet.com\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSyw4AhwGALxb17qWLZgzpHJksqdqNvWuNrhuoMPfb61C\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.superseed.xyz\",\n \"name\": \"Superseed Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 53302,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://sepolia-bridge.superseed.xyz/\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://53302.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.superseed.xyz\", \"wss://sepolia.superseed.xyz\"],\n \"shortName\": \"superseed-sepolia-testnet\",\n \"slip44\": 1,\n \"slug\": \"superseed-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c53383 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 53383,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jambon's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jambon's Testnet Token\",\n \"symbol\": \"GNF\",\n \"decimals\": 18\n },\n \"networkId\": 53383,\n \"redFlags\": [],\n \"rpc\": [\"https://53383.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c37c3f83-6d95-4473-b5c7-626fad519f50\"],\n \"shortName\": \"Jambon's Testnet\",\n \"slug\": \"jambon-s-testnet-jambon's testnet-53383\",\n \"testnet\": true\n};\n\nvar c53399 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 53399,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0603I4\",\n \"nativeCurrency\": {\n \"name\": \"QI0603I4 Token\",\n \"symbol\": \"UQI\",\n \"decimals\": 18\n },\n \"networkId\": 53399,\n \"redFlags\": [],\n \"rpc\": [\"https://53399.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0603I4\",\n \"slug\": \"qi0603i4\",\n \"testnet\": true\n};\n\nvar c53457 = {\n \"chain\": \"DODOchain\",\n \"chainId\": 53457,\n \"explorers\": [{\n \"name\": \"DODOchain Testnet (Sepolia) Explorer\",\n \"url\": \"https://testnet-scan.dodochain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQDdZQjpKhrVM62479RTzppUG8QHhHd8Bq4RFYAjN1yf4\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQDdZQjpKhrVM62479RTzppUG8QHhHd8Bq4RFYAjN1yf4\",\n \"width\": 160,\n \"height\": 160,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.dodochain.com\",\n \"name\": \"DODOchain testnet\",\n \"nativeCurrency\": {\n \"name\": \"DODO\",\n \"symbol\": \"DODO\",\n \"decimals\": 18\n },\n \"networkId\": 53457,\n \"rpc\": [\"https://53457.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dodochain-testnet.alt.technology\", \"wss://dodochain-testnet.alt.technology/ws\"],\n \"shortName\": \"dodochain\",\n \"slug\": \"dodochain-testnet\",\n \"testnet\": true,\n \"title\": \"DODOchain testnet\"\n};\n\nvar c53654 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 53654,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0610S1TS\",\n \"nativeCurrency\": {\n \"name\": \"QI0610S1TS Token\",\n \"symbol\": \"TQA\",\n \"decimals\": 18\n },\n \"networkId\": 53654,\n \"redFlags\": [],\n \"rpc\": [\"https://53654.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0610S1TS\",\n \"slug\": \"qi0610s1ts\",\n \"testnet\": true\n};\n\nvar c53687 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 53687,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0409s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0409s1 Testnet Token\",\n \"symbol\": \"QCE\",\n \"decimals\": 18\n },\n \"networkId\": 53687,\n \"redFlags\": [],\n \"rpc\": [\"https://53687.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0409s1 Testnet\",\n \"slug\": \"qi0409s1-testnet\",\n \"testnet\": true\n};\n\nvar c53935 = {\n \"chain\": \"DFK\",\n \"chainId\": 53935,\n \"explorers\": [{\n \"name\": \"ethernal\",\n \"url\": \"https://explorer.dfkchain.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQB48m15TzhUFrmu56QCRQjkrkgUaKfgCmKE8o3RzmuPJ\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://defikingdoms.com\",\n \"name\": \"DFK Chain\",\n \"nativeCurrency\": {\n \"name\": \"Jewel\",\n \"symbol\": \"JEWEL\",\n \"decimals\": 18\n },\n \"networkId\": 53935,\n \"redFlags\": [],\n \"rpc\": [\"https://53935.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\", \"https://avax-pokt.nodies.app/ext/bc/q2aTwKuyzgs8pynF7UXBZCU7DejbZbZ6EUyHr3JQzYgwNPUPi/rpc\"],\n \"shortName\": \"DFK\",\n \"slug\": \"dfk-chain\",\n \"testnet\": false\n};\n\nvar c54211 = {\n \"chain\": \"TestEdge2\",\n \"chainId\": 54211,\n \"explorers\": [{\n \"name\": \"TestEdge HAQQ Explorer\",\n \"url\": \"https://explorer.testedge2.haqq.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testedge2.haqq.network\"],\n \"infoURL\": \"https://islamiccoin.net\",\n \"name\": \"Haqq Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Islamic Coin\",\n \"symbol\": \"ISLMT\",\n \"decimals\": 18\n },\n \"networkId\": 54211,\n \"rpc\": [\"https://54211.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.eth.testedge2.haqq.network\"],\n \"shortName\": \"ISLMT\",\n \"slip44\": 1,\n \"slug\": \"haqq-chain-testnet\",\n \"testnet\": true\n};\n\nvar c54321 = {\n \"chain\": \"Toronet\",\n \"chainId\": 54321,\n \"ens\": {\n \"registry\": \"0x059C474f26D65B0458F9da10A649a7322aB02C09\"\n },\n \"explorers\": [{\n \"name\": \"toronet_explorer\",\n \"url\": \"https://testnet.toronet.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmciSvgLatP6jhgdazuiyD3fSrhipfAN7wC943v1qxcrpv\",\n \"width\": 846,\n \"height\": 733,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://toronet.org\",\n \"name\": \"Toronet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Toro\",\n \"symbol\": \"TORO\",\n \"decimals\": 18\n },\n \"networkId\": 54321,\n \"rpc\": [\"https://54321.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet.toronet.org/rpc\"],\n \"shortName\": \"ToronetTestnet\",\n \"slip44\": 1,\n \"slug\": \"toronet-testnet\",\n \"testnet\": true\n};\n\nvar c54356 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 54356,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jambon's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jambon's Testnet Token\",\n \"symbol\": \"ZEG\",\n \"decimals\": 18\n },\n \"networkId\": 54356,\n \"redFlags\": [],\n \"rpc\": [\"https://54356.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/e6f00b45-8486-445d-b3b8-815708aab379\"],\n \"shortName\": \"Jambon's Testnet\",\n \"slug\": \"jambon-s-testnet-jambon's testnet-54356\",\n \"testnet\": true\n};\n\nvar c54414 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 54414,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Innovo Markets Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Innovo Markets Testnet Token\",\n \"symbol\": \"INN\",\n \"decimals\": 18\n },\n \"networkId\": 54414,\n \"redFlags\": [],\n \"rpc\": [\"https://54414.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/innovomark/testnet/rpc\"],\n \"shortName\": \"Innovo Markets Testnet\",\n \"slug\": \"innovo-markets-testnet\",\n \"testnet\": true\n};\n\nvar c54454 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 54454,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405063 INTEROP NO PRECOMPILE\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405063 INTEROP NO PRECOMPILE Token\",\n \"symbol\": \"BLY\",\n \"decimals\": 18\n },\n \"networkId\": 54454,\n \"redFlags\": [],\n \"rpc\": [\"https://54454.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405063 INTEROP NO PRECOMPILE\",\n \"slug\": \"qim2405063-interop-no-precompile\",\n \"testnet\": true\n};\n\nvar c54555 = {\n \"chain\": \"Photon\",\n \"chainId\": 54555,\n \"explorers\": [{\n \"name\": \"photon_testnet_explorer\",\n \"url\": \"https://testnet.photonchain.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://photonchain.io/airdrop\"],\n \"infoURL\": \"https://photonchain.io\",\n \"name\": \"Photon Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Photon\",\n \"symbol\": \"PTON\",\n \"decimals\": 18\n },\n \"networkId\": 54555,\n \"rpc\": [\"https://54555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-test.photonchain.io\"],\n \"shortName\": \"pton\",\n \"slug\": \"photon-testnet\",\n \"testnet\": true\n};\n\nvar c54688 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 54688,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0430I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0430I1 Token\",\n \"symbol\": \"ILF\",\n \"decimals\": 18\n },\n \"networkId\": 54688,\n \"redFlags\": [],\n \"rpc\": [\"https://54688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0430I1\",\n \"slug\": \"qi0430i1\",\n \"testnet\": true\n};\n\nvar c54763 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 54763,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3051 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3051 Testnet Token\",\n \"symbol\": \"DSX\",\n \"decimals\": 18\n },\n \"networkId\": 54763,\n \"redFlags\": [],\n \"rpc\": [\"https://54763.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3051 Testnet\",\n \"slug\": \"qauser3051-testnet\",\n \"testnet\": true\n};\n\nvar c55004 = {\n \"chain\": \"ETH\",\n \"chainId\": 55004,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.titan.tokamak.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://tokamak.network\",\n \"name\": \"Titan\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 55004,\n \"rpc\": [\"https://55004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.titan.tokamak.network\", \"wss://rpc.titan.tokamak.network\"],\n \"shortName\": \"teth\",\n \"slug\": \"titan\",\n \"testnet\": false\n};\n\nvar c55200 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 55200,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5256\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5256 Token\",\n \"symbol\": \"UDQ\",\n \"decimals\": 18\n },\n \"networkId\": 55200,\n \"redFlags\": [],\n \"rpc\": [\"https://55200.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5256\",\n \"slug\": \"qauser5256\",\n \"testnet\": true\n};\n\nvar c55246 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 55246,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6469\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6469 Token\",\n \"symbol\": \"ZZX\",\n \"decimals\": 18\n },\n \"networkId\": 55246,\n \"redFlags\": [],\n \"rpc\": [\"https://55246.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6469\",\n \"slug\": \"qauser6469\",\n \"testnet\": true\n};\n\nvar c55432 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 55432,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM DEMO 0527\",\n \"nativeCurrency\": {\n \"name\": \"QIM DEMO 0527 Token\",\n \"symbol\": \"WCC\",\n \"decimals\": 18\n },\n \"networkId\": 55432,\n \"redFlags\": [],\n \"rpc\": [\"https://55432.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qimdemo052/testnet/rpc\"],\n \"shortName\": \"QIM DEMO 0527\",\n \"slug\": \"qim-demo-0527\",\n \"testnet\": true\n};\n\nvar c55555 = {\n \"chain\": \"REI\",\n \"chainId\": 55555,\n \"explorers\": [{\n \"name\": \"reiscan\",\n \"url\": \"https://reiscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://kururu.finance/faucet?chainId=55555\"],\n \"icon\": {\n \"url\": \"ipfs://QmNy5d5knHVjJJS9g4kLsh9i73RTjckpKL6KZvRk6ptbhf\",\n \"width\": 591,\n \"height\": 591,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://reichain.io\",\n \"name\": \"REI Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Rei\",\n \"symbol\": \"REI\",\n \"decimals\": 18\n },\n \"networkId\": 55555,\n \"rpc\": [\"https://55555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rei-rpc.moonrhythm.io\"],\n \"shortName\": \"reichain\",\n \"slug\": \"rei-chain\",\n \"testnet\": false\n};\n\nvar c55556 = {\n \"chain\": \"REI\",\n \"chainId\": 55556,\n \"explorers\": [{\n \"name\": \"reiscan\",\n \"url\": \"https://testnet.reiscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://kururu.finance/faucet?chainId=55556\"],\n \"icon\": {\n \"url\": \"ipfs://QmNy5d5knHVjJJS9g4kLsh9i73RTjckpKL6KZvRk6ptbhf\",\n \"width\": 591,\n \"height\": 591,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://reichain.io\",\n \"name\": \"REI Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tRei\",\n \"symbol\": \"tREI\",\n \"decimals\": 18\n },\n \"networkId\": 55556,\n \"rpc\": [\"https://55556.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rei-testnet-rpc.moonrhythm.io\"],\n \"shortName\": \"trei\",\n \"slip44\": 1,\n \"slug\": \"rei-chain-testnet\",\n \"testnet\": true\n};\n\nvar c56026 = {\n \"chain\": \"Lambda Chain\",\n \"chainId\": 56026,\n \"explorers\": [{\n \"name\": \"Lambda Chain Mainnet Explorer\",\n \"url\": \"https://scan.lambda.im\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXCWjWSTd6kJZKnH9aQRjgLdWRH9NTxU1wC21iBvoB4Hp\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lambda.im\",\n \"name\": \"Lambda Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 56026,\n \"rpc\": [\"https://56026.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nrpc.lambda.im/\"],\n \"shortName\": \"lambda\",\n \"slip44\": 1,\n \"slug\": \"lambda-chain\",\n \"testnet\": false\n};\n\nvar c56054 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56054,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4688\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4688 Token\",\n \"symbol\": \"DPN\",\n \"decimals\": 18\n },\n \"networkId\": 56054,\n \"redFlags\": [],\n \"rpc\": [\"https://56054.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4688\",\n \"slug\": \"qauser4688\",\n \"testnet\": true\n};\n\nvar c56288 = {\n \"chain\": \"Boba BNB Mainnet\",\n \"chainId\": 56288,\n \"explorers\": [{\n \"name\": \"Boba BNB block explorer\",\n \"url\": \"https://bobascan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba BNB Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 56288,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://gateway.boba.network\"\n }]\n },\n \"rpc\": [\"https://56288.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bnb.boba.network\", \"https://boba-bnb.gateway.tenderly.co/\", \"https://gateway.tenderly.co/public/boba-bnb\", \"https://replica.bnb.boba.network\", \"wss://boba-bnb.gateway.tenderly.co/\", \"wss://gateway.tenderly.co/public/boba-bnb\"],\n \"shortName\": \"BobaBnb\",\n \"slug\": \"boba-bnb\",\n \"testnet\": false\n};\n\nvar c56400 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56400,\n \"explorers\": [{\n \"name\": \"TESTNETZER Explorer\",\n \"url\": \"https://subnets-test.avax.network/testnetzer\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet Zeroone\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Zeroone Token\",\n \"symbol\": \"ZERO\",\n \"decimals\": 18\n },\n \"networkId\": 56400,\n \"redFlags\": [],\n \"rpc\": [\"https://56400.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/testnetzer/testnet/rpc\"],\n \"shortName\": \"Testnet Zeroone\",\n \"slug\": \"testnet-zeroone\",\n \"testnet\": true\n};\n\nvar c56525 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56525,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4 Testnet Token\",\n \"symbol\": \"TSQ\",\n \"decimals\": 18\n },\n \"networkId\": 56525,\n \"redFlags\": [],\n \"rpc\": [\"https://56525.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4 Testnet\",\n \"slug\": \"qauser4-testnet-qauser4 testnet-56525\",\n \"testnet\": true\n};\n\nvar c56570 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56570,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4Testnet Token\",\n \"symbol\": \"GYF\",\n \"decimals\": 18\n },\n \"networkId\": 56570,\n \"redFlags\": [],\n \"rpc\": [\"https://56570.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4Testnet\",\n \"slug\": \"qauser4testnet-qauser4testnet\",\n \"testnet\": true\n};\n\nvar c56636 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56636,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0429I3\",\n \"nativeCurrency\": {\n \"name\": \"QI0429I3 Token\",\n \"symbol\": \"IJK\",\n \"decimals\": 18\n },\n \"networkId\": 56636,\n \"redFlags\": [],\n \"rpc\": [\"https://56636.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/b6421f40-aa32-4cdc-98f2-bf22d0db7b4f\"],\n \"shortName\": \"QI0429I3\",\n \"slug\": \"qi0429i3\",\n \"testnet\": true\n};\n\nvar c56789 = {\n \"chain\": \"NOVA chain\",\n \"chainId\": 56789,\n \"explorers\": [{\n \"name\": \"novascan\",\n \"url\": \"https://novascan.velo.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://nova-faucet.velo.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmYqvnW2jwPEKUv8BdaV4sbL8Audcwosat6SPn4GqYtKxc\",\n \"width\": 225,\n \"height\": 225,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://velo.org\",\n \"name\": \"VELO Labs Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Nova\",\n \"symbol\": \"NOVA\",\n \"decimals\": 18\n },\n \"networkId\": 56789,\n \"rpc\": [\"https://56789.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://nova.velo.org\"],\n \"shortName\": \"VELO\",\n \"slug\": \"velo-labs\",\n \"testnet\": false\n};\n\nvar c56797 = {\n \"chain\": \"DOID\",\n \"chainId\": 56797,\n \"explorers\": [{\n \"name\": \"DOID Testnet Scan\",\n \"url\": \"https://scan.testnet.doid.tech\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmXYSMyMnMvBf2F1ih6dTcRVUhmMnpzvmuP7vieLjmNQo5\",\n \"width\": 41,\n \"height\": 52,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmXYSMyMnMvBf2F1ih6dTcRVUhmMnpzvmuP7vieLjmNQo5\",\n \"width\": 41,\n \"height\": 52,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://doid.tech\",\n \"name\": \"DOID Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DOID\",\n \"symbol\": \"DOID\",\n \"decimals\": 18\n },\n \"networkId\": 56797,\n \"rpc\": [\"https://56797.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.doid.tech\"],\n \"shortName\": \"doidTestnet\",\n \"slug\": \"doid-testnet\",\n \"testnet\": true\n};\n\nvar c56914 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56914,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"KK1223\",\n \"nativeCurrency\": {\n \"name\": \"KK1223 Token\",\n \"symbol\": \"KLK\",\n \"decimals\": 18\n },\n \"networkId\": 56914,\n \"redFlags\": [],\n \"rpc\": [\"https://56914.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/bf540c23-4601-4768-9e26-f2e5f0f89c18\"],\n \"shortName\": \"KK1223\",\n \"slug\": \"kk1223\",\n \"testnet\": true\n};\n\nvar c56973 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 56973,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0587\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0587 Token\",\n \"symbol\": \"IDZ\",\n \"decimals\": 18\n },\n \"networkId\": 56973,\n \"redFlags\": [],\n \"rpc\": [\"https://56973.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0587\",\n \"slug\": \"qauser0587\",\n \"testnet\": true\n};\n\nvar c57000 = {\n \"chain\": \"SYS\",\n \"chainId\": 57000,\n \"explorers\": [{\n \"name\": \"Rollux Testnet Explorer\",\n \"url\": \"https://rollux.tanenbaum.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://rollux.id/faucetapp\"],\n \"infoURL\": \"https://rollux.com\",\n \"name\": \"Rollux Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Syscoin\",\n \"symbol\": \"TSYS\",\n \"decimals\": 18\n },\n \"networkId\": 57000,\n \"rpc\": [\"https://57000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-tanenbaum.rollux.com\", \"https://rpc.ankr.com/rollux_testnet/${ANKR_API_KEY}\", \"wss://rpc-tanenbaum.rollux.com/wss\", \"https://rollux.rpc.tanenbaum.io\", \"wss://rollux.rpc.tanenbaum.io/wss\"],\n \"shortName\": \"tsys-rollux\",\n \"slip44\": 1,\n \"slug\": \"rollux-testnet\",\n \"testnet\": true\n};\n\nvar c57021 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 57021,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2403061\",\n \"nativeCurrency\": {\n \"name\": \"QIM2403061 Token\",\n \"symbol\": \"VVC\",\n \"decimals\": 18\n },\n \"networkId\": 57021,\n \"redFlags\": [],\n \"rpc\": [\"https://57021.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2403061\",\n \"slug\": \"qim2403061\",\n \"testnet\": true\n};\n\nvar c57451 = {\n \"chain\": \"coinsecnetwork\",\n \"chainId\": 57451,\n \"explorers\": [{\n \"name\": \"coinsecnetwork\",\n \"url\": \"https://explorer.coinsec.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeUyBe58BPndt6SpH9Tn1a8AYpNtHbMVhVyZt8Ppc4HTB\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://explorer.coinsec.network/\",\n \"name\": \"COINSEC Network\",\n \"nativeCurrency\": {\n \"name\": \"COINSEC\",\n \"symbol\": \"SEC\",\n \"decimals\": 18\n },\n \"networkId\": 57451,\n \"rpc\": [\"https://57451.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.coinsec.network\"],\n \"shortName\": \"coinsecnetwork\",\n \"slug\": \"coinsec-network\",\n \"testnet\": false,\n \"title\": \"COINSEC Network\"\n};\n\nvar c57487 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 57487,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"PTNEWLO\",\n \"nativeCurrency\": {\n \"name\": \"PTNEWLO Token\",\n \"symbol\": \"PTNL\",\n \"decimals\": 18\n },\n \"networkId\": 57487,\n \"redFlags\": [],\n \"rpc\": [\"https://57487.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/ptnewlo/testnet/rpc\"],\n \"shortName\": \"PTNEWLO\",\n \"slug\": \"ptnewlo\",\n \"testnet\": true\n};\n\nvar c57522 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 57522,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Cohan Test\",\n \"nativeCurrency\": {\n \"name\": \"Cohan Test Token\",\n \"symbol\": \"NYU\",\n \"decimals\": 18\n },\n \"networkId\": 57522,\n \"redFlags\": [],\n \"rpc\": [\"https://57522.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/fc395ee3-9e2d-45ea-951a-233b4f3e367d\"],\n \"shortName\": \"Cohan Test\",\n \"slug\": \"cohan-test\",\n \"testnet\": true\n};\n\nvar c57822 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 57822,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6586\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6586 Token\",\n \"symbol\": \"FUS\",\n \"decimals\": 18\n },\n \"networkId\": 57822,\n \"redFlags\": [],\n \"rpc\": [\"https://57822.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6586\",\n \"slug\": \"qauser6586\",\n \"testnet\": true\n};\n\nvar c57923 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 57923,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0614I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0614I1 Token\",\n \"symbol\": \"GZD\",\n \"decimals\": 18\n },\n \"networkId\": 57923,\n \"redFlags\": [],\n \"rpc\": [\"https://57923.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0614I1\",\n \"slug\": \"qi0614i1\",\n \"testnet\": true\n};\n\nvar c57973 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 57973,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5524 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5524 Testnet Token\",\n \"symbol\": \"ADN\",\n \"decimals\": 18\n },\n \"networkId\": 57973,\n \"redFlags\": [],\n \"rpc\": [\"https://57973.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5524 Testnet\",\n \"slug\": \"qauser5524-testnet\",\n \"testnet\": true\n};\n\nvar c58008 = {\n \"chain\": \"ETH\",\n \"chainId\": 58008,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.sepolia.publicgoods.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmUVJ7MLCEAfq3pHVPFLscqRMiyAY5biVgTkeDQCmAhHNS\",\n \"width\": 574,\n \"height\": 574,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://publicgoods.network/\",\n \"name\": \"Sepolia PGN (Public Goods Network)\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 58008,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://pgn-bridge.vercel.app/bridge\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://58008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.publicgoods.network\"],\n \"shortName\": \"sepPGN\",\n \"slug\": \"sepolia-pgn-public-goods-network\",\n \"testnet\": true\n};\n\nvar c58050 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 58050,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0417\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0417 Token\",\n \"symbol\": \"HAR\",\n \"decimals\": 18\n },\n \"networkId\": 58050,\n \"redFlags\": [],\n \"rpc\": [\"https://58050.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0417\",\n \"slug\": \"qauser0417\",\n \"testnet\": true\n};\n\nvar c58064 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 58064,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0209I3\",\n \"nativeCurrency\": {\n \"name\": \"QI0209I3 Token\",\n \"symbol\": \"BLOX\",\n \"decimals\": 18\n },\n \"networkId\": 58064,\n \"redFlags\": [],\n \"rpc\": [\"https://58064.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0209I3\",\n \"slug\": \"qi0209i3\",\n \"testnet\": true\n};\n\nvar c58316 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 58316,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1943 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1943 Testnet Token\",\n \"symbol\": \"JAI\",\n \"decimals\": 18\n },\n \"networkId\": 58316,\n \"redFlags\": [],\n \"rpc\": [\"https://58316.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1943 Testnet\",\n \"slug\": \"qauser1943-testnet\",\n \"testnet\": true\n};\n\nvar c58474 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 58474,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0408s4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0408s4 Testnet Token\",\n \"symbol\": \"QCE\",\n \"decimals\": 18\n },\n \"networkId\": 58474,\n \"redFlags\": [],\n \"rpc\": [\"https://58474.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0408s4 Testnet\",\n \"slug\": \"qi0408s4-testnet\",\n \"testnet\": true\n};\n\nvar c59069 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 59069,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ST 12-12 V2\",\n \"nativeCurrency\": {\n \"name\": \"ST 12-12 V2 Token\",\n \"symbol\": \"GXE\",\n \"decimals\": 18\n },\n \"networkId\": 59069,\n \"redFlags\": [],\n \"rpc\": [\"https://59069.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"ST 12-12 V2\",\n \"slug\": \"st-12-12-v2\",\n \"testnet\": true\n};\n\nvar c59140 = {\n \"chain\": \"ETH\",\n \"chainId\": 59140,\n \"explorers\": [{\n \"name\": \"Etherscan\",\n \"url\": \"https://goerli.lineascan.build\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.goerli.linea.build\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://faucetlink.to/goerli\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://linea.build\",\n \"name\": \"Linea Goerli\",\n \"nativeCurrency\": {\n \"name\": \"Linea Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 59140,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://goerli.hop.exchange/#/send?token=ETH&sourceNetwork=ethereum&destNetwork=linea\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://59140.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://linea-goerli.infura.io/v3/${INFURA_API_KEY}\", \"wss://linea-goerli.infura.io/ws/v3/${INFURA_API_KEY}\", \"https://rpc.goerli.linea.build\", \"wss://rpc.goerli.linea.build\"],\n \"shortName\": \"linea-goerli\",\n \"slip44\": 1,\n \"slug\": \"linea-goerli\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Linea Goerli Testnet\"\n};\n\nvar c59141 = {\n \"chain\": \"ETH\",\n \"chainId\": 59141,\n \"explorers\": [{\n \"name\": \"Etherscan\",\n \"url\": \"https://sepolia.lineascan.build\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.sepolia.linea.build\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.sepolia.linea.build/\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 30,\n \"height\": 30,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 30,\n \"height\": 30,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://linea.build\",\n \"name\": \"Linea Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Linea Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 59141,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://59141.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://linea-sepolia.infura.io/v3/${INFURA_API_KEY}\", \"wss://linea-sepolia.infura.io/ws/v3/${INFURA_API_KEY}\", \"https://rpc.sepolia.linea.build\", \"wss://rpc.sepolia.linea.build\"],\n \"shortName\": \"linea-sepolia\",\n \"slip44\": 1,\n \"slug\": \"linea-sepolia\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Linea Sepolia Testnet\"\n};\n\nvar c59144 = {\n \"chain\": \"ETH\",\n \"chainId\": 59144,\n \"explorers\": [{\n \"name\": \"lineascan\",\n \"url\": \"https://lineascan.build\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.linea.build\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"L2scan\",\n \"url\": \"https://linea.l2scan.co\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmURjritnHL7a8TwZgsFwp3f272DJmG5paaPtWDZ98QZwH\",\n \"width\": 97,\n \"height\": 102,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://linea.build\",\n \"name\": \"Linea\",\n \"nativeCurrency\": {\n \"name\": \"Linea Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 59144,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.linea.build\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://59144.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://linea-mainnet.infura.io/v3/${INFURA_API_KEY}\", \"wss://linea-mainnet.infura.io/ws/v3/${INFURA_API_KEY}\", \"https://rpc.linea.build\", \"wss://rpc.linea.build\"],\n \"shortName\": \"linea\",\n \"slug\": \"linea\",\n \"status\": \"active\",\n \"testnet\": false,\n \"title\": \"Linea Mainnet\"\n};\n\nvar c59185 = {\n \"chain\": \"BEYOND\",\n \"chainId\": 59185,\n \"explorers\": [{\n \"name\": \"Beyond\",\n \"url\": \"https://explorerl2new-beyond-indigo-playground-xz87sjgmaj.t.conduit.xyz\",\n \"standard\": \"standard\",\n \"icon\": {\n \"url\": \"ipfs://QmbLxRVZ27Yy6RE9xAdYgSxGPB1TjPtcxahy6uNnp2Pt6T/Beyond.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbLxRVZ27Yy6RE9xAdYgSxGPB1TjPtcxahy6uNnp2Pt6T/Beyond.jpg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://explorerl2new-beyond-indigo-playground-xz87sjgmaj.t.conduit.xyz\",\n \"name\": \"BeyondChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BEYOND\",\n \"symbol\": \"BEYOND\",\n \"decimals\": 18\n },\n \"networkId\": 59185,\n \"redFlags\": [],\n \"rpc\": [\"https://59185.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-beyond-indigo-playground-xz87sjgmaj.t.conduit.xyz\"],\n \"shortName\": \"beyond-indigo-playground-xz87sjgmaj\",\n \"slug\": \"beyondchain-testnet\",\n \"testnet\": true\n};\n\nvar c59932 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 59932,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Insomnia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Insomnia Testnet Token\",\n \"symbol\": \"TECH\",\n \"decimals\": 18\n },\n \"networkId\": 59932,\n \"redFlags\": [],\n \"rpc\": [\"https://59932.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/instest/testnet/rpc\"],\n \"shortName\": \"Insomnia Testnet\",\n \"slug\": \"insomnia-testnet\",\n \"testnet\": true\n};\n\nvar c59940 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 59940,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0510s1\",\n \"nativeCurrency\": {\n \"name\": \"QR0510s1 Token\",\n \"symbol\": \"RTQ\",\n \"decimals\": 18\n },\n \"networkId\": 59940,\n \"redFlags\": [],\n \"rpc\": [\"https://59940.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0510s1/testnet/rpc\"],\n \"shortName\": \"QR0510s1\",\n \"slug\": \"qr0510s1\",\n \"testnet\": true\n};\n\nvar c59944 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 59944,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7920 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7920 Testnet Token\",\n \"symbol\": \"USH\",\n \"decimals\": 18\n },\n \"networkId\": 59944,\n \"redFlags\": [],\n \"rpc\": [\"https://59944.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7920 Testnet\",\n \"slug\": \"qauser7920-testnet\",\n \"testnet\": true\n};\n\nvar c59971 = {\n \"chain\": \"GCODE\",\n \"chainId\": 59971,\n \"explorers\": [{\n \"name\": \"Genesys Scan\",\n \"url\": \"https://genesysscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreihgmpaceze7rxpajv7yrlx3cb6daqubippkpvgryzairtaubsjjoe\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihgmpaceze7rxpajv7yrlx3cb6daqubippkpvgryzairtaubsjjoe\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://genesyscode.io\",\n \"name\": \"Genesys Code Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"GenesysCode\",\n \"symbol\": \"GCODE\",\n \"decimals\": 18\n },\n \"networkId\": 59971,\n \"rpc\": [\"https://59971.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.genesyscode.io/\"],\n \"shortName\": \"gcode\",\n \"slug\": \"genesys-code\",\n \"testnet\": false\n};\n\nvar c60000 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 60000,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://test0.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.thinkiumdev.net/faucet\"],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Testnet Chain 0\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 60000,\n \"rpc\": [\"https://60000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test.thinkiumrpc.net/\"],\n \"shortName\": \"TKM-test0\",\n \"slip44\": 1,\n \"slug\": \"thinkium-testnet-chain-0\",\n \"testnet\": true\n};\n\nvar c60001 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 60001,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://test1.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.thinkiumdev.net/faucet\"],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Testnet Chain 1\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 60001,\n \"rpc\": [\"https://60001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test1.thinkiumrpc.net/\"],\n \"shortName\": \"TKM-test1\",\n \"slip44\": 1,\n \"slug\": \"thinkium-testnet-chain-1\",\n \"testnet\": true\n};\n\nvar c60002 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 60002,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://test2.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.thinkiumdev.net/faucet\"],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Testnet Chain 2\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 60002,\n \"rpc\": [\"https://60002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test2.thinkiumrpc.net/\"],\n \"shortName\": \"TKM-test2\",\n \"slip44\": 1,\n \"slug\": \"thinkium-testnet-chain-2\",\n \"testnet\": true\n};\n\nvar c60103 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 60103,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://test103.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.thinkiumdev.net/faucet\"],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Testnet Chain 103\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 60103,\n \"rpc\": [\"https://60103.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test103.thinkiumrpc.net/\"],\n \"shortName\": \"TKM-test103\",\n \"slip44\": 1,\n \"slug\": \"thinkium-testnet-chain-103\",\n \"testnet\": true\n};\n\nvar c60147 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 60147,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6828\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6828 Token\",\n \"symbol\": \"CLL\",\n \"decimals\": 18\n },\n \"networkId\": 60147,\n \"redFlags\": [],\n \"rpc\": [\"https://60147.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6828\",\n \"slug\": \"qauser6828\",\n \"testnet\": true\n};\n\nvar c60808 = {\n \"chain\": \"ETH\",\n \"chainId\": 60808,\n \"explorers\": [{\n \"name\": \"bobscout\",\n \"url\": \"https://explorer.gobob.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaX5iqQTrJD8TBuvoT97xPMG6LYamjPCPnZUUMh12jc99\",\n \"width\": 297,\n \"height\": 378,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gobob.xyz\",\n \"name\": \"BOB\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 60808,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://app.gobob.xyz\"\n }]\n },\n \"rpc\": [\"https://60808.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gobob.xyz\", \"wss://rpc.gobob.xyz\", \"https://bob-mainnet.public.blastapi.io\", \"wss://bob-mainnet.public.blastapi.io\"],\n \"shortName\": \"bob\",\n \"slug\": \"bob\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c60834 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 60834,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402059\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402059 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 60834,\n \"redFlags\": [],\n \"rpc\": [\"https://60834.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402059\",\n \"slug\": \"qi-m-2402059\",\n \"testnet\": true\n};\n\nvar c60841 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 60841,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"SCG-K\",\n \"nativeCurrency\": {\n \"name\": \"SCG-K Token\",\n \"symbol\": \"REC\",\n \"decimals\": 18\n },\n \"networkId\": 60841,\n \"redFlags\": [],\n \"rpc\": [\"https://60841.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/scgk/testnet/rpc\"],\n \"shortName\": \"SCG-K\",\n \"slug\": \"scg-k\",\n \"testnet\": true\n};\n\nvar c61205 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 61205,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6116 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6116 Testnet Token\",\n \"symbol\": \"YLJ\",\n \"decimals\": 18\n },\n \"networkId\": 61205,\n \"redFlags\": [],\n \"rpc\": [\"https://61205.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6116 Testnet\",\n \"slug\": \"qauser6116-testnet\",\n \"testnet\": true\n};\n\nvar c61258 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 61258,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7821 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7821 Testnet Token\",\n \"symbol\": \"WND\",\n \"decimals\": 18\n },\n \"networkId\": 61258,\n \"redFlags\": [],\n \"rpc\": [\"https://61258.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7821 Testnet\",\n \"slug\": \"qauser7821-testnet\",\n \"testnet\": true\n};\n\nvar c61406 = {\n \"chain\": \"KEC\",\n \"chainId\": 61406,\n \"explorers\": [{\n \"name\": \"KaiChain Explorer\",\n \"url\": \"https://explorer.kaichain.net\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"KEC SCAN\",\n \"url\": \"https://explorer.kaichain.net/\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbfRP2Ugo66pw6Mn8m9ChP4UE6Rn5nobtDo7Vy7ej93qA/kaichain%20icon.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbfRP2Ugo66pw6Mn8m9ChP4UE6Rn5nobtDo7Vy7ej93qA/kaichain%20icon.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://kaichain.net/\",\n \"name\": \"Kaichain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Kaichain\",\n \"symbol\": \"KEC\",\n \"decimals\": 18\n },\n \"networkId\": 61406,\n \"redFlags\": [],\n \"rpc\": [\"https://61406.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.kaichain.net\"],\n \"shortName\": \"Kaichain\",\n \"slug\": \"kaichain\",\n \"testnet\": false\n};\n\nvar c61514 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 61514,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI011624I1\",\n \"nativeCurrency\": {\n \"name\": \"QI011624I1 Token\",\n \"symbol\": \"DGQ\",\n \"decimals\": 18\n },\n \"networkId\": 61514,\n \"redFlags\": [],\n \"rpc\": [\"https://61514.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/e81adde6-3c1b-46ce-8dfe-e7a689f8c7eb\"],\n \"shortName\": \"QI011624I1\",\n \"slug\": \"qi011624i1\",\n \"testnet\": true\n};\n\nvar c61551 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 61551,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0304T1TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0304T1TS Testnet Token\",\n \"symbol\": \"OYU\",\n \"decimals\": 18\n },\n \"networkId\": 61551,\n \"redFlags\": [],\n \"rpc\": [\"https://61551.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0304t1ts/testnet/rpc\"],\n \"shortName\": \"QR0304T1TS Testnet\",\n \"slug\": \"qr0304t1ts-testnet\",\n \"testnet\": true\n};\n\nvar c61800 = {\n \"chain\": \"AXEL\",\n \"chainId\": 61800,\n \"explorers\": [{\n \"name\": \"AxelChain Dev-Net Explorer\",\n \"url\": \"https://devexplorer2.viacube.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNx8FRacfNeawhkjk5p57EKzDHkLGMaBBmK2VRL5CB2P2\",\n \"width\": 40,\n \"height\": 40,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.axel.org\",\n \"name\": \"AxelChain Dev-Net\",\n \"nativeCurrency\": {\n \"name\": \"Axelium\",\n \"symbol\": \"AIUM\",\n \"decimals\": 18\n },\n \"networkId\": 61800,\n \"rpc\": [\"https://61800.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://aium-rpc-dev.viacube.com\"],\n \"shortName\": \"aium-dev\",\n \"slug\": \"axelchain-dev-net\",\n \"testnet\": false\n};\n\nvar c61803 = {\n \"chain\": \"Etica Protocol (ETI/EGAZ)\",\n \"chainId\": 61803,\n \"explorers\": [{\n \"name\": \"eticascan\",\n \"url\": \"https://eticascan.org\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"eticastats\",\n \"url\": \"http://explorer.etica-stats.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://faucet.etica-stats.org/\"],\n \"icon\": {\n \"url\": \"ipfs://QmYSyhUqm6ArWyALBe3G64823ZpEUmFdkzKZ93hUUhNKgU\",\n \"width\": 360,\n \"height\": 361,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eticaprotocol.org\",\n \"name\": \"Etica Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"EGAZ\",\n \"symbol\": \"EGAZ\",\n \"decimals\": 18\n },\n \"networkId\": 61803,\n \"rpc\": [\"https://61803.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eticamainnet.eticascan.org\", \"https://eticamainnet.eticaprotocol.org\"],\n \"shortName\": \"Etica\",\n \"slug\": \"etica\",\n \"testnet\": false\n};\n\nvar c61916 = {\n \"chain\": \"DoKEN Super Chain\",\n \"chainId\": 61916,\n \"explorers\": [{\n \"name\": \"DSC Scan\",\n \"url\": \"https://explore.doken.dev\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreifms4eio6v56oyeemnnu5luq3sc44hptan225lr45itgzu3u372iu\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifms4eio6v56oyeemnnu5luq3sc44hptan225lr45itgzu3u372iu\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://doken.dev/\",\n \"name\": \"DoKEN Super Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DoKEN\",\n \"symbol\": \"DKN\",\n \"decimals\": 18\n },\n \"networkId\": 61916,\n \"rpc\": [\"https://61916.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sgrpc.doken.dev\", \"https://nyrpc.doken.dev\", \"https://ukrpc.doken.dev\"],\n \"shortName\": \"DoKEN\",\n \"slug\": \"doken-super-chain\",\n \"testnet\": false\n};\n\nvar c62040 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 62040,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0430s1\",\n \"nativeCurrency\": {\n \"name\": \"QI0430s1 Token\",\n \"symbol\": \"SWS\",\n \"decimals\": 18\n },\n \"networkId\": 62040,\n \"redFlags\": [],\n \"rpc\": [\"https://62040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0430s1\",\n \"slug\": \"qi0430s1\",\n \"testnet\": true\n};\n\nvar c62049 = {\n \"chain\": \"ETH\",\n \"chainId\": 62049,\n \"explorers\": [{\n \"name\": \"optopia-testnet-scan\",\n \"url\": \"https://scan-testnet.optopia.ai\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreid3xv3zkuo2cygwt7vwm5c2aqjbyhy5qxn7xkc66ajhu2mjh2ybki\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreid3xv3zkuo2cygwt7vwm5c2aqjbyhy5qxn7xkc66ajhu2mjh2ybki\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optopia.ai\",\n \"name\": \"OPTOPIA Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 62049,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://bridge-testnet.optopia.ai\"\n }]\n },\n \"rpc\": [\"https://62049.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.optopia.ai\"],\n \"shortName\": \"OPTOPIA-Testnet\",\n \"slug\": \"optopia-testnet\",\n \"testnet\": true\n};\n\nvar c62050 = {\n \"chain\": \"ETH\",\n \"chainId\": 62050,\n \"explorers\": [{\n \"name\": \"optopia-scan\",\n \"url\": \"https://scan.optopia.ai\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreid3xv3zkuo2cygwt7vwm5c2aqjbyhy5qxn7xkc66ajhu2mjh2ybki\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreid3xv3zkuo2cygwt7vwm5c2aqjbyhy5qxn7xkc66ajhu2mjh2ybki\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optopia.ai\",\n \"name\": \"Optopia Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 62050,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://bridge.optopia.ai\"\n }]\n },\n \"rpc\": [\"https://62050.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.optopia.ai\", \"https://rpc-mainnet-2.optopia.ai\"],\n \"shortName\": \"Optopia\",\n \"slug\": \"optopia\",\n \"testnet\": false\n};\n\nvar c62278 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 62278,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qi1121i1\",\n \"nativeCurrency\": {\n \"name\": \"qi1121i1 Token\",\n \"symbol\": \"SJOX\",\n \"decimals\": 18\n },\n \"networkId\": 62278,\n \"redFlags\": [],\n \"rpc\": [\"https://62278.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"qi1121i1\",\n \"slug\": \"qi1121i1\",\n \"testnet\": true\n};\n\nvar c62293 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 62293,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0516s1dev\",\n \"nativeCurrency\": {\n \"name\": \"QI0516s1dev Token\",\n \"symbol\": \"OMF\",\n \"decimals\": 18\n },\n \"networkId\": 62293,\n \"redFlags\": [],\n \"rpc\": [\"https://62293.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0516s1dev\",\n \"slug\": \"qi0516s1dev\",\n \"testnet\": true\n};\n\nvar c62298 = {\n \"chain\": \"Citrea\",\n \"chainId\": 62298,\n \"explorers\": [{\n \"name\": \"Citrea Devnet Explorer\",\n \"url\": \"https://explorer.devnet.citrea.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTfgH4X7ZWkHprKgjUZ7SDcCGtS5f2CBuaTEtQYMsydmJ\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://citrea.xyz/bridge\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTfgH4X7ZWkHprKgjUZ7SDcCGtS5f2CBuaTEtQYMsydmJ\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://citrea.xyz\",\n \"name\": \"Citrea Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Citrea BTC\",\n \"symbol\": \"cBTC\",\n \"decimals\": 18\n },\n \"networkId\": 62298,\n \"rpc\": [\"https://62298.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.devnet.citrea.xyz\"],\n \"shortName\": \"citrea-devnet\",\n \"slug\": \"citrea-devnet\",\n \"testnet\": false\n};\n\nvar c62320 = {\n \"chain\": \"CELO\",\n \"chainId\": 62320,\n \"explorers\": [],\n \"faucets\": [\"https://docs.google.com/forms/d/e/1FAIpQLSdfr1BwUTYepVmmvfVUDRCwALejZ-TUva2YujNpvrEmPAX2pg/viewform\", \"https://cauldron.pretoriaresearchlab.io/baklava-faucet\"],\n \"infoURL\": \"https://docs.celo.org/\",\n \"name\": \"Celo Baklava Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CELO\",\n \"symbol\": \"CELO\",\n \"decimals\": 18\n },\n \"networkId\": 62320,\n \"rpc\": [\"https://62320.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://baklava-forno.celo-testnet.org\"],\n \"shortName\": \"BKLV\",\n \"slip44\": 1,\n \"slug\": \"celo-baklava-testnet\",\n \"testnet\": true\n};\n\nvar c62621 = {\n \"chain\": \"MultiVAC\",\n \"chainId\": 62621,\n \"explorers\": [{\n \"name\": \"MultiVAC Explorer\",\n \"url\": \"https://e.mtv.ac\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWb1gthhbzkiLdgcP8ccZprGbJVjFcW8Rn4uJjrw4jd3B\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mtv.ac\",\n \"name\": \"MultiVAC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"MultiVAC\",\n \"symbol\": \"MTV\",\n \"decimals\": 18\n },\n \"networkId\": 62621,\n \"rpc\": [\"https://62621.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mtv.ac\", \"https://rpc-eu.mtv.ac\"],\n \"shortName\": \"mtv\",\n \"slug\": \"multivac\",\n \"testnet\": false\n};\n\nvar c62831 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 62831,\n \"explorers\": [{\n \"name\": \"Avalanche Subnet Testnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/plyr\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.avax.network/?subnet=plyr\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://plyr.network/plyr_logo.png\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://plyr.network\",\n \"name\": \"PLYR TAU TESTNET\",\n \"nativeCurrency\": {\n \"name\": \"PLYR TAU TESTNET Token\",\n \"symbol\": \"PLYR\",\n \"decimals\": 18\n },\n \"networkId\": 62831,\n \"redFlags\": [],\n \"rpc\": [\"https://62831.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/plyr/testnet/rpc\"],\n \"shortName\": \"PLYR TAU TESTNET\",\n \"slip44\": 1,\n \"slug\": \"plyr-tau-testnet\",\n \"testnet\": true\n};\n\nvar c63000 = {\n \"chain\": \"ECS\",\n \"chainId\": 63000,\n \"explorers\": [{\n \"name\": \"eCredits MainNet Explorer\",\n \"url\": \"https://explorer.ecredits.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmU9H9JE1KtLh2Fxrd8EWTMjKGJBpgRWKUeEx7u6ic4kBY\",\n \"width\": 32,\n \"height\": 32,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmU9H9JE1KtLh2Fxrd8EWTMjKGJBpgRWKUeEx7u6ic4kBY\",\n \"width\": 32,\n \"height\": 32,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ecredits.com\",\n \"name\": \"eCredits Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"eCredits\",\n \"symbol\": \"ECS\",\n \"decimals\": 18\n },\n \"networkId\": 63000,\n \"rpc\": [\"https://63000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ecredits.com\"],\n \"shortName\": \"ecs\",\n \"slug\": \"ecredits\",\n \"testnet\": false\n};\n\nvar c63001 = {\n \"chain\": \"ECS\",\n \"chainId\": 63001,\n \"explorers\": [{\n \"name\": \"eCredits TestNet Explorer\",\n \"url\": \"https://explorer.tst.ecredits.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmU9H9JE1KtLh2Fxrd8EWTMjKGJBpgRWKUeEx7u6ic4kBY\",\n \"width\": 32,\n \"height\": 32,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.tst.ecredits.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmU9H9JE1KtLh2Fxrd8EWTMjKGJBpgRWKUeEx7u6ic4kBY\",\n \"width\": 32,\n \"height\": 32,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ecredits.com\",\n \"name\": \"eCredits Testnet\",\n \"nativeCurrency\": {\n \"name\": \"eCredits\",\n \"symbol\": \"ECS\",\n \"decimals\": 18\n },\n \"networkId\": 63001,\n \"rpc\": [\"https://63001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tst.ecredits.com\"],\n \"shortName\": \"ecs-testnet\",\n \"slip44\": 1,\n \"slug\": \"ecredits-testnet\",\n \"testnet\": true\n};\n\nvar c63079 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 63079,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"MT 1121-2\",\n \"nativeCurrency\": {\n \"name\": \"MT 1121-2 Token\",\n \"symbol\": \"RCE\",\n \"decimals\": 18\n },\n \"networkId\": 63079,\n \"redFlags\": [],\n \"rpc\": [\"https://63079.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/d76ea66a-e423-49f6-8ef1-4355260b47f1\"],\n \"shortName\": \"MT 1121-2\",\n \"slug\": \"mt-1121-2\",\n \"testnet\": true\n};\n\nvar c63367 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 63367,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ReSFT 1-16-24\",\n \"nativeCurrency\": {\n \"name\": \"ReSFT 1-16-24 Token\",\n \"symbol\": \"ZAF\",\n \"decimals\": 18\n },\n \"networkId\": 63367,\n \"redFlags\": [],\n \"rpc\": [\"https://63367.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"ReSFT 1-16-24\",\n \"slug\": \"resft-1-16-24\",\n \"testnet\": true\n};\n\nvar c63891 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 63891,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Tnetv2\",\n \"nativeCurrency\": {\n \"name\": \"Tnetv2 Token\",\n \"symbol\": \"LFC\",\n \"decimals\": 18\n },\n \"networkId\": 63891,\n \"redFlags\": [],\n \"rpc\": [\"https://63891.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Tnetv2\",\n \"slug\": \"tnetv2\",\n \"testnet\": true\n};\n\nvar c64029 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64029,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0524I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0524I1 Token\",\n \"symbol\": \"LHU\",\n \"decimals\": 18\n },\n \"networkId\": 64029,\n \"redFlags\": [],\n \"rpc\": [\"https://64029.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0524I1\",\n \"slug\": \"qi0524i1\",\n \"testnet\": true\n};\n\nvar c64092 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64092,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3186 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3186 Testnet Token\",\n \"symbol\": \"KII\",\n \"decimals\": 18\n },\n \"networkId\": 64092,\n \"redFlags\": [],\n \"rpc\": [\"https://64092.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3186 Testnet\",\n \"slug\": \"qauser3186-testnet\",\n \"testnet\": true\n};\n\nvar c64165 = {\n \"chain\": \"FTM\",\n \"chainId\": 64165,\n \"ens\": {\n \"registry\": \"standard\"\n },\n \"explorers\": [{\n \"name\": \"Fantom Sonic Builders Testnet\",\n \"url\": \"https://sonicscan.io/\",\n \"standard\": \"standard\",\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/fantom/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://public-sonic.fantom.network/account\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/fantom/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sonicscan.io/\",\n \"name\": \"Fantom Sonic Builders Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Fantom\",\n \"symbol\": \"FTM\",\n \"decimals\": 18\n },\n \"networkId\": 64165,\n \"redFlags\": [],\n \"rpc\": [\"https://64165.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sonic.fantom.network/\"],\n \"shortName\": \"FantomTestnet\",\n \"slug\": \"fantom-sonic-builders-testnet\",\n \"testnet\": true\n};\n\nvar c64273 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64273,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"REALLY\",\n \"nativeCurrency\": {\n \"name\": \"REALLY Token\",\n \"symbol\": \"FAN\",\n \"decimals\": 18\n },\n \"networkId\": 64273,\n \"redFlags\": [],\n \"rpc\": [\"https://64273.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/really/mainnet/rpc\"],\n \"shortName\": \"REALLY\",\n \"slug\": \"really-really\",\n \"testnet\": false\n};\n\nvar c64326 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64326,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0523s1t\",\n \"nativeCurrency\": {\n \"name\": \"QI0523s1t Token\",\n \"symbol\": \"ADN\",\n \"decimals\": 18\n },\n \"networkId\": 64326,\n \"redFlags\": [],\n \"rpc\": [\"https://64326.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0523s1t\",\n \"slug\": \"qi0523s1t\",\n \"testnet\": true\n};\n\nvar c64361 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64361,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser8734 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser8734 Testnet Token\",\n \"symbol\": \"XPI\",\n \"decimals\": 18\n },\n \"networkId\": 64361,\n \"redFlags\": [],\n \"rpc\": [\"https://64361.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser8734 Testnet\",\n \"slug\": \"qauser8734-testnet\",\n \"testnet\": true\n};\n\nvar c64643 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64643,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qasim Testnet\",\n \"nativeCurrency\": {\n \"name\": \"qasim Testnet Token\",\n \"symbol\": \"SQJ\",\n \"decimals\": 18\n },\n \"networkId\": 64643,\n \"redFlags\": [],\n \"rpc\": [\"https://64643.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"qasim Testnet\",\n \"slug\": \"qasim-testnet\",\n \"testnet\": true\n};\n\nvar c64943 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64943,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0430I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0430I1 Token\",\n \"symbol\": \"JIQ\",\n \"decimals\": 18\n },\n \"networkId\": 64943,\n \"redFlags\": [],\n \"rpc\": [\"https://64943.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0430I1\",\n \"slug\": \"qi0430i1-qi0430i1\",\n \"testnet\": true\n};\n\nvar c64947 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 64947,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0604S1T\",\n \"nativeCurrency\": {\n \"name\": \"QR0604S1T Token\",\n \"symbol\": \"GKN\",\n \"decimals\": 18\n },\n \"networkId\": 64947,\n \"redFlags\": [],\n \"rpc\": [\"https://64947.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0604s1t/testnet/rpc\"],\n \"shortName\": \"QR0604S1T\",\n \"slug\": \"qr0604s1t\",\n \"testnet\": true\n};\n\nvar c65044 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 65044,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"EXR0314 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"EXR0314 Testnet Token\",\n \"symbol\": \"BPR\",\n \"decimals\": 18\n },\n \"networkId\": 65044,\n \"redFlags\": [],\n \"rpc\": [\"https://65044.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"EXR0314 Testnet\",\n \"slug\": \"exr0314-testnet\",\n \"testnet\": true\n};\n\nvar c65174 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 65174,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9821 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9821 Testnet Token\",\n \"symbol\": \"HKL\",\n \"decimals\": 18\n },\n \"networkId\": 65174,\n \"redFlags\": [],\n \"rpc\": [\"https://65174.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9821 Testnet\",\n \"slug\": \"qauser9821-testnet\",\n \"testnet\": true\n};\n\nvar c65300 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 65300,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser46 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser46 Testnet Token\",\n \"symbol\": \"ZAG\",\n \"decimals\": 18\n },\n \"networkId\": 65300,\n \"redFlags\": [],\n \"rpc\": [\"https://65300.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser46 Testnet\",\n \"slug\": \"qauser46-testnet\",\n \"testnet\": true\n};\n\nvar c65450 = {\n \"chain\": \"SCOLWEI\",\n \"chainId\": 65450,\n \"explorers\": [{\n \"name\": \"Scolscan Explorer\",\n \"url\": \"https://explorer.scolcoin.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVES1eqDXhP8SdeCpM85wvjmhrQDXGRquQebDrSdvJqpt\",\n \"width\": 792,\n \"height\": 822,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://scolcoin.com\",\n \"name\": \"Scolcoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Scolcoin\",\n \"symbol\": \"SCOL\",\n \"decimals\": 18\n },\n \"networkId\": 65450,\n \"rpc\": [\"https://65450.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.scolcoin.com\"],\n \"shortName\": \"SRC\",\n \"slug\": \"scolcoin\",\n \"testnet\": false\n};\n\nvar c65622 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 65622,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Live Stripe Test\",\n \"nativeCurrency\": {\n \"name\": \"Live Stripe Test Token\",\n \"symbol\": \"LST\",\n \"decimals\": 18\n },\n \"networkId\": 65622,\n \"redFlags\": [],\n \"rpc\": [\"https://65622.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/livestripe/testnet/rpc\"],\n \"shortName\": \"Live Stripe Test\",\n \"slug\": \"live-stripe-test\",\n \"testnet\": true\n};\n\nvar c65842 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 65842,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4143 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4143 Testnet Token\",\n \"symbol\": \"NHU\",\n \"decimals\": 18\n },\n \"networkId\": 65842,\n \"redFlags\": [],\n \"rpc\": [\"https://65842.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4143 Testnet\",\n \"slug\": \"qauser4143-testnet\",\n \"testnet\": true\n};\n\nvar c66042 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 66042,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0408I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0408I1 Testnet Token\",\n \"symbol\": \"YXE\",\n \"decimals\": 18\n },\n \"networkId\": 66042,\n \"redFlags\": [],\n \"rpc\": [\"https://66042.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0408I1 Testnet\",\n \"slug\": \"qi0408i1-testnet\",\n \"testnet\": true\n};\n\nvar c66063 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 66063,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3324 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3324 Testnet Token\",\n \"symbol\": \"IYM\",\n \"decimals\": 18\n },\n \"networkId\": 66063,\n \"redFlags\": [],\n \"rpc\": [\"https://66063.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3324 Testnet\",\n \"slug\": \"qauser3324-testnet\",\n \"testnet\": true\n};\n\nvar c66729 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 66729,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0605S1T\",\n \"nativeCurrency\": {\n \"name\": \"QR0605S1T Token\",\n \"symbol\": \"GKN\",\n \"decimals\": 18\n },\n \"networkId\": 66729,\n \"redFlags\": [],\n \"rpc\": [\"https://66729.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0605s1t/testnet/rpc\"],\n \"shortName\": \"QR0605S1T\",\n \"slug\": \"qr0605s1t\",\n \"testnet\": true\n};\n\nvar c66904 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 66904,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1335 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1335 Testnet Token\",\n \"symbol\": \"KFZ\",\n \"decimals\": 18\n },\n \"networkId\": 66904,\n \"redFlags\": [],\n \"rpc\": [\"https://66904.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1335 Testnet\",\n \"slug\": \"qauser1335-testnet\",\n \"testnet\": true\n};\n\nvar c66988 = {\n \"chain\": \"JanusNetwork\",\n \"chainId\": 66988,\n \"explorers\": [{\n \"name\": \"JanusNetwork Testnet Explorer\",\n \"url\": \"https://beta.scan.janusnetwork.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifc3vnwf4hj3bo6fg4u5qlqmjgajjgezyeg236qjcihl4ha42siuq\",\n \"width\": 819,\n \"height\": 792,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://janus-network.gitbook.io/janus\",\n \"name\": \"Janus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Janus\",\n \"symbol\": \"JNS\",\n \"decimals\": 18\n },\n \"networkId\": 66988,\n \"rpc\": [\"https://66988.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.test.janusnetwork.io\"],\n \"shortName\": \"janusnetwork-testnet\",\n \"slip44\": 1,\n \"slug\": \"janus-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c67390 = {\n \"chain\": \"SIN\",\n \"chainId\": 67390,\n \"explorers\": [{\n \"name\": \"siriusnetscan\",\n \"url\": \"https://siriusnet.tryethernal.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://macaucasinolisboa.xyz\",\n \"name\": \"SiriusNet\",\n \"nativeCurrency\": {\n \"name\": \"MCD\",\n \"symbol\": \"MCD\",\n \"decimals\": 18\n },\n \"networkId\": 67390,\n \"rpc\": [\"https://67390.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://u0tnafcv6j:o2T045sxuCNXL878RDQLp5__Zj-es2cvdjtgkl4etn0@u0v7kwtvtg-u0wj114sve-rpc.us0-aws.kaleido.io/\"],\n \"shortName\": \"mcl\",\n \"slug\": \"siriusnet\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c67451 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 67451,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6097 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6097 Testnet Token\",\n \"symbol\": \"NHU\",\n \"decimals\": 18\n },\n \"networkId\": 67451,\n \"redFlags\": [],\n \"rpc\": [\"https://67451.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6097 Testnet\",\n \"slug\": \"qauser6097-testnet\",\n \"testnet\": true\n};\n\nvar c67588 = {\n \"chain\": \"COSMIC\",\n \"chainId\": 67588,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://cosmicchain.site\",\n \"name\": \"Cosmic Chain\",\n \"nativeCurrency\": {\n \"name\": \"Cosmic Chain\",\n \"symbol\": \"COSMIC\",\n \"decimals\": 18\n },\n \"networkId\": 3344,\n \"rpc\": [\"https://67588.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet.cosmicchain.site:3344\"],\n \"shortName\": \"Cosmic\",\n \"slug\": \"cosmic-chain\",\n \"testnet\": true\n};\n\nvar c67700 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 67700,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0523T1DT\",\n \"nativeCurrency\": {\n \"name\": \"QI0523T1DT Token\",\n \"symbol\": \"WYI\",\n \"decimals\": 18\n },\n \"networkId\": 67700,\n \"redFlags\": [],\n \"rpc\": [\"https://67700.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0523T1DT\",\n \"slug\": \"qi0523t1dt\",\n \"testnet\": true\n};\n\nvar c68007 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68007,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"infra Testnet\",\n \"nativeCurrency\": {\n \"name\": \"infra Testnet Token\",\n \"symbol\": \"ZPO\",\n \"decimals\": 18\n },\n \"networkId\": 68007,\n \"redFlags\": [],\n \"rpc\": [\"https://68007.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/infratestn/testnet/rpc\"],\n \"shortName\": \"infra Testnet\",\n \"slug\": \"infra-testnet\",\n \"testnet\": true\n};\n\nvar c68042 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68042,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0514s1\",\n \"nativeCurrency\": {\n \"name\": \"QI0514s1 Token\",\n \"symbol\": \"TQA\",\n \"decimals\": 18\n },\n \"networkId\": 68042,\n \"redFlags\": [],\n \"rpc\": [\"https://68042.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0514s1\",\n \"slug\": \"qi0514s1\",\n \"testnet\": true\n};\n\nvar c68064 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68064,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3451 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3451 Testnet Token\",\n \"symbol\": \"NKL\",\n \"decimals\": 18\n },\n \"networkId\": 68064,\n \"redFlags\": [],\n \"rpc\": [\"https://68064.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3451 Testnet\",\n \"slug\": \"qauser3451-testnet\",\n \"testnet\": true\n};\n\nvar c68295 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68295,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qr0116y1s\",\n \"nativeCurrency\": {\n \"name\": \"qr0116y1s Token\",\n \"symbol\": \"ANG\",\n \"decimals\": 18\n },\n \"networkId\": 68295,\n \"redFlags\": [],\n \"rpc\": [\"https://68295.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0116y1s/testnet/rpc\"],\n \"shortName\": \"qr0116y1s\",\n \"slug\": \"qr0116y1s\",\n \"testnet\": true\n};\n\nvar c68316 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68316,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0611STS\",\n \"nativeCurrency\": {\n \"name\": \"QR0611STS Token\",\n \"symbol\": \"NAA\",\n \"decimals\": 18\n },\n \"networkId\": 68316,\n \"redFlags\": [],\n \"rpc\": [\"https://68316.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0611sts/testnet/rpc\"],\n \"shortName\": \"QR0611STS\",\n \"slug\": \"qr0611sts\",\n \"testnet\": true\n};\n\nvar c68688 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68688,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Haku Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Haku Chain Testnet Token\",\n \"symbol\": \"HAKU\",\n \"decimals\": 18\n },\n \"networkId\": 68688,\n \"redFlags\": [],\n \"rpc\": [\"https://68688.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/hakuchain/testnet/rpc\"],\n \"shortName\": \"Haku Chain Testnet\",\n \"slug\": \"haku-chain-testnet\",\n \"testnet\": true\n};\n\nvar c68770 = {\n \"chain\": \"DM2 Verse\",\n \"chainId\": 68770,\n \"explorers\": [{\n \"name\": \"DM2Verse Explorer\",\n \"url\": \"https://explorer.dm2verse.dmm.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPMqjf5XKZ4Cxa1u8qc8Zj9mmVLBoqK7N5h2zFr3Rsyzw\",\n \"width\": 260,\n \"height\": 260,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://seamoon.dmm.com\",\n \"name\": \"DM2 Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 68770,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-248\"\n },\n \"rpc\": [\"https://68770.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dm2verse.dmm.com\"],\n \"shortName\": \"dm2\",\n \"slug\": \"dm2-verse\",\n \"testnet\": false\n};\n\nvar c68976 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 68976,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0408s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0408s1 Testnet Token\",\n \"symbol\": \"ICV\",\n \"decimals\": 18\n },\n \"networkId\": 68976,\n \"redFlags\": [],\n \"rpc\": [\"https://68976.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0408s1 Testnet\",\n \"slug\": \"qi0408s1-testnet\",\n \"testnet\": true\n};\n\nvar c69399 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 69399,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0103I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0103I1 Token\",\n \"symbol\": \"AYYX\",\n \"decimals\": 18\n },\n \"networkId\": 69399,\n \"redFlags\": [],\n \"rpc\": [\"https://69399.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0103I1\",\n \"slug\": \"qi0103i1\",\n \"testnet\": true\n};\n\nvar c69420 = {\n \"chain\": \"ETH\",\n \"chainId\": 69420,\n \"explorers\": [{\n \"name\": \"Condrieu explorer\",\n \"url\": \"https://explorer.condrieu.ethdevops.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.condrieu.ethdevops.io\"],\n \"infoURL\": \"https://condrieu.ethdevops.io\",\n \"name\": \"Condrieu\",\n \"nativeCurrency\": {\n \"name\": \"Condrieu Testnet Ether\",\n \"symbol\": \"CTE\",\n \"decimals\": 18\n },\n \"networkId\": 69420,\n \"rpc\": [\"https://69420.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.condrieu.ethdevops.io:8545\"],\n \"shortName\": \"cndr\",\n \"slip44\": 1,\n \"slug\": \"condrieu\",\n \"testnet\": true,\n \"title\": \"Ethereum Verkle Testnet Condrieu\"\n};\n\nvar c69740 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 69740,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Will's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Will's Testnet Token\",\n \"symbol\": \"WLDVNT\",\n \"decimals\": 18\n },\n \"networkId\": 69740,\n \"redFlags\": [],\n \"rpc\": [\"https://69740.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Will's Testnet\",\n \"slug\": \"will-s-testnet-will's testnet-69740\",\n \"testnet\": true\n};\n\nvar c69743 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 69743,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"SCG-K\",\n \"nativeCurrency\": {\n \"name\": \"SCG-K Token\",\n \"symbol\": \"REC\",\n \"decimals\": 18\n },\n \"networkId\": 69743,\n \"redFlags\": [],\n \"rpc\": [\"https://69743.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/scgk/mainnet/rpc\"],\n \"shortName\": \"SCG-K\",\n \"slug\": \"scg-k-scg-k\",\n \"testnet\": false\n};\n\nvar c70000 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 70000,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://chain0.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Mainnet Chain 0\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 70000,\n \"rpc\": [\"https://70000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://proxy.thinkiumrpc.net/\"],\n \"shortName\": \"TKM0\",\n \"slug\": \"thinkium-chain-0\",\n \"testnet\": false\n};\n\nvar c70001 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 70001,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://chain1.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Mainnet Chain 1\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 70001,\n \"rpc\": [\"https://70001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://proxy1.thinkiumrpc.net/\"],\n \"shortName\": \"TKM1\",\n \"slug\": \"thinkium-chain-1\",\n \"testnet\": false\n};\n\nvar c70002 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 70002,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://chain2.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Mainnet Chain 2\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 70002,\n \"rpc\": [\"https://70002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://proxy2.thinkiumrpc.net/\"],\n \"shortName\": \"TKM2\",\n \"slug\": \"thinkium-chain-2\",\n \"testnet\": false\n};\n\nvar c70038 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 70038,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"John's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"John's Testnet Token\",\n \"symbol\": \"FLG\",\n \"decimals\": 18\n },\n \"networkId\": 70038,\n \"redFlags\": [],\n \"rpc\": [\"https://70038.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"John's Testnet\",\n \"slug\": \"john-s-testnet\",\n \"testnet\": true\n};\n\nvar c70103 = {\n \"chain\": \"Thinkium\",\n \"chainId\": 70103,\n \"explorers\": [{\n \"name\": \"thinkiumscan\",\n \"url\": \"https://chain103.thinkiumscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://thinkium.net/\",\n \"name\": \"Thinkium Mainnet Chain 103\",\n \"nativeCurrency\": {\n \"name\": \"TKM\",\n \"symbol\": \"TKM\",\n \"decimals\": 18\n },\n \"networkId\": 70103,\n \"rpc\": [\"https://70103.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://proxy103.thinkiumrpc.net/\"],\n \"shortName\": \"TKM103\",\n \"slug\": \"thinkium-chain-103\",\n \"testnet\": false\n};\n\nvar c70157 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 70157,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"jonoperf\",\n \"nativeCurrency\": {\n \"name\": \"jonoperf Token\",\n \"symbol\": \"JONO\",\n \"decimals\": 18\n },\n \"networkId\": 70157,\n \"redFlags\": [],\n \"rpc\": [\"https://70157.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jonoperf/testnet/rpc\"],\n \"shortName\": \"jonoperf\",\n \"slug\": \"jonoperf\",\n \"testnet\": true\n};\n\nvar c70341 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 70341,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1957 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1957 Testnet Token\",\n \"symbol\": \"AKI\",\n \"decimals\": 18\n },\n \"networkId\": 70341,\n \"redFlags\": [],\n \"rpc\": [\"https://70341.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1957 Testnet\",\n \"slug\": \"qauser1957-testnet\",\n \"testnet\": true\n};\n\nvar c70408 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 70408,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0523T2TD\",\n \"nativeCurrency\": {\n \"name\": \"QI0523T2TD Token\",\n \"symbol\": \"WYI\",\n \"decimals\": 18\n },\n \"networkId\": 70408,\n \"redFlags\": [],\n \"rpc\": [\"https://70408.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0523T2TD\",\n \"slug\": \"qi0523t2td\",\n \"testnet\": true\n};\n\nvar c70457 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 70457,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9604\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9604 Token\",\n \"symbol\": \"CEB\",\n \"decimals\": 18\n },\n \"networkId\": 70457,\n \"redFlags\": [],\n \"rpc\": [\"https://70457.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9604\",\n \"slug\": \"qauser9604\",\n \"testnet\": true\n};\n\nvar c70466 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 70466,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Cohan test3\",\n \"nativeCurrency\": {\n \"name\": \"Cohan test3 Token\",\n \"symbol\": \"HYN\",\n \"decimals\": 18\n },\n \"networkId\": 70466,\n \"redFlags\": [],\n \"rpc\": [\"https://70466.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f44b72ee-0574-44d2-a10b-363a74964145\"],\n \"shortName\": \"Cohan test3\",\n \"slug\": \"cohan-test3\",\n \"testnet\": true\n};\n\nvar c70700 = {\n \"chain\": \"ETH\",\n \"chainId\": 70700,\n \"explorers\": [{\n \"name\": \"Proof of Play Apex Explorer\",\n \"url\": \"https://explorer.apex.proofofplay.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmW3NPDe6WRqucrWbe8pg3GqSMPi8V6Qa1fAiaQuqjxSJC\",\n \"width\": 1256,\n \"height\": 1256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW3NPDe6WRqucrWbe8pg3GqSMPi8V6Qa1fAiaQuqjxSJC\",\n \"width\": 1256,\n \"height\": 1256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://proofofplay.com\",\n \"name\": \"Proof of Play - Apex\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 70700,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-42161\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }, {\n \"url\": \"https://relay.link/bridge/apex/\"\n }]\n },\n \"rpc\": [\"https://70700.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.apex.proofofplay.com\"],\n \"shortName\": \"pop-apex\",\n \"slug\": \"proof-of-play-apex\",\n \"testnet\": false\n};\n\nvar c71111 = {\n \"chain\": \"GuapcoinX\",\n \"chainId\": 71111,\n \"explorers\": [{\n \"name\": \"GuapcoinX Explorer\",\n \"url\": \"http://explorer.guapcoinx.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmcDTR7982VQKDDz2Mh4fZbnE9hn67MuFPWQv1MimCqPvB\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcDTR7982VQKDDz2Mh4fZbnE9hn67MuFPWQv1MimCqPvB\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://guapcoin.org/\",\n \"name\": \"GuapcoinX\",\n \"nativeCurrency\": {\n \"name\": \"GuapcoinX\",\n \"symbol\": \"GuapX\",\n \"decimals\": 18\n },\n \"networkId\": 71111,\n \"rpc\": [\"https://71111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.guapcoinx.com/\", \"https://rpc-mainnet-1.guapcoinx.com/\", \"https://rpc-mainnet-2.guapcoinx.com/\"],\n \"shortName\": \"GuapX\",\n \"slug\": \"guapcoinx\",\n \"testnet\": false\n};\n\nvar c71169 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 71169,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4 Testnet Token\",\n \"symbol\": \"PJH\",\n \"decimals\": 18\n },\n \"networkId\": 71169,\n \"redFlags\": [],\n \"rpc\": [\"https://71169.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4 Testnet\",\n \"slug\": \"qauser4-testnet-qauser4 testnet-71169\",\n \"testnet\": true\n};\n\nvar c71393 = {\n \"chain\": \"CKB\",\n \"chainId\": 71393,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.nervos.org/\"],\n \"icon\": {\n \"url\": \"ipfs://QmZ5gFWUxLFqqT3DkefYfRsVksMwMTc5VvBjkbHpeFMsNe\",\n \"width\": 1001,\n \"height\": 1629,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/nervosnetwork/godwoken\",\n \"name\": \"Polyjuice Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CKB\",\n \"symbol\": \"CKB\",\n \"decimals\": 8\n },\n \"networkId\": 1,\n \"rpc\": [\"https://71393.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://godwoken-testnet-web3-rpc.ckbapp.dev\", \"ws://godwoken-testnet-web3-rpc.ckbapp.dev/ws\"],\n \"shortName\": \"ckb\",\n \"slip44\": 1,\n \"slug\": \"polyjuice-testnet\",\n \"testnet\": true\n};\n\nvar c71401 = {\n \"chain\": \"GWT\",\n \"chainId\": 71401,\n \"explorers\": [{\n \"name\": \"GWScan Block Explorer\",\n \"url\": \"https://v1.testnet.gwscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://testnet.bridge.godwoken.io\"],\n \"infoURL\": \"https://www.nervos.org\",\n \"name\": \"Godwoken Testnet v1\",\n \"nativeCurrency\": {\n \"name\": \"pCKB\",\n \"symbol\": \"pCKB\",\n \"decimals\": 18\n },\n \"networkId\": 71401,\n \"rpc\": [\"https://71401.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://godwoken-testnet-v1.ckbapp.dev\", \"https://v1.testnet.godwoken.io/rpc\"],\n \"shortName\": \"gw-testnet-v1\",\n \"slip44\": 1,\n \"slug\": \"godwoken-testnet-v1\",\n \"testnet\": true\n};\n\nvar c71402 = {\n \"chain\": \"GWT\",\n \"chainId\": 71402,\n \"explorers\": [{\n \"name\": \"GWScan Block Explorer\",\n \"url\": \"https://v1.gwscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.nervos.org\",\n \"name\": \"Godwoken Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"pCKB\",\n \"symbol\": \"pCKB\",\n \"decimals\": 18\n },\n \"networkId\": 71402,\n \"rpc\": [\"https://71402.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://v1.mainnet.godwoken.io/rpc\"],\n \"shortName\": \"gw-mainnet-v1\",\n \"slug\": \"godwoken\",\n \"testnet\": false\n};\n\nvar c72605 = {\n \"chain\": \"Jambon's Devnet\",\n \"chainId\": 72605,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"name\": \"Jambon's Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Jambon's Devnet\",\n \"symbol\": \"DOB\",\n \"decimals\": 18\n },\n \"networkId\": 72605,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"Jambon's Devnet\",\n \"slug\": \"jambon-s-devnet\",\n \"testnet\": true\n};\n\nvar c72647 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 72647,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3938\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3938 Token\",\n \"symbol\": \"HTO\",\n \"decimals\": 18\n },\n \"networkId\": 72647,\n \"redFlags\": [],\n \"rpc\": [\"https://72647.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3938\",\n \"slug\": \"qauser3938\",\n \"testnet\": true\n};\n\nvar c72709 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 72709,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Dragon Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dragon Testnet Token\",\n \"symbol\": \"BDI\",\n \"decimals\": 18\n },\n \"networkId\": 72709,\n \"redFlags\": [],\n \"rpc\": [\"https://72709.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/dragontest/testnet/rpc\"],\n \"shortName\": \"Dragon Testnet\",\n \"slug\": \"dragon-testnet\",\n \"testnet\": true\n};\n\nvar c72778 = {\n \"chain\": \"Ankara\",\n \"chainId\": 72778,\n \"explorers\": [{\n \"name\": \"ankara\",\n \"url\": \"https://explorer.ankara-cagacrypto.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmeiop9gSdzU4NNJ6GCuPk6AeYwD9pbhEFVfRdk4dXs3kJ\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.cagacrypto.com/\",\n \"name\": \"CAGA crypto Ankara testnet\",\n \"nativeCurrency\": {\n \"name\": \"Caga\",\n \"symbol\": \"CAGA\",\n \"decimals\": 18\n },\n \"networkId\": 72778,\n \"rpc\": [\"https://72778.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://www.ankara-cagacrypto.com\", \"wss://wss.ankara-cagacrypto.com\"],\n \"shortName\": \"caga\",\n \"slug\": \"caga-crypto-ankara-testnet\",\n \"testnet\": true\n};\n\nvar c72877 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 72877,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4 Testnet Token\",\n \"symbol\": \"ZAG\",\n \"decimals\": 18\n },\n \"networkId\": 72877,\n \"redFlags\": [],\n \"rpc\": [\"https://72877.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4 Testnet\",\n \"slug\": \"qauser4-testnet-qauser4 testnet-72877\",\n \"testnet\": true\n};\n\nvar c72992 = {\n \"chain\": \"Grok\",\n \"chainId\": 72992,\n \"explorers\": [{\n \"name\": \"GrokScan\",\n \"url\": \"https://mainnet-explorer.grokchain.dev\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreicepw6yqtmubtpcthecjx47ndwgywartfqnkdhf66k3q57h2hlewm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://grokchain.dev\",\n \"name\": \"Grok Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Groc\",\n \"symbol\": \"GROC\",\n \"decimals\": 18\n },\n \"networkId\": 72992,\n \"rpc\": [\"https://72992.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.grokchain.dev\"],\n \"shortName\": \"GrokChain\",\n \"slug\": \"grok-chain\",\n \"testnet\": false\n};\n\nvar c73114 = {\n \"chain\": \"ICBT\",\n \"chainId\": 73114,\n \"explorers\": [{\n \"name\": \"ICB Tesnet Explorer\",\n \"url\": \"https://testnet.icbscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifgpv7tnai42hsdegnpwzbvq5iymgub357e553cotitirwy2ir7je\",\n \"width\": 2000,\n \"height\": 2243,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://icb.network\",\n \"name\": \"ICB Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ICB Testnet Token\",\n \"symbol\": \"ICBT\",\n \"decimals\": 18\n },\n \"networkId\": 73114,\n \"rpc\": [\"https://73114.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1-testnet.icbnetwork.info/\", \"https://rpc2-testnet.icbnetwork.info/\"],\n \"shortName\": \"ICBT\",\n \"slug\": \"icb-testnet\",\n \"testnet\": true\n};\n\nvar c73115 = {\n \"chain\": \"ICB\",\n \"chainId\": 73115,\n \"explorers\": [{\n \"name\": \"ICB Explorer\",\n \"url\": \"https://icbscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifgpv7tnai42hsdegnpwzbvq5iymgub357e553cotitirwy2ir7je\",\n \"width\": 2000,\n \"height\": 2243,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://icb.network\",\n \"name\": \"ICB Network\",\n \"nativeCurrency\": {\n \"name\": \"ICB Native Token\",\n \"symbol\": \"ICBX\",\n \"decimals\": 18\n },\n \"networkId\": 73115,\n \"rpc\": [\"https://73115.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1-mainnet.icbnetwork.info/\", \"https://rpc2-mainnet.icbnetwork.info/\"],\n \"shortName\": \"ICBX\",\n \"slug\": \"icb-network\",\n \"testnet\": false\n};\n\nvar c73277 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 73277,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9250 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9250 Testnet Token\",\n \"symbol\": \"UDU\",\n \"decimals\": 18\n },\n \"networkId\": 73277,\n \"redFlags\": [],\n \"rpc\": [\"https://73277.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9250 Testnet\",\n \"slug\": \"qauser9250-testnet\",\n \"testnet\": true\n};\n\nvar c73322 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 73322,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7831\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7831 Token\",\n \"symbol\": \"RAN\",\n \"decimals\": 18\n },\n \"networkId\": 73322,\n \"redFlags\": [],\n \"rpc\": [\"https://73322.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7831\",\n \"slug\": \"qauser7831\",\n \"testnet\": true\n};\n\nvar c73486 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 73486,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405024 NO INTEROP\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405024 NO INTEROP Token\",\n \"symbol\": \"UZP\",\n \"decimals\": 18\n },\n \"networkId\": 73486,\n \"redFlags\": [],\n \"rpc\": [\"https://73486.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405024 NO INTEROP\",\n \"slug\": \"qim2405024-no-interop\",\n \"testnet\": true\n};\n\nvar c73592 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 73592,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5450\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5450 Token\",\n \"symbol\": \"PXB\",\n \"decimals\": 18\n },\n \"networkId\": 73592,\n \"redFlags\": [],\n \"rpc\": [\"https://73592.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5450\",\n \"slug\": \"qauser5450\",\n \"testnet\": true\n};\n\nvar c73677 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 73677,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9318 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9318 Testnet Token\",\n \"symbol\": \"XUK\",\n \"decimals\": 18\n },\n \"networkId\": 73677,\n \"redFlags\": [],\n \"rpc\": [\"https://73677.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9318 Testnet\",\n \"slug\": \"qauser9318-testnet\",\n \"testnet\": true\n};\n\nvar c73799 = {\n \"chain\": \"Volta\",\n \"chainId\": 73799,\n \"explorers\": [],\n \"faucets\": [\"https://voltafaucet.energyweb.org\"],\n \"infoURL\": \"https://energyweb.org\",\n \"name\": \"Energy Web Volta Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Volta Token\",\n \"symbol\": \"VT\",\n \"decimals\": 18\n },\n \"networkId\": 73799,\n \"rpc\": [\"https://73799.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://volta-rpc.energyweb.org\", \"wss://volta-rpc.energyweb.org/ws\"],\n \"shortName\": \"vt\",\n \"slip44\": 1,\n \"slug\": \"energy-web-volta-testnet\",\n \"testnet\": true\n};\n\nvar c73813 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 73813,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM2405082\",\n \"nativeCurrency\": {\n \"name\": \"QIM2405082 Token\",\n \"symbol\": \"WCC\",\n \"decimals\": 18\n },\n \"networkId\": 73813,\n \"redFlags\": [],\n \"rpc\": [\"https://73813.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIM2405082\",\n \"slug\": \"qim2405082\",\n \"testnet\": true\n};\n\nvar c73927 = {\n \"chain\": \"MVM\",\n \"chainId\": 73927,\n \"explorers\": [{\n \"name\": \"mvmscan\",\n \"url\": \"https://scan.mvm.dev\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeuDgSprukzfV7fi9XYHYcfmT4aZZZU7idgShtRS8Vf6V\",\n \"width\": 471,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeuDgSprukzfV7fi9XYHYcfmT4aZZZU7idgShtRS8Vf6V\",\n \"width\": 471,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mvm.dev\",\n \"name\": \"Mixin Virtual Machine\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 73927,\n \"rpc\": [\"https://73927.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://geth.mvm.dev\"],\n \"shortName\": \"mvm\",\n \"slug\": \"mixin-virtual-machine\",\n \"testnet\": false\n};\n\nvar c74006 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 74006,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0219\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0219 Token\",\n \"symbol\": \"QVH\",\n \"decimals\": 18\n },\n \"networkId\": 74006,\n \"redFlags\": [],\n \"rpc\": [\"https://74006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0219\",\n \"slug\": \"qauser0219\",\n \"testnet\": true\n};\n\nvar c74356 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 74356,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"S Testnet 1-5-24\",\n \"nativeCurrency\": {\n \"name\": \"S Testnet 1-5-24 Token\",\n \"symbol\": \"ZLQ\",\n \"decimals\": 18\n },\n \"networkId\": 74356,\n \"redFlags\": [],\n \"rpc\": [\"https://74356.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"S Testnet 1-5-24\",\n \"slug\": \"s-testnet-1-5-24\",\n \"testnet\": true\n};\n\nvar c74444 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 74444,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0612T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0612T1TS Token\",\n \"symbol\": \"FYJ\",\n \"decimals\": 18\n },\n \"networkId\": 74444,\n \"redFlags\": [],\n \"rpc\": [\"https://74444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0612t1ts/testnet/rpc\"],\n \"shortName\": \"QR0612T1TS\",\n \"slug\": \"qr0612t1ts\",\n \"testnet\": true\n};\n\nvar c74738 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 74738,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Token\",\n \"symbol\": \"CWA\",\n \"decimals\": 18\n },\n \"networkId\": 74738,\n \"redFlags\": [],\n \"rpc\": [\"https://74738.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Testnet\",\n \"slug\": \"testnet-testnet-74738\",\n \"testnet\": true\n};\n\nvar c75000 = {\n \"chain\": \"RESIN\",\n \"chainId\": 75000,\n \"explorers\": [{\n \"name\": \"ResinScan\",\n \"url\": \"https://explorer.resincoin.dev\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTBszPzBeWPhjozf4TxpL2ws1NkG9yJvisx9h6MFii1zb\",\n \"width\": 460,\n \"height\": 460,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://resincoin.dev\",\n \"name\": \"ResinCoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"RESIN\",\n \"decimals\": 18\n },\n \"networkId\": 75000,\n \"rpc\": [],\n \"shortName\": \"resin\",\n \"slug\": \"resincoin\",\n \"testnet\": false\n};\n\nvar c75512 = {\n \"chain\": \"GEEK\",\n \"chainId\": 75512,\n \"explorers\": [{\n \"name\": \"Geek Explorer\",\n \"url\": \"https://explorer.geekout-pte.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.geekout-pte.com\",\n \"name\": \"GEEK Verse Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Geek\",\n \"symbol\": \"GEEK\",\n \"decimals\": 18\n },\n \"networkId\": 75512,\n \"rpc\": [\"https://75512.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.geekout-pte.com\"],\n \"shortName\": \"GEEK\",\n \"slug\": \"geek-verse\",\n \"testnet\": false\n};\n\nvar c75513 = {\n \"chain\": \"GEEK Test\",\n \"chainId\": 75513,\n \"explorers\": [{\n \"name\": \"Geek Testnet Explorer\",\n \"url\": \"https://explorer-testnet.geekout-pte.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.geekout-pte.com\",\n \"name\": \"GEEK Verse Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Geek\",\n \"symbol\": \"GEEK\",\n \"decimals\": 18\n },\n \"networkId\": 75513,\n \"rpc\": [\"https://75513.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.geekout-pte.com\"],\n \"shortName\": \"GEEK_Test\",\n \"slug\": \"geek-verse-testnet\",\n \"testnet\": true\n};\n\nvar c75817 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 75817,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"SFT 1-8-24\",\n \"nativeCurrency\": {\n \"name\": \"SFT 1-8-24 Token\",\n \"symbol\": \"ZAF\",\n \"decimals\": 18\n },\n \"networkId\": 75817,\n \"redFlags\": [],\n \"rpc\": [\"https://75817.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"SFT 1-8-24\",\n \"slug\": \"sft-1-8-24\",\n \"testnet\": true\n};\n\nvar c76950 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 76950,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1204I2\",\n \"nativeCurrency\": {\n \"name\": \"QI1204I2 Token\",\n \"symbol\": \"BHOX\",\n \"decimals\": 18\n },\n \"networkId\": 76950,\n \"redFlags\": [],\n \"rpc\": [\"https://76950.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/ba4e7766-4bc6-44ec-b43f-598647b4ee71\"],\n \"shortName\": \"QI1204I2\",\n \"slug\": \"qi1204i2\",\n \"testnet\": true\n};\n\nvar c77001 = {\n \"chain\": \"BORA\",\n \"chainId\": 77001,\n \"explorers\": [{\n \"name\": \"BORAchainscope\",\n \"url\": \"https://scope.boraportal.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmccGWJcCzQh3rP6ZMdRyTc7JjtusKnXkoUtGUANQgjNqR\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.boraportal.com\",\n \"name\": \"BORAchain mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BORA\",\n \"symbol\": \"BORA\",\n \"decimals\": 18\n },\n \"networkId\": 77001,\n \"rpc\": [\"https://77001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://public-node.api.boraportal.com/bora/mainnet\", \"https://public-node.api.boraportal.io/bora/mainnet\"],\n \"shortName\": \"BORAchain\",\n \"slip44\": 8217,\n \"slug\": \"borachain\",\n \"testnet\": false\n};\n\nvar c77209 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 77209,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser2491\",\n \"nativeCurrency\": {\n \"name\": \"QaUser2491 Token\",\n \"symbol\": \"GCW\",\n \"decimals\": 18\n },\n \"networkId\": 77209,\n \"redFlags\": [],\n \"rpc\": [\"https://77209.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser2491\",\n \"slug\": \"qauser2491\",\n \"testnet\": true\n};\n\nvar c77238 = {\n \"chain\": \"tFNC\",\n \"chainId\": 77238,\n \"explorers\": [{\n \"name\": \"Foundry Scan Testnet\",\n \"url\": \"https://testnet-explorer.foundryscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.foundryscan.org\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreifx4vef7ubqz4iiaxckcvkdwjrp2hbliljwjlwu2vytlngg3r4pg4\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://foundrychain.org\",\n \"name\": \"Foundry Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Foundry Chain Testnet\",\n \"symbol\": \"tFNC\",\n \"decimals\": 18\n },\n \"networkId\": 77238,\n \"rpc\": [\"https://77238.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.foundryscan.org/\"],\n \"shortName\": \"fnc\",\n \"slip44\": 1,\n \"slug\": \"foundry-chain-testnet\",\n \"testnet\": true\n};\n\nvar c77552 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 77552,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3673 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3673 Testnet Token\",\n \"symbol\": \"YSI\",\n \"decimals\": 18\n },\n \"networkId\": 77552,\n \"redFlags\": [],\n \"rpc\": [\"https://77552.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3673 Testnet\",\n \"slug\": \"qauser3673-testnet\",\n \"testnet\": true\n};\n\nvar c77572 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 77572,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0993 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0993 Testnet Token\",\n \"symbol\": \"JOE\",\n \"decimals\": 18\n },\n \"networkId\": 77572,\n \"redFlags\": [],\n \"rpc\": [\"https://77572.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0993 Testnet\",\n \"slug\": \"qauser0993-testnet\",\n \"testnet\": true\n};\n\nvar c77576 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 77576,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6624 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6624 Testnet Token\",\n \"symbol\": \"WVN\",\n \"decimals\": 18\n },\n \"networkId\": 77576,\n \"redFlags\": [],\n \"rpc\": [\"https://77576.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6624 Testnet\",\n \"slug\": \"qauser6624-testnet\",\n \"testnet\": true\n};\n\nvar c77612 = {\n \"chain\": \"VSC\",\n \"chainId\": 77612,\n \"explorers\": [{\n \"name\": \"ventionscan\",\n \"url\": \"https://ventionscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.vention.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmcNepHmbmHW1BZYM3MFqJW4awwhmDqhUPRXXmRnXwg1U4\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ventionscan.io\",\n \"name\": \"Vention Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"VNT\",\n \"symbol\": \"VNT\",\n \"decimals\": 18\n },\n \"networkId\": 77612,\n \"rpc\": [\"https://77612.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.vention.network\"],\n \"shortName\": \"vscm\",\n \"slug\": \"vention-smart-chain\",\n \"testnet\": false\n};\n\nvar c77777 = {\n \"chain\": \"Toronet\",\n \"chainId\": 77777,\n \"ens\": {\n \"registry\": \"0x1f45a71f4aAD769E27c969c4359E0e250C67165c\"\n },\n \"explorers\": [{\n \"name\": \"toronet_explorer\",\n \"url\": \"https://toronet.org/explorer\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmciSvgLatP6jhgdazuiyD3fSrhipfAN7wC943v1qxcrpv\",\n \"width\": 846,\n \"height\": 733,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://toronet.org\",\n \"name\": \"Toronet Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Toro\",\n \"symbol\": \"TORO\",\n \"decimals\": 18\n },\n \"networkId\": 77777,\n \"rpc\": [\"https://77777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://toronet.org/rpc\"],\n \"shortName\": \"Toronet\",\n \"slug\": \"toronet\",\n \"testnet\": false\n};\n\nvar c77898 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 77898,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0517I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0517I1 Token\",\n \"symbol\": \"YGV\",\n \"decimals\": 18\n },\n \"networkId\": 77898,\n \"redFlags\": [],\n \"rpc\": [\"https://77898.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0517I1\",\n \"slug\": \"qi0517i1\",\n \"testnet\": true\n};\n\nvar c78110 = {\n \"chain\": \"ETH\",\n \"chainId\": 78110,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://primusmoney.com\",\n \"name\": \"Firenze test network\",\n \"nativeCurrency\": {\n \"name\": \"Firenze Ether\",\n \"symbol\": \"FIN\",\n \"decimals\": 18\n },\n \"networkId\": 78110,\n \"rpc\": [\"https://78110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://ethnode.primusmoney.com/firenze\"],\n \"shortName\": \"firenze\",\n \"slip44\": 1,\n \"slug\": \"firenze-test-network\",\n \"testnet\": true\n};\n\nvar c78170 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 78170,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"MXS Games Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MXS Games Testnet Token\",\n \"symbol\": \"XSEED\",\n \"decimals\": 18\n },\n \"networkId\": 78170,\n \"redFlags\": [],\n \"rpc\": [\"https://78170.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/mxsgameste/testnet/rpc\"],\n \"shortName\": \"MXS Games Testnet\",\n \"slug\": \"mxs-games-testnet\",\n \"testnet\": true\n};\n\nvar c78281 = {\n \"chain\": \"Dragonfly\",\n \"chainId\": 78281,\n \"explorers\": [{\n \"name\": \"Dragonfly Blockscout\",\n \"url\": \"https://blockscout.dragonfly.hexapod.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPXhdPGufjcPzZ9Y6nY6QyW8MgA6793L88iPMRh1Q3gjJ\",\n \"width\": 512,\n \"height\": 366,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hexapod.network\",\n \"name\": \"Dragonfly Mainnet (Hexapod)\",\n \"nativeCurrency\": {\n \"name\": \"Dragonfly\",\n \"symbol\": \"DFLY\",\n \"decimals\": 18\n },\n \"networkId\": 78281,\n \"rpc\": [\"https://78281.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dragonfly-rpc.switch.ch\", \"https://dragonfly-rpc.kore-technologies.ch\", \"https://dragonfly-rpc.phoenix-systems.io\", \"https://dragonfly-rpc.block-spirit.ch\"],\n \"shortName\": \"dfly\",\n \"slug\": \"dragonfly-hexapod\",\n \"testnet\": false\n};\n\nvar c78430 = {\n \"chain\": \"AMPLIFY\",\n \"chainId\": 78430,\n \"explorers\": [{\n \"name\": \"AMPLIFY Explorer\",\n \"url\": \"https://subnets-test.avax.network/amplify\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.avax.network\",\n \"name\": \"Amplify Subnet\",\n \"nativeCurrency\": {\n \"name\": \"AMP\",\n \"symbol\": \"AMP\",\n \"decimals\": 18\n },\n \"networkId\": 78430,\n \"rpc\": [\"https://78430.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/amplify/testnet/rpc\"],\n \"shortName\": \"amplify\",\n \"slip44\": 1,\n \"slug\": \"amplify-subnet\",\n \"testnet\": true\n};\n\nvar c78431 = {\n \"chain\": \"BULLETIN\",\n \"chainId\": 78431,\n \"explorers\": [{\n \"name\": \"BULLETIN Explorer\",\n \"url\": \"https://subnets-test.avax.network/bulletin\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.avax.network\",\n \"name\": \"Bulletin Subnet\",\n \"nativeCurrency\": {\n \"name\": \"BLT\",\n \"symbol\": \"BLT\",\n \"decimals\": 18\n },\n \"networkId\": 78431,\n \"rpc\": [\"https://78431.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/bulletin/testnet/rpc\"],\n \"shortName\": \"bulletin\",\n \"slip44\": 1,\n \"slug\": \"bulletin-subnet\",\n \"testnet\": true\n};\n\nvar c78432 = {\n \"chain\": \"CONDUIT\",\n \"chainId\": 78432,\n \"explorers\": [{\n \"name\": \"CONDUIT Explorer\",\n \"url\": \"https://subnets-test.avax.network/conduit\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.avax.network\",\n \"name\": \"Conduit Subnet\",\n \"nativeCurrency\": {\n \"name\": \"CON\",\n \"symbol\": \"CON\",\n \"decimals\": 18\n },\n \"networkId\": 78432,\n \"rpc\": [\"https://78432.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/conduit/testnet/rpc\"],\n \"shortName\": \"conduit\",\n \"slip44\": 1,\n \"slug\": \"conduit-subnet\",\n \"testnet\": true\n};\n\nvar c78600 = {\n \"chain\": \"VANAR\",\n \"chainId\": 78600,\n \"explorers\": [{\n \"name\": \"Vanguard Explorer\",\n \"url\": \"https://explorer-vanguard.vanarchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeERjnmdZ6v1tfCyfKfy2Rzh1vPCsU7x2sLJcLqQ6E3Fd\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.vanarchain.com\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmeERjnmdZ6v1tfCyfKfy2Rzh1vPCsU7x2sLJcLqQ6E3Fd\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://vanarchain.com\",\n \"name\": \"Vanguard\",\n \"nativeCurrency\": {\n \"name\": \"Vanguard Vanry\",\n \"symbol\": \"VANRY\",\n \"decimals\": 18\n },\n \"networkId\": 78600,\n \"rpc\": [\"https://78600.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-vanguard.vanarchain.com\", \"wss://ws-vanguard.vanarchain.com\"],\n \"shortName\": \"vanguard\",\n \"slug\": \"vanguard\",\n \"testnet\": true,\n \"title\": \"Vanar Testnet Vanguard\"\n};\n\nvar c78933 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 78933,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"FST 12-22 V2\",\n \"nativeCurrency\": {\n \"name\": \"FST 12-22 V2 Token\",\n \"symbol\": \"EJJ\",\n \"decimals\": 18\n },\n \"networkId\": 78933,\n \"redFlags\": [],\n \"rpc\": [\"https://78933.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"FST 12-22 V2\",\n \"slug\": \"fst-12-22-v2\",\n \"testnet\": true\n};\n\nvar c79062 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 79062,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0521s4t\",\n \"nativeCurrency\": {\n \"name\": \"QI0521s4t Token\",\n \"symbol\": \"VTV\",\n \"decimals\": 18\n },\n \"networkId\": 79062,\n \"redFlags\": [],\n \"rpc\": [\"https://79062.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0521s4t\",\n \"slug\": \"qi0521s4t\",\n \"testnet\": true\n};\n\nvar c79338 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 79338,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0122I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0122I1 Testnet Token\",\n \"symbol\": \"JVTX\",\n \"decimals\": 18\n },\n \"networkId\": 79338,\n \"redFlags\": [],\n \"rpc\": [\"https://79338.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0122i1te/testnet/rpc\"],\n \"shortName\": \"QR0122I1 Testnet\",\n \"slug\": \"qr0122i1-testnet\",\n \"testnet\": true\n};\n\nvar c79466 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 79466,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0513I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0513I2 Token\",\n \"symbol\": \"YSC\",\n \"decimals\": 18\n },\n \"networkId\": 79466,\n \"redFlags\": [],\n \"rpc\": [\"https://79466.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0513I2\",\n \"slug\": \"qi0513i2\",\n \"testnet\": true\n};\n\nvar c79490 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 79490,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser2672 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser2672 Testnet Token\",\n \"symbol\": \"ENU\",\n \"decimals\": 18\n },\n \"networkId\": 79490,\n \"redFlags\": [],\n \"rpc\": [\"https://79490.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser2672 Testnet\",\n \"slug\": \"qauser2672-testnet\",\n \"testnet\": true\n};\n\nvar c79879 = {\n \"chain\": \"STAND\",\n \"chainId\": 79879,\n \"explorers\": [{\n \"name\": \"Gold Smart Chain\",\n \"url\": \"https://testnet.goldsmartchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.goldsmartchain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmPNuymyaKLJhCaXnyrsL8358FeTxabZFsaxMmWNU4Tzt3\",\n \"width\": 396,\n \"height\": 418,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://goldsmartchain.com\",\n \"name\": \"Gold Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Standard in Gold\",\n \"symbol\": \"STAND\",\n \"decimals\": 18\n },\n \"networkId\": 79879,\n \"rpc\": [\"https://79879.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.goldsmartchain.com\"],\n \"shortName\": \"STANDt\",\n \"slip44\": 1,\n \"slug\": \"gold-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c80001 = {\n \"chain\": \"Polygon\",\n \"chainId\": 80001,\n \"explorers\": [{\n \"name\": \"polygonscan\",\n \"url\": \"https://mumbai.polygonscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.polygon.technology/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/polygon/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polygon.technology/\",\n \"name\": \"Mumbai\",\n \"nativeCurrency\": {\n \"name\": \"MATIC\",\n \"symbol\": \"MATIC\",\n \"decimals\": 18\n },\n \"networkId\": 80001,\n \"redFlags\": [],\n \"rpc\": [\"https://80001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mumbai.maticvigil.com\", \"https://polygon-mumbai-bor-rpc.publicnode.com\", \"wss://polygon-mumbai-bor-rpc.publicnode.com\", \"https://polygon-mumbai.gateway.tenderly.co\", \"wss://polygon-mumbai.gateway.tenderly.co\"],\n \"shortName\": \"maticmum\",\n \"slip44\": 1,\n \"slug\": \"mumbai\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Polygon Testnet Mumbai\"\n};\n\nvar c80002 = {\n \"chain\": \"Polygon\",\n \"chainId\": 80002,\n \"explorers\": [{\n \"name\": \"polygonamoy\",\n \"url\": \"https://www.oklink.com/amoy\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.polygon.technology/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/polygon/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polygon.technology/\",\n \"name\": \"Polygon Amoy Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MATIC\",\n \"symbol\": \"MATIC\",\n \"decimals\": 18\n },\n \"networkId\": 80002,\n \"redFlags\": [],\n \"rpc\": [\"https://80002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-amoy.polygon.technology\", \"https://polygon-amoy-bor-rpc.publicnode.com\", \"wss://polygon-amoy-bor-rpc.publicnode.com\"],\n \"shortName\": \"polygonamoy\",\n \"slip44\": 1,\n \"slug\": \"polygon-amoy-testnet\",\n \"testnet\": true,\n \"title\": \"Polygon Amoy Testnet\"\n};\n\nvar c80084 = {\n \"chain\": \"Berachain\",\n \"chainId\": 80084,\n \"explorers\": [{\n \"name\": \"Beratrail\",\n \"url\": \"https://bartio.beratrail.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://bartio.faucet.berachain.com\", \"https://bartio.faucet.berachain.com/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://d391b93f5f62d9c15f67142e43841acc.ipfscdn.io/ipfs/QmW2xrDkSqBB7qgftp5PUecEGg4zwUBJgSN45CaR7CKJMr\",\n \"width\": 360,\n \"height\": 360,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.berachain.com\",\n \"name\": \"Berachain bArtio\",\n \"nativeCurrency\": {\n \"name\": \"BERA\",\n \"symbol\": \"BERA\",\n \"decimals\": 18\n },\n \"networkId\": 80084,\n \"redFlags\": [],\n \"rpc\": [\"https://80084.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://quicknode-rpc.berachain.com\", \"https://bartio.rpc.berachain.com\", \"https://rpc.ankr.com/berachain_testnet\", \"https://bera-testnet.nodeinfra.com\"],\n \"shortName\": \"Berachain\",\n \"slug\": \"berachain-bartio\",\n \"testnet\": true\n};\n\nvar c80085 = {\n \"chain\": \"Berachain\",\n \"chainId\": 80085,\n \"explorers\": [{\n \"name\": \"Beratrail\",\n \"url\": \"https://artio.beratrail.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmW2xrDkSqBB7qgftp5PUecEGg4zwUBJgSN45CaR7CKJMr\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://artio.faucet.berachain.com\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW2xrDkSqBB7qgftp5PUecEGg4zwUBJgSN45CaR7CKJMr\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.berachain.com/\",\n \"name\": \"Berachain Artio\",\n \"nativeCurrency\": {\n \"name\": \"BERA\",\n \"symbol\": \"BERA\",\n \"decimals\": 18\n },\n \"networkId\": 80085,\n \"redFlags\": [],\n \"rpc\": [\"https://80085.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://quicknode-rpc.berachain.com\", \"https://artio.rpc.berachain.com\", \"https://rpc.ankr.com/berachain_testnet\"],\n \"shortName\": \"bera-artio\",\n \"slug\": \"berachain-artio\",\n \"testnet\": true\n};\n\nvar c80092 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 80092,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4009\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4009 Token\",\n \"symbol\": \"MHP\",\n \"decimals\": 18\n },\n \"networkId\": 80092,\n \"redFlags\": [],\n \"rpc\": [\"https://80092.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4009\",\n \"slug\": \"qauser4009\",\n \"testnet\": true\n};\n\nvar c80096 = {\n \"chain\": \"HZC\",\n \"chainId\": 80096,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://hizoco.net:38443\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNWGj94URMQNyGZbGuAareEL4UpHjTwYWFEFBcX9utBZX\",\n \"width\": 421,\n \"height\": 421,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://hizoco.net\",\n \"name\": \"Hizoco mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Hizoco\",\n \"symbol\": \"HZC\",\n \"decimals\": 18\n },\n \"networkId\": 80096,\n \"rpc\": [\"https://80096.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hizoco.net/rpc\"],\n \"shortName\": \"hzc\",\n \"slug\": \"hizoco\",\n \"testnet\": false\n};\n\nvar c80182 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 80182,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 12051\",\n \"nativeCurrency\": {\n \"name\": \"QI M 12051 Token\",\n \"symbol\": \"VTV\",\n \"decimals\": 18\n },\n \"networkId\": 80182,\n \"redFlags\": [],\n \"rpc\": [\"https://80182.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/b19c9e32-f359-451f-ad15-7ec784625c04\"],\n \"shortName\": \"QI M 12051\",\n \"slug\": \"qi-m-12051\",\n \"testnet\": true\n};\n\nvar c80375 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 80375,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qr0103y1s\",\n \"nativeCurrency\": {\n \"name\": \"qr0103y1s Token\",\n \"symbol\": \"IJB\",\n \"decimals\": 18\n },\n \"networkId\": 80375,\n \"redFlags\": [],\n \"rpc\": [\"https://80375.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0103y1s/testnet/rpc\"],\n \"shortName\": \"qr0103y1s\",\n \"slug\": \"qr0103y1s\",\n \"testnet\": true\n};\n\nvar c80719 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 80719,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4301 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4301 Testnet Token\",\n \"symbol\": \"NHU\",\n \"decimals\": 18\n },\n \"networkId\": 80719,\n \"redFlags\": [],\n \"rpc\": [\"https://80719.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4301 Testnet\",\n \"slug\": \"qauser4301-testnet\",\n \"testnet\": true\n};\n\nvar c81041 = {\n \"chain\": \"Nordek\",\n \"chainId\": 81041,\n \"explorers\": [{\n \"name\": \"nordek\",\n \"url\": \"https://nordekscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreie45fcr2hllmej2elwqpdxmiaycxmz25tl5ymraduhtefqndhlm4q\",\n \"width\": 222,\n \"height\": 306,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nordekscan.com\",\n \"name\": \"Nordek Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"NRK\",\n \"symbol\": \"NRK\",\n \"decimals\": 18\n },\n \"networkId\": 81041,\n \"rpc\": [\"https://81041.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.nordekscan.com\"],\n \"shortName\": \"nordek\",\n \"slug\": \"nordek\",\n \"testnet\": false\n};\n\nvar c81079 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 81079,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 21343243\",\n \"nativeCurrency\": {\n \"name\": \"QI M 21343243 Token\",\n \"symbol\": \"JZW\",\n \"decimals\": 18\n },\n \"networkId\": 81079,\n \"redFlags\": [],\n \"rpc\": [\"https://81079.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f575b5b1-8b60-47f3-af28-13f3f3de2ba5\"],\n \"shortName\": \"QI M 21343243\",\n \"slug\": \"qi-m-21343243\",\n \"testnet\": true\n};\n\nvar c81341 = {\n \"chain\": \"MEER\",\n \"chainId\": 81341,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Amana Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Amana Testnet\",\n \"symbol\": \"MEER-T\",\n \"decimals\": 18\n },\n \"networkId\": 81341,\n \"rpc\": [],\n \"shortName\": \"amanatest\",\n \"slip44\": 1,\n \"slug\": \"amana-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c81342 = {\n \"chain\": \"MEER\",\n \"chainId\": 81342,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Amana Mixnet\",\n \"nativeCurrency\": {\n \"name\": \"Amana Mixnet\",\n \"symbol\": \"MEER-M\",\n \"decimals\": 18\n },\n \"networkId\": 81342,\n \"rpc\": [],\n \"shortName\": \"amanamix\",\n \"slug\": \"amana-mixnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c81343 = {\n \"chain\": \"MEER\",\n \"chainId\": 81343,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Amana Privnet\",\n \"nativeCurrency\": {\n \"name\": \"Amana Privnet\",\n \"symbol\": \"MEER-P\",\n \"decimals\": 18\n },\n \"networkId\": 81343,\n \"rpc\": [],\n \"shortName\": \"amanapriv\",\n \"slug\": \"amana-privnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c81351 = {\n \"chain\": \"MEER\",\n \"chainId\": 81351,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Flana Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Flana Testnet\",\n \"symbol\": \"MEER-T\",\n \"decimals\": 18\n },\n \"networkId\": 81351,\n \"rpc\": [],\n \"shortName\": \"flanatest\",\n \"slip44\": 1,\n \"slug\": \"flana-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c81352 = {\n \"chain\": \"MEER\",\n \"chainId\": 81352,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Flana Mixnet\",\n \"nativeCurrency\": {\n \"name\": \"Flana Mixnet\",\n \"symbol\": \"MEER-M\",\n \"decimals\": 18\n },\n \"networkId\": 81352,\n \"rpc\": [],\n \"shortName\": \"flanamix\",\n \"slug\": \"flana-mixnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c81353 = {\n \"chain\": \"MEER\",\n \"chainId\": 81353,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Flana Privnet\",\n \"nativeCurrency\": {\n \"name\": \"Flana Privnet\",\n \"symbol\": \"MEER-P\",\n \"decimals\": 18\n },\n \"networkId\": 81353,\n \"rpc\": [],\n \"shortName\": \"flanapriv\",\n \"slug\": \"flana-privnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c81361 = {\n \"chain\": \"MEER\",\n \"chainId\": 81361,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Mizana Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Mizana Testnet\",\n \"symbol\": \"MEER-T\",\n \"decimals\": 18\n },\n \"networkId\": 81361,\n \"rpc\": [],\n \"shortName\": \"mizanatest\",\n \"slip44\": 1,\n \"slug\": \"mizana-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c81362 = {\n \"chain\": \"MEER\",\n \"chainId\": 81362,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Mizana Mixnet\",\n \"nativeCurrency\": {\n \"name\": \"Mizana Mixnet\",\n \"symbol\": \"MEER-M\",\n \"decimals\": 18\n },\n \"networkId\": 81362,\n \"rpc\": [],\n \"shortName\": \"mizanamix\",\n \"slug\": \"mizana-mixnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c81363 = {\n \"chain\": \"MEER\",\n \"chainId\": 81363,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWSbMuCwQzhBB6GRLYqZ87n5cnpzpYCehCAMMQmUXj4mm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://github.com/Qitmeer\",\n \"name\": \"Mizana Privnet\",\n \"nativeCurrency\": {\n \"name\": \"Mizana Privnet\",\n \"symbol\": \"MEER-P\",\n \"decimals\": 18\n },\n \"networkId\": 81363,\n \"rpc\": [],\n \"shortName\": \"mizanapriv\",\n \"slug\": \"mizana-privnet\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c81457 = {\n \"chain\": \"ETH\",\n \"chainId\": 81457,\n \"explorers\": [{\n \"name\": \"Blastscan\",\n \"url\": \"https://blastscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafybeifc2h3x7jgy4x4nmg2m54ghbvmkfu6oweujambwefzqzew5vujhsi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }, {\n \"name\": \"Blast Explorer\",\n \"url\": \"https://blastexplorer.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafybeifc2h3x7jgy4x4nmg2m54ghbvmkfu6oweujambwefzqzew5vujhsi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeifc2h3x7jgy4x4nmg2m54ghbvmkfu6oweujambwefzqzew5vujhsi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://blast.io/\",\n \"name\": \"Blast\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 81457,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\"\n },\n \"redFlags\": [],\n \"rpc\": [\"https://81457.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.blast.io\", \"https://rpc.ankr.com/blast\", \"https://blast.din.dev/rpc\", \"https://blast.blockpi.network/v1/rpc/public\", \"https://blastl2-mainnet.public.blastapi.io\", \"https://blast-rpc.publicnode.com\"],\n \"shortName\": \"blastmainnet\",\n \"slug\": \"blast-blastmainnet\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c81573 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 81573,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIS0311 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QIS0311 Testnet Token\",\n \"symbol\": \"MVD\",\n \"decimals\": 18\n },\n \"networkId\": 81573,\n \"redFlags\": [],\n \"rpc\": [\"https://81573.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIS0311 Testnet\",\n \"slug\": \"qis0311-testnet\",\n \"testnet\": true\n};\n\nvar c81720 = {\n \"chain\": \"QNET\",\n \"chainId\": 81720,\n \"explorers\": [{\n \"name\": \"Quantum Scan Mainnet\",\n \"url\": \"https://quantumscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibwywok67uewqbtqdzgr7nlk3lvvg7hxmbgwtn7kdwxe34useucvm\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://quantumnetwork.gg\",\n \"name\": \"Quantum Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Quantum Chain\",\n \"symbol\": \"QNET\",\n \"decimals\": 18\n },\n \"networkId\": 81720,\n \"rpc\": [\"https://81720.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.quantumscan.org\"],\n \"shortName\": \"qnet\",\n \"slug\": \"quantum-chain\",\n \"testnet\": false\n};\n\nvar c82261 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 82261,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0423s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0423s1 Testnet Token\",\n \"symbol\": \"PUU\",\n \"decimals\": 18\n },\n \"networkId\": 82261,\n \"redFlags\": [],\n \"rpc\": [\"https://82261.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0423s1 Testnet\",\n \"slug\": \"qi0423s1-testnet\",\n \"testnet\": true\n};\n\nvar c82368 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 82368,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0116S1\",\n \"nativeCurrency\": {\n \"name\": \"QR0116S1 Token\",\n \"symbol\": \"USJ\",\n \"decimals\": 18\n },\n \"networkId\": 82368,\n \"redFlags\": [],\n \"rpc\": [\"https://82368.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0116s1/testnet/rpc\"],\n \"shortName\": \"QR0116S1\",\n \"slug\": \"qr0116s1\",\n \"testnet\": true\n};\n\nvar c82459 = {\n \"chain\": \"SLN\",\n \"chainId\": 82459,\n \"explorers\": [{\n \"name\": \"SLN Testnet Explorer\",\n \"url\": \"https://explorer.test.smartlayer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.smartlayer.network/\",\n \"name\": \"Smart Layer Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Service Unit Token\",\n \"symbol\": \"SU\",\n \"decimals\": 18\n },\n \"networkId\": 82459,\n \"rpc\": [\"https://82459.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.test.smartlayer.network\"],\n \"shortName\": \"tSLN\",\n \"slug\": \"smart-layer-network-testnet\",\n \"testnet\": true\n};\n\nvar c82529 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 82529,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Test Using Resources\",\n \"nativeCurrency\": {\n \"name\": \"Test Using Resources Token\",\n \"symbol\": \"JMH\",\n \"decimals\": 18\n },\n \"networkId\": 82529,\n \"redFlags\": [],\n \"rpc\": [\"https://82529.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/testsize/testnet/rpc\"],\n \"shortName\": \"Test Using Resources\",\n \"slug\": \"test-using-resources-test using resources\",\n \"testnet\": true\n};\n\nvar c82552 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 82552,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0209I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0209I2 Token\",\n \"symbol\": \"BLOX\",\n \"decimals\": 18\n },\n \"networkId\": 82552,\n \"redFlags\": [],\n \"rpc\": [\"https://82552.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0209I2\",\n \"slug\": \"qi0209i2\",\n \"testnet\": true\n};\n\nvar c82807 = {\n \"chain\": \"zFirst AvaCloud Subnet Thirdweb\",\n \"chainId\": 82807,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"zFirst AvaCloud Subnet Thirdweb\",\n \"nativeCurrency\": {\n \"name\": \"zFirst AvaCloud Subnet Thirdweb\",\n \"symbol\": \"YOOO\",\n \"decimals\": 18\n },\n \"networkId\": 82807,\n \"redFlags\": [],\n \"rpc\": [\"https://82807.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f2ea180d-0fda-4b06-9b2e-53a65d3fd789\"],\n \"shortName\": \"zFirst AvaCloud Subnet Thirdweb\",\n \"slug\": \"zfirst-avacloud-subnet-thirdweb\",\n \"testnet\": true\n};\n\nvar c83414 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 83414,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Q IM 2402132\",\n \"nativeCurrency\": {\n \"name\": \"Q IM 2402132 Token\",\n \"symbol\": \"XVL\",\n \"decimals\": 18\n },\n \"networkId\": 83414,\n \"redFlags\": [],\n \"rpc\": [\"https://83414.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Q IM 2402132\",\n \"slug\": \"q-im-2402132\",\n \"testnet\": true\n};\n\nvar c83862 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 83862,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"ST 12-12 V1\",\n \"nativeCurrency\": {\n \"name\": \"ST 12-12 V1 Token\",\n \"symbol\": \"GXE\",\n \"decimals\": 18\n },\n \"networkId\": 83862,\n \"redFlags\": [],\n \"rpc\": [\"https://83862.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"ST 12-12 V1\",\n \"slug\": \"st-12-12-v1\",\n \"testnet\": true\n};\n\nvar c83872 = {\n \"chain\": \"ZEDXION\",\n \"chainId\": 83872,\n \"explorers\": [{\n \"name\": \"Zedscan\",\n \"url\": \"http://zedscan.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZ5DXJVxuMRvKzKstFte3TahJ4LSDsGd8DWTrYEPbSjTu\",\n \"width\": 254,\n \"height\": 254,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.zedscan.net\",\n \"name\": \"ZEDXION\",\n \"nativeCurrency\": {\n \"name\": \"Zedxion\",\n \"symbol\": \"ZEDX\",\n \"decimals\": 9\n },\n \"networkId\": 83872,\n \"rpc\": [\"https://83872.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.zedscan.net\"],\n \"shortName\": \"ZEDX\",\n \"slug\": \"zedxion\",\n \"testnet\": false\n};\n\nvar c83900 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 83900,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0122I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0122I1 Testnet Token\",\n \"symbol\": \"XTT\",\n \"decimals\": 18\n },\n \"networkId\": 83900,\n \"redFlags\": [],\n \"rpc\": [\"https://83900.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/a5f62fea-1375-4ddd-b88f-72b56b435259\"],\n \"shortName\": \"QI0122I1 Testnet\",\n \"slug\": \"qi0122i1-testnet-qi0122i1 testnet\",\n \"testnet\": true\n};\n\nvar c84045 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 84045,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jovica's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Jovica's Testnet Token\",\n \"symbol\": \"ZQG\",\n \"decimals\": 18\n },\n \"networkId\": 84045,\n \"redFlags\": [],\n \"rpc\": [\"https://84045.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jovicax/testnet/rpc\"],\n \"shortName\": \"Jovica's Testnet\",\n \"slug\": \"jovica-s-testnet\",\n \"testnet\": true\n};\n\nvar c84531 = {\n \"chain\": \"ETH\",\n \"chainId\": 84531,\n \"explorers\": [{\n \"name\": \"basescan\",\n \"url\": \"https://goerli.basescan.org\",\n \"standard\": \"none\"\n }, {\n \"name\": \"basescout\",\n \"url\": \"https://base-goerli.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"dexguru\",\n \"url\": \"https://base-goerli.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://www.coinbase.com/faucets/base-ethereum-goerli-faucet\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW5Vn15HeRkScMfPcW12ZdZcC2yUASpu6eCsECRdEmjjj/base-512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://base.org\",\n \"name\": \"Base Goerli Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Goerli Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 84531,\n \"redFlags\": [],\n \"rpc\": [\"https://84531.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.base.org\", \"https://base-goerli.gateway.tenderly.co\", \"wss://base-goerli.gateway.tenderly.co\", \"https://base-goerli-rpc.publicnode.com\", \"wss://base-goerli-rpc.publicnode.com\"],\n \"shortName\": \"basegor\",\n \"slip44\": 1,\n \"slug\": \"base-goerli\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c84532 = {\n \"chain\": \"ETH\",\n \"chainId\": 84532,\n \"explorers\": [{\n \"name\": \"basescout\",\n \"url\": \"https://base-sepolia.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://base.org\",\n \"name\": \"Base Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 84532,\n \"rpc\": [\"https://84532.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.base.org\", \"https://base-sepolia-rpc.publicnode.com\", \"wss://base-sepolia-rpc.publicnode.com\"],\n \"shortName\": \"basesep\",\n \"slip44\": 1,\n \"slug\": \"base-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c84623 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 84623,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2401221\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2401221 Token\",\n \"symbol\": \"HZU\",\n \"decimals\": 18\n },\n \"networkId\": 84623,\n \"redFlags\": [],\n \"rpc\": [\"https://84623.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f14d837e-de8f-446d-8222-0077f26e6694\"],\n \"shortName\": \"QI M 2401221\",\n \"slug\": \"qi-m-2401221\",\n \"testnet\": true\n};\n\nvar c84860 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 84860,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0422I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0422I1 Testnet Token\",\n \"symbol\": \"LLV\",\n \"decimals\": 18\n },\n \"networkId\": 84860,\n \"redFlags\": [],\n \"rpc\": [\"https://84860.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0422I1 Testnet\",\n \"slug\": \"qi0422i1-testnet\",\n \"testnet\": true\n};\n\nvar c84886 = {\n \"chain\": \"Aerie\",\n \"chainId\": 84886,\n \"explorers\": [{\n \"name\": \"Aerie Explorer\",\n \"url\": \"https://explorer.aerielab.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreig54jss26xllpjbclmfgwvot72m4ku7qxignhlqei6mijvwi2m4pu\",\n \"width\": 1062,\n \"height\": 1069,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreig54jss26xllpjbclmfgwvot72m4ku7qxignhlqei6mijvwi2m4pu\",\n \"width\": 1062,\n \"height\": 1069,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://aerielab.io/\",\n \"name\": \"Aerie Network\",\n \"nativeCurrency\": {\n \"name\": \"Aerie\",\n \"symbol\": \"AER\",\n \"decimals\": 18\n },\n \"networkId\": 84886,\n \"rpc\": [\"https://84886.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.aerielab.io\"],\n \"shortName\": \"Aerie\",\n \"slug\": \"aerie-network\",\n \"testnet\": false\n};\n\nvar c84977 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 84977,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1151\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1151 Token\",\n \"symbol\": \"AWU\",\n \"decimals\": 18\n },\n \"networkId\": 84977,\n \"redFlags\": [],\n \"rpc\": [\"https://84977.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1151\",\n \"slug\": \"qauser1151\",\n \"testnet\": true\n};\n\nvar c85023 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 85023,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"NishiOgikubo Subnet\",\n \"nativeCurrency\": {\n \"name\": \"NishiOgikubo Subnet Token\",\n \"symbol\": \"NOS\",\n \"decimals\": 18\n },\n \"networkId\": 85023,\n \"redFlags\": [],\n \"rpc\": [\"https://85023.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/nishiogiku/testnet/rpc\"],\n \"shortName\": \"NishiOgikubo Subnet\",\n \"slug\": \"nishiogikubo-subnet\",\n \"testnet\": true\n};\n\nvar c85405 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 85405,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0614T1tS\",\n \"nativeCurrency\": {\n \"name\": \"QR0614T1tS Token\",\n \"symbol\": \"FTW\",\n \"decimals\": 18\n },\n \"networkId\": 85405,\n \"redFlags\": [],\n \"rpc\": [\"https://85405.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0614t1ts/testnet/rpc\"],\n \"shortName\": \"QR0614T1tS\",\n \"slug\": \"qr0614t1ts\",\n \"testnet\": true\n};\n\nvar c85449 = {\n \"chain\": \"CYBER\",\n \"chainId\": 85449,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://cybertrust.space\",\n \"name\": \"CYBERTRUST\",\n \"nativeCurrency\": {\n \"name\": \"Cyber Trust\",\n \"symbol\": \"CYBER\",\n \"decimals\": 18\n },\n \"networkId\": 48501,\n \"rpc\": [\"https://85449.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://testnet.cybertrust.space:48501\"],\n \"shortName\": \"Cyber\",\n \"slug\": \"cybertrust\",\n \"testnet\": true\n};\n\nvar c85678 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 85678,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0122I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0122I1 Testnet Token\",\n \"symbol\": \"KIP\",\n \"decimals\": 18\n },\n \"networkId\": 85678,\n \"redFlags\": [],\n \"rpc\": [\"https://85678.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0122I1 Testnet\",\n \"slug\": \"qi0122i1-testnet-qi0122i1 testnet-85678\",\n \"testnet\": true\n};\n\nvar c86157 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 86157,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0523S1T\",\n \"nativeCurrency\": {\n \"name\": \"QR0523S1T Token\",\n \"symbol\": \"STZ\",\n \"decimals\": 18\n },\n \"networkId\": 86157,\n \"redFlags\": [],\n \"rpc\": [\"https://86157.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0523s1t/testnet/rpc\"],\n \"shortName\": \"QR0523S1T\",\n \"slug\": \"qr0523s1t\",\n \"testnet\": true\n};\n\nvar c86663 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 86663,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser7218 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser7218 Testnet Token\",\n \"symbol\": \"GCY\",\n \"decimals\": 18\n },\n \"networkId\": 86663,\n \"redFlags\": [],\n \"rpc\": [\"https://86663.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser7218 Testnet\",\n \"slug\": \"qauser7218-testnet\",\n \"testnet\": true\n};\n\nvar c87389 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 87389,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1804\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1804 Token\",\n \"symbol\": \"UOA\",\n \"decimals\": 18\n },\n \"networkId\": 87389,\n \"redFlags\": [],\n \"rpc\": [\"https://87389.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1804\",\n \"slug\": \"qauser1804\",\n \"testnet\": true\n};\n\nvar c87460 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 87460,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1360 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1360 Testnet Token\",\n \"symbol\": \"KYP\",\n \"decimals\": 18\n },\n \"networkId\": 87460,\n \"redFlags\": [],\n \"rpc\": [\"https://87460.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1360 Testnet\",\n \"slug\": \"qauser1360-testnet\",\n \"testnet\": true\n};\n\nvar c87815 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 87815,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402056\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402056 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 87815,\n \"redFlags\": [],\n \"rpc\": [\"https://87815.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402056\",\n \"slug\": \"qi-m-2402056\",\n \"testnet\": true\n};\n\nvar c88002 = {\n \"chain\": \"ETH\",\n \"chainId\": 88002,\n \"explorers\": [{\n \"name\": \"Nautscan\",\n \"url\": \"https://proteus.nautscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNutSgM7n6aJPPDiofe9Dm1epy1RcYTMvugukLUK2vmPM\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://proteusfaucet.nautchain.xyz\"],\n \"icon\": {\n \"url\": \"ipfs://QmNutSgM7n6aJPPDiofe9Dm1epy1RcYTMvugukLUK2vmPM\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.nautchain.xyz\",\n \"name\": \"Nautilus Proteus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Zebec Test Token\",\n \"symbol\": \"tZBC\",\n \"decimals\": 18\n },\n \"networkId\": 88002,\n \"rpc\": [\"https://88002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.proteus.nautchain.xyz/solana\"],\n \"shortName\": \"NAUTTest\",\n \"slip44\": 1,\n \"slug\": \"nautilus-proteus-testnet\",\n \"testnet\": true\n};\n\nvar c88018 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 88018,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402131\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402131 Token\",\n \"symbol\": \"CYB\",\n \"decimals\": 18\n },\n \"networkId\": 88018,\n \"redFlags\": [],\n \"rpc\": [\"https://88018.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 2402131\",\n \"slug\": \"qi-m-2402131\",\n \"testnet\": true\n};\n\nvar c88559 = {\n \"chain\": \"INOAI\",\n \"chainId\": 88559,\n \"explorers\": [{\n \"name\": \"inoai live\",\n \"url\": \"https://inoai.live\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdP8zAZEwUbf3pt8t9Ykho866ni5AMgutvkn3cBsV8gKG\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://inoai.info\",\n \"name\": \"Inoai Network\",\n \"nativeCurrency\": {\n \"name\": \"Inoai\",\n \"symbol\": \"INO\",\n \"decimals\": 18\n },\n \"networkId\": 88559,\n \"rpc\": [\"https://88559.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://inoai-network.com\"],\n \"shortName\": \"INOAI\",\n \"slug\": \"inoai-network\",\n \"testnet\": false\n};\n\nvar c88795 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 88795,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser8230 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser8230 Testnet Token\",\n \"symbol\": \"GRB\",\n \"decimals\": 18\n },\n \"networkId\": 88795,\n \"redFlags\": [],\n \"rpc\": [\"https://88795.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser8230 Testnet\",\n \"slug\": \"qauser8230-testnet\",\n \"testnet\": true\n};\n\nvar c88817 = {\n \"chain\": \"Unit Zero\",\n \"chainId\": 88817,\n \"explorers\": [{\n \"name\": \"explorer-testnet\",\n \"url\": \"https://explorer-testnet.unit0.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://units.network\",\n \"name\": \"Unit Zero Testnet\",\n \"nativeCurrency\": {\n \"name\": \"UNIT0\",\n \"symbol\": \"UNIT0\",\n \"decimals\": 18\n },\n \"networkId\": 88817,\n \"rpc\": [\"https://88817.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.unit0.dev\"],\n \"shortName\": \"unit0-testnet\",\n \"slug\": \"unit-zero-testnet\",\n \"testnet\": true\n};\n\nvar c88819 = {\n \"chain\": \"Unit Zero\",\n \"chainId\": 88819,\n \"explorers\": [{\n \"name\": \"explorer-stagenet\",\n \"url\": \"https://explorer-stagenet.unit0.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://units.network\",\n \"name\": \"Unit Zero Stagenet\",\n \"nativeCurrency\": {\n \"name\": \"UNIT0\",\n \"symbol\": \"UNIT0\",\n \"decimals\": 18\n },\n \"networkId\": 88819,\n \"rpc\": [\"https://88819.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-stagenet.unit0.dev\"],\n \"shortName\": \"unit0-stagenet\",\n \"slug\": \"unit-zero-stagenet\",\n \"testnet\": false\n};\n\nvar c88880 = {\n \"chain\": \"CHZ\",\n \"chainId\": 88880,\n \"explorers\": [{\n \"name\": \"scoville-explorer\",\n \"url\": \"https://scoville-explorer.chiliz.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://scoville-faucet.chiliz.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmYV5xUVZhHRzLy7ie9D8qZeygJHvNZZAxwnB9GXYy6EED\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.chiliz.com/en/chain\",\n \"name\": \"Chiliz Scoville Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Chiliz\",\n \"symbol\": \"CHZ\",\n \"decimals\": 18\n },\n \"networkId\": 88880,\n \"rpc\": [\"https://88880.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://scoville-rpc.chiliz.com\"],\n \"shortName\": \"chz\",\n \"slip44\": 1,\n \"slug\": \"chiliz-scoville-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c88882 = {\n \"chain\": \"Spicy\",\n \"chainId\": 88882,\n \"explorers\": [{\n \"name\": \"spicy-explorer\",\n \"url\": \"https://testnet.chiliscan.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Spicy Explorer\",\n \"url\": \"http://spicy-explorer.chiliz.com/\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://spicy-faucet.chiliz.com\", \"https://tatum.io/faucets/chiliz\", \"https://spicy-faucet.chiliz.com/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTGYofJ8VLkeNY4J69AvXi8e126kmbHmf34wLFoJ1FKAK\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://chiliz.com/\",\n \"name\": \"Spicy Chain\",\n \"nativeCurrency\": {\n \"name\": \"Chiliz\",\n \"symbol\": \"CHZ\",\n \"decimals\": 18\n },\n \"networkId\": 88882,\n \"redFlags\": [],\n \"rpc\": [\"https://88882.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://spicy-rpc.chiliz.com/\", \"https://spicy-rpc.chiliz.com\"],\n \"shortName\": \"Spicy\",\n \"slip44\": 1,\n \"slug\": \"spicy-chain\",\n \"testnet\": true\n};\n\nvar c88883 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 88883,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Proj Orc Testnet Alpha\",\n \"nativeCurrency\": {\n \"name\": \"Proj Orc Testnet Alpha Token\",\n \"symbol\": \"STX\",\n \"decimals\": 18\n },\n \"networkId\": 88883,\n \"redFlags\": [],\n \"rpc\": [\"https://88883.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/projorctes/testnet/rpc\"],\n \"shortName\": \"Proj Orc Testnet Alpha\",\n \"slug\": \"proj-orc-testnet-alpha\",\n \"testnet\": true\n};\n\nvar c88888 = {\n \"chain\": \"CC2\",\n \"chainId\": 88888,\n \"explorers\": [{\n \"name\": \"cc2scan\",\n \"url\": \"https://scan.chiliz.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTGYofJ8VLkeNY4J69AvXi8e126kmbHmf34wLFoJ1FKAK\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://chiliz.com/chiliz-chain-2-0/\",\n \"name\": \"Chiliz Chain\",\n \"nativeCurrency\": {\n \"name\": \"Chiliz\",\n \"symbol\": \"CHZ\",\n \"decimals\": 18\n },\n \"networkId\": 88888,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://88888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ankr.com/chiliz\", \"https://rpc.chiliz.com\"],\n \"shortName\": \"cc2\",\n \"slug\": \"chiliz-chain\",\n \"testnet\": false\n};\n\nvar c88945 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 88945,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"SwapTest\",\n \"nativeCurrency\": {\n \"name\": \"SwapTest Token\",\n \"symbol\": \"ZQG\",\n \"decimals\": 18\n },\n \"networkId\": 88945,\n \"redFlags\": [],\n \"rpc\": [\"https://88945.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/swaptest/testnet/rpc\"],\n \"shortName\": \"SwapTest\",\n \"slug\": \"swaptest\",\n \"testnet\": true\n};\n\nvar c89283 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 89283,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIS0326 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QIS0326 Testnet Token\",\n \"symbol\": \"AKK\",\n \"decimals\": 18\n },\n \"networkId\": 89283,\n \"redFlags\": [],\n \"rpc\": [\"https://89283.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIS0326 Testnet\",\n \"slug\": \"qis0326-testnet\",\n \"testnet\": true\n};\n\nvar c89327 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 89327,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0304I3 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0304I3 Testnet Token\",\n \"symbol\": \"ZIK\",\n \"decimals\": 18\n },\n \"networkId\": 89327,\n \"redFlags\": [],\n \"rpc\": [\"https://89327.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0304I3 Testnet\",\n \"slug\": \"qi0304i3-testnet\",\n \"testnet\": true\n};\n\nvar c90001 = {\n \"chain\": \"Fxcore\",\n \"chainId\": 90001,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmauD5hzc5q1VgEU1nT4AGLCeV79CB8GgfnXXeeLmBZVHf\",\n \"width\": 36,\n \"height\": 36,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://functionx.io/\",\n \"name\": \"F(x)Core Testnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Function X\",\n \"symbol\": \"FX\",\n \"decimals\": 18\n },\n \"networkId\": 90001,\n \"rpc\": [\"https://90001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-fx-json-web3.functionx.io:8545\"],\n \"shortName\": \"dhobyghaut\",\n \"slug\": \"f-x-core-testnet-network\",\n \"testnet\": true\n};\n\nvar c90210 = {\n \"chain\": \"ETH\",\n \"chainId\": 90210,\n \"explorers\": [{\n \"name\": \"Beverly Hills explorer\",\n \"url\": \"https://explorer.beverlyhills.ethdevops.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.beverlyhills.ethdevops.io\"],\n \"infoURL\": \"https://beverlyhills.ethdevops.io\",\n \"name\": \"Beverly Hills\",\n \"nativeCurrency\": {\n \"name\": \"Beverly Hills Testnet Ether\",\n \"symbol\": \"BVE\",\n \"decimals\": 18\n },\n \"networkId\": 90210,\n \"rpc\": [\"https://90210.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.beverlyhills.ethdevops.io:8545\"],\n \"shortName\": \"bvhl\",\n \"slug\": \"beverly-hills\",\n \"status\": \"incubating\",\n \"testnet\": true,\n \"title\": \"Ethereum multi-client Verkle Testnet Beverly Hills\"\n};\n\nvar c90343 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 90343,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0603I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0603I2 Token\",\n \"symbol\": \"UQI\",\n \"decimals\": 18\n },\n \"networkId\": 90343,\n \"redFlags\": [],\n \"rpc\": [\"https://90343.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0603I2\",\n \"slug\": \"qi0603i2\",\n \"testnet\": true\n};\n\nvar c90354 = {\n \"chain\": \"ETH\",\n \"chainId\": 90354,\n \"explorers\": [{\n \"name\": \"Block Explorer\",\n \"url\": \"https://explorerl2new-camp-network-4xje7wy105.t.conduit.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmd5ux27W44fjxHP2opz7eLhJ6CJJm9WR6VcKNhbQBxiSd/QOyzwbO2_400x400.jpg\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [\"https://www.campnetwork.xyz/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmd5ux27W44fjxHP2opz7eLhJ6CJJm9WR6VcKNhbQBxiSd/QOyzwbO2_400x400.jpg\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://campaign-1.gitbook.io/camp-technical-docså\",\n \"name\": \"Camp Network\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 90354,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://camp-testnet-bridge.vercel.app/\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://90354.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-camp-network-4xje7wy105.t.conduit.xyz/\", \"https://rpc-camp-network-4xje7wy105.t.conduit.xyz\"],\n \"shortName\": \"campaign-l2\",\n \"slip44\": 1,\n \"slug\": \"camp-network\",\n \"testnet\": false\n};\n\nvar c90663 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 90663,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0416s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0416s1 Testnet Token\",\n \"symbol\": \"ZKE\",\n \"decimals\": 18\n },\n \"networkId\": 90663,\n \"redFlags\": [],\n \"rpc\": [\"https://90663.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0416s1 Testnet\",\n \"slug\": \"qi0416s1-testnet\",\n \"testnet\": true\n};\n\nvar c90871 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 90871,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0426s1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0426s1 Testnet Token\",\n \"symbol\": \"WDC\",\n \"decimals\": 18\n },\n \"networkId\": 90871,\n \"redFlags\": [],\n \"rpc\": [\"https://90871.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0426s1 Testnet\",\n \"slug\": \"qi0426s1-testnet\",\n \"testnet\": true\n};\n\nvar c91002 = {\n \"chain\": \"ETH\",\n \"chainId\": 91002,\n \"explorers\": [{\n \"name\": \"Nautscan\",\n \"url\": \"https://triton.nautscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.eclipse.builders\"],\n \"icon\": {\n \"url\": \"ipfs://QmNutSgM7n6aJPPDiofe9Dm1epy1RcYTMvugukLUK2vmPM\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.nautchain.xyz\",\n \"name\": \"Nautilus Trition Chain\",\n \"nativeCurrency\": {\n \"name\": \"Nautilus Zebec Testnet Tokens\",\n \"symbol\": \"tZBC\",\n \"decimals\": 18\n },\n \"networkId\": 91002,\n \"rpc\": [\"https://91002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://triton.api.nautchain.xyz\"],\n \"shortName\": \"NAUT\",\n \"slug\": \"nautilus-trition-chain\",\n \"testnet\": true,\n \"title\": \"Nautilus Trition Testnet\"\n};\n\nvar c91003 = {\n \"chain\": \"WRLDS\",\n \"chainId\": 91003,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.evm.worlds.dev.eclipsenetwork.xyz/request_neon\"],\n \"features\": [],\n \"name\": \"Worlds Appchain\",\n \"nativeCurrency\": {\n \"name\": \"WRLDS\",\n \"symbol\": \"WRLDS\",\n \"decimals\": 18\n },\n \"networkId\": 91003,\n \"redFlags\": [],\n \"rpc\": [\"https://91003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.evm.worlds.dev.eclipsenetwork.xyz/\"],\n \"shortName\": \"WRLDS\",\n \"slug\": \"worlds-appchain\",\n \"testnet\": true\n};\n\nvar c91041 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91041,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0318I1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0318I1 Testnet Token\",\n \"symbol\": \"DVN\",\n \"decimals\": 18\n },\n \"networkId\": 91041,\n \"redFlags\": [],\n \"rpc\": [\"https://91041.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0318I1 Testnet\",\n \"slug\": \"qi0318i1-testnet-qi0318i1 testnet\",\n \"testnet\": true\n};\n\nvar c91120 = {\n \"chain\": \"MetaDAP\",\n \"chainId\": 91120,\n \"explorers\": [{\n \"name\": \"MetaDAP Enterprise Mainnet explorer\",\n \"url\": \"https://explorer.chain.metadap.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcCFUTStKKJKfzTwrjfMFoVaPCMsvAvWXRdDkYMvCkEs3\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://metadap.io/\",\n \"name\": \"MetaDAP Enterprise Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DAP\",\n \"symbol\": \"DAP\",\n \"decimals\": 18\n },\n \"networkId\": 91120,\n \"rpc\": [\"https://91120.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.chain.metadap.io\", \"wss://rpc-ws.chain.metadap.io\"],\n \"shortName\": \"MetaDAP\",\n \"slug\": \"metadap-enterprise\",\n \"testnet\": false,\n \"title\": \"MetaDAP Enterprise Mainnet\"\n};\n\nvar c91132 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91132,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"New Will's Testnet\",\n \"nativeCurrency\": {\n \"name\": \"New Will's Testnet Token\",\n \"symbol\": \"MBM\",\n \"decimals\": 18\n },\n \"networkId\": 91132,\n \"redFlags\": [],\n \"rpc\": [\"https://91132.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"New Will's Testnet\",\n \"slug\": \"new-will-s-testnet\",\n \"testnet\": true\n};\n\nvar c91399 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91399,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0506s1\",\n \"nativeCurrency\": {\n \"name\": \"QI0506s1 Token\",\n \"symbol\": \"NGH\",\n \"decimals\": 18\n },\n \"networkId\": 91399,\n \"redFlags\": [],\n \"rpc\": [\"https://91399.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0506s1\",\n \"slug\": \"qi0506s1\",\n \"testnet\": true\n};\n\nvar c91513 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91513,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Jambon Universe\",\n \"nativeCurrency\": {\n \"name\": \"Jambon Universe Token\",\n \"symbol\": \"NIX\",\n \"decimals\": 18\n },\n \"networkId\": 91513,\n \"redFlags\": [],\n \"rpc\": [\"https://91513.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jambonuvrs/testnet/rpc\"],\n \"shortName\": \"Jambon Universe\",\n \"slug\": \"jambon-universe\",\n \"testnet\": true\n};\n\nvar c91558 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91558,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Shelby's Testnet 1-18\",\n \"nativeCurrency\": {\n \"name\": \"Shelby's Testnet 1-18 Token\",\n \"symbol\": \"LIE\",\n \"decimals\": 18\n },\n \"networkId\": 91558,\n \"redFlags\": [],\n \"rpc\": [\"https://91558.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Shelby's Testnet 1-18\",\n \"slug\": \"shelby-s-testnet-1-18\",\n \"testnet\": true\n};\n\nvar c91715 = {\n \"chain\": \"Combo\",\n \"chainId\": 91715,\n \"explorers\": [{\n \"name\": \"combotrace explorer\",\n \"url\": \"https://combotrace-testnet.nodereal.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRR4v6h6z21BpgS9xY3ExLB4Gkmm3i3dJWQx27oTGifq8\",\n \"width\": 800,\n \"height\": 693,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://combonetwork.io\",\n \"name\": \"Combo Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BNB Chain Native Token\",\n \"symbol\": \"tcBNB\",\n \"decimals\": 18\n },\n \"networkId\": 91715,\n \"rpc\": [\"https://91715.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-rpc.combonetwork.io\"],\n \"shortName\": \"combo-testnet\",\n \"slug\": \"combo-testnet\",\n \"testnet\": true\n};\n\nvar c91735 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91735,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1228I2\",\n \"nativeCurrency\": {\n \"name\": \"QI1228I2 Token\",\n \"symbol\": \"ZMY\",\n \"decimals\": 18\n },\n \"networkId\": 91735,\n \"redFlags\": [],\n \"rpc\": [\"https://91735.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f51649a9-3420-4636-bb44-206f63998951\"],\n \"shortName\": \"QI1228I2\",\n \"slug\": \"qi1228i2\",\n \"testnet\": true\n};\n\nvar c91924 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 91924,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0506I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0506I1 Token\",\n \"symbol\": \"KQA\",\n \"decimals\": 18\n },\n \"networkId\": 91924,\n \"redFlags\": [],\n \"rpc\": [\"https://91924.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0506I1\",\n \"slug\": \"qi0506i1\",\n \"testnet\": true\n};\n\nvar c92001 = {\n \"chain\": \"Lambda\",\n \"chainId\": 92001,\n \"explorers\": [{\n \"name\": \"Lambda EVM Explorer\",\n \"url\": \"https://explorer.lambda.top\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWsoME6LCghQTpGYf7EnUojaDdYo7kfkWVjE6VvNtkjwy\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.lambda.top\"],\n \"icon\": {\n \"url\": \"ipfs://QmWsoME6LCghQTpGYf7EnUojaDdYo7kfkWVjE6VvNtkjwy\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lambda.im\",\n \"name\": \"Lambda Testnet\",\n \"nativeCurrency\": {\n \"name\": \"test-Lamb\",\n \"symbol\": \"LAMB\",\n \"decimals\": 18\n },\n \"networkId\": 92001,\n \"rpc\": [\"https://92001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.lambda.top/\"],\n \"shortName\": \"lambda-testnet\",\n \"slip44\": 1,\n \"slug\": \"lambda-testnet\",\n \"testnet\": true\n};\n\nvar c92185 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92185,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0506I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0506I2 Token\",\n \"symbol\": \"EXW\",\n \"decimals\": 18\n },\n \"networkId\": 92185,\n \"redFlags\": [],\n \"rpc\": [\"https://92185.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0506I2\",\n \"slug\": \"qi0506i2\",\n \"testnet\": true\n};\n\nvar c92314 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92314,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIM 2405081\",\n \"nativeCurrency\": {\n \"name\": \"QIM 2405081 Token\",\n \"symbol\": \"WCC\",\n \"decimals\": 18\n },\n \"networkId\": 92314,\n \"redFlags\": [],\n \"rpc\": [\"https://92314.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f069738d-9c43-497b-96c1-9dda60d647e2\"],\n \"shortName\": \"QIM 2405081\",\n \"slug\": \"qim-2405081\",\n \"testnet\": true\n};\n\nvar c92496 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92496,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Token\",\n \"symbol\": \"OWO\",\n \"decimals\": 18\n },\n \"networkId\": 92496,\n \"redFlags\": [],\n \"rpc\": [\"https://92496.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/testnet/testnet/rpc\"],\n \"shortName\": \"Testnet\",\n \"slug\": \"testnet-testnet-92496\",\n \"testnet\": true\n};\n\nvar c92780 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92780,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402053\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402053 Token\",\n \"symbol\": \"ACI\",\n \"decimals\": 18\n },\n \"networkId\": 92780,\n \"redFlags\": [],\n \"rpc\": [\"https://92780.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/c908add6-74c5-4407-8091-18762786a0b9\"],\n \"shortName\": \"QI M 2402053\",\n \"slug\": \"qi-m-2402053\",\n \"testnet\": true\n};\n\nvar c92847 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92847,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4251\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4251 Token\",\n \"symbol\": \"ERU\",\n \"decimals\": 18\n },\n \"networkId\": 92847,\n \"redFlags\": [],\n \"rpc\": [\"https://92847.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4251\",\n \"slug\": \"qauser4251\",\n \"testnet\": true\n};\n\nvar c92850 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92850,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1212I3\",\n \"nativeCurrency\": {\n \"name\": \"QI1212I3 Token\",\n \"symbol\": \"HSCX\",\n \"decimals\": 18\n },\n \"networkId\": 92850,\n \"redFlags\": [],\n \"rpc\": [\"https://92850.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI1212I3\",\n \"slug\": \"qi1212i3\",\n \"testnet\": true\n};\n\nvar c92978 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 92978,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser4903 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser4903 Testnet Token\",\n \"symbol\": \"CQS\",\n \"decimals\": 18\n },\n \"networkId\": 92978,\n \"redFlags\": [],\n \"rpc\": [\"https://92978.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser4903 Testnet\",\n \"slug\": \"qauser4903-testnet\",\n \"testnet\": true\n};\n\nvar c93017 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 93017,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QIS0313 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QIS0313 Testnet Token\",\n \"symbol\": \"NCG\",\n \"decimals\": 18\n },\n \"networkId\": 93017,\n \"redFlags\": [],\n \"rpc\": [\"https://93017.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QIS0313 Testnet\",\n \"slug\": \"qis0313-testnet\",\n \"testnet\": true\n};\n\nvar c93572 = {\n \"chain\": \"LILA\",\n \"chainId\": 93572,\n \"explorers\": [{\n \"name\": \"LiquidLayer Testnet Explorer\",\n \"url\": \"https://testnet-scan.liquidlayer.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://claim.liquidlayer.network\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiayuuzfpcgwjll4us4hquvpqa5gwq3lbiedv4qftmlwcxhcyjzzpq\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet-scan.liquidlayer.network\",\n \"name\": \"LiquidLayer Testnet\",\n \"nativeCurrency\": {\n \"name\": \"LiquidLayer Testnet\",\n \"symbol\": \"LILA\",\n \"decimals\": 18\n },\n \"networkId\": 93572,\n \"rpc\": [\"https://93572.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.liquidlayer.network\"],\n \"shortName\": \"tLILA\",\n \"slug\": \"liquidlayer-testnet\",\n \"testnet\": true\n};\n\nvar c93625 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 93625,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0222I2\",\n \"nativeCurrency\": {\n \"name\": \"QI0222I2 Token\",\n \"symbol\": \"INK\",\n \"decimals\": 18\n },\n \"networkId\": 93625,\n \"redFlags\": [],\n \"rpc\": [\"https://93625.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0222I2\",\n \"slug\": \"qi0222i2\",\n \"testnet\": true\n};\n\nvar c93694 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 93694,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2401291\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2401291 Token\",\n \"symbol\": \"HZU\",\n \"decimals\": 18\n },\n \"networkId\": 93694,\n \"redFlags\": [],\n \"rpc\": [\"https://93694.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-dev.io/f14d837e-de8f-446d-8222-0077f26e6694\"],\n \"shortName\": \"QI M 2401291\",\n \"slug\": \"qi-m-2401291\",\n \"testnet\": true\n};\n\nvar c93797 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 93797,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser8328\",\n \"nativeCurrency\": {\n \"name\": \"QaUser8328 Token\",\n \"symbol\": \"CPY\",\n \"decimals\": 18\n },\n \"networkId\": 93797,\n \"redFlags\": [],\n \"rpc\": [\"https://93797.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser8328\",\n \"slug\": \"qauser8328\",\n \"testnet\": true\n};\n\nvar c94006 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 94006,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser3298\",\n \"nativeCurrency\": {\n \"name\": \"QaUser3298 Token\",\n \"symbol\": \"TPM\",\n \"decimals\": 18\n },\n \"networkId\": 94006,\n \"redFlags\": [],\n \"rpc\": [\"https://94006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser3298\",\n \"slug\": \"qauser3298\",\n \"testnet\": true\n};\n\nvar c94158 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 94158,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"FST 12-22 V1\",\n \"nativeCurrency\": {\n \"name\": \"FST 12-22 V1 Token\",\n \"symbol\": \"EJJ\",\n \"decimals\": 18\n },\n \"networkId\": 94158,\n \"redFlags\": [],\n \"rpc\": [\"https://94158.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"FST 12-22 V1\",\n \"slug\": \"fst-12-22-v1\",\n \"testnet\": true\n};\n\nvar c94171 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 94171,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser1828\",\n \"nativeCurrency\": {\n \"name\": \"QaUser1828 Token\",\n \"symbol\": \"GGY\",\n \"decimals\": 18\n },\n \"networkId\": 94171,\n \"redFlags\": [],\n \"rpc\": [\"https://94171.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser1828\",\n \"slug\": \"qauser1828\",\n \"testnet\": true\n};\n\nvar c94565 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 94565,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"T 0117\",\n \"nativeCurrency\": {\n \"name\": \"T 0117 Token\",\n \"symbol\": \"RUI\",\n \"decimals\": 18\n },\n \"networkId\": 94565,\n \"redFlags\": [],\n \"rpc\": [\"https://94565.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"T 0117\",\n \"slug\": \"t-0117\",\n \"testnet\": true\n};\n\nvar c94918 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 94918,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Sample Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sample Testnet Token\",\n \"symbol\": \"INS\",\n \"decimals\": 18\n },\n \"networkId\": 94918,\n \"redFlags\": [],\n \"rpc\": [\"https://94918.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/sampletest/testnet/rpc\"],\n \"shortName\": \"Sample Testnet\",\n \"slug\": \"sample-testnet\",\n \"testnet\": true\n};\n\nvar c95063 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 95063,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser0263\",\n \"nativeCurrency\": {\n \"name\": \"QaUser0263 Token\",\n \"symbol\": \"BDU\",\n \"decimals\": 18\n },\n \"networkId\": 95063,\n \"redFlags\": [],\n \"rpc\": [\"https://95063.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser0263\",\n \"slug\": \"qauser0263\",\n \"testnet\": true\n};\n\nvar c95395 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 95395,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet Token\",\n \"symbol\": \"MFD\",\n \"decimals\": 18\n },\n \"networkId\": 95395,\n \"redFlags\": [],\n \"rpc\": [\"https://95395.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"Testnet\",\n \"slug\": \"testnet-testnet-95395\",\n \"testnet\": true\n};\n\nvar c95446 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 95446,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0521s1t\",\n \"nativeCurrency\": {\n \"name\": \"QI0521s1t Token\",\n \"symbol\": \"YFT\",\n \"decimals\": 18\n },\n \"networkId\": 95446,\n \"redFlags\": [],\n \"rpc\": [\"https://95446.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0521s1t\",\n \"slug\": \"qi0521s1t\",\n \"testnet\": true\n};\n\nvar c95468 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 95468,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0528T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0528T1TS Token\",\n \"symbol\": \"TLK\",\n \"decimals\": 18\n },\n \"networkId\": 95468,\n \"redFlags\": [],\n \"rpc\": [\"https://95468.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0528t1ts/testnet/rpc\"],\n \"shortName\": \"QR0528T1TS\",\n \"slug\": \"qr0528t1ts\",\n \"testnet\": true\n};\n\nvar c95549 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 95549,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Borne Testnet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Borne Testnet Testnet Token\",\n \"symbol\": \"BORNE\",\n \"decimals\": 18\n },\n \"networkId\": 95549,\n \"redFlags\": [],\n \"rpc\": [\"https://95549.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/borne/testnet/rpc\"],\n \"shortName\": \"Borne Testnet Testnet\",\n \"slug\": \"borne-testnet-testnet\",\n \"testnet\": true\n};\n\nvar c95598 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 95598,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0523I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0523I1 Token\",\n \"symbol\": \"TQQ\",\n \"decimals\": 18\n },\n \"networkId\": 95598,\n \"redFlags\": [],\n \"rpc\": [\"https://95598.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0523I1\",\n \"slug\": \"qi0523i1\",\n \"testnet\": true\n};\n\nvar c96040 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 96040,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"FIZIT\",\n \"nativeCurrency\": {\n \"name\": \"FIZIT Token\",\n \"symbol\": \"FIZIT\",\n \"decimals\": 18\n },\n \"networkId\": 96040,\n \"redFlags\": [],\n \"rpc\": [\"https://96040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/fizit/testnet/rpc\"],\n \"shortName\": \"FIZIT\",\n \"slug\": \"fizit\",\n \"testnet\": true\n};\n\nvar c96081 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 96081,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser2213 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser2213 Testnet Token\",\n \"symbol\": \"QLV\",\n \"decimals\": 18\n },\n \"networkId\": 96081,\n \"redFlags\": [],\n \"rpc\": [\"https://96081.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser2213 Testnet\",\n \"slug\": \"qauser2213-testnet\",\n \"testnet\": true\n};\n\nvar c96105 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 96105,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser5410\",\n \"nativeCurrency\": {\n \"name\": \"QaUser5410 Token\",\n \"symbol\": \"JIV\",\n \"decimals\": 18\n },\n \"networkId\": 96105,\n \"redFlags\": [],\n \"rpc\": [\"https://96105.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser5410\",\n \"slug\": \"qauser5410\",\n \"testnet\": true\n};\n\nvar c96552 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 96552,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI032924 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI032924 Testnet Token\",\n \"symbol\": \"KJA\",\n \"decimals\": 18\n },\n \"networkId\": 96552,\n \"redFlags\": [],\n \"rpc\": [\"https://96552.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI032924 Testnet\",\n \"slug\": \"qi032924-testnet\",\n \"testnet\": true\n};\n\nvar c96809 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 96809,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser2368 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser2368 Testnet Token\",\n \"symbol\": \"ZKJ\",\n \"decimals\": 18\n },\n \"networkId\": 96809,\n \"redFlags\": [],\n \"rpc\": [\"https://96809.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser2368 Testnet\",\n \"slug\": \"qauser2368-testnet\",\n \"testnet\": true\n};\n\nvar c96970 = {\n \"chain\": \"Mantis\",\n \"chainId\": 96970,\n \"explorers\": [{\n \"name\": \"Mantis Blockscout\",\n \"url\": \"https://blockscout.mantis.hexapod.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://mantis.switch.ch/faucet\", \"https://mantis.kore-technologies.ch/faucet\", \"https://mantis.phoenix-systems.io/faucet\", \"https://mantis.block-spirit.ch/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://Qma8dDhxSSVUyzV8Pu5bo252WaZEEikYFndRh7LVktvQEy\",\n \"width\": 512,\n \"height\": 330,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hexapod.network\",\n \"name\": \"Mantis Testnet (Hexapod)\",\n \"nativeCurrency\": {\n \"name\": \"Mantis\",\n \"symbol\": \"MANTIS\",\n \"decimals\": 18\n },\n \"networkId\": 96970,\n \"rpc\": [\"https://96970.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mantis-rpc.switch.ch\", \"https://mantis-rpc.kore-technologies.ch\", \"https://mantis-rpc.phoenix-systems.io\"],\n \"shortName\": \"mantis\",\n \"slip44\": 1,\n \"slug\": \"mantis-testnet-hexapod\",\n \"testnet\": true\n};\n\nvar c97288 = {\n \"chain\": \"Boba BNB Mainnet\",\n \"chainId\": 97288,\n \"explorers\": [{\n \"name\": \"Boba BNB block explorer\",\n \"url\": \"https://blockexplorer.bnb.boba.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://boba.network\",\n \"name\": \"Boba BNB Mainnet Old\",\n \"nativeCurrency\": {\n \"name\": \"Boba Token\",\n \"symbol\": \"BOBA\",\n \"decimals\": 18\n },\n \"networkId\": 97288,\n \"rpc\": [],\n \"shortName\": \"BobaBnbOld\",\n \"slug\": \"boba-bnb-old\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c97370 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 97370,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser8236\",\n \"nativeCurrency\": {\n \"name\": \"QaUser8236 Token\",\n \"symbol\": \"BPZ\",\n \"decimals\": 18\n },\n \"networkId\": 97370,\n \"redFlags\": [],\n \"rpc\": [\"https://97370.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser8236\",\n \"slug\": \"qauser8236\",\n \"testnet\": true\n};\n\nvar c97531 = {\n \"chain\": \"Green Chain\",\n \"chainId\": 97531,\n \"explorers\": [{\n \"name\": \"Green Chain Explorer\",\n \"url\": \"https://explorer.greenchain.app\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNWBcc2AtknphNxt4GtTxbWF6vDkf6sh2nvkPn9wqchW6\",\n \"width\": 519,\n \"height\": 518,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.greenchain.app\",\n \"name\": \"Green Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GREEN\",\n \"symbol\": \"GREEN\",\n \"decimals\": 18\n },\n \"networkId\": 97531,\n \"rpc\": [\"https://97531.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.greenchain.app/rpc/\"],\n \"shortName\": \"greenchain\",\n \"slug\": \"green-chain-testnet\",\n \"testnet\": true\n};\n\nvar c97590 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 97590,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0527T1TD\",\n \"nativeCurrency\": {\n \"name\": \"QI0527T1TD Token\",\n \"symbol\": \"WYI\",\n \"decimals\": 18\n },\n \"networkId\": 97590,\n \"redFlags\": [],\n \"rpc\": [\"https://97590.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0527T1TD\",\n \"slug\": \"qi0527t1td\",\n \"testnet\": true\n};\n\nvar c97622 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 97622,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0130I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0130I1 Token\",\n \"symbol\": \"NZY\",\n \"decimals\": 18\n },\n \"networkId\": 97622,\n \"redFlags\": [],\n \"rpc\": [\"https://97622.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0130I1\",\n \"slug\": \"qi0130i1\",\n \"testnet\": true\n};\n\nvar c97970 = {\n \"chain\": \"OptimusZ7\",\n \"chainId\": 97970,\n \"explorers\": [{\n \"name\": \"OptimusZ7 Testnet Explorer\",\n \"url\": \"https://testnet.optimusz7.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.optimusz7.com\"],\n \"icon\": {\n \"url\": \"ipfs://Qmerd9Q3otjDuQAFbdiQyUnZk7UfPvkCr21E5N4VCNvhbj\",\n \"width\": 493,\n \"height\": 506,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://optimusz7.com\",\n \"name\": \"OptimusZ7 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OptimusZ7\",\n \"symbol\": \"OZ7\",\n \"decimals\": 18\n },\n \"networkId\": 97970,\n \"rpc\": [\"https://97970.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.optimusz7.com\"],\n \"shortName\": \"OZ7t\",\n \"slug\": \"optimusz7-testnet\",\n \"testnet\": true\n};\n\nvar c98273 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 98273,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0520I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0520I1 Token\",\n \"symbol\": \"YZG\",\n \"decimals\": 18\n },\n \"networkId\": 98273,\n \"redFlags\": [],\n \"rpc\": [\"https://98273.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0520I1\",\n \"slug\": \"qi0520i1\",\n \"testnet\": true\n};\n\nvar c98540 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 98540,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI1212I5\",\n \"nativeCurrency\": {\n \"name\": \"QI1212I5 Token\",\n \"symbol\": \"HSCX\",\n \"decimals\": 18\n },\n \"networkId\": 98540,\n \"redFlags\": [],\n \"rpc\": [\"https://98540.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avacloud-test.io/ba4e7766-4bc6-44ec-b43f-598647b4ee71\"],\n \"shortName\": \"QI1212I5\",\n \"slug\": \"qi1212i5\",\n \"testnet\": true\n};\n\nvar c98557 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 98557,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0201I1\",\n \"nativeCurrency\": {\n \"name\": \"QR0201I1 Token\",\n \"symbol\": \"OCZ\",\n \"decimals\": 18\n },\n \"networkId\": 98557,\n \"redFlags\": [],\n \"rpc\": [\"https://98557.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0201i1/testnet/rpc\"],\n \"shortName\": \"QR0201I1\",\n \"slug\": \"qr0201i1\",\n \"testnet\": true\n};\n\nvar c98857 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 98857,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Thetan Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Thetan Testnet Token\",\n \"symbol\": \"THG\",\n \"decimals\": 18\n },\n \"networkId\": 98857,\n \"redFlags\": [],\n \"rpc\": [\"https://98857.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/thetantest/testnet/rpc\"],\n \"shortName\": \"Thetan Testnet\",\n \"slug\": \"thetan-testnet\",\n \"testnet\": true\n};\n\nvar c98881 = {\n \"chain\": \"Ebi\",\n \"chainId\": 98881,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://ebi.xyz\",\n \"name\": \"Ebi Chain\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 98881,\n \"rpc\": [\"https://98881.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ebi.xyz\"],\n \"shortName\": \"ebi\",\n \"slug\": \"ebi-chain\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Ebi Chain\"\n};\n\nvar c99099 = {\n \"chain\": \"$EL\",\n \"chainId\": 99099,\n \"explorers\": [{\n \"name\": \"eLiberty Testnet\",\n \"url\": \"https://testnet.eliberty.ngo\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.eliberty.ngo\"],\n \"icon\": {\n \"url\": \"ipfs://Qmcr8US1DZcK3ooiMtE8tEQPgep12abXzxPw1jCkgZhji9\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eliberty.ngo\",\n \"name\": \"eLiberty Testnet\",\n \"nativeCurrency\": {\n \"name\": \"eLiberty\",\n \"symbol\": \"$EL\",\n \"decimals\": 18\n },\n \"networkId\": 99099,\n \"rpc\": [\"https://99099.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.eliberty.ngo\"],\n \"shortName\": \"ELt\",\n \"slip44\": 1,\n \"slug\": \"eliberty-testnet\",\n \"testnet\": true\n};\n\nvar c99132 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 99132,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0222I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0222I1 Token\",\n \"symbol\": \"ZKUx\",\n \"decimals\": 18\n },\n \"networkId\": 99132,\n \"redFlags\": [],\n \"rpc\": [\"https://99132.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0222I1\",\n \"slug\": \"qi0222i1\",\n \"testnet\": true\n};\n\nvar c99181 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 99181,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser9727 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser9727 Testnet Token\",\n \"symbol\": \"PCE\",\n \"decimals\": 18\n },\n \"networkId\": 99181,\n \"redFlags\": [],\n \"rpc\": [\"https://99181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser9727 Testnet\",\n \"slug\": \"qauser9727-testnet\",\n \"testnet\": true\n};\n\nvar c99308 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 99308,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Borne Gaming Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Borne Gaming Testnet Token\",\n \"symbol\": \"BORNE\",\n \"decimals\": 18\n },\n \"networkId\": 99308,\n \"redFlags\": [],\n \"rpc\": [\"https://99308.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/bornegamin/testnet/rpc\"],\n \"shortName\": \"Borne Gaming Testnet\",\n \"slug\": \"borne-gaming-testnet\",\n \"testnet\": true\n};\n\nvar c99512 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 99512,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0611I1\",\n \"nativeCurrency\": {\n \"name\": \"QI0611I1 Token\",\n \"symbol\": \"IJQ\",\n \"decimals\": 18\n },\n \"networkId\": 99512,\n \"redFlags\": [],\n \"rpc\": [\"https://99512.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0611I1\",\n \"slug\": \"qi0611i1\",\n \"testnet\": true\n};\n\nvar c99733 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 99733,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QaUser6779 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QaUser6779 Testnet Token\",\n \"symbol\": \"WAG\",\n \"decimals\": 18\n },\n \"networkId\": 99733,\n \"redFlags\": [],\n \"rpc\": [\"https://99733.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QaUser6779 Testnet\",\n \"slug\": \"qauser6779-testnet\",\n \"testnet\": true\n};\n\nvar c99947 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 99947,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI M 2402141\",\n \"nativeCurrency\": {\n \"name\": \"QI M 2402141 Token\",\n \"symbol\": \"CYB\",\n \"decimals\": 18\n },\n \"networkId\": 99947,\n \"redFlags\": [],\n \"rpc\": [\"https://99947.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI M 2402141\",\n \"slug\": \"qi-m-2402141\",\n \"testnet\": true\n};\n\nvar c99998 = {\n \"chain\": \"USC\",\n \"chainId\": 99998,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.ubchain.site\",\n \"name\": \"UB Smart Chain(testnet)\",\n \"nativeCurrency\": {\n \"name\": \"UBC\",\n \"symbol\": \"UBC\",\n \"decimals\": 18\n },\n \"networkId\": 99998,\n \"rpc\": [\"https://99998.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.uschain.network\"],\n \"shortName\": \"usctest\",\n \"slip44\": 1,\n \"slug\": \"ub-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c99999 = {\n \"chain\": \"USC\",\n \"chainId\": 99999,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.ubchain.site/\",\n \"name\": \"UB Smart Chain\",\n \"nativeCurrency\": {\n \"name\": \"UBC\",\n \"symbol\": \"UBC\",\n \"decimals\": 18\n },\n \"networkId\": 99999,\n \"rpc\": [\"https://99999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.uschain.network\"],\n \"shortName\": \"usc\",\n \"slug\": \"ub-smart-chain\",\n \"testnet\": false\n};\n\nvar c100000 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100000,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Root\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100000,\n \"rpc\": [\"https://100000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://jrpc.mainnet.quarkchain.io:38391\"],\n \"shortName\": \"qkc-r\",\n \"slug\": \"quarkchain-root\",\n \"testnet\": false\n};\n\nvar c100001 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100001,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/0\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100001,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s0-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39000\"],\n \"shortName\": \"qkc-s0\",\n \"slug\": \"quarkchain-shard-0\",\n \"testnet\": false\n};\n\nvar c100002 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100002,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/1\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 1\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100002,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s1-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39001\"],\n \"shortName\": \"qkc-s1\",\n \"slug\": \"quarkchain-shard-1\",\n \"testnet\": false\n};\n\nvar c100003 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100003,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/2\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 2\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100003,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s2-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39002\"],\n \"shortName\": \"qkc-s2\",\n \"slug\": \"quarkchain-shard-2\",\n \"testnet\": false\n};\n\nvar c100004 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100004,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/3\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 3\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100004,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s3-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39003\"],\n \"shortName\": \"qkc-s3\",\n \"slug\": \"quarkchain-shard-3\",\n \"testnet\": false\n};\n\nvar c100005 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100005,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/4\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 4\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100005,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100005.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s4-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39004\"],\n \"shortName\": \"qkc-s4\",\n \"slug\": \"quarkchain-shard-4\",\n \"testnet\": false\n};\n\nvar c100006 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100006,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/5\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 5\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100006,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s5-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39005\"],\n \"shortName\": \"qkc-s5\",\n \"slug\": \"quarkchain-shard-5\",\n \"testnet\": false\n};\n\nvar c100007 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100007,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/6\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 6\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100007,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100007.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s6-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39006\"],\n \"shortName\": \"qkc-s6\",\n \"slug\": \"quarkchain-shard-6\",\n \"testnet\": false\n};\n\nvar c100008 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100008,\n \"explorers\": [{\n \"name\": \"quarkchain-mainnet\",\n \"url\": \"https://mainnet.quarkchain.io/7\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Mainnet Shard 7\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100008,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-s7-ethapi.quarkchain.io\", \"http://eth-jrpc.mainnet.quarkchain.io:39007\"],\n \"shortName\": \"qkc-s7\",\n \"slug\": \"quarkchain-shard-7\",\n \"testnet\": false\n};\n\nvar c100009 = {\n \"chain\": \"VeChain\",\n \"chainId\": 100009,\n \"explorers\": [{\n \"name\": \"VeChain Stats\",\n \"url\": \"https://vechainstats.com\",\n \"standard\": \"none\"\n }, {\n \"name\": \"VeChain Explorer\",\n \"url\": \"https://explore.vechain.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://vechain.org\",\n \"name\": \"VeChain\",\n \"nativeCurrency\": {\n \"name\": \"VeChain\",\n \"symbol\": \"VET\",\n \"decimals\": 18\n },\n \"networkId\": 100009,\n \"rpc\": [],\n \"shortName\": \"vechain\",\n \"slug\": \"vechain\",\n \"testnet\": false\n};\n\nvar c100010 = {\n \"chain\": \"VeChain\",\n \"chainId\": 100010,\n \"explorers\": [{\n \"name\": \"VeChain Explorer\",\n \"url\": \"https://explore-testnet.vechain.org\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.vecha.in\"],\n \"infoURL\": \"https://vechain.org\",\n \"name\": \"VeChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"VeChain\",\n \"symbol\": \"VET\",\n \"decimals\": 18\n },\n \"networkId\": 100010,\n \"rpc\": [],\n \"shortName\": \"vechain-testnet\",\n \"slip44\": 1,\n \"slug\": \"vechain-testnet\",\n \"testnet\": true\n};\n\nvar c100011 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 100011,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain L2 Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 100011,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-100000\"\n },\n \"rpc\": [\"https://100011.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-l2-ethapi.quarkchain.io\"],\n \"shortName\": \"qkc-l2\",\n \"slug\": \"quarkchain-l2\",\n \"testnet\": false\n};\n\nvar c100100 = {\n \"chain\": \"CHI1\",\n \"chainId\": 100100,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeidk4swpgdyqmpz6shd5onvpaujvwiwthrhypufnwr6xh3dausz2dm\",\n \"width\": 1800,\n \"height\": 1800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.gnosischain.com\",\n \"name\": \"Deprecated CHI\",\n \"nativeCurrency\": {\n \"name\": \"Chiado xDAI\",\n \"symbol\": \"xDAI\",\n \"decimals\": 18\n },\n \"networkId\": 100100,\n \"rpc\": [],\n \"shortName\": \"chi1\",\n \"slug\": \"deprecated-chi\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c101010 = {\n \"chain\": \"GTN\",\n \"chainId\": 101010,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://stability.blockscout.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreid3wd6ouu53r677q2z24a4eq5un5tlwbc4izfapcvvtrlhkmz43au\",\n \"width\": 133,\n \"height\": 144,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://stabilityprotocol.com\",\n \"name\": \"Global Trust Network\",\n \"nativeCurrency\": {\n \"name\": \"FREE\",\n \"symbol\": \"FREE\",\n \"decimals\": 18\n },\n \"networkId\": 101010,\n \"redFlags\": [\"reusedChainId\"],\n \"rpc\": [\"https://101010.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gtn.stabilityprotocol.com\"],\n \"shortName\": \"stabilityprotocol\",\n \"slug\": \"global-trust-network\",\n \"testnet\": false\n};\n\nvar c102031 = {\n \"chain\": \"CTC\",\n \"chainId\": 102031,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://creditcoin-testnet.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTfecECALDCy51zwVbXBSXb6TokqowCYzVLv65etahLxX\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://creditcoin.org\",\n \"name\": \"Creditcoin Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Testnet CTC\",\n \"symbol\": \"tCTC\",\n \"decimals\": 18\n },\n \"networkId\": 102031,\n \"rpc\": [\"https://102031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.cc3-testnet.creditcoin.network\"],\n \"shortName\": \"ctctest\",\n \"slug\": \"creditcoin-testnet\",\n \"testnet\": true\n};\n\nvar c103090 = {\n \"chain\": \"crystal\",\n \"chainId\": 103090,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://scan.crystaleum.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmbry1Uc6HnXmqFNXW5dFJ7To8EezCCjNr4TqqvAyzXS4h\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmbry1Uc6HnXmqFNXW5dFJ7To8EezCCjNr4TqqvAyzXS4h\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://crystaleum.org\",\n \"name\": \"Crystaleum\",\n \"nativeCurrency\": {\n \"name\": \"CRFI\",\n \"symbol\": \"◈\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://103090.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.cryptocurrencydevs.org\", \"https://rpc.crystaleum.org\"],\n \"shortName\": \"CRFI\",\n \"slug\": \"crystaleum\",\n \"testnet\": false\n};\n\nvar c103454 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 103454,\n \"explorers\": [{\n \"name\": \"Masa Testnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/masatestnet\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Masa Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Masa Testnet Token\",\n \"symbol\": \"tMASA\",\n \"decimals\": 18\n },\n \"networkId\": 103454,\n \"redFlags\": [],\n \"rpc\": [\"https://103454.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/masatestne/testnet/rpc\"],\n \"shortName\": \"Masa Testnet\",\n \"slug\": \"masa-testnet\",\n \"testnet\": true\n};\n\nvar c104566 = {\n \"chain\": \"KaspaClassic\",\n \"chainId\": 104566,\n \"explorers\": [{\n \"name\": \"KaspaClassic Explorer\",\n \"url\": \"https://explorer.kaspaclassic.world\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNMuNBwg9opKvsnrDaoYBP743LeddeooQupVYjpBXf7d7\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kaspaclassic.com/\",\n \"name\": \"KaspaClassic Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"KaspaClassic\",\n \"symbol\": \"CAS\",\n \"decimals\": 18\n },\n \"networkId\": 104566,\n \"rpc\": [\"https://104566.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.kaspaclassic.world/\", \"http://80.178.101.118:8000/\"],\n \"shortName\": \"cas\",\n \"slug\": \"kaspaclassic\",\n \"testnet\": false\n};\n\nvar c105105 = {\n \"chain\": \"Stratis\",\n \"chainId\": 105105,\n \"explorers\": [{\n \"name\": \"Stratis Explorer\",\n \"url\": \"https://explorer.stratisevm.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWiRBqfzoZ3GC7oCbYFqbwLyF4uDHM4eYdKUUJ7LHf2EA\",\n \"width\": 59,\n \"height\": 55,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.stratisplatform.com\",\n \"name\": \"Stratis Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Stratis\",\n \"symbol\": \"STRAX\",\n \"decimals\": 18\n },\n \"networkId\": 105105,\n \"rpc\": [\"https://105105.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.stratisevm.com\"],\n \"shortName\": \"stratis\",\n \"slug\": \"stratis\",\n \"testnet\": false\n};\n\nvar c108801 = {\n \"chain\": \"BRO\",\n \"chainId\": 108801,\n \"explorers\": [{\n \"name\": \"BROChain Explorer\",\n \"url\": \"https://explorer.brochain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://brochain.org\",\n \"name\": \"BROChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Brother\",\n \"symbol\": \"BRO\",\n \"decimals\": 18\n },\n \"networkId\": 108801,\n \"rpc\": [\"https://108801.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.brochain.org\", \"http://rpc.brochain.org\", \"https://rpc.brochain.org/mainnet\", \"http://rpc.brochain.org/mainnet\"],\n \"shortName\": \"bro\",\n \"slug\": \"brochain\",\n \"testnet\": false\n};\n\nvar c110000 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110000,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Root\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110000,\n \"rpc\": [\"https://110000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://jrpc.devnet.quarkchain.io:38391\"],\n \"shortName\": \"qkc-d-r\",\n \"slug\": \"quarkchain-devnet-root\",\n \"testnet\": false\n};\n\nvar c110001 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110001,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/0\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110001,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s0-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39900\"],\n \"shortName\": \"qkc-d-s0\",\n \"slug\": \"quarkchain-devnet-shard-0\",\n \"testnet\": false\n};\n\nvar c110002 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110002,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/1\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 1\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110002,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s1-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39901\"],\n \"shortName\": \"qkc-d-s1\",\n \"slug\": \"quarkchain-devnet-shard-1\",\n \"testnet\": false\n};\n\nvar c110003 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110003,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/2\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 2\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110003,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s2-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39902\"],\n \"shortName\": \"qkc-d-s2\",\n \"slug\": \"quarkchain-devnet-shard-2\",\n \"testnet\": false\n};\n\nvar c110004 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110004,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/3\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 3\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110004,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s3-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39903\"],\n \"shortName\": \"qkc-d-s3\",\n \"slug\": \"quarkchain-devnet-shard-3\",\n \"testnet\": false\n};\n\nvar c110005 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110005,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/4\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 4\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110005,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110005.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s4-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39904\"],\n \"shortName\": \"qkc-d-s4\",\n \"slug\": \"quarkchain-devnet-shard-4\",\n \"testnet\": false\n};\n\nvar c110006 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110006,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/5\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 5\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110006,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s5-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39905\"],\n \"shortName\": \"qkc-d-s5\",\n \"slug\": \"quarkchain-devnet-shard-5\",\n \"testnet\": false\n};\n\nvar c110007 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110007,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/6\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 6\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110007,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110007.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s6-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39906\"],\n \"shortName\": \"qkc-d-s6\",\n \"slug\": \"quarkchain-devnet-shard-6\",\n \"testnet\": false\n};\n\nvar c110008 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110008,\n \"explorers\": [{\n \"name\": \"quarkchain-devnet\",\n \"url\": \"https://devnet.quarkchain.io/7\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain Devnet Shard 7\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110008,\n \"parent\": {\n \"type\": \"shard\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet-s7-ethapi.quarkchain.io\", \"http://eth-jrpc.devnet.quarkchain.io:39907\"],\n \"shortName\": \"qkc-d-s7\",\n \"slug\": \"quarkchain-devnet-shard-7\",\n \"testnet\": false\n};\n\nvar c110011 = {\n \"chain\": \"QuarkChain\",\n \"chainId\": 110011,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.quarkchain.io\",\n \"name\": \"QuarkChain L2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QKC\",\n \"symbol\": \"QKC\",\n \"decimals\": 18\n },\n \"networkId\": 110011,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-110000\"\n },\n \"rpc\": [\"https://110011.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-l2-ethapi.quarkchain.io\"],\n \"shortName\": \"qkc-l2-t\",\n \"slug\": \"quarkchain-l2-testnet\",\n \"testnet\": true\n};\n\nvar c111000 = {\n \"chain\": \"SBR\",\n \"chainId\": 111000,\n \"explorers\": [{\n \"name\": \"Siberium Testnet Explorer - blockscout\",\n \"url\": \"https://explorer.test.siberium.net\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYeMdWDZ1iaBFeSPorRyPi7RuSXTdDKTgW3rfnUf3W5ne\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYeMdWDZ1iaBFeSPorRyPi7RuSXTdDKTgW3rfnUf3W5ne\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://siberium.net\",\n \"name\": \"Siberium Test Network\",\n \"nativeCurrency\": {\n \"name\": \"TestSIBR\",\n \"symbol\": \"SIBR\",\n \"decimals\": 18\n },\n \"networkId\": 111000,\n \"rpc\": [\"https://111000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.test.siberium.net\"],\n \"shortName\": \"testsbr\",\n \"slip44\": 1,\n \"slug\": \"siberium-test-network\",\n \"testnet\": true\n};\n\nvar c111111 = {\n \"chain\": \"SBR\",\n \"chainId\": 111111,\n \"explorers\": [{\n \"name\": \"Siberium Mainnet Explorer - blockscout - 2\",\n \"url\": \"https://explorer.main.siberium.net.ru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYeMdWDZ1iaBFeSPorRyPi7RuSXTdDKTgW3rfnUf3W5ne\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYeMdWDZ1iaBFeSPorRyPi7RuSXTdDKTgW3rfnUf3W5ne\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://siberium.net\",\n \"name\": \"Siberium Network\",\n \"nativeCurrency\": {\n \"name\": \"Siberium\",\n \"symbol\": \"SIBR\",\n \"decimals\": 18\n },\n \"networkId\": 111111,\n \"rpc\": [\"https://111111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.main.siberium.net\", \"https://rpc.main.siberium.net.ru\"],\n \"shortName\": \"sbr\",\n \"slug\": \"siberium-network\",\n \"testnet\": false\n};\n\nvar c111188 = {\n \"chain\": \"re.al\",\n \"chainId\": 111188,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.re.al\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNUmWC7jNEBcTs6ZqkrQ5vMAQG8qjq7n3FcZnXvJZLoQ9\",\n \"width\": 301,\n \"height\": 302,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNUmWC7jNEBcTs6ZqkrQ5vMAQG8qjq7n3FcZnXvJZLoQ9\",\n \"width\": 301,\n \"height\": 302,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://re.al\",\n \"name\": \"re.al\",\n \"nativeCurrency\": {\n \"name\": \"re.al Ether\",\n \"symbol\": \"reETH\",\n \"decimals\": 18\n },\n \"networkId\": 111188,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://re.al/bridge\"\n }, {\n \"url\": \"https://bridge.gelato.network/bridge/real\"\n }]\n },\n \"rpc\": [\"https://111188.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://real.drpc.org\", \"wss://real.drpc.org\"],\n \"shortName\": \"re-al\",\n \"slip44\": 60,\n \"slug\": \"re-al\",\n \"testnet\": false,\n \"title\": \"re.al Real-World Assets network\"\n};\n\nvar c111223 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 111223,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Chennai Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Chennai Testnet Token\",\n \"symbol\": \"ZOD\",\n \"decimals\": 18\n },\n \"networkId\": 111223,\n \"redFlags\": [],\n \"rpc\": [\"https://111223.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/chennai/testnet/rpc\"],\n \"shortName\": \"Chennai Testnet\",\n \"slug\": \"chennai-testnet\",\n \"testnet\": true\n};\n\nvar c112358 = {\n \"chain\": \"METAO\",\n \"chainId\": 112358,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.metachain.one\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTmo2QAtX5PbhX96vewnvH4Vc5H83Ft2DJGi6tAqTcFij\",\n \"width\": 1000,\n \"height\": 981,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://metachain.one\",\n \"name\": \"Metachain One Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Metao\",\n \"symbol\": \"METAO\",\n \"decimals\": 18\n },\n \"networkId\": 112358,\n \"rpc\": [\"https://112358.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.metachain.one\", \"https://rpc2.metachain.one\"],\n \"shortName\": \"metao\",\n \"slug\": \"metachain-one\",\n \"testnet\": false\n};\n\nvar c119139 = {\n \"chain\": \"MetaDAP\",\n \"chainId\": 119139,\n \"explorers\": [{\n \"name\": \"MetaDAP Enterprise Testnet explorer\",\n \"url\": \"https://explorer.testnet.chain.metadap.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcCFUTStKKJKfzTwrjfMFoVaPCMsvAvWXRdDkYMvCkEs3\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://metadap.io/\",\n \"name\": \"MetaDAP Enterprise Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DAP\",\n \"symbol\": \"DAP\",\n \"decimals\": 18\n },\n \"networkId\": 119139,\n \"rpc\": [\"https://119139.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.chain.metadap.io\", \"wss://rpc-ws.testnet.chain.metadap.io\"],\n \"shortName\": \"MetaDAP-T\",\n \"slug\": \"metadap-enterprise-testnet\",\n \"testnet\": true,\n \"title\": \"MetaDAP Enterprise Testnet\"\n};\n\nvar c123456 = {\n \"chain\": \"ADIL\",\n \"chainId\": 123456,\n \"explorers\": [{\n \"name\": \"ADIL Devnet Explorer\",\n \"url\": \"https://devnet.adilchain-scan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeHNYUx6n8CjUFSLWNT17oAtDYrUq6r8buyvGCUBXCJw6\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://adilchain.io\",\n \"name\": \"ADIL Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Devnet ADIL\",\n \"symbol\": \"ADIL\",\n \"decimals\": 18\n },\n \"networkId\": 123456,\n \"rpc\": [\"https://123456.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.adilchain-rpc.io\"],\n \"shortName\": \"dadil\",\n \"slug\": \"adil-devnet\",\n \"testnet\": false\n};\n\nvar c128123 = {\n \"chain\": \"Etherlink\",\n \"chainId\": 128123,\n \"explorers\": [{\n \"name\": \"Etherlink Testnet Explorer\",\n \"url\": \"https://testnet-explorer.etherlink.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.etherlink.com\"],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVqE4wq3fd3RKZwo7GxmW333ywHgYBZGvqwh3TUBM5DUi\",\n \"width\": 3600,\n \"height\": 3600,\n \"format\": \"PNG\"\n },\n \"infoURL\": \"https://node.ghostnet.etherlink.com\",\n \"name\": \"Etherlink Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tez\",\n \"symbol\": \"XTZ\",\n \"decimals\": 18\n },\n \"networkId\": 128123,\n \"parent\": {\n \"type\": \"Etherlink\",\n \"chain\": \"Etherlink\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://128123.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.ghostnet.etherlink.com\"],\n \"shortName\": \"etlt\",\n \"slug\": \"etherlink-testnet\",\n \"testnet\": true\n};\n\nvar c131313 = {\n \"chain\": \"DIONE\",\n \"chainId\": 131313,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.dioneprotocol.com/\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVt5Y585JqBSrkpZmYaEnX9FW7tDwfDLmUGNyDdyV2Pd2\",\n \"width\": 48,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://www.dioneprotocol.com/\",\n \"name\": \"Odyssey Chain (Testnet)\",\n \"nativeCurrency\": {\n \"name\": \"DIONE\",\n \"symbol\": \"DIONE\",\n \"decimals\": 18\n },\n \"networkId\": 131313,\n \"rpc\": [\"https://131313.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnode.dioneprotocol.com/ext/bc/D/rpc\"],\n \"shortName\": \"DIONE\",\n \"slug\": \"odyssey-chain-testnet\",\n \"testnet\": true\n};\n\nvar c131419 = {\n \"chain\": \"ETND\",\n \"chainId\": 131419,\n \"explorers\": [{\n \"name\": \"etndscan\",\n \"url\": \"https://scan.etnd.pro\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://Qmd26eRJxPb1jJg5Q4mC2M4kD9Jrs5vmcnr5LczHFMGwSD\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmd26eRJxPb1jJg5Q4mC2M4kD9Jrs5vmcnr5LczHFMGwSD\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.etnd.pro\",\n \"name\": \"ETND Chain Mainnets\",\n \"nativeCurrency\": {\n \"name\": \"ETND\",\n \"symbol\": \"ETND\",\n \"decimals\": 18\n },\n \"networkId\": 131419,\n \"rpc\": [\"https://131419.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.node1.etnd.pro/\"],\n \"shortName\": \"ETND\",\n \"slug\": \"etnd-chain-s\",\n \"testnet\": false\n};\n\nvar c132902 = {\n \"chain\": \"Form\",\n \"chainId\": 132902,\n \"explorers\": [{\n \"name\": \"Form Testnet explorer\",\n \"url\": \"https://testnet-explorer.form.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://info.form.network/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreif6anuffunp3le26jsyemdrg4ydf2abensokw4qnlgvg5nc43zqbi\",\n \"width\": 3600,\n \"height\": 3600,\n \"format\": \"PNG\"\n },\n \"infoURL\": \"https://info.form.network\",\n \"name\": \"Form Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 132902,\n \"parent\": {\n \"type\": \"Optimism\",\n \"chain\": \"Optimism\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://132902.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.form.network/http\", \"https://testnet-rpc.form.network/http\", \"wss://testnet-rpc.form.network/ws\"],\n \"shortName\": \"Form\",\n \"slug\": \"form-testnet\",\n \"testnet\": true,\n \"title\": \"https://explorer.form.network/\"\n};\n\nvar c141221 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 141221,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Xantus Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Xantus Testnet Token\",\n \"symbol\": \"XAN\",\n \"decimals\": 18\n },\n \"networkId\": 141221,\n \"redFlags\": [],\n \"rpc\": [\"https://141221.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/xantustest/testnet/rpc\"],\n \"shortName\": \"Xantus Testnet\",\n \"slug\": \"xantus-testnet\",\n \"testnet\": true\n};\n\nvar c141319 = {\n \"chain\": \"MagApe\",\n \"chainId\": 141319,\n \"explorers\": [{\n \"name\": \"etherscan\",\n \"url\": \"http://testnet-api.magape.io:81\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://magape.io\",\n \"name\": \"MagApe Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MagApe\",\n \"symbol\": \"MAG\",\n \"decimals\": 18\n },\n \"networkId\": 141319,\n \"rpc\": [\"https://141319.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-api.magape.io/chain/\"],\n \"shortName\": \"mag\",\n \"slug\": \"magape-testnet\",\n \"testnet\": true,\n \"title\": \"MagApeChain\"\n};\n\nvar c142857 = {\n \"chain\": \"ICPlaza\",\n \"chainId\": 142857,\n \"explorers\": [{\n \"name\": \"ICPlaza\",\n \"url\": \"https://browsemainnet.ic-plaza.org/index\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQpKKwpqrx77VA4SJLEWhuv9eLFMcVV9uvxRCLb6gdgCX\",\n \"width\": 847,\n \"height\": 906,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.ic-plaza.org/\",\n \"name\": \"ICPlaza Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ict\",\n \"symbol\": \"ict\",\n \"decimals\": 18\n },\n \"networkId\": 142857,\n \"rpc\": [\"https://142857.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcmainnet.ic-plaza.org/\"],\n \"shortName\": \"ICPlaza\",\n \"slug\": \"icplaza\",\n \"testnet\": false\n};\n\nvar c151221 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 151221,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Xantus\",\n \"nativeCurrency\": {\n \"name\": \"Xantus Token\",\n \"symbol\": \"XAN\",\n \"decimals\": 18\n },\n \"networkId\": 151221,\n \"redFlags\": [],\n \"rpc\": [\"https://151221.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/xantus/testnet/rpc\"],\n \"shortName\": \"Xantus\",\n \"slug\": \"xantus\",\n \"testnet\": true\n};\n\nvar c161212 = {\n \"chain\": \"PLAY\",\n \"chainId\": 161212,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.playfi.ai/\",\n \"name\": \"PlayFi Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Play\",\n \"symbol\": \"PLAY\",\n \"decimals\": 18\n },\n \"networkId\": 161212,\n \"rpc\": [],\n \"shortName\": \"playfi\",\n \"slug\": \"playfi\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c165279 = {\n \"chain\": \"Eclat\",\n \"chainId\": 165279,\n \"explorers\": [{\n \"name\": \"Eclat Mainnet Explorer\",\n \"url\": \"https://eclatscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafybeigpyvnir6awzgeazkk5xdkvexw7w6ww3yxawszue6zms4a5ygdfky\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://eclatscan.com\",\n \"name\": \"Eclat Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Eclat\",\n \"symbol\": \"ECLAT\",\n \"decimals\": 18\n },\n \"networkId\": 165279,\n \"rpc\": [\"https://165279.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.eclatscan.com\"],\n \"shortName\": \"ECLAT\",\n \"slug\": \"eclat\",\n \"testnet\": false\n};\n\nvar c167000 = {\n \"chain\": \"ETH\",\n \"chainId\": 167000,\n \"explorers\": [{\n \"name\": \"etherscan\",\n \"url\": \"https://taikoscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui\",\n \"width\": 288,\n \"height\": 258,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taiko.xyz\",\n \"name\": \"Taiko Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 167000,\n \"redFlags\": [],\n \"rpc\": [\"https://167000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.mainnet.taiko.xyz/\", \"https://rpc.ankr.com/taiko/\", \"https://rpc.taiko.xyz/\", \"https://rpc.mainnet.taiko.xyz\", \"wss://ws.mainnet.taiko.xyz\"],\n \"shortName\": \"tko-mainnet\",\n \"slug\": \"taiko\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c167004 = {\n \"chain\": \"ETH\",\n \"chainId\": 167004,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.a2.taiko.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui\",\n \"width\": 288,\n \"height\": 258,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taiko.xyz\",\n \"name\": \"Taiko (Alpha-2 Testnet)\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 167004,\n \"rpc\": [\"https://167004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.a2.taiko.xyz\"],\n \"shortName\": \"taiko-a2\",\n \"slip44\": 1,\n \"slug\": \"taiko-alpha-2-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c167008 = {\n \"chain\": \"ETH\",\n \"chainId\": 167008,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.katla.taiko.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui\",\n \"width\": 288,\n \"height\": 258,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taiko.xyz\",\n \"name\": \"Taiko Katla L2\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 167008,\n \"redFlags\": [],\n \"rpc\": [\"https://167008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.katla.taiko.xyz\", \"wss://ws.katla.taiko.xyz\", \"https://taiko-katla.drpc.org\", \"wss://taiko-katla.drpc.org\"],\n \"shortName\": \"tko-katla\",\n \"slug\": \"taiko-katla-l2\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c167009 = {\n \"chain\": \"ETH\",\n \"chainId\": 167009,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockscoutapi.hekla.taiko.xyz\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"routescan\",\n \"url\": \"https://hekla.taikoscan.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcHdmVr5VRUJq13jnM6tgah5Ge7hn3Dm14eY6vwivJ5ui\",\n \"width\": 288,\n \"height\": 258,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://taiko.xyz\",\n \"name\": \"Taiko Hekla L2\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 167009,\n \"redFlags\": [],\n \"rpc\": [\"https://167009.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://taiko-hekla.blockpi.network/v1/rpc/public\", \"https://rpc.hekla.taiko.xyz\", \"wss://ws.hekla.taiko.xyz\"],\n \"shortName\": \"tko-hekla\",\n \"slug\": \"taiko-hekla-l2\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c181155 = {\n \"chain\": \"TCC Network\",\n \"chainId\": 181155,\n \"explorers\": [{\n \"name\": \"Tcc Scan\",\n \"url\": \"https://scan.tccworld.org/\",\n \"standard\": \"181155\",\n \"icon\": {\n \"url\": \"ipfs://QmchZTtvuU7oRe3rSu1HNPELJQdnutV79NjcHxoybJ4SVo/tcc-coin.png\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmchZTtvuU7oRe3rSu1HNPELJQdnutV79NjcHxoybJ4SVo/tcc-coin.png\",\n \"width\": 100,\n \"height\": 100,\n \"format\": \"png\"\n },\n \"name\": \"TCC Network\",\n \"nativeCurrency\": {\n \"name\": \"The ChampCoin\",\n \"symbol\": \"TCC\",\n \"decimals\": 18\n },\n \"networkId\": 181155,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"TCC\",\n \"slug\": \"tcc-network\",\n \"testnet\": false\n};\n\nvar c188710 = {\n \"chain\": \"BDCC\",\n \"chainId\": 188710,\n \"explorers\": [{\n \"name\": \"Bitica DPOS Blockchain Explorer\",\n \"url\": \"https://biticablockchain.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://biticablockchain.com/\",\n \"name\": \"Bitica Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitica Coin\",\n \"symbol\": \"BDCC\",\n \"decimals\": 18\n },\n \"networkId\": 188710,\n \"rpc\": [\"https://188710.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.biticablockchain.com/\"],\n \"shortName\": \"bdcc\",\n \"slug\": \"bitica-chain\",\n \"testnet\": false\n};\n\nvar c188881 = {\n \"chain\": \"CONDOR\",\n \"chainId\": 188881,\n \"explorers\": [{\n \"name\": \"CondorScan\",\n \"url\": \"https://explorer.condor.systems\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.condor.systems\"],\n \"icon\": {\n \"url\": \"ipfs://QmPRDuEJSTqp2cDUvWCp71Wns6XV8nvdeAVKWH6srpk4xM\",\n \"width\": 752,\n \"height\": 752,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://condor.systems\",\n \"name\": \"Condor Test Network\",\n \"nativeCurrency\": {\n \"name\": \"Condor Native Token\",\n \"symbol\": \"CONDOR\",\n \"decimals\": 18\n },\n \"networkId\": 188881,\n \"rpc\": [\"https://188881.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.condor.systems/rpc\"],\n \"shortName\": \"condor\",\n \"slip44\": 1,\n \"slug\": \"condor-test-network\",\n \"testnet\": true\n};\n\nvar c192940 = {\n \"chain\": \"FHET\",\n \"chainId\": 192940,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://mindnetwork.xyz\",\n \"name\": \"Mind Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FHE\",\n \"symbol\": \"FHE\",\n \"decimals\": 18\n },\n \"networkId\": 192940,\n \"rpc\": [\"https://192940.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.mindnetwork.xyz\", \"wss://rpc-testnet.mindnetwork.xyz\"],\n \"shortName\": \"fhet\",\n \"slug\": \"mind-network-testnet\",\n \"testnet\": true\n};\n\nvar c200000 = {\n \"chain\": \"FAIT\",\n \"chainId\": 200000,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://xfair.ai\",\n \"name\": \"xFair.AI Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FAI\",\n \"symbol\": \"FAI\",\n \"decimals\": 18\n },\n \"networkId\": 200000,\n \"rpc\": [\"https://200000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc_testnet.xfair.ai\", \"wss://rpc_testnet.xfair.ai\"],\n \"shortName\": \"fait\",\n \"slug\": \"xfair-ai-testnet\",\n \"testnet\": true\n};\n\nvar c200101 = {\n \"chain\": \"milkTAda\",\n \"chainId\": 200101,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer-devnet-cardano-evm.c1.milkomeda.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdoUtvHDybu5ppYBZT8BMRp6AqByVSoQs8nFwKbaS55jd\",\n \"width\": 367,\n \"height\": 367,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://milkomeda.com\",\n \"name\": \"Milkomeda C1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"milkTAda\",\n \"symbol\": \"mTAda\",\n \"decimals\": 18\n },\n \"networkId\": 200101,\n \"rpc\": [\"https://200101.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-devnet-cardano-evm.c1.milkomeda.com\", \"wss://rpc-devnet-cardano-evm.c1.milkomeda.com\"],\n \"shortName\": \"milkTAda\",\n \"slip44\": 1,\n \"slug\": \"milkomeda-c1-testnet\",\n \"testnet\": true\n};\n\nvar c200202 = {\n \"chain\": \"milkTAlgo\",\n \"chainId\": 200202,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer-devnet-algorand-rollup.a1.milkomeda.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdoUtvHDybu5ppYBZT8BMRp6AqByVSoQs8nFwKbaS55jd\",\n \"width\": 367,\n \"height\": 367,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://milkomeda.com\",\n \"name\": \"Milkomeda A1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"milkTAlgo\",\n \"symbol\": \"mTAlgo\",\n \"decimals\": 18\n },\n \"networkId\": 200202,\n \"rpc\": [\"https://200202.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-devnet-algorand-rollup.a1.milkomeda.com\"],\n \"shortName\": \"milkTAlgo\",\n \"slip44\": 1,\n \"slug\": \"milkomeda-a1-testnet\",\n \"testnet\": true\n};\n\nvar c200625 = {\n \"chain\": \"AKA\",\n \"chainId\": 200625,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://akroma.io\",\n \"name\": \"Akroma\",\n \"nativeCurrency\": {\n \"name\": \"Akroma Ether\",\n \"symbol\": \"AKA\",\n \"decimals\": 18\n },\n \"networkId\": 200625,\n \"rpc\": [\"https://200625.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://remote.akroma.io\"],\n \"shortName\": \"aka\",\n \"slip44\": 200625,\n \"slug\": \"akroma\",\n \"testnet\": false\n};\n\nvar c200810 = {\n \"chain\": \"Bitlayer\",\n \"chainId\": 200810,\n \"explorers\": [{\n \"name\": \"bitlayer testnet scan\",\n \"url\": \"https://testnet.btrscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.bitlayer.org/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmdWZ1frB47fr3tw31xE68C2Vocaw5Ef53LQ5WDNdNnNyG\",\n \"width\": 4500,\n \"height\": 4500,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://docs.bitlayer.org/\",\n \"name\": \"Bitlayer Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 200810,\n \"rpc\": [\"https://200810.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.bitlayer.org\", \"wss://testnet-ws.bitlayer.org\", \"https://testnet-rpc.bitlayer-rpc.com\", \"wss://testnet-ws.bitlayer-rpc.com\", \"https://rpc.ankr.com/bitlayer_testnet\"],\n \"shortName\": \"btrt\",\n \"slip44\": 1,\n \"slug\": \"bitlayer-testnet\",\n \"testnet\": true\n};\n\nvar c200901 = {\n \"chain\": \"Bitlayer\",\n \"chainId\": 200901,\n \"explorers\": [{\n \"name\": \"bitlayer mainnet scan\",\n \"url\": \"https://www.btrscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdWZ1frB47fr3tw31xE68C2Vocaw5Ef53LQ5WDNdNnNyG\",\n \"width\": 4500,\n \"height\": 4500,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://docs.bitlayer.org/\",\n \"name\": \"Bitlayer Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 200901,\n \"rpc\": [\"https://200901.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.bitlayer.org\", \"https://rpc.bitlayer-rpc.com\", \"https://rpc.ankr.com/bitlayer\", \"https://rpc-bitlayer.rockx.com\", \"wss://ws.bitlayer.org\", \"wss://ws.bitlayer-rpc.com\"],\n \"shortName\": \"btr\",\n \"slip44\": 1,\n \"slug\": \"bitlayer\",\n \"testnet\": false\n};\n\nvar c201018 = {\n \"chain\": \"Alaya\",\n \"chainId\": 201018,\n \"explorers\": [{\n \"name\": \"alaya explorer\",\n \"url\": \"https://scan.alaya.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmci6vPcWAwmq19j98yuQxjV6UPzHtThMdCAUDbKeb8oYu\",\n \"width\": 1140,\n \"height\": 1140,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.alaya.network/\",\n \"name\": \"Alaya Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ATP\",\n \"symbol\": \"atp\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://201018.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://openapi.alaya.network/rpc\", \"wss://openapi.alaya.network/ws\"],\n \"shortName\": \"alaya\",\n \"slug\": \"alaya\",\n \"testnet\": false\n};\n\nvar c201030 = {\n \"chain\": \"Alaya\",\n \"chainId\": 201030,\n \"explorers\": [{\n \"name\": \"alaya explorer\",\n \"url\": \"https://devnetscan.alaya.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.alaya.network/faucet/?id=f93426c0887f11eb83b900163e06151c\"],\n \"icon\": {\n \"url\": \"ipfs://Qmci6vPcWAwmq19j98yuQxjV6UPzHtThMdCAUDbKeb8oYu\",\n \"width\": 1140,\n \"height\": 1140,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.alaya.network/\",\n \"name\": \"Alaya Dev Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ATP\",\n \"symbol\": \"atp\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://201030.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnetopenapi.alaya.network/rpc\", \"wss://devnetopenapi.alaya.network/ws\"],\n \"shortName\": \"alayadev\",\n \"slip44\": 1,\n \"slug\": \"alaya-dev-testnet\",\n \"testnet\": true\n};\n\nvar c201804 = {\n \"chain\": \"MYTH\",\n \"chainId\": 201804,\n \"explorers\": [{\n \"name\": \"Mythical Chain Explorer\",\n \"url\": \"https://explorer.mythicalgames.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreihru6cccfblrjz5bv36znq2l3h67u6xj5ivtc4bj5l6gzofbgtnb4\",\n \"width\": 350,\n \"height\": 350,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreihru6cccfblrjz5bv36znq2l3h67u6xj5ivtc4bj5l6gzofbgtnb4\",\n \"width\": 350,\n \"height\": 350,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://mythicalgames.com/\",\n \"name\": \"Mythical Chain\",\n \"nativeCurrency\": {\n \"name\": \"Mythos\",\n \"symbol\": \"MYTH\",\n \"decimals\": 18\n },\n \"networkId\": 201804,\n \"rpc\": [\"https://201804.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain-rpc.mythicalgames.com\"],\n \"shortName\": \"myth\",\n \"slug\": \"mythical-chain\",\n \"testnet\": false\n};\n\nvar c202020 = {\n \"chain\": \"tDSC\",\n \"chainId\": 202020,\n \"explorers\": [{\n \"name\": \"DSC Explorer Testnet\",\n \"url\": \"https://testnet.explorer.decimalchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSgzwKnJJjys3Uq2aVVdwJ3NffLj3CXMVCph9uByTBegc\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSgzwKnJJjys3Uq2aVVdwJ3NffLj3CXMVCph9uByTBegc\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://decimalchain.com\",\n \"name\": \"Decimal Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Decimal\",\n \"symbol\": \"tDEL\",\n \"decimals\": 18\n },\n \"networkId\": 202020,\n \"rpc\": [\"https://202020.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-val.decimalchain.com/web3/\"],\n \"shortName\": \"tDSC\",\n \"slip44\": 1,\n \"slug\": \"decimal-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c202212 = {\n \"chain\": \"X1\",\n \"chainId\": 202212,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.x1-devnet.xen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.xen.network/x1/\",\n \"name\": \"X1 Devnet\",\n \"nativeCurrency\": {\n \"name\": \"XN\",\n \"symbol\": \"XN\",\n \"decimals\": 18\n },\n \"networkId\": 202212,\n \"rpc\": [\"https://202212.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://x1-devnet.xen.network\"],\n \"shortName\": \"x1-devnet\",\n \"slug\": \"x1-devnet\",\n \"testnet\": false\n};\n\nvar c202401 = {\n \"chain\": \"YMTECH-BESU\",\n \"chainId\": 202401,\n \"explorers\": [{\n \"name\": \"YMTECH-BESU Chainlens\",\n \"url\": \"http://39.119.118.198\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.ymtech.co.kr\",\n \"name\": \"YMTECH-BESU Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 202401,\n \"rpc\": [\"https://202401.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://39.119.118.216:8545\"],\n \"shortName\": \"YMTECH-BESU\",\n \"slug\": \"ymtech-besu-testnet\",\n \"testnet\": true\n};\n\nvar c202624 = {\n \"chain\": \"ETH\",\n \"chainId\": 202624,\n \"explorers\": [{\n \"name\": \"Jellie Blockchain Explorer\",\n \"url\": \"https://jellie.twala.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmTXJVhVKvVC7DQEnGKXvydvwpvVaUEBJrMHvsCr4nr1sK\",\n \"width\": 1326,\n \"height\": 1265,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTXJVhVKvVC7DQEnGKXvydvwpvVaUEBJrMHvsCr4nr1sK\",\n \"width\": 1326,\n \"height\": 1265,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://twala.io/\",\n \"name\": \"Jellie\",\n \"nativeCurrency\": {\n \"name\": \"Twala Coin\",\n \"symbol\": \"TWL\",\n \"decimals\": 18\n },\n \"networkId\": 202624,\n \"rpc\": [\"https://202624.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jellie-rpc.twala.io/\", \"wss://jellie-rpc-wss.twala.io/\"],\n \"shortName\": \"twl-jellie\",\n \"slip44\": 1,\n \"slug\": \"jellie\",\n \"testnet\": true,\n \"title\": \"Twala Testnet Jellie\"\n};\n\nvar c204005 = {\n \"chain\": \"X1\",\n \"chainId\": 204005,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.x1-testnet.xen.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docs.xen.network/go-x1/\",\n \"name\": \"X1 Network\",\n \"nativeCurrency\": {\n \"name\": \"XN\",\n \"symbol\": \"XN\",\n \"decimals\": 18\n },\n \"networkId\": 204005,\n \"rpc\": [\"https://204005.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://x1-testnet.xen.network\"],\n \"shortName\": \"x1-testnet\",\n \"slug\": \"x1-network\",\n \"testnet\": true\n};\n\nvar c205205 = {\n \"chain\": \"Auroria\",\n \"chainId\": 205205,\n \"explorers\": [{\n \"name\": \"Auroria Testnet Explorer\",\n \"url\": \"https://auroria.explorer.stratisevm.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://auroria.faucet.stratisevm.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmbkTh6qNYUnae5yNjied3qZqVyZcb4x3hfUpJ33bGg9QY\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://www.stratisplatform.com\",\n \"name\": \"Auroria Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Auroria Stratis\",\n \"symbol\": \"tSTRAX\",\n \"decimals\": 18\n },\n \"networkId\": 205205,\n \"rpc\": [\"https://205205.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://auroria.rpc.stratisevm.com\"],\n \"shortName\": \"auroria\",\n \"slug\": \"auroria-testnet\",\n \"testnet\": true,\n \"title\": \"Stratis Testnet Auroria\"\n};\n\nvar c210049 = {\n \"chain\": \"GitAGI\",\n \"chainId\": 210049,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://gitagi.org/\",\n \"name\": \"GitAGI Atlas Testnet\",\n \"nativeCurrency\": {\n \"name\": \"GitAGI\",\n \"symbol\": \"tGAGI\",\n \"decimals\": 18\n },\n \"networkId\": 210049,\n \"rpc\": [\"https://210049.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.gitagi.org\"],\n \"shortName\": \"atlas\",\n \"slug\": \"gitagi-atlas-testnet\",\n \"testnet\": true\n};\n\nvar c210425 = {\n \"chain\": \"PlatON\",\n \"chainId\": 210425,\n \"explorers\": [{\n \"name\": \"PlatON explorer\",\n \"url\": \"https://scan.platon.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmT7PSXBiVBma6E15hNkivmstqLu3JSnG1jXN5pTmcCGRC\",\n \"width\": 180,\n \"height\": 180,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.platon.network\",\n \"name\": \"PlatON Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"LAT\",\n \"symbol\": \"lat\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://210425.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://openapi2.platon.network/rpc\", \"wss://openapi2.platon.network/ws\"],\n \"shortName\": \"platon\",\n \"slug\": \"platon\",\n \"testnet\": false\n};\n\nvar c210815 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 210815,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Stavax Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Stavax Testnet Token\",\n \"symbol\": \"STA\",\n \"decimals\": 18\n },\n \"networkId\": 210815,\n \"redFlags\": [],\n \"rpc\": [\"https://210815.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/stavaxtest/testnet/rpc\"],\n \"shortName\": \"Stavax Testnet\",\n \"slug\": \"stavax-testnet\",\n \"testnet\": true\n};\n\nvar c220315 = {\n \"chain\": \"MAS\",\n \"chainId\": 220315,\n \"explorers\": [{\n \"name\": \"explorer masnet\",\n \"url\": \"https://explorer.masnet.ai\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmZ9njQhhKkpJKGnoYy6XTuDtk5CYiDFUd8atqWthqUT3Q\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://masterbank.org\",\n \"name\": \"Mas Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Master Bank\",\n \"symbol\": \"MAS\",\n \"decimals\": 18\n },\n \"networkId\": 220315,\n \"rpc\": [\"https://220315.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://node.masnet.ai:8545\"],\n \"shortName\": \"mas\",\n \"slug\": \"mas\",\n \"testnet\": false\n};\n\nvar c221230 = {\n \"chain\": \"REAP\",\n \"chainId\": 221230,\n \"explorers\": [{\n \"name\": \"Reapchain Dashboard\",\n \"url\": \"https://dashboard.reapchain.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://reapchain.com\",\n \"name\": \"Reapchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Reap\",\n \"symbol\": \"REAP\",\n \"decimals\": 18\n },\n \"networkId\": 221230,\n \"rpc\": [\"https://221230.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://eth.reapchain.org\"],\n \"shortName\": \"reap\",\n \"slug\": \"reapchain\",\n \"testnet\": false\n};\n\nvar c221231 = {\n \"chain\": \"REAP\",\n \"chainId\": 221231,\n \"explorers\": [{\n \"name\": \"Reapchain Testnet Dashboard\",\n \"url\": \"https://test-dashboard.reapchain.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"http://faucet.reapchain.com\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmevQ8jmDWHmdnUQg6BpoMwVB3NhpzS75adbMnKL78Ls2h\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://reapchain.com\",\n \"name\": \"Reapchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"test-Reap\",\n \"symbol\": \"tREAP\",\n \"decimals\": 18\n },\n \"networkId\": 221231,\n \"rpc\": [\"https://221231.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-eth.reapchain.org\"],\n \"shortName\": \"reap-testnet\",\n \"slip44\": 1,\n \"slug\": \"reapchain-testnet\",\n \"testnet\": true\n};\n\nvar c222222 = {\n \"chain\": \"HDX\",\n \"chainId\": 222222,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.evm.hydration.cloud\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQnx3j1ZtQ9Br873FuS6612HQfosXsr4Whew8eN4ArYwE\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://hydradx.io\",\n \"name\": \"HydraDX\",\n \"nativeCurrency\": {\n \"name\": \"Wrapped ETH\",\n \"symbol\": \"WETH\",\n \"decimals\": 18\n },\n \"networkId\": 222222,\n \"rpc\": [\"https://222222.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.hydradx.cloud\", \"wss://rpc.hydradx.cloud\"],\n \"shortName\": \"hdx\",\n \"slug\": \"hydradx\",\n \"testnet\": false\n};\n\nvar c222555 = {\n \"chain\": \"DEEPL\",\n \"chainId\": 222555,\n \"explorers\": [{\n \"name\": \"DeepL Mainnet Explorer\",\n \"url\": \"https://scan.deeplnetwork.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafybeihjwgy4qja5cee452malk5hpb25pzpipfaka7hjcyb437ldodxzaq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafybeihjwgy4qja5cee452malk5hpb25pzpipfaka7hjcyb437ldodxzaq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://deeplnetwork.org\",\n \"name\": \"DeepL Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DeepL\",\n \"symbol\": \"DEEPL\",\n \"decimals\": 18\n },\n \"networkId\": 222555,\n \"rpc\": [\"https://222555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.deeplnetwork.org\"],\n \"shortName\": \"deepl\",\n \"slug\": \"deepl\",\n \"testnet\": false\n};\n\nvar c222666 = {\n \"chain\": \"DEEPL\",\n \"chainId\": 222666,\n \"explorers\": [{\n \"name\": \"DeepL Testnet Explorer\",\n \"url\": \"https://testnet-scan.deeplnetwork.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafybeihjwgy4qja5cee452malk5hpb25pzpipfaka7hjcyb437ldodxzaq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.deeplnetwork.org\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafybeihjwgy4qja5cee452malk5hpb25pzpipfaka7hjcyb437ldodxzaq\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://deeplnetwork.org\",\n \"name\": \"DeepL Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DeepL\",\n \"symbol\": \"DEEPL\",\n \"decimals\": 18\n },\n \"networkId\": 222666,\n \"rpc\": [\"https://222666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.deeplnetwork.org\"],\n \"shortName\": \"tdeepl\",\n \"slug\": \"deepl-testnet\",\n \"testnet\": true\n};\n\nvar c224168 = {\n \"chain\": \"Taf ECO Chain\",\n \"chainId\": 224168,\n \"explorers\": [{\n \"name\": \"Taf ECO Chain Mainnet\",\n \"url\": \"https://ecoscan.tafchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreigpxhu7glccsislhjqpl5fnsfmj2io4cy33blhky642uiuyojossy\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.tafchain.com\",\n \"name\": \"Taf ECO Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Taf ECO Chain Mainnet\",\n \"symbol\": \"TAFECO\",\n \"decimals\": 18\n },\n \"networkId\": 224168,\n \"rpc\": [\"https://224168.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.tafchain.com/v1\"],\n \"shortName\": \"TAFECO\",\n \"slug\": \"taf-eco-chain\",\n \"testnet\": false\n};\n\nvar c224422 = {\n \"chain\": \"CONET\",\n \"chainId\": 224422,\n \"explorers\": [{\n \"name\": \"CONET Scan\",\n \"url\": \"https://scan.conet.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreibjxqd5kqcc2shstjjujvxzg6cwegwr6dgjyyd56v6h7yusgks7sy\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://conet.network\",\n \"name\": \"CONET Sebolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CONET Sebolia\",\n \"symbol\": \"CONET\",\n \"decimals\": 18\n },\n \"networkId\": 224422,\n \"rpc\": [\"https://224422.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.conet.network\"],\n \"shortName\": \"conet-sebolia\",\n \"slip44\": 1,\n \"slug\": \"conet-sebolia-testnet\",\n \"testnet\": true\n};\n\nvar c224433 = {\n \"chain\": \"CONET Holesky\",\n \"chainId\": 224433,\n \"explorers\": [{\n \"name\": \"CONET Holesky Scan\",\n \"url\": \"https://scan.conet.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreibjxqd5kqcc2shstjjujvxzg6cwegwr6dgjyyd56v6h7yusgks7sy\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://conet.network\",\n \"name\": \"CONET Holesky\",\n \"nativeCurrency\": {\n \"name\": \"CONET Holesky\",\n \"symbol\": \"CONET\",\n \"decimals\": 18\n },\n \"networkId\": 224433,\n \"rpc\": [\"https://224433.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.conet.network\"],\n \"shortName\": \"conet-holesky\",\n \"slip44\": 2147708081,\n \"slug\": \"conet-holesky\",\n \"testnet\": false\n};\n\nvar c230315 = {\n \"chain\": \"HashKey\",\n \"chainId\": 230315,\n \"explorers\": [{\n \"name\": \"HashKey Chain Testnet Explorer\",\n \"url\": \"https://testnet.hashkeyscan.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://testnet.hashkeychain/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmNU11AqYB2htrrSyBSP9ct7bPtuZTP7Hrz21PrEcB9nYE\",\n \"width\": 1440,\n \"height\": 448,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.hashkey.com\",\n \"name\": \"HashKey Chain Testnet(discard)\",\n \"nativeCurrency\": {\n \"name\": \"HashKey Token\",\n \"symbol\": \"tHSK\",\n \"decimals\": 18\n },\n \"networkId\": 230315,\n \"rpc\": [\"https://230315.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.hashkeychain/rpc\"],\n \"shortName\": \"hsktest\",\n \"slip44\": 1,\n \"slug\": \"hashkey-chain-testnet-discard\",\n \"testnet\": true\n};\n\nvar c234560 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 234560,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Project Orc\",\n \"nativeCurrency\": {\n \"name\": \"Project Orc Token\",\n \"symbol\": \"STX\",\n \"decimals\": 18\n },\n \"networkId\": 234560,\n \"redFlags\": [],\n \"rpc\": [\"https://234560.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/projectorc/testnet/rpc\"],\n \"shortName\": \"Project Orc\",\n \"slug\": \"project-orc\",\n \"testnet\": true\n};\n\nvar c234666 = {\n \"chain\": \"tHYM\",\n \"chainId\": 234666,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://haymoswap.web.app/\",\n \"name\": \"Haymo Testnet\",\n \"nativeCurrency\": {\n \"name\": \"HAYMO\",\n \"symbol\": \"HYM\",\n \"decimals\": 18\n },\n \"networkId\": 234666,\n \"rpc\": [\"https://234666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet1.haymo.network\"],\n \"shortName\": \"hym\",\n \"slip44\": 1,\n \"slug\": \"haymo-testnet\",\n \"testnet\": true\n};\n\nvar c240515 = {\n \"chain\": \"Orange Chain\",\n \"chainId\": 240515,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://testnet-scan.orangechain.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmWcaVLcPYBxi76HYJc4qudLJwXtfNCDJieLHAs632jMEA\",\n \"width\": 1042,\n \"height\": 1042,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWcaVLcPYBxi76HYJc4qudLJwXtfNCDJieLHAs632jMEA\",\n \"width\": 1042,\n \"height\": 1042,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://orangechain.xyz\",\n \"name\": \"Orange Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"BTC\",\n \"symbol\": \"BTC\",\n \"decimals\": 18\n },\n \"networkId\": 240515,\n \"rpc\": [\"https://240515.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.orangechain.xyz\"],\n \"shortName\": \"Orange-Chain-Testnet\",\n \"slug\": \"orange-chain-testnet\",\n \"testnet\": true,\n \"title\": \"Orange Chain Testnet\"\n};\n\nvar c246529 = {\n \"chain\": \"ARTIS\",\n \"chainId\": 246529,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://artis.eco\",\n \"name\": \"ARTIS sigma1\",\n \"nativeCurrency\": {\n \"name\": \"ARTIS sigma1 Ether\",\n \"symbol\": \"ATS\",\n \"decimals\": 18\n },\n \"networkId\": 246529,\n \"rpc\": [\"https://246529.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sigma1.artis.network\"],\n \"shortName\": \"ats\",\n \"slip44\": 246529,\n \"slug\": \"artis-sigma1\",\n \"testnet\": false\n};\n\nvar c246785 = {\n \"chain\": \"ARTIS\",\n \"chainId\": 246785,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://artis.network\",\n \"name\": \"ARTIS Testnet tau1\",\n \"nativeCurrency\": {\n \"name\": \"ARTIS tau1 Ether\",\n \"symbol\": \"tATS\",\n \"decimals\": 18\n },\n \"networkId\": 246785,\n \"rpc\": [\"https://246785.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.tau1.artis.network\"],\n \"shortName\": \"atstau\",\n \"slip44\": 1,\n \"slug\": \"artis-testnet-tau1\",\n \"testnet\": true\n};\n\nvar c247253 = {\n \"chain\": \"Saakuru\",\n \"chainId\": 247253,\n \"explorers\": [{\n \"name\": \"saakuru-explorer-testnet\",\n \"url\": \"https://explorer-testnet.saakuru.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmduEdtFobPpZWSc45MU6RKxZfTEzLux2z8ikHFhT8usqv\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://saakuru.network\",\n \"name\": \"Saakuru Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 247253,\n \"rpc\": [\"https://247253.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.saakuru.network\"],\n \"shortName\": \"saakuru-testnet\",\n \"slip44\": 1,\n \"slug\": \"saakuru-testnet\",\n \"testnet\": true\n};\n\nvar c256256 = {\n \"chain\": \"CMP\",\n \"chainId\": 256256,\n \"explorers\": [{\n \"name\": \"Mainnet Scan\",\n \"url\": \"https://mainnet.scan.caduceus.foundation\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://caduceus.foundation/\",\n \"name\": \"CMP-Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Caduceus Token\",\n \"symbol\": \"CMP\",\n \"decimals\": 18\n },\n \"networkId\": 256256,\n \"rpc\": [\"https://256256.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.block.caduceus.foundation\", \"wss://mainnet.block.caduceus.foundation\"],\n \"shortName\": \"cmp-mainnet\",\n \"slug\": \"cmp\",\n \"testnet\": false\n};\n\nvar c260693 = {\n \"chain\": \"WP\",\n \"chainId\": 260693,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmd4g9i2VjndV1TuWZySYoBiNt6eVyJMEujov7YtcTyoqq/whalepass_logo_3.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"Whalepass Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Whalepass\",\n \"symbol\": \"WP\",\n \"decimals\": 18\n },\n \"networkId\": 260693,\n \"redFlags\": [],\n \"rpc\": [\"https://260693.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-flashbox-2684-rpc.a.stagenet.tanssi.network\"],\n \"shortName\": \"wptest\",\n \"slug\": \"whalepass-testnet\",\n \"testnet\": true\n};\n\nvar c262371 = {\n \"chain\": \"Eclat\",\n \"chainId\": 262371,\n \"explorers\": [{\n \"name\": \"Eclat Testnet Explorer\",\n \"url\": \"https://testnet-explorer.eclatscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.eclatscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeigpyvnir6awzgeazkk5xdkvexw7w6ww3yxawszue6zms4a5ygdfky\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet-explorer.eclatscan.com\",\n \"name\": \"Eclat Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Eclat Testnet\",\n \"symbol\": \"ECLAT\",\n \"decimals\": 18\n },\n \"networkId\": 262371,\n \"rpc\": [\"https://262371.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.eclatscan.com\"],\n \"shortName\": \"tECLAT\",\n \"slug\": \"eclat-testnet\",\n \"testnet\": true\n};\n\nvar c266256 = {\n \"chain\": \"GearZero\",\n \"chainId\": 266256,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://token.gearzero.ca/testnet\",\n \"name\": \"Gear Zero Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Gear Zero Network Native Token\",\n \"symbol\": \"GZN\",\n \"decimals\": 18\n },\n \"networkId\": 266256,\n \"rpc\": [\"https://266256.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gzn-test.linksme.info\"],\n \"shortName\": \"gz-testnet\",\n \"slip44\": 1,\n \"slug\": \"gear-zero-network-testnet\",\n \"testnet\": true\n};\n\nvar c271271 = {\n \"chain\": \"EGON\",\n \"chainId\": 271271,\n \"explorers\": [{\n \"name\": \"EgonCoin Testnet\",\n \"url\": \"https://testnet.egonscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.egonscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmNZiMmzMQYjyGtNSghtzLg4UooYhDgMQsa677DAP5KsBg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://egonscan.com\",\n \"name\": \"EgonCoin Testnet\",\n \"nativeCurrency\": {\n \"name\": \"EgonCoin\",\n \"symbol\": \"EGON\",\n \"decimals\": 18\n },\n \"networkId\": 271271,\n \"rpc\": [\"https://271271.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctest.egonscan.com\"],\n \"shortName\": \"EGONt\",\n \"slip44\": 1,\n \"slug\": \"egoncoin-testnet\",\n \"testnet\": true\n};\n\nvar c281121 = {\n \"chain\": \"SoChain\",\n \"chainId\": 281121,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://digitalnext.business/SocialSmartChain\",\n \"name\": \"Social Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SoChain\",\n \"symbol\": \"$OC\",\n \"decimals\": 18\n },\n \"networkId\": 281121,\n \"rpc\": [\"https://281121.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://socialsmartchain.digitalnext.business\"],\n \"shortName\": \"SoChain\",\n \"slug\": \"social-smart-chain\",\n \"testnet\": false\n};\n\nvar c282828 = {\n \"chain\": \"ETH\",\n \"chainId\": 282828,\n \"explorers\": [{\n \"name\": \"zillscout\",\n \"url\": \"https://sepolia.zillnet.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmfVmjLNiBh8KyCr9mwDZh34aEhhQ2LAjuP87DFxhfd9nn\",\n \"width\": 264,\n \"height\": 264,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfVmjLNiBh8KyCr9mwDZh34aEhhQ2LAjuP87DFxhfd9nn\",\n \"width\": 264,\n \"height\": 264,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zillnet.io\",\n \"name\": \"Zillion Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 282828,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\"\n },\n \"rpc\": [\"https://282828.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.zillnet.io/rpc\"],\n \"shortName\": \"zillsep\",\n \"slip44\": 1,\n \"slug\": \"zillion-sepolia-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c309075 = {\n \"chain\": \"One World Chain\",\n \"chainId\": 309075,\n \"explorers\": [{\n \"name\": \"One World Chain Mainnet Explorer\",\n \"url\": \"https://mainnet.oneworldchain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmPmZ6vgtdMG7jttVZQUobF96Sva1noi5Fsi28V1Eck6eC\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oneworldchain.org\",\n \"name\": \"One World Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OWCT\",\n \"symbol\": \"OWCT\",\n \"decimals\": 18\n },\n \"networkId\": 309075,\n \"rpc\": [\"https://309075.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.oneworldchain.org\"],\n \"shortName\": \"OWCTm\",\n \"slug\": \"one-world-chain\",\n \"testnet\": false\n};\n\nvar c313310 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 313310,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"LT10\",\n \"nativeCurrency\": {\n \"name\": \"LT10 Token\",\n \"symbol\": \"LT\",\n \"decimals\": 18\n },\n \"networkId\": 313310,\n \"redFlags\": [],\n \"rpc\": [\"https://313310.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lt10/testnet/rpc\"],\n \"shortName\": \"LT10\",\n \"slug\": \"lt10\",\n \"testnet\": true\n};\n\nvar c313311 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 313311,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"LT11\",\n \"nativeCurrency\": {\n \"name\": \"LT11 Token\",\n \"symbol\": \"LT\",\n \"decimals\": 18\n },\n \"networkId\": 313311,\n \"redFlags\": [],\n \"rpc\": [\"https://313311.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lt11/testnet/rpc\"],\n \"shortName\": \"LT11\",\n \"slug\": \"lt11\",\n \"testnet\": true\n};\n\nvar c313313 = {\n \"chain\": \"Sahara\",\n \"chainId\": 313313,\n \"explorers\": [{\n \"name\": \"Testnet Scan\",\n \"url\": \"https://explorer.saharaa.info\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQXCm6w8xvWMkksTQYw3So14VCbwHP6chH41v6ysXdSwF\",\n \"width\": 608,\n \"height\": 608,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://saharalabs.ai\",\n \"name\": \"SaharaAI Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SAHARA\",\n \"symbol\": \"SAH\",\n \"decimals\": 18\n },\n \"networkId\": 313313,\n \"rpc\": [\"https://313313.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.saharalabs.ai\"],\n \"shortName\": \"saharatest\",\n \"slug\": \"saharaai-testnet\",\n \"testnet\": true\n};\n\nvar c314159 = {\n \"chain\": \"FIL\",\n \"chainId\": 314159,\n \"explorers\": [{\n \"name\": \"Filscan - Calibration\",\n \"url\": \"https://calibration.filscan.io\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Filscout - Calibration\",\n \"url\": \"https://calibration.filscout.com/en\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Filfox - Calibration\",\n \"url\": \"https://calibration.filfox.info\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Glif Explorer - Calibration\",\n \"url\": \"https://explorer.glif.io/?network=calibration\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Beryx\",\n \"url\": \"https://beryx.zondax.ch\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.calibration.fildev.network/\"],\n \"icon\": {\n \"url\": \"ipfs://QmS9r9XQkMHVomWcSBNDkKkz9n87h9bH9ssabeiKZtANoU\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filecoin.io\",\n \"name\": \"Filecoin - Calibration testnet\",\n \"nativeCurrency\": {\n \"name\": \"testnet filecoin\",\n \"symbol\": \"tFIL\",\n \"decimals\": 18\n },\n \"networkId\": 314159,\n \"rpc\": [\"https://314159.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.calibration.node.glif.io/rpc/v1\", \"https://rpc.ankr.com/filecoin_testnet\", \"https://filecoin-calibration.chainstacklabs.com/rpc/v1\", \"https://filecoin-calibration.chainup.net/rpc/v1\", \"https://calibration.filfox.info/rpc/v1\", \"https://filecoin-calibration.drpc.org\", \"wss://filecoin-calibration.drpc.org\"],\n \"shortName\": \"filecoin-calibration\",\n \"slip44\": 1,\n \"slug\": \"filecoin-calibration-testnet\",\n \"testnet\": true\n};\n\nvar c322202 = {\n \"chain\": \"Parex\",\n \"chainId\": 322202,\n \"explorers\": [{\n \"name\": \"Parex Mainnet Explorer\",\n \"url\": \"https://scan.parex.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSPD3QcjFJL2KpYRnNDxa8Xg5rcSgPugG9kcBBNeavVKi\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSPD3QcjFJL2KpYRnNDxa8Xg5rcSgPugG9kcBBNeavVKi\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://parex.network\",\n \"name\": \"Parex Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"PAREX\",\n \"symbol\": \"PRX\",\n \"decimals\": 18\n },\n \"networkId\": 322202,\n \"rpc\": [\"https://322202.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.parex.network\"],\n \"shortName\": \"parex\",\n \"slug\": \"parex\",\n \"testnet\": false,\n \"title\": \"Parex Mainnet\"\n};\n\nvar c323213 = {\n \"chain\": \"Bloom\",\n \"chainId\": 323213,\n \"explorers\": [{\n \"name\": \"Bloom Genesis Testnet\",\n \"url\": \"https://testnet.bloomgenesis.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bloomgenesis.com\"],\n \"icon\": {\n \"url\": \"ipfs://Qmetu9hMLvczYo7tDPRyjqjBHwwpHU8mEgW3PEPPre56su\",\n \"width\": 2794,\n \"height\": 2711,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bloomgenesis.com\",\n \"name\": \"Bloom Genesis Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bloom\",\n \"symbol\": \"BGBC\",\n \"decimals\": 18\n },\n \"networkId\": 323213,\n \"rpc\": [\"https://323213.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.bloomgenesis.com\"],\n \"shortName\": \"BGBC-Testnet\",\n \"slug\": \"bloom-genesis-testnet\",\n \"testnet\": true\n};\n\nvar c330844 = {\n \"chain\": \"TSC\",\n \"chainId\": 330844,\n \"explorers\": [{\n \"name\": \"TTcoin Smart Chain Explorer\",\n \"url\": \"https://tscscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmS7ipvvyZ16weG1DM7AZbi1v9ixYwU2FjP25Jj5jkLiuf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.tscscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmS7ipvvyZ16weG1DM7AZbi1v9ixYwU2FjP25Jj5jkLiuf\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ttcoin.info/\",\n \"name\": \"TTcoin Smart Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"TTcoin\",\n \"symbol\": \"TC\",\n \"decimals\": 18\n },\n \"networkId\": 330844,\n \"rpc\": [\"https://330844.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.tscscan.com\"],\n \"shortName\": \"tc\",\n \"slug\": \"ttcoin-smart-chain\",\n \"testnet\": false\n};\n\nvar c331769 = {\n \"chain\": \"POPTestnet\",\n \"chainId\": 331769,\n \"explorers\": [{\n \"name\": \"ProofOfPepe Explorer\",\n \"url\": \"https://pepescan.app/\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmP8rYvcc7aJB3c2YZxjxaySvHapHnoK8MnxuSuDT4PtF2\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"name\": \"ProofOfPepe Testnet\",\n \"nativeCurrency\": {\n \"name\": \"POP\",\n \"symbol\": \"POP\",\n \"decimals\": 18\n },\n \"networkId\": 331769,\n \"redFlags\": [],\n \"rpc\": [\"https://331769.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet01.proofofpepe.tech\"],\n \"shortName\": \"POPTestnet\",\n \"slug\": \"proofofpepe-testnet\",\n \"testnet\": true\n};\n\nvar c331771 = {\n \"chain\": \"POP\",\n \"chainId\": 331771,\n \"explorers\": [{\n \"name\": \"Pepescan\",\n \"url\": \"https://pepescan.app\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmP8rYvcc7aJB3c2YZxjxaySvHapHnoK8MnxuSuDT4PtF2\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"name\": \"POP Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Pepe\",\n \"symbol\": \"PEPE\",\n \"decimals\": 18\n },\n \"networkId\": 331771,\n \"redFlags\": [],\n \"rpc\": [\"https://331771.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc00.proofofpepe.tech\", \"https://rpc01.proofofpepe.tech\", \"https://rpc02.proofofpepe.tech\"],\n \"shortName\": \"POP\",\n \"slug\": \"pop\",\n \"testnet\": false\n};\n\nvar c332323 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 332323,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QI0408s3dev Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QI0408s3dev Testnet Token\",\n \"symbol\": \"REQ\",\n \"decimals\": 18\n },\n \"networkId\": 332323,\n \"redFlags\": [],\n \"rpc\": [\"https://332323.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"],\n \"shortName\": \"QI0408s3dev Testnet\",\n \"slug\": \"qi0408s3dev-testnet\",\n \"testnet\": true\n};\n\nvar c333313 = {\n \"chain\": \"Bloom\",\n \"chainId\": 333313,\n \"explorers\": [{\n \"name\": \"Bloom Genesis Mainnet\",\n \"url\": \"https://explorer.bloomgenesis.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmetu9hMLvczYo7tDPRyjqjBHwwpHU8mEgW3PEPPre56su\",\n \"width\": 2794,\n \"height\": 2711,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.bloomgenesis.com\",\n \"name\": \"Bloom Genesis Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bloom\",\n \"symbol\": \"BGBC\",\n \"decimals\": 18\n },\n \"networkId\": 333313,\n \"rpc\": [\"https://333313.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.bloomgenesis.com\"],\n \"shortName\": \"BGBC\",\n \"slug\": \"bloom-genesis\",\n \"testnet\": false\n};\n\nvar c333331 = {\n \"chain\": \"AVST\",\n \"chainId\": 333331,\n \"explorers\": [{\n \"name\": \"avescan\",\n \"url\": \"https://testnet.avescoin.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeKQVv2QneHaaggw2NfpZ7DGMdjVhPywTdse5RzCs4oGn\",\n \"width\": 232,\n \"height\": 232,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmeKQVv2QneHaaggw2NfpZ7DGMdjVhPywTdse5RzCs4oGn\",\n \"width\": 232,\n \"height\": 232,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ethereum.org\",\n \"name\": \"Aves Testnet\",\n \"nativeCurrency\": {\n \"name\": \"AvesT\",\n \"symbol\": \"AVST\",\n \"decimals\": 18\n },\n \"networkId\": 333331,\n \"rpc\": [\"https://333331.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test.rpc.avescoin.io\"],\n \"shortName\": \"avst\",\n \"slip44\": 1,\n \"slug\": \"aves-testnet\",\n \"testnet\": true\n};\n\nvar c333333 = {\n \"chain\": \"N3-Test\",\n \"chainId\": 333333,\n \"explorers\": [{\n \"name\": \"Nativ3 Test Explorer\",\n \"url\": \"https://scantest.nativ3.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVzJDndPui6qBSeJWe5kMLA56C3KpVhqqqk9xvVKE1DGb\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nativ3.network\",\n \"name\": \"Nativ3 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"USNT\",\n \"symbol\": \"USNT\",\n \"decimals\": 18\n },\n \"networkId\": 333333,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-421613\",\n \"bridges\": [{\n \"url\": \"https://bridgetest.nativ3.network\"\n }]\n },\n \"rpc\": [\"https://333333.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpctest.nativ3.network\", \"wss://wstest.nativ3.network\"],\n \"shortName\": \"N3-Test\",\n \"slip44\": 1,\n \"slug\": \"nativ3-testnet\",\n \"testnet\": true\n};\n\nvar c333666 = {\n \"chain\": \"OONE Testnet\",\n \"chainId\": 333666,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.oonescan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://apps-test.adigium.com/faucet\"],\n \"infoURL\": \"https://oonechain.com\",\n \"name\": \"Oone Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tOONE\",\n \"symbol\": \"tOONE\",\n \"decimals\": 18\n },\n \"networkId\": 333666,\n \"rpc\": [\"https://333666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.oonechain.com\"],\n \"shortName\": \"oonetest\",\n \"slip44\": 1,\n \"slug\": \"oone-chain-testnet\",\n \"testnet\": true\n};\n\nvar c333777 = {\n \"chain\": \"OONE Devnet\",\n \"chainId\": 333777,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://dev.oonescan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://apps-test.adigium.com/faucet\"],\n \"infoURL\": \"https://oonechain.com\",\n \"name\": \"Oone Chain Devnet\",\n \"nativeCurrency\": {\n \"name\": \"tOONE\",\n \"symbol\": \"tOONE\",\n \"decimals\": 18\n },\n \"networkId\": 333777,\n \"rpc\": [\"https://333777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dev.oonechain.com\"],\n \"shortName\": \"oonedev\",\n \"slug\": \"oone-chain-devnet\",\n \"testnet\": true\n};\n\nvar c333888 = {\n \"chain\": \"Sparta\",\n \"chainId\": 333888,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.polis.tech\"],\n \"icon\": {\n \"url\": \"ipfs://QmagWrtyApex28H2QeXcs3jJ2F7p2K7eESz3cDbHdQ3pjG\",\n \"width\": 1050,\n \"height\": 1050,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polis.tech\",\n \"name\": \"Polis Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tPolis\",\n \"symbol\": \"tPOLIS\",\n \"decimals\": 18\n },\n \"networkId\": 333888,\n \"rpc\": [\"https://333888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sparta-rpc.polis.tech\"],\n \"shortName\": \"sparta\",\n \"slip44\": 1,\n \"slug\": \"polis-testnet\",\n \"testnet\": true\n};\n\nvar c333999 = {\n \"chain\": \"Olympus\",\n \"chainId\": 333999,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.polis.tech\"],\n \"icon\": {\n \"url\": \"ipfs://QmagWrtyApex28H2QeXcs3jJ2F7p2K7eESz3cDbHdQ3pjG\",\n \"width\": 1050,\n \"height\": 1050,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://polis.tech\",\n \"name\": \"Polis Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Polis\",\n \"symbol\": \"POLIS\",\n \"decimals\": 18\n },\n \"networkId\": 333999,\n \"rpc\": [\"https://333999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.polis.tech\"],\n \"shortName\": \"olympus\",\n \"slug\": \"polis\",\n \"testnet\": false\n};\n\nvar c336655 = {\n \"chain\": \"UPchain\",\n \"chainId\": 336655,\n \"explorers\": [{\n \"name\": \"UPchain Testnet Explorer\",\n \"url\": \"https://explorer-testnet.uniport.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNMqcPyQnaaFfUDsmsnu2T6agZfoWij3zFYebCNUPkfAH\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.uniport.network\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmNMqcPyQnaaFfUDsmsnu2T6agZfoWij3zFYebCNUPkfAH\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://uniport.network\",\n \"name\": \"UPchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"UBTC\",\n \"symbol\": \"UBTC\",\n \"decimals\": 18\n },\n \"networkId\": 336655,\n \"rpc\": [\"https://336655.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.uniport.network\"],\n \"shortName\": \"UPchain-testnet\",\n \"slug\": \"upchain-testnet\",\n \"testnet\": true\n};\n\nvar c336666 = {\n \"chain\": \"UPchain\",\n \"chainId\": 336666,\n \"explorers\": [{\n \"name\": \"UPchain Mainnet Explorer\",\n \"url\": \"https://explorer.uniport.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNMqcPyQnaaFfUDsmsnu2T6agZfoWij3zFYebCNUPkfAH\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmNMqcPyQnaaFfUDsmsnu2T6agZfoWij3zFYebCNUPkfAH\",\n \"width\": 320,\n \"height\": 320,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://uniport.network\",\n \"name\": \"UPchain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"UBTC\",\n \"symbol\": \"UBTC\",\n \"decimals\": 18\n },\n \"networkId\": 336666,\n \"rpc\": [\"https://336666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.uniport.network\"],\n \"shortName\": \"UPchain-mainnet\",\n \"slug\": \"upchain\",\n \"testnet\": false\n};\n\nvar c355110 = {\n \"chain\": \"BFT\",\n \"chainId\": 355110,\n \"explorers\": [{\n \"name\": \"Bitfinity Mainnet Block Explorer\",\n \"url\": \"https://explorer.mainnet.bitfinity.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiczbhnoc5wpjikskmehexmg3xmqr4fchrny64db4wmk3lrygqik5e\",\n \"width\": 796,\n \"height\": 129,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://bitfinity.network\",\n \"name\": \"Bitfinity Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitfinity Token\",\n \"symbol\": \"BFT\",\n \"decimals\": 18\n },\n \"networkId\": 355110,\n \"rpc\": [\"https://355110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.bitfinity.network\"],\n \"shortName\": \"bitfinity-mainnet\",\n \"slug\": \"bitfinity-network\",\n \"testnet\": false\n};\n\nvar c355113 = {\n \"chain\": \"BFT\",\n \"chainId\": 355113,\n \"explorers\": [{\n \"name\": \"Bitfinity Testnet Block Explorer\",\n \"url\": \"https://explorer.testnet.bitfinity.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiczbhnoc5wpjikskmehexmg3xmqr4fchrny64db4wmk3lrygqik5e\",\n \"width\": 796,\n \"height\": 129,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Bitfinity Testnet Block Explorer\",\n \"url\": \"https://bitfinity-test.dex.guru\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRaASKRSjQ5btoUQ2rNTJNxKtx2a2RoewgA7DMQkLVEne\",\n \"width\": 83,\n \"height\": 82,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://bitfinity.network/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://bitfinity.network\",\n \"name\": \"Bitfinity Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bitfinity Token\",\n \"symbol\": \"BFT\",\n \"decimals\": 18\n },\n \"networkId\": 355113,\n \"rpc\": [\"https://355113.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.bitfinity.network\"],\n \"shortName\": \"bitfinity-testnet\",\n \"slug\": \"bitfinity-network-testnet\",\n \"testnet\": true\n};\n\nvar c360890 = {\n \"chain\": \"LAVITA\",\n \"chainId\": 360890,\n \"explorers\": [{\n \"name\": \"LAVITA Mainnet Explorer\",\n \"url\": \"https://tsub360890-explorer.thetatoken.org\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmfHbWCxwSjf8qmg4yw8jySHZijRXTPW8f5xd2T5sjbeCY\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfHbWCxwSjf8qmg4yw8jySHZijRXTPW8f5xd2T5sjbeCY\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.lavita.ai\",\n \"name\": \"LAVITA Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"vTFUEL\",\n \"symbol\": \"vTFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 360890,\n \"rpc\": [\"https://360890.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tsub360890-eth-rpc.thetatoken.org/rpc\"],\n \"shortName\": \"lavita-mainnet\",\n \"slug\": \"lavita\",\n \"testnet\": false\n};\n\nvar c363636 = {\n \"chain\": \"DS2\",\n \"chainId\": 363636,\n \"explorers\": [{\n \"name\": \"Digit Soul Explorer\",\n \"url\": \"https://dgs-exp.digitsoul.co.th\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRiAUu3xV5uiX6Nk1iXD5w6qjki5ugGFETRVavzJ2h5QF\",\n \"width\": 370,\n \"height\": 320,\n \"format\": \"png\"\n },\n \"name\": \"Digit Soul Smart Chain 2\",\n \"nativeCurrency\": {\n \"name\": \"Digit Coin\",\n \"symbol\": \"DGC\",\n \"decimals\": 18\n },\n \"networkId\": 363636,\n \"rpc\": [\"https://363636.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dgs-rpc.digitsoul.co.th\"],\n \"shortName\": \"DS2\",\n \"slug\": \"digit-soul-smart-chain-2\",\n \"testnet\": false\n};\n\nvar c373737 = {\n \"chain\": \"HAPchain\",\n \"chainId\": 373737,\n \"explorers\": [{\n \"name\": \"HAP EVM Explorer (Blockscout)\",\n \"url\": \"https://blockscout-test.hap.land\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmQ4V9JC25yUrYk2kFJwmKguSsZBQvtGcg6q9zkDV8mkJW\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQ4V9JC25yUrYk2kFJwmKguSsZBQvtGcg6q9zkDV8mkJW\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hap.land\",\n \"name\": \"HAPchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"HAP\",\n \"symbol\": \"HAP\",\n \"decimals\": 18\n },\n \"networkId\": 373737,\n \"rpc\": [\"https://373737.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc-test.hap.land\"],\n \"shortName\": \"hap-testnet\",\n \"slip44\": 1,\n \"slug\": \"hapchain-testnet\",\n \"testnet\": true\n};\n\nvar c381931 = {\n \"chain\": \"Metal\",\n \"chainId\": 381931,\n \"explorers\": [{\n \"name\": \"metalscan\",\n \"url\": \"https://metalscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.metalblockchain.org/\",\n \"name\": \"Metal C-Chain\",\n \"nativeCurrency\": {\n \"name\": \"Metal\",\n \"symbol\": \"METAL\",\n \"decimals\": 18\n },\n \"networkId\": 381931,\n \"rpc\": [\"https://381931.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.metalblockchain.org/ext/bc/C/rpc\"],\n \"shortName\": \"metal\",\n \"slip44\": 9005,\n \"slug\": \"metal-c-chain\",\n \"testnet\": false\n};\n\nvar c381932 = {\n \"chain\": \"Metal\",\n \"chainId\": 381932,\n \"explorers\": [{\n \"name\": \"metalscan\",\n \"url\": \"https://tahoe.metalscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.metalblockchain.org/\",\n \"name\": \"Metal Tahoe C-Chain\",\n \"nativeCurrency\": {\n \"name\": \"Metal\",\n \"symbol\": \"METAL\",\n \"decimals\": 18\n },\n \"networkId\": 381932,\n \"rpc\": [\"https://381932.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://tahoe.metalblockchain.org/ext/bc/C/rpc\"],\n \"shortName\": \"Tahoe\",\n \"slip44\": 9005,\n \"slug\": \"metal-tahoe-c-chain\",\n \"testnet\": false\n};\n\nvar c404040 = {\n \"chain\": \"TPBX\",\n \"chainId\": 404040,\n \"explorers\": [{\n \"name\": \"Tipboxcoin\",\n \"url\": \"https://tipboxcoin.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.tipboxcoin.net\"],\n \"icon\": {\n \"url\": \"ipfs://QmbiaHnR3fVVofZ7Xq2GYZxwHkLEy3Fh5qDtqnqXD6ACAh\",\n \"width\": 192,\n \"height\": 192,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://tipboxcoin.net\",\n \"name\": \"Tipboxcoin Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Tipboxcoin\",\n \"symbol\": \"TPBX\",\n \"decimals\": 18\n },\n \"networkId\": 404040,\n \"rpc\": [\"https://404040.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.tipboxcoin.net\"],\n \"shortName\": \"TPBXm\",\n \"slug\": \"tipboxcoin\",\n \"testnet\": false\n};\n\nvar c413413 = {\n \"chain\": \"AIE\",\n \"chainId\": 413413,\n \"explorers\": [{\n \"name\": \"aiescan-testnet\",\n \"url\": \"https://testnet.aiescan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreihok46mhn5yf7b5jgmq7tiyw2fw76wklvj4frpc3gbswgfxzerhhm\",\n \"width\": 3481,\n \"height\": 3500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihok46mhn5yf7b5jgmq7tiyw2fw76wklvj4frpc3gbswgfxzerhhm\",\n \"width\": 3481,\n \"height\": 3500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://testnet.aiescan.io\",\n \"name\": \"AIE Testnet\",\n \"nativeCurrency\": {\n \"name\": \"AIE\",\n \"symbol\": \"tAIE\",\n \"decimals\": 18\n },\n \"networkId\": 413413,\n \"rpc\": [\"https://413413.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1-testnet.aiechain.io\"],\n \"shortName\": \"aiet\",\n \"slug\": \"aie-testnet\",\n \"testnet\": true\n};\n\nvar c420420 = {\n \"chain\": \"kek\",\n \"chainId\": 420420,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://mainnet-explorer.kekchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNzwHAmaaQyuvKudrzGkrTT2GMshcmCmJ9FH8gG2mNJtM\",\n \"width\": 401,\n \"height\": 401,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNzwHAmaaQyuvKudrzGkrTT2GMshcmCmJ9FH8gG2mNJtM\",\n \"width\": 401,\n \"height\": 401,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://kekchain.com\",\n \"name\": \"Kekchain\",\n \"nativeCurrency\": {\n \"name\": \"KEK\",\n \"symbol\": \"KEK\",\n \"decimals\": 18\n },\n \"networkId\": 103090,\n \"rpc\": [\"https://420420.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.kekchain.com\"],\n \"shortName\": \"KEK\",\n \"slug\": \"kekchain\",\n \"testnet\": false\n};\n\nvar c420666 = {\n \"chain\": \"kek\",\n \"chainId\": 420666,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet-explorer.kekchain.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmNzwHAmaaQyuvKudrzGkrTT2GMshcmCmJ9FH8gG2mNJtM\",\n \"width\": 401,\n \"height\": 401,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNzwHAmaaQyuvKudrzGkrTT2GMshcmCmJ9FH8gG2mNJtM\",\n \"width\": 401,\n \"height\": 401,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://kekchain.com\",\n \"name\": \"Kekchain (kektest)\",\n \"nativeCurrency\": {\n \"name\": \"tKEK\",\n \"symbol\": \"tKEK\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://420666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.kekchain.com\"],\n \"shortName\": \"tKEK\",\n \"slip44\": 1,\n \"slug\": \"kekchain-kektest\",\n \"testnet\": true\n};\n\nvar c420692 = {\n \"chain\": \"ALT\",\n \"chainId\": 420692,\n \"explorers\": [{\n \"name\": \"Alterium L2 Testnet Explorer\",\n \"url\": \"https://l2-testnet.altscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreid3v7ow4c4t3ljya6aouiwvqbtssb2lzmkwt2eghryk234g7yynrq\",\n \"width\": 756,\n \"height\": 756,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://alteriumprotocol.org\",\n \"name\": \"Alterium L2 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Alterium ETH\",\n \"symbol\": \"AltETH\",\n \"decimals\": 18\n },\n \"networkId\": 420692,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://testnet-bridge.alteriumprotocol.org\"\n }]\n },\n \"rpc\": [\"https://420692.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://l2-testnet-rpc.altscan.org\"],\n \"shortName\": \"alterium\",\n \"slip44\": 1,\n \"slug\": \"alterium-l2-testnet\",\n \"testnet\": true\n};\n\nvar c421611 = {\n \"chain\": \"ETH\",\n \"chainId\": 421611,\n \"explorers\": [{\n \"name\": \"arbiscan-testnet\",\n \"url\": \"https://testnet.arbiscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"arbitrum-rinkeby\",\n \"url\": \"https://rinkeby-explorer.arbitrum.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=421611&address=${ADDRESS}\"],\n \"features\": [],\n \"infoURL\": \"https://arbitrum.io\",\n \"name\": \"Arbitrum Rinkeby\",\n \"nativeCurrency\": {\n \"name\": \"Arbitrum Rinkeby Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 421611,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-4\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://421611.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rinkeby.arbitrum.io/rpc\"],\n \"shortName\": \"arb-rinkeby\",\n \"slip44\": 1,\n \"slug\": \"arbitrum-rinkeby\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Arbitrum Testnet Rinkeby\"\n};\n\nvar c421613 = {\n \"chain\": \"ETH\",\n \"chainId\": 421613,\n \"explorers\": [{\n \"name\": \"Arbitrum Goerli Arbiscan\",\n \"url\": \"https://goerli.arbiscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/arbitrum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://arbitrum.io/\",\n \"name\": \"Arbitrum Goerli\",\n \"nativeCurrency\": {\n \"name\": \"Arbitrum Goerli Ether\",\n \"symbol\": \"AGOR\",\n \"decimals\": 18\n },\n \"networkId\": 421613,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io/\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://421613.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli-rollup.arbitrum.io/rpc\", \"https://arbitrum-goerli.publicnode.com\", \"wss://arbitrum-goerli.publicnode.com\"],\n \"shortName\": \"arb-goerli\",\n \"slip44\": 1,\n \"slug\": \"arbitrum-goerli\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Arbitrum Goerli Rollup Testnet\"\n};\n\nvar c421614 = {\n \"chain\": \"ETH\",\n \"chainId\": 421614,\n \"explorers\": [{\n \"name\": \"Arbitrum Sepolia Rollup Testnet Explorer\",\n \"url\": \"https://sepolia-explorer.arbitrum.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://arbitrum.io\",\n \"name\": \"Arbitrum Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 421614,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://bridge.arbitrum.io\"\n }]\n },\n \"rpc\": [\"https://421614.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-rollup.arbitrum.io/rpc\", \"https://arbitrum-sepolia.infura.io/v3/${INFURA_API_KEY}\"],\n \"shortName\": \"arb-sep\",\n \"slip44\": 1,\n \"slug\": \"arbitrum-sepolia\",\n \"testnet\": true,\n \"title\": \"Arbitrum Sepolia Rollup Testnet\"\n};\n\nvar c424242 = {\n \"chain\": \"FTN\",\n \"chainId\": 424242,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.ftnscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://fastex.com\",\n \"name\": \"Fastex Chain testnet\",\n \"nativeCurrency\": {\n \"name\": \"FTN\",\n \"symbol\": \"FTN\",\n \"decimals\": 18\n },\n \"networkId\": 424242,\n \"rpc\": [\"https://424242.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.fastexchain.com\"],\n \"shortName\": \"fastexTestnet\",\n \"slip44\": 1,\n \"slug\": \"fastex-chain-testnet\",\n \"testnet\": true,\n \"title\": \"Fastex Chain testnet\"\n};\n\nvar c431140 = {\n \"chain\": \"Unified\",\n \"chainId\": 431140,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVMBTZVPawyLBD2B5VbG68dfWLfZ1CnB8V59xduBe2kwh\",\n \"width\": 84,\n \"height\": 84,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.markr.io/\",\n \"name\": \"Markr Go\",\n \"nativeCurrency\": {\n \"name\": \"Avalanche\",\n \"symbol\": \"AVAX\",\n \"decimals\": 18\n },\n \"networkId\": 431140,\n \"rpc\": [\"https://431140.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.markr.io/ext/\"],\n \"shortName\": \"markr-go\",\n \"slug\": \"markr-go\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c431188 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 431188,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Foundation Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Foundation Testnet Token\",\n \"symbol\": \"TFND\",\n \"decimals\": 18\n },\n \"networkId\": 431188,\n \"redFlags\": [],\n \"rpc\": [\"https://431188.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/foundation/testnet/rpc\"],\n \"shortName\": \"Foundation Testnet\",\n \"slug\": \"foundation-testnet\",\n \"testnet\": true\n};\n\nvar c432201 = {\n \"chain\": \"DEXALOT\",\n \"chainId\": 432201,\n \"explorers\": [{\n \"name\": \"Avalanche Subnet Testnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/dexalot\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.avax.network/?subnet=dexalot\"],\n \"icon\": {\n \"url\": \"ipfs://QmfVxdrWjtUKiGzqFDzAxHH2FqwP2aRuZTGcYWdWg519Xy\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dexalot.com\",\n \"name\": \"Dexalot Subnet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Dexalot\",\n \"symbol\": \"ALOT\",\n \"decimals\": 18\n },\n \"networkId\": 432201,\n \"rpc\": [\"https://432201.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/dexalot/testnet/rpc\"],\n \"shortName\": \"dexalot-testnet\",\n \"slip44\": 1,\n \"slug\": \"dexalot-subnet-testnet\",\n \"testnet\": true\n};\n\nvar c432204 = {\n \"chain\": \"DEXALOT\",\n \"chainId\": 432204,\n \"explorers\": [{\n \"name\": \"Avalanche Subnet Explorer\",\n \"url\": \"https://subnets.avax.network/dexalot\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfVxdrWjtUKiGzqFDzAxHH2FqwP2aRuZTGcYWdWg519Xy\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dexalot.com\",\n \"name\": \"Dexalot Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Dexalot\",\n \"symbol\": \"ALOT\",\n \"decimals\": 18\n },\n \"networkId\": 432204,\n \"rpc\": [\"https://432204.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/dexalot/mainnet/rpc\"],\n \"shortName\": \"dexalot\",\n \"slug\": \"dexalot-subnet\",\n \"testnet\": false\n};\n\nvar c444444 = {\n \"chain\": \"SYNDRSEPOLIA\",\n \"chainId\": 444444,\n \"explorers\": [{\n \"name\": \"Syndr L3 Sepolia Testnet Explorer\",\n \"url\": \"https://sepolia-explorer.syndr.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://syndr.com\",\n \"name\": \"Syndr L3 Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 444444,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-421614\",\n \"bridges\": [{\n \"url\": \"https://sepolia-bridge.syndr.com\"\n }]\n },\n \"rpc\": [\"https://444444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.syndr.com/http\", \"wss://sepolia.syndr.com/ws\"],\n \"shortName\": \"syndr\",\n \"slug\": \"syndr-l3-sepolia\",\n \"testnet\": true,\n \"title\": \"Syndr L3 Sepolia Rollup Testnet\"\n};\n\nvar c444900 = {\n \"chain\": \"WLK\",\n \"chainId\": 444900,\n \"explorers\": [{\n \"name\": \"weelink-testnet\",\n \"url\": \"https://weelink.cloud/#/blockView/overview\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.weelink.gw002.oneitfarm.com\"],\n \"infoURL\": \"https://weelink.cloud\",\n \"name\": \"Weelink Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Weelink Chain Token\",\n \"symbol\": \"tWLK\",\n \"decimals\": 18\n },\n \"networkId\": 444900,\n \"rpc\": [\"https://444900.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://weelinknode1c.gw002.oneitfarm.com\"],\n \"shortName\": \"wlkt\",\n \"slip44\": 1,\n \"slug\": \"weelink-testnet\",\n \"testnet\": true\n};\n\nvar c471100 = {\n \"chain\": \"ETH\",\n \"chainId\": 471100,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://patex.io/\",\n \"name\": \"Patex Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 471100,\n \"rpc\": [\"https://471100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://test-rpc.patex.io/\"],\n \"shortName\": \"psep\",\n \"slip44\": 1,\n \"slug\": \"patex-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c473861 = {\n \"chain\": \"ultrapro\",\n \"chainId\": 473861,\n \"explorers\": [{\n \"name\": \"ultraproscan\",\n \"url\": \"https://ultraproscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmT11iJMLe9sAk5NiRQbe2wv1jtLFCs2sF2w9vFwDLkkgE\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmT11iJMLe9sAk5NiRQbe2wv1jtLFCs2sF2w9vFwDLkkgE\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ultrapro.info\",\n \"name\": \"Ultra Pro Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ultra Pro\",\n \"symbol\": \"UPRO\",\n \"decimals\": 18\n },\n \"networkId\": 473861,\n \"rpc\": [\"https://473861.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.ultraproscan.io\"],\n \"shortName\": \"ultrapro\",\n \"slug\": \"ultra-pro\",\n \"testnet\": false\n};\n\nvar c474142 = {\n \"chain\": \"OpenChain\",\n \"chainId\": 474142,\n \"explorers\": [{\n \"name\": \"SIDE SCAN\",\n \"url\": \"https://sidescan.luniverse.io/1641349324562974539\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.openchain.live\",\n \"name\": \"OpenChain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OpenCoin\",\n \"symbol\": \"OPC\",\n \"decimals\": 10\n },\n \"networkId\": 474142,\n \"rpc\": [\"https://474142.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://baas-rpc.luniverse.io:18545?lChainId=1641349324562974539\"],\n \"shortName\": \"oc\",\n \"slug\": \"openchain\",\n \"testnet\": false\n};\n\nvar c504441 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 504441,\n \"explorers\": [{\n \"name\": \"Playdapp Explorer\",\n \"url\": \"https://subnets.avax.network/playdappne\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Playdapp Network\",\n \"nativeCurrency\": {\n \"name\": \"Playdapp Network Token\",\n \"symbol\": \"PDA\",\n \"decimals\": 18\n },\n \"networkId\": 504441,\n \"redFlags\": [],\n \"rpc\": [\"https://504441.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/playdappne/mainnet/rpc\"],\n \"shortName\": \"Playdapp Network\",\n \"slug\": \"playdapp-network\",\n \"testnet\": false\n};\n\nvar c512512 = {\n \"chain\": \"CMP\",\n \"chainId\": 512512,\n \"explorers\": [{\n \"name\": \"Galaxy Scan\",\n \"url\": \"https://galaxy.scan.caduceus.foundation\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://dev.caduceus.foundation/testNetwork\"],\n \"infoURL\": \"https://caduceus.foundation/\",\n \"name\": \"CMP-Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Caduceus Testnet Token\",\n \"symbol\": \"CMP\",\n \"decimals\": 18\n },\n \"networkId\": 512512,\n \"rpc\": [\"https://512512.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://galaxy.block.caduceus.foundation\", \"wss://galaxy.block.caduceus.foundation\"],\n \"shortName\": \"cmp\",\n \"slip44\": 1,\n \"slug\": \"cmp-testnet\",\n \"testnet\": true\n};\n\nvar c513100 = {\n \"chain\": \"DIS\",\n \"chainId\": 513100,\n \"explorers\": [{\n \"name\": \"DisChain\",\n \"url\": \"https://www.oklink.com/dis\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://dischain.xyz\",\n \"name\": \"DisChain\",\n \"nativeCurrency\": {\n \"name\": \"DisChain\",\n \"symbol\": \"DIS\",\n \"decimals\": 18\n },\n \"networkId\": 513100,\n \"rpc\": [\"https://513100.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.dischain.xyz\"],\n \"shortName\": \"dis\",\n \"slug\": \"dischain\",\n \"testnet\": false\n};\n\nvar c526916 = {\n \"chain\": \"DoCoin\",\n \"chainId\": 526916,\n \"explorers\": [{\n \"name\": \"DoCoin Community Chain Explorer\",\n \"url\": \"https://explorer.docoin.shop\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://docoin.network\",\n \"name\": \"DoCoin Community Chain\",\n \"nativeCurrency\": {\n \"name\": \"DO\",\n \"symbol\": \"DCT\",\n \"decimals\": 18\n },\n \"networkId\": 526916,\n \"rpc\": [\"https://526916.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.docoin.shop\"],\n \"shortName\": \"DoCoin\",\n \"slug\": \"docoin-community-chain\",\n \"testnet\": false,\n \"title\": \"DoCoin Community Chain\"\n};\n\nvar c534351 = {\n \"chain\": \"ETH\",\n \"chainId\": 534351,\n \"explorers\": [{\n \"name\": \"Scroll Sepolia Etherscan\",\n \"url\": \"https://sepolia.scrollscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://scroll.io\",\n \"name\": \"Scroll Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 534351,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://sepolia.scroll.io/bridge\"\n }]\n },\n \"rpc\": [\"https://534351.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-rpc.scroll.io\", \"https://rpc.ankr.com/scroll_sepolia_testnet\", \"https://scroll-sepolia.chainstacklabs.com\", \"https://scroll-testnet-public.unifra.io\"],\n \"shortName\": \"scr-sepolia\",\n \"slip44\": 1,\n \"slug\": \"scroll-sepolia-testnet\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c534352 = {\n \"chain\": \"ETH\",\n \"chainId\": 534352,\n \"explorers\": [{\n \"name\": \"Scrollscan\",\n \"url\": \"https://scrollscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://scroll.io\",\n \"name\": \"Scroll\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 534352,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://scroll.io/bridge\"\n }]\n },\n \"rpc\": [\"https://534352.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.scroll.io\", \"https://rpc.ankr.com/scroll\", \"https://scroll-mainnet.chainstacklabs.com\"],\n \"shortName\": \"scr\",\n \"slug\": \"scroll\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c534353 = {\n \"chain\": \"ETH\",\n \"chainId\": 534353,\n \"explorers\": [{\n \"name\": \"Scroll Alpha Testnet Block Explorer\",\n \"url\": \"https://alpha-blockscout.scroll.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://scroll.io\",\n \"name\": \"Scroll Alpha Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 534353,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-5\",\n \"bridges\": []\n },\n \"rpc\": [\"https://534353.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://alpha-rpc.scroll.io/l2\"],\n \"shortName\": \"scr-alpha\",\n \"slip44\": 1,\n \"slug\": \"scroll-alpha-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c534354 = {\n \"chain\": \"ETH\",\n \"chainId\": 534354,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://scroll.io\",\n \"name\": \"Scroll Pre-Alpha Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"TSETH\",\n \"decimals\": 18\n },\n \"networkId\": 534354,\n \"rpc\": [],\n \"shortName\": \"scr-prealpha\",\n \"slip44\": 1,\n \"slug\": \"scroll-pre-alpha-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c534849 = {\n \"chain\": \"Shinarium\",\n \"chainId\": 534849,\n \"explorers\": [{\n \"name\": \"shinascan\",\n \"url\": \"https://shinascan.shinarium.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.shinarium.org\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeiadbavrwcial76vs5ovhyykyaobteltuhliqcthdairbja4klwzhu\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://shinarium.org\",\n \"name\": \"Shinarium Beta\",\n \"nativeCurrency\": {\n \"name\": \"Shina Inu\",\n \"symbol\": \"SHI\",\n \"decimals\": 18\n },\n \"networkId\": 534849,\n \"rpc\": [\"https://534849.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.shinarium.org\"],\n \"shortName\": \"shi\",\n \"slug\": \"shinarium-beta\",\n \"testnet\": false\n};\n\nvar c535037 = {\n \"chain\": \"BESC\",\n \"chainId\": 535037,\n \"explorers\": [{\n \"name\": \"bescscan\",\n \"url\": \"https://Bescscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"name\": \"BeanEco SmartChain\",\n \"nativeCurrency\": {\n \"name\": \"BeanEco SmartChain\",\n \"symbol\": \"BESC\",\n \"decimals\": 18\n },\n \"networkId\": 535037,\n \"rpc\": [\"https://535037.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.bescscan.io\"],\n \"shortName\": \"BESC\",\n \"slug\": \"beaneco-smartchain\",\n \"testnet\": false,\n \"title\": \"BESC Mainnet\"\n};\n\nvar c552981 = {\n \"chain\": \"One World Chain\",\n \"chainId\": 552981,\n \"explorers\": [{\n \"name\": \"One World Chain Testnet Explorer\",\n \"url\": \"https://testnet.oneworldchain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.oneworldchain.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmPmZ6vgtdMG7jttVZQUobF96Sva1noi5Fsi28V1Eck6eC\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oneworldchain.org\",\n \"name\": \"One World Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"OWCT\",\n \"symbol\": \"OWCT\",\n \"decimals\": 18\n },\n \"networkId\": 552981,\n \"rpc\": [\"https://552981.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.oneworldchain.org\"],\n \"shortName\": \"OWCTt\",\n \"slug\": \"one-world-chain-testnet\",\n \"testnet\": true\n};\n\nvar c555555 = {\n \"chain\": \"Pentagon\",\n \"chainId\": 555555,\n \"explorers\": [{\n \"name\": \"Pentagon Testnet Explorer\",\n \"url\": \"https://explorer-testnet.pentagon.games\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://bridge-testnet.pentagon.games\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://pentagon.games\",\n \"name\": \"Pentagon Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Pentagon\",\n \"symbol\": \"PEN\",\n \"decimals\": 18\n },\n \"networkId\": 555555,\n \"rpc\": [\"https://555555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.pentagon.games\"],\n \"shortName\": \"pentagon-testnet\",\n \"slug\": \"pentagon-testnet\",\n \"testnet\": true\n};\n\nvar c555666 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 555666,\n \"explorers\": [{\n \"name\": \"ECLIPSE Explorer\",\n \"url\": \"https://subnets-test.avax.network/eclipsecha\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"EclipseChain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"EclipseChain Testnet Token\",\n \"symbol\": \"ECLPS\",\n \"decimals\": 18\n },\n \"networkId\": 555666,\n \"redFlags\": [],\n \"rpc\": [\"https://555666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/eclipsecha/testnet/rpc\"],\n \"shortName\": \"EclipseChain Testnet\",\n \"slug\": \"eclipsechain-testnet\",\n \"testnet\": true\n};\n\nvar c622277 = {\n \"chain\": \"HYP\",\n \"chainId\": 622277,\n \"explorers\": [{\n \"name\": \"hypra\",\n \"url\": \"https://explorer.hypra.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreiawlhc2trzyxgnz24vowdymxme2m446uk4vmrplgxsdd74ecpfloq\",\n \"width\": 830,\n \"height\": 830,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.hypra.network\",\n \"name\": \"Hypra Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Hypra\",\n \"symbol\": \"HYP\",\n \"decimals\": 18\n },\n \"networkId\": 622277,\n \"rpc\": [\"https://622277.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.hypra.network\", \"https://rpc.rethereum.org\", \"https://rethereum.rpc.restratagem.com\", \"https://rpc.rthcentral.org\"],\n \"shortName\": \"hyp\",\n \"slug\": \"hypra\",\n \"testnet\": false\n};\n\nvar c622463 = {\n \"chain\": \"ATLAS\",\n \"chainId\": 622463,\n \"explorers\": [{\n \"name\": \"Atlas Testnet Scan\",\n \"url\": \"https://explorer.testnet.atl.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmcSWGcoqC3y8VKahRdqPDgD68rr6A1gWVQPRt5FcpgWmG\",\n \"width\": 587,\n \"height\": 174,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcSWGcoqC3y8VKahRdqPDgD68rr6A1gWVQPRt5FcpgWmG\",\n \"width\": 587,\n \"height\": 174,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://atl.network\",\n \"name\": \"Atlas\",\n \"nativeCurrency\": {\n \"name\": \"TON\",\n \"symbol\": \"TON\",\n \"decimals\": 18\n },\n \"networkId\": 622463,\n \"rpc\": [\"https://622463.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.atl.network\"],\n \"shortName\": \"atlas-testnet\",\n \"slug\": \"atlas\",\n \"testnet\": true,\n \"title\": \"Atlas Testnet\"\n};\n\nvar c641230 = {\n \"chain\": \"BRNKC\",\n \"chainId\": 641230,\n \"explorers\": [{\n \"name\": \"brnkscan\",\n \"url\": \"https://brnkscan.bearnetwork.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQqhH28QpUrreoRw5Gj8YShzdHxxVGMjfVrx3TqJNLSLv\",\n \"width\": 1067,\n \"height\": 1067,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bearnetwork.net\",\n \"name\": \"Bear Network Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Bear Network Chain Native Token\",\n \"symbol\": \"BRNKC\",\n \"decimals\": 18\n },\n \"networkId\": 641230,\n \"rpc\": [\"https://641230.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://brnkc-mainnet.bearnetwork.net\", \"https://brnkc-mainnet1.bearnetwork.net\"],\n \"shortName\": \"BRNKC\",\n \"slug\": \"bear-network-chain\",\n \"testnet\": false\n};\n\nvar c651940 = {\n \"chain\": \"ALL\",\n \"chainId\": 651940,\n \"explorers\": [{\n \"name\": \"Alltra SmartChain Explorer\",\n \"url\": \"https://alltra.global\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibqe2mgiqezi24sx272kunqt6pv7uzxhpkxuobvpbsptce3q6nn5i\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://alltra.world\",\n \"name\": \"ALL Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ALL\",\n \"symbol\": \"ALL\",\n \"decimals\": 18\n },\n \"networkId\": 651940,\n \"rpc\": [\"https://651940.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.alltra.global\"],\n \"shortName\": \"ALL\",\n \"slug\": \"all\",\n \"testnet\": false\n};\n\nvar c656476 = {\n \"chain\": \"Open Campus Codex\",\n \"chainId\": 656476,\n \"explorers\": [{\n \"name\": \"Open Campus Codex\",\n \"url\": \"https://opencampus-codex.blockscout.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmXbz7VEYvf6NVHezuBy5HpJTCiagEThBxxdDdfVXNQ8Bt\",\n \"width\": 30,\n \"height\": 30,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXbz7VEYvf6NVHezuBy5HpJTCiagEThBxxdDdfVXNQ8Bt\",\n \"width\": 30,\n \"height\": 30,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://raas.gelato.network/rollups/details/public/open-campus-codex\",\n \"name\": \"Open Campus Codex\",\n \"nativeCurrency\": {\n \"name\": \"EDU\",\n \"symbol\": \"EDU\",\n \"decimals\": 18\n },\n \"networkId\": 656476,\n \"rpc\": [\"https://656476.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.open-campus-codex.gelato.digital\"],\n \"shortName\": \"open-campus-codex\",\n \"slug\": \"open-campus-codex\",\n \"testnet\": false\n};\n\nvar c660279 = {\n \"chain\": \"Xai Mainnet\",\n \"chainId\": 660279,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.xai-chain.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbWFbhjKw7zfsK5Rd9YxZgJgS43fpySPozjhYc98ibbEV/xai-icon.png\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xai.games/\",\n \"name\": \"Xai Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"XAI token\",\n \"symbol\": \"XAI\",\n \"decimals\": 18\n },\n \"networkId\": 660279,\n \"redFlags\": [],\n \"rpc\": [\"https://660279.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://xai-chain.net/rpc/xai79df8614da076af58f199126a07db\", \"https://xai-chain.net/rpc\"],\n \"shortName\": \"xai\",\n \"slug\": \"xai\",\n \"testnet\": false\n};\n\nvar c660868 = {\n \"chain\": \"OCASH\",\n \"chainId\": 660868,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://ipfs.io/ipfs/QmbwuoezvkfZBY9nrZ65n3iHGyhJG6yDRyhPjqE6k3uCiM\",\n \"width\": 350,\n \"height\": 350,\n \"format\": \"PNG\"\n },\n \"infoURL\": \"https://www.overline.network\",\n \"name\": \"Ocash testnet\",\n \"nativeCurrency\": {\n \"name\": \"OCASH\",\n \"symbol\": \"OCASH\",\n \"decimals\": 18\n },\n \"networkId\": 660868,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"ocash\",\n \"slug\": \"ocash-testnet\",\n \"testnet\": true\n};\n\nvar c666666 = {\n \"chain\": \"Vision-Vpioneer\",\n \"chainId\": 666666,\n \"explorers\": [],\n \"faucets\": [\"https://vpioneerfaucet.visionscan.org\"],\n \"infoURL\": \"https://visionscan.org\",\n \"name\": \"Vision - Vpioneer Test Chain\",\n \"nativeCurrency\": {\n \"name\": \"VS\",\n \"symbol\": \"VS\",\n \"decimals\": 18\n },\n \"networkId\": 666666,\n \"rpc\": [\"https://666666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://vpioneer.infragrid.v.network/ethereum/compatible\"],\n \"shortName\": \"vpioneer\",\n \"slip44\": 1,\n \"slug\": \"vision-vpioneer-test-chain\",\n \"testnet\": true\n};\n\nvar c666888 = {\n \"chain\": \"Hela\",\n \"chainId\": 666888,\n \"explorers\": [{\n \"name\": \"Hela Official Runtime Testnet Explorer\",\n \"url\": \"https://testnet-blockexplorer.helachain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://testnet-faucet.helachain.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmQbUVcaxFwY8gqMq1Jeup4NEyivo12QYhbLvVRvgXRBFb\",\n \"width\": 719,\n \"height\": 216,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://helalabs.com\",\n \"name\": \"Hela Official Runtime Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Hela HLUSD\",\n \"symbol\": \"HLUSD\",\n \"decimals\": 18\n },\n \"networkId\": 666888,\n \"rpc\": [\"https://666888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.helachain.com\"],\n \"shortName\": \"hela-testnet\",\n \"slip44\": 1,\n \"slug\": \"hela-official-runtime-testnet\",\n \"testnet\": true\n};\n\nvar c686868 = {\n \"chain\": \"WON\",\n \"chainId\": 686868,\n \"explorers\": [{\n \"name\": \"Won Explorer\",\n \"url\": \"https://scan.wonnetwork.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.wondollars.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmQ6mjKWJQ5WmFiJzcqJnuHWZK53nQYJB1SnMQZEqgr74h\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://wonnetwork.org\",\n \"name\": \"Won Network\",\n \"nativeCurrency\": {\n \"name\": \"Won\",\n \"symbol\": \"WON\",\n \"decimals\": 18\n },\n \"networkId\": 686868,\n \"rpc\": [\"https://686868.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.wonnetwork.org\"],\n \"shortName\": \"WonChain\",\n \"slug\": \"won-network\",\n \"testnet\": false\n};\n\nvar c696969 = {\n \"chain\": \"Galadriel\",\n \"chainId\": 696969,\n \"explorers\": [{\n \"name\": \"Galadriel Explorer\",\n \"url\": \"https://explorer.galadriel.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://docs.galadriel.com/faucet\"],\n \"infoURL\": \"https://galadriel.com\",\n \"name\": \"Galadriel Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Galadriel Devnet token\",\n \"symbol\": \"GAL\",\n \"decimals\": 18\n },\n \"networkId\": 696969,\n \"rpc\": [\"https://696969.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.galadriel.com\"],\n \"shortName\": \"galadriel-devnet\",\n \"slug\": \"galadriel-devnet\",\n \"testnet\": false\n};\n\nvar c710420 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 710420,\n \"explorers\": [{\n \"name\": \"TILTYARD Explorer\",\n \"url\": \"https://subnets.avax.network/tiltyard\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Tiltyard\",\n \"nativeCurrency\": {\n \"name\": \"Tiltyard Token\",\n \"symbol\": \"TILT\",\n \"decimals\": 18\n },\n \"networkId\": 710420,\n \"redFlags\": [],\n \"rpc\": [\"https://710420.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/tiltyard/mainnet/rpc\"],\n \"shortName\": \"Tiltyard\",\n \"slug\": \"tiltyard\",\n \"testnet\": false\n};\n\nvar c713715 = {\n \"chain\": \"Sei\",\n \"chainId\": 713715,\n \"explorers\": [{\n \"name\": \"Seistream\",\n \"url\": \"https://seistream.app\",\n \"standard\": \"none\"\n }, {\n \"name\": \"Seitrace\",\n \"url\": \"https://seitrace.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sei-faucet.nima.enterprises\", \"https://sei-evm.faucetme.pro\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreih3l3iisplmikofkbfyimqlox7nmixzlkzhjoewmpi4jbqitwryoa\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.sei.io\",\n \"name\": \"Sei Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Sei\",\n \"symbol\": \"SEI\",\n \"decimals\": 18\n },\n \"networkId\": 713715,\n \"rpc\": [\"https://713715.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm-rpc-arctic-1.sei-apis.com\", \"https://evm-rpc.arctic-1.seinetwork.io\"],\n \"shortName\": \"sei-devnet\",\n \"slug\": \"sei-devnet\",\n \"testnet\": false\n};\n\nvar c721529 = {\n \"chain\": \"ERAM\",\n \"chainId\": 721529,\n \"explorers\": [{\n \"name\": \"Eramscan\",\n \"url\": \"https://eramscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQyu82MtGVLYMwCc5rseNXDV12V3UUX7iNq8q86SyeaPh\",\n \"width\": 258,\n \"height\": 258,\n \"format\": \"png\"\n },\n \"infoURL\": \"http://doc.eramscan.com/\",\n \"name\": \"ERAM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ERAM\",\n \"symbol\": \"ERAM\",\n \"decimals\": 18\n },\n \"networkId\": 721529,\n \"rpc\": [\"https://721529.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.eramscan.com\"],\n \"shortName\": \"ERAM\",\n \"slug\": \"eram\",\n \"testnet\": false\n};\n\nvar c743111 = {\n \"chain\": \"ETH\",\n \"chainId\": 743111,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://testnet.explorer.hemi.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfP6GDn5eXFcpWuoiyWn5pjn6PYB7HQhRD8nSko1zR8KD\",\n \"width\": 1200,\n \"height\": 1200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hemi.xyz\",\n \"name\": \"Hemi Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 743111,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\"\n },\n \"rpc\": [\"https://743111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.hemi.network/rpc\"],\n \"shortName\": \"hemi-sep\",\n \"slug\": \"hemi-sepolia\",\n \"status\": \"active\",\n \"testnet\": true\n};\n\nvar c751230 = {\n \"chain\": \"BRNKCTEST\",\n \"chainId\": 751230,\n \"explorers\": [{\n \"name\": \"brnktestscan\",\n \"url\": \"https://brnktest-scan.bearnetwork.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.bearnetwork.net\"],\n \"icon\": {\n \"url\": \"ipfs://QmQqhH28QpUrreoRw5Gj8YShzdHxxVGMjfVrx3TqJNLSLv\",\n \"width\": 1067,\n \"height\": 1067,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://bearnetwork.net\",\n \"name\": \"Bear Network Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bear Network Chain Testnet Token\",\n \"symbol\": \"tBRNKC\",\n \"decimals\": 18\n },\n \"networkId\": 751230,\n \"rpc\": [\"https://751230.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://brnkc-test.bearnetwork.net\"],\n \"shortName\": \"BRNKCTEST\",\n \"slip44\": 1,\n \"slug\": \"bear-network-chain-testnet\",\n \"testnet\": true\n};\n\nvar c761412 = {\n \"chain\": \"MiexsSmartchain\",\n \"chainId\": 761412,\n \"explorers\": [{\n \"name\": \"Miexs Smartchain Explorer\",\n \"url\": \"https://miexs.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreic6tcc6swh5kzljwqnswj6rlemcm7n6ra7xkgttwv5v3fv7ozj5zu\",\n \"width\": 1500,\n \"height\": 1500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://miexs.com\",\n \"name\": \"Miexs Smartchain\",\n \"nativeCurrency\": {\n \"name\": \"Miexs Coin\",\n \"symbol\": \"MIX\",\n \"decimals\": 18\n },\n \"networkId\": 761412,\n \"rpc\": [\"https://761412.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.miexs.com\"],\n \"shortName\": \"Miexs\",\n \"slug\": \"miexs-smartchain\",\n \"testnet\": false\n};\n\nvar c764984 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 764984,\n \"explorers\": [{\n \"name\": \"Lamina1 Test Explorer\",\n \"url\": \"https://subnets-test.avax.network/lamina1tes\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Lamina1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Lamina1 Testnet Token\",\n \"symbol\": \"L1T\",\n \"decimals\": 18\n },\n \"networkId\": 764984,\n \"redFlags\": [],\n \"rpc\": [\"https://764984.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lamina1tes/testnet/rpc\"],\n \"shortName\": \"Lamina1 Testnet\",\n \"slip44\": 1,\n \"slug\": \"lamina1-testnet\",\n \"testnet\": true\n};\n\nvar c767368 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 767368,\n \"explorers\": [{\n \"name\": \"Lamina1 Identity Testnet Explorer\",\n \"url\": \"https://subnets-test.avax.network/lamina1id\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"Lamina1 Identity Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Lamina1 Identity Testnet Token\",\n \"symbol\": \"L1IDT\",\n \"decimals\": 18\n },\n \"networkId\": 767368,\n \"redFlags\": [],\n \"rpc\": [\"https://767368.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/lamina1id/testnet/rpc\"],\n \"shortName\": \"Lamina1 Identity Testnet\",\n \"slip44\": 1,\n \"slug\": \"lamina1-identity-testnet\",\n \"testnet\": true\n};\n\nvar c776877 = {\n \"chain\": \"EVMCC\",\n \"chainId\": 776877,\n \"explorers\": [{\n \"name\": \"Tanssi Explorer\",\n \"url\": \"https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3035-rpc.a.dancebox.tanssi.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.rmrk.app/\",\n \"name\": \"Modularium\",\n \"nativeCurrency\": {\n \"name\": \"Modularium\",\n \"symbol\": \"MDM\",\n \"decimals\": 18\n },\n \"networkId\": 776877,\n \"rpc\": [\"https://776877.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-dancebox-3035-rpc.a.dancebox.tanssi.network\"],\n \"shortName\": \"mdlrm\",\n \"slug\": \"modularium\",\n \"testnet\": false\n};\n\nvar c800001 = {\n \"chain\": \"OCTA\",\n \"chainId\": 800001,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.octa.space\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://octa.space\",\n \"name\": \"OctaSpace\",\n \"nativeCurrency\": {\n \"name\": \"OctaSpace\",\n \"symbol\": \"OCTA\",\n \"decimals\": 18\n },\n \"networkId\": 800001,\n \"rpc\": [\"https://800001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.octa.space\", \"wss://rpc.octa.space\"],\n \"shortName\": \"octa\",\n \"slug\": \"octaspace\",\n \"testnet\": false\n};\n\nvar c808080 = {\n \"chain\": \"BIZT Testnet\",\n \"chainId\": 808080,\n \"explorers\": [{\n \"name\": \"BIZ Smart Chain Testnet Explorer\",\n \"url\": \"https://testnet.btscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmNnaDZRoMz9aoho35TGHBY5zD16P39cgPpw3z3jnkDHHB\",\n \"width\": 104,\n \"height\": 104,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.biztoken.io/\",\n \"name\": \"BIZ Smart Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tBIZT\",\n \"symbol\": \"tBIZT\",\n \"decimals\": 18\n },\n \"networkId\": 808080,\n \"rpc\": [\"https://808080.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.bizex.io/\"],\n \"shortName\": \"bizt-testnet\",\n \"slip44\": 1,\n \"slug\": \"biz-smart-chain-testnet\",\n \"testnet\": true\n};\n\nvar c810180 = {\n \"chain\": \"ETH\",\n \"chainId\": 810180,\n \"explorers\": [{\n \"name\": \"zkLink Nova Block Explorer\",\n \"url\": \"https://explorer.zklink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiaj7b6pdekv3rjuta5wsdvmfdcsat2jftjgozape7wvmyj6d3vjcm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiaj7b6pdekv3rjuta5wsdvmfdcsat2jftjgozape7wvmyj6d3vjcm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zklink.io\",\n \"name\": \"zkLink Nova Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 810180,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-59144\",\n \"bridges\": [{\n \"url\": \"https://portal.zklink.io\"\n }]\n },\n \"rpc\": [\"https://810180.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.zklink.io\", \"wss://rpc.zklink.io\"],\n \"shortName\": \"zklink-nova\",\n \"slip44\": 1,\n \"slug\": \"zklink-nova\",\n \"testnet\": false\n};\n\nvar c810181 = {\n \"chain\": \"ETH\",\n \"chainId\": 810181,\n \"explorers\": [{\n \"name\": \"zkLink Nova Block Explorer\",\n \"url\": \"https://sepolia.explorer.zklink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiaj7b6pdekv3rjuta5wsdvmfdcsat2jftjgozape7wvmyj6d3vjcm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiaj7b6pdekv3rjuta5wsdvmfdcsat2jftjgozape7wvmyj6d3vjcm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zklink.io\",\n \"name\": \"zkLink Nova Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 810181,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-59141\",\n \"bridges\": [{\n \"url\": \"https://sepolia.portal.zklink.io\"\n }]\n },\n \"rpc\": [\"https://810181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.rpc.zklink.io\", \"wss://sepolia.rpc.zklink.io\"],\n \"shortName\": \"zklink-nova-sepolia\",\n \"slip44\": 1,\n \"slug\": \"zklink-nova-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c810182 = {\n \"chain\": \"ETH\",\n \"chainId\": 810182,\n \"explorers\": [{\n \"name\": \"zkLink Nova Block Explorer\",\n \"url\": \"https://goerli.explorer.zklink.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiaj7b6pdekv3rjuta5wsdvmfdcsat2jftjgozape7wvmyj6d3vjcm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreiaj7b6pdekv3rjuta5wsdvmfdcsat2jftjgozape7wvmyj6d3vjcm\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zklink.io\",\n \"name\": \"zkLink Nova Goerli Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 810182,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-59140\",\n \"bridges\": [{\n \"url\": \"https://goerli.portal.zklink.io\"\n }]\n },\n \"rpc\": [\"https://810182.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://goerli.rpc.zklink.io\", \"wss://goerli.rpc.zklink.io\"],\n \"shortName\": \"zklink-nova-goerli\",\n \"slip44\": 1,\n \"slug\": \"zklink-nova-goerli-testnet\",\n \"testnet\": true\n};\n\nvar c820522 = {\n \"chain\": \"Trust Smart Chain Testnet\",\n \"chainId\": 820522,\n \"explorers\": [{\n \"name\": \"tscscan\",\n \"url\": \"https://testnet.tscscan.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmZWF4RcDtxuFRRGgMMuDV7FWCYR6kA9cAUTk12iADU52U\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYmQAo5hSr16LDeSbWbXfKdF6qa2zCoK7e88r2f7RiFdt\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.trias.one\",\n \"name\": \"TSC Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TAS\",\n \"symbol\": \"tTAS\",\n \"decimals\": 18\n },\n \"networkId\": 820025,\n \"rpc\": [\"https://820522.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.tscscan.io/testrpc\"],\n \"shortName\": \"tTSC\",\n \"slug\": \"tsc-testnet\",\n \"testnet\": true\n};\n\nvar c827431 = {\n \"chain\": \"CURVE\",\n \"chainId\": 827431,\n \"explorers\": [{\n \"name\": \"CURVE Mainnet\",\n \"url\": \"https://curvescan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTjV3TTR5aLb7fi7tjx8gcDvYtqBpusqhCSaznVxJ7NJg\",\n \"width\": 150,\n \"height\": 150,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://curvescan.io\",\n \"name\": \"CURVE Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Curve\",\n \"symbol\": \"CURVE\",\n \"decimals\": 18\n },\n \"networkId\": 827431,\n \"rpc\": [\"https://827431.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.curvescan.io\"],\n \"shortName\": \"CURVEm\",\n \"slug\": \"curve\",\n \"testnet\": false\n};\n\nvar c839320 = {\n \"chain\": \"prm\",\n \"chainId\": 839320,\n \"explorers\": [{\n \"name\": \"Primal Network Testnet\",\n \"url\": \"https://testnet-explorer.prmscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.prmscan.org\"],\n \"icon\": {\n \"url\": \"ipfs://QmckkDRkuCQWbvhpKGsqa8ajuQvf3W5dekzw5qpiPC6shk\",\n \"width\": 1220,\n \"height\": 1220,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://primalnetwork.org\",\n \"name\": \"PRM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Primal Network\",\n \"symbol\": \"PRM\",\n \"decimals\": 18\n },\n \"networkId\": 839320,\n \"rpc\": [\"https://839320.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.prmscan.org\"],\n \"shortName\": \"prmtest\",\n \"slug\": \"prm-testnet\",\n \"testnet\": true\n};\n\nvar c846000 = {\n \"chain\": \"4GN\",\n \"chainId\": 846000,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://bloqs4good.com\",\n \"name\": \"4GoodNetwork\",\n \"nativeCurrency\": {\n \"name\": \"APTA\",\n \"symbol\": \"APTA\",\n \"decimals\": 18\n },\n \"networkId\": 846000,\n \"rpc\": [\"https://846000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://chain.deptofgood.com\"],\n \"shortName\": \"bloqs4good\",\n \"slug\": \"4goodnetwork\",\n \"testnet\": false\n};\n\nvar c855456 = {\n \"chain\": \"EVMCC\",\n \"chainId\": 855456,\n \"explorers\": [{\n \"name\": \"Dodao Explorer\",\n \"url\": \"https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdWsi6mhs6Agb3LF4uycUwx2fgNmwkuAGb7JmsLPkwd3j\",\n \"width\": 636,\n \"height\": 629,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdWsi6mhs6Agb3LF4uycUwx2fgNmwkuAGb7JmsLPkwd3j\",\n \"width\": 636,\n \"height\": 629,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://dodao.dev/\",\n \"name\": \"Dodao\",\n \"nativeCurrency\": {\n \"name\": \"Dodao\",\n \"symbol\": \"DODAO\",\n \"decimals\": 18\n },\n \"networkId\": 855456,\n \"rpc\": [\"https://855456.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network\", \"wss://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network\"],\n \"shortName\": \"dodao\",\n \"slug\": \"dodao\",\n \"testnet\": false\n};\n\nvar c879151 = {\n \"chain\": \"BLX\",\n \"chainId\": 879151,\n \"explorers\": [{\n \"name\": \"BlocX Mainnet Explorer\",\n \"url\": \"https://explorer.blxscan.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmXM7XiLdSxhCub8MLSSo2J9V2qAkTcwdAGxcT57kurUzg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXM7XiLdSxhCub8MLSSo2J9V2qAkTcwdAGxcT57kurUzg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.blocxchain.org/\",\n \"name\": \"BlocX Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"BlocX\",\n \"symbol\": \"BLX\",\n \"decimals\": 18\n },\n \"networkId\": 879151,\n \"rpc\": [\"https://879151.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.blxscan.com/\"],\n \"shortName\": \"blx\",\n \"slug\": \"blocx\",\n \"testnet\": false\n};\n\nvar c888882 = {\n \"chain\": \"REXX\",\n \"chainId\": 888882,\n \"explorers\": [{\n \"name\": \"REXX Mainnet Explorer\",\n \"url\": \"https://rexxnetwork.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://rexxnetwork.com\",\n \"name\": \"REXX Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"REXX\",\n \"symbol\": \"REXX\",\n \"decimals\": 18\n },\n \"networkId\": 888882,\n \"rpc\": [\"https://888882.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.rexxnetwork.com\"],\n \"shortName\": \"REXX\",\n \"slug\": \"rexx\",\n \"testnet\": false,\n \"title\": \"REXX Mainnet\"\n};\n\nvar c888888 = {\n \"chain\": \"Vision\",\n \"chainId\": 888888,\n \"explorers\": [{\n \"name\": \"Visionscan\",\n \"url\": \"https://www.visionscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.v.network\",\n \"name\": \"Vision - Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"VS\",\n \"symbol\": \"VS\",\n \"decimals\": 18\n },\n \"networkId\": 888888,\n \"rpc\": [\"https://888888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://infragrid.v.network/ethereum/compatible\"],\n \"shortName\": \"vision\",\n \"slip44\": 60,\n \"slug\": \"vision\",\n \"testnet\": false\n};\n\nvar c894538 = {\n \"chain\": \"TWT\",\n \"chainId\": 894538,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://subnets-test.avax.network/thirdweb\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXDGoJKuuwQKzY1Y7ZhgULg8hcmveu6PVaDaYQzEjKwkQ/Thirdweb-Icon-Black-BG.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"name\": \"thirdweb test subnet\",\n \"nativeCurrency\": {\n \"name\": \"TWT\",\n \"symbol\": \"TWT\",\n \"decimals\": 18\n },\n \"networkId\": 894538,\n \"redFlags\": [],\n \"rpc\": [\"https://894538.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/thirdweb/testnet/rpc\"],\n \"shortName\": \"twt\",\n \"slug\": \"thirdweb-test-subnet\",\n \"testnet\": true\n};\n\nvar c900000 = {\n \"chain\": \"PSC\",\n \"chainId\": 900000,\n \"explorers\": [{\n \"name\": \"Posichain Explorer\",\n \"url\": \"https://explorer.posichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://posichain.org\",\n \"name\": \"Posichain Mainnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"Posichain Native Token\",\n \"symbol\": \"POSI\",\n \"decimals\": 18\n },\n \"networkId\": 900000,\n \"rpc\": [\"https://900000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.posichain.org\", \"https://api.s0.posichain.org\"],\n \"shortName\": \"psc-s0\",\n \"slug\": \"posichain-shard-0\",\n \"testnet\": false\n};\n\nvar c910000 = {\n \"chain\": \"PSC\",\n \"chainId\": 910000,\n \"explorers\": [{\n \"name\": \"Posichain Explorer Testnet\",\n \"url\": \"https://explorer-testnet.posichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.posichain.org/\"],\n \"infoURL\": \"https://posichain.org\",\n \"name\": \"Posichain Testnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"Posichain Native Token\",\n \"symbol\": \"POSI\",\n \"decimals\": 18\n },\n \"networkId\": 910000,\n \"rpc\": [\"https://910000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s0.t.posichain.org\"],\n \"shortName\": \"psc-t-s0\",\n \"slug\": \"posichain-testnet-shard-0\",\n \"testnet\": true\n};\n\nvar c912559 = {\n \"chain\": \"RIA\",\n \"chainId\": 912559,\n \"explorers\": [{\n \"name\": \"Astria EVM Dusknet Explorer\",\n \"url\": \"https://explorer.evm.dusk-3.devnet.astria.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.evm.dusk-3.devnet.astria.org/\"],\n \"icon\": {\n \"url\": \"ipfs://QmVbzZYXdVFY3uFaWQd7iSRtdM2UKWohj9fVqqEwxcw2RV\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://docs.astria.org\",\n \"name\": \"Astria EVM Dusknet\",\n \"nativeCurrency\": {\n \"name\": \"RIA\",\n \"symbol\": \"RIA\",\n \"decimals\": 18\n },\n \"networkId\": 912559,\n \"rpc\": [\"https://912559.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.evm.dusk-3.devnet.astria.org\"],\n \"shortName\": \"ria-dev\",\n \"slug\": \"astria-evm-dusknet\",\n \"testnet\": false\n};\n\nvar c914031 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 914031,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0408T1TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0408T1TS Testnet Token\",\n \"symbol\": \"HOK\",\n \"decimals\": 18\n },\n \"networkId\": 914031,\n \"redFlags\": [],\n \"rpc\": [\"https://914031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0408t1ts/testnet/rpc\"],\n \"shortName\": \"QR0408T1TS Testnet\",\n \"slug\": \"qr0408t1ts-testnet\",\n \"testnet\": true\n};\n\nvar c918806 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 918806,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0529T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0529T1TS Token\",\n \"symbol\": \"MCV\",\n \"decimals\": 18\n },\n \"networkId\": 918806,\n \"redFlags\": [],\n \"rpc\": [\"https://918806.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0529t1ts/testnet/rpc\"],\n \"shortName\": \"QR0529T1TS\",\n \"slug\": \"qr0529t1ts\",\n \"testnet\": true\n};\n\nvar c919517 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 919517,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0508T1TP\",\n \"nativeCurrency\": {\n \"name\": \"QR0508T1TP Token\",\n \"symbol\": \"AHO\",\n \"decimals\": 18\n },\n \"networkId\": 919517,\n \"redFlags\": [],\n \"rpc\": [\"https://919517.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0508t1tp/testnet/rpc\"],\n \"shortName\": \"QR0508T1TP\",\n \"slug\": \"qr0508t1tp\",\n \"testnet\": true\n};\n\nvar c920000 = {\n \"chain\": \"PSC\",\n \"chainId\": 920000,\n \"explorers\": [{\n \"name\": \"Posichain Explorer Devnet\",\n \"url\": \"https://explorer-devnet.posichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.posichain.org/\"],\n \"infoURL\": \"https://posichain.org\",\n \"name\": \"Posichain Devnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"Posichain Native Token\",\n \"symbol\": \"POSI\",\n \"decimals\": 18\n },\n \"networkId\": 920000,\n \"rpc\": [\"https://920000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s0.d.posichain.org\"],\n \"shortName\": \"psc-d-s0\",\n \"slug\": \"posichain-devnet-shard-0\",\n \"testnet\": false\n};\n\nvar c920001 = {\n \"chain\": \"PSC\",\n \"chainId\": 920001,\n \"explorers\": [{\n \"name\": \"Posichain Explorer Devnet\",\n \"url\": \"https://explorer-devnet.posichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.posichain.org/\"],\n \"infoURL\": \"https://posichain.org\",\n \"name\": \"Posichain Devnet Shard 1\",\n \"nativeCurrency\": {\n \"name\": \"Posichain Native Token\",\n \"symbol\": \"POSI\",\n \"decimals\": 18\n },\n \"networkId\": 920001,\n \"rpc\": [\"https://920001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s1.d.posichain.org\"],\n \"shortName\": \"psc-d-s1\",\n \"slug\": \"posichain-devnet-shard-1\",\n \"testnet\": false\n};\n\nvar c922935 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 922935,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0607t1ts\",\n \"nativeCurrency\": {\n \"name\": \"QR0607t1ts Token\",\n \"symbol\": \"WAP\",\n \"decimals\": 18\n },\n \"networkId\": 922935,\n \"redFlags\": [],\n \"rpc\": [\"https://922935.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0607t1ts/testnet/rpc\"],\n \"shortName\": \"QR0607t1ts\",\n \"slug\": \"qr0607t1ts\",\n \"testnet\": true\n};\n\nvar c923018 = {\n \"chain\": \"FNCY\",\n \"chainId\": 923018,\n \"explorers\": [{\n \"name\": \"fncy scan testnet\",\n \"url\": \"https://fncyscan-testnet.fncy.world\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmfXCh6UnaEHn3Evz7RFJ3p2ggJBRm9hunDHegeoquGuhD\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet-testnet.fncy.world\"],\n \"icon\": {\n \"url\": \"ipfs://QmfXCh6UnaEHn3Evz7RFJ3p2ggJBRm9hunDHegeoquGuhD\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://fncyscan-testnet.fncy.world\",\n \"name\": \"FNCY Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FNCY\",\n \"symbol\": \"FNCY\",\n \"decimals\": 18\n },\n \"networkId\": 923018,\n \"rpc\": [\"https://923018.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://fncy-testnet-seed.fncy.world\"],\n \"shortName\": \"tFNCY\",\n \"slip44\": 1,\n \"slug\": \"fncy-testnet\",\n \"testnet\": true\n};\n\nvar c928010 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 928010,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0408T2TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0408T2TS Testnet Token\",\n \"symbol\": \"XYZ\",\n \"decimals\": 18\n },\n \"networkId\": 928010,\n \"redFlags\": [],\n \"rpc\": [\"https://928010.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0408t2ts/testnet/rpc\"],\n \"shortName\": \"QR0408T2TS Testnet\",\n \"slug\": \"qr0408t2ts-testnet\",\n \"testnet\": true\n};\n\nvar c929038 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 929038,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0215Y1MP\",\n \"nativeCurrency\": {\n \"name\": \"QR0215Y1MP Token\",\n \"symbol\": \"QAT\",\n \"decimals\": 18\n },\n \"networkId\": 929038,\n \"redFlags\": [],\n \"rpc\": [\"https://929038.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0215y1mp/mainnet/rpc\"],\n \"shortName\": \"QR0215Y1MP\",\n \"slug\": \"qr0215y1mp\",\n \"testnet\": false\n};\n\nvar c933039 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 933039,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0422T1TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0422T1TS Testnet Token\",\n \"symbol\": \"DIF\",\n \"decimals\": 18\n },\n \"networkId\": 933039,\n \"redFlags\": [],\n \"rpc\": [\"https://933039.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0422t1ts/testnet/rpc\"],\n \"shortName\": \"QR0422T1TS Testnet\",\n \"slug\": \"qr0422t1ts-testnet\",\n \"testnet\": true\n};\n\nvar c933326 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 933326,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0326T2TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0326T2TS Testnet Token\",\n \"symbol\": \"XFT\",\n \"decimals\": 18\n },\n \"networkId\": 933326,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"QR0326T2TS Testnet\",\n \"slug\": \"qr0326t2ts-testnet\",\n \"testnet\": true\n};\n\nvar c934567 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 934567,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0506T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0506T1TS Token\",\n \"symbol\": \"VPE\",\n \"decimals\": 18\n },\n \"networkId\": 934567,\n \"redFlags\": [],\n \"rpc\": [\"https://934567.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0506t1ts/testnet/rpc\"],\n \"shortName\": \"QR0506T1TS\",\n \"slug\": \"qr0506t1ts\",\n \"testnet\": true\n};\n\nvar c939359 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 939359,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0501T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0501T1TS Token\",\n \"symbol\": \"ZGM\",\n \"decimals\": 18\n },\n \"networkId\": 939359,\n \"redFlags\": [],\n \"rpc\": [\"https://939359.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0501t1ts/testnet/rpc\"],\n \"shortName\": \"QR0501T1TS\",\n \"slug\": \"qr0501t1ts\",\n \"testnet\": true\n};\n\nvar c943503 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 943503,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0520T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0520T1TS Token\",\n \"symbol\": \"JQH\",\n \"decimals\": 18\n },\n \"networkId\": 943503,\n \"redFlags\": [],\n \"rpc\": [\"https://943503.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0520t1ts/testnet/rpc\"],\n \"shortName\": \"QR0520T1TS\",\n \"slug\": \"qr0520t1ts\",\n \"testnet\": true\n};\n\nvar c946751 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 946751,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0214Y1P\",\n \"nativeCurrency\": {\n \"name\": \"QR0214Y1P Token\",\n \"symbol\": \"QAT\",\n \"decimals\": 18\n },\n \"networkId\": 946751,\n \"redFlags\": [],\n \"rpc\": [\"https://946751.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0214y1p/testnet/rpc\"],\n \"shortName\": \"QR0214Y1P\",\n \"slug\": \"qr0214y1p\",\n \"testnet\": true\n};\n\nvar c950375 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 950375,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0209Y1S\",\n \"nativeCurrency\": {\n \"name\": \"QR0209Y1S Token\",\n \"symbol\": \"XPU\",\n \"decimals\": 18\n },\n \"networkId\": 950375,\n \"redFlags\": [],\n \"rpc\": [\"https://950375.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0209y1s/testnet/rpc\"],\n \"shortName\": \"QR0209Y1S\",\n \"slug\": \"qr0209y1s\",\n \"testnet\": true\n};\n\nvar c951083 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 951083,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0205Y1S\",\n \"nativeCurrency\": {\n \"name\": \"QR0205Y1S Token\",\n \"symbol\": \"MYO\",\n \"decimals\": 18\n },\n \"networkId\": 951083,\n \"redFlags\": [],\n \"rpc\": [\"https://951083.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0205y1s/testnet/rpc\"],\n \"shortName\": \"QR0205Y1S\",\n \"slug\": \"qr0205y1s\",\n \"testnet\": true\n};\n\nvar c955081 = {\n \"chain\": \"JONO12\",\n \"chainId\": 955081,\n \"explorers\": [{\n \"name\": \"JONO12 Explorer\",\n \"url\": \"https://subnets-test.avax.network/jono12\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafkreievzx4ke62dtc77o47x7vs7nn67ghzrwku6h5dxo3hwcsqfeblke4\",\n \"width\": 612,\n \"height\": 612,\n \"format\": \"png\"\n },\n \"name\": \"Jono12 Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Jono12 Token\",\n \"symbol\": \"JONO\",\n \"decimals\": 18\n },\n \"networkId\": 955081,\n \"rpc\": [\"https://955081.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/jono12/testnet/rpc\"],\n \"shortName\": \"jono12\",\n \"slug\": \"jono12-subnet\",\n \"testnet\": true\n};\n\nvar c955305 = {\n \"chain\": \"Eluvio\",\n \"chainId\": 955305,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.eluv.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://eluv.io\",\n \"name\": \"Eluvio Content Fabric\",\n \"nativeCurrency\": {\n \"name\": \"ELV\",\n \"symbol\": \"ELV\",\n \"decimals\": 18\n },\n \"networkId\": 955305,\n \"rpc\": [\"https://955305.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://host-76-74-28-226.contentfabric.io/eth/\", \"https://host-76-74-28-232.contentfabric.io/eth/\", \"https://host-76-74-29-2.contentfabric.io/eth/\", \"https://host-76-74-29-8.contentfabric.io/eth/\", \"https://host-76-74-29-34.contentfabric.io/eth/\", \"https://host-76-74-29-35.contentfabric.io/eth/\", \"https://host-154-14-211-98.contentfabric.io/eth/\", \"https://host-154-14-192-66.contentfabric.io/eth/\", \"https://host-60-240-133-202.contentfabric.io/eth/\", \"https://host-64-235-250-98.contentfabric.io/eth/\"],\n \"shortName\": \"elv\",\n \"slip44\": 1011,\n \"slug\": \"eluvio-content-fabric\",\n \"testnet\": false\n};\n\nvar c958798 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 958798,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0513T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0513T1TS Token\",\n \"symbol\": \"PME\",\n \"decimals\": 18\n },\n \"networkId\": 958798,\n \"redFlags\": [],\n \"rpc\": [\"https://958798.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0513t1ts/testnet/rpc\"],\n \"shortName\": \"QR0513T1TS\",\n \"slug\": \"qr0513t1ts\",\n \"testnet\": true\n};\n\nvar c959009 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 959009,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0508T1MP\",\n \"nativeCurrency\": {\n \"name\": \"QR0508T1MP Token\",\n \"symbol\": \"AHO\",\n \"decimals\": 18\n },\n \"networkId\": 959009,\n \"redFlags\": [],\n \"rpc\": [\"https://959009.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0508t1mp/mainnet/rpc\"],\n \"shortName\": \"QR0508T1MP\",\n \"slug\": \"qr0508t1mp\",\n \"testnet\": false\n};\n\nvar c961256 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 961256,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0326T4TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0326T4TS Testnet Token\",\n \"symbol\": \"HTF\",\n \"decimals\": 18\n },\n \"networkId\": 961256,\n \"redFlags\": [],\n \"rpc\": [\"https://961256.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0326t4ts/testnet/rpc\"],\n \"shortName\": \"QR0326T4TS Testnet\",\n \"slug\": \"qr0326t4ts-testnet\",\n \"testnet\": true\n};\n\nvar c970066 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 970066,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0522T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0522T1TS Token\",\n \"symbol\": \"BUL\",\n \"decimals\": 18\n },\n \"networkId\": 970066,\n \"redFlags\": [],\n \"rpc\": [\"https://970066.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0522t1ts/testnet/rpc\"],\n \"shortName\": \"QR0522T1TS\",\n \"slug\": \"qr0522t1ts\",\n \"testnet\": true\n};\n\nvar c976517 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 976517,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0507Y1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0507Y1TS Token\",\n \"symbol\": \"SQR\",\n \"decimals\": 18\n },\n \"networkId\": 976517,\n \"redFlags\": [],\n \"rpc\": [\"https://976517.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0507y1ts/testnet/rpc\"],\n \"shortName\": \"QR0507Y1TS\",\n \"slug\": \"qr0507y1ts\",\n \"testnet\": true\n};\n\nvar c978657 = {\n \"chain\": \"treasure\",\n \"chainId\": 978657,\n \"explorers\": [{\n \"name\": \"treasurescan\",\n \"url\": \"https://testnet.treasurescan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://Qmd532nWBVgUJy8m9ajGKwb2oaFPdnB7Xngepge2sarNBm\",\n \"width\": 24,\n \"height\": 24,\n \"format\": \"svg\"\n }\n }, {\n \"name\": \"Treasurescan\",\n \"url\": \"https://testnet.treasurescan.io/\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbzZk23owb7grDEbEJLuxgUAqQVcHmdjsEkkCD7E9C5R9/Treasure_Primary_Icon%20-%20Karel%20Vuong.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://portal.treasure.lol/faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQYRpJAMyPt1DKz1iAuseX3puBZYmdGgFeaZCFDPhixXp\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://portal.treasure.lol\",\n \"name\": \"Treasure Ruby\",\n \"nativeCurrency\": {\n \"name\": \"Testnet MAGIC\",\n \"symbol\": \"MAGIC\",\n \"decimals\": 18\n },\n \"networkId\": 978657,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://portal.treasure.lol/bridge\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://978657.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.treasure.lol/http\", \"wss://rpc-testnet.treasure.lol/ws\"],\n \"shortName\": \"MAGIC\",\n \"slip44\": 1,\n \"slug\": \"treasure-ruby\",\n \"testnet\": true\n};\n\nvar c978993 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 978993,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0318T1TS Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QR0318T1TS Testnet Token\",\n \"symbol\": \"OSF\",\n \"decimals\": 18\n },\n \"networkId\": 978993,\n \"redFlags\": [],\n \"rpc\": [\"https://978993.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0318t1ts/testnet/rpc\"],\n \"shortName\": \"QR0318T1TS Testnet\",\n \"slug\": \"qr0318t1ts-testnet\",\n \"testnet\": true\n};\n\nvar c980892 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 980892,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0530T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0530T1TS Token\",\n \"symbol\": \"OXQ\",\n \"decimals\": 18\n },\n \"networkId\": 980892,\n \"redFlags\": [],\n \"rpc\": [\"https://980892.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0530t1ts/testnet/rpc\"],\n \"shortName\": \"QR0530T1TS\",\n \"slug\": \"qr0530t1ts\",\n \"testnet\": true\n};\n\nvar c982558 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 982558,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0429T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0429T1TS Token\",\n \"symbol\": \"EXT\",\n \"decimals\": 18\n },\n \"networkId\": 982558,\n \"redFlags\": [],\n \"rpc\": [\"https://982558.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0429t1ts/testnet/rpc\"],\n \"shortName\": \"QR0429T1TS\",\n \"slug\": \"qr0429t1ts\",\n \"testnet\": true\n};\n\nvar c984122 = {\n \"chain\": \"Forma\",\n \"chainId\": 984122,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.forma.art\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQkjcadjAEefa4HLG26pKFvCaNZeZ7wWNxMkCVarW9tiU\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://forma.art\",\n \"name\": \"Forma\",\n \"nativeCurrency\": {\n \"name\": \"TIA\",\n \"symbol\": \"TIA\",\n \"decimals\": 18\n },\n \"networkId\": 984122,\n \"rpc\": [\"https://984122.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.forma.art\"],\n \"shortName\": \"forma\",\n \"slug\": \"forma\",\n \"testnet\": false\n};\n\nvar c984123 = {\n \"chain\": \"Forma\",\n \"chainId\": 984123,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.sketchpad-1.forma.art\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQkjcadjAEefa4HLG26pKFvCaNZeZ7wWNxMkCVarW9tiU\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://forma.art\",\n \"name\": \"Forma Sketchpad\",\n \"nativeCurrency\": {\n \"name\": \"TIA\",\n \"symbol\": \"TIA\",\n \"decimals\": 18\n },\n \"networkId\": 984123,\n \"rpc\": [\"https://984123.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.sketchpad-1.forma.art\"],\n \"shortName\": \"sketchpad\",\n \"slug\": \"forma-sketchpad\",\n \"testnet\": false\n};\n\nvar c988207 = {\n \"chain\": \"Ecrox Chain\",\n \"chainId\": 988207,\n \"explorers\": [{\n \"name\": \"Ecrox Chain Explorer\",\n \"url\": \"https://ecroxscan.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreibnqdlwgotu4hwx6oeu4ye3huobr3eaiuvv55n5tolyxya2q7edmq\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ecroxcoin.io/\",\n \"name\": \"Ecrox Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ECROX COIN\",\n \"symbol\": \"ECROX\",\n \"decimals\": 18\n },\n \"networkId\": 988207,\n \"rpc\": [\"https://988207.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.ecroxscan.com/\"],\n \"shortName\": \"ecrox\",\n \"slug\": \"ecrox-chain\",\n \"testnet\": false\n};\n\nvar c991424 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 991424,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0213Y1S\",\n \"nativeCurrency\": {\n \"name\": \"QR0213Y1S Token\",\n \"symbol\": \"GCH\",\n \"decimals\": 18\n },\n \"networkId\": 991424,\n \"redFlags\": [],\n \"rpc\": [\"https://991424.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0213y1s/testnet/rpc\"],\n \"shortName\": \"QR0213Y1S\",\n \"slug\": \"qr0213y1s\",\n \"testnet\": true\n};\n\nvar c993535 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 993535,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \".svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qr1120y1\",\n \"nativeCurrency\": {\n \"name\": \"qr1120y1 Token\",\n \"symbol\": \"LMK\",\n \"decimals\": 18\n },\n \"networkId\": 993535,\n \"redFlags\": [],\n \"rpc\": [\"https://993535.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr1120y1/testnet/rpc\"],\n \"shortName\": \"qr1120y1\",\n \"slug\": \"qr1120y1\",\n \"testnet\": true\n};\n\nvar c994504 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 994504,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"qr0523y1ts\",\n \"nativeCurrency\": {\n \"name\": \"qr0523y1ts Token\",\n \"symbol\": \"QHZ\",\n \"decimals\": 18\n },\n \"networkId\": 994504,\n \"redFlags\": [],\n \"rpc\": [\"https://994504.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0523y1ts/testnet/rpc\"],\n \"shortName\": \"qr0523y1ts\",\n \"slug\": \"qr0523y1ts\",\n \"testnet\": true\n};\n\nvar c995201 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 995201,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0426T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0426T1TS Token\",\n \"symbol\": \"XOF\",\n \"decimals\": 18\n },\n \"networkId\": 995201,\n \"redFlags\": [],\n \"rpc\": [\"https://995201.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0426t1ts/testnet/rpc\"],\n \"shortName\": \"QR0426T1TS\",\n \"slug\": \"qr0426t1ts\",\n \"testnet\": true\n};\n\nvar c996699 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 996699,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0521T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0521T1TS Token\",\n \"symbol\": \"ATH\",\n \"decimals\": 18\n },\n \"networkId\": 996699,\n \"redFlags\": [],\n \"rpc\": [\"https://996699.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0521t1ts/testnet/rpc\"],\n \"shortName\": \"QR0521T1TS\",\n \"slug\": \"qr0521t1ts\",\n \"testnet\": true\n};\n\nvar c998899 = {\n \"chain\": \"Supernet Testnet\",\n \"chainId\": 998899,\n \"explorers\": [{\n \"name\": \"supernet-testnet-explorer\",\n \"url\": \"https://testnet-explorer.supernet.chaingames.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.chaingames.io\"],\n \"name\": \"Supernet Testnet\",\n \"nativeCurrency\": {\n \"name\": \"CHAIN\",\n \"symbol\": \"CHAIN\",\n \"decimals\": 18\n },\n \"networkId\": 998899,\n \"rpc\": [\"https://998899.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.supernet.chaingames.io/\"],\n \"shortName\": \"supernetchain\",\n \"slip44\": 1,\n \"slug\": \"supernet-testnet\",\n \"testnet\": true,\n \"title\": \"Supernet Testnet\"\n};\n\nvar c999511 = {\n \"chain\": \"Avalanche\",\n \"chainId\": 999511,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://images.ctfassets.net/9bazykntljf6/62CceHSYsRS4D9fgDSkLRB/877cb8f26954e1743ff535fd7fdaf78f/avacloud-placeholder.svg\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://avacloud.io\",\n \"name\": \"QR0227T1TS\",\n \"nativeCurrency\": {\n \"name\": \"QR0227T1TS Token\",\n \"symbol\": \"YFL\",\n \"decimals\": 18\n },\n \"networkId\": 999511,\n \"redFlags\": [],\n \"rpc\": [\"https://999511.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/qr0227t1ts/testnet/rpc\"],\n \"shortName\": \"QR0227T1TS\",\n \"slug\": \"qr0227t1ts\",\n \"testnet\": true\n};\n\nvar c999999 = {\n \"chain\": \"AmChain\",\n \"chainId\": 999999,\n \"explorers\": [{\n \"name\": \"AMCAmChain explorer\",\n \"url\": \"https://explorer.amchain.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://Qmb6VAhhtaJmdaW1j7PAjxaLju1V24PPDFBdXtebyTSfsZ\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hewe.io/\",\n \"name\": \"AmChain\",\n \"nativeCurrency\": {\n \"name\": \"AMC\",\n \"symbol\": \"AMC\",\n \"decimals\": 18\n },\n \"networkId\": 999999,\n \"rpc\": [\"https://999999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node1.amchain.net\"],\n \"shortName\": \"AMC\",\n \"slug\": \"amchain\",\n \"testnet\": false,\n \"title\": \"AMC\"\n};\n\nvar c1100789 = {\n \"chain\": \"NetMind\",\n \"chainId\": 1100789,\n \"explorers\": [{\n \"name\": \"NetMind Testnet Explorer\",\n \"url\": \"https://testbrower.protago-dev.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQNipd6uen7sm7HZXGbqhcSVkUXxu3Tp6c3BoeFpvmywp\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQNipd6uen7sm7HZXGbqhcSVkUXxu3Tp6c3BoeFpvmywp\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://netmind.ai\",\n \"name\": \"Netmind Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"NMT\",\n \"symbol\": \"NMT\",\n \"decimals\": 18\n },\n \"networkId\": 1100789,\n \"rpc\": [\"https://1100789.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testblock.protago-dev.com\"],\n \"shortName\": \"nmtTest\",\n \"slug\": \"netmind-chain-testnet\",\n \"testnet\": true,\n \"title\": \"NetMind Chain Testnet\"\n};\n\nvar c1127469 = {\n \"chain\": \"TILTYARD\",\n \"chainId\": 1127469,\n \"explorers\": [{\n \"name\": \"TILTYARD Explorer\",\n \"url\": \"http://testnet-explorer.tiltyard.gg\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"name\": \"Tiltyard Subnet\",\n \"nativeCurrency\": {\n \"name\": \"Tiltyard Token\",\n \"symbol\": \"TILTG\",\n \"decimals\": 18\n },\n \"networkId\": 1127469,\n \"rpc\": [\"https://1127469.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://subnets.avax.network/tiltyard/testnet/rpc\"],\n \"shortName\": \"tiltyard\",\n \"slug\": \"tiltyard-subnet\",\n \"testnet\": true\n};\n\nvar c1261120 = {\n \"chain\": \"ETH\",\n \"chainId\": 1261120,\n \"explorers\": [{\n \"name\": \"Blockscout zKatana chain explorer\",\n \"url\": \"https://zkatana.blockscout.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Startale zKatana chain explorer\",\n \"url\": \"https://zkatana.explorer.startale.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://astar.network\",\n \"name\": \"zKatana\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1261120,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://portal.astar.network\"\n }, {\n \"url\": \"https://bridge.zkatana.gelato.digital\"\n }]\n },\n \"rpc\": [\"https://1261120.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.zkatana.gelato.digital\", \"https://rpc.startale.com/zkatana\", \"https://astar-zkatana.drpc.org\", \"wss://astar-zkatana.drpc.org\"],\n \"shortName\": \"azktn\",\n \"slug\": \"zkatana\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Astar zkEVM Testnet zKatana\"\n};\n\nvar c1313114 = {\n \"chain\": \"ETHO\",\n \"chainId\": 1313114,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://explorer.ethoprotocol.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ethoprotocol.com\",\n \"name\": \"Etho Protocol\",\n \"nativeCurrency\": {\n \"name\": \"Etho Protocol\",\n \"symbol\": \"ETHO\",\n \"decimals\": 18\n },\n \"networkId\": 1313114,\n \"rpc\": [\"https://1313114.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ethoprotocol.com\"],\n \"shortName\": \"etho\",\n \"slip44\": 1313114,\n \"slug\": \"etho-protocol\",\n \"testnet\": false\n};\n\nvar c1313500 = {\n \"chain\": \"XERO\",\n \"chainId\": 1313500,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://xerom.org\",\n \"name\": \"Xerom\",\n \"nativeCurrency\": {\n \"name\": \"Xerom Ether\",\n \"symbol\": \"XERO\",\n \"decimals\": 18\n },\n \"networkId\": 1313500,\n \"rpc\": [\"https://1313500.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.xerom.org\"],\n \"shortName\": \"xero\",\n \"slug\": \"xerom\",\n \"testnet\": false\n};\n\nvar c1337702 = {\n \"chain\": \"ETH\",\n \"chainId\": 1337702,\n \"explorers\": [{\n \"name\": \"kintsugi explorer\",\n \"url\": \"https://explorer.kintsugi.themerge.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=1337702&address=${ADDRESS}\", \"https://faucet.kintsugi.themerge.dev\"],\n \"infoURL\": \"https://kintsugi.themerge.dev/\",\n \"name\": \"Kintsugi\",\n \"nativeCurrency\": {\n \"name\": \"kintsugi Ethere\",\n \"symbol\": \"kiETH\",\n \"decimals\": 18\n },\n \"networkId\": 1337702,\n \"rpc\": [\"https://1337702.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kintsugi.themerge.dev\"],\n \"shortName\": \"kintsugi\",\n \"slug\": \"kintsugi\",\n \"testnet\": true,\n \"title\": \"Kintsugi merge testnet\"\n};\n\nvar c1337802 = {\n \"chain\": \"ETH\",\n \"chainId\": 1337802,\n \"explorers\": [{\n \"name\": \"Kiln Explorer\",\n \"url\": \"https://explorer.kiln.themerge.dev\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.kiln.themerge.dev\", \"https://kiln-faucet.pk910.de\", \"https://kilnfaucet.com\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://kiln.themerge.dev/\",\n \"name\": \"Kiln\",\n \"nativeCurrency\": {\n \"name\": \"Testnet ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1337802,\n \"redFlags\": [],\n \"rpc\": [\"https://1337802.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.kiln.themerge.dev\"],\n \"shortName\": \"kiln\",\n \"slug\": \"kiln\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c1337803 = {\n \"chain\": \"ETH\",\n \"chainId\": 1337803,\n \"explorers\": [{\n \"name\": \"Zhejiang Explorer\",\n \"url\": \"https://zhejiang.beaconcha.in\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.zhejiang.ethpandaops.io\", \"https://zhejiang-faucet.pk910.de\"],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zhejiang.ethpandaops.io\",\n \"name\": \"Zhejiang\",\n \"nativeCurrency\": {\n \"name\": \"Testnet ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1337803,\n \"rpc\": [\"https://1337803.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.zhejiang.ethpandaops.io\"],\n \"shortName\": \"zhejiang\",\n \"slug\": \"zhejiang\",\n \"testnet\": true\n};\n\nvar c1398243 = {\n \"chain\": \"Automata Testnet\",\n \"chainId\": 1398243,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW7ugm31MRdhjGtimzWMK5N4g5L84tSyKMpZQYk6N9KvJ\",\n \"width\": 1676,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ata.network\",\n \"name\": \"Automata Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1398243,\n \"rpc\": [],\n \"shortName\": \"automatatest\",\n \"slug\": \"automata-testnet\",\n \"testnet\": true\n};\n\nvar c1440002 = {\n \"chain\": \"XRPL\",\n \"chainId\": 1440002,\n \"explorers\": [{\n \"name\": \"XRP Ledger Explorer\",\n \"url\": \"https://evm-sidechain.xrpl.org/\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreidmgxjwjircegjkvysgz25b2ukw6h7axoirkxv6idupzzqsdrljgy\",\n \"width\": 780,\n \"height\": 680,\n \"format\": \"png\"\n },\n \"name\": \"XRP Ledger EVM Devnet Sidechain\",\n \"nativeCurrency\": {\n \"name\": \"XRP\",\n \"symbol\": \"XRP\",\n \"decimals\": 18\n },\n \"networkId\": 1440002,\n \"redFlags\": [],\n \"rpc\": [\"https://1440002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-evm-sidechain.xrpl.org\"],\n \"shortName\": \"XRPL-EVM-Devnet-Sidechain\",\n \"slug\": \"xrp-ledger-evm-devnet-sidechain\",\n \"testnet\": true\n};\n\nvar c1612127 = {\n \"chain\": \"ETH\",\n \"chainId\": 1612127,\n \"explorers\": [{\n \"name\": \"PlayFi Block Explorer\",\n \"url\": \"https://albireo-explorer.playfi.ai\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.playfi.ai/\",\n \"name\": \"PlayFi Albireo Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1612127,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://portal.playfi.ai/bridge\"\n }]\n },\n \"rpc\": [\"https://1612127.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://albireo-rpc.playfi.ai\"],\n \"shortName\": \"alberio\",\n \"slip44\": 1,\n \"slug\": \"playfi-albireo-testnet\",\n \"testnet\": true\n};\n\nvar c1637450 = {\n \"chain\": \"Xterio Testnet\",\n \"chainId\": 1637450,\n \"explorers\": [{\n \"name\": \"Xterio Testnet Explorer\",\n \"url\": \"https://testnet.xterscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://xter.io\",\n \"name\": \"Xterio Testnet\",\n \"nativeCurrency\": {\n \"name\": \"tBNB\",\n \"symbol\": \"tBNB\",\n \"decimals\": 18\n },\n \"networkId\": 1637450,\n \"rpc\": [\"https://1637450.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://xterio-testnet.alt.technology\"],\n \"shortName\": \"xteriotest\",\n \"slug\": \"xterio-testnet\",\n \"testnet\": true\n};\n\nvar c1731313 = {\n \"chain\": \"ETH\",\n \"chainId\": 1731313,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"Turkey Demo Dev\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1731313,\n \"rpc\": [\"https://1731313.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devchain-poa.huabeizhenxuan.com\"],\n \"shortName\": \"TDD\",\n \"slug\": \"turkey-demo-dev\",\n \"testnet\": false\n};\n\nvar c2021398 = {\n \"chain\": \"DeBank\",\n \"chainId\": 2021398,\n \"explorers\": [{\n \"name\": \"DeBank Chain Explorer\",\n \"url\": \"https://explorer.testnet.debank.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW9pBps8WHRRWmyXhjLZrjZJUe8F48hUu7z98bu2RVsjN\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://debank.com\",\n \"name\": \"DeBank Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DeBank USD\",\n \"symbol\": \"USD\",\n \"decimals\": 18\n },\n \"networkId\": 2021398,\n \"rpc\": [\"https://2021398.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://rpc.testnet.debank.com\"],\n \"shortName\": \"dbk\",\n \"slip44\": 1,\n \"slug\": \"debank-testnet\",\n \"testnet\": true\n};\n\nvar c2099156 = {\n \"chain\": \"Plian\",\n \"chainId\": 2099156,\n \"explorers\": [{\n \"name\": \"piscan\",\n \"url\": \"https://piscan.plian.org/pchain\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://plian.org/\",\n \"name\": \"Plian Mainnet Main\",\n \"nativeCurrency\": {\n \"name\": \"Plian Token\",\n \"symbol\": \"PI\",\n \"decimals\": 18\n },\n \"networkId\": 2099156,\n \"rpc\": [\"https://2099156.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.plian.io/pchain\"],\n \"shortName\": \"plian-mainnet\",\n \"slug\": \"plian-main\",\n \"testnet\": false\n};\n\nvar c2125031 = {\n \"chain\": \"Optimism\",\n \"chainId\": 2125031,\n \"explorers\": [{\n \"name\": \"Bubs Sepolia Explorer\",\n \"url\": \"https://bubs-sepolia.explorer.caldera.xyz/\",\n \"standard\": \"EIP1559\",\n \"icon\": {\n \"url\": \"https://raw.githubusercontent.com/twitter/twemoji/d94f4cf793e6d5ca592aa00f58a88f6a4229ad43/assets/svg/1f9cb.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://bubs-sepolia.hub.caldera.xyz/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://raw.githubusercontent.com/twitter/twemoji/d94f4cf793e6d5ca592aa00f58a88f6a4229ad43/assets/svg/1f9cb.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://bubs-sepolia.hub.caldera.xyz/\",\n \"name\": \"Bubs Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2125031,\n \"redFlags\": [],\n \"rpc\": [\"https://2125031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://bubs-sepolia.rpc.caldera.xyz/http\", \"wss://bubs-sepolia.rpc.caldera.xyz/ws\"],\n \"shortName\": \"Bubs\",\n \"slug\": \"bubs-testnet-bubs\",\n \"testnet\": true\n};\n\nvar c2203181 = {\n \"chain\": \"PlatON\",\n \"chainId\": 2203181,\n \"explorers\": [{\n \"name\": \"PlatON explorer\",\n \"url\": \"https://devnetscan.platon.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://devnet2faucet.platon.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmT7PSXBiVBma6E15hNkivmstqLu3JSnG1jXN5pTmcCGRC\",\n \"width\": 180,\n \"height\": 180,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.platon.network\",\n \"name\": \"PlatON Dev Testnet Deprecated\",\n \"nativeCurrency\": {\n \"name\": \"LAT\",\n \"symbol\": \"lat\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://2203181.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnetopenapi2.platon.network/rpc\", \"wss://devnetopenapi2.platon.network/ws\"],\n \"shortName\": \"platondev\",\n \"slip44\": 1,\n \"slug\": \"platon-dev-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c2206132 = {\n \"chain\": \"PlatON\",\n \"chainId\": 2206132,\n \"explorers\": [{\n \"name\": \"PlatON explorer\",\n \"url\": \"https://devnet2scan.platon.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://devnet2faucet.platon.network/faucet\"],\n \"icon\": {\n \"url\": \"ipfs://QmT7PSXBiVBma6E15hNkivmstqLu3JSnG1jXN5pTmcCGRC\",\n \"width\": 180,\n \"height\": 180,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.platon.network\",\n \"name\": \"PlatON Dev Testnet2\",\n \"nativeCurrency\": {\n \"name\": \"LAT\",\n \"symbol\": \"lat\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://2206132.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet2openapi.platon.network/rpc\", \"wss://devnet2openapi.platon.network/ws\"],\n \"shortName\": \"platondev2\",\n \"slip44\": 1,\n \"slug\": \"platon-dev-testnet2\",\n \"testnet\": true\n};\n\nvar c2611555 = {\n \"chain\": \"DPU\",\n \"chainId\": 2611555,\n \"explorers\": [],\n \"faucets\": [],\n \"name\": \"DPU Chain\",\n \"nativeCurrency\": {\n \"name\": \"DGC\",\n \"symbol\": \"DGC\",\n \"decimals\": 18\n },\n \"networkId\": 2611555,\n \"rpc\": [\"https://2611555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sc-rpc.dpu.ac.th\"],\n \"shortName\": \"DPU\",\n \"slug\": \"dpu-chain\",\n \"testnet\": false\n};\n\nvar c3132023 = {\n \"chain\": \"Sahara\",\n \"chainId\": 3132023,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQXCm6w8xvWMkksTQYw3So14VCbwHP6chH41v6ysXdSwF\",\n \"width\": 608,\n \"height\": 608,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://saharalabs.ai\",\n \"name\": \"SaharaAI Network\",\n \"nativeCurrency\": {\n \"name\": \"SAHARA\",\n \"symbol\": \"SAH\",\n \"decimals\": 18\n },\n \"networkId\": 3132023,\n \"rpc\": [\"https://3132023.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.saharalabs.ai\"],\n \"shortName\": \"sahara\",\n \"slug\": \"saharaai-network\",\n \"testnet\": false\n};\n\nvar c3141592 = {\n \"chain\": \"FIL\",\n \"chainId\": 3141592,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.butterfly.fildev.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmS9r9XQkMHVomWcSBNDkKkz9n87h9bH9ssabeiKZtANoU\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filecoin.io\",\n \"name\": \"Filecoin - Butterfly testnet\",\n \"nativeCurrency\": {\n \"name\": \"testnet filecoin\",\n \"symbol\": \"tFIL\",\n \"decimals\": 18\n },\n \"networkId\": 3141592,\n \"rpc\": [],\n \"shortName\": \"filecoin-butterfly\",\n \"slip44\": 1,\n \"slug\": \"filecoin-butterfly-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c3397901 = {\n \"chain\": \"ETH\",\n \"chainId\": 3397901,\n \"explorers\": [{\n \"name\": \"Funki Sepolia Sandbox Explorer\",\n \"url\": \"https://sepolia-sandbox.funkichain.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWLjmfbjx2qZC39GCFXDzt72NXVTtDBVzVSq6rwaquyp3\",\n \"width\": 1200,\n \"height\": 410,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://funkichain.com\",\n \"name\": \"Funki Sepolia Sandbox\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3397901,\n \"rpc\": [\"https://3397901.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://funki-testnet.alt.technology\"],\n \"shortName\": \"funkisepolia\",\n \"slug\": \"funki-sepolia-sandbox\",\n \"testnet\": true\n};\n\nvar c3441005 = {\n \"chain\": \"Manta Pacific\",\n \"chainId\": 3441005,\n \"explorers\": [{\n \"name\": \"manta-testnet Explorer\",\n \"url\": \"https://manta-testnet.calderaexplorer.xyz\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTckcVTViRZ3NqT36MTt8AvgBSmudrbgU3pi8AaNtthoV\",\n \"width\": 834,\n \"height\": 834,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://manta-testnet.caldera.dev/\",\n \"name\": \"Manta Pacific Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Manta\",\n \"symbol\": \"MANTA\",\n \"decimals\": 18\n },\n \"networkId\": 3441005,\n \"rpc\": [\"https://3441005.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://manta-testnet.calderachain.xyz/http\", \"https://manta-pacific-testnet.drpc.org\", \"wss://manta-pacific-testnet.drpc.org\"],\n \"shortName\": \"mantaTestnet\",\n \"slip44\": 1,\n \"slug\": \"manta-pacific-testnet\",\n \"testnet\": true\n};\n\nvar c3441006 = {\n \"chain\": \"Manta Pacific\",\n \"chainId\": 3441006,\n \"explorers\": [{\n \"name\": \"manta-testnet Explorer\",\n \"url\": \"https://pacific-explorer.sepolia-testnet.manta.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmTckcVTViRZ3NqT36MTt8AvgBSmudrbgU3pi8AaNtthoV\",\n \"width\": 834,\n \"height\": 834,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://manta-testnet.caldera.dev/\",\n \"name\": \"Manta Pacific Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 3441006,\n \"rpc\": [\"https://3441006.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pacific-rpc.sepolia-testnet.manta.network/http\"],\n \"shortName\": \"mantaSepoliaTestnet\",\n \"slip44\": 1,\n \"slug\": \"manta-pacific-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c4000003 = {\n \"chain\": \"ETH\",\n \"chainId\": 4000003,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://zero-explorer.alt.technology\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmcEfZJU7NMn9ycTAcEooQgGNfa2nYBToSUZHdFCFadcjb\",\n \"width\": 1080,\n \"height\": 1025,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://altlayer.io\",\n \"name\": \"AltLayer Zero Gas Network\",\n \"nativeCurrency\": {\n \"name\": \"ZERO\",\n \"symbol\": \"ZERO\",\n \"decimals\": 18\n },\n \"networkId\": 4000003,\n \"rpc\": [\"https://4000003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://zero.alt.technology\"],\n \"shortName\": \"alt-zerogas\",\n \"slug\": \"altlayer-zero-gas-network\",\n \"testnet\": false\n};\n\nvar c4281033 = {\n \"chain\": \"WCal\",\n \"chainId\": 4281033,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://caldera.xyz/\",\n \"name\": \"Worlds Caldera\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 4281033,\n \"rpc\": [\"https://4281033.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://worlds-test.calderachain.xyz/http\"],\n \"shortName\": \"worldscal\",\n \"slug\": \"worlds-caldera\",\n \"testnet\": true\n};\n\nvar c5112023 = {\n \"chain\": \"NumBlock\",\n \"chainId\": 5112023,\n \"explorers\": [{\n \"name\": \"NumBlock Explorer\",\n \"url\": \"https://mainnet.numblock.org\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmRY72AKDaUwxgPukdfSBj19NfMrmsSm48mdBe9zJcW3jB\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRY72AKDaUwxgPukdfSBj19NfMrmsSm48mdBe9zJcW3jB\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://numblock.org\",\n \"name\": \"NumBlock Chain\",\n \"nativeCurrency\": {\n \"name\": \"NUMB Token\",\n \"symbol\": \"NUMB\",\n \"decimals\": 18\n },\n \"networkId\": 5112023,\n \"rpc\": [\"https://5112023.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-mainnet.numblock.org\"],\n \"shortName\": \"NUMB\",\n \"slug\": \"numblock-chain\",\n \"testnet\": false\n};\n\nvar c5151706 = {\n \"chain\": \"ETH\",\n \"chainId\": 5151706,\n \"explorers\": [{\n \"name\": \"Explorer\",\n \"url\": \"https://explorer.lootchain.com/\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://adventuregold.org/\",\n \"name\": \"Loot Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"AGLD\",\n \"symbol\": \"AGLD\",\n \"decimals\": 18\n },\n \"networkId\": 5151706,\n \"redFlags\": [],\n \"rpc\": [\"https://5151706.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.lootchain.com/http \"],\n \"shortName\": \"AGLD\",\n \"slug\": \"loot-chain\",\n \"testnet\": true\n};\n\nvar c5167003 = {\n \"chain\": \"MXC zkEVM\",\n \"chainId\": 5167003,\n \"explorers\": [{\n \"name\": \"MXC Wannsee zkEVM Testnet\",\n \"url\": \"https://wannsee-explorer.mxc.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdGCthKA11K9kCZJdbTP5WPAyq1wiRZ3REn6KG58MrWaE\",\n \"width\": 159,\n \"height\": 159,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://wannsee.mxc.com/docs/intro\",\n \"name\": \"MXC Wannsee zkEVM Testnet\",\n \"nativeCurrency\": {\n \"name\": \"MXC Wannsee zkEVM Testnet\",\n \"symbol\": \"MXC\",\n \"decimals\": 18\n },\n \"networkId\": 5167003,\n \"rpc\": [\"https://5167003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://wannsee-rpc.mxc.com\"],\n \"shortName\": \"MXCdiscontinued\",\n \"slip44\": 1,\n \"slug\": \"mxc-wannsee-zkevm-testnet\",\n \"testnet\": true\n};\n\nvar c5167004 = {\n \"chain\": \"MXC zkEVM\",\n \"chainId\": 5167004,\n \"explorers\": [{\n \"name\": \"Moonchain Geneva Testnet\",\n \"url\": \"https://geneva-explorer.moonchain.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdGCthKA11K9kCZJdbTP5WPAyq1wiRZ3REn6KG58MrWaE\",\n \"width\": 159,\n \"height\": 159,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://doc.mxc.com/docs/intro\",\n \"name\": \"Moonchain Geneva Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Moonchain Geneva Testnet\",\n \"symbol\": \"MXC\",\n \"decimals\": 18\n },\n \"networkId\": 5167004,\n \"rpc\": [\"https://5167004.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://geneva-rpc.moonchain.com\"],\n \"shortName\": \"MXC\",\n \"slip44\": 1,\n \"slug\": \"moonchain-geneva-testnet\",\n \"testnet\": true\n};\n\nvar c5201420 = {\n \"chain\": \"Electroneum\",\n \"chainId\": 5201420,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://blockexplorer.thesecurityteam.rocks\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVgFqXA3kkCrVYGcWFF7Mhx8JUSe9vSCauNamuKWSvCym\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmVgFqXA3kkCrVYGcWFF7Mhx8JUSe9vSCauNamuKWSvCym\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://electroneum.com\",\n \"name\": \"Electroneum Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Electroneum\",\n \"symbol\": \"ETN\",\n \"decimals\": 18\n },\n \"networkId\": 5201420,\n \"rpc\": [\"https://5201420.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.electroneum.com\"],\n \"shortName\": \"etn-testnet\",\n \"slip44\": 1,\n \"slug\": \"electroneum-testnet\",\n \"testnet\": true\n};\n\nvar c5318008 = {\n \"chain\": \"REACT\",\n \"chainId\": 5318008,\n \"explorers\": [{\n \"name\": \"reactscan\",\n \"url\": \"https://kopli.reactscan.net\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://dev.reactive.network/docs/kopli-testnet#faucet\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmZewyubd3zC17pmmGbjix6gFsppYpLsP3ntu3aB7rCJmW\",\n \"width\": 800,\n \"height\": 800,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://reactive.network\",\n \"name\": \"Reactive Kopli\",\n \"nativeCurrency\": {\n \"name\": \"Kopli React\",\n \"symbol\": \"REACT\",\n \"decimals\": 18\n },\n \"networkId\": 5318008,\n \"rpc\": [\"https://5318008.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://kopli-rpc.reactive.network\", \"http://kopli-rpc.rkt.ink\"],\n \"shortName\": \"kreact\",\n \"slug\": \"reactive-kopli\",\n \"testnet\": true,\n \"title\": \"Reactive Network Testnet Kopli\"\n};\n\nvar c5555555 = {\n \"chain\": \"Imversed\",\n \"chainId\": 5555555,\n \"explorers\": [{\n \"name\": \"Imversed EVM explorer (Blockscout)\",\n \"url\": \"https://txe.imversed.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYwvmJZ1bgTdiZUKXk4SifTpTj286CkZjMCshUyJuBFH1\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Imversed Cosmos Explorer (Big Dipper)\",\n \"url\": \"https://tex-c.imversed.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYwvmJZ1bgTdiZUKXk4SifTpTj286CkZjMCshUyJuBFH1\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYwvmJZ1bgTdiZUKXk4SifTpTj286CkZjMCshUyJuBFH1\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://imversed.com\",\n \"name\": \"Imversed Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Imversed Token\",\n \"symbol\": \"IMV\",\n \"decimals\": 18\n },\n \"networkId\": 5555555,\n \"rpc\": [\"https://5555555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.imversed.network\", \"https://ws-jsonrpc.imversed.network\"],\n \"shortName\": \"imversed\",\n \"slug\": \"imversed\",\n \"testnet\": false\n};\n\nvar c5555558 = {\n \"chain\": \"Imversed\",\n \"chainId\": 5555558,\n \"explorers\": [{\n \"name\": \"Imversed EVM Explorer (Blockscout)\",\n \"url\": \"https://txe-test.imversed.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYwvmJZ1bgTdiZUKXk4SifTpTj286CkZjMCshUyJuBFH1\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"Imversed Cosmos Explorer (Big Dipper)\",\n \"url\": \"https://tex-t.imversed.com\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmYwvmJZ1bgTdiZUKXk4SifTpTj286CkZjMCshUyJuBFH1\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYwvmJZ1bgTdiZUKXk4SifTpTj286CkZjMCshUyJuBFH1\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://imversed.com\",\n \"name\": \"Imversed Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Imversed Token\",\n \"symbol\": \"IMV\",\n \"decimals\": 18\n },\n \"networkId\": 5555558,\n \"rpc\": [\"https://5555558.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc-test.imversed.network\", \"https://ws-jsonrpc-test.imversed.network\"],\n \"shortName\": \"imversed-testnet\",\n \"slip44\": 1,\n \"slug\": \"imversed-testnet\",\n \"testnet\": true\n};\n\nvar c6038361 = {\n \"chain\": \"ETH\",\n \"chainId\": 6038361,\n \"explorers\": [{\n \"name\": \"Blockscout zKyoto explorer\",\n \"url\": \"https://astar-zkyoto.blockscout.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Astar zkEVM Testnet zKyoto\",\n \"url\": \"https://zkyoto.explorer.startale.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://astar.network\",\n \"name\": \"Astar zKyoto\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 6038361,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://6038361.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.startale.com/zkyoto\", \"https://rpc.zkyoto.gelato.digital\"],\n \"shortName\": \"azkyt\",\n \"slug\": \"astar-zkyoto\",\n \"testnet\": true,\n \"title\": \"Astar zkEVM Testnet zKyoto\"\n};\n\nvar c6666665 = {\n \"chain\": \"Safe(AnWang)\",\n \"chainId\": 6666665,\n \"explorers\": [{\n \"name\": \"Safe(AnWang) Explorer\",\n \"url\": \"http://safe4.anwang.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmahJhdaLfGwBStQ9q9K4Mc73vLNqFV1otWCsT2ZKsMavv\",\n \"width\": 768,\n \"height\": 768,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmahJhdaLfGwBStQ9q9K4Mc73vLNqFV1otWCsT2ZKsMavv\",\n \"width\": 768,\n \"height\": 768,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.anwang.com\",\n \"name\": \"Safe(AnWang) Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SAFE(AnWang)\",\n \"symbol\": \"SAFE\",\n \"decimals\": 18\n },\n \"networkId\": 6666665,\n \"rpc\": [\"https://6666665.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.anwang.com\"],\n \"shortName\": \"SafeMainnet\",\n \"slug\": \"safe-anwang\",\n \"testnet\": false\n};\n\nvar c6666666 = {\n \"chain\": \"Safe(AnWang)\",\n \"chainId\": 6666666,\n \"explorers\": [{\n \"name\": \"Safe(AnWang) Testnet Explorer\",\n \"url\": \"http://safe4-testnet.anwang.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmahJhdaLfGwBStQ9q9K4Mc73vLNqFV1otWCsT2ZKsMavv\",\n \"width\": 768,\n \"height\": 768,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmahJhdaLfGwBStQ9q9K4Mc73vLNqFV1otWCsT2ZKsMavv\",\n \"width\": 768,\n \"height\": 768,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.anwang.com\",\n \"name\": \"Safe(AnWang) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SAFE(AnWang)\",\n \"symbol\": \"SAFE\",\n \"decimals\": 18\n },\n \"networkId\": 6666666,\n \"rpc\": [\"https://6666666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.anwang.com\"],\n \"shortName\": \"SafeTestnet\",\n \"slug\": \"safe-anwang-testnet\",\n \"testnet\": true\n};\n\nvar c7225878 = {\n \"chain\": \"Saakuru\",\n \"chainId\": 7225878,\n \"explorers\": [{\n \"name\": \"saakuru-explorer\",\n \"url\": \"https://explorer.saakuru.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmduEdtFobPpZWSc45MU6RKxZfTEzLux2z8ikHFhT8usqv\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://saakuru.network\",\n \"name\": \"Saakuru Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OAS\",\n \"symbol\": \"OAS\",\n \"decimals\": 18\n },\n \"networkId\": 7225878,\n \"rpc\": [\"https://7225878.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.saakuru.network\"],\n \"shortName\": \"saakuru\",\n \"slug\": \"saakuru\",\n \"testnet\": false\n};\n\nvar c7355310 = {\n \"chain\": \"VSL\",\n \"chainId\": 7355310,\n \"explorers\": [{\n \"name\": \"openvessel-mainnet\",\n \"url\": \"https://mainnet-explorer.openvessel.io\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeknNzGCZXQK7egwfwyxQan7Lw8bLnqYsyoEgEbDNCzJX\",\n \"width\": 600,\n \"height\": 529,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.openvessel.io\",\n \"name\": \"OpenVessel\",\n \"nativeCurrency\": {\n \"name\": \"Vessel ETH\",\n \"symbol\": \"VETH\",\n \"decimals\": 18\n },\n \"networkId\": 7355310,\n \"rpc\": [\"https://7355310.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-external.openvessel.io\"],\n \"shortName\": \"vsl\",\n \"slug\": \"openvessel\",\n \"testnet\": false\n};\n\nvar c7668378 = {\n \"chain\": \"QOM\",\n \"chainId\": 7668378,\n \"explorers\": [{\n \"name\": \"QL1 Testnet Explorer\",\n \"url\": \"https://testnet.qom.one\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmRc1kJ7AgcDL1BSoMYudatWHTrz27K6WNTwGifQb5V17D\",\n \"width\": 518,\n \"height\": 518,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.qom.one\"],\n \"icon\": {\n \"url\": \"ipfs://QmRc1kJ7AgcDL1BSoMYudatWHTrz27K6WNTwGifQb5V17D\",\n \"width\": 518,\n \"height\": 518,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://qom.one\",\n \"name\": \"QL1 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Shiba Predator\",\n \"symbol\": \"QOM\",\n \"decimals\": 18\n },\n \"networkId\": 7668378,\n \"rpc\": [\"https://7668378.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.qom.one\"],\n \"shortName\": \"tqom\",\n \"slip44\": 1,\n \"slug\": \"ql1-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c7762959 = {\n \"chain\": \"MUSIC\",\n \"chainId\": 7762959,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://musicoin.tw\",\n \"name\": \"Musicoin\",\n \"nativeCurrency\": {\n \"name\": \"Musicoin\",\n \"symbol\": \"MUSIC\",\n \"decimals\": 18\n },\n \"networkId\": 7762959,\n \"rpc\": [\"https://7762959.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mewapi.musicoin.tw\"],\n \"shortName\": \"music\",\n \"slip44\": 184,\n \"slug\": \"musicoin\",\n \"testnet\": false\n};\n\nvar c7777777 = {\n \"chain\": \"ETH\",\n \"chainId\": 7777777,\n \"explorers\": [{\n \"name\": \"Zora Network Explorer\",\n \"url\": \"https://explorer.zora.energy\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZ6qaRwTPFEZUspwMUjaxC6KhmzcELdRQcQzS3P72Dzts/Vector.svg\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://zora.energy\",\n \"name\": \"Zora\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 7777777,\n \"redFlags\": [],\n \"rpc\": [\"https://7777777.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.zora.energy/\"],\n \"shortName\": \"zora\",\n \"slug\": \"zora\",\n \"testnet\": false\n};\n\nvar c8007736 = {\n \"chain\": \"Plian\",\n \"chainId\": 8007736,\n \"explorers\": [{\n \"name\": \"piscan\",\n \"url\": \"https://piscan.plian.org/child_0\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://plian.org\",\n \"name\": \"Plian Mainnet Subchain 1\",\n \"nativeCurrency\": {\n \"name\": \"Plian Token\",\n \"symbol\": \"PI\",\n \"decimals\": 18\n },\n \"networkId\": 8007736,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-2099156\"\n },\n \"rpc\": [\"https://8007736.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.plian.io/child_0\"],\n \"shortName\": \"plian-mainnet-l2\",\n \"slug\": \"plian-subchain-1\",\n \"testnet\": false\n};\n\nvar c8008135 = {\n \"chain\": \"tFHE\",\n \"chainId\": 8008135,\n \"explorers\": [{\n \"name\": \"Fhenix Helium Explorer (Blockscout)\",\n \"url\": \"https://explorer.helium.fhenix.zone\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://get-helium.fhenix.zone\"],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://www.fhenix.io\",\n \"name\": \"Fhenix Helium\",\n \"nativeCurrency\": {\n \"name\": \"tFHE\",\n \"symbol\": \"tFHE\",\n \"decimals\": 18\n },\n \"networkId\": 8008135,\n \"rpc\": [\"https://8008135.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.helium.fhenix.zone\"],\n \"shortName\": \"fhe-helium\",\n \"slug\": \"fhenix-helium\",\n \"testnet\": false\n};\n\nvar c8080808 = {\n \"chain\": \"Hokum\",\n \"chainId\": 8080808,\n \"explorers\": [{\n \"name\": \"Hokum Explorer\",\n \"url\": \"https://explorer.hokum.gg\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmafrUmh1FD48WWQwk6pfW1Y7eA9VQTdpeL387Wt2JFrAd\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hokum.gg\",\n \"name\": \"Hokum\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 8080808,\n \"rpc\": [\"https://8080808.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.hokum.gg\"],\n \"shortName\": \"hokum\",\n \"slug\": \"hokum\",\n \"testnet\": false\n};\n\nvar c8601152 = {\n \"chain\": \"Waterfall Testnet8\",\n \"chainId\": 8601152,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.testnet8.waterfall.network\"],\n \"features\": [{\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmSDJPBKh9cLVL8UZ5KYwdwPyhD8bRWNb33jjt48wtu5Uc\",\n \"width\": 241,\n \"height\": 179,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://waterfall.network\",\n \"name\": \"Waterfall 8 Test Network\",\n \"nativeCurrency\": {\n \"name\": \"WATER\",\n \"symbol\": \"WATER\",\n \"decimals\": 18\n },\n \"networkId\": 8601152,\n \"rpc\": [\"https://8601152.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet8.waterfall.network/\"],\n \"shortName\": \"waterfall\",\n \"slug\": \"waterfall-8-test-network\",\n \"testnet\": true\n};\n\nvar c8794598 = {\n \"chain\": \"HAPchain\",\n \"chainId\": 8794598,\n \"explorers\": [{\n \"name\": \"HAP EVM Explorer (Blockscout)\",\n \"url\": \"https://blockscout.hap.land\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmQ4V9JC25yUrYk2kFJwmKguSsZBQvtGcg6q9zkDV8mkJW\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQ4V9JC25yUrYk2kFJwmKguSsZBQvtGcg6q9zkDV8mkJW\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hap.land\",\n \"name\": \"HAPchain\",\n \"nativeCurrency\": {\n \"name\": \"HAP\",\n \"symbol\": \"HAP\",\n \"decimals\": 18\n },\n \"networkId\": 8794598,\n \"rpc\": [\"https://8794598.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonrpc.hap.land\"],\n \"shortName\": \"hap\",\n \"slug\": \"hapchain\",\n \"testnet\": false\n};\n\nvar c8888881 = {\n \"chain\": \"Quarix\",\n \"chainId\": 8888881,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTw8TyeeNhUFWrck2WCiN17MaHRt5qzRBtaAvmz6L7qq7\",\n \"width\": 669,\n \"height\": 587,\n \"format\": \"png\"\n },\n \"name\": \"Quarix Testnet\",\n \"nativeCurrency\": {\n \"name\": \"QARE\",\n \"symbol\": \"QARE\",\n \"decimals\": 18\n },\n \"networkId\": 8888881,\n \"rpc\": [],\n \"shortName\": \"quarix-testnet\",\n \"slip44\": 1,\n \"slug\": \"quarix-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c8888888 = {\n \"chain\": \"Quarix\",\n \"chainId\": 8888888,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTw8TyeeNhUFWrck2WCiN17MaHRt5qzRBtaAvmz6L7qq7\",\n \"width\": 669,\n \"height\": 587,\n \"format\": \"png\"\n },\n \"name\": \"Quarix\",\n \"nativeCurrency\": {\n \"name\": \"QARE\",\n \"symbol\": \"QARE\",\n \"decimals\": 18\n },\n \"networkId\": 8888888,\n \"rpc\": [],\n \"shortName\": \"quarix\",\n \"slug\": \"quarix\",\n \"status\": \"incubating\",\n \"testnet\": false\n};\n\nvar c9322252 = {\n \"chain\": \"XCAP\",\n \"chainId\": 9322252,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://xcap-mainnet.explorer.xcap.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeTj6tfaw9qf9wnEUQh7PnCpNWyvm56e7kY35kANRWNxj\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xcap.network/\",\n \"name\": \"XCAP\",\n \"nativeCurrency\": {\n \"name\": \"Gas\",\n \"symbol\": \"GAS\",\n \"decimals\": 18\n },\n \"networkId\": 9322252,\n \"rpc\": [\"https://9322252.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://xcap-mainnet.relay.xcap.network/znzvh2ueyvm2yts5fv5gnul395jbkfb2/rpc1\"],\n \"shortName\": \"xcap\",\n \"slug\": \"xcap\",\n \"testnet\": false,\n \"title\": \"XCAP Mainnet\"\n};\n\nvar c9322253 = {\n \"chain\": \"XCAP\",\n \"chainId\": 9322253,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://xcap-milvine.explorer.xcap.network\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeTj6tfaw9qf9wnEUQh7PnCpNWyvm56e7kY35kANRWNxj\",\n \"width\": 1600,\n \"height\": 1600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xcap.network/\",\n \"name\": \"Milvine\",\n \"nativeCurrency\": {\n \"name\": \"Gas\",\n \"symbol\": \"GAS\",\n \"decimals\": 18\n },\n \"networkId\": 9322253,\n \"rpc\": [\"https://9322253.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://xcap-milvine.relay.xcap.network/zj5l55ftsgi027kz4nf14vs8d89inego/rpc1\"],\n \"shortName\": \"milv\",\n \"slug\": \"milvine\",\n \"testnet\": true,\n \"title\": \"XCAP Testnet Milvine\"\n};\n\nvar c10067275 = {\n \"chain\": \"Plian\",\n \"chainId\": 10067275,\n \"explorers\": [{\n \"name\": \"piscan\",\n \"url\": \"https://testnet.plian.org/child_test\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://plian.org/\",\n \"name\": \"Plian Testnet Subchain 1\",\n \"nativeCurrency\": {\n \"name\": \"Plian Token\",\n \"symbol\": \"TPI\",\n \"decimals\": 18\n },\n \"networkId\": 10067275,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-16658437\"\n },\n \"rpc\": [\"https://10067275.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.plian.io/child_test\"],\n \"shortName\": \"plian-testnet-l2\",\n \"slip44\": 1,\n \"slug\": \"plian-testnet-subchain-1\",\n \"testnet\": true\n};\n\nvar c10101010 = {\n \"chain\": \"SVRN\",\n \"chainId\": 10101010,\n \"explorers\": [{\n \"name\": \"Soverun\",\n \"url\": \"https://explorer.soverun.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.soverun.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmTYazUzgY9Nn2mCjWwFUSLy3dG6i2PvALpwCNQvx1zXyi\",\n \"width\": 1154,\n \"height\": 1154,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://soverun.com\",\n \"name\": \"Soverun Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Soverun\",\n \"symbol\": \"SVRN\",\n \"decimals\": 18\n },\n \"networkId\": 10101010,\n \"rpc\": [\"https://10101010.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.soverun.com\"],\n \"shortName\": \"SVRNm\",\n \"slug\": \"soverun\",\n \"testnet\": false\n};\n\nvar c10241025 = {\n \"chain\": \"ALIENX Hal\",\n \"chainId\": 10241025,\n \"explorers\": [{\n \"name\": \"Hal Explorer\",\n \"url\": \"https://hal-explorer.alienxchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmWAa7JayD8HCtAMXezzUNcUoi2Rikqpu2WmrHpFBmDEez\",\n \"width\": 480,\n \"height\": 480,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://alienxchain.io/home\",\n \"name\": \"ALIENX Hal Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ethereum\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 10241025,\n \"rpc\": [\"https://10241025.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hal-rpc.alienxchain.io/http\", \"https://hal.rpc.caldera.xyz/http\"],\n \"shortName\": \"ALIENXHal\",\n \"slug\": \"alienx-hal-testnet\",\n \"testnet\": true\n};\n\nvar c11155111 = {\n \"chain\": \"ETH\",\n \"chainId\": 11155111,\n \"explorers\": [{\n \"name\": \"etherscan-sepolia\",\n \"url\": \"https://sepolia.etherscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"otterscan-sepolia\",\n \"url\": \"https://sepolia.otterscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"http://fauceth.komputing.org?chain=11155111&address=${ADDRESS}\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/ethereum/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://sepolia.otterscan.io\",\n \"name\": \"Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 11155111,\n \"redFlags\": [],\n \"rpc\": [\"https://11155111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.infura.io/v3/${INFURA_API_KEY}\", \"wss://sepolia.infura.io/v3/${INFURA_API_KEY}\", \"https://rpc.sepolia.org\", \"https://rpc2.sepolia.org\", \"https://rpc-sepolia.rockx.com\", \"https://rpc.sepolia.ethpandaops.io\", \"https://sepolia.gateway.tenderly.co\", \"wss://sepolia.gateway.tenderly.co\", \"https://ethereum-sepolia-rpc.publicnode.com\", \"wss://ethereum-sepolia-rpc.publicnode.com\", \"https://sepolia.drpc.org\", \"wss://sepolia.drpc.org\"],\n \"shortName\": \"sep\",\n \"slip44\": 1,\n \"slug\": \"sepolia\",\n \"testnet\": true,\n \"title\": \"Ethereum Testnet Sepolia\"\n};\n\nvar c11155420 = {\n \"chain\": \"ETH\",\n \"chainId\": 11155420,\n \"explorers\": [{\n \"name\": \"opscout\",\n \"url\": \"https://optimism-sepolia.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://app.optimism.io/faucet\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9/optimism/512.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://optimism.io\",\n \"name\": \"OP Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 11155420,\n \"redFlags\": [],\n \"rpc\": [\"https://11155420.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.optimism.io\", \"https://optimism-sepolia.drpc.org\", \"wss://optimism-sepolia.drpc.org\"],\n \"shortName\": \"opsep\",\n \"slip44\": 1,\n \"slug\": \"op-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c13068200 = {\n \"chain\": \"COTI\",\n \"chainId\": 13068200,\n \"explorers\": [{\n \"name\": \"coti devnet explorer\",\n \"url\": \"https://explorer-devnet.coti.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmVQidJf4ZXt6whYqZk9atCXLrmterkHrL4wYBCetZbsdj\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.coti.io\"],\n \"icon\": {\n \"url\": \"ipfs://QmR58SroHx7ovpqEB5iRkw4PufEXmcCBAJ8AZ7mChDgTfV\",\n \"width\": 528,\n \"height\": 528,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://coti.io/\",\n \"name\": \"COTI Devnet\",\n \"nativeCurrency\": {\n \"name\": \"COTI2\",\n \"symbol\": \"COTI2\",\n \"decimals\": 18\n },\n \"networkId\": 13068200,\n \"rpc\": [\"https://13068200.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.coti.io/rpc\"],\n \"shortName\": \"coti-devnet\",\n \"slug\": \"coti-devnet\",\n \"testnet\": false,\n \"title\": \"COTI Devnet\"\n};\n\nvar c13371337 = {\n \"chain\": \"PEP\",\n \"chainId\": 13371337,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://pepchain.io\",\n \"name\": \"PepChain Churchill\",\n \"nativeCurrency\": {\n \"name\": \"PepChain Churchill Ether\",\n \"symbol\": \"TPEP\",\n \"decimals\": 18\n },\n \"networkId\": 13371337,\n \"rpc\": [\"https://13371337.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://churchill-rpc.pepchain.io\"],\n \"shortName\": \"tpep\",\n \"slug\": \"pepchain-churchill\",\n \"testnet\": false\n};\n\nvar c14288640 = {\n \"chain\": \"anduschain\",\n \"chainId\": 14288640,\n \"explorers\": [{\n \"name\": \"anduschain explorer\",\n \"url\": \"https://explorer.anduschain.io\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://bafkreiapaxokh2p4j7hg43ug2inomixiwrdhni4kpqazvqifssnez7efze\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"infoURL\": \"https://anduschain.io/\",\n \"name\": \"Anduschain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"DAON\",\n \"symbol\": \"DEB\",\n \"decimals\": 18\n },\n \"networkId\": 14288640,\n \"rpc\": [\"https://14288640.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.anduschain.io/rpc\", \"wss://rpc.anduschain.io/ws\"],\n \"shortName\": \"anduschain-mainnet\",\n \"slug\": \"anduschain\",\n \"testnet\": false\n};\n\nvar c16658437 = {\n \"chain\": \"Plian\",\n \"chainId\": 16658437,\n \"explorers\": [{\n \"name\": \"piscan\",\n \"url\": \"https://testnet.plian.org/testnet\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://plian.org\",\n \"name\": \"Plian Testnet Main\",\n \"nativeCurrency\": {\n \"name\": \"Plian Testnet Token\",\n \"symbol\": \"TPI\",\n \"decimals\": 18\n },\n \"networkId\": 16658437,\n \"rpc\": [\"https://16658437.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.plian.io/testnet\"],\n \"shortName\": \"plian-testnet\",\n \"slip44\": 1,\n \"slug\": \"plian-testnet-main\",\n \"testnet\": true\n};\n\nvar c17000920 = {\n \"chain\": \"Lambda Chain\",\n \"chainId\": 17000920,\n \"explorers\": [{\n \"name\": \"Lambda Chain Testnet Explorer\",\n \"url\": \"https://testscan.lambda.im\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmXCWjWSTd6kJZKnH9aQRjgLdWRH9NTxU1wC21iBvoB4Hp\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://lambda.im\",\n \"name\": \"Lambda Chain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"ETH\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 17000920,\n \"rpc\": [\"https://17000920.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnrpc.lambda.im/\"],\n \"shortName\": \"tlambda\",\n \"slip44\": 1,\n \"slug\": \"lambda-chain-testnet\",\n \"testnet\": true\n};\n\nvar c18289463 = {\n \"chain\": \"ILT\",\n \"chainId\": 18289463,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://iolite.io\",\n \"name\": \"IOLite\",\n \"nativeCurrency\": {\n \"name\": \"IOLite Ether\",\n \"symbol\": \"ILT\",\n \"decimals\": 18\n },\n \"networkId\": 18289463,\n \"rpc\": [\"https://18289463.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://net.iolite.io\"],\n \"shortName\": \"ilt\",\n \"slug\": \"iolite\",\n \"testnet\": false\n};\n\nvar c20180427 = {\n \"chain\": \"stabilityTestnet\",\n \"chainId\": 20180427,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://stability-testnet.blockscout.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreid3wd6ouu53r677q2z24a4eq5un5tlwbc4izfapcvvtrlhkmz43au\",\n \"width\": 133,\n \"height\": 144,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://stabilityprotocol.com\",\n \"name\": \"Stability Testnet\",\n \"nativeCurrency\": {\n \"name\": \"FREE\",\n \"symbol\": \"FREE\",\n \"decimals\": 18\n },\n \"networkId\": 20180427,\n \"rpc\": [\"https://20180427.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://free.testnet.stabilityprotocol.com\"],\n \"shortName\": \"stabilitytestnet\",\n \"slip44\": 1,\n \"slug\": \"stability-testnet\",\n \"testnet\": true\n};\n\nvar c20180430 = {\n \"chain\": \"Spectrum\",\n \"chainId\": 20180430,\n \"explorers\": [{\n \"name\": \"spectrum\",\n \"url\": \"https://spectrum.pub\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://smartmesh.io\",\n \"name\": \"SmartMesh Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"SmartMesh Native Token\",\n \"symbol\": \"SMT\",\n \"decimals\": 18\n },\n \"networkId\": 1,\n \"rpc\": [\"https://20180430.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://jsonapi1.smartmesh.cn\"],\n \"shortName\": \"spectrum\",\n \"slug\": \"smartmesh\",\n \"testnet\": false\n};\n\nvar c20181205 = {\n \"chain\": \"QKI\",\n \"chainId\": 20181205,\n \"explorers\": [{\n \"name\": \"qkiscan\",\n \"url\": \"https://qkiscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://quarkblockchain.org/\",\n \"name\": \"quarkblockchain\",\n \"nativeCurrency\": {\n \"name\": \"quarkblockchain Native Token\",\n \"symbol\": \"QKI\",\n \"decimals\": 18\n },\n \"networkId\": 20181205,\n \"rpc\": [\"https://20181205.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://hz.rpc.qkiscan.cn\", \"https://jp.rpc.qkiscan.io\", \"https://rpc1.qkiscan.io\", \"https://rpc2.qkiscan.io\", \"https://rpc3.qkiscan.io\"],\n \"shortName\": \"qki\",\n \"slug\": \"quarkblockchain\",\n \"testnet\": false\n};\n\nvar c20201022 = {\n \"chain\": \"PEGO\",\n \"chainId\": 20201022,\n \"explorers\": [{\n \"name\": \"Pego Network Explorer\",\n \"url\": \"https://scan.pego.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmVf1afskRHuZjFSLCZH8397KrVNAoYgyAePX9VMBrPVtx\",\n \"width\": 246,\n \"height\": 247,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://pego.network\",\n \"name\": \"Pego Network\",\n \"nativeCurrency\": {\n \"name\": \"Pego Native Token\",\n \"symbol\": \"PG\",\n \"decimals\": 18\n },\n \"networkId\": 20201022,\n \"rpc\": [\"https://20201022.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://pegorpc.com\", \"https://node1.pegorpc.com\", \"https://node2.pegorpc.com\", \"https://node3.pegorpc.com\"],\n \"shortName\": \"pg\",\n \"slug\": \"pego-network\",\n \"testnet\": false\n};\n\nvar c20240324 = {\n \"chain\": \"DeBank\",\n \"chainId\": 20240324,\n \"explorers\": [{\n \"name\": \"DeBank Chain Explorer\",\n \"url\": \"https://sepolia-explorer.testnet.debank.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmW9pBps8WHRRWmyXhjLZrjZJUe8F48hUu7z98bu2RVsjN\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://debank.com\",\n \"name\": \"DeBank Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"DeBank USD\",\n \"symbol\": \"USD\",\n \"decimals\": 18\n },\n \"networkId\": 20240324,\n \"rpc\": [\"https://20240324.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-rpc.testnet.debank.com\"],\n \"shortName\": \"dbkse\",\n \"slip44\": 1,\n \"slug\": \"debank-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c20241133 = {\n \"chain\": \"SWAN\",\n \"chainId\": 20241133,\n \"explorers\": [{\n \"name\": \"Swan Proxima Chain explorer\",\n \"url\": \"https://proxima-explorer.swanchain.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://swanchain.io/\",\n \"name\": \"Swan Proxima Testnet\",\n \"nativeCurrency\": {\n \"name\": \"SWANETH\",\n \"symbol\": \"sETH\",\n \"decimals\": 18\n },\n \"networkId\": 20241133,\n \"rpc\": [\"https://20241133.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-proxima.swanchain.io\"],\n \"shortName\": \"Proxima\",\n \"slug\": \"swan-proxima-testnet\",\n \"testnet\": true\n};\n\nvar c20482050 = {\n \"chain\": \"HokumTestnet\",\n \"chainId\": 20482050,\n \"explorers\": [{\n \"name\": \"Hokum Explorer\",\n \"url\": \"https://testnet-explorer.hokum.gg\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmafrUmh1FD48WWQwk6pfW1Y7eA9VQTdpeL387Wt2JFrAd\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://hokum.gg\",\n \"name\": \"Hokum Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 20482050,\n \"rpc\": [\"https://20482050.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.hokum.gg\"],\n \"shortName\": \"hokum-testnet\",\n \"slug\": \"hokum-testnet\",\n \"testnet\": true\n};\n\nvar c22052002 = {\n \"chain\": \"XLON\",\n \"chainId\": 22052002,\n \"explorers\": [{\n \"name\": \"Excelon explorer\",\n \"url\": \"https://explorer.excelon.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTV45o4jTe6ayscF1XWh1WXk5DPck4QohR5kQocSWjvQP\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xlon.org\",\n \"name\": \"Excelon Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Excelon\",\n \"symbol\": \"xlon\",\n \"decimals\": 18\n },\n \"networkId\": 22052002,\n \"rpc\": [\"https://22052002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://edgewallet1.xlon.org/\"],\n \"shortName\": \"xlon\",\n \"slug\": \"excelon\",\n \"testnet\": false\n};\n\nvar c27082017 = {\n \"chain\": \"TEXL\",\n \"chainId\": 27082017,\n \"explorers\": [{\n \"name\": \"exlscan\",\n \"url\": \"https://testnet-explorer.exlscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeooM7QicT1YbgY93XPd5p7JsCjYhN3qjWt68X57g6bVC\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://faucet.exlscan.com\"],\n \"icon\": {\n \"url\": \"ipfs://QmeooM7QicT1YbgY93XPd5p7JsCjYhN3qjWt68X57g6bVC\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"name\": \"Excoincial Chain Volta-Testnet\",\n \"nativeCurrency\": {\n \"name\": \"TExlcoin\",\n \"symbol\": \"TEXL\",\n \"decimals\": 18\n },\n \"networkId\": 27082017,\n \"rpc\": [\"https://27082017.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.exlscan.com\"],\n \"shortName\": \"exlvolta\",\n \"slip44\": 1,\n \"slug\": \"excoincial-chain-volta-testnet\",\n \"testnet\": true\n};\n\nvar c27082022 = {\n \"chain\": \"EXL\",\n \"chainId\": 27082022,\n \"explorers\": [{\n \"name\": \"exlscan\",\n \"url\": \"https://exlscan.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmeooM7QicT1YbgY93XPd5p7JsCjYhN3qjWt68X57g6bVC\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmeooM7QicT1YbgY93XPd5p7JsCjYhN3qjWt68X57g6bVC\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n },\n \"name\": \"Excoincial Chain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Exlcoin\",\n \"symbol\": \"EXL\",\n \"decimals\": 18\n },\n \"networkId\": 27082022,\n \"rpc\": [\"https://27082022.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.exlscan.com\"],\n \"shortName\": \"exl\",\n \"slug\": \"excoincial-chain\",\n \"testnet\": false\n};\n\nvar c28122024 = {\n \"chain\": \"Ancient8\",\n \"chainId\": 28122024,\n \"explorers\": [{\n \"name\": \"scan-testnet\",\n \"url\": \"https://scanv2-testnet.ancient8.gg\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreievnqg3xjokaty4kfbxxbrzm5v5y7exbaaia2txrh4sfgrqsalfym\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ancient8.gg/\",\n \"name\": \"Ancient8 Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28122024,\n \"rpc\": [\"https://28122024.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpcv2-testnet.ancient8.gg\"],\n \"shortName\": \"a8\",\n \"slip44\": 1,\n \"slug\": \"ancient8-testnet\",\n \"testnet\": true\n};\n\nvar c28945486 = {\n \"chain\": \"AUX\",\n \"chainId\": 28945486,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://auxilium.global\",\n \"name\": \"Auxilium Network Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Auxilium coin\",\n \"symbol\": \"AUX\",\n \"decimals\": 18\n },\n \"networkId\": 28945486,\n \"rpc\": [\"https://28945486.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.auxilium.global\"],\n \"shortName\": \"auxi\",\n \"slip44\": 344,\n \"slug\": \"auxilium-network\",\n \"testnet\": false\n};\n\nvar c29032022 = {\n \"chain\": \"FLX\",\n \"chainId\": 29032022,\n \"explorers\": [{\n \"name\": \"FLXExplorer\",\n \"url\": \"https://explorer.flaexchange.top\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://bafybeiadlvc4pfiykehyt2z67nvgt5w4vlov27olu5obvmryv4xzua4tae\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.flaexchange.top\",\n \"name\": \"Flachain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Flacoin\",\n \"symbol\": \"FLA\",\n \"decimals\": 18\n },\n \"networkId\": 29032022,\n \"rpc\": [\"https://29032022.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://flachain.flaexchange.top/\"],\n \"shortName\": \"fla\",\n \"slug\": \"flachain\",\n \"testnet\": false\n};\n\nvar c31415926 = {\n \"chain\": \"FIL\",\n \"chainId\": 31415926,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmS9r9XQkMHVomWcSBNDkKkz9n87h9bH9ssabeiKZtANoU\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://filecoin.io\",\n \"name\": \"Filecoin - Local testnet\",\n \"nativeCurrency\": {\n \"name\": \"testnet filecoin\",\n \"symbol\": \"tFIL\",\n \"decimals\": 18\n },\n \"networkId\": 31415926,\n \"rpc\": [],\n \"shortName\": \"filecoin-local\",\n \"slip44\": 1,\n \"slug\": \"filecoin-local-testnet\",\n \"status\": \"incubating\",\n \"testnet\": true\n};\n\nvar c35855456 = {\n \"chain\": \"JOYS\",\n \"chainId\": 35855456,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://joys.digital\",\n \"name\": \"Joys Digital Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"JOYS\",\n \"symbol\": \"JOYS\",\n \"decimals\": 18\n },\n \"networkId\": 35855456,\n \"rpc\": [\"https://35855456.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://node.joys.digital\"],\n \"shortName\": \"JOYS\",\n \"slug\": \"joys-digital\",\n \"testnet\": false\n};\n\nvar c37084624 = {\n \"chain\": \"lanky-ill-funny-testnet\",\n \"chainId\": 37084624,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.sfuelstation.com/\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeic5eexvd34wfy4kuebcyu73qpkv3x57s54ebzjyhyjsmeuni5jwcm\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nebulachain.io/\",\n \"name\": \"SKALE Nebula Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 37084624,\n \"rpc\": [\"https://37084624.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.skalenodes.com/v1/lanky-ill-funny-testnet\", \"wss://testnet.skalenodes.com/v1/ws/lanky-ill-funny-testnet\"],\n \"shortName\": \"nebula-testnet\",\n \"slip44\": 1,\n \"slug\": \"skale-nebula-hub-testnet\",\n \"testnet\": true,\n \"title\": \"SKALE Nebula Hub Testnet\"\n};\n\nvar c39916801 = {\n \"chain\": \"KingdomChain\",\n \"chainId\": 39916801,\n \"explorers\": [{\n \"name\": \"TravelSong\",\n \"url\": \"https://www.beastkingdom.io/travelsong\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"infoURL\": \"https://www.beastkingdom.io/\",\n \"name\": \"Kingdom Chain\",\n \"nativeCurrency\": {\n \"name\": \"Kozi\",\n \"symbol\": \"KOZI\",\n \"decimals\": 18\n },\n \"networkId\": 39916801,\n \"rpc\": [\"https://39916801.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://kingdomchain.observer/rpc\"],\n \"shortName\": \"kchain\",\n \"slug\": \"kingdom-chain\",\n \"testnet\": false\n};\n\nvar c43214913 = {\n \"chain\": \"MAI\",\n \"chainId\": 43214913,\n \"explorers\": [{\n \"name\": \"maistesntet\",\n \"url\": \"http://174.138.9.169:3006/?network=maistesntet\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"name\": \"maistestsubnet\",\n \"nativeCurrency\": {\n \"name\": \"maistestsubnet\",\n \"symbol\": \"MAI\",\n \"decimals\": 18\n },\n \"networkId\": 43214913,\n \"rpc\": [\"https://43214913.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://174.138.9.169:9650/ext/bc/VUKSzFZKckx4PoZF9gX5QAqLPxbLzvu1vcssPG5QuodaJtdHT/rpc\"],\n \"shortName\": \"mais\",\n \"slip44\": 1,\n \"slug\": \"maistestsubnet\",\n \"testnet\": true\n};\n\nvar c61717561 = {\n \"chain\": \"AQUA\",\n \"chainId\": 61717561,\n \"explorers\": [],\n \"faucets\": [\"https://aquacha.in/faucet\"],\n \"infoURL\": \"https://aquachain.github.io\",\n \"name\": \"Aquachain\",\n \"nativeCurrency\": {\n \"name\": \"Aquachain Ether\",\n \"symbol\": \"AQUA\",\n \"decimals\": 18\n },\n \"networkId\": 61717561,\n \"rpc\": [\"https://61717561.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://c.onical.org\", \"https://tx.aquacha.in/api\"],\n \"shortName\": \"aqua\",\n \"slip44\": 61717561,\n \"slug\": \"aquachain\",\n \"testnet\": false\n};\n\nvar c65010000 = {\n \"chain\": \"AUT\",\n \"chainId\": 65010000,\n \"explorers\": [{\n \"name\": \"autonity-blockscout\",\n \"url\": \"https://bakerloo.autonity.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.autonity.org/\"],\n \"icon\": {\n \"url\": \"ipfs://Qme5nxFZZoNNpiT8u9WwcBot4HyLTg2jxMxRnsbc5voQwB\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autonity.org/\",\n \"name\": \"Autonity Bakerloo (Thames) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bakerloo Auton\",\n \"symbol\": \"ATN\",\n \"decimals\": 18\n },\n \"networkId\": 65010000,\n \"rpc\": [],\n \"shortName\": \"bakerloo-0\",\n \"slip44\": 1,\n \"slug\": \"autonity-bakerloo-thames-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c65010001 = {\n \"chain\": \"AUT\",\n \"chainId\": 65010001,\n \"explorers\": [{\n \"name\": \"autonity-blockscout\",\n \"url\": \"https://bakerloo.autonity.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.autonity.org/\"],\n \"icon\": {\n \"url\": \"ipfs://Qme5nxFZZoNNpiT8u9WwcBot4HyLTg2jxMxRnsbc5voQwB\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autonity.org/\",\n \"name\": \"Autonity Bakerloo (Barada) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bakerloo Auton\",\n \"symbol\": \"ATN\",\n \"decimals\": 18\n },\n \"networkId\": 65010001,\n \"rpc\": [],\n \"shortName\": \"bakerloo-01\",\n \"slip44\": 1,\n \"slug\": \"autonity-bakerloo-barada-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c65010002 = {\n \"chain\": \"AUT\",\n \"chainId\": 65010002,\n \"explorers\": [{\n \"name\": \"autonity-blockscout\",\n \"url\": \"https://bakerloo.autonity.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.autonity.org/\"],\n \"icon\": {\n \"url\": \"ipfs://Qme5nxFZZoNNpiT8u9WwcBot4HyLTg2jxMxRnsbc5voQwB\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autonity.org/\",\n \"name\": \"Autonity Bakerloo (Sumida) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Bakerloo Auton\",\n \"symbol\": \"ATN\",\n \"decimals\": 18\n },\n \"networkId\": 65010002,\n \"rpc\": [\"https://65010002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.bakerloo.autonity.org/\", \"wss://rpc1.bakerloo.autonity.org/ws/\"],\n \"shortName\": \"bakerloo-02\",\n \"slip44\": 1,\n \"slug\": \"autonity-bakerloo-sumida-testnet\",\n \"testnet\": true\n};\n\nvar c65100000 = {\n \"chain\": \"AUT\",\n \"chainId\": 65100000,\n \"explorers\": [{\n \"name\": \"autonity-blockscout\",\n \"url\": \"https://piccadilly.autonity.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.autonity.org/\"],\n \"icon\": {\n \"url\": \"ipfs://Qme5nxFZZoNNpiT8u9WwcBot4HyLTg2jxMxRnsbc5voQwB\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autonity.org/\",\n \"name\": \"Autonity Piccadilly (Thames) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Piccadilly Auton\",\n \"symbol\": \"ATN\",\n \"decimals\": 18\n },\n \"networkId\": 65100000,\n \"rpc\": [],\n \"shortName\": \"piccadilly-0\",\n \"slip44\": 1,\n \"slug\": \"autonity-piccadilly-thames-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c65100001 = {\n \"chain\": \"AUT\",\n \"chainId\": 65100001,\n \"explorers\": [{\n \"name\": \"autonity-blockscout\",\n \"url\": \"https://piccadilly.autonity.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qme5nxFZZoNNpiT8u9WwcBot4HyLTg2jxMxRnsbc5voQwB\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autonity.org/\",\n \"name\": \"Autonity Piccadilly (Barada) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Piccadilly Auton\",\n \"symbol\": \"ATN\",\n \"decimals\": 18\n },\n \"networkId\": 65100001,\n \"rpc\": [],\n \"shortName\": \"piccadilly-01\",\n \"slip44\": 1,\n \"slug\": \"autonity-piccadilly-barada-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c65100002 = {\n \"chain\": \"AUT\",\n \"chainId\": 65100002,\n \"explorers\": [{\n \"name\": \"autonity-blockscout\",\n \"url\": \"https://piccadilly.autonity.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qme5nxFZZoNNpiT8u9WwcBot4HyLTg2jxMxRnsbc5voQwB\",\n \"width\": 1000,\n \"height\": 1000,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://autonity.org/\",\n \"name\": \"Autonity Piccadilly (Sumida) Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Piccadilly Auton\",\n \"symbol\": \"ATN\",\n \"decimals\": 18\n },\n \"networkId\": 65100002,\n \"rpc\": [\"https://65100002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc1.piccadilly.autonity.org/\", \"wss://rpc1.piccadilly.autonity.org/ws/\"],\n \"shortName\": \"piccadilly-02\",\n \"slip44\": 1,\n \"slug\": \"autonity-piccadilly-sumida-testnet\",\n \"testnet\": true\n};\n\nvar c68840142 = {\n \"chain\": \"ETH\",\n \"chainId\": 68840142,\n \"explorers\": [{\n \"name\": \"Frame Testnet Explorer\",\n \"url\": \"https://explorer.testnet.frame.xyz\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Frame Testnet Explorer\",\n \"url\": \"https://explorer.testnet.frame.xyz/\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.triangleplatform.com/frame/testnet\", \"https://faucet.triangleplatform.com/frame\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRxeKFwBwrXyDksoN4NzNRp3R35s8pVnTBfBj4AJSCq5g\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://frame.xyz\",\n \"name\": \"Frame Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 68840142,\n \"redFlags\": [],\n \"rpc\": [\"https://68840142.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.testnet.frame.xyz/http\"],\n \"shortName\": \"frame-test\",\n \"slip44\": 1,\n \"slug\": \"frame-testnet\",\n \"testnet\": true\n};\n\nvar c77787778 = {\n \"chain\": \"HETH\",\n \"chainId\": 77787778,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://test.0xhashscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmdwQDr6vmBtXmK2TmknkEuZNoaDqTasFdZdu3DRw8b2wt\",\n \"width\": 1000,\n \"height\": 1628,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://0xhash.io\",\n \"name\": \"0xHash Testnet\",\n \"nativeCurrency\": {\n \"name\": \"0xHash\",\n \"symbol\": \"HETH\",\n \"decimals\": 18\n },\n \"networkId\": 77787778,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://app.optimism.io/bridge/deposit\"\n }]\n },\n \"rpc\": [\"https://77787778.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-test.0xhash.io\"],\n \"shortName\": \"HETH\",\n \"slip44\": 1,\n \"slug\": \"0xhash-testnet\",\n \"testnet\": true\n};\n\nvar c88888888 = {\n \"chain\": \"TEAM\",\n \"chainId\": 88888888,\n \"explorers\": [{\n \"name\": \"teamscan\",\n \"url\": \"https://teamblockchain.team\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmcnA15BLE9uvznbugXKjqquizZs1eLPeEEkc92DSmvhmt\",\n \"width\": 248,\n \"height\": 248,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://teamblockchain.team\",\n \"name\": \"T.E.A.M Blockchain\",\n \"nativeCurrency\": {\n \"name\": \"TEAM\",\n \"symbol\": \"$TEAM\",\n \"decimals\": 18\n },\n \"networkId\": 88888888,\n \"rpc\": [\"https://88888888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.teamblockchain.team\"],\n \"shortName\": \"team\",\n \"slug\": \"t-e-a-m-blockchain\",\n \"testnet\": false\n};\n\nvar c94204209 = {\n \"chain\": \"ETH\",\n \"chainId\": 94204209,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://polygon-blackberry.gelatoscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"blockscout\",\n \"url\": \"https://polygon-blackberry.gelatoscout.com/\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYotcuJYjUBXZ33CYoWMyNnJbjK14f8ma6sge55Z5bg5W/polygon-blackberry.svg\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmYotcuJYjUBXZ33CYoWMyNnJbjK14f8ma6sge55Z5bg5W/polygon-blackberry.svg\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://raas.gelato.network/rollups/details/public/polygon-blackberry\",\n \"name\": \"Polygon Blackberry\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 94204209,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://bridge.gelato.network/bridge/polygon-blackberry\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://94204209.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.polygon-blackberry.gelato.digital\", \"wss://ws.polygon-blackberry.gelato.digital\"],\n \"shortName\": \"polygon-blackberry\",\n \"slip44\": 60,\n \"slug\": \"polygon-blackberry\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Polygon Blackberry Testnet\"\n};\n\nvar c99415706 = {\n \"chain\": \"TOYS\",\n \"chainId\": 99415706,\n \"explorers\": [],\n \"faucets\": [\"https://faucet.joys.digital/\"],\n \"infoURL\": \"https://joys.digital\",\n \"name\": \"Joys Digital TestNet\",\n \"nativeCurrency\": {\n \"name\": \"TOYS\",\n \"symbol\": \"TOYS\",\n \"decimals\": 18\n },\n \"networkId\": 99415706,\n \"rpc\": [\"https://99415706.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://toys.joys.cash/\"],\n \"shortName\": \"TOYS\",\n \"slip44\": 1,\n \"slug\": \"joys-digital-testnet\",\n \"testnet\": true\n};\n\nvar c108160679 = {\n \"chain\": \"Oraichain\",\n \"chainId\": 108160679,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"infoURL\": \"https://orai.io\",\n \"name\": \"Oraichain Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Oraichain Token\",\n \"symbol\": \"ORAI\",\n \"decimals\": 18\n },\n \"networkId\": 108160679,\n \"rpc\": [\"https://108160679.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://evm.orai.io\"],\n \"shortName\": \"Oraichain\",\n \"slug\": \"oraichain\",\n \"testnet\": false,\n \"title\": \"Oraichain Mainnet\"\n};\n\nvar c111557560 = {\n \"chain\": \"Cyber\",\n \"chainId\": 111557560,\n \"explorers\": [{\n \"name\": \"Cyber Testnet Explorer\",\n \"url\": \"https://testnet.cyberscan.co\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmR8NuaSqALStb95YsMsJRG2BoYkibjS1XE1pZFtvEkAXY\",\n \"width\": 213,\n \"height\": 212,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://cyber.co/\",\n \"name\": \"Cyber Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 111557560,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://cyber-testnet.testnets.rollbridge.app/\"\n }]\n },\n \"rpc\": [\"https://111557560.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://cyber-testnet.alt.technology/\", \"wss://cyber-testnet.alt.technology/ws\", \"https://rpc.testnet.cyber.co/\", \"wss://rpc.testnet.cyber.co/\"],\n \"shortName\": \"cysep\",\n \"slug\": \"cyber-testnet\",\n \"testnet\": true\n};\n\nvar c123420111 = {\n \"chain\": \"ETH\",\n \"chainId\": 123420111,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://opcelestia-raspberry.gelatoscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQXw4QEDR4AbUwX9scH7aGhiSDhQRxu6LCQoUkgsYgGyK/Gelato%20brand%20mark.png\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://raas.gelato.network/rollups/details/public/opcelestia-raspberry\",\n \"name\": \"OP Celestia Rasberry\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 123420111,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://bridge.gelato.network/bridge/opcelestia-raspberry\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://123420111.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.opcelestia-raspberry.gelato.digital\", \"wss://ws.opcelestia-raspberry.gelato.digital\"],\n \"shortName\": \"opcelestia-rasberry\",\n \"slip44\": 60,\n \"slug\": \"op-celestia-rasberry\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"OP Celestia Rasberry\"\n};\n\nvar c161221135 = {\n \"chain\": \"ETH\",\n \"chainId\": 161221135,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://testnet-explorer.plumenetwork.xyz\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmNUpqkYWYJoDXKUpZ8FVbGyN6HCwxYonKNAieCf2oTzGn\",\n \"width\": 1062,\n \"height\": 1062,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.plumenetwork.xyz/\",\n \"name\": \"Plume Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Plume Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 161221135,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": [{\n \"url\": \"https://testnet-bridge.plumenetwork.xyz\"\n }]\n },\n \"rpc\": [\"https://161221135.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.plumenetwork.xyz/http\", \"wss://testnet-rpc.plumenetwork.xyz/ws\"],\n \"shortName\": \"plume-testnet\",\n \"slip44\": 1,\n \"slug\": \"plume-testnet\",\n \"testnet\": true,\n \"title\": \"Plume Sepolia Rollup Testnet\"\n};\n\nvar c168587773 = {\n \"chain\": \"ETH\",\n \"chainId\": 168587773,\n \"explorers\": [{\n \"name\": \"Blast Sepolia Explorer\",\n \"url\": \"https://testnet.blastscan.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://bafybeifc2h3x7jgy4x4nmg2m54ghbvmkfu6oweujambwefzqzew5vujhsi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n }\n }],\n \"faucets\": [\"https://faucet.quicknode.com/blast/sepolia\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeifc2h3x7jgy4x4nmg2m54ghbvmkfu6oweujambwefzqzew5vujhsi\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"jpg\"\n },\n \"infoURL\": \"https://blast.io/\",\n \"name\": \"Blast Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 168587773,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\"\n },\n \"rpc\": [\"https://168587773.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.blast.io\", \"https://blast-sepolia.drpc.org\", \"wss://blast-sepolia.drpc.org\"],\n \"shortName\": \"blastsepolia\",\n \"slug\": \"blast-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c192837465 = {\n \"chain\": \"GTH\",\n \"chainId\": 192837465,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://explorer.gather.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTYR8CeFiNbJ1zJHnE3DK2wEN18r2y2vqSKUcLweUT2Gz\",\n \"width\": 1080,\n \"height\": 1080,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc9AJGg9aNhoH56n3deaZeUc8Ty1jDYJsW6Lu6hgSZH4S\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gather.network\",\n \"name\": \"Gather Mainnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Gather\",\n \"symbol\": \"GTH\",\n \"decimals\": 18\n },\n \"networkId\": 192837465,\n \"redFlags\": [],\n \"rpc\": [\"https://192837465.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.gather.network\"],\n \"shortName\": \"GTH\",\n \"slug\": \"gather-network\",\n \"testnet\": false\n};\n\nvar c222000222 = {\n \"chain\": \"Kanazawa\",\n \"chainId\": 222000222,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://testnet.meldscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"explorer\",\n \"url\": \"https://subnets-test.avax.network/meld\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://meld.com\",\n \"name\": \"Kanazawa\",\n \"nativeCurrency\": {\n \"name\": \"gMeld\",\n \"symbol\": \"gMELD\",\n \"decimals\": 18\n },\n \"networkId\": 222000222,\n \"rpc\": [\"https://222000222.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.meld.com\"],\n \"shortName\": \"kanazawa\",\n \"slip44\": 1,\n \"slug\": \"kanazawa\",\n \"testnet\": true,\n \"title\": \"Meld Testnet Kanazawa\"\n};\n\nvar c245022926 = {\n \"chain\": \"Solana\",\n \"chainId\": 245022926,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://neon-devnet.blockscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }, {\n \"name\": \"neonscan\",\n \"url\": \"https://devnet.neonscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://neonfaucet.org\"],\n \"icon\": {\n \"url\": \"ipfs://Qmcxevb3v8PEvnvfYgcG3bCBuPhe5YAdsHeaufDChSSR3Q\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://neon-labs.org\",\n \"name\": \"Neon EVM Devnet\",\n \"nativeCurrency\": {\n \"name\": \"Neon\",\n \"symbol\": \"NEON\",\n \"decimals\": 18\n },\n \"networkId\": 245022926,\n \"rpc\": [\"https://245022926.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.neonevm.org\", \"https://neon-evm-devnet.drpc.org\", \"wss://neon-evm-devnet.drpc.org\"],\n \"shortName\": \"neonevm-devnet\",\n \"slug\": \"neon-evm-devnet\",\n \"testnet\": false\n};\n\nvar c245022934 = {\n \"chain\": \"Solana\",\n \"chainId\": 245022934,\n \"explorers\": [{\n \"name\": \"neonscan\",\n \"url\": \"https://neonscan.org\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"native\",\n \"url\": \"https://neon.blockscout.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmcxevb3v8PEvnvfYgcG3bCBuPhe5YAdsHeaufDChSSR3Q\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://neonevm.org\",\n \"name\": \"Neon EVM Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Neon\",\n \"symbol\": \"NEON\",\n \"decimals\": 18\n },\n \"networkId\": 245022934,\n \"rpc\": [\"https://245022934.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://neon-proxy-mainnet.solana.p2p.org\", \"https://neon-evm.drpc.org\", \"wss://neon-evm.drpc.org\"],\n \"shortName\": \"neonevm-mainnet\",\n \"slug\": \"neon-evm\",\n \"testnet\": false\n};\n\nvar c245022940 = {\n \"chain\": \"Solana\",\n \"chainId\": 245022940,\n \"explorers\": [{\n \"name\": \"native\",\n \"url\": \"https://testnet.explorer.neon-labs.org\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"neonscan\",\n \"url\": \"https://testnet.neonscan.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmcxevb3v8PEvnvfYgcG3bCBuPhe5YAdsHeaufDChSSR3Q\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://neon-labs.org\",\n \"name\": \"Neon EVM TestNet\",\n \"nativeCurrency\": {\n \"name\": \"Neon\",\n \"symbol\": \"NEON\",\n \"decimals\": 18\n },\n \"networkId\": 245022940,\n \"rpc\": [\"https://245022940.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.neonevm.org\"],\n \"shortName\": \"neonevm-testnet\",\n \"slip44\": 1,\n \"slug\": \"neon-evm-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c278611351 = {\n \"chain\": \"Razor Schain\",\n \"chainId\": 278611351,\n \"explorers\": [{\n \"name\": \"turbulent-unique-scheat\",\n \"url\": \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.razorscan.io/\"],\n \"icon\": {\n \"url\": \"ipfs://QmUdwAZJfyKGZnfPGDsCnNvGu123mdd57kTGj1Y3EWVuWK\",\n \"width\": 900,\n \"height\": 900,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://razor.network\",\n \"name\": \"Razor Skale Chain\",\n \"nativeCurrency\": {\n \"name\": \"sFuel\",\n \"symbol\": \"SFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 278611351,\n \"rpc\": [\"https://278611351.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"],\n \"shortName\": \"razor\",\n \"slug\": \"razor-skale-chain\",\n \"testnet\": false\n};\n\nvar c311752642 = {\n \"chain\": \"OLT\",\n \"chainId\": 311752642,\n \"explorers\": [{\n \"name\": \"OneLedger Block Explorer\",\n \"url\": \"https://mainnet-explorer.oneledger.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmRhqq4Gp8G9w27ND3LeFW49o5PxcxrbJsqHbpBFtzEMfC\",\n \"width\": 225,\n \"height\": 225,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oneledger.io\",\n \"name\": \"OneLedger Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"OLT\",\n \"symbol\": \"OLT\",\n \"decimals\": 18\n },\n \"networkId\": 311752642,\n \"rpc\": [\"https://311752642.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet-rpc.oneledger.network\"],\n \"shortName\": \"oneledger\",\n \"slug\": \"oneledger\",\n \"testnet\": false\n};\n\nvar c328527624 = {\n \"chain\": \"ETH\",\n \"chainId\": 328527624,\n \"explorers\": [{\n \"name\": \"Nal Sepolia Testnet Network Explorer\",\n \"url\": \"https://testnet-scan.nal.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmZLZHX18YUswejxo1JFNPx5EwMsVhUwBeBWEcd1JUHAK5\",\n \"width\": 640,\n \"height\": 640,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.nal.network\",\n \"name\": \"Nal Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 328527624,\n \"rpc\": [\"https://328527624.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-rpc.nal.network\"],\n \"shortName\": \"nalsep\",\n \"slug\": \"nal-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c333000333 = {\n \"chain\": \"MELD\",\n \"chainId\": 333000333,\n \"explorers\": [{\n \"name\": \"explorer\",\n \"url\": \"https://meldscan.io\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"explorer\",\n \"url\": \"https://subnets.avax.network/meld\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://meld.com\",\n \"name\": \"Meld\",\n \"nativeCurrency\": {\n \"name\": \"gMeld\",\n \"symbol\": \"gMELD\",\n \"decimals\": 18\n },\n \"networkId\": 333000333,\n \"rpc\": [\"https://333000333.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-1.meld.com\"],\n \"shortName\": \"meld\",\n \"slug\": \"meld\",\n \"testnet\": false,\n \"title\": \"Meld Mainnet\"\n};\n\nvar c344106930 = {\n \"chain\": \"staging-utter-unripe-menkar\",\n \"chainId\": 344106930,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.dirtroad.dev/staging\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m\",\n \"width\": 1637,\n \"height\": 1636,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://calypsohub.network/\",\n \"name\": \"Deprecated SKALE Calypso Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 344106930,\n \"rpc\": [\"https://344106930.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"],\n \"shortName\": \"deprected-calypso-testnet\",\n \"slip44\": 1,\n \"slug\": \"deprecated-skale-calypso-hub-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Deprecated Calypso NFT Hub Testnet\"\n};\n\nvar c356256156 = {\n \"chain\": \"GTH\",\n \"chainId\": 356256156,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://testnet-explorer.gather.network\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTYR8CeFiNbJ1zJHnE3DK2wEN18r2y2vqSKUcLweUT2Gz\",\n \"width\": 1080,\n \"height\": 1080,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [\"https://testnet-faucet.gather.network/\"],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmc9AJGg9aNhoH56n3deaZeUc8Ty1jDYJsW6Lu6hgSZH4S\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gather.network\",\n \"name\": \"Gather Testnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Gather\",\n \"symbol\": \"GTH\",\n \"decimals\": 18\n },\n \"networkId\": 356256156,\n \"redFlags\": [],\n \"rpc\": [\"https://356256156.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.gather.network\"],\n \"shortName\": \"tGTH\",\n \"slip44\": 1,\n \"slug\": \"gather-testnet-network\",\n \"testnet\": true\n};\n\nvar c476158412 = {\n \"chain\": \"staging-legal-crazy-castor\",\n \"chainId\": 476158412,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.dirtroad.dev/staging\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiezcwowhm6xjrkt44cmiu6ml36rhrxx3amcg3cfkcntv2vgcvgbre\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://europahub.network/\",\n \"name\": \"Deprecated SKALE Europa Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 476158412,\n \"rpc\": [\"https://476158412.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"],\n \"shortName\": \"deprecated-europa-testnet\",\n \"slip44\": 1,\n \"slug\": \"deprecated-skale-europa-hub-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true,\n \"title\": \"Deprecated Europa Hub Testnet\"\n};\n\nvar c486217935 = {\n \"chain\": \"GTH\",\n \"chainId\": 486217935,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://devnet-explorer.gather.network\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gather.network\",\n \"name\": \"Gather Devnet Network\",\n \"nativeCurrency\": {\n \"name\": \"Gather\",\n \"symbol\": \"GTH\",\n \"decimals\": 18\n },\n \"networkId\": 486217935,\n \"rpc\": [\"https://486217935.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://devnet.gather.network\"],\n \"shortName\": \"dGTH\",\n \"slug\": \"gather-devnet-network\",\n \"testnet\": false\n};\n\nvar c503129905 = {\n \"chain\": \"staging-faint-slimy-achird\",\n \"chainId\": 503129905,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.dirtroad.dev/staging\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeic5eexvd34wfy4kuebcyu73qpkv3x57s54ebzjyhyjsmeuni5jwcm\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nebulachain.io/\",\n \"name\": \"Deprecated SKALE Nebula Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 503129905,\n \"rpc\": [\"https://503129905.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\", \"wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird\"],\n \"shortName\": \"deprecated-nebula-testnet\",\n \"slip44\": 1,\n \"slug\": \"deprecated-skale-nebula-hub-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c666666666 = {\n \"chain\": \"Degen\",\n \"chainId\": 666666666,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://Qmb6yAe4wXeBkxjfhxzoUT9TzETcmE7Vne59etm9GJaQf7\",\n \"width\": 789,\n \"height\": 668,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://degen.tips\",\n \"name\": \"Degen Chain\",\n \"nativeCurrency\": {\n \"name\": \"DEGEN\",\n \"symbol\": \"DEGEN\",\n \"decimals\": 18\n },\n \"networkId\": 666666666,\n \"rpc\": [\"https://666666666.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.degen.tips\"],\n \"shortName\": \"degen-chain\",\n \"slug\": \"degen-chain\",\n \"status\": \"incubating\",\n \"testnet\": false,\n \"title\": \"Degen Chain\"\n};\n\nvar c888888888 = {\n \"chain\": \"Ancient8\",\n \"chainId\": 888888888,\n \"explorers\": [{\n \"name\": \"Ancient8 Explorer\",\n \"url\": \"https://scan.ancient8.gg\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreievnqg3xjokaty4kfbxxbrzm5v5y7exbaaia2txrh4sfgrqsalfym\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ancient8.gg/\",\n \"name\": \"Ancient8\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 888888888,\n \"rpc\": [\"https://888888888.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ancient8.gg\"],\n \"shortName\": \"ancient8\",\n \"slug\": \"ancient8\",\n \"testnet\": false\n};\n\nvar c889910245 = {\n \"chain\": \"PTCE\",\n \"chainId\": 889910245,\n \"explorers\": [{\n \"name\": \"PTCESCAN Testnet Explorer\",\n \"url\": \"https://explorer-testnet.ptcscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.ptcscan.io/\"],\n \"infoURL\": \"https://ptcscan.io\",\n \"name\": \"PTCESCAN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"PTCE\",\n \"symbol\": \"PTCE\",\n \"decimals\": 18\n },\n \"networkId\": 889910245,\n \"rpc\": [\"https://889910245.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.ptcscan.io\"],\n \"shortName\": \"PTCE\",\n \"slug\": \"ptcescan-testnet\",\n \"testnet\": true,\n \"title\": \"PTCESCAN Testnet\"\n};\n\nvar c889910246 = {\n \"chain\": \"PTCE\",\n \"chainId\": 889910246,\n \"explorers\": [{\n \"name\": \"PTCESCAN Explorer\",\n \"url\": \"https://ptcscan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ptcscan.io\",\n \"name\": \"PTCESCAN Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"PTCE\",\n \"symbol\": \"PTCE\",\n \"decimals\": 18\n },\n \"networkId\": 889910246,\n \"rpc\": [\"https://889910246.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ptcscan.io\"],\n \"shortName\": \"POLYTECH\",\n \"slug\": \"ptcescan\",\n \"testnet\": false,\n \"title\": \"PTCESCAN Mainnet\"\n};\n\nvar c974399131 = {\n \"chain\": \"giant-half-dual-testnet\",\n \"chainId\": 974399131,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://giant-half-dual-testnet.explorer.testnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.sfuelstation.com/\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m\",\n \"width\": 1637,\n \"height\": 1636,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://calypsohub.network/\",\n \"name\": \"SKALE Calypso Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 974399131,\n \"rpc\": [\"https://974399131.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.skalenodes.com/v1/giant-half-dual-testnet\"],\n \"shortName\": \"calypso-testnet\",\n \"slip44\": 1,\n \"slug\": \"skale-calypso-hub-testnet\",\n \"testnet\": true,\n \"title\": \"SKALE Calypso Hub Testnet\"\n};\n\nvar c999999999 = {\n \"chain\": \"ETH\",\n \"chainId\": 999999999,\n \"explorers\": [{\n \"name\": \"Zora Sepolia Testnet Network Explorer\",\n \"url\": \"https://sepolia.explorer.zora.energy\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreifvrly5tgd34xqeo67s4etmiu52bkroml7uy7eosizf57htf5nrzq\",\n \"width\": 250,\n \"height\": 250,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://zora.energy\",\n \"name\": \"Zora Sepolia Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Sepolia Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 999999999,\n \"rpc\": [\"https://999999999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia.rpc.zora.energy\"],\n \"shortName\": \"zsep\",\n \"slip44\": 1,\n \"slug\": \"zora-sepolia-testnet\",\n \"testnet\": true\n};\n\nvar c1020352220 = {\n \"chain\": \"aware-fake-trim-testnet\",\n \"chainId\": 1020352220,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://aware-fake-trim-testnet.explorer.testnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.sfuelstation.com/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiagrt5dhgltg2kmw7hf24kslstr5h42e745luuxwp2wbg24gm6zza\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"name\": \"SKALE Titan Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1020352220,\n \"rpc\": [\"https://1020352220.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.skalenodes.com/v1/aware-fake-trim-testnet\", \"wss://testnet.skalenodes.com/v1/ws/aware-fake-trim-testnet\"],\n \"shortName\": \"titan-testnet\",\n \"slip44\": 1,\n \"slug\": \"skale-titan-hub-testnet\",\n \"testnet\": true,\n \"title\": \"SKALE Titan Hub Testnet\"\n};\n\nvar c1122334455 = {\n \"chain\": \"IPOS\",\n \"chainId\": 1122334455,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://iposlab.com\",\n \"name\": \"IPOS Network\",\n \"nativeCurrency\": {\n \"name\": \"IPOS Network Ether\",\n \"symbol\": \"IPOS\",\n \"decimals\": 18\n },\n \"networkId\": 1122334455,\n \"rpc\": [\"https://1122334455.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.iposlab.com\", \"https://rpc2.iposlab.com\"],\n \"shortName\": \"ipos\",\n \"slug\": \"ipos-network\",\n \"testnet\": false\n};\n\nvar c1146703430 = {\n \"chain\": \"cyberdeck\",\n \"chainId\": 1146703430,\n \"explorers\": [{\n \"name\": \"CybEthExplorer\",\n \"url\": \"http://cybeth1.cyberdeck.eu:8000\",\n \"standard\": \"none\",\n \"icon\": {\n \"url\": \"ipfs://QmTvYMJXeZeWxYPuoQ15mHCS8K5EQzkMMCHQVs3GshooyR\",\n \"width\": 193,\n \"height\": 214,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmTvYMJXeZeWxYPuoQ15mHCS8K5EQzkMMCHQVs3GshooyR\",\n \"width\": 193,\n \"height\": 214,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://cyberdeck.eu\",\n \"name\": \"CyberdeckNet\",\n \"nativeCurrency\": {\n \"name\": \"Cyb\",\n \"symbol\": \"CYB\",\n \"decimals\": 18\n },\n \"networkId\": 1146703430,\n \"rpc\": [\"https://1146703430.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"http://cybeth1.cyberdeck.eu:8545\"],\n \"shortName\": \"cyb\",\n \"slug\": \"cyberdecknet\",\n \"status\": \"active\",\n \"testnet\": false\n};\n\nvar c1273227453 = {\n \"chain\": \"wan-red-ain\",\n \"chainId\": 1273227453,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://wan-red-ain.explorer.mainnet.skalenodes.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmT5KKrpNt6duU8QfwaYw3xf4ifTBPtjahpWsMi3gsFmcS\",\n \"width\": 440,\n \"height\": 600,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://dashboard.humanprotocol.org/faucet\"],\n \"infoURL\": \"https://www.humanprotocol.org\",\n \"name\": \"HUMAN Protocol\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1273227453,\n \"rpc\": [\"https://1273227453.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.skalenodes.com/v1/wan-red-ain\"],\n \"shortName\": \"human-mainnet\",\n \"slug\": \"human-protocol\",\n \"testnet\": false,\n \"title\": \"HUMAN Protocol\"\n};\n\nvar c1313161554 = {\n \"chain\": \"NEAR\",\n \"chainId\": 1313161554,\n \"explorers\": [{\n \"name\": \"aurorascan.dev\",\n \"url\": \"https://aurorascan.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://aurora.dev\",\n \"name\": \"Aurora Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1313161554,\n \"rpc\": [\"https://1313161554.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.aurora.dev\", \"https://aurora.drpc.org\", \"wss://aurora.drpc.org\"],\n \"shortName\": \"aurora\",\n \"slug\": \"aurora\",\n \"testnet\": false\n};\n\nvar c1313161555 = {\n \"chain\": \"NEAR\",\n \"chainId\": 1313161555,\n \"explorers\": [{\n \"name\": \"aurorascan.dev\",\n \"url\": \"https://testnet.aurorascan.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://aurora.dev\",\n \"name\": \"Aurora Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1313161555,\n \"rpc\": [\"https://1313161555.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.aurora.dev/\", \"https://aurora-testnet.drpc.org\", \"wss://aurora-testnet.drpc.org\"],\n \"shortName\": \"aurora-testnet\",\n \"slip44\": 1,\n \"slug\": \"aurora-testnet\",\n \"testnet\": true\n};\n\nvar c1313161556 = {\n \"chain\": \"NEAR\",\n \"chainId\": 1313161556,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://aurora.dev\",\n \"name\": \"Aurora Betanet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1313161556,\n \"rpc\": [],\n \"shortName\": \"aurora-betanet\",\n \"slug\": \"aurora-betanet\",\n \"testnet\": false\n};\n\nvar c1313161560 = {\n \"chain\": \"NEAR\",\n \"chainId\": 1313161560,\n \"explorers\": [{\n \"name\": \"PowerGold explorer\",\n \"url\": \"https://explorer.powergold.aurora.dev\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreib2sabb6vgfoskobp2wdr6if7v6s34f2xwjecfceui6qhjudmu4u4\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.powergold.tech\",\n \"name\": \"PowerGold\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1313161560,\n \"rpc\": [\"https://1313161560.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://powergold.aurora.dev\"],\n \"shortName\": \"powergold\",\n \"slug\": \"powergold\",\n \"testnet\": false\n};\n\nvar c1350216234 = {\n \"chain\": \"parallel-stormy-spica\",\n \"chainId\": 1350216234,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.skale.network/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiagrt5dhgltg2kmw7hf24kslstr5h42e745luuxwp2wbg24gm6zza\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"name\": \"SKALE Titan Hub\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1350216234,\n \"rpc\": [\"https://1350216234.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\", \"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica\"],\n \"shortName\": \"titan-mainnet\",\n \"slug\": \"skale-titan-hub\",\n \"testnet\": false\n};\n\nvar c1351057110 = {\n \"chain\": \"staging-fast-active-bellatrix\",\n \"chainId\": 1351057110,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmbYYCoU2G4LUfRr9ofGowF3eatfvWv9FiPVhqKndZeqwA\",\n \"width\": 400,\n \"height\": 400,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [\"https://sfuel.skale.network/staging/chaos\"],\n \"infoURL\": \"https://docs.skale.network/develop/\",\n \"name\": \"Chaos (SKALE Testnet)\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1351057110,\n \"rpc\": [\"https://1351057110.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"],\n \"shortName\": \"chaos-tenet\",\n \"slip44\": 1,\n \"slug\": \"chaos-skale-testnet\",\n \"testnet\": true,\n \"title\": \"Chaos Testnet\"\n};\n\nvar c1380012617 = {\n \"chain\": \"Rari\",\n \"chainId\": 1380012617,\n \"explorers\": [{\n \"name\": \"rarichain-explorer\",\n \"url\": \"https://mainnet.explorer.rarichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmdAX6818vZ3bAsPRv1DZGrc7qc8XTrgCnRLWrMecixhXb/RARI%20Chain%20Logomark%20Color.png\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://rari-mainnet.caldera.dev/\",\n \"name\": \"Rari Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1380012617,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://rari.calderabridge.xyz/\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://1380012617.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.rpc.rarichain.org/http\", \"https://rari.calderachain.xyz/http\"],\n \"shortName\": \"rari\",\n \"slug\": \"rari\",\n \"testnet\": false\n};\n\nvar c1380996178 = {\n \"chain\": \"RPTR\",\n \"chainId\": 1380996178,\n \"explorers\": [{\n \"name\": \"RaptorChain Explorer\",\n \"url\": \"https://explorer.raptorchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmQuvmiN6vM6Rqzqe1pMzDf8iZXqTtSeqCgGe5k5AyksDU\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmQuvmiN6vM6Rqzqe1pMzDf8iZXqTtSeqCgGe5k5AyksDU\",\n \"width\": 200,\n \"height\": 200,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://raptorchain.io\",\n \"name\": \"RaptorChain\",\n \"nativeCurrency\": {\n \"name\": \"Raptor\",\n \"symbol\": \"RPTR\",\n \"decimals\": 18\n },\n \"networkId\": 1380996178,\n \"rpc\": [\"https://1380996178.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.raptorchain.io/web3\"],\n \"shortName\": \"rptr\",\n \"slug\": \"raptorchain\",\n \"testnet\": false\n};\n\nvar c1444673419 = {\n \"chain\": \"juicy-low-small-testnet\",\n \"chainId\": 1444673419,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://juicy-low-small-testnet.explorer.testnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://www.sfuelstation.com/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiezcwowhm6xjrkt44cmiu6ml36rhrxx3amcg3cfkcntv2vgcvgbre\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://europahub.network/\",\n \"name\": \"SKALE Europa Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1444673419,\n \"rpc\": [\"https://1444673419.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.skalenodes.com/v1/juicy-low-small-testnet\"],\n \"shortName\": \"europa-testnet\",\n \"slip44\": 1,\n \"slug\": \"skale-europa-hub-testnet\",\n \"testnet\": true,\n \"title\": \"SKALE Europa Hub Testnet\"\n};\n\nvar c1482601649 = {\n \"chain\": \"green-giddy-denebola\",\n \"chainId\": 1482601649,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.skale.network/\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeic5eexvd34wfy4kuebcyu73qpkv3x57s54ebzjyhyjsmeuni5jwcm\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://nebulachain.io/\",\n \"name\": \"SKALE Nebula Hub\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1482601649,\n \"rpc\": [\"https://1482601649.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.skalenodes.com/v1/green-giddy-denebola\", \"wss://mainnet-proxy.skalenodes.com/v1/ws/green-giddy-denebola\"],\n \"shortName\": \"nebula-mainnet\",\n \"slug\": \"skale-nebula-hub\",\n \"testnet\": false\n};\n\nvar c1517929550 = {\n \"chain\": \"staging-aware-chief-gianfar\",\n \"chainId\": 1517929550,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.dirtroad.dev/staging\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiagrt5dhgltg2kmw7hf24kslstr5h42e745luuxwp2wbg24gm6zza\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"png\"\n },\n \"name\": \"Deprecated SKALE Titan Hub Testnet\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1517929550,\n \"rpc\": [\"https://1517929550.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\", \"wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar\"],\n \"shortName\": \"deprecated-titan-testnet\",\n \"slip44\": 1,\n \"slug\": \"deprecated-skale-titan-hub-testnet\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c1564830818 = {\n \"chain\": \"honorable-steel-rasalhague\",\n \"chainId\": 1564830818,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://sfuel.dirtroad.dev\"],\n \"icon\": {\n \"url\": \"ipfs://bafybeigyayzxvt7vosat4rtrbmhhnldgx57w2pfbutuniax7h6kswzi42m\",\n \"width\": 1637,\n \"height\": 1636,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://calypsohub.network/\",\n \"name\": \"SKALE Calypso Hub\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 1564830818,\n \"rpc\": [\"https://1564830818.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"],\n \"shortName\": \"calypso-mainnet\",\n \"slug\": \"skale-calypso-hub\",\n \"testnet\": false\n};\n\nvar c1666600000 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666600000,\n \"ens\": {\n \"registry\": \"0x4cd2563118e57b19179d8dc033f2b0c5b5d69ff5\"\n },\n \"explorers\": [{\n \"name\": \"Harmony Block Explorer\",\n \"url\": \"https://explorer.harmony.one\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Mainnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666600000,\n \"rpc\": [\"https://1666600000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.harmony.one\", \"https://a.api.s0.t.hmny.io\", \"https://api.s0.t.hmny.io\", \"https://rpc.ankr.com/harmony\", \"https://harmony.api.onfinality.io/public\", \"https://1rpc.io/one\", \"https://harmony-0.drpc.org\", \"wss://harmony-0.drpc.org\"],\n \"shortName\": \"hmy-s0\",\n \"slip44\": 1023,\n \"slug\": \"harmony-shard-0\",\n \"testnet\": false\n};\n\nvar c1666600001 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666600001,\n \"explorers\": [{\n \"name\": \"Harmony Block Explorer\",\n \"url\": \"https://explorer.harmony.one/blocks/shard/1\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Mainnet Shard 1\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666600001,\n \"rpc\": [\"https://1666600001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s1.t.hmny.io\", \"https://harmony-1.drpc.org\", \"wss://harmony-1.drpc.org\"],\n \"shortName\": \"hmy-s1\",\n \"slip44\": 1023,\n \"slug\": \"harmony-shard-1\",\n \"testnet\": false\n};\n\nvar c1666600002 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666600002,\n \"explorers\": [{\n \"name\": \"Harmony Block Explorer\",\n \"url\": \"https://explorer.harmony.one/blocks/shard/2\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Mainnet Shard 2\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666600002,\n \"rpc\": [\"https://1666600002.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s2.t.hmny.io\"],\n \"shortName\": \"hmy-s2\",\n \"slip44\": 1023,\n \"slug\": \"harmony-shard-2\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c1666600003 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666600003,\n \"explorers\": [{\n \"name\": \"Harmony Block Explorer\",\n \"url\": \"https://explorer.harmony.one/blocks/shard/3\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Mainnet Shard 3\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666600003,\n \"rpc\": [\"https://1666600003.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s3.t.hmny.io\"],\n \"shortName\": \"hmy-s3\",\n \"slip44\": 1023,\n \"slug\": \"harmony-shard-3\",\n \"status\": \"deprecated\",\n \"testnet\": false\n};\n\nvar c1666700000 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666700000,\n \"explorers\": [{\n \"name\": \"Harmony Testnet Block Explorer\",\n \"url\": \"https://explorer.testnet.harmony.one\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.pops.one\"],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Testnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666700000,\n \"rpc\": [\"https://1666700000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s0.b.hmny.io\"],\n \"shortName\": \"hmy-b-s0\",\n \"slug\": \"harmony-testnet-shard-0\",\n \"testnet\": true\n};\n\nvar c1666700001 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666700001,\n \"explorers\": [{\n \"name\": \"Harmony Block Explorer\",\n \"url\": \"https://explorer.testnet.harmony.one\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://faucet.pops.one\"],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Testnet Shard 1\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666700001,\n \"rpc\": [\"https://1666700001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s1.b.hmny.io\"],\n \"shortName\": \"hmy-b-s1\",\n \"slug\": \"harmony-testnet-shard-1\",\n \"testnet\": true\n};\n\nvar c1666900000 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666900000,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Devnet Shard 0\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666900000,\n \"rpc\": [\"https://1666900000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s0.ps.hmny.io\"],\n \"shortName\": \"hmy-ps-s0\",\n \"slug\": \"harmony-devnet-shard-0\",\n \"testnet\": false\n};\n\nvar c1666900001 = {\n \"chain\": \"Harmony\",\n \"chainId\": 1666900001,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.harmony.one/\",\n \"name\": \"Harmony Devnet Shard 1\",\n \"nativeCurrency\": {\n \"name\": \"ONE\",\n \"symbol\": \"ONE\",\n \"decimals\": 18\n },\n \"networkId\": 1666900001,\n \"rpc\": [\"https://1666900001.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://api.s1.ps.hmny.io\"],\n \"shortName\": \"hmy-ps-s1\",\n \"slug\": \"harmony-devnet-shard-1\",\n \"testnet\": false\n};\n\nvar c1802203764 = {\n \"chain\": \"ETH\",\n \"chainId\": 1802203764,\n \"explorers\": [{\n \"name\": \"Kakarot Scan\",\n \"url\": \"https://sepolia.kakarotscan.org\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Kakarot Explorer\",\n \"url\": \"https://sepolia-explorer.kakarot.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://kakarot.org\",\n \"name\": \"Kakarot Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1802203764,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": []\n },\n \"rpc\": [\"https://1802203764.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://sepolia-rpc.kakarot.org\"],\n \"shortName\": \"kkrt-sepolia\",\n \"slug\": \"kakarot-sepolia\",\n \"testnet\": false\n};\n\nvar c1903648807 = {\n \"chain\": \"Gemuchain\",\n \"chainId\": 1903648807,\n \"explorers\": [{\n \"name\": \"Gemuchain Explorer\",\n \"url\": \"https://gemutest-explorer.gemuchain.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"https://explorer.gemuchain.io/assets/network_logo.svg\",\n \"width\": 345,\n \"height\": 48,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"https://raw.githubusercontent.com/UrfinDeuce/logos/05725373b48fb7e3de75737f621b21a4a6557c76/GemuChain%20logo.svg\",\n \"width\": 345,\n \"height\": 48,\n \"format\": \"svg\"\n },\n \"name\": \"Gemuchain Lab\",\n \"nativeCurrency\": {\n \"name\": \"GEMU\",\n \"symbol\": \"GEMU\",\n \"decimals\": 18\n },\n \"networkId\": 1903648807,\n \"redFlags\": [],\n \"rpc\": [\"https://1903648807.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gemutest-rpc.gemuchain.io\"],\n \"shortName\": \"GEMU\",\n \"slug\": \"gemuchain-lab\",\n \"testnet\": true\n};\n\nvar c1918988905 = {\n \"chain\": \"RARI-T\",\n \"chainId\": 1918988905,\n \"explorers\": [{\n \"name\": \"rarichain-testnet-explorer\",\n \"url\": \"https://explorer.rarichain.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://rarichain.org/\",\n \"name\": \"RARIchain Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 1918988905,\n \"redFlags\": [],\n \"rpc\": [\"https://1918988905.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet.rpc.rarichain.org/http\"],\n \"shortName\": \"eth\",\n \"slug\": \"rarichain-testnet\",\n \"testnet\": true\n};\n\nvar c2021121117 = {\n \"chain\": \"HOP\",\n \"chainId\": 2021121117,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://www.DataHopper.com\",\n \"name\": \"DataHopper\",\n \"nativeCurrency\": {\n \"name\": \"DataHoppers\",\n \"symbol\": \"HOP\",\n \"decimals\": 18\n },\n \"networkId\": 2021121117,\n \"rpc\": [\"https://2021121117.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://23.92.21.121:8545\"],\n \"shortName\": \"hop\",\n \"slug\": \"datahopper\",\n \"testnet\": false\n};\n\nvar c2046399126 = {\n \"chain\": \"europa\",\n \"chainId\": 2046399126,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://ruby.exchange/faucet.html\", \"https://sfuel.mylilius.com/\"],\n \"icon\": {\n \"url\": \"ipfs://bafkreiezcwowhm6xjrkt44cmiu6ml36rhrxx3amcg3cfkcntv2vgcvgbre\",\n \"width\": 600,\n \"height\": 600,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://europahub.network/\",\n \"name\": \"SKALE Europa Hub\",\n \"nativeCurrency\": {\n \"name\": \"sFUEL\",\n \"symbol\": \"sFUEL\",\n \"decimals\": 18\n },\n \"networkId\": 2046399126,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-1\",\n \"bridges\": [{\n \"url\": \"https://ruby.exchange/bridge.html\"\n }]\n },\n \"rpc\": [\"https://2046399126.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.skalenodes.com/v1/elated-tan-skat\", \"wss://mainnet.skalenodes.com/v1/elated-tan-skat\"],\n \"shortName\": \"europa\",\n \"slug\": \"skale-europa-hub\",\n \"testnet\": false\n};\n\nvar c2863311531 = {\n \"chain\": \"Ancient8\",\n \"chainId\": 2863311531,\n \"explorers\": [{\n \"name\": \"a8scan-testnet\",\n \"url\": \"https://testnet.a8scan.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreievnqg3xjokaty4kfbxxbrzm5v5y7exbaaia2txrh4sfgrqsalfym\",\n \"width\": 128,\n \"height\": 128,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://ancient8.gg/\",\n \"name\": \"Ancient8 Testnet (deprecated)\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2863311531,\n \"rpc\": [\"https://2863311531.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc-testnet.ancient8.gg\"],\n \"shortName\": \"a8old\",\n \"slip44\": 1,\n \"slug\": \"ancient8-testnet-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c3125659152 = {\n \"chain\": \"PIRL\",\n \"chainId\": 3125659152,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://pirl.io\",\n \"name\": \"Pirl\",\n \"nativeCurrency\": {\n \"name\": \"Pirl Ether\",\n \"symbol\": \"PIRL\",\n \"decimals\": 18\n },\n \"networkId\": 3125659152,\n \"rpc\": [\"https://3125659152.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://wallrpc.pirl.io\"],\n \"shortName\": \"pirl\",\n \"slip44\": 164,\n \"slug\": \"pirl\",\n \"testnet\": false\n};\n\nvar c4216137055 = {\n \"chain\": \"OLT\",\n \"chainId\": 4216137055,\n \"explorers\": [{\n \"name\": \"OneLedger Block Explorer\",\n \"url\": \"https://frankenstein-explorer.oneledger.network\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://frankenstein-faucet.oneledger.network\"],\n \"icon\": {\n \"url\": \"ipfs://QmRhqq4Gp8G9w27ND3LeFW49o5PxcxrbJsqHbpBFtzEMfC\",\n \"width\": 225,\n \"height\": 225,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://oneledger.io\",\n \"name\": \"OneLedger Testnet Frankenstein\",\n \"nativeCurrency\": {\n \"name\": \"OLT\",\n \"symbol\": \"OLT\",\n \"decimals\": 18\n },\n \"networkId\": 4216137055,\n \"rpc\": [\"https://4216137055.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://frankenstein-rpc.oneledger.network\"],\n \"shortName\": \"frankenstein\",\n \"slip44\": 1,\n \"slug\": \"oneledger-testnet-frankenstein\",\n \"testnet\": true\n};\n\nvar c11297108099 = {\n \"chain\": \"Palm\",\n \"chainId\": 11297108099,\n \"explorers\": [{\n \"name\": \"Chainlens\",\n \"url\": \"https://testnet.palm.chainlens.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Dora\",\n \"url\": \"https://www.ondora.xyz/network/palm-testnet\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihifvvbq6xzviygveivayogqiotdtpjvilu27bgqobduqemzeq7o4\",\n \"width\": 72,\n \"height\": 72,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://palm.network\",\n \"name\": \"Palm Testnet\",\n \"nativeCurrency\": {\n \"name\": \"PALM\",\n \"symbol\": \"PALM\",\n \"decimals\": 18\n },\n \"networkId\": 11297108099,\n \"rpc\": [\"https://11297108099.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://palm-testnet.infura.io/v3/${INFURA_API_KEY}\", \"https://palm-testnet.public.blastapi.io\"],\n \"shortName\": \"tpalm\",\n \"slip44\": 1,\n \"slug\": \"palm-testnet\",\n \"testnet\": true\n};\n\nvar c11297108109 = {\n \"chain\": \"Palm\",\n \"chainId\": 11297108109,\n \"explorers\": [{\n \"name\": \"Chainlens\",\n \"url\": \"https://palm.chainlens.com\",\n \"standard\": \"EIP3091\"\n }, {\n \"name\": \"Dora\",\n \"url\": \"https://www.ondora.xyz/network/palm\",\n \"standard\": \"none\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihifvvbq6xzviygveivayogqiotdtpjvilu27bgqobduqemzeq7o4\",\n \"width\": 72,\n \"height\": 72,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://palm.network\",\n \"name\": \"Palm\",\n \"nativeCurrency\": {\n \"name\": \"PALM\",\n \"symbol\": \"PALM\",\n \"decimals\": 18\n },\n \"networkId\": 11297108109,\n \"rpc\": [\"https://11297108109.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://palm-mainnet.infura.io/v3/${INFURA_API_KEY}\", \"https://palm-mainnet.public.blastapi.io\"],\n \"shortName\": \"palm\",\n \"slug\": \"palm\",\n \"testnet\": false\n};\n\nvar c28872323069 = {\n \"chain\": \"ETH\",\n \"chainId\": 28872323069,\n \"explorers\": [],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://bafkreihdfuzytq2og65n3d3b2kzfvk6yywvqdlorrt6h76q4baz5phcvju\",\n \"width\": 256,\n \"height\": 256,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://gitswarm.com/\",\n \"name\": \"GitSwarm Test Network\",\n \"nativeCurrency\": {\n \"name\": \"GitSwarm Ether\",\n \"symbol\": \"GS-ETH\",\n \"decimals\": 18\n },\n \"networkId\": 28872323069,\n \"rpc\": [\"https://28872323069.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gitswarm.com:2096\"],\n \"shortName\": \"GS-ETH\",\n \"slip44\": 1,\n \"slug\": \"gitswarm-test-network\",\n \"status\": \"incubating\",\n \"testnet\": true,\n \"title\": \"GitSwarm Test Network\"\n};\n\nvar c37714555429 = {\n \"chain\": \"Xai Sepolia\",\n \"chainId\": 37714555429,\n \"explorers\": [{\n \"name\": \"Blockscout\",\n \"url\": \"https://testnet-explorer-v2.xai-chain.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmbWFbhjKw7zfsK5Rd9YxZgJgS43fpySPozjhYc98ibbEV/xai-icon.png\",\n \"width\": 1024,\n \"height\": 1024,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://xai.games\",\n \"name\": \"Xai Sepolia\",\n \"nativeCurrency\": {\n \"name\": \"sXAI\",\n \"symbol\": \"sXAI\",\n \"decimals\": 18\n },\n \"networkId\": 37714555429,\n \"parent\": {\n \"type\": \"L3\",\n \"chain\": \"eip155-1\",\n \"bridges\": []\n },\n \"redFlags\": [],\n \"rpc\": [\"https://37714555429.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://testnet-v2.xai-chain.net/rpc\"],\n \"shortName\": \"xai-sepolia\",\n \"slug\": \"xai-sepolia\",\n \"testnet\": true\n};\n\nvar c47279324479 = {\n \"chain\": \"Xai Goerli Orbit Testnet\",\n \"chainId\": 47279324479,\n \"explorers\": [],\n \"faucets\": [],\n \"features\": [],\n \"infoURL\": \"https://xai.games/\",\n \"name\": \"Xai Goerli Orbit\",\n \"nativeCurrency\": {\n \"name\": \"Xai Goerli Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 47279324479,\n \"redFlags\": [],\n \"rpc\": [],\n \"shortName\": \"xai-goerli\",\n \"slug\": \"xai-goerli-orbit\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c88153591557 = {\n \"chain\": \"ETH\",\n \"chainId\": 88153591557,\n \"explorers\": [{\n \"name\": \"blockscout\",\n \"url\": \"https://arb-blueberry.gelatoscout.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmYtUimyqHkkFxYdbXXRbUqNg2VLPUg6Uu2C2nmFWowiZM\",\n \"width\": 551,\n \"height\": 540,\n \"format\": \"png\"\n }\n }],\n \"faucets\": [],\n \"features\": [],\n \"icon\": {\n \"url\": \"ipfs://QmQXw4QEDR4AbUwX9scH7aGhiSDhQRxu6LCQoUkgsYgGyK/Gelato%20brand%20mark.png\",\n \"width\": 300,\n \"height\": 300,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://raas.gelato.network/rollups/details/public/arb-blueberry\",\n \"name\": \"Arbitrum Blueberry\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 88153591557,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-421614\",\n \"bridges\": [{\n \"url\": \"https://bridge.gelato.network/bridge/arb-blueberry\"\n }]\n },\n \"redFlags\": [],\n \"rpc\": [\"https://88153591557.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.arb-blueberry.gelato.digital\", \"wss://ws.arb-blueberry.gelato.digital\"],\n \"shortName\": \"arb-blueberry\",\n \"slip44\": 60,\n \"slug\": \"arbitrum-blueberry\",\n \"status\": \"active\",\n \"testnet\": true,\n \"title\": \"Arbitrum Blueberry\"\n};\n\nvar c107107114116 = {\n \"chain\": \"ETH\",\n \"chainId\": 107107114116,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://kakarot.org\",\n \"name\": \"Kakarot Sepolia Deprecated\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 107107114116,\n \"parent\": {\n \"type\": \"L2\",\n \"chain\": \"eip155-11155111\",\n \"bridges\": []\n },\n \"rpc\": [],\n \"shortName\": \"kkrt-sepolia-deprecated\",\n \"slug\": \"kakarot-sepolia-deprecated\",\n \"testnet\": false\n};\n\nvar c111222333444 = {\n \"chain\": \"Alphabet Network\",\n \"chainId\": 111222333444,\n \"explorers\": [{\n \"name\": \"Alphabet Explorer\",\n \"url\": \"https://scan.alphabetnetwork.org\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmfTeudwVJcu7jzySBcpD9H5ZVK66nPJKRnicxend1bxfq\",\n \"width\": 500,\n \"height\": 500,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://alphabetnetwork.org\",\n \"name\": \"Alphabet Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"ALT\",\n \"symbol\": \"ALT\",\n \"decimals\": 18\n },\n \"networkId\": 111222333444,\n \"rpc\": [\"https://111222333444.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://londonpublic.alphabetnetwork.org\", \"wss://londonpublic.alphabetnetwork.org/ws/\", \"https://main-rpc.com\", \"wss://main-rpc.com/ws/\"],\n \"shortName\": \"alphabet\",\n \"slug\": \"alphabet\",\n \"testnet\": false\n};\n\nvar c197710212030 = {\n \"chain\": \"Ntity\",\n \"chainId\": 197710212030,\n \"explorers\": [{\n \"name\": \"Ntity Blockscout\",\n \"url\": \"https://blockscout.ntity.io\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSW2YhCvMpnwtPGTJAuEK2QgyWfFjmnwcrapUg6kqFsPf\",\n \"width\": 711,\n \"height\": 715,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSW2YhCvMpnwtPGTJAuEK2QgyWfFjmnwcrapUg6kqFsPf\",\n \"width\": 711,\n \"height\": 715,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://ntity.io\",\n \"name\": \"Ntity Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"Ntity\",\n \"symbol\": \"NTT\",\n \"decimals\": 18\n },\n \"networkId\": 197710212030,\n \"rpc\": [\"https://197710212030.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://rpc.ntity.io\"],\n \"shortName\": \"ntt\",\n \"slug\": \"ntity\",\n \"testnet\": false\n};\n\nvar c197710212031 = {\n \"chain\": \"Ntity\",\n \"chainId\": 197710212031,\n \"explorers\": [{\n \"name\": \"Ntity Haradev Blockscout\",\n \"url\": \"https://blockscout.haradev.com\",\n \"standard\": \"EIP3091\",\n \"icon\": {\n \"url\": \"ipfs://QmSW2YhCvMpnwtPGTJAuEK2QgyWfFjmnwcrapUg6kqFsPf\",\n \"width\": 711,\n \"height\": 715,\n \"format\": \"svg\"\n }\n }],\n \"faucets\": [],\n \"icon\": {\n \"url\": \"ipfs://QmSW2YhCvMpnwtPGTJAuEK2QgyWfFjmnwcrapUg6kqFsPf\",\n \"width\": 711,\n \"height\": 715,\n \"format\": \"svg\"\n },\n \"infoURL\": \"https://ntity.io\",\n \"name\": \"Haradev Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ntity Haradev\",\n \"symbol\": \"NTTH\",\n \"decimals\": 18\n },\n \"networkId\": 197710212031,\n \"rpc\": [\"https://197710212031.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://blockchain.haradev.com\"],\n \"shortName\": \"ntt-haradev\",\n \"slip44\": 1,\n \"slug\": \"haradev-testnet\",\n \"testnet\": true\n};\n\nvar c202402181627 = {\n \"chain\": \"GM Network Testnet\",\n \"chainId\": 202402181627,\n \"explorers\": [{\n \"name\": \"gmnetwork-testnet\",\n \"url\": \"https://gmnetwork-testnet-explorer.alt.technology\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://gmnetwork.ai\",\n \"name\": \"GM Network Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 202402181627,\n \"rpc\": [\"https://202402181627.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://gmnetwork-testnet.alt.technology/\"],\n \"shortName\": \"gmnetwork-testnet\",\n \"slug\": \"gm-network-testnet\",\n \"testnet\": true\n};\n\nvar c383414847825 = {\n \"chain\": \"ZENIQ\",\n \"chainId\": 383414847825,\n \"explorers\": [{\n \"name\": \"zeniq-smart-chain-explorer\",\n \"url\": \"https://smart.zeniq.net\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [\"https://faucet.zeniq.net/\"],\n \"infoURL\": \"https://www.zeniq.dev/\",\n \"name\": \"Zeniq\",\n \"nativeCurrency\": {\n \"name\": \"Zeniq\",\n \"symbol\": \"ZENIQ\",\n \"decimals\": 18\n },\n \"networkId\": 383414847825,\n \"rpc\": [\"https://383414847825.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://smart.zeniq.network:9545\"],\n \"shortName\": \"zeniq\",\n \"slug\": \"zeniq\",\n \"testnet\": false\n};\n\nvar c666301171999 = {\n \"chain\": \"IPDC\",\n \"chainId\": 666301171999,\n \"explorers\": [{\n \"name\": \"ipdcscan\",\n \"url\": \"https://scan.ipdc.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"infoURL\": \"https://ipdc.io\",\n \"name\": \"PDC Mainnet\",\n \"nativeCurrency\": {\n \"name\": \"PDC\",\n \"symbol\": \"PDC\",\n \"decimals\": 18\n },\n \"networkId\": 666301171999,\n \"rpc\": [\"https://666301171999.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://mainnet.ipdc.io/\"],\n \"shortName\": \"ipdc\",\n \"slug\": \"pdc\",\n \"testnet\": false\n};\n\nvar c6022140761023 = {\n \"chain\": \"ETH\",\n \"chainId\": 6022140761023,\n \"explorers\": [],\n \"faucets\": [],\n \"infoURL\": \"https://github.com/Jdubedition/molereum\",\n \"name\": \"Molereum Network\",\n \"nativeCurrency\": {\n \"name\": \"Molereum Ether\",\n \"symbol\": \"MOLE\",\n \"decimals\": 18\n },\n \"networkId\": 6022140761023,\n \"rpc\": [\"https://6022140761023.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://molereum.jdubedition.com\"],\n \"shortName\": \"mole\",\n \"slug\": \"molereum-network\",\n \"testnet\": false\n};\n\nvar c868455272153094 = {\n \"chain\": \"GWT\",\n \"chainId\": 868455272153094,\n \"explorers\": [{\n \"name\": \"GWScan Block Explorer\",\n \"url\": \"https://v1.aggron.gwscan.com\",\n \"standard\": \"none\"\n }],\n \"faucets\": [\"https://homura.github.io/light-godwoken\"],\n \"infoURL\": \"https://www.nervos.org\",\n \"name\": \"Godwoken Testnet (V1)\",\n \"nativeCurrency\": {\n \"name\": \"CKB\",\n \"symbol\": \"CKB\",\n \"decimals\": 8\n },\n \"networkId\": 868455272153094,\n \"rpc\": [\"https://868455272153094.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://godwoken-testnet-web3-v1-rpc.ckbapp.dev\"],\n \"shortName\": \"gw-testnet-v1-deprecated\",\n \"slip44\": 1,\n \"slug\": \"godwoken-testnet-v1-gw-testnet-v1-deprecated\",\n \"status\": \"deprecated\",\n \"testnet\": true\n};\n\nvar c2713017997578000 = {\n \"chain\": \"dchaint\",\n \"chainId\": 2713017997578000,\n \"explorers\": [{\n \"name\": \"dchaint scan\",\n \"url\": \"https://dchaintestnet-2713017997578000-1.testnet.sagaexplorer.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmP2cDWvgMuPgwAAEX9KexowUEjw6q7zCUSsWcb8HdudUH\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.dchain.foundation/\",\n \"name\": \"DCHAIN Testnet\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2713017997578000,\n \"rpc\": [\"https://2713017997578000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dchaintestnet-2713017997578000-1.jsonrpc.testnet.sagarpc.io\"],\n \"shortName\": \"dchaint\",\n \"slug\": \"dchain-testnet\",\n \"testnet\": true,\n \"title\": \"DCHAIN Testnet\"\n};\n\nvar c2716446429837000 = {\n \"chain\": \"dchainmainnet\",\n \"chainId\": 2716446429837000,\n \"explorers\": [{\n \"name\": \"dchain scan\",\n \"url\": \"https://dchain-2716446429837000-1.sagaexplorer.io\",\n \"standard\": \"EIP3091\"\n }],\n \"faucets\": [],\n \"features\": [{\n \"name\": \"EIP155\"\n }, {\n \"name\": \"EIP1559\"\n }],\n \"icon\": {\n \"url\": \"ipfs://QmamkxtxT1uFWQGxswmzBRkoTcZuU5biM1QvdsU6SD36K6\",\n \"width\": 512,\n \"height\": 512,\n \"format\": \"png\"\n },\n \"infoURL\": \"https://www.dchain.foundation/\",\n \"name\": \"DCHAIN\",\n \"nativeCurrency\": {\n \"name\": \"Ether\",\n \"symbol\": \"ETH\",\n \"decimals\": 18\n },\n \"networkId\": 2716446429837000,\n \"rpc\": [\"https://2716446429837000.rpc.thirdweb.com/${THIRDWEB_API_KEY}\", \"https://dchain-2716446429837000-1.jsonrpc.sagarpc.io\"],\n \"shortName\": \"dchainmainnet\",\n \"slug\": \"dchain\",\n \"testnet\": false,\n \"title\": \"DCHAIN Mainnet\"\n};\n\nconst defaultOptions = {\n mode: \"http\"\n};\n\n/**\n * Construct the list of RPC URLs given a specific chain config. Format any RPC URLs\n * with necessary API keys.\n *\n * @param chain - The chain config to assemble RPC URLs from\n * @param options - Options to configure the RPC URLs\n * @returns The list of RPC URLs for the chain\n */\nfunction getChainRPCs(chain, options) {\n const {\n thirdwebApiKey,\n alchemyApiKey,\n infuraApiKey,\n mode\n } = {\n ...defaultOptions,\n ...options\n };\n const processedRPCs = [];\n chain.rpc.forEach(rpc => {\n // exclude RPC if mode mismatch\n if (mode === \"http\" && !rpc.startsWith(\"http\")) {\n return;\n }\n if (mode === \"ws\" && !rpc.startsWith(\"ws\")) {\n return;\n }\n\n // Replace API_KEY placeholder with value\n if (thirdwebApiKey && rpc.includes(\"${THIRDWEB_API_KEY}\")) {\n processedRPCs.push(rpc.replace(\"${THIRDWEB_API_KEY}\", thirdwebApiKey));\n } else if (infuraApiKey && rpc.includes(\"${INFURA_API_KEY}\")) {\n processedRPCs.push(rpc.replace(\"${INFURA_API_KEY}\", infuraApiKey));\n } else if (alchemyApiKey && rpc.includes(\"${ALCHEMY_API_KEY}\")) {\n processedRPCs.push(rpc.replace(\"${ALCHEMY_API_KEY}\", alchemyApiKey));\n }\n\n // exclude RPCs with unknown placeholder\n else if (rpc.includes(\"${\")) {\n return;\n }\n\n // add as is\n else {\n processedRPCs.push(rpc);\n }\n });\n if (processedRPCs.length === 0) {\n throw new Error(`No RPC available for chainId \"${chain.chainId}\" with mode ${mode}`);\n }\n return processedRPCs;\n}\n\n/**\n * Construct the list of RPC URLs given a specific chain config. Format any RPC URLs\n * with necessary clientId/secretKey and returns the first valid one.\n *\n * @param chain - The chain config to assemble RPC URLs from\n * @param clientId - The client id to use for the RPC URL\n * @returns The first valid RPC URL for the chain\n */\nfunction getValidChainRPCs(chain, clientId) {\n let mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"http\";\n const processedRPCs = [];\n chain.rpc.forEach(rpc => {\n // exclude RPC if mode mismatch\n if (mode === \"http\" && !rpc.startsWith(\"http\")) {\n return;\n }\n if (mode === \"ws\" && !rpc.startsWith(\"ws\")) {\n return;\n }\n\n // Replace API_KEY placeholder with value\n if (rpc.includes(\"${THIRDWEB_API_KEY}\")) {\n if (clientId) {\n processedRPCs.push(rpc.replace(\"${THIRDWEB_API_KEY}\", clientId) + (typeof globalThis !== \"undefined\" && \"APP_BUNDLE_ID\" in globalThis && !!globalThis.APP_BUNDLE_ID ?\n // @ts-ignore\n `/?bundleId=${globalThis.APP_BUNDLE_ID}` : \"\"));\n } else {\n // if no client id, let it through with empty string\n // if secretKey is present, it will be used in header\n // if none are passed, will have reduced access\n processedRPCs.push(rpc.replace(\"${THIRDWEB_API_KEY}\", \"\"));\n }\n }\n\n // exclude RPCs with unknown placeholder\n else if (rpc.includes(\"${\")) {\n return;\n }\n\n // add as is\n else {\n processedRPCs.push(rpc);\n }\n });\n if (processedRPCs.length === 0) {\n throw new Error(`No RPC available for chainId \"${chain.chainId}\" with mode ${mode}`);\n }\n return processedRPCs;\n}\n\n/**\n * Get the highest priority RPC URL for a specific chain\n *\n * @param chain - The chain config to get the RPC URL for\n * @param options - Options to configure the RPC URL\n * @returns The RPC URL for the chain\n *\n * @internal\n */\nfunction getChainRPC(chain, options) {\n return getChainRPCs(chain, options)[0];\n}\nfunction minimizeChain(chain) {\n const [firstRpc] = chain.rpc;\n return {\n name: chain.name,\n chain: chain.chain,\n rpc: [firstRpc],\n nativeCurrency: chain.nativeCurrency,\n shortName: chain.shortName,\n chainId: chain.chainId,\n testnet: chain.testnet,\n slug: chain.slug,\n icon: chain.icon\n };\n}\nfunction configureChain(chain, chainConfig) {\n let additionalRPCs = [];\n if (chainConfig?.rpc) {\n if (typeof chainConfig.rpc === \"string\") {\n additionalRPCs = [chainConfig.rpc];\n } else {\n additionalRPCs = chainConfig.rpc;\n }\n }\n // prepend additional RPCs to the chain's RPCs\n return {\n ...chain,\n rpc: [...additionalRPCs, ...chain.rpc]\n };\n}\n\n/**\n *\n * use the clientId and return a new chain object with updated RPCs\n */\nfunction updateChainRPCs(chain, clientId) {\n try {\n return {\n ...chain,\n rpc: getValidChainRPCs(chain, clientId)\n };\n } catch (error) {\n return chain;\n }\n}\n\n// cache of chainId -> Chain\nconst chainCache = {};\n// cache of slug -> chainId\nconst slugToChainId = {};\nasync function fetchChain(chainIdOrSlug) {\n if (typeof chainIdOrSlug === \"string\" && chainIdOrSlug in slugToChainId) {\n return chainCache[slugToChainId[chainIdOrSlug]];\n } else if (typeof chainIdOrSlug === \"number\" && chainIdOrSlug in chainCache) {\n return chainCache[chainIdOrSlug];\n }\n const res = await fetch(`https://api.thirdweb.com/v1/chains/${chainIdOrSlug}`);\n if (!res.ok) {\n console.debug(\"[chains] fetchChain() failed\", res.status, res.statusText);\n return null;\n }\n try {\n const json = await res.json();\n if (json.error) {\n console.debug(\"[chains] fetchChain() error\", json.error);\n return null;\n }\n const chain = json.data;\n // store the chain in chainCache\n chainCache[chain.chainId] = chain;\n // store the slug<->chainId in slugToChainId\n slugToChainId[chain.slug] = chain.chainId;\n return json.data;\n } catch (err) {\n console.debug(\"[chains] fetchChain() failed\", err);\n return null;\n }\n}\nconst fetchChainsCache = {};\nasync function fetchChains(options) {\n // cache key is based on limit and offset (options)\n const cacheKey = `l:${options?.limit ?? 0}o:${options?.offset ?? 0}`;\n if (cacheKey in fetchChainsCache) {\n return fetchChainsCache[cacheKey];\n }\n const url = new URL(`https://api.thirdweb.com/v1/chains`);\n if (options?.limit && options.limit >= 1) {\n url.searchParams.append(\"limit\", options.limit.toString());\n }\n if (options?.offset && options.offset >= 1) {\n url.searchParams.append(\"offset\", options.offset.toString());\n }\n const res = await fetch(url);\n if (!res.ok) {\n console.debug(\"[chains] fetchChain() failed\", res.status, res.statusText);\n return null;\n }\n try {\n const json = await res.json();\n if (json.error) {\n console.debug(\"[chains] fetchChain() error\", json.error);\n return null;\n }\n fetchChainsCache[cacheKey] = json.data;\n return json.data;\n } catch (err) {\n console.debug(\"[chains] fetchChain() failed\", err);\n return null;\n }\n}\n\n/**\n *\n * @param chainId - the chainId of the chain to resolve\n * @returns A Promise that resolves to the Chain object\n * @throws if the chainId is not found\n */\nasync function getChainByChainIdAsync(chainId) {\n const chain = await fetchChain(chainId);\n if (!chain) {\n throw new Error(`Chain with chainId \"${chainId}\" not found`);\n }\n return chain;\n}\n\n/**\n *\n * @param slug - the slug of the chain to resolve\n * @returns A Promise that resolves to the Chain object\n * @throws if the slug is not found\n */\nasync function getChainBySlugAsync(slug) {\n const chain = await fetchChain(slug);\n if (!chain) {\n throw new Error(`Chain with slug \"${slug}\" not found`);\n }\n return chain;\n}\n\nconst defaultChains = [c1, c11155111, c8453, c84532, c137, c80001, c42161, c421614, c10, c11155420, c56, c97, c250, c4002, c43114, c43113, c1337];\n\n/**\n * @deprecated use `fetchChains()` instead\n */\n// @ts-expect-error - TODO: fix this later\nconst allChains = [c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c62, c63, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79, c80, c81, c82, c83, c84, c85, c86, c87, c88, c89, c90, c91, c92, c93, c94, c95, c96, c97, c98, c99, c100, c101, c102, c103, c104, c105, c106, c107, c108, c109, c110, c111, c112, c113, c114, c115, c116, c117, c118, c119, c120, c121, c122, c123, c124, c125, c126, c127, c128, c129, c131, c132, c133, c134, c135, c136, c137, c138, c139, c140, c141, c142, c144, c145, c147, c148, c150, c151, c152, c153, c154, c155, c156, c157, c158, c159, c160, c161, c162, c163, c164, c165, c166, c167, c168, c169, c170, c172, c176, c180, c181, c185, c186, c188, c189, c191, c193, c195, c196, c197, c198, c199, c200, c201, c202, c204, c206, c207, c208, c210, c211, c212, c213, c214, c217, c218, c220, c222, c223, c224, c225, c226, c228, c230, c234, c236, c238, c242, c246, c248, c250, c252, c255, c256, c258, c259, c262, c266, c267, c268, c269, c271, c274, c278, c279, c280, c282, c288, c291, c295, c296, c297, c298, c300, c301, c302, c303, c305, c307, c308, c309, c311, c313, c314, c321, c322, c323, c324, c333, c335, c336, c338, c345, c361, c363, c364, c365, c369, c371, c380, c381, c385, c395, c397, c398, c399, c400, c401, c404, c408, c411, c416, c418, c420, c422, c424, c427, c428, c434, c443, c444, c456, c462, c463, c499, c500, c501, c510, c512, c513, c516, c520, c529, c530, c534, c537, c542, c545, c555, c558, c568, c570, c571, c579, c588, c592, c595, c596, c597, c599, c600, c601, c612, c614, c634, c646, c647, c648, c653, c654, c662, c666, c667, c668, c669, c686, c690, c700, c701, c707, c708, c710, c713, c719, c721, c727, c730, c740, c741, c742, c747, c766, c776, c777, c786, c787, c788, c789, c799, c800, c803, c808, c810, c813, c814, c818, c820, c821, c822, c831, c841, c842, c859, c868, c876, c877, c880, c881, c882, c888, c898, c899, c900, c901, c902, c903, c909, c910, c911, c917, c919, c927, c940, c941, c942, c943, c949, c956, c957, c963, c969, c970, c971, c972, c977, c979, c980, c985, c987, c989, c990, c997, c998, c999, c1000, c1001, c1003, c1004, c1007, c1008, c1009, c1010, c1011, c1012, c1022, c1023, c1024, c1028, c1030, c1031, c1038, c1039, c1071, c1072, c1073, c1075, c1079, c1080, c1088, c1089, c1099, c1100, c1101, c1107, c1108, c1111, c1112, c1113, c1115, c1116, c1117, c1123, c1130, c1131, c1133, c1135, c1138, c1139, c1140, c1147, c1149, c1170, c1177, c1188, c1197, c1200, c1201, c1202, c1209, c1210, c1213, c1214, c1220, c1221, c1224, c1225, c1229, c1230, c1231, c1234, c1235, c1243, c1244, c1246, c1248, c1252, c1280, c1284, c1285, c1286, c1287, c1288, c1291, c1294, c1297, c1311, c1314, c1319, c1320, c1328, c1329, c1337, c1338, c1339, c1343, c1353, c1369, c1370, c1377, c1379, c1388, c1392, c1402, c1414, c1422, c1433, c1440, c1442, c1452, c1453, c1455, c1490, c1499, c1501, c1506, c1507, c1515, c1559, c1582, c1614, c1617, c1618, c1620, c1625, c1657, c1662, c1663, c1686, c1687, c1688, c1701, c1707, c1708, c1717, c1718, c1729, c1740, c1750, c1773, c1777, c1789, c1804, c1807, c1818, c1819, c1821, c1838, c1853, c1856, c1875, c1881, c1890, c1891, c1898, c1904, c1907, c1908, c1909, c1911, c1912, c1918, c1945, c1951, c1953, c1954, c1956, c1961, c1962, c1967, c1969, c1970, c1971, c1972, c1975, c1984, c1985, c1986, c1987, c1992, c1993, c1994, c1995, c1996, c1997, c1998, c2000, c2001, c2002, c2004, c2008, c2009, c2013, c2014, c2016, c2017, c2018, c2019, c2020, c2021, c2022, c2023, c2024, c2025, c2026, c2031, c2032, c2035, c2037, c2038, c2039, c2040, c2043, c2044, c2045, c2047, c2048, c2049, c2077, c2078, c2088, c2089, c2100, c2101, c2109, c2112, c2121, c2122, c2124, c2136, c2137, c2138, c2140, c2141, c2144, c2151, c2152, c2153, c2154, c2199, c2202, c2203, c2213, c2221, c2222, c2223, c2241, c2300, c2306, c2309, c2323, c2330, c2331, c2332, c2340, c2342, c2355, c2357, c2358, c2370, c2399, c2400, c2410, c2415, c2425, c2442, c2458, c2468, c2484, c2511, c2522, c2525, c2559, c2569, c2606, c2611, c2612, c2613, c2625, c2648, c2649, c2662, c2710, c2715, c2718, c2730, c2731, c2748, c2777, c2810, c2828, c2864, c2888, c2907, c2911, c2941, c2999, c3000, c3001, c3003, c3011, c3026, c3031, c3033, c3036, c3068, c3070, c3073, c3084, c3100, c3102, c3109, c3110, c3141, c3269, c3270, c3306, c3331, c3333, c3334, c3335, c3400, c3424, c3434, c3454, c3456, c3490, c3500, c3501, c3601, c3602, c3630, c3636, c3637, c3639, c3645, c3666, c3690, c3693, c3698, c3699, c3701, c3737, c3776, c3797, c3799, c3839, c3885, c3888, c3889, c3912, c3939, c3966, c3967, c3993, c3999, c4000, c4001, c4002, c4003, c4040, c4048, c4051, c4058, c4061, c4062, c4078, c4080, c4090, c4096, c4099, c4102, c4139, c4141, c4145, c4157, c4181, c4200, c4201, c4202, c4242, c4243, c4328, c4337, c4400, c4444, c4460, c4488, c4544, c4613, c4638, c4653, c4689, c4690, c4759, c4777, c4893, c4905, c4918, c4919, c4999, c5000, c5001, c5002, c5003, c5005, c5039, c5040, c5041, c5042, c5051, c5100, c5101, c5102, c5103, c5104, c5105, c5106, c5112, c5165, c5169, c5177, c5197, c5234, c5290, c5315, c5317, c5321, c5353, c5372, c5424, c5439, c5522, c5551, c5553, c5555, c5611, c5615, c5616, c5656, c5668, c5675, c5678, c5700, c5729, c5758, c5777, c5810, c5845, c5851, c5869, c6000, c6001, c6065, c6066, c6102, c6118, c6119, c6213, c6321, c6322, c6363, c6502, c6552, c6565, c6626, c6660, c6661, c6666, c6688, c6699, c6701, c6713, c6779, c6789, c6868, c6969, c6999, c7000, c7001, c7007, c7027, c7070, c7077, c7100, c7118, c7158, c7171, c7207, c7300, c7317, c7326, c7331, c7332, c7341, c7366, c7484, c7507, c7518, c7560, c7575, c7576, c7640, c7668, c7672, c7700, c7701, c7771, c7775, c7777, c7778, c7798, c7860, c7865, c7872, c7878, c7887, c7895, c7909, c7923, c7924, c7979, c8000, c8001, c8029, c8047, c8054, c8080, c8081, c8082, c8086, c8087, c8098, c8131, c8132, c8133, c8134, c8135, c8136, c8154, c8181, c8192, c8194, c8217, c8227, c8272, c8285, c8329, c8387, c8453, c8654, c8655, c8668, c8723, c8724, c8726, c8727, c8738, c8768, c8822, c8844, c8848, c8866, c8880, c8881, c8882, c8883, c8888, c8889, c8890, c8898, c8899, c8911, c8912, c8921, c8922, c8989, c8995, c9000, c9001, c9007, c9008, c9012, c9024, c9025, c9100, c9170, c9223, c9294, c9339, c9393, c9395, c9527, c9528, c9543, c9559, c9700, c9728, c9768, c9779, c9789, c9790, c9792, c9797, c9818, c9819, c9872, c9888, c9898, c9911, c9977, c9980, c9981, c9990, c9996, c9997, c9998, c9999, c10000, c10001, c10024, c10036, c10050, c10081, c10086, c10101, c10154, c10200, c10201, c10222, c10242, c10243, c10248, c10255, c10321, c10324, c10395, c10507, c10508, c10671, c10823, c10849, c10850, c10946, c10947, c11110, c11111, c11115, c11119, c11198, c11221, c11227, c11235, c11437, c11501, c11503, c11516, c11612, c11625, c11822, c11881, c11888, c11891, c12001, c12009, c12020, c12035, c12051, c12052, c12065, c12123, c12306, c12321, c12324, c12325, c12345, c12553, c12715, c12781, c12885, c12890, c12898, c13000, c13308, c13337, c13371, c13381, c13396, c13473, c13505, c13600, c13812, c13838, c14000, c14093, c14255, c14299, c14324, c14333, c14801, c14853, c15003, c15056, c15104, c15257, c15259, c15535, c15551, c15555, c15557, c16000, c16001, c16116, c16316, c16507, c16587, c16688, c16718, c16888, c17000, c17001, c17026, c17069, c17117, c17171, c17172, c17180, c17186, c17217, c17511, c17777, c18000, c18105, c18109, c18122, c18159, c18181, c18231, c18233, c18263, c18303, c18686, c18888, c18889, c18898, c19011, c19110, c19112, c19224, c19527, c19600, c19683, c19845, c20001, c20041, c20073, c20139, c20141, c20519, c20729, c20736, c20765, c20948, c21004, c21133, c21178, c21223, c21224, c21337, c21758, c21816, c21825, c21912, c22023, c22039, c22040, c22222, c22324, c22662, c22776, c22886, c22985, c23006, c23118, c23294, c23295, c23444, c23451, c23452, c23812, c23888, c23934, c24010, c24070, c24347, c24484, c24538, c24545, c24668, c24734, c24867, c25186, c25284, c25688, c25839, c25888, c25925, c25968, c26026, c26031, c26563, c26600, c26730, c26863, c27181, c27483, c27550, c27827, c28106, c28408, c28516, c28518, c28528, c28882, c28982, c29112, c29386, c29442, c29536, c29548, c29645, c29830, c30067, c30088, c30103, c30226, c30266, c30289, c30406, c30730, c30731, c30732, c30772, c30891, c30915, c31102, c31223, c31224, c31337, c31338, c31339, c31414, c31415, c31646, c31753, c31754, c31929, c32001, c32112, c32277, c32366, c32382, c32517, c32520, c32659, c32769, c32990, c33033, c33100, c33101, c33133, c33210, c33333, c33385, c33448, c33469, c33795, c33841, c33909, c33979, c34295, c34443, c34851, c35011, c35395, c35439, c35441, c35443, c35641, c35730, c36530, c36695, c36746, c36908, c37003, c37195, c37375, c37767, c38085, c38168, c38400, c38401, c38904, c39098, c39142, c39585, c39656, c39747, c39797, c39815, c40100, c40542, c40798, c40868, c41077, c41425, c41500, c41604, c41720, c41799, c41847, c42069, c42072, c42161, c42170, c42220, c42261, c42262, c42355, c42451, c42766, c42793, c42801, c42840, c42888, c43110, c43111, c43113, c43114, c43125, c43288, c43593, c43851, c43994, c44044, c44444, c44445, c44787, c44808, c44850, c45000, c45454, c45510, c45544, c45979, c46092, c46109, c46145, c46565, c46688, c47157, c47805, c47992, c48137, c48267, c48702, c48795, c48899, c49049, c49053, c49088, c49321, c49797, c49995, c50001, c50005, c50006, c50021, c50059, c50097, c50528, c51161, c51173, c51178, c51277, c51290, c51435, c51440, c51712, c51740, c52014, c52146, c52150, c53123, c53277, c53302, c53383, c53399, c53457, c53654, c53687, c53935, c54211, c54321, c54356, c54414, c54454, c54555, c54688, c54763, c55004, c55200, c55246, c55432, c55555, c55556, c56026, c56054, c56288, c56400, c56525, c56570, c56636, c56789, c56797, c56914, c56973, c57000, c57021, c57451, c57487, c57522, c57822, c57923, c57973, c58008, c58050, c58064, c58316, c58474, c59069, c59140, c59141, c59144, c59185, c59932, c59940, c59944, c59971, c60000, c60001, c60002, c60103, c60147, c60808, c60834, c60841, c61205, c61258, c61406, c61514, c61551, c61800, c61803, c61916, c62040, c62049, c62050, c62278, c62293, c62298, c62320, c62621, c62831, c63000, c63001, c63079, c63367, c63891, c64029, c64092, c64165, c64273, c64326, c64361, c64643, c64943, c64947, c65044, c65174, c65300, c65450, c65622, c65842, c66042, c66063, c66729, c66904, c66988, c67390, c67451, c67588, c67700, c68007, c68042, c68064, c68295, c68316, c68688, c68770, c68976, c69399, c69420, c69740, c69743, c70000, c70001, c70002, c70038, c70103, c70157, c70341, c70408, c70457, c70466, c70700, c71111, c71169, c71393, c71401, c71402, c72605, c72647, c72709, c72778, c72877, c72992, c73114, c73115, c73277, c73322, c73486, c73592, c73677, c73799, c73813, c73927, c74006, c74356, c74444, c74738, c75000, c75512, c75513, c75817, c76950, c77001, c77209, c77238, c77552, c77572, c77576, c77612, c77777, c77898, c78110, c78170, c78281, c78430, c78431, c78432, c78600, c78933, c79062, c79338, c79466, c79490, c79879, c80001, c80002, c80084, c80085, c80092, c80096, c80182, c80375, c80719, c81041, c81079, c81341, c81342, c81343, c81351, c81352, c81353, c81361, c81362, c81363, c81457, c81573, c81720, c82261, c82368, c82459, c82529, c82552, c82807, c83414, c83862, c83872, c83900, c84045, c84531, c84532, c84623, c84860, c84886, c84977, c85023, c85405, c85449, c85678, c86157, c86663, c87389, c87460, c87815, c88002, c88018, c88559, c88795, c88817, c88819, c88880, c88882, c88883, c88888, c88945, c89283, c89327, c90001, c90210, c90343, c90354, c90663, c90871, c91002, c91003, c91041, c91120, c91132, c91399, c91513, c91558, c91715, c91735, c91924, c92001, c92185, c92314, c92496, c92780, c92847, c92850, c92978, c93017, c93572, c93625, c93694, c93797, c94006, c94158, c94171, c94565, c94918, c95063, c95395, c95446, c95468, c95549, c95598, c96040, c96081, c96105, c96552, c96809, c96970, c97288, c97370, c97531, c97590, c97622, c97970, c98273, c98540, c98557, c98857, c98881, c99099, c99132, c99181, c99308, c99512, c99733, c99947, c99998, c99999, c100000, c100001, c100002, c100003, c100004, c100005, c100006, c100007, c100008, c100009, c100010, c100011, c100100, c101010, c102031, c103090, c103454, c104566, c105105, c108801, c110000, c110001, c110002, c110003, c110004, c110005, c110006, c110007, c110008, c110011, c111000, c111111, c111188, c111223, c112358, c119139, c123456, c128123, c131313, c131419, c132902, c141221, c141319, c142857, c151221, c161212, c165279, c167000, c167004, c167008, c167009, c181155, c188710, c188881, c192940, c200000, c200101, c200202, c200625, c200810, c200901, c201018, c201030, c201804, c202020, c202212, c202401, c202624, c204005, c205205, c210049, c210425, c210815, c220315, c221230, c221231, c222222, c222555, c222666, c224168, c224422, c224433, c230315, c234560, c234666, c240515, c246529, c246785, c247253, c256256, c260693, c262371, c266256, c271271, c281121, c282828, c309075, c313310, c313311, c313313, c314159, c322202, c323213, c330844, c331769, c331771, c332323, c333313, c333331, c333333, c333666, c333777, c333888, c333999, c336655, c336666, c355110, c355113, c360890, c363636, c373737, c381931, c381932, c404040, c413413, c420420, c420666, c420692, c421611, c421613, c421614, c424242, c431140, c431188, c432201, c432204, c444444, c444900, c471100, c473861, c474142, c504441, c512512, c513100, c526916, c534351, c534352, c534353, c534354, c534849, c535037, c552981, c555555, c555666, c622277, c622463, c641230, c651940, c656476, c660279, c660868, c666666, c666888, c686868, c696969, c710420, c713715, c721529, c743111, c751230, c761412, c764984, c767368, c776877, c800001, c808080, c810180, c810181, c810182, c820522, c827431, c839320, c846000, c855456, c879151, c888882, c888888, c894538, c900000, c910000, c912559, c914031, c918806, c919517, c920000, c920001, c922935, c923018, c928010, c929038, c933039, c933326, c934567, c939359, c943503, c946751, c950375, c951083, c955081, c955305, c958798, c959009, c961256, c970066, c976517, c978657, c978993, c980892, c982558, c984122, c984123, c988207, c991424, c993535, c994504, c995201, c996699, c998899, c999511, c999999, c1100789, c1127469, c1261120, c1313114, c1313500, c1337702, c1337802, c1337803, c1398243, c1440002, c1612127, c1637450, c1731313, c2021398, c2099156, c2125031, c2203181, c2206132, c2611555, c3132023, c3141592, c3397901, c3441005, c3441006, c4000003, c4281033, c5112023, c5151706, c5167003, c5167004, c5201420, c5318008, c5555555, c5555558, c6038361, c6666665, c6666666, c7225878, c7355310, c7668378, c7762959, c7777777, c8007736, c8008135, c8080808, c8601152, c8794598, c8888881, c8888888, c9322252, c9322253, c10067275, c10101010, c10241025, c11155111, c11155420, c13068200, c13371337, c14288640, c16658437, c17000920, c18289463, c20180427, c20180430, c20181205, c20201022, c20240324, c20241133, c20482050, c22052002, c27082017, c27082022, c28122024, c28945486, c29032022, c31415926, c35855456, c37084624, c39916801, c43214913, c61717561, c65010000, c65010001, c65010002, c65100000, c65100001, c65100002, c68840142, c77787778, c88888888, c94204209, c99415706, c108160679, c111557560, c123420111, c161221135, c168587773, c192837465, c222000222, c245022926, c245022934, c245022940, c278611351, c311752642, c328527624, c333000333, c344106930, c356256156, c476158412, c486217935, c503129905, c666666666, c888888888, c889910245, c889910246, c974399131, c999999999, c1020352220, c1122334455, c1146703430, c1273227453, c1313161554, c1313161555, c1313161556, c1313161560, c1350216234, c1351057110, c1380012617, c1380996178, c1444673419, c1482601649, c1517929550, c1564830818, c1666600000, c1666600001, c1666600002, c1666600003, c1666700000, c1666700001, c1666900000, c1666900001, c1802203764, c1903648807, c1918988905, c2021121117, c2046399126, c2863311531, c3125659152, c4216137055, c11297108099, c11297108109, c28872323069, c37714555429, c47279324479, c88153591557, c107107114116, c111222333444, c197710212030, c197710212031, c202402181627, c383414847825, c666301171999, c6022140761023, c868455272153094, c2713017997578000, c2716446429837000];\nlet _chainsById;\nlet _chainIdsBySlug;\nfunction getChainsById() {\n if (_chainsById) {\n return _chainsById;\n }\n _chainsById = {};\n allChains.forEach(chain => {\n _chainsById[chain.chainId] = chain;\n });\n return _chainsById;\n}\nfunction getChainIdsBySlug() {\n if (_chainIdsBySlug) {\n return _chainIdsBySlug;\n }\n _chainIdsBySlug = {};\n allChains.forEach(chain => {\n _chainIdsBySlug[chain.slug] = chain.chainId;\n });\n return _chainIdsBySlug;\n}\nfunction isValidChainId(chainId) {\n const chainsById = getChainsById();\n return chainId in chainsById;\n}\nfunction isValidChainSlug(slug) {\n const chainIdsBySlug = getChainIdsBySlug();\n return slug in chainIdsBySlug;\n}\n\n/**\n * @deprecated use `getChainByChainIdAsync()` instead\n */\nfunction getChainByChainId(chainId) {\n if (isValidChainId(chainId)) {\n const chainsById = getChainsById();\n return chainsById[chainId];\n }\n throw new Error(`Chain with chainId \"${chainId}\" not found`);\n}\n\n/**\n * @deprecated use `getChainBySlugAsync()` instead\n */\nfunction getChainBySlug(slug) {\n if (isValidChainSlug(slug)) {\n const chainIdsBySlug = getChainIdsBySlug();\n const chainsById = getChainsById();\n return chainsById[chainIdsBySlug[slug]];\n }\n throw new Error(`Chain with slug \"${slug}\" not found`);\n}\n\nexport { c595 as AcalaMandalaTestnetTc9, c787 as AcalaNetwork, c597 as AcalaNetworkTestnet, c7576 as AdilChainV2, c123456 as AdilDevnet, c7575 as AdilTestnet, c2017 as Adiri, c84886 as AerieNetwork, c788 as AerochainTestnet, c42072 as AgentlayerTestnet, c9990 as AgungNetwork, c1319 as Aia, c1320 as AiaTestnet, c413413 as AieTestnet, c2649 as Ailayer, c2648 as AilayerTestnet, c168 as AiozNetwork, c4102 as AiozNetworkTestnet, c16718 as Airdao, c22040 as AirdaoTestnet, c2045 as Aiw3, c1956 as Aiw3Testnet, c200625 as Akroma, c201018 as Alaya, c201030 as AlayaDevTestnet, c2039 as AlephZeroTestnet, c8911 as Algen, c8921 as AlgenLayer2, c8922 as AlgenLayer2Testnet, c8912 as AlgenTestnet, c2089 as Algol, c10241025 as AlienxHalTestnet, c651940 as All, c21133 as AllAboutHealthy, c8738 as AlphNetwork, c111222333444 as Alphabet, c2088 as Altair, c2330 as Altcoinchain, c420692 as AlteriumL2Testnet, c9997 as AltlayerTestnet, c4000003 as AltlayerZeroGasNetwork, c3797 as Alveychain, c25839 as AlveychainTestnet, c1314 as Alyx, c135 as AlyxChainTestnet, c8134 as Amana, c81342 as AmanaMixnet, c81343 as AmanaPrivnet, c81341 as AmanaTestnet, c880 as AmbrosChain, c999999 as Amchain, c180 as AmeChain, c78430 as AmplifySubnet, c1388 as Amstar, c1138 as AmstarTestnet, c888888888 as Ancient8, c28122024 as Ancient8Testnet, c2863311531 as Ancient8TestnetDeprecated, c14288640 as Anduschain, c2202 as Antofy, c23006 as AntofyTestnet, c1701 as AnytypeEvmChain, c2662 as Apex, c3993 as ApexTestnet, c61717561 as Aquachain, c42161 as Arbitrum, c88153591557 as ArbitrumBlueberry, c421613 as ArbitrumGoerli, c42170 as ArbitrumNova, c200 as ArbitrumOnXdai, c421611 as ArbitrumRinkeby, c421614 as ArbitrumSepolia, c1243 as Arc, c1244 as ArcTestnet, c118 as ArcologyTestnet, c5616 as ArcturusChainTestnet, c5615 as ArcturusTestneet, c7895 as ArdeniumAthena, c463 as AreonNetwork, c462 as AreonNetworkTestnet, c2309 as Arevia, c160 as ArmoniaEvaChain, c161 as ArmoniaEvaChainTestnet, c11822 as ArtelaTestnet, c10242 as Arthera, c10243 as ArtheraTestnet, c246529 as ArtisSigma1, c246785 as ArtisTestnetTau1, c456 as ArzioChain, c592 as Astar, c3776 as AstarZkevm, c6038361 as AstarZkyoto, c11110 as Astra, c11115 as AstraTestnet, c912559 as AstriaEvmDusknet, c1971 as Atelier, c12020 as Aternos, c1620 as Atheios, c43110 as Athereum, c622463 as Atlas, c2340 as AtletaOlympia, c167 as AtoshiTestnet, c6322 as Aura, c6321 as AuraEuphoriaTestnet, c1313161554 as Aurora, c1313161556 as AuroraBetanet, c1313161555 as AuroraTestnet, c205205 as AuroriaTestnet, c45000 as AutobahnNetwork, c1398243 as AutomataTestnet, c65010001 as AutonityBakerlooBaradaTestnet, c65010002 as AutonityBakerlooSumidaTestnet, c65010000 as AutonityBakerlooThamesTestnet, c65100001 as AutonityPiccadillyBaradaTestnet, c65100002 as AutonityPiccadillySumidaTestnet, c65100000 as AutonityPiccadillyThamesTestnet, c28945486 as AuxiliumNetwork, c43114 as Avalanche, c43113 as AvalancheFuji, c47157 as AvalandTestnet, c33333 as Aves, c333331 as AvesTestnet, c634 as Avocado, c61800 as AxelchainDevNet, c5106 as AzraTestnet, c223 as B2, c213 as B2Hub, c1113 as B2HubTestnet, c1123 as B2Testnet, c1993 as B3Sepolia, c5165 as Bahamut, c4058 as BahamutOcean, c876 as BandaiNamcoResearchVerse, c8453 as Base, c84531 as BaseGoerli, c84532 as BaseSepoliaTestnet, c1515 as BeagleMessagingChain, c4337 as Beam, c13337 as BeamTestnet, c535037 as BeanecoSmartchain, c641230 as BearNetworkChain, c751230 as BearNetworkChainTestnet, c818 as BeoneChain, c80085 as BerachainArtio, c80084 as BerachainBartio, c2022 as BeresheetBereevmTestnet, c9012 as Berylbit, c90210 as BeverlyHills, c11501 as Bevm, c1501 as BevmCanary, c11503 as BevmTestnet, c22985 as BeyondSepolia, c59185 as BeyondchainTestnet, c3068 as Bifrost, c49088 as BifrostTestnet, c2137 as Bigshortbets, c2136 as BigshortbetsTestnet, c56 as Binance, c97 as BinanceTestnet, c198 as Bitchain, c1907 as Bitcichain, c1908 as BitcichainTestnet, c8086 as BitcoinChain, c2203 as BitcoinEvm, c355110 as BitfinityNetwork, c355113 as BitfinityNetworkTestnet, c32520 as Bitgert, c188710 as BiticaChain, c4099 as Bitindi, c4096 as BitindiTestnet, c96 as BitkubChain, c25925 as BitkubChainTestnet, c200901 as Bitlayer, c200810 as BitlayerTestnet, c210 as Bitnet, c7171 as Bitrock, c7771 as BitrockTestnet, c3690 as Bittex, c199 as BittorrentChain, c1028 as BittorrentChainTestnet, c2999 as Bityuan, c808080 as BizSmartChainTestnet, c4999 as BlackfortExchangeNetwork, c4777 as BlackfortExchangeNetworkTestnet, c238 as Blast, c81457 as BlastBlastmainnet, c168587773 as BlastSepoliaTestnet, c23888 as BlastTestnet, c12321 as BlgTestnet, c1343 as BlitzSubnet, c10101 as BlockchainGenesis, c707 as BlockchainStation, c708 as BlockchainStationTestnet, c8272 as BlocktonBlockchain, c879151 as Blocx, c333313 as BloomGenesis, c323213 as BloomGenesisTestnet, c8995 as Bloxberg, c727 as Blucrates, c1108 as Blxq, c1107 as BlxqTestnet, c188 as Bmc, c189 as BmcTestnet, c8047 as Boat, c60808 as Bob, c43288 as BobaAvax, c56288 as BobaBnb, c97288 as BobaBnbOld, c9728 as BobaBnbTestnet, c288 as BobaNetwork, c2888 as BobaNetworkGoerliTestnet, c28 as BobaNetworkRinkebyTestnet, c28882 as BobaSepolia, c1297 as BobabaseTestnet, c1294 as Bobabeam, c4328 as BobafujiTestnet, c301 as Bobaopera, c4051 as BobaoperaTestnet, c2300 as BombChain, c2399 as BombChainTestnet, c1898 as BonNetwork, c77001 as Borachain, c99308 as BorneGamingTestnet, c95549 as BorneTestnetTestnet, c2151 as Bosagora, c3637 as Botanix, c3636 as BotanixTestnet, c6001 as Bouncebit, c6000 as BouncebitTestnet, c434 as Boyaa, c279 as BpxBlockchain, c12123 as BrcChain, c108801 as Brochain, c1039 as Bronos, c1038 as BronosTestnet, c21912 as Bsl, c7007 as BstChain, c1657 as Btachain, c963 as Btc20SmartChain, c19845 as BtcixNetwork, c1582 as BubsTestnet, c2125031 as BubsTestnetBubs, c78431 as BulletinSubnet, c21004 as C4ei, c72778 as CagaCryptoAnkaraTestnet, c820 as Callisto, c20729 as CallistoTestnet, c821 as CallistoTestnetDeprecated, c95 as Camdl, c395 as CamdlTestnet, c20001 as Camelark, c500 as CaminoCChain, c90354 as CampNetwork, c534 as Candle, c7700 as Canto, c7701 as CantoTesnet, c740 as CantoTestnet, c3003 as Canxium, c9790 as CarbonEvm, c9792 as CarbonEvmTestnet, c4040 as CarboniumTestnetNetwork, c6102 as CascadiaTestnet, c2032 as Catalyst, c1618 as CatecoinChain, c42220 as Celo, c44787 as CeloAlfajoresTestnet, c62320 as CeloBaklavaTestnet, c21337 as CennznetAzalea, c3001 as CennznetNikau, c3000 as CennznetRata, c2031 as Centrifuge, c30103 as CeriumTestnet, c5555 as ChainVerse, c1351057110 as ChaosSkaleTestnet, c5104 as CharmverseTestnet, c777 as Cheapeth, c831 as CheckdotBlockchainDevnet, c111223 as ChennaiTestnet, c88888 as ChilizChain, c88880 as ChilizScovilleTestnet, c1353 as CicChain, c1252 as CicChainTestnet, c62298 as CitreaDevnet, c31223 as Cloudtx, c31224 as CloudtxTestnet, c33210 as CloudverseSubnet, c2009 as Cloudwalk, c2008 as CloudwalkTestnet, c1023 as CloverTestnet, c1188 as Clubmos, c1024 as ClvParachain, c256256 as Cmp, c512512 as CmpTestnet, c9223 as Codefin, c2828 as CohanSTestnet1, c57522 as CohanTest, c70466 as CohanTest3, c36695 as CohanYoloTestnet, c112 as Coinbit, c52 as CoinexSmartChain, c53 as CoinexSmartChainTestnet, c57451 as CoinsecNetwork, c501 as ColumbusTestNetwork, c9980 as Combo, c91715 as ComboTestnet, c6779 as Compverse, c188881 as CondorTestNetwork, c69420 as Condrieu, c78432 as ConduitSubnet, c224433 as ConetHolesky, c224422 as ConetSeboliaTestnet, c1030 as ConfluxEspace, c71 as ConfluxEspaceTestnet, c38400 as Connectormanager, c38401 as ConnectormanagerRobin, c371 as ConstaTestnet, c5103 as CoordinapeTestnet, c10255 as CoqnetTestnet, c1116 as CoreBlockchain, c1115 as CoreBlockchainTestnet, c67588 as CosmicChain, c323 as Cosvm, c13068200 as CotiDevnet, c44 as CrabNetwork, c4400 as CreditSmartChain, c13308 as CreditSmartChainCredit, c102031 as CreditcoinTestnet, c25 as Cronos, c338 as CronosTestnet, c282 as CronosZkevmTestnet, c3737 as Crossbell, c4157 as CrossfiTestnet, c37003 as CrtrTestnet, c193 as CryptoEmergency, c10823 as Cryptocoinpay, c103090 as Crystaleum, c1455 as CtexScanBlockchain, c1818 as CubeChain, c1819 as CubeChainTestnet, c1200 as CuckooChain, c1210 as CuckooSepolia, c827431 as Curve, c7560 as Cyber, c111557560 as CyberTestnet, c1146703430 as Cyberdecknet, c85449 as Cybertrust, c6661 as Cybria, c6666 as CybriaTestnet, c1221 as CycleNetworkTestnet, c1951 as DChain, c701 as DarwiniaKoiTestnet, c46 as DarwiniaNetwork, c43 as DarwiniaPangolinTestnet, c45 as DarwiniaPangoroTestnet, c2021121117 as Datahopper, c142 as DaxChain, c67 as DbchainTestnet, c176 as Dc, c2716446429837000 as Dchain, c2713017997578000 as DchainTestnet, c21223 as Dcpay, c21224 as DcpayTestnet, c136 as Deamchain, c236 as DeamchainTestnet, c116 as Debank, c20240324 as DebankSepoliaTestnet, c2021398 as DebankTestnet, c115 as DebankTestnetDeprecated, c30915 as DeboardSTestnet, c3306 as DebounceSubnetTestnet, c910 as DecentraboneLayer1Testnet, c19224 as DecentraconnectSocial, c124 as DecentralizedWeb, c75 as DecimalSmartChain, c202020 as DecimalSmartChainTestnet, c45510 as Deelance, c222555 as Deepl, c222666 as DeeplTestnet, c138 as DefiOracleMeta, c2138 as DefiOracleMetaTestnet, c1130 as DefichainEvmNetwork, c1131 as DefichainEvmNetworkTestnet, c1133 as DefimetachainChangiTestnet, c16116 as Defiverse, c17117 as DefiverseTestnet, c666666666 as DegenChain, c113 as Dehvo, c9393 as DelaSepoliaTestnet, c100100 as DeprecatedChi, c2357 as DeprecatedKromaSepolia, c344106930 as DeprecatedSkaleCalypsoHubTestnet, c476158412 as DeprecatedSkaleEuropaHubTestnet, c503129905 as DeprecatedSkaleNebulaHubTestnet, c1517929550 as DeprecatedSkaleTitanHubTestnet, c432204 as DexalotSubnet, c432201 as DexalotSubnetTestnet, c1954 as DexillaTestnet, c877 as DexitNetwork, c53935 as DfkChain, c335 as DfkChainTest, c14299 as DiegoS, c6363 as DigitSoulSmartChain, c363636 as DigitSoulSmartChain2, c15 as DiodePrenet, c13 as DiodeTestnetStaging, c513100 as Dischain, c68770 as Dm2Verse, c526916 as DocoinCommunityChain, c855456 as Dodao, c53457 as DodochainTestnet, c1117 as Dogcoin, c9339 as DogcoinTestnet, c2000 as Dogechain, c568 as DogechainTestnet, c9888 as Dogelayer, c1248 as Dogether, c53277 as Doid, c56797 as DoidTestnet, c61916 as DokenSuperChain, c1717 as DoricNetwork, c7979 as DosChain, c1311 as DosFujiSubnet, c3939 as DosTesnet, c7923 as DotBlox, c512 as DoubleAChain, c513 as DoubleAChainTestnet, c2611555 as DpuChain, c3912 as DracNetwork, c8387 as DraconesFinancialServices, c72709 as DragonTestnet, c78281 as DragonflyHexapod, c23451 as Dreyerx, c23452 as DreyerxTestnet, c3269 as DubxcoinNetwork, c3270 as DubxcoinTestnet, c36 as Dxchain, c72 as DxchainTestnet, c1100 as Dymension, c3966 as Dyno, c3967 as DynoTestnet, c8087 as EDollar, c98881 as EbiChain, c2306 as EbroNetwork, c165279 as Eclat, c262371 as EclatTestnet, c17172 as EclipseSubnet, c555666 as EclipsechainTestnet, c2100 as Ecoball, c2101 as EcoballTestnetEspuma, c63000 as Ecredits, c63001 as EcreditsTestnet, c988207 as EcroxChain, c5424 as Edexa, c1995 as EdexaTestnet, c2026 as EdgelessNetwork, c202 as EdgelessTestnet, c2021 as EdgewareEdgeevm, c5439 as Egochain, c271 as Egoncoin, c271271 as EgoncoinTestnet, c612 as Eiob, c1994 as Ekta, c22 as ElaDidSidechain, c23 as ElaDidSidechainTestnet, c20 as ElastosSmartChain, c21 as ElastosSmartChainTestnet, c1967 as Eleanor, c52014 as Electroneum, c5201420 as ElectroneumTestnet, c990 as Eliberty, c99099 as ElibertyTestnet, c2731 as ElizabethTestnet, c7027 as EllaTheHeart, c64 as Ellaism, c955305 as EluvioContentFabric, c2907 as EluxChain, c1339 as Elysium, c1338 as ElysiumTestnet, c4544 as EmoneyNetworkTestnet, c3693 as EmpireNetwork, c648 as EnduranceSmartChain, c39797 as Energi, c49797 as EnergiTestnet, c246 as EnergyWebChain, c73799 as EnergyWebVoltaTestnet, c131 as EngramTestnet, c48 as EnnothemProterozoic, c49 as EnnothemTestnetPioneer, c33033 as Entangle, c33133 as EntangleTestnet, c1214 as Enterchain, c119 as Enuls, c120 as EnulsTestnet, c59 as EosEvmLegacy, c17777 as EosEvmNetwork, c15557 as EosEvmNetworkTestnet, c721529 as Eram, c5197 as Eraswap, c9911 as Espento, c140 as Eternal, c1 as Ethereum, c61 as EthereumClassic, c1617 as EthereumInscription, c1987 as Ethergem, c101 as Etherinc, c42793 as Etherlink, c128123 as EtherlinkTestnet, c111 as EtherliteChain, c31102 as EthersocialNetwork, c1313114 as EthoProtocol, c3335 as Ethstorage, c3333 as EthstorageTestnet, c969 as Ethxy, c979 as EthxyTestnet, c61803 as Etica, c131419 as EtndChainS, c1008 as Eurus, c1984 as EurusTestnet, c2213 as Evanesco, c1201 as EvanescoTestnet, c9001 as Evmos, c9000 as EvmosTestnet, c9395 as Evoke, c31414 as EvokeTestnet, c3424 as Evolve, c14324 as EvolveTestnet, c1010 as EvriceNetwork, c22052002 as Excelon, c27082022 as ExcoincialChain, c27082017 as ExcoincialChainVoltaTestnet, c2109 as ExosamaNetwork, c2 as ExpanseNetwork, c65044 as Exr0314Testnet, c1229 as ExzoNetwork, c2612 as EzchainCChain, c2613 as EzchainCChainTestnet, c530 as FXCoreNetwork, c90001 as FXCoreTestnetNetwork, c127 as Factory127, c868 as FantasiaChain, c250 as Fantom, c64165 as FantomSonicBuildersTestnet, c4002 as FantomTestnet, c4090 as FastexChainBahamutOasisTestnet, c424242 as FastexChainTestnet, c26026 as FerrumTestnet, c8008135 as FhenixHelium, c12306 as Fibonacci, c314 as Filecoin, c3141592 as FilecoinButterflyTestnet, c314159 as FilecoinCalibrationTestnet, c3141 as FilecoinHyperspaceTestnet, c31415926 as FilecoinLocalTestnet, c31415 as FilecoinWallabyTestnet, c191 as Filefilego, c579 as Filenova, c5675 as FilenovaTestnet, c2152 as Findora, c2154 as FindoraForge, c2153 as FindoraTestnet, c529 as Firechain, c5290 as FirechainOld, c814 as FirechainZkevm, c3885 as FirechainZkevmGhostrider, c78110 as FirenzeTestNetwork, c96040 as Fizit, c29032022 as Flachain, c147 as Flag, c220 as FlagFlag, c1147 as FlagTestnet, c1220 as FlagTestnetFlag, c8135 as Flana, c81352 as FlanaMixnet, c81353 as FlanaPrivnet, c81351 as FlanaTestnet, c14 as Flare, c114 as FlareTestnetCoston2, c747 as FlowMainnet, c73 as Fncy, c923018 as FncyTestnet, c132902 as FormTestnet, c984122 as Forma, c984123 as FormaSketchpad, c35395 as Found1423, c18105 as FoundTest, c431188 as FoundationTestnet, c77238 as FoundryChainTestnet, c6565 as FoxTestnetNetwork, c68840142 as FrameTestnet, c252 as Fraxtal, c2522 as FraxtalTestnet, c211 as FreightTrustNetwork, c44444 as Frenchain, c18000 as FrontierOfDreamsTestnet, c21758 as Fst0116Multi, c94158 as Fst1222V1, c78933 as Fst1222V2, c33979 as Funki, c3397901 as FunkiSepoliaSandbox, c308 as FurtheonNetwork, c122 as Fuse, c123 as FuseSparknet, c32659 as Fusion, c46688 as FusionTestnet, c17171 as G8chain, c18181 as G8chainTestnet, c696969 as GaladrielDevnet, c4048 as GanTestnet, c5777 as Ganache, c90 as GarizonStage0, c91 as GarizonStage1, c92 as GarizonStage2, c93 as GarizonStage3, c900 as GarizonTestnetStage0, c901 as GarizonTestnetStage1, c902 as GarizonTestnetStage2, c903 as GarizonTestnetStage3, c17069 as GarnetHolesky, c86 as Gatechain, c85 as GatechainTestnet, c486217935 as GatherDevnetNetwork, c192837465 as GatherNetwork, c356256156 as GatherTestnetNetwork, c1777 as Gauss, c7775 as GdccTestnet, c516 as GearZeroNetwork, c266256 as GearZeroNetworkTestnet, c75512 as GeekVerse, c75513 as GeekVerseTestnet, c1903648807 as GemuchainLab, c80 as Genechain, c9100 as GenesisCoin, c29 as GenesisL1, c26 as GenesisL1Testnet, c16507 as Genesys, c59971 as GenesysCode, c428 as GesoVerse, c42801 as GesotenVerseTestnet, c8989 as GiantMammoth, c1452 as GilTestnet, c210049 as GitagiAtlasTestnet, c1881 as GitshockCartenzTestnet, c28872323069 as GitswarmTestNetwork, c101010 as GlobalTrustNetwork, c4893 as GlobelChain, c10222 as Glscan, c2777 as GmNetwork, c202402181627 as GmNetworkTestnet, c100 as Gnosis, c10200 as GnosisChiadoTestnet, c60 as Gochain, c31337 as GochainTestnet, c71402 as Godwoken, c71401 as GodwokenTestnetV1, c868455272153094 as GodwokenTestnetV1GwTestnetV1Deprecated, c5 as Goerli, c4653 as GoldChain, c6789 as GoldSmartChain, c79879 as GoldSmartChainTestnet, c20948 as Goldfever, c42355 as Goldxchain, c22324 as GoldxchainTestnet, c10024 as GonChain, c33 as Gooddata, c32 as GooddataTestnet, c614 as GraphlinqBlockchain, c1625 as GravityAlpha, c13505 as GravityAlphaTestnetSepolia, c97531 as GreenChainTestnet, c72992 as GrokChain, c3490 as Gtcscan, c1000 as Gton, c50021 as GtonTestnet, c71111 as Guapcoinx, c49321 as GunzTestnet, c803 as Haic, c68688 as HakuChainTestnet, c1280 as Halo, c5112 as Ham, c25888 as HammerChain, c8794598 as Hapchain, c373737 as HapchainTestnet, c54211 as HaqqChainTestnet, c11235 as HaqqNetwork, c197710212031 as HaradevTestnet, c1666900000 as HarmonyDevnetShard0, c1666900001 as HarmonyDevnetShard1, c1666600000 as HarmonyShard0, c1666600001 as HarmonyShard1, c1666600002 as HarmonyShard2, c1666600003 as HarmonyShard3, c1666700000 as HarmonyTestnetShard0, c1666700001 as HarmonyTestnetShard1, c11119 as Hashbit, c133 as HashkeyChainTestnet, c230315 as HashkeyChainTestnetDiscard, c810 as Haven1Testnet, c234666 as HaymoTestnet, c7878 as HazlorTestnet, c295 as Hedera, c298 as HederaLocalnet, c297 as HederaPreviewnet, c296 as HederaTestnet, c8668 as HelaOfficialRuntime, c666888 as HelaOfficialRuntimeTestnet, c7118 as HelpTheHomeless, c43111 as HemiNetwork, c743111 as HemiSepolia, c26600 as HertzNetwork, c269 as HighPerformanceBlockchain, c710 as Highbury, c1853 as Highoctane, c5729 as HikaNetworkTestnet, c80096 as Hizoco, c8080808 as Hokum, c20482050 as HokumTestnet, c17000 as Holesky, c19011 as HomeVerse, c70 as HooSmartChain, c170 as HooSmartChainTestnet, c7332 as HorizenEon, c1663 as HorizenGobiTestnet, c4444 as Htmlcoin, c1992 as HubbleExchange, c1273227453 as HumanProtocol, c5234 as Humanode, c14853 as HumanodeTestnet5Israfel, c1089 as HumansAi, c4139 as HumansAiTestnet, c128 as HuobiEcoChain, c256 as HuobiEcoChainTestnet, c2468 as HybridChainNetwork, c2458 as HybridChainNetworkTestnet, c1225 as HybridTestnet, c1224 as HybridTestnetDeprecated, c2911 as Hychain, c29112 as HychainTestnet, c4488 as HydraChain, c8844 as HydraChainTestnet, c222222 as Hydradx, c400 as HyperonchainTestnet, c881 as Hypr, c882 as HyprTestnet, c622277 as Hypra, c73115 as IcbNetwork, c73114 as IcbTestnet, c3639 as IchainNetwork, c3645 as IchainTestnet, c142857 as Icplaza, c74 as Idchain, c1499 as IdosGamesChainTestnet, c134 as IexecSidechain, c3100 as Immu3Evm, c13371 as ImmutableZkevm, c15003 as ImmutableZkevmDevnet, c13473 as ImmutableZkevmTestnet, c9819 as Imperium, c9818 as ImperiumTestnet, c5555555 as Imversed, c5555558 as ImversedTestnet, c2525 as Inevm, c68007 as InfraTestnet, c129 as InnovatorChain, c10036 as InnovoMarkets, c54414 as InnovoMarketsTestnet, c88559 as InoaiNetwork, c59932 as InsomniaTestnet, c18289463 as Iolite, c1197 as IoraChain, c8822 as IotaEvm, c1075 as IotaEvmTestnet, c4689 as IotexNetwork, c4690 as IotexNetworkTestnet, c1122334455 as IposNetwork, c6688 as Irishub, c16688 as IrishubTestnet, c1235 as Itx, c5321 as ItxTestnet, c16888 as IvarChainTestnet, c35011 as J2oTaro, c72605 as JambonSDevnet, c4905 as JambonSTestnet, c30891 as JambonSTestnetJambon_s_testnet, c53383 as JambonSTestnetJambon_s_testnet53383, c54356 as JambonSTestnetJambon_s_testnet54356, c91513 as JambonUniverse, c66988 as JanusTestnet, c81 as JapanOpenChain, c10081 as JapanOpenChainTestnet, c202624 as Jellie, c3501 as JfinChain, c8899 as JibchainL1, c11227 as JiritsuTestnet, c70038 as JohnSTestnet, c20765 as Jono11Subnet, c5668 as Jono122, c955081 as Jono12Subnet, c70157 as Jonoperf, c1392 as Joseon, c3666 as Jouleverse, c84045 as JovicaSTestnet, c35855456 as JoysDigital, c99415706 as JoysDigitalTestnet, c1009 as Jumbochain, c668 as Juncachain, c669 as JuncachainTestnet, c2718 as KLaos, c104 as KaibaLightningChainTestnet, c61406 as Kaichain, c29536 as KaichainTestnet, c1802203764 as KakarotSepolia, c107107114116 as KakarotSepoliaDeprecated, c1379 as KalarChain, c654 as Kalichain, c653 as KalichainTestnet, c3888 as Kalychain, c3889 as KalychainTestnet, c222000222 as Kanazawa, c2410 as Karak, c2511 as KarakGoerli, c8054 as KarakSepolia, c24 as Kardiachain, c686 as KaruraNetwork, c596 as KaruraNetworkTestnet, c104566 as Kaspaclassic, c2222 as Kava, c2221 as KavaTestnet, c321 as Kcc, c322 as KccTestnet, c420420 as Kekchain, c420666 as KekchainKektest, c1804 as Kerleano, c1337802 as Kiln, c2425 as KingOfLegendsDevnet, c39916801 as KingdomChain, c7887 as Kinto, c42888 as KintoTestnet, c1337702 as Kintsugi, c2037 as KiwiSubnet, c23812 as KjcohanTestnet, c56914 as Kk1223, c27181 as KlaosNova, c8217 as KlaytnCypress, c1001 as KlaytnTestnetBaobab, c44808 as KlcohanTestnet, c7331 as Klyntar, c17217 as Konet, c2559 as Kortho, c8285 as Korthotest, c6 as KottiTestnet, c2241 as KrestNetwork, c255 as Kroma, c2358 as KromaSepolia, c13600 as Kronobit, c1997 as Kyoto, c1998 as KyotoTestnet, c12324 as L3xProtocol, c12325 as L3xProtocolTestnet, c225 as Lachain, c274 as LachainLachain, c226 as LachainTestnet, c56026 as LambdaChain, c17000920 as LambdaChainTestnet, c92001 as LambdaTestnet, c10849 as Lamina1, c10850 as Lamina1Identity, c767368 as Lamina1IdentityTestnet, c764984 as Lamina1Testnet, c667 as LaosArrakis, c9898 as LarissaChain, c172 as LatamBlockchainResilTestnet, c6660 as LatestChainTestnet, c418 as Latestnet, c360890 as Lavita, c3456 as LayeredgeTestnet, c17186 as LazyCrimsonCoral, c19600 as Lbry, c1891 as LightlinkPegasusTestnet, c1890 as LightlinkPhoenix, c163 as Lightstreams, c162 as LightstreamsTestnet, c59144 as Linea, c59140 as LineaGoerli, c59141 as LineaSepolia, c84 as LinqtoDevnet, c1662 as Liquichain, c25186 as Liquidlayer, c93572 as LiquidlayerTestnet, c385 as Lisinski, c1135 as Lisk, c4202 as LiskSepoliaTestnet, c65622 as LiveStripeTest, c50001 as LiveplexOracleevm, c1440 as LivingAssets, c1337 as Localhost, c15551 as Loopnetwork, c5151706 as LootChain, c8329 as Lorenzo, c730 as LovelyNetwork, c307 as LovelyNetworkTestnet, c313310 as Lt10, c313311 as Lt11, c31338 as Lt8Testnet, c31339 as Lt9, c800 as LucidBlockchain, c998 as LuckyNetwork, c1688 as Ludan, c42 as Lukso, c4201 as LuksoTestnet, c51178 as LumozTestnetAlpha, c721 as LycanChain, c957 as LyraChain, c2121 as MTest11032, c786 as MaalChain, c7860 as MaalchainTestnet, c141319 as MagapeTestnet, c19527 as MagnetNetwork, c43214913 as Maistestsubnet, c8898 as Mammoth, c169 as MantaPacific, c3441006 as MantaPacificSepoliaTestnet, c3441005 as MantaPacificTestnet, c96970 as MantisTestnetHexapod, c5000 as Mantle, c5003 as MantleSepoliaTestnet, c5001 as MantleTestnet, c22776 as MapProtocol, c212 as MapoMakalu, c431140 as MarkrGo, c8848 as MaroBlockchain, c220315 as Mas, c3454 as Masa, c13396 as MasaNetwork, c103454 as MasaTestnet, c1139 as Mathchain, c1140 as MathchainTestnet, c899 as MaxiChain, c898 as MaxiChainTestnet, c10201 as Maxxchain, c29548 as MchVerse, c8029 as MdglTestnet, c333000333 as Meld, c985 as MemoSmartChain, c1909 as MerkleScan, c4200 as Merlin, c600 as MeshnyanTestnet, c571 as Metachain, c1453 as MetachainIstanbul, c112358 as MetachainOne, c91120 as MetadapEnterprise, c119139 as MetadapEnterpriseTestnet, c11 as Metadium, c12 as MetadiumTestnet, c16000 as Metadot, c16001 as MetadotTestnet, c381931 as MetalCChain, c1750 as MetalL2, c1740 as MetalL2Testnet, c381932 as MetalTahoeCChain, c2004 as MetalinkNetwork, c2122 as Metaplayerone, c2124 as MetaplayeroneDubaiTestnet, c53123 as Metasky, c82 as Meter, c83 as MeterTestnet, c1088 as MetisAndromeda, c599 as MetisGoerliTestnet, c588 as MetisStardustTestnet, c7518 as MeverseChain, c4759 as MeverseChainTestnet, c28106 as MezzanineTestnet, c761412 as MiexsSmartchain, c12001 as MikiasSTestnet, c2002 as MilkomedaA1, c200202 as MilkomedaA1Testnet, c2001 as MilkomedaC1, c200101 as MilkomedaC1Testnet, c9322253 as Milvine, c228 as MindNetwork, c192940 as MindNetworkTestnet, c9996 as MindSmartChain, c9977 as MindSmartChainTestnet, c185 as Mint, c1687 as MintSepoliaTestnet, c1686 as MintTestnet, c1080 as Mintara, c1079 as MintaraTestnet, c24734 as MintmeComCoin, c76 as Mix, c73927 as MixinVirtualMachine, c30088 as Miyou, c8136 as Mizana, c81362 as MizanaMixnet, c81363 as MizanaPrivnet, c81361 as MizanaTestnet, c7924 as Mo, c1099 as Moac, c201 as MoacTestnet, c34443 as Mode, c919 as ModeTestnet, c776877 as Modularium, c6022140761023 as MolereumNetwork, c1287 as MoonbaseAlpha, c1284 as Moonbeam, c5167004 as MoonchainGenevaTestnet, c1285 as Moonriver, c1288 as Moonrock, c1286 as MoonrockOld, c2199 as MoonsamaNetwork, c62 as MordenTestnet, c63 as MordorTestnet, c2810 as MorphHolesky, c2710 as MorphTestnet, c3073 as MovementEvm, c30731 as MovementEvmDevnet, c30730 as MovementEvmLegacy, c30732 as MovementEvmTestnet, c2049 as MovoSmartChain, c63079 as Mt11212, c30406 as MugenTestnet, c62621 as Multivac, c80001 as Mumbai, c956 as MunodeTestnet, c7762959 as Musicoin, c4078 as Muster, c5167003 as MxcWannseeZkevmTestnet, c18686 as MxcZkevmMoonchain, c78170 as MxsGamesTestnet, c9999 as MyownTestnet, c201804 as MythicalChain, c5551 as Nahmii2, c5553 as Nahmii2Testnet, c4061 as Nahmii3, c4062 as Nahmii3Testnet, c328527624 as NalSepoliaTestnet, c132 as NamefiChain, c2748 as Nanon, c27483 as NanonSepolia, c399 as Nativ3, c333333 as Nativ3Testnet, c22222 as Nautilus, c88002 as NautilusProteusTestnet, c91002 as NautilusTritionChain, c397 as Near, c398 as NearTestnet, c107 as NebulaTestnet, c245022934 as NeonEvm, c245022926 as NeonEvmDevnet, c245022940 as NeonEvmTestnet, c259 as Neonlink, c9559 as NeonlinkTestnet, c977 as NepalBlockchainNetwork, c1100789 as NetmindChainTestnet, c266 as Neura, c268 as NeuraDevnet, c267 as NeuraTestnet, c313 as Neurochain, c303 as NeurochainTestnet, c2043 as Neuroweb, c197 as NeutrinosTestnet, c91132 as NewWillSTestnet, c1012 as Newton, c1007 as NewtonTestnet, c9025 as NexaBlock, c9024 as NexaTestnetBlock, c4242 as Nexi, c4243 as NexiV2, c2370 as NexisNetworkTestnet, c85023 as NishiogikuboSubnet, c20041 as NizaChain, c20073 as NizaChainTestnet, c5051 as NollieSkatechainTestnet, c81041 as Nordek, c87 as NovaNetwork, c2014 as NowChain, c197710212030 as Ntity, c10507 as Numbers, c10508 as NumbersTestnet, c5112023 as NumblockChain, c7100 as Nume, c42262 as OasisEmerald, c42261 as OasisEmeraldTestnet, c23294 as OasisSapphire, c23295 as OasisSapphireTestnet, c26863 as Oasischain, c248 as Oasys, c660868 as OcashTestnet, c800001 as Octaspace, c131313 as OdysseyChainTestnet, c156 as OeblockTestnet, c39815 as Oho, c65 as OkexchainTestnet, c66 as Okxchain, c1246 as OmPlatform, c311 as Omax, c21816 as Omchain, c408 as Omega, c166 as Omni, c164 as OmniTestnet, c165 as OmniTestnetDeprecated, c2342 as OmniaChain, c5041 as Omochi, c5042 as OmochiOmochi, c309075 as OneWorldChain, c552981 as OneWorldChainTestnet, c311752642 as Oneledger, c4216137055 as OneledgerTestnetFrankenstein, c2140 as OnenessNetwork, c2141 as OnenessTestnet, c5040 as OnigiriSubnet, c5039 as OnigiriTestSubnet, c58 as Ontology, c5851 as OntologyTestnet, c1975 as OnusChain, c1945 as OnusChainTestnet, c333777 as OoneChainDevnet, c333666 as OoneChainTestnet, c970 as Oort, c972 as OortAscraeus, c9700 as OortDev, c971 as OortHuygens, c123420111 as OpCelestiaRasberry, c11155420 as OpSepoliaTestnet, c8882 as OpalTestnetByUnique, c204 as Opbnb, c5611 as OpbnbTestnet, c656476 as OpenCampusCodex, c474142 as Openchain, c776 as OpenchainTestnet, c7798 as OpenexLongTestnet, c54 as Openpiece, c141 as OpenpieceTestnet, c7355310 as Openvessel, c23118 as OpsideTestnet, c10 as Optimism, c28528 as OptimismBedrockGoerliAlphaTestnet, c420 as OptimismGoerli, c69 as OptimismKovan, c9797 as Optimusz7, c97970 as Optimusz7Testnet, c62050 as Optopia, c62049 as OptopiaTestnet, c537 as Optrust, c5317 as OptrustTestnet, c41500 as OpulentXBeta, c108160679 as Oraichain, c240515 as OrangeChainTestnet, c987 as OrangeTestnet, c291 as Orderly, c4460 as OrderlySepoliaTestnet, c7778 as OreniumProtocol, c8890 as OreniumTestnetProtocol, c1170 as OriginTestnet, c3031 as OrlandoChain, c6699 as OxChain, c126 as Oychain, c125 as OychainTestnet, c4000 as OzoneChain, c401 as OzoneChainTestnet, c20736 as P12Chain, c1718 as PaletteChain, c17180 as PaletteChainTestnet, c11297108109 as Palm, c11297108099 as PalmTestnet, c2013 as Panarchy, c3601 as Pandoproject, c3602 as PandoprojectTestnet, c322202 as Parex, c3400 as ParibuNet, c3500 as ParibuNetTestnet, c2078 as ParodyNetwork, c1773 as Partychain, c789 as Patex, c471100 as PatexSepoliaTestnet, c542 as PawchainTestnet, c6701 as Paxb, c666301171999 as Pdc, c6502 as Peerpay, c42069 as Pegglecoin, c20201022 as PegoNetwork, c555555 as PentagonTestnet, c13371337 as PepchainChurchill, c411 as PepeChain, c9779 as Pepenetwork, c4001 as PeperiumChainTestnet, c222 as Permission, c424 as PgnPublicGoodsNetwork, c2035 as PhalaNetwork, c4181 as PhiNetworkV1, c144 as PhiNetworkV2, c13381 as Phoenix, c54555 as PhotonTestnet, c30067 as PieceTestnet, c1377 as PingakshaTestnet, c3125659152 as Pirl, c6626 as PixieChain, c666 as PixieChainTestnet, c7070 as Planq, c7077 as PlanqAtlasTestnet, c210425 as Platon, c2206132 as PlatonDevTestnet2, c2203181 as PlatonDevTestnetDeprecated, c3011 as Playa3ullGames, c504441 as PlaydappNetwork, c12781 as PlaydappTestnet, c12898 as PlayfairTestnetSubnet, c161212 as Playfi, c1612127 as PlayfiAlbireoTestnet, c2099156 as PlianMain, c8007736 as PlianSubchain1, c16658437 as PlianTestnetMain, c10067275 as PlianTestnetSubchain1, c242 as Plinga, c161221135 as PlumeTestnet, c62831 as PlyrTauTestnet, c99 as PoaNetworkCore, c77 as PoaNetworkSokol, c2606 as Pocrnet, c333999 as Polis, c333888 as PolisTestnet, c137 as Polygon, c80002 as PolygonAmoyTestnet, c94204209 as PolygonBlackberry, c11891 as PolygonSupernetArianee, c1101 as PolygonZkevm, c2442 as PolygonZkevmCardonaTestnet, c1442 as PolygonZkevmTestnet, c1402 as PolygonZkevmTestnetOld, c1422 as PolygonZkevmTestnetPreAuditUpgraded, c71393 as PolyjuiceTestnet, c6999 as Polysmartchain, c15259 as Poodl, c15257 as PoodlTestnet, c6868 as Pools, c331771 as Pop, c1213 as Popcateum, c909 as PortalFantasyChain, c808 as PortalFantasyChainTest, c920000 as PosichainDevnetShard0, c920001 as PosichainDevnetShard1, c900000 as PosichainShard0, c910000 as PosichainTestnetShard0, c1313161560 as Powergold, c646 as Previewnet, c78 as Primuschain, c39656 as Prm, c839320 as PrmTestnet, c88883 as ProjOrcTestnetAlpha, c234560 as ProjectOrc, c18159 as ProofOfMemes, c70700 as ProofOfPlayApex, c331769 as ProofofpepeTestnet, c234 as ProtojumboTestnet, c110 as ProtonTestnet, c1031 as ProxyNetworkTestnet, c17511 as Pst11724, c889910246 as Ptcescan, c889910245 as PtcescanTestnet, c57487 as Ptnewlo, c2020 as Publicmint, c2018 as PublicmintDevnet, c2019 as PublicmintTestnet, c369 as Pulsechain, c940 as PulsechainTestnet, c941 as PulsechainTestnetV2b, c942 as PulsechainTestnetV3, c943 as PulsechainTestnetV4, c157 as PuppynetShibarium, c35441 as Q, c83414 as QIm2402132, c35443 as QTestnet, c22662 as Qa50307Testnet, c64643 as QasimTestnet, c74006 as Qauser0219, c34851 as Qauser0235, c95063 as Qauser0263, c58050 as Qauser0417, c9872 as Qauser0507Testnet, c56973 as Qauser0587, c30772 as Qauser0835, c77572 as Qauser0993Testnet, c84977 as Qauser1151, c36746 as Qauser1213Testnet, c66904 as Qauser1335Testnet, c87460 as Qauser1360Testnet, c38904 as Qauser1490Testnet, c51173 as Qauser1544, c43593 as Qauser1596, c22039 as Qauser1631, c87389 as Qauser1804, c94171 as Qauser1828, c58316 as Qauser1943Testnet, c70341 as Qauser1957Testnet, c96081 as Qauser2213Testnet, c11881 as Qauser2353Testnet, c96809 as Qauser2368Testnet, c77209 as Qauser2491, c47992 as Qauser2555, c79490 as Qauser2672Testnet, c54763 as Qauser3051Testnet, c64092 as Qauser3186Testnet, c1962 as Qauser3295Testnet, c94006 as Qauser3298, c66063 as Qauser3324Testnet, c35641 as Qauser3338, c4638 as Qauser3387, c68064 as Qauser3451Testnet, c2715 as Qauser3583, c77552 as Qauser3673Testnet, c7909 as Qauser3870Testnet, c72647 as Qauser3938, c43125 as Qauser3950Testnet, c80092 as Qauser4009, c29386 as Qauser4106Testnet, c20519 as Qauser4113Testnet, c9981 as Qauser4131, c65842 as Qauser4143Testnet, c39747 as Qauser41testnet, c92847 as Qauser4251, c80719 as Qauser4301Testnet, c52146 as Qauser4359Testnet, c40100 as Qauser4426, c9543 as Qauser4523, c32517 as Qauser4536Testnet, c32366 as Qauser4578Testnet, c24867 as Qauser45Testnet, c56054 as Qauser4688, c65300 as Qauser46Testnet, c92978 as Qauser4903Testnet, c24668 as Qauser4994Testnet, c7872 as Qauser4Testnet, c9294 as Qauser4TestnetQauser4_testnet, c18898 as Qauser4TestnetQauser4_testnet18898, c56525 as Qauser4TestnetQauser4_testnet56525, c71169 as Qauser4TestnetQauser4_testnet71169, c72877 as Qauser4TestnetQauser4_testnet72877, c51740 as Qauser4testnet, c56570 as Qauser4testnetQauser4testnet, c7317 as Qauser5017Testnet, c40868 as Qauser5110Testnet, c55200 as Qauser5256, c25968 as Qauser5275, c45979 as Qauser5277Testnet, c96105 as Qauser5410, c73592 as Qauser5450, c57973 as Qauser5524Testnet, c49053 as Qauser5759Testnet, c39585 as Qauser5884, c67451 as Qauser6097Testnet, c61205 as Qauser6116Testnet, c29830 as Qauser6165Testnet, c29645 as Qauser6355Testnet, c55246 as Qauser6469, c57822 as Qauser6586, c14093 as Qauser6598, c45544 as Qauser6609Testnet, c77576 as Qauser6624Testnet, c99733 as Qauser6779Testnet, c60147 as Qauser6828, c21825 as Qauser6991, c86663 as Qauser7218Testnet, c6713 as Qauser7475, c18109 as Qauser7737Testnet, c7507 as Qauser7740Testnet, c61258 as Qauser7821Testnet, c73322 as Qauser7831, c33100 as Qauser7864, c7366 as Qauser7888, c26031 as Qauser7894Testnet, c59944 as Qauser7920Testnet, c6213 as Qauser8112, c88795 as Qauser8230Testnet, c97370 as Qauser8236, c93797 as Qauser8328, c64361 as Qauser8734Testnet, c3070 as Qauser9054, c24545 as Qauser9167Testnet, c73277 as Qauser9250Testnet, c33795 as Qauser9260, c73677 as Qauser9318Testnet, c31646 as Qauser9492Testnet, c70457 as Qauser9604, c50528 as Qauser9606Testnet, c48137 as Qauser9608Testnet, c99181 as Qauser9727Testnet, c65174 as Qauser9821Testnet, c9528 as Qeasyweb3Testnet, c69399 as Qi0103i1, c61514 as Qi011624i1, c50059 as Qi0122i1Testnet, c83900 as Qi0122i1TestnetQi0122i1_testnet, c85678 as Qi0122i1TestnetQi0122i1_testnet85678, c97622 as Qi0130i1, c48267 as Qi0130i2, c7640 as Qi0205i1, c82552 as Qi0209i2, c58064 as Qi0209i3, c46092 as Qi0213i1, c99132 as Qi0222i1, c93625 as Qi0222i2, c38085 as Qi0227i1, c52150 as Qi0304i1Testnet, c11198 as Qi0304i2Testnet, c89327 as Qi0304i3Testnet, c19112 as Qi0304s1Testnet, c1614 as Qi0305i1Testnet, c24070 as Qi0315i2Testnet, c44850 as Qi0318i1Testnet, c91041 as Qi0318i1TestnetQi0318i1_testnet, c96552 as Qi032924Testnet, c51277 as Qi0344s1Testne, c66042 as Qi0408i1Testnet, c68976 as Qi0408s1Testnet, c33448 as Qi0408s2Testnet, c332323 as Qi0408s3devTestnet, c58474 as Qi0408s4Testnet, c53687 as Qi0409s1Testnet, c90663 as Qi0416s1Testnet, c84860 as Qi0422i1Testnet, c33841 as Qi0422s2Testnet, c82261 as Qi0423s1Testnet, c90871 as Qi0426s1Testnet, c56636 as Qi0429i3, c54688 as Qi0430i1, c64943 as Qi0430i1Qi0430i1, c21178 as Qi0430i2, c62040 as Qi0430s1, c46565 as Qi0430s2, c51440 as Qi0430s4, c91924 as Qi0506i1, c92185 as Qi0506i2, c91399 as Qi0506s1, c79466 as Qi0513i2, c68042 as Qi0514s1, c62293 as Qi0516s1dev, c77898 as Qi0517i1, c98273 as Qi0520i1, c46145 as Qi0520i2, c95446 as Qi0521s1t, c14255 as Qi0521s2t, c19110 as Qi0521s3t, c79062 as Qi0521s4t, c949 as Qi0521s5t, c95598 as Qi0523i1, c64326 as Qi0523s1t, c67700 as Qi0523t1dt, c70408 as Qi0523t2td, c64029 as Qi0524i1, c97590 as Qi0527t1td, c30289 as Qi0528i1, c16587 as Qi0603i1, c90343 as Qi0603i2, c12885 as Qi0603i3, c53399 as Qi0603i4, c53654 as Qi0610s1ts, c99512 as Qi0611i1, c2864 as Qi0613i1, c57923 as Qi0614i1, c62278 as Qi1121i1, c76950 as Qi1204i2, c17026 as Qi1204i3, c4145 as Qi1212i2, c92850 as Qi1212i3, c98540 as Qi1212i5, c51161 as Qi1212i6, c40542 as Qi1212i8, c42451 as Qi1220s1, c91735 as Qi1228i2, c39098 as Qi20240108, c15535 as QiM11271, c12035 as QiM11272, c80182 as QiM12051, c10671 as QiM12131, c11625 as QiM202402121, c81079 as QiM21343243, c35439 as QiM2401122, c84623 as QiM2401221, c7207 as QiM2401222, c93694 as QiM2401291, c15056 as QiM2402052, c92780 as QiM2402053, c15104 as QiM2402054, c29442 as QiM2402055, c87815 as QiM2402056, c37375 as QiM2402057, c32277 as QiM2402058, c60834 as QiM2402059, c88018 as QiM2402131, c34295 as QiM2402132, c24538 as QiM2402133, c99947 as QiM2402141, c23444 as QiM2402272, c7326 as QiM2403051Testnet, c5656 as QieBlockchain, c57021 as Qim2403061, c26563 as Qim2404261, c25284 as Qim2405021, c10154 as Qim2405023Interop, c73486 as Qim2405024NoInterop, c12065 as Qim2405061WithInteroperability, c28408 as Qim2405062NoInterop, c54454 as Qim2405063InteropNoPrecompile, c3026 as Qim2405064NoInteropPrecompile, c27550 as Qim2405065NoInteropNoSim, c92314 as Qim2405081, c73813 as Qim2405082, c44044 as Qim240530TestInterop, c55432 as QimDemo0527, c81573 as Qis0311Testnet, c93017 as Qis0313Testnet, c89283 as Qis0326Testnet, c813 as QitmeerNetwork, c8132 as QitmeerNetworkMixnet, c8133 as QitmeerNetworkPrivnet, c8131 as QitmeerNetworkTestnet, c766 as Ql1, c7668378 as Ql1Testnet, c80375 as Qr0103y1s, c40798 as Qr0109y1p, c82368 as Qr0116s1, c68295 as Qr0116y1s, c79338 as Qr0122i1Testnet, c20139 as Qr0129i1, c98557 as Qr0201i1, c41425 as Qr0205i1, c951083 as Qr0205y1s, c950375 as Qr0209y1s, c991424 as Qr0213y1s, c946751 as Qr0214y1p, c929038 as Qr0215y1mp, c46109 as Qr0224t1tpTestnet, c999511 as Qr0227t1ts, c61551 as Qr0304t1tsTestnet, c8154 as Qr0318sgcp, c978993 as Qr0318t1tsTestnet, c933326 as Qr0326t2tsTestnet, c961256 as Qr0326t4tsTestnet, c10050 as Qr0327s1dTestnet, c914031 as Qr0408t1tsTestnet, c928010 as Qr0408t2tsTestnet, c41720 as Qr0409s1Testnet, c51435 as Qr0410s1dTestnet, c933039 as Qr0422t1tsTestnet, c995201 as Qr0426t1ts, c982558 as Qr0429t1ts, c939359 as Qr0501t1ts, c934567 as Qr0506t1ts, c976517 as Qr0507y1ts, c959009 as Qr0508t1mp, c919517 as Qr0508t1tp, c59940 as Qr0510s1, c958798 as Qr0513t1ts, c25688 as Qr0520t1td, c943503 as Qr0520t1ts, c996699 as Qr0521t1ts, c970066 as Qr0522t1ts, c86157 as Qr0523s1t, c994504 as Qr0523y1ts, c18263 as Qr0528s1t, c95468 as Qr0528t1ts, c918806 as Qr0529t1ts, c980892 as Qr0530t1ts, c38168 as Qr0531s1t, c64947 as Qr0604s1t, c66729 as Qr0605s1t, c32112 as Qr0606s1t, c43994 as Qr0606t1tp, c49995 as Qr0606t2tp, c41847 as Qr0606t3tp, c922935 as Qr0607t1ts, c68316 as Qr0611sts, c74444 as Qr0612t1ts, c85405 as Qr0614t1ts, c993535 as Qr1120y1, c35730 as Qr1129i1, c36908 as Qr1205s1, c10946 as QuadransBlockchain, c10947 as QuadransBlockchainTestnet, c81720 as QuantumChain, c12890 as QuantumChainTestnet, c44445 as QuantumNetwork, c8888888 as Quarix, c8888881 as QuarixTestnet, c20181205 as Quarkblockchain, c110000 as QuarkchainDevnetRoot, c110001 as QuarkchainDevnetShard0, c110002 as QuarkchainDevnetShard1, c110003 as QuarkchainDevnetShard2, c110004 as QuarkchainDevnetShard3, c110005 as QuarkchainDevnetShard4, c110006 as QuarkchainDevnetShard5, c110007 as QuarkchainDevnetShard6, c110008 as QuarkchainDevnetShard7, c100011 as QuarkchainL2, c110011 as QuarkchainL2Testnet, c100000 as QuarkchainRoot, c100001 as QuarkchainShard0, c100002 as QuarkchainShard1, c100003 as QuarkchainShard2, c100004 as QuarkchainShard3, c100005 as QuarkchainShard4, c100006 as QuarkchainShard5, c100007 as QuarkchainShard6, c100008 as QuarkchainShard7, c8881 as QuartzByUnique, c2077 as Quokkacoin, c7484 as RabaNetwork, c1807 as RabbitAnalogTestnetChain, c1370 as Ramestta, c2025 as RangersProtocol, c9527 as RangersProtocolTestnetRobin, c1380996178 as Raptorchain, c1380012617 as Rari, c1918988905 as RarichainTestnet, c278611351 as RazorSkaleChain, c111188 as ReAl, c5318008 as ReactiveKopli, c121 as Realchain, c41077 as Really, c64273 as ReallyReally, c221230 as Reapchain, c221231 as ReapchainTestnet, c1011 as Rebus, c3033 as RebusTestnet, c151 as RedbellyNetwork, c152 as RedbellyNetworkDevnet, c153 as RedbellyNetworkTestnet, c154 as RedbellyNetworkTge, c1972 as Redecoin, c2611 as RedlightChain, c690 as Redstone, c17001 as RedstoneHoleskyTestnet, c33909 as Reg1116test, c5810 as RegTnet, c55555 as ReiChain, c55556 as ReiChainTestnet, c47805 as ReiNetwork, c63367 as Resft11624, c75000 as Resincoin, c888882 as Rexx, c1729 as ReyaNetwork, c1433 as RikezaNetwork, c12715 as RikezaNetworkTestnet, c917 as RiniaTestnet, c9170 as RiniaTestnetOld, c4 as Rinkeby, c7777 as RiseOfTheWarbotsTestnet, c158 as Roburna, c159 as RoburnaTestnet, c570 as Rollux, c57000 as RolluxTestnet, c30 as Rootstock, c31 as RootstockTestnet, c3 as Ropsten, c12553 as Rss3Vsl, c2331 as Rss3VslSepoliaTestnet, c1821 as RubySmartChain, c1912 as RubySmartChainTestnet, c822 as RunicChainTestnet, c499 as Rupaya, c799 as RupayaTestnet, c74356 as STestnet1524, c7225878 as Saakuru, c247253 as SaakuruTestnet, c6666665 as SafeAnwang, c6666666 as SafeAnwangTestnet, c3132023 as SaharaaiNetwork, c313313 as SaharaaiTestnet, c1209 as SaitablockchainSbc, c1022 as Sakura, c94918 as SampleTestnet, c1996 as Sanko, c32382 as SantimentIntelligenceNetwork, c11888 as SantimentIntelligenceNetworkDeprecated, c8883 as SapphireByUnique, c51712 as Sardis, c11612 as SardisTestnet, c12009 as Satoshichain, c5758 as SatoshichainTestnet, c1985 as Satoshie, c1986 as SatoshieTestnet, c3109 as SatoshivmAlpha, c3110 as SatoshivmTestnet, c1911 as Scalind, c60841 as ScgK, c69743 as ScgKScgK, c65450 as Scolcoin, c6552 as ScolcoinWeichainTestnet, c742 as ScriptTestnet, c534352 as Scroll, c534353 as ScrollAlphaTestnet, c534354 as ScrollPreAlphaTestnet, c534351 as ScrollSepoliaTestnet, c34 as Securechain, c3434 as SecurechainTestnet, c186 as Seele, c1329 as Sei, c713715 as SeiDevnet, c1328 as SeiTestnet, c1961 as SelendraNetwork, c1953 as SelendraNetworkTestnet, c3699 as Senjepowers, c3698 as SenjepowersTestnet, c11155111 as Sepolia, c58008 as SepoliaPgnPublicGoodsNetwork, c258 as Setheum, c5372 as SettlusTestnet, c75817 as Sft1824, c8080 as ShardeumLiberty1X, c8081 as ShardeumLiberty2X, c8082 as ShardeumSphinx1X, c20141 as ShelbySTestnet, c91558 as ShelbySTestnet118, c1506 as Sherpax, c1507 as SherpaxTestnet, c27 as Shibachain, c109 as Shibarium, c719 as ShibariumBeta, c336 as Shiden, c9008 as ShidoBlock, c9007 as ShidoTestnetBlock, c148 as Shimmerevm, c1073 as ShimmerevmTestnet, c1071 as ShimmerevmTestnetDeprecated, c1072 as ShimmerevmTestnetDeprecated1072, c214 as Shinarium, c534849 as ShinariumBeta, c11221 as ShineChain, c2044 as ShrapnelSubnet, c2038 as ShrapnelTestnet, c7341 as Shyft, c11437 as ShyftTestnet, c111111 as SiberiumNetwork, c111000 as SiberiumTestNetwork, c5102 as SicTestnet, c2355 as SiliconZkevm, c1414 as SiliconZkevmSepoliaTestnet, c12052 as SingularityZero, c12051 as SingularityZeroTestnet, c67390 as Siriusnet, c217 as SiriusnetV2, c98 as SixProtocol, c150 as SixProtocolTestnet, c10086 as Sjatsh, c1564830818 as SkaleCalypsoHub, c974399131 as SkaleCalypsoHubTestnet, c2046399126 as SkaleEuropaHub, c1444673419 as SkaleEuropaHubTestnet, c1482601649 as SkaleNebulaHub, c37084624 as SkaleNebulaHubTestnet, c1350216234 as SkaleTitanHub, c1020352220 as SkaleTitanHubTestnet, c10000 as SmartBitcoinCash, c10001 as SmartBitcoinCashTestnet, c1177 as SmartHostTeknolojiTestnet, c5169 as SmartLayerNetwork, c82459 as SmartLayerNetworkTestnet, c18122 as SmartTradeNetworks, c20180430 as Smartmesh, c281121 as SocialSmartChain, c2332 as SomaNetwork, c2323 as SomaNetworkTestnet, c19 as SongbirdCanaryNetwork, c16 as SongbirdTestnetCoston, c145 as SoraaiTestnet, c68 as Soterone, c218 as SoteroneOld, c10101010 as Soverun, c8227 as Space, c48795 as SpaceSpace, c88882 as SpicyChain, c1904 as SportsChainNetwork, c13000 as Sps, c14000 as SpsTestnet, c7865 as St0207, c23934 as St1116V7Regression, c19683 as St1207V1, c83862 as St1212V1, c59069 as St1212V2, c39142 as StFound10524, c20180427 as StabilityTestnet, c700 as StarSocialTestnet, c210815 as StavaxTestnet, c24010 as StealthnetTesting, c1234 as StepNetwork, c12345 as StepTestnet, c8726 as Storagechain, c8727 as StoragechainTestnet, c105105 as Stratis, c2048 as Stratos, c2047 as StratosTestnet, c8098 as StreamuxBlockchain, c16316 as StripeTest, c208 as Structx, c1970 as SuperSmartChain, c1969 as SuperSmartChainTestnet, c5105 as SuperloyaltyTestnet, c8866 as Superlumio, c998899 as SupernetTestnet, c53302 as SuperseedSepoliaTestnet, c262 as SurBlockchainNetwork, c13812 as Susono, c45454 as SwampsL2, c20241133 as SwanProximaTestnet, c2024 as SwanSaturnTestnet, c230 as Swapdex, c88945 as Swaptest, c94 as Swissdlt, c1291 as SwisstronikTestnet, c416 as SxNetwork, c647 as SxNetworkTestnet, c1149 as SymplexiaSmartChain, c444 as SynapseChainTestnet, c510 as SyndicateChain, c5101 as SyndicateFrameChain, c5100 as SyndicateTestnet, c404 as SyndrL3, c444444 as SyndrL3Sepolia, c57 as Syscoin, c5700 as SyscoinTanenbaumTestnet, c94565 as T0117, c88888888 as TEAMBlockchain, c1004 as TEkta, c9789 as Tabichain, c224168 as TafEcoChain, c167000 as Taiko, c167004 as TaikoAlpha2Testnet, c167009 as TaikoHeklaL2, c167008 as TaikoKatlaL2, c5845 as Tangle, c3799 as TangleTestnet, c5678 as TanssiDemo, c10321 as TaoEvm, c10324 as TaoEvmTestnet, c558 as TaoNetwork, c911 as Taproot, c841 as Taraxa, c842 as TaraxaTestnet, c22023 as Taycan, c2023 as TaycanTestnet, c1707 as Tbsi, c1708 as TbsiTestnet, c35 as TbwgChain, c181155 as TccNetwork, c2400 as TcgVerse, c2569 as Techpay, c1003 as TectumEmissionToken, c8000 as Teleport, c8001 as TeleportTestnet, c40 as TelosEvm, c41 as TelosEvmTestnet, c443 as TenTestnet, c1559 as Tenet, c155 as TenetTestnet, c11516 as Tenzro, c1856 as Teslafunds, c2144 as TestSubnetResources, c51290 as TestUsingResources, c82529 as TestUsingResourcesTest_using_resources, c545 as Testnet, c26730 as TestnetAjj, c8181 as TestnetBeoneChain, c7158 as TestnetFirsttest, c28982 as TestnetTestnet, c41604 as TestnetTestnet41604, c48702 as TestnetTestnet48702, c74738 as TestnetTestnet74738, c92496 as TestnetTestnet92496, c95395 as TestnetTestnet95395, c56400 as TestnetZeroone, c7 as Thaichain, c17 as Thaichain20Thaifi, c37195 as Thari, c7668 as TheRootNetwork, c7672 as TheRootNetworkPorciniTestnet, c361 as Theta, c364 as ThetaAmberTestnet, c363 as ThetaSapphireTestnet, c365 as ThetaTestnet, c98857 as ThetanTestnet, c70000 as ThinkiumChain0, c70001 as ThinkiumChain1, c70103 as ThinkiumChain103, c70002 as ThinkiumChain2, c60000 as ThinkiumTestnetChain0, c60001 as ThinkiumTestnetChain1, c60103 as ThinkiumTestnetChain103, c60002 as ThinkiumTestnetChain2, c894538 as ThirdwebTestSubnet, c108 as Thundercore, c18 as ThundercoreTestnet, c710420 as Tiltyard, c1127469 as TiltyardSubnet, c404040 as Tipboxcoin, c4141 as TipboxcoinTestnet, c55004 as Titan, c18888 as TitanTkx, c18889 as TitanTkxTestnet, c5177 as TlchainNetwork, c8768 as TmyChain, c37767 as Tnet0115, c30266 as Tnet0206, c24347 as Tnet0227, c63891 as Tnetv2, c4080 as TobeChain, c8654 as TokiNetwork, c8655 as TokiTestnet, c6969 as TombChain, c8723 as ToolGlobal, c8724 as ToolGlobalTestnet, c989 as Top, c980 as TopEvm, c77777 as Toronet, c54321 as ToronetTestnet, c8192 as Torus, c8194 as TorusTestnet, c3839 as TraderlandsSepolia, c1838 as TraderlandsTestnet, c978657 as TreasureRuby, c5002 as TreasurenetAlpha, c5005 as TreasurenetTestnet, c6066 as Tres, c6065 as TresTestnet, c5353 as TritaniumTestnet, c15555 as TrustEvmTestnet, c345 as Tsc, c820522 as TscTestnet, c330844 as TtcoinSmartChain, c1731313 as TurkeyDemoDev, c3630 as Tycooncoin, c39 as U2uSolaris, c99999 as UbSmartChain, c99998 as UbSmartChainTestnet, c8 as Ubiq, c9 as UbiqNetworkTestnet, c2112 as Uchain, c473861 as UltraPro, c1231 as Ultron, c1230 as UltronTestnet, c662 as Ultronsmartchain, c2484 as UnicornUltraNebulasTestnet, c8880 as Unique, c88819 as UnitZeroStagenet, c88817 as UnitZeroTestnet, c18233 as Unreal, c18231 as UnrealOld, c1918 as UpbCrescdiTestnet, c336666 as Upchain, c336655 as UpchainTestnet, c117 as Uptick, c6119 as Uptn, c6118 as UptnTestnet, c5315 as UzmiNetwork, c38 as Valorbit, c14801 as VanaSatoriTestnet, c2040 as Vanar, c78600 as Vanguard, c2223 as Vchain, c100009 as Vechain, c100010 as VechainTestnet, c555 as Vela1Chain, c106 as VelasEvm, c56789 as VeloLabs, c4919 as Venidium, c4918 as VenidiumTestnet, c77612 as VentionSmartChain, c741 as VentionSmartChainTestnet, c4613 as Very, c5522 as VexEvmTestnet, c88 as Viction, c89 as VictionTestnet, c601 as VineTestnet, c207 as VinuchainNetwork, c206 as VinuchainTestnet, c422 as Viridis, c224 as ViridisTestnet, c888888 as Vision, c666666 as VisionVpioneerTestChain, c1490 as Vitruveo, c14333 as VitruveoTestnet, c28518 as Vizing, c28516 as VizingTestnet, c713 as Vrcscan, c3102 as VultureEvmBeta, c8889 as VyvoSmartChain, c32001 as W3gamezHoleskyTestnet, c11111 as Wagmi, c888 as Wanchain, c8601152 as Waterfall8TestNetwork, c181 as WaterfallNetwork, c105 as Web3gamesDevnet, c102 as Web3gamesTestnet, c333 as Web3q, c3334 as Web3qGalileo, c24484 as Webchain, c444900 as WeelinkTestnet, c5869 as WegochainRubidium, c1111 as Wemix30, c1112 as Wemix30Testnet, c260693 as WhalepassTestnet, c1875 as Whitechain, c2625 as WhitechainTestnet, c41799 as WillSNewTestnet, c36530 as WillSSuperSubnet, c3036 as WillSTestnet, c22886 as WillSTestnetWill_s_testnet, c30226 as WillSTestnetWill_s_testnet30226, c42840 as WillSTestnetWill_s_testnet42840, c69740 as WillSTestnetWill_s_testnet69740, c49049 as WireshapeFloripaTestnet, c686868 as WonNetwork, c139 as Woopchain, c1202 as WorldTradeTechnicalChain, c103 as Worldland, c10395 as WorldlandTestnet, c91003 as WorldsAppchain, c4281033 as WorldsCaldera, c31929 as WorldsOp, c309 as WyzthTestnet, c202212 as X1Devnet, c4003 as X1Fastnet, c204005 as X1Network, c196 as XLayer, c195 as XLayerTestnet, c660279 as Xai, c47279324479 as XaiGoerliOrbit, c37714555429 as XaiSepolia, c8888 as Xanachain, c151221 as Xantus, c141221 as XantusTestnet, c9322252 as Xcap, c31753 as Xchain, c31754 as XchainTestnet, c51 as XdcApothemNetwork, c50 as XdcNetwork, c2941 as XenonChainTestnet, c1313500 as Xerom, c278 as XfairAi, c200000 as XfairAiTestnet, c3084 as XlNetworkTestnet, c2415 as Xodex, c37 as Xpla, c47 as XplaTestnet, c3701 as XplaTestnetXplatest, c7300 as XplaVerse, c2730 as XrSepolia, c1440002 as XrpLedgerEvmDevnetSidechain, c520 as XtSmartChain, c1637450 as XterioTestnet, c13838 as XtraderlandsSubnetTesnet, c927 as YidarkChain, c202401 as YmtechBesuTestnet, c50005 as YooldoVerse, c50006 as YooldoVerseTestnet, c3999 as Yuanchain, c2016 as ZMainnet, c9768 as ZTestnet, c1369 as Zafirium, c3331 as ZcoreTestnet, c83872 as Zedxion, c427 as ZeethChain, c859 as ZeethChainDev, c383414847825 as Zeniq, c79 as Zenith, c27827 as Zeroone, c18303 as ZerooneTestnet, c7000 as Zetachain, c7001 as ZetachainAthens3Testnet, c82807 as ZfirstAvacloudSubnetThirdweb, c1337803 as Zhejiang, c282828 as ZillionSepoliaTestnet, c33469 as Zilliqa2EvmDevnet, c32769 as ZilliqaEvm, c33385 as ZilliqaEvmDevnet, c32990 as ZilliqaEvmIsolatedServer, c33101 as ZilliqaEvmTestnet, c48899 as ZircuitTestnet, c381 as Zkamoeba, c380 as ZkamoebaTestnet, c1261120 as Zkatana, c1789 as ZkbaseSepoliaTestnet, c302 as ZkcandySepoliaTestnet, c42766 as Zkfair, c43851 as ZkfairTestnet, c810180 as ZklinkNova, c810182 as ZklinkNovaGoerliTestnet, c810181 as ZklinkNovaSepoliaTestnet, c305 as Zksats, c324 as Zksync, c280 as ZksyncEraGoerliTestnetDeprecated, c300 as ZksyncSepoliaTestnet, c7777777 as Zora, c999999999 as ZoraSepoliaTestnet, c999 as ZoraTestnet, c9998 as Ztc, c50097 as ZytronB2Testnet, c55 as Zyx, c77787778 as _0xhashTestnet, c10248 as _0xtade, c846000 as _4goodnetwork, c997 as _5irechainThunder, allChains, configureChain, defaultChains, fetchChain, fetchChains, getChainByChainId, getChainByChainIdAsync, getChainBySlug, getChainBySlugAsync, getChainIdsBySlug, getChainRPC, getChainRPCs, getValidChainRPCs, minimizeChain, updateChainRPCs };\n","import { sha256 as sha256$1 } from '@noble/hashes/sha256';\nimport { keccak_256 } from 'js-sha3';\n\nclass TextProcessorCache {\n get encoder() {\n if (!this._encoder) {\n this._encoder = new TextEncoder();\n }\n return this._encoder;\n }\n get decoder() {\n if (!this._decoder) {\n this._decoder = new TextDecoder();\n }\n return this._decoder;\n }\n}\n\n// create a singleton instance of the TextProcessorCache\nconst textProcessorSingleton = new TextProcessorCache();\nfunction getCachedTextEncoder() {\n return textProcessorSingleton.encoder;\n}\nfunction getCachedTextDecoder() {\n return textProcessorSingleton.decoder;\n}\n\n// stripped down version of `js-md5`\n// changes:\n// - we know we always have ArrayBuffer available\n// - we only care about `arrayBuffer` output\n// - we want to behave the same regardless of NODE or non NODE env\n// - transformed into class\n// - typescript\n\n/**\n * [js-md5]{@link https://github.com/emn178/js-md5}\n *\n * @namespace md5\n * @version 0.8.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2023\n * @license MIT\n */\n\nconst INPUT_ERROR = \"input is invalid type\";\nconst FINALIZE_ERROR = \"finalize already called\";\nconst EXTRA = [128, 32768, 8388608, -2147483648];\n\n// [message: string, isString: bool]\nfunction formatMessage(message) {\n const type = typeof message;\n if (typeof message === \"string\") {\n return [message, true];\n }\n if (type !== \"object\" || message === null) {\n throw new Error(INPUT_ERROR);\n }\n if (message instanceof ArrayBuffer) {\n return [new Uint8Array(message), false];\n }\n if (!Array.isArray(message) && !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n return [message, false];\n}\n\n/**\n * Md5 class\n * @class Md5\n * @description This is internal class.\n * @see {@link md5.create}\n */\nclass Md5 {\n lastByteIndex = 0;\n constructor() {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const buffer = new ArrayBuffer(68);\n this.buffer8 = new Uint8Array(buffer);\n this.blocks = new Uint32Array(buffer);\n this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n /**\n * @method update\n * @memberof Md5\n * @instance\n * @description Update hash\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @see {@link md5.update}\n */\n update(inputMessage) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n const [message, isString] = formatMessage(inputMessage);\n const blocks = this.blocks;\n let length = 0;\n if (ArrayBuffer.isView(message)) {\n length = message.byteLength;\n } else {\n length = message.length;\n }\n let code,\n index = 0,\n i;\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const buffer8 = this.buffer8;\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n if (isString) {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n buffer8[i++] = code;\n } else if (code < 0x800) {\n buffer8[i++] = 0xc0 | code >>> 6;\n buffer8[i++] = 0x80 | code & 0x3f;\n } else if (code < 0xd800 || code >= 0xe000) {\n buffer8[i++] = 0xe0 | code >>> 12;\n buffer8[i++] = 0x80 | code >>> 6 & 0x3f;\n buffer8[i++] = 0x80 | code & 0x3f;\n } else {\n code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff);\n buffer8[i++] = 0xf0 | code >>> 18;\n buffer8[i++] = 0x80 | code >>> 12 & 0x3f;\n buffer8[i++] = 0x80 | code >>> 6 & 0x3f;\n buffer8[i++] = 0x80 | code & 0x3f;\n }\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n // at this point we know it's not a string\n buffer8[i++] = message[index];\n }\n }\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n }\n finalize() {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const blocks = this.blocks,\n i = this.lastByteIndex;\n blocks[i >>> 2] |= EXTRA[i & 3];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.bytes << 3;\n blocks[15] = this.hBytes << 3 | this.bytes >>> 29;\n this.hash();\n }\n hash() {\n const blocks = this.blocks;\n let a, b, c, d, bc, da;\n if (this.first) {\n a = blocks[0] - 680876937;\n a = (a << 7 | a >>> 25) - 271733879 << 0;\n d = (-1732584194 ^ a & 2004318071) + blocks[1] - 117830708;\n d = (d << 12 | d >>> 20) + a << 0;\n c = (-271733879 ^ d & (a ^ -271733879)) + blocks[2] - 1126478375;\n c = (c << 17 | c >>> 15) + d << 0;\n b = (a ^ c & (d ^ a)) + blocks[3] - 1316259209;\n b = (b << 22 | b >>> 10) + c << 0;\n } else {\n a = this.h0;\n b = this.h1;\n c = this.h2;\n d = this.h3;\n a += (d ^ b & (c ^ d)) + blocks[0] - 680876936;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ a & (b ^ c)) + blocks[1] - 389564586;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ d & (a ^ b)) + blocks[2] + 606105819;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ c & (d ^ a)) + blocks[3] - 1044525330;\n b = (b << 22 | b >>> 10) + c << 0;\n }\n a += (d ^ b & (c ^ d)) + blocks[4] - 176418897;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ a & (b ^ c)) + blocks[5] + 1200080426;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ d & (a ^ b)) + blocks[6] - 1473231341;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ c & (d ^ a)) + blocks[7] - 45705983;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ b & (c ^ d)) + blocks[8] + 1770035416;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ a & (b ^ c)) + blocks[9] - 1958414417;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ d & (a ^ b)) + blocks[10] - 42063;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ c & (d ^ a)) + blocks[11] - 1990404162;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ b & (c ^ d)) + blocks[12] + 1804603682;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ a & (b ^ c)) + blocks[13] - 40341101;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ d & (a ^ b)) + blocks[14] - 1502002290;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ c & (d ^ a)) + blocks[15] + 1236535329;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (c ^ d & (b ^ c)) + blocks[1] - 165796510;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ c & (a ^ b)) + blocks[6] - 1069501632;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ b & (d ^ a)) + blocks[11] + 643717713;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ a & (c ^ d)) + blocks[0] - 373897302;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ d & (b ^ c)) + blocks[5] - 701558691;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ c & (a ^ b)) + blocks[10] + 38016083;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ b & (d ^ a)) + blocks[15] - 660478335;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ a & (c ^ d)) + blocks[4] - 405537848;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ d & (b ^ c)) + blocks[9] + 568446438;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ c & (a ^ b)) + blocks[14] - 1019803690;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ b & (d ^ a)) + blocks[3] - 187363961;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ a & (c ^ d)) + blocks[8] + 1163531501;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ d & (b ^ c)) + blocks[13] - 1444681467;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ c & (a ^ b)) + blocks[2] - 51403784;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ b & (d ^ a)) + blocks[7] + 1735328473;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ a & (c ^ d)) + blocks[12] - 1926607734;\n b = (b << 20 | b >>> 12) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[5] - 378558;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[8] - 2022574463;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[11] + 1839030562;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[14] - 35309556;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[1] - 1530992060;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[4] + 1272893353;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[7] - 155497632;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[10] - 1094730640;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[13] + 681279174;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[0] - 358537222;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[3] - 722521979;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[6] + 76029189;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[9] - 640364487;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[12] - 421815835;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[15] + 530742520;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[2] - 995338651;\n b = (b << 23 | b >>> 9) + c << 0;\n a += (c ^ (b | ~d)) + blocks[0] - 198630844;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[7] + 1126891415;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[14] - 1416354905;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[5] - 57434055;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[12] + 1700485571;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[3] - 1894986606;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[10] - 1051523;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[1] - 2054922799;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[8] + 1873313359;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[15] - 30611744;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[6] - 1560198380;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[13] + 1309151649;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[4] - 145523070;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[11] - 1120210379;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[2] + 718787259;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[9] - 343485551;\n b = (b << 21 | b >>> 11) + c << 0;\n if (this.first) {\n this.h0 = a + 1732584193 << 0;\n this.h1 = b - 271733879 << 0;\n this.h2 = c - 1732584194 << 0;\n this.h3 = d + 271733878 << 0;\n this.first = false;\n } else {\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n }\n }\n\n /**\n * @method arrayBuffer\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.arrayBuffer}\n * @example\n * hash.arrayBuffer();\n */\n arrayBuffer() {\n this.finalize();\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const buffer = new ArrayBuffer(16);\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const blocks = new Uint32Array(buffer);\n blocks[0] = this.h0;\n blocks[1] = this.h1;\n blocks[2] = this.h2;\n blocks[3] = this.h3;\n return buffer;\n }\n}\nfunction arrayBuffer(uint8Arr) {\n const md5 = new Md5();\n md5.update(uint8Arr);\n return md5.arrayBuffer();\n}\n\n// taken from: https://github.com/sindresorhus/uint8array-extras\nconst objectToString = Object.prototype.toString;\nconst uint8ArrayStringified = \"[object Uint8Array]\";\nfunction isUint8Array(value) {\n if (!value) {\n return false;\n }\n if (value.constructor === Uint8Array) {\n return true;\n }\n return objectToString.call(value) === uint8ArrayStringified;\n}\nfunction assertUint8Array(value) {\n if (!isUint8Array(value)) {\n throw new TypeError(`Expected \\`Uint8Array\\`, got \\`${typeof value}\\``);\n }\n}\nfunction concatUint8Arrays(arrays, totalLength) {\n if (arrays.length === 0) {\n return new Uint8Array(0);\n }\n if (totalLength === null || totalLength === undefined) {\n totalLength = arrays.reduce((accumulator, currentValue) => accumulator + currentValue.length, 0);\n }\n const returnValue = new Uint8Array(totalLength);\n let offset = 0;\n for (const array of arrays) {\n assertUint8Array(array);\n returnValue.set(array, offset);\n offset += array.length;\n }\n return returnValue;\n}\nfunction assertString(value) {\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \\`string\\`, got \\`${typeof value}\\``);\n }\n}\nfunction base64ToBase64Url(base64) {\n return base64.replaceAll(\"+\", \"-\").replaceAll(\"/\", \"_\").replace(/=+$/, \"\");\n}\nfunction base64UrlToBase64(base64url) {\n return base64url.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\");\n}\n\n// Reference: https://phuoc.ng/collection/this-vs-that/concat-vs-push/\nconst MAX_BLOCK_SIZE = 65_535;\nfunction uint8ArrayToBase64(array) {\n let {\n urlSafe = false\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assertUint8Array(array);\n let base64;\n if (array.length < MAX_BLOCK_SIZE) {\n // Required as `btoa` and `atob` don't properly support Unicode: https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n base64 = globalThis.btoa(String.fromCodePoint.apply(this, array));\n } else {\n base64 = \"\";\n for (const value of array) {\n base64 += String.fromCodePoint(value);\n }\n base64 = globalThis.btoa(base64);\n }\n return urlSafe ? base64ToBase64Url(base64) : base64;\n}\nfunction base64ToUint8Array(base64String) {\n assertString(base64String);\n return Uint8Array.from(globalThis.atob(base64UrlToBase64(base64String)), x => x.codePointAt(0));\n}\nconst byteToHexLookupTable = Array.from({\n length: 256\n}, (_, index) => index.toString(16).padStart(2, \"0\"));\nfunction uint8ArrayToHex(array) {\n assertUint8Array(array);\n\n // Concatenating a string is faster than using an array.\n let hexString = \"\";\n for (let index = 0; index < array.length; index++) {\n hexString += byteToHexLookupTable[array[index]];\n }\n return hexString;\n}\n\nasync function universalCrypto() {\n if (\"crypto\" in globalThis) {\n return globalThis.crypto;\n }\n\n // otherwise we are in node 18 so we can use `webcrypto` off of the \"node:crypto\" package and treat it as native\n // trick bundlers so that they leave this alone :)\n const pto = \"pto\";\n // this becomes `node:crypto` at runtime\n return (await import(\"node\" + \":cry\" + pto)).webcrypto;\n}\n\n/**\n * This is an implementation of the CryptoJS AES decryption scheme, without actually relying on crypto-js.\n */\n\nconst HEAD_SIZE_DWORD = 2;\nconst SALT_SIZE_DWORD = 2;\nasync function decryptCryptoJSCipherBase64(salt, ciphertext, password) {\n let {\n keySizeDWORD = 256 / 32,\n ivSizeDWORD = 128 / 32,\n iterations = 1\n } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const crypto = await universalCrypto();\n const {\n key,\n iv\n } = await dangerouslyDeriveParameters(password, salt, keySizeDWORD, ivSizeDWORD, iterations);\n try {\n // decrypt ciphertext using key\n const plainBuffer = await crypto.subtle.decrypt({\n name: \"AES-CBC\",\n iv\n }, key, ciphertext);\n // return the plaintext from ArrayBuffer\n return getCachedTextDecoder().decode(plainBuffer);\n } catch (e) {\n throw new Error(\"Decrypt failed\");\n }\n}\nfunction parseCryptoJSCipherBase64(cryptoJSCipherBase64) {\n let salt = null;\n let ciphertext = base64ToUint8Array(cryptoJSCipherBase64);\n const [head, body] = splitUint8Array(ciphertext, HEAD_SIZE_DWORD * 4);\n\n // This effectively checks if the ciphertext starts with 'Salted__', which is the crypto-js convention.\n const headDataView = new DataView(head.buffer);\n if (headDataView.getInt32(0) === 0x53616c74 && headDataView.getInt32(4) === 0x65645f5f) {\n [salt, ciphertext] = splitUint8Array(body, SALT_SIZE_DWORD * 4);\n }\n return {\n ciphertext,\n salt\n };\n}\nasync function dangerouslyDeriveParameters(password, salt, keySizeDWORD, ivSizeDWORD, iterations) {\n const crypto = await universalCrypto();\n const passwordUint8Array = getCachedTextEncoder().encode(password);\n const keyPlusIV = dangerousEVPKDF(passwordUint8Array, salt, keySizeDWORD + ivSizeDWORD, iterations);\n const [rawKey, iv] = splitUint8Array(keyPlusIV, keySizeDWORD * 4);\n const key = await crypto.subtle.importKey(\"raw\", rawKey, \"AES-CBC\", false, [\"decrypt\"]);\n return {\n key,\n iv\n };\n}\nfunction dangerousEVPKDF(passwordUint8Array, saltUint8Array, keySizeDWORD, iterations) {\n let derivedKey = new Uint8Array();\n let block = new Uint8Array();\n while (derivedKey.byteLength < keySizeDWORD * 4) {\n block = new Uint8Array(arrayBuffer(concatUint8Arrays([block, passwordUint8Array, saltUint8Array])));\n for (let i = 1; i < iterations; i++) {\n block = new Uint8Array(arrayBuffer(block));\n }\n derivedKey = concatUint8Arrays([derivedKey, block]);\n }\n return derivedKey;\n}\nfunction splitUint8Array(a, i) {\n return [a.subarray(0, i), a.subarray(i, a.length)];\n}\n\n/**\n * Decrypts ciphertext encrypted with aesEncrypt() using supplied password.\n *\n * @param ciphertext - Ciphertext to be decrypted.\n * @param password - Password to use to decrypt ciphertext.\n * @returns Decrypted plaintext.\n *\n * @example\n * const plaintext = await aesDecrypt(ciphertext, 'pw');\n */\nasync function aesDecrypt(ciphertext, password) {\n const crypto = await universalCrypto();\n // encode password as UTF-8\n const pwUtf8 = getCachedTextEncoder().encode(password);\n // hash the password\n const pwHash = await crypto.subtle.digest(\"SHA-256\", pwUtf8);\n const cipherUint8Array = base64ToUint8Array(ciphertext);\n\n // iv\n const iv = cipherUint8Array.slice(0, 12);\n\n // specify algorithm to use\n const alg = {\n name: \"AES-GCM\",\n iv\n };\n\n // generate key from pw\n const key = await crypto.subtle.importKey(\"raw\", pwHash, alg, false, [\"decrypt\"]);\n\n // ciphertext\n const ctUint8 = cipherUint8Array.slice(12);\n try {\n // decrypt ciphertext using key\n const plainBuffer = await crypto.subtle.decrypt(alg, key, ctUint8);\n // return the plaintext from ArrayBuffer\n return getCachedTextDecoder().decode(plainBuffer);\n } catch (e) {\n throw new Error(\"Decrypt failed\");\n }\n}\n\n/**\n * Decrypts ciphertext encrypted with aesEncrypt() OR \"crypto-js\".AES using supplied password.\n *\n * @param ciphertext - Ciphertext to be decrypted.\n * @param password - Password to use to decrypt ciphertext.\n * @returns Decrypted plaintext.\n *\n * @example\n * const plaintext = await aesDecryptCompat(ciphertext, 'pw');\n */\nasync function aesDecryptCompat(ciphertext, password) {\n // determine if we're dealing with a legacy (cryptojs) ciphertext\n const cryptoJs = parseCryptoJSCipherBase64(ciphertext);\n if (cryptoJs.salt && cryptoJs.ciphertext) {\n return decryptCryptoJSCipherBase64(cryptoJs.salt, cryptoJs.ciphertext, password);\n }\n // otherwise assume it's a ciphertext generated by aesEncrypt()\n return aesDecrypt(ciphertext, password);\n}\n\n/**\n * Encrypts plaintext using AES-GCM with supplied password, for decryption with aesDecrypt().\n *\n * @param plaintext - Plaintext to be encrypted.\n * @param password - Password to use to encrypt plaintext.\n * @returns Encrypted ciphertext.\n *\n * @example\n * const ciphertext = await aesEncrypt('my secret text', 'pw');\n */\nasync function aesEncrypt(plaintext, password) {\n const crypto = await universalCrypto();\n const textEncoder = getCachedTextEncoder();\n // encode password as UTF-8\n const pwUtf8 = textEncoder.encode(password);\n // hash the password\n const pwHash = await crypto.subtle.digest(\"SHA-256\", pwUtf8);\n\n // get 96-bit random iv\n const iv = crypto.getRandomValues(new Uint8Array(12));\n\n // specify algorithm to use\n const alg = {\n name: \"AES-GCM\",\n iv\n };\n\n // generate key from pw\n const key = await crypto.subtle.importKey(\"raw\", pwHash, alg, false, [\"encrypt\"]);\n\n // encode plaintext as UTF-8\n const ptUint8 = textEncoder.encode(plaintext);\n // encrypt plaintext using key\n const ctBuffer = await crypto.subtle.encrypt(alg, key, ptUint8);\n\n // iv+ciphertext base64-encoded\n return uint8ArrayToBase64(concatUint8Arrays([iv, new Uint8Array(ctBuffer)]));\n}\n\n/**\n * Hash a string or Uint8Array using sha256.\n * @param value - Value to be hashed.\n * @returns A promise that resolves to the hash of the value as Uint8Array.\n */\nasync function sha256(value) {\n let encodedValue;\n if (typeof value === \"string\") {\n // if we do not have a cahced TextEncoder instance, create one\n\n encodedValue = getCachedTextEncoder().encode(value);\n } else {\n encodedValue = value;\n }\n return new Uint8Array(await (await universalCrypto()).subtle.digest(\"SHA-256\", encodedValue));\n}\n\n/**\n * Hash a string or Uint8Array using sha256 and returns the result as a hex string.\n * @param value - Value to be hashed.\n * @returns A promise that resolves to the hash of the value as a hex string.\n */\nasync function sha256Hex(value) {\n return uint8ArrayToHex(await sha256(value));\n}\n\n/**\n * Hash a string or Uint8Array using sha256.\n * @param value - Value to be hashed.\n * @returns The hash of the value as Uint8Array.\n */\nfunction sha256Sync(value) {\n return sha256$1(value);\n}\n\n/**\n * Hash a string or Uint8Array using sha256.\n * @param value - Value to be hashed.\n * @returns The hash of the value as a hex string.\n */\nfunction sha256HexSync(value) {\n return uint8ArrayToHex(sha256Sync(value));\n}\n\n/**\n * Hashes a string or Uint8Array using keccak256.\n * @param value - Value to be hashed.\n * @returns Hash of the value as Uint8Array.\n */\nfunction keccak256Sync(value) {\n return new Uint8Array(keccak_256.arrayBuffer(value));\n}\n\n/**\n * Hashes a string or Uint8Array using keccak256 and returns the result as a hex string.\n * @param value - Value to be hashed.\n * @returns Hash of the value as a hex string.\n */\nfunction keccak256SyncHex(value) {\n return keccak_256(value);\n}\n\n/**\n * Hashes a string or Uint8Array using keccak256 and returns the result as a hex string prefixed with \"0x\".\n * @param value - Value to be hashed.\n * @returns Hash of the value as a hex string prefixed with \"0x\".\n */\nfunction keccak256SyncHexPrefixed(value) {\n // prefix with 0x (this is what ethers.utils.keccak256 does)\n return `0x${keccak256SyncHex(value)}`;\n}\n\nexport { aesDecrypt, aesDecryptCompat, aesEncrypt, keccak256Sync, keccak256SyncHex, keccak256SyncHexPrefixed, sha256, sha256Hex, sha256HexSync, sha256Sync };\n","/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.9.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2023\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\n var CSHAKE_PADDING = [4, 1024, 262144, 67108864];\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\n var PADDING = [6, 1536, 393216, 100663296];\n var SHIFT = [0, 8, 16, 24];\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n var BITS = [224, 256, 384, 512];\n var SHAKE_BITS = [128, 256];\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];\n var CSHAKE_BYTEPAD = {\n '128': 168,\n '256': 136\n };\n\n\n var isArray = root.JS_SHA3_NO_NODE_JS || !Array.isArray\n ? function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n }\n : Array.isArray;\n\n var isView = (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView))\n ? function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n }\n : ArrayBuffer.isView;\n\n // [message: string, isString: bool]\n var formatMessage = function (message) {\n var type = typeof message;\n if (type === 'string') {\n return [message, true];\n }\n if (type !== 'object' || message === null) {\n throw new Error(INPUT_ERROR);\n }\n if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n return [new Uint8Array(message), false];\n }\n if (!isArray(message) && !isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n return [message, false];\n }\n\n var empty = function (message) {\n return formatMessage(message)[0].length === 0;\n };\n\n var cloneArray = function (array) {\n var newArray = [];\n for (var i = 0; i < array.length; ++i) {\n newArray[i] = array[i];\n }\n return newArray;\n }\n\n var createOutputMethod = function (bits, padding, outputType) {\n return function (message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n\n var createShakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n\n var createCshakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits, n, s) {\n return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n\n var createKmacOutputMethod = function (bits, padding, outputType) {\n return function (key, message, outputBits, s) {\n return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n\n var createOutputMethods = function (method, createMethod, bits, padding) {\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n\n var createMethod = function (bits, padding) {\n var method = createOutputMethod(bits, padding, 'hex');\n method.create = function () {\n return new Keccak(bits, padding, bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n\n var createShakeMethod = function (bits, padding) {\n var method = createShakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function (message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n\n var createCshakeMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits, n, s) {\n if (empty(n) && empty(s)) {\n return methods['shake' + bits].create(outputBits);\n } else {\n return new Keccak(bits, padding, outputBits).bytepad([n, s], w);\n }\n };\n method.update = function (message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n\n var createKmacMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, 'hex');\n method.create = function (key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);\n };\n method.update = function (key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n\n var algorithms = [\n { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },\n { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },\n { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },\n { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },\n { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }\n ];\n\n var methods = {}, methodNames = [];\n\n for (var i = 0; i < algorithms.length; ++i) {\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for (var j = 0; j < bits.length; ++j) {\n var methodName = algorithm.name + '_' + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== 'sha3') {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = (1600 - (bits << 1)) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n\n for (var i = 0; i < 50; ++i) {\n this.s[i] = 0;\n }\n }\n\n Keccak.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var result = formatMessage(message);\n message = result[0];\n var isString = result[1];\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length,\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\n\n while (index < length) {\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (isString) {\n for (i = this.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n } else {\n for (i = this.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n this.reset = true;\n } else {\n this.start = i;\n }\n }\n return this;\n };\n\n Keccak.prototype.encode = function (x, right) {\n var o = x & 255, n = 1;\n var bytes = [o];\n x = x >> 8;\n o = x & 255;\n while (o > 0) {\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) {\n bytes.push(n);\n } else {\n bytes.unshift(n);\n }\n this.update(bytes);\n return bytes.length;\n };\n\n Keccak.prototype.encodeString = function (str) {\n var result = formatMessage(str);\n str = result[0];\n var isString = result[1];\n var bytes = 0, length = str.length;\n if (isString) {\n for (var i = 0; i < str.length; ++i) {\n var code = str.charCodeAt(i);\n if (code < 0x80) {\n bytes += 1;\n } else if (code < 0x800) {\n bytes += 2;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes += 3;\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));\n bytes += 4;\n }\n }\n } else {\n bytes = length;\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n\n Keccak.prototype.bytepad = function (strs, w) {\n var bytes = this.encode(w);\n for (var i = 0; i < strs.length; ++i) {\n bytes += this.encodeString(strs[i]);\n }\n var paddingBytes = (w - bytes % w) % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n\n Keccak.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n };\n\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = '', block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\n }\n if (j % blockCount === 0) {\n s = cloneArray(s);\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) {\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\n }\n if (extraBytes > 2) {\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\n }\n }\n return hex;\n };\n\n Keccak.prototype.arrayBuffer = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) {\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\n } else {\n buffer = new ArrayBuffer(bytes);\n }\n var array = new Uint32Array(buffer);\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n array[j] = s[i];\n }\n if (j % blockCount === 0) {\n s = cloneArray(s);\n f(s);\n }\n }\n if (extraBytes) {\n array[j] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n\n Keccak.prototype.digest = Keccak.prototype.array = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = (block >> 8) & 0xFF;\n array[offset + 2] = (block >> 16) & 0xFF;\n array[offset + 3] = (block >> 24) & 0xFF;\n }\n if (j % blockCount === 0) {\n s = cloneArray(s);\n f(s);\n }\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) {\n array[offset + 1] = (block >> 8) & 0xFF;\n }\n if (extraBytes > 2) {\n array[offset + 2] = (block >> 16) & 0xFF;\n }\n }\n return array;\n };\n\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n\n Kmac.prototype = new Keccak();\n\n Kmac.prototype.finalize = function () {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n\n var f = function (s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = (s[11] << 4) | (s[10] >>> 28);\n b33 = (s[10] << 4) | (s[11] >>> 28);\n b14 = (s[20] << 3) | (s[21] >>> 29);\n b15 = (s[21] << 3) | (s[20] >>> 29);\n b46 = (s[31] << 9) | (s[30] >>> 23);\n b47 = (s[30] << 9) | (s[31] >>> 23);\n b28 = (s[40] << 18) | (s[41] >>> 14);\n b29 = (s[41] << 18) | (s[40] >>> 14);\n b20 = (s[2] << 1) | (s[3] >>> 31);\n b21 = (s[3] << 1) | (s[2] >>> 31);\n b2 = (s[13] << 12) | (s[12] >>> 20);\n b3 = (s[12] << 12) | (s[13] >>> 20);\n b34 = (s[22] << 10) | (s[23] >>> 22);\n b35 = (s[23] << 10) | (s[22] >>> 22);\n b16 = (s[33] << 13) | (s[32] >>> 19);\n b17 = (s[32] << 13) | (s[33] >>> 19);\n b48 = (s[42] << 2) | (s[43] >>> 30);\n b49 = (s[43] << 2) | (s[42] >>> 30);\n b40 = (s[5] << 30) | (s[4] >>> 2);\n b41 = (s[4] << 30) | (s[5] >>> 2);\n b22 = (s[14] << 6) | (s[15] >>> 26);\n b23 = (s[15] << 6) | (s[14] >>> 26);\n b4 = (s[25] << 11) | (s[24] >>> 21);\n b5 = (s[24] << 11) | (s[25] >>> 21);\n b36 = (s[34] << 15) | (s[35] >>> 17);\n b37 = (s[35] << 15) | (s[34] >>> 17);\n b18 = (s[45] << 29) | (s[44] >>> 3);\n b19 = (s[44] << 29) | (s[45] >>> 3);\n b10 = (s[6] << 28) | (s[7] >>> 4);\n b11 = (s[7] << 28) | (s[6] >>> 4);\n b42 = (s[17] << 23) | (s[16] >>> 9);\n b43 = (s[16] << 23) | (s[17] >>> 9);\n b24 = (s[26] << 25) | (s[27] >>> 7);\n b25 = (s[27] << 25) | (s[26] >>> 7);\n b6 = (s[36] << 21) | (s[37] >>> 11);\n b7 = (s[37] << 21) | (s[36] >>> 11);\n b38 = (s[47] << 24) | (s[46] >>> 8);\n b39 = (s[46] << 24) | (s[47] >>> 8);\n b30 = (s[8] << 27) | (s[9] >>> 5);\n b31 = (s[9] << 27) | (s[8] >>> 5);\n b12 = (s[18] << 20) | (s[19] >>> 12);\n b13 = (s[19] << 20) | (s[18] >>> 12);\n b44 = (s[29] << 7) | (s[28] >>> 25);\n b45 = (s[28] << 7) | (s[29] >>> 25);\n b26 = (s[38] << 8) | (s[39] >>> 24);\n b27 = (s[39] << 8) | (s[38] >>> 24);\n b8 = (s[48] << 14) | (s[49] >>> 18);\n b9 = (s[49] << 14) | (s[48] >>> 18);\n\n s[0] = b0 ^ (~b2 & b4);\n s[1] = b1 ^ (~b3 & b5);\n s[10] = b10 ^ (~b12 & b14);\n s[11] = b11 ^ (~b13 & b15);\n s[20] = b20 ^ (~b22 & b24);\n s[21] = b21 ^ (~b23 & b25);\n s[30] = b30 ^ (~b32 & b34);\n s[31] = b31 ^ (~b33 & b35);\n s[40] = b40 ^ (~b42 & b44);\n s[41] = b41 ^ (~b43 & b45);\n s[2] = b2 ^ (~b4 & b6);\n s[3] = b3 ^ (~b5 & b7);\n s[12] = b12 ^ (~b14 & b16);\n s[13] = b13 ^ (~b15 & b17);\n s[22] = b22 ^ (~b24 & b26);\n s[23] = b23 ^ (~b25 & b27);\n s[32] = b32 ^ (~b34 & b36);\n s[33] = b33 ^ (~b35 & b37);\n s[42] = b42 ^ (~b44 & b46);\n s[43] = b43 ^ (~b45 & b47);\n s[4] = b4 ^ (~b6 & b8);\n s[5] = b5 ^ (~b7 & b9);\n s[14] = b14 ^ (~b16 & b18);\n s[15] = b15 ^ (~b17 & b19);\n s[24] = b24 ^ (~b26 & b28);\n s[25] = b25 ^ (~b27 & b29);\n s[34] = b34 ^ (~b36 & b38);\n s[35] = b35 ^ (~b37 & b39);\n s[44] = b44 ^ (~b46 & b48);\n s[45] = b45 ^ (~b47 & b49);\n s[6] = b6 ^ (~b8 & b0);\n s[7] = b7 ^ (~b9 & b1);\n s[16] = b16 ^ (~b18 & b10);\n s[17] = b17 ^ (~b19 & b11);\n s[26] = b26 ^ (~b28 & b20);\n s[27] = b27 ^ (~b29 & b21);\n s[36] = b36 ^ (~b38 & b30);\n s[37] = b37 ^ (~b39 & b31);\n s[46] = b46 ^ (~b48 & b40);\n s[47] = b47 ^ (~b49 & b41);\n s[8] = b8 ^ (~b0 & b2);\n s[9] = b9 ^ (~b1 & b3);\n s[18] = b18 ^ (~b10 & b12);\n s[19] = b19 ^ (~b11 & b13);\n s[28] = b28 ^ (~b20 & b22);\n s[29] = b29 ^ (~b21 & b23);\n s[38] = b38 ^ (~b30 & b32);\n s[39] = b39 ^ (~b31 & b33);\n s[48] = b48 ^ (~b40 & b42);\n s[49] = b49 ^ (~b41 & b43);\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n\n if (COMMON_JS) {\n module.exports = methods;\n } else {\n for (i = 0; i < methodNames.length; ++i) {\n root[methodNames[i]] = methods[methodNames[i]];\n }\n if (AMD) {\n define(function () {\n return methods;\n });\n }\n }\n})();\n","const GENERATED_ABI = {};\n\nexport { GENERATED_ABI };\n","import { getAbortController, noop, replaceData, timeUntilStale } from './utils'\nimport { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n CancelOptions,\n FetchStatus,\n InitialDataFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n cache: QueryCache\n queryKey: TQueryKey\n queryHash: string\n logger?: Logger\n options?: QueryOptions\n defaultOptions?: QueryOptions\n state?: QueryState\n}\n\nexport interface QueryState {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: any\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise\n fetchOptions?: FetchOptions\n signal?: AbortSignal\n options: QueryOptions\n queryKey: TQueryKey\n state: QueryState\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext,\n ) => void\n}\n\nexport interface FetchOptions {\n cancelRefetch?: boolean\n meta?: any\n}\n\ninterface FailedAction {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: any\n}\n\ninterface SuccessAction {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction {\n type: 'setState'\n state: Partial>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action =\n | ContinueAction\n | ErrorAction\n | FailedAction\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction\n | SuccessAction\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions\n initialState: QueryState\n revertState?: QueryState\n state: QueryState\n isFetchingOptimistic?: boolean\n\n private cache: QueryCache\n private logger: Logger\n private promise?: Promise\n private retryer?: Retryer\n private observers: QueryObserver[]\n private defaultOptions?: QueryOptions\n private abortSignalConsumed: boolean\n\n constructor(config: QueryConfig) {\n super()\n\n this.abortSignalConsumed = false\n this.defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.cache = config.cache\n this.logger = config.logger || defaultLogger\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.initialState = config.state || getDefaultState(this.options)\n this.state = this.initialState\n this.scheduleGc()\n }\n\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n private setOptions(\n options?: QueryOptions,\n ): void {\n this.options = { ...this.defaultOptions, ...options }\n\n this.updateCacheTime(this.options.cacheTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise {\n const promise = this.promise\n this.retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.initialState)\n }\n\n isActive(): boolean {\n return this.observers.some((observer) => observer.options.enabled !== false)\n }\n\n isDisabled(): boolean {\n return this.getObserversCount() > 0 && !this.isActive()\n }\n\n isStale(): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n this.observers.some((observer) => observer.getCurrentResult().isStale)\n )\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n !this.state.dataUpdatedAt ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n if (observer) {\n observer.refetch({ cancelRefetch: false })\n }\n\n // Continue fetch if currently paused\n this.retryer?.continue()\n }\n\n addObserver(observer: QueryObserver): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.abortSignalConsumed) {\n this.retryer.cancel({ revert: true })\n } else {\n this.retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions,\n fetchOptions?: FetchOptions,\n ): Promise {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({ silent: true })\n } else if (this.promise) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.retryer?.continueRetry()\n // Return current promise if we are already fetching\n return this.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n this.logger.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = getAbortController()\n\n // Create query function context\n const queryFnContext: QueryFunctionContext = {\n queryKey: this.queryKey,\n pageParam: undefined,\n meta: this.meta,\n }\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (abortController) {\n this.abortSignalConsumed = true\n return abortController.signal\n }\n return undefined\n },\n })\n }\n\n addSignalProperty(queryFnContext)\n\n // Create fetch function\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n `Missing queryFn for queryKey '${this.options.queryHash}'`,\n )\n }\n this.abortSignalConsumed = false\n return this.options.queryFn(queryFnContext)\n }\n\n // Trigger behavior hook\n const context: FetchContext = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(context)\n\n // Store state in case the current fetch needs to be reverted\n this.revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.cache.config.onError?.(error, this as Query)\n this.cache.config.onSettled?.(\n this.state.data,\n error,\n this as Query,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(error)\n }\n }\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n }\n\n // Try to fetch the data\n this.retryer = createRetryer({\n fn: context.fetchFn as () => TData,\n abort: abortController?.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n this.setData(data as TData)\n\n // Notify cache callback\n this.cache.config.onSuccess?.(data, this as Query)\n this.cache.config.onSettled?.(\n data,\n this.state.error,\n this as Query,\n )\n\n if (!this.isFetchingOptimistic) {\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n this.isFetchingOptimistic = false\n },\n onError,\n onFail: (failureCount, error) => {\n this.dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n })\n\n this.promise = this.retryer.promise\n\n return this.promise\n }\n\n private dispatch(action: Action): void {\n const reducer = (\n state: QueryState,\n ): QueryState => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode)\n ? 'fetching'\n : 'paused',\n ...(!state.dataUpdatedAt && {\n error: null,\n status: 'loading',\n }),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error as unknown\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return { ...this.revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error: error as TError,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error as TError,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate(action)\n })\n\n this.cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions,\n): QueryState {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction)()\n : options.initialData\n\n const hasData = typeof data !== 'undefined'\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'loading',\n fetchStatus: 'idle',\n }\n}\n","import { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type { NotifyEvent, QueryKey, QueryOptions } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (error: unknown, query: Query) => void\n onSuccess?: (data: unknown, query: Query) => void\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n query: Query,\n ) => void\n}\n\ninterface QueryHashMap {\n [hash: string]: Query\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query\n action: Action\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query\n observer: QueryObserver\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query\n observer: QueryObserver\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable {\n config: QueryCacheConfig\n\n private queries: Query[]\n private queriesMap: QueryHashMap\n\n constructor(config?: QueryCacheConfig) {\n super()\n this.config = config || {}\n this.queries = []\n this.queriesMap = {}\n }\n\n build(\n client: QueryClient,\n options: QueryOptions,\n state?: QueryState,\n ): Query {\n const queryKey = options.queryKey!\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get(queryHash)\n\n if (!query) {\n query = new Query({\n cache: this,\n logger: client.getLogger(),\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query): void {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query\n this.queries.push(query)\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query): void {\n const queryInMap = this.queriesMap[query.queryHash]\n\n if (queryInMap) {\n query.destroy()\n\n this.queries = this.queries.filter((x) => x !== query)\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash]\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query | undefined {\n return this.queriesMap[queryHash]\n }\n\n getAll(): Query[] {\n return this.queries\n }\n\n find(\n arg1: QueryKey,\n arg2?: QueryFilters,\n ): Query | undefined {\n const [filters] = parseFilterArgs(arg1, arg2)\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.queries.find((query) => matchQuery(filters, query))\n }\n\n findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n findAll(filters?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n const [filters] = parseFilterArgs(arg1, arg2)\n return Object.keys(filters).length > 0\n ? this.queries.filter((query) => matchQuery(filters, query))\n : this.queries\n }\n\n notify(event: QueryCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.queries.forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n onSettled?: (\n data: unknown | undefined,\n error: unknown | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation,\n ) => Promise | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation\n observer: MutationObserver\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation\n action: Action\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable {\n config: MutationCacheConfig\n\n private mutations: Mutation[]\n private mutationId: number\n private resuming: Promise | undefined\n\n constructor(config?: MutationCacheConfig) {\n super()\n this.config = config || {}\n this.mutations = []\n this.mutationId = 0\n }\n\n build(\n client: QueryClient,\n options: MutationOptions,\n state?: MutationState,\n ): Mutation {\n const mutation = new Mutation({\n mutationCache: this,\n logger: client.getLogger(),\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state,\n defaultOptions: options.mutationKey\n ? client.getMutationDefaults(options.mutationKey)\n : undefined,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation): void {\n this.mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation): void {\n this.mutations = this.mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.mutations\n }\n\n find(\n filters: MutationFilters,\n ): Mutation | undefined {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true\n }\n\n return this.mutations.find((mutation) => matchMutation(filters, mutation))\n }\n\n findAll(filters: MutationFilters): Mutation[] {\n return this.mutations.filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach(({ listener }) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise {\n this.resuming = (this.resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise,\n ),\n )\n })\n .then(() => {\n this.resuming = undefined\n })\n\n return this.resuming\n }\n}\n","import type { QueryBehavior } from './query'\n\nimport type {\n InfiniteData,\n QueryFunctionContext,\n QueryOptions,\n RefetchQueryFilters,\n} from './types'\n\nexport function infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n>(): QueryBehavior> {\n return {\n onFetch: (context) => {\n context.fetchFn = () => {\n const refetchPage: RefetchQueryFilters['refetchPage'] | undefined =\n context.fetchOptions?.meta?.refetchPage\n const fetchMore = context.fetchOptions?.meta?.fetchMore\n const pageParam = fetchMore?.pageParam\n const isFetchingNextPage = fetchMore?.direction === 'forward'\n const isFetchingPreviousPage = fetchMore?.direction === 'backward'\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let newPageParams = oldPageParams\n let cancelled = false\n\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal?.aborted) {\n cancelled = true\n } else {\n context.signal?.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n // Get query function\n const queryFn =\n context.options.queryFn ||\n (() =>\n Promise.reject(\n `Missing queryFn for queryKey '${context.options.queryHash}'`,\n ))\n\n const buildNewPages = (\n pages: unknown[],\n param: unknown,\n page: unknown,\n previous?: boolean,\n ) => {\n newPageParams = previous\n ? [param, ...newPageParams]\n : [...newPageParams, param]\n return previous ? [page, ...pages] : [...pages, page]\n }\n\n // Create function to fetch a page\n const fetchPage = (\n pages: unknown[],\n manual?: boolean,\n param?: unknown,\n previous?: boolean,\n ): Promise => {\n if (cancelled) {\n return Promise.reject('Cancelled')\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages)\n }\n\n const queryFnContext: QueryFunctionContext = {\n queryKey: context.queryKey,\n pageParam: param,\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const queryFnResult = queryFn(queryFnContext)\n\n const promise = Promise.resolve(queryFnResult).then((page) =>\n buildNewPages(pages, param, page, previous),\n )\n\n return promise\n }\n\n let promise: Promise\n\n // Fetch first page?\n if (!oldPages.length) {\n promise = fetchPage([])\n }\n\n // Fetch next page?\n else if (isFetchingNextPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getNextPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param)\n }\n\n // Fetch previous page?\n else if (isFetchingPreviousPage) {\n const manual = typeof pageParam !== 'undefined'\n const param = manual\n ? pageParam\n : getPreviousPageParam(context.options, oldPages)\n promise = fetchPage(oldPages, manual, param, true)\n }\n\n // Refetch pages\n else {\n newPageParams = []\n\n const manual = typeof context.options.getNextPageParam === 'undefined'\n\n const shouldFetchFirstPage =\n refetchPage && oldPages[0]\n ? refetchPage(oldPages[0], 0, oldPages)\n : true\n\n // Fetch first page\n promise = shouldFetchFirstPage\n ? fetchPage([], manual, oldPageParams[0])\n : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0]))\n\n // Fetch remaining pages\n for (let i = 1; i < oldPages.length; i++) {\n promise = promise.then((pages) => {\n const shouldFetchNextPage =\n refetchPage && oldPages[i]\n ? refetchPage(oldPages[i], i, oldPages)\n : true\n\n if (shouldFetchNextPage) {\n const param = manual\n ? oldPageParams[i]\n : getNextPageParam(context.options, pages)\n return fetchPage(pages, manual, param)\n }\n return Promise.resolve(\n buildNewPages(pages, oldPageParams[i], oldPages[i]),\n )\n })\n }\n }\n\n const finalPromise = promise.then((pages) => ({\n pages,\n pageParams: newPageParams,\n }))\n\n return finalPromise\n }\n },\n }\n}\n\nexport function getNextPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getNextPageParam?.(pages[pages.length - 1], pages)\n}\n\nexport function getPreviousPageParam(\n options: QueryOptions,\n pages: unknown[],\n): unknown | undefined {\n return options.getPreviousPageParam?.(pages[0], pages)\n}\n\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasNextPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getNextPageParam && Array.isArray(pages)) {\n const nextPageParam = getNextPageParam(options, pages)\n return (\n typeof nextPageParam !== 'undefined' &&\n nextPageParam !== null &&\n nextPageParam !== false\n )\n }\n return\n}\n\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\nexport function hasPreviousPage(\n options: QueryOptions,\n pages?: unknown,\n): boolean | undefined {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n const previousPageParam = getPreviousPageParam(options, pages)\n return (\n typeof previousPageParam !== 'undefined' &&\n previousPageParam !== null &&\n previousPageParam !== false\n )\n }\n return\n}\n","import {\n functionalUpdate,\n hashQueryKey,\n hashQueryKeyByOptions,\n noop,\n parseFilterArgs,\n parseQueryArgs,\n partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n DefaultOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n QueryClientConfig,\n QueryFunction,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n ResetQueryFilters,\n SetDataOptions,\n WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: QueryOptions\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions\n}\n\n// CLASS\n\nexport class QueryClient {\n private queryCache: QueryCache\n private mutationCache: MutationCache\n private logger: Logger\n private defaultOptions: DefaultOptions\n private queryDefaults: QueryDefaults[]\n private mutationDefaults: MutationDefaults[]\n private mountCount: number\n private unsubscribeFocus?: () => void\n private unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.queryCache = config.queryCache || new QueryCache()\n this.mutationCache = config.mutationCache || new MutationCache()\n this.logger = config.logger || defaultLogger\n this.defaultOptions = config.defaultOptions || {}\n this.queryDefaults = []\n this.mutationDefaults = []\n this.mountCount = 0\n\n if (process.env.NODE_ENV !== 'production' && config.logger) {\n this.logger.error(\n `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n )\n }\n }\n\n mount(): void {\n this.mountCount++\n if (this.mountCount !== 1) return\n\n this.unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations()\n this.queryCache.onFocus()\n }\n })\n this.unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations()\n this.queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.mountCount--\n if (this.mountCount !== 0) return\n\n this.unsubscribeFocus?.()\n this.unsubscribeFocus = undefined\n\n this.unsubscribeOnline?.()\n this.unsubscribeOnline = undefined\n }\n\n isFetching(filters?: QueryFilters): number\n isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n const [filters] = parseFilterArgs(arg1, arg2)\n filters.fetchStatus = 'fetching'\n return this.queryCache.findAll(filters).length\n }\n\n isMutating(filters?: MutationFilters): number {\n return this.mutationCache.findAll({ ...filters, fetching: true }).length\n }\n\n getQueryData(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): TQueryFnData | undefined {\n return this.queryCache.find(queryKey, filters)?.state.data\n }\n\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: Omit<\n FetchQueryOptions,\n 'queryKey' | 'queryFn'\n >,\n ): Promise\n ensureQueryData<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | WithRequired<\n FetchQueryOptions,\n 'queryKey'\n >,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const cachedData = this.getQueryData(parsedOptions.queryKey!)\n\n return cachedData\n ? Promise.resolve(cachedData)\n : this.fetchQuery(parsedOptions)\n }\n\n getQueriesData(\n queryKey: QueryKey,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n filters: QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][]\n getQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n ): [QueryKey, TQueryFnData | undefined][] {\n return this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): TQueryFnData | undefined {\n const query = this.queryCache.find(queryKey)\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (typeof data === 'undefined') {\n return undefined\n }\n\n const parsedOptions = parseQueryArgs(queryKey)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n return this.queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData(\n queryKey: QueryKey,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n filters: QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][]\n\n setQueriesData(\n queryKeyOrFilters: QueryKey | QueryFilters,\n updater: Updater,\n options?: SetDataOptions,\n ): [QueryKey, TQueryFnData | undefined][] {\n return notifyManager.batch(() =>\n this.getQueryCache()\n .findAll(queryKeyOrFilters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState(\n queryKey: QueryKey,\n filters?: QueryFilters,\n ): QueryState | undefined {\n return this.queryCache.find(queryKey, filters)?.state\n }\n\n removeQueries(filters?: QueryFilters): void\n removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n const [filters] = parseFilterArgs(arg1, arg2)\n const queryCache = this.queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries(\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n queryKey?: QueryKey,\n filters?: ResetQueryFilters,\n options?: ResetOptions,\n ): Promise\n resetQueries(\n arg1?: QueryKey | ResetQueryFilters,\n arg2?: ResetQueryFilters | ResetOptions,\n arg3?: ResetOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n const queryCache = this.queryCache\n\n const refetchFilters: RefetchQueryFilters = {\n type: 'active',\n ...filters,\n }\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise\n cancelQueries(\n queryKey?: QueryKey,\n filters?: QueryFilters,\n options?: CancelOptions,\n ): Promise\n cancelQueries(\n arg1?: QueryKey | QueryFilters,\n arg2?: QueryFilters | CancelOptions,\n arg3?: CancelOptions,\n ): Promise {\n const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true\n }\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .map((query) => query.cancel(cancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries(\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n queryKey?: QueryKey,\n filters?: InvalidateQueryFilters,\n options?: InvalidateOptions,\n ): Promise\n invalidateQueries(\n arg1?: QueryKey | InvalidateQueryFilters,\n arg2?: InvalidateQueryFilters | InvalidateOptions,\n arg3?: InvalidateOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n return notifyManager.batch(() => {\n this.queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters.refetchType === 'none') {\n return Promise.resolve()\n }\n const refetchFilters: RefetchQueryFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? 'active',\n }\n return this.refetchQueries(refetchFilters, options)\n })\n }\n\n refetchQueries(\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n queryKey?: QueryKey,\n filters?: RefetchQueryFilters,\n options?: RefetchOptions,\n ): Promise\n refetchQueries(\n arg1?: QueryKey | RefetchQueryFilters,\n arg2?: RefetchQueryFilters | RefetchOptions,\n arg3?: RefetchOptions,\n ): Promise {\n const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n const promises = notifyManager.batch(() =>\n this.queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) =>\n query.fetch(undefined, {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true,\n meta: { refetchPage: filters.refetchPage },\n }),\n ),\n )\n\n let promise = Promise.all(promises).then(noop)\n\n if (!options?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n fetchQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false\n }\n\n const query = this.queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(defaultedOptions.staleTime)\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchQueryOptions,\n ): Promise\n prefetchQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1: TQueryKey | FetchQueryOptions,\n arg2?:\n | QueryFunction\n | FetchQueryOptions,\n arg3?: FetchQueryOptions,\n ): Promise {\n return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise>\n fetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise> {\n const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n parsedOptions.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData\n >()\n return this.fetchQuery(parsedOptions)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryKey: TQueryKey,\n queryFn: QueryFunction,\n options?: FetchInfiniteQueryOptions,\n ): Promise\n prefetchInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n arg1:\n | TQueryKey\n | FetchInfiniteQueryOptions,\n arg2?:\n | QueryFunction\n | FetchInfiniteQueryOptions,\n arg3?: FetchInfiniteQueryOptions,\n ): Promise {\n return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n .then(noop)\n .catch(noop)\n }\n\n resumePausedMutations(): Promise {\n return this.mutationCache.resumePausedMutations()\n }\n\n getQueryCache(): QueryCache {\n return this.queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.mutationCache\n }\n\n getLogger(): Logger {\n return this.logger\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.defaultOptions = options\n }\n\n setQueryDefaults(\n queryKey: QueryKey,\n options: QueryObserverOptions,\n ): void {\n const result = this.queryDefaults.find(\n (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.queryDefaults.push({ queryKey, defaultOptions: options })\n }\n }\n\n getQueryDefaults(\n queryKey?: QueryKey,\n ): QueryObserverOptions | undefined {\n if (!queryKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.queryDefaults.find((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.queryDefaults.filter((x) =>\n partialMatchKey(queryKey, x.queryKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several query defaults match with key '${JSON.stringify(\n queryKey,\n )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n setMutationDefaults(\n mutationKey: MutationKey,\n options: MutationObserverOptions,\n ): void {\n const result = this.mutationDefaults.find(\n (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n )\n if (result) {\n result.defaultOptions = options\n } else {\n this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n }\n }\n\n getMutationDefaults(\n mutationKey?: MutationKey,\n ): MutationObserverOptions | undefined {\n if (!mutationKey) {\n return undefined\n }\n\n // Get the first matching defaults\n const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n\n // Additional checks and error in dev mode\n if (process.env.NODE_ENV !== 'production') {\n // Retrieve all matching defaults for the given key\n const matchingDefaults = this.mutationDefaults.filter((x) =>\n partialMatchKey(mutationKey, x.mutationKey),\n )\n // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n if (matchingDefaults.length > 1) {\n this.logger.error(\n `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n mutationKey,\n )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n )\n }\n }\n\n return firstMatchingDefaults?.defaultOptions\n }\n\n defaultQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n >(\n options?:\n | QueryObserverOptions\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options?._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.defaultOptions.queries,\n ...this.getQueryDefaults(options?.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.defaultOptions.mutations,\n ...this.getMutationDefaults(options?.mutationKey),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.queryCache.clear()\n this.mutationCache.clear()\n }\n}\n","export { G as ALL_ROLES, bi as AbiObjectSchema, bj as AbiSchema, bh as AbiTypeSchema, b9 as AddressOrEnsSchema, b8 as AddressSchema, v as AdminRoleMissingError, A as AssetNotFoundError, t as AuctionAlreadyStartedError, w as AuctionHasNotEndedError, bc as BYOCContractMetadataSchema, b5 as BigNumberSchema, b7 as BigNumberTransformSchema, b6 as BigNumberishSchema, aq as COMMON_FACTORY, C as CONTRACTS_MAP, aO as CONTRACT_ADDRESSES, ao as CREATE2_FACTORY_BYTECODE, ba as CallOverrideSchema, aS as ChainId, bm as ChainIdToAddressSchema, bE as CommonContractOutputSchema, bD as CommonContractSchema, bH as CommonPlatformFeeSchema, bG as CommonPrimarySaleSchema, bF as CommonRoyaltySchema, bJ as CommonSymbolSchema, bI as CommonTrustedForwarderSchema, bB as CompilerMetadataFetchedSchema, bk as CompilerTypeInput, bA as ContractInfoSchema, bf as CustomContractDeploy, bd as CustomContractInput, be as CustomContractOutput, bg as CustomContractSchema, bn as CustomFactoryInput, at as DEPLOYER_ABI, as as DEPLOYER_BYTECODE, bq as DeployTypeInput, bs as DeploymentNetworkInput, bW as DropErc1155ContractDeploy, bU as DropErc1155ContractInput, bV as DropErc1155ContractOutput, bX as DropErc1155ContractSchema, bS as DropErc721ContractDeploy, bQ as DropErc721ContractInput, bR as DropErc721ContractOutput, bT as DropErc721ContractSchema, D as DuplicateFileNameError, s as DuplicateLeafsError, E as EditionDropInitializer, a as EditionInitializer, aZ as EventType, x as ExtensionNotImplementedError, bt as ExtraPublishMetadataSchemaInput, bu as ExtraPublishMetadataSchemaOutput, bp as FactoryDeploymentSchema, r as FetchError, F as FileNameMissingError, bv as FullPublishMetadataSchemaInput, bw as FullPublishMetadataSchemaOutput, u as FunctionDeprecatedError, ar as GAS_LIMIT_FOR_DEPLOYER, I as InvalidAddressError, aY as LINK_TOKEN_ADDRESS, L as ListingNotFoundError, b_ as MarketplaceContractDeploy, bY as MarketplaceContractInput, bZ as MarketplaceContractOutput, b$ as MarketplaceContractSchema, M as MarketplaceInitializer, b as MarketplaceV3Initializer, bK as MerkleSchema, q as MissingOwnerRoleError, o as MissingRoleError, bo as ModularFactoryInput, c as MultiwrapInitializer, aW as NATIVE_TOKENS, aV as NATIVE_TOKEN_ADDRESS, N as NFTCollectionInitializer, d as NFTDropInitializer, p as NotEnoughTokensError, n as NotFoundError, aN as OZ_DEFENDER_FORWARDER_ADDRESS, i as PREBUILT_CONTRACTS_APPURI_MAP, h as PREBUILT_CONTRACTS_MAP, c2 as PackContractDeploy, c0 as PackContractInput, c1 as PackContractOutput, c3 as PackContractSchema, P as PackInitializer, bl as PreDeployMetadata, bC as PreDeployMetadataFetchedSchema, bx as ProfileSchemaInput, by as ProfileSchemaOutput, cq as ProposalOutputSchema, bz as PublishedContractSchema, Q as QuantityAboveLimitError, R as RestrictedTransferError, br as RouterTypeInput, bb as SDKOptionsSchema, ap as SIGNATURE, b4 as SUPPORTED_FEATURES, e as SignatureDropInitializer, bL as SnapshotEntryInput, bN as SnapshotEntryWithProofSchema, bP as SnapshotInfoSchema, bM as SnapshotInputSchema, bO as SnapshotSchema, f as SplitInitializer, c6 as SplitsContractDeploy, c4 as SplitsContractInput, c5 as SplitsContractOutput, c7 as SplitsContractSchema, S as StaticJsonRpcBatchProvider, aH as THIRDWEB_DEPLOYER, T as TokenDropInitializer, ci as TokenErc1155ContractDeploy, cg as TokenErc1155ContractInput, ch as TokenErc1155ContractOutput, cj as TokenErc1155ContractSchema, ca as TokenErc20ContractDeploy, c8 as TokenErc20ContractInput, c9 as TokenErc20ContractOutput, cb as TokenErc20ContractSchema, ce as TokenErc721ContractDeploy, cc as TokenErc721ContractInput, cd as TokenErc721ContractOutput, cf as TokenErc721ContractSchema, g as TokenInitializer, y as TransactionError, U as UploadError, co as VoteContractDeploy, cm as VoteContractInput, cn as VoteContractOutput, cp as VoteContractSchema, V as VoteInitializer, ck as VoteSettingsInputSchema, cl as VoteSettingsOuputSchema, W as WrongListingTypeError, ax as computeCreate2FactoryTransaction, aA as computeDeploymentAddress, aE as computeDeploymentInfo, aB as computeEOAForwarderAddress, aC as computeForwarderAddress, af as constructAbiFromBytecode, ab as detectFeatures, ac as detectFeaturesFromBytecode, aF as encodeConstructorParamsForImplementation, a0 as extractCommentFromMetadata, a1 as extractConstructorParamsFromAbi, a2 as extractFunctionsFromAbi, a7 as extractIPFSHashFromBytecode, a3 as extractMinimalProxyImplementationAddress, X as fetchAbiFromAddress, aJ as fetchAndCacheDeployMetadata, Y as fetchContractMetadata, K as fetchContractMetadataFromAddress, O as fetchContractMetadataFromBytecode, aa as fetchExtendedReleaseMetadata, a9 as fetchPreDeployMetadata, aI as fetchPublishedContractFromPolygon, a8 as fetchRawPredeployMetadata, Z as formatCompilerMetadata, ag as getAllDetectedExtensions, ae as getAllDetectedExtensionsFromBytecode, ad as getAllDetectedFeatures, a$ as getChainIdFromNetwork, b0 as getChainIdOrName, a_ as getChainProvider, ak as getCompositeABI, aP as getContractAddressByChainId, J as getContractMetadataFromCache, k as getContractName, aQ as getContractPublisherAddress, j as getContractTypeForRemoteName, aw as getCreate2FactoryAddress, aG as getCreate2FactoryDeploymentInfo, az as getInitBytecodeWithSalt, aD as getKeylessTxn, aR as getMultichainRegistryAddress, aX as getNativeTokenByChainId, b2 as getProviderFromRpcUrl, H as getRoleHash, ay as getSaltHash, b3 as getSignerAndProvider, aU as getSupportedChains, _ as hasMatchingAbi, B as includesErrorMessage, b1 as isChainConfig, au as isContractDeployed, an as isDowngradeVersion, av as isEIP155Enforced, ai as isExtensionEnabled, ah as isFeatureEnabled, am as isIncrementalVersion, l as isProvider, m as isSigner, aj as joinABIs, $ as matchesAbiFromBytecode, z as parseRevertReason, aL as resolveAddress, a5 as resolveContractUriAndBytecode, a4 as resolveContractUriFromAddress, aK as resolveEns, a6 as resolveImplementation, aT as setSupportedChains, aM as signTypedDataInternal, al as toSemver } from '../../dist/index-33cd3415.browser.esm.js';\nexport { C as ContractEncoder, f as fetchCurrencyMetadata, a as fetchCurrencyValue, i as isNativeToken } from '../../dist/fetchCurrencyValue-32d08b05.browser.esm.js';\nexport { b as ContractAppURI, a as ContractEvents, C as ContractMetadata, G as GasCostEstimator, d as detectContractFeature, h as hasFunction, t as toEther } from '../../dist/contract-appuri-5c40af52.browser.esm.js';\nexport { C as ContractRoles } from '../../dist/contract-roles-71988d2e.browser.esm.js';\nexport { a as ContractOwner, C as ContractRoyalty, D as DelayedReveal } from '../../dist/contract-owner-49e75547.browser.esm.js';\nexport { C as ContractPrimarySale } from '../../dist/contract-sales-918c7cb8.browser.esm.js';\nexport { D as DropClaimConditions } from '../../dist/drop-claim-conditions-e6f2abbf.browser.esm.js';\nexport { D as DropErc1155ClaimConditions, E as Erc1155, a as Erc1155SignatureMintable } from '../../dist/erc-1155-7ce9bee1.browser.esm.js';\nexport { E as Erc20, a as Erc20SignatureMintable, n as normalizeAmount } from '../../dist/erc-20-9a18a51c.browser.esm.js';\nexport { E as Erc721, a as Erc721WithQuantitySignatureMintable, t as toWei } from '../../dist/erc-721-27306550.browser.esm.js';\nexport { A as Account, a as AccountFactory, f as AdminFlag, d as Airdrop1155, b as Airdrop20, c as Airdrop721, C as ContractPublishedMetadata, D as DEFAULT_PERMISSIONS, E as ExtensionManager, P as PermissionSnapshotSchema, h as SignerPermissionRequest, g as SignerPermissionRequestV1, S as SignerPermissionsSchema, e as extractEventsFromAbi } from '../../dist/airdrop-erc1155-f9016b81.browser.esm.js';\nexport { C as ContractInterceptor } from '../../dist/contract-interceptor-d7b164a7.browser.esm.js';\nexport { C as ContractPlatformFee } from '../../dist/contract-platform-fee-e756e68f.browser.esm.js';\nexport { D as DeployTransaction, T as Transaction, e as engineSendFunction, c as estimateTransactionCost, g as getDefaultGasOverrides, a as getDynamicFeeData, b as getGasPrice, d as getPolygonGasPriorityFee, p as prepareGaslessRequest } from '../../dist/transactions-72f9603c.browser.esm.js';\nexport { M as MarketplaceV3DirectListings, a as MarketplaceV3EnglishAuctions, b as MarketplaceV3Offers, S as Status } from '../../dist/marketplacev3-offers-ce1f096b.browser.esm.js';\nexport { A as APPROVED_IMPLEMENTATIONS, a as ContractDeployer, C as ContractVerifier, L as LOCAL_NODE_PKEY, S as SUPPORTED_CHAIN_IDS, T as ThirdwebSDK, U as UserWallet, f as checkVerificationStatus, h as computeCloneFactoryAddress, t as convertParamValues, l as deployCreate2Factory, m as directDeployDeterministic, o as directDeployDeterministicPublished, n as directDeployDeterministicWithUri, e as extractFunctionParamsFromAbi, b as getAllDetectedExtensionNames, g as getAllDetectedFeatureNames, x as getApprovedImplementation, y as getDefaultTrustedForwarders, u as getDeployArguments, k as getEncodedConstructorParamsForThirdwebContract, j as getThirdwebContractAddress, w as getTrustedForwarders, i as isVerifiedOnEtherscan, q as predictAddressDeterministic, s as predictAddressDeterministicPublished, r as predictAddressDeterministicWithUri, p as predictThirdwebContractAddress, d as verify, v as verifyThirdwebPrebuiltImplementation } from '../../dist/sdk-3e21fc5c.browser.esm.js';\nexport { B as BaseSignaturePayloadInput, j as ClaimConditionInputArray, i as ClaimConditionInputSchema, e as ClaimConditionMetadataSchema, k as ClaimConditionOutputSchema, C as ClaimEligibility, l as CurrencySchema, m as CurrencyValueSchema, G as GenericRequest, w as MintRequest1155, M as MintRequest20, v as MintRequest721, x as MintRequest721withQuantity, P as PartialClaimConditionInputSchema, q as Signature1155PayloadInput, r as Signature1155PayloadInputWithTokenId, s as Signature1155PayloadOutput, S as Signature20PayloadInput, n as Signature20PayloadOutput, o as Signature721PayloadInput, p as Signature721PayloadOutput, t as Signature721WithQuantityInput, u as Signature721WithQuantityOutput, a as approveErc20Allowance, c as convertToReadableQuantity, d as createMerkleTreeFromAllowList, b as createSnapshot, f as fetchSnapshotEntryForAddress, g as getProofsForAllowListEntry, h as hashAllowListEntry } from '../../dist/signature-d3ea643d.browser.esm.js';\nexport { k as EditionMetadataInputOrUriSchema, j as EditionMetadataInputSchema, E as EditionMetadataOutputSchema, i as EditionMetadataWithOwnerOutputSchema, O as OptionalPropertiesInput, P as ProposalState, T as TokenMintInputSchema, e as compatibleExtensions, f as computeNativeTokenAddress, h as deployContractDeterministicRaw, b as getBuyWithCryptoHistory, c as getBuyWithCryptoQuote, d as getBuyWithCryptoStatus, g as getCachedAbiForContract, m as matchesPrebuiltAbi, a as toDisplayValue, t as toUnits } from '../../dist/getStatus-7ee3964f.browser.esm.js';\nexport { e as extractConstructorParams, a as extractFunctions } from '../../dist/contract-publisher-01e4eba8.browser.esm.js';\nexport { E as EndDateSchema, R as RawDateSchema, S as StartDateSchema, a as assertEnabled } from '../../dist/assertEnabled-d1700f0b.browser.esm.js';\nexport { f as fetchSourceFilesFromMetadata } from '../../dist/fetchSourceFilesFromMetadata-906c835e.browser.esm.js';\nexport { c as cleanCurrencyAddress } from '../../dist/cleanCurrencyAddress-ded19cfe.browser.esm.js';\nexport { n as normalizePriceValue } from '../../dist/normalizePriceValue-9851c0eb.browser.esm.js';\nexport { s as setErc20Allowance } from '../../dist/setErc20Allowance-7f76f677.browser.esm.js';\nexport { h as hasERC20Allowance } from '../../dist/hasERC20Allowance-654a940b.browser.esm.js';\nexport { c as createTransactionBatches, d as deployContractDeterministic, a as deployWithThrowawayDeployer, e as estimateGasForDeploy, g as getDeploymentInfo } from '../../dist/deployContractDeterministic-7823c15c.browser.esm.js';\nexport { a as InterfaceId_IERC1155, I as InterfaceId_IERC721 } from '../../dist/QueryParams-32a56510.browser.esm.js';\nexport { L as ListingType } from '../../dist/ListingType-cba090cb.browser.esm.js';\nexport { V as VoteType } from '../../dist/Vote-3b66775c.browser.esm.js';\nexport { b as ERC1155WrappableSchema, E as ERC20WrappableSchema, a as ERC721WrappableSchema, d as PackMetadataInputSchema, c as PackRewardsOutputSchema, P as PackRewardsSchema } from '../../dist/pack-29c3a58f.browser.esm.js';\nexport { c as getBlock, d as getBlockNumber, e as getBlockWithTransactions, b as getChainId, g as getContract, a as getContractFromAbi, w as watchBlock, f as watchBlockNumber, h as watchBlockWithTransactions, i as watchTransactions } from '../../dist/watchTransactions-95d1cc2b.browser.esm.js';\nimport 'ethers';\nimport 'zod';\nimport '@thirdweb-dev/chains';\nimport '@thirdweb-dev/crypto';\nimport 'tiny-invariant';\nimport 'bn.js';\nimport 'bs58';\nimport '@thirdweb-dev/contracts-js/dist/abis/IBurnableERC20.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDrop.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropERC20_V2.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropSinglePhase.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropSinglePhase_V1.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC20.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC20Permit.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IMintableERC20.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IMulticall.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/ISignatureMintERC20.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC20Metadata.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IBurnableERC721.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IClaimableERC721.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDelayedReveal.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropERC721_V3.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC721.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC721Enumerable.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC721AQueryableUpgradeable.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC721Supply.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/ILazyMint.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IMintableERC721.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/ISignatureMintERC721.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/ISignatureMintERC721_V1.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/LazyMintWithTier_V1.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/SharedMetadata.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/zora_IERC721Drop.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/ILoyaltyCard.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/INFTMetadata.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC721Metadata.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IBurnableERC1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IClaimableERC1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDrop1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropERC1155_V2.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropSinglePhase1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDropSinglePhase1155_V1.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC1155Metadata.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC1155Supply.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC1155Enumerable.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IMintableERC1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/ISignatureMintERC1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IERC2771Context.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAppURI.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IContractMetadata.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IDirectListings.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IEnglishAuctions.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IOffers.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IPackVRFDirect.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IPermissions.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IPermissionsEnumerable.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IPlatformFee.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IPrimarySale.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IRoyalty.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/Ownable.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAirdropERC20.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAirdropERC721.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAirdropERC1155.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAccountFactoryCore.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAccountPermissions.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAccountPermissions_V1.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/IAccount.json';\nimport 'ethers/lib/utils';\nimport 'eventemitter3';\nimport '@thirdweb-dev/storage';\nimport 'fast-deep-equal';\nimport '../../dist/marketplace-e3129e2f.browser.esm.js';\nimport '@thirdweb-dev/contracts-js/dist/abis/TWMultichainRegistryLogic.json';\nimport '@thirdweb-dev/contracts-js/dist/abis/TWMultichainRegistryRouter.json';\nimport '@thirdweb-dev/generated-abis';\nimport '@thirdweb-dev/contracts-js/dist/abis/TWFactory.json';\nimport '@thirdweb-dev/merkletree';\nimport 'uuid';\nimport 'thirdweb';\nimport 'thirdweb/pay';\nimport 'thirdweb/utils';\nimport '@thirdweb-dev/contracts-js/dist/abis/ContractPublisher.json';\n\n// handle browser vs node global\n// eslint-disable-next-line better-tree-shaking/no-top-level-side-effects\nglobalThis.global = globalThis;\n//#endregion @r/legacy_packages/sdk/src/evm/pay\n","import { z } from 'zod';\nimport { v4 } from 'uuid';\nimport { utils } from 'ethers';\nimport { checkContractWalletSignature } from '@thirdweb-dev/wallets';\n\nconst literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);\nconst JsonSchema = z.lazy(() => z.union([literalSchema, z.array(JsonSchema), z.record(JsonSchema)]), {\n invalid_type_error: \"Provided value was not valid JSON\"\n});\nconst AddressSchema = z.string().refine(arg => utils.isAddress(arg), out => {\n return {\n message: `${out} is not a valid address`\n };\n});\nconst RawDateSchema = z.date().transform(i => {\n return Math.floor(i.getTime() / 1000);\n});\nconst AccountTypeSchema = z.literal(\"evm\");\n\nconst AuthenticationPayloadDataSchema = z.object({\n iss: z.string(),\n sub: z.string(),\n aud: z.string(),\n exp: RawDateSchema,\n nbf: RawDateSchema,\n iat: RawDateSchema,\n jti: z.string().default(() => v4()),\n ctx: JsonSchema.optional()\n});\nconst AuthenticationPayloadSchema = z.object({\n payload: AuthenticationPayloadDataSchema,\n signature: z.string()\n});\nconst AuthenticateOptionsSchema = z.object({\n domain: z.string(),\n issuerAddress: AddressSchema.optional(),\n validateTokenId: z.function().args(z.string()).optional()\n});\n\nconst VerifyOptionsSchema = z.object({\n domain: z.string(),\n statement: z.string().optional(),\n uri: z.string().optional(),\n version: z.string().optional(),\n chainId: z.string().optional(),\n validateNonce: z.function().args(z.string()).optional(),\n resources: z.array(z.string()).optional()\n});\n\nconst THIRDWEB_AUTH_COOKIE_PREFIX = `thirdweb_auth`;\nconst THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX = `${THIRDWEB_AUTH_COOKIE_PREFIX}_token`;\nconst THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE = `${THIRDWEB_AUTH_COOKIE_PREFIX}_active_account`;\nconst THIRDWEB_AUTH_DEFAULT_LOGIN_PAYLOAD_DURATION_IN_SECONDS = 60 * 10;\nconst THIRDWEB_AUTH_DEFAULT_TOKEN_DURATION_IN_SECONDS = 60 * 60 * 24;\nconst THIRDWEB_AUTH_DEFAULT_REFRESH_INTERVAL_IN_SECONDS = 5;\n\nconst GenerateOptionsSchema = z.object({\n domain: z.string(),\n tokenId: z.string().optional(),\n expirationTime: z.date().default(() => new Date(Date.now() + 1000 * THIRDWEB_AUTH_DEFAULT_TOKEN_DURATION_IN_SECONDS)),\n invalidBefore: z.date().optional(),\n session: z.union([JsonSchema, z.function().args(z.string())]).optional(),\n verifyOptions: VerifyOptionsSchema.omit({\n domain: true\n }).optional()\n});\n\nconst RefreshOptionsSchema = z.object({\n expirationTime: z.date().default(() => new Date(Date.now() + 1000 * THIRDWEB_AUTH_DEFAULT_TOKEN_DURATION_IN_SECONDS))\n});\n\nconst LoginOptionsSchema = z.object({\n domain: z.string(),\n address: z.string().optional(),\n statement: z.string().optional(),\n uri: z.string().optional(),\n version: z.string().optional(),\n chainId: z.string().optional(),\n nonce: z.string().optional(),\n expirationTime: z.date().default(() => new Date(Date.now() + 1000 * THIRDWEB_AUTH_DEFAULT_LOGIN_PAYLOAD_DURATION_IN_SECONDS)),\n invalidBefore: z.date().default(() => new Date(Date.now() - 1000 * THIRDWEB_AUTH_DEFAULT_LOGIN_PAYLOAD_DURATION_IN_SECONDS)),\n resources: z.array(z.string()).optional()\n});\nconst LoginPayloadDataSchema = z.object({\n type: AccountTypeSchema,\n domain: z.string(),\n address: z.string(),\n statement: z.string().default(\"Please ensure that the domain above matches the URL of the current website.\"),\n uri: z.string().optional(),\n version: z.string().default(\"1\"),\n chain_id: z.string().optional(),\n nonce: z.string().default(() => v4()),\n issued_at: z.date().default(new Date()).transform(d => d.toISOString()),\n expiration_time: z.date().transform(d => d.toISOString()),\n invalid_before: z.date().default(new Date()).transform(d => d.toISOString()),\n resources: z.array(z.string()).optional()\n});\nconst LoginPayloadSchema = z.object({\n payload: LoginPayloadDataSchema,\n signature: z.string()\n});\nconst LoginPayloadOutputSchema = LoginPayloadSchema.extend({\n payload: LoginPayloadDataSchema.extend({\n issued_at: z.string(),\n expiration_time: z.string(),\n invalid_before: z.string()\n })\n});\n\nasync function verifySignature(message, signature, address, chainId, clientId, secretKey) {\n try {\n const messageHash = utils.hashMessage(message);\n const messageHashBytes = utils.arrayify(messageHash);\n const recoveredAddress = utils.recoverAddress(messageHashBytes, signature);\n if (recoveredAddress === address) {\n return true;\n }\n } catch {\n // no-op\n }\n if (!chainId) {\n return false;\n }\n return checkContractWalletSignature(message, signature, address, chainId, clientId, secretKey);\n}\n\n/**\n * Create an EIP-4361 & CAIP-122 compliant message to sign based on the login payload\n */\nfunction createLoginMessage(payload) {\n const typeField = \"Ethereum\";\n const header = `${payload.domain} wants you to sign in with your ${typeField} account:`;\n let prefix = [header, payload.address].join(\"\\n\");\n prefix = [prefix, payload.statement].join(\"\\n\\n\");\n if (payload.statement) {\n prefix += \"\\n\";\n }\n const suffixArray = [];\n if (payload.uri) {\n const uriField = `URI: ${payload.uri}`;\n suffixArray.push(uriField);\n }\n const versionField = `Version: ${payload.version}`;\n suffixArray.push(versionField);\n if (payload.chain_id) {\n const chainField = `Chain ID: ` + payload.chain_id || \"1\";\n suffixArray.push(chainField);\n }\n const nonceField = `Nonce: ${payload.nonce}`;\n suffixArray.push(nonceField);\n const issuedAtField = `Issued At: ${payload.issued_at}`;\n suffixArray.push(issuedAtField);\n const expiryField = `Expiration Time: ${payload.expiration_time}`;\n suffixArray.push(expiryField);\n if (payload.invalid_before) {\n const invalidBeforeField = `Not Before: ${payload.invalid_before}`;\n suffixArray.push(invalidBeforeField);\n }\n if (payload.resources) {\n suffixArray.push([`Resources:`, ...payload.resources.map(x => `- ${x}`)].join(\"\\n\"));\n }\n const suffix = suffixArray.join(\"\\n\");\n return [prefix, suffix].join(\"\\n\");\n}\nasync function buildLoginPayload(_ref) {\n let {\n wallet,\n options\n } = _ref;\n const parsedOptions = LoginOptionsSchema.parse(options);\n let chainId = parsedOptions?.chainId;\n if (!chainId && wallet.getChainId) {\n try {\n chainId = (await wallet.getChainId()).toString();\n } catch {\n // ignore error\n }\n }\n return LoginPayloadDataSchema.parse({\n type: wallet.type,\n domain: parsedOptions.domain,\n address: parsedOptions?.address || (await wallet.getAddress()),\n statement: parsedOptions?.statement,\n version: parsedOptions?.version,\n uri: parsedOptions?.uri,\n chain_id: chainId,\n nonce: parsedOptions?.nonce,\n expiration_time: parsedOptions.expirationTime,\n invalid_before: parsedOptions.invalidBefore,\n resources: parsedOptions?.resources\n });\n}\nasync function signLoginPayload(_ref2) {\n let {\n wallet,\n payload\n } = _ref2;\n const message = createLoginMessage(payload);\n const signature = await wallet.signMessage(message);\n return {\n payload,\n signature\n };\n}\nasync function buildAndSignLoginPayload(_ref3) {\n let {\n wallet,\n options\n } = _ref3;\n const payload = await buildLoginPayload({\n wallet,\n options\n });\n return signLoginPayload({\n wallet,\n payload\n });\n}\nasync function verifyLoginPayload(_ref4) {\n let {\n payload,\n options,\n clientOptions\n } = _ref4;\n const parsedOptions = VerifyOptionsSchema.parse(options);\n\n // Check that the intended domain matches the domain of the payload\n if (payload.payload.domain !== parsedOptions.domain) {\n throw new Error(`Expected domain '${parsedOptions.domain}' does not match domain on payload '${payload.payload.domain}'`);\n }\n\n // Check that the payload statement matches the expected statement\n if (parsedOptions?.statement) {\n if (payload.payload.statement !== parsedOptions.statement) {\n throw new Error(`Expected statement '${parsedOptions.statement}' does not match statement on payload '${payload.payload.statement}'`);\n }\n }\n\n // Check that the intended URI matches the URI of the payload\n if (parsedOptions?.uri) {\n if (payload.payload.uri !== parsedOptions.uri) {\n throw new Error(`Expected URI '${parsedOptions.uri}' does not match URI on payload '${payload.payload.uri}'`);\n }\n }\n\n // Check that the intended version matches the version of the payload\n if (parsedOptions?.version) {\n if (payload.payload.version !== parsedOptions.version) {\n throw new Error(`Expected version '${parsedOptions.version}' does not match version on payload '${payload.payload.version}'`);\n }\n }\n\n // Check that the intended chain ID matches the chain ID of the payload\n if (parsedOptions?.chainId) {\n if (payload.payload.chain_id !== parsedOptions.chainId) {\n throw new Error(`Expected chain ID '${parsedOptions.chainId}' does not match chain ID on payload '${payload.payload.chain_id}'`);\n }\n }\n\n // Check that the payload nonce is valid\n if (parsedOptions?.validateNonce !== undefined) {\n try {\n await parsedOptions.validateNonce(payload.payload.nonce);\n } catch (err) {\n throw new Error(`Login request nonce is invalid`);\n }\n }\n\n // Check that it isn't before the invalid before time\n const currentTime = new Date();\n if (currentTime < new Date(payload.payload.invalid_before)) {\n throw new Error(`Login request is not yet valid`);\n }\n\n // Check that the payload hasn't expired\n if (currentTime > new Date(payload.payload.expiration_time)) {\n throw new Error(`Login request has expired`);\n }\n\n // Check that the specified resources are present on the payload\n if (parsedOptions?.resources) {\n const missingResources = parsedOptions.resources.filter(resource => !payload.payload.resources?.includes(resource));\n if (missingResources.length > 0) {\n throw new Error(`Login request is missing required resources: ${missingResources.join(\", \")}`);\n }\n }\n\n // Check that the signing address is the claimed wallet address\n const message = createLoginMessage(payload.payload);\n const chainId = payload.payload.chain_id ? parseInt(payload.payload.chain_id) : undefined;\n const verified = await verifySignature(message, payload.signature, payload.payload.address, chainId, clientOptions?.clientId, clientOptions?.secretKey);\n if (!verified) {\n throw new Error(`Signer address does not match payload address '${payload.payload.address.toLowerCase()}'`);\n }\n return payload.payload.address;\n}\n\nfunction base64encode(data) {\n {\n return window.btoa(data);\n }\n}\nfunction base64decode(data) {\n {\n return window.atob(data);\n }\n}\n\n/**\n * Build JWT token based on the authentication payload\n */\nasync function buildJWT(_ref) {\n let {\n wallet,\n payload\n } = _ref;\n const payloadData = AuthenticationPayloadDataSchema.parse(payload);\n const message = JSON.stringify(payloadData);\n const signature = await wallet.signMessage(message);\n\n // Header used for JWT token specifying hash algorithm\n const header = {\n // Specify ECDSA with SHA-256 for hashing algorithm\n alg: \"ES256\",\n typ: \"JWT\"\n };\n const encodedHeader = base64encode(JSON.stringify(header));\n const encodedData = base64encode(JSON.stringify(payloadData));\n const encodedSignature = base64encode(signature);\n\n // Generate a JWT with base64 encoded header, payload, and signature\n const jwt = `${encodedHeader}.${encodedData}.${encodedSignature}`;\n return jwt;\n}\n\n/**\n * Generate a new JWT using a login payload\n */\nasync function generateJWT(_ref2) {\n let {\n wallet,\n payload,\n options,\n clientOptions\n } = _ref2;\n const parsedOptions = GenerateOptionsSchema.parse(options);\n const userAddress = await verifyLoginPayload({\n payload,\n options: {\n domain: parsedOptions.domain,\n ...parsedOptions.verifyOptions\n },\n clientOptions\n });\n let session = undefined;\n if (typeof parsedOptions?.session === \"function\") {\n const sessionTrigger = await parsedOptions.session(userAddress);\n if (sessionTrigger) {\n session = sessionTrigger;\n }\n } else {\n session = parsedOptions?.session;\n }\n const adminAddress = await wallet.getAddress();\n return buildJWT({\n wallet,\n payload: {\n iss: adminAddress,\n sub: userAddress,\n aud: parsedOptions.domain,\n nbf: parsedOptions?.invalidBefore || new Date(),\n exp: parsedOptions.expirationTime,\n iat: new Date(),\n jti: parsedOptions?.tokenId,\n ctx: session\n }\n });\n}\n\n/**\n * Parse data from an encoded auth JWT\n */\nfunction parseJWT(jwt) {\n const encodedPayload = jwt.split(\".\")[1];\n const encodedSignature = jwt.split(\".\")[2];\n const payload = JSON.parse(base64decode(encodedPayload));\n const signature = base64decode(encodedSignature);\n return {\n payload,\n signature\n };\n}\n\n/**\n * Refresh an existing JWT\n */\nasync function refreshJWT(_ref3) {\n let {\n wallet,\n jwt,\n options\n } = _ref3;\n const {\n payload\n } = parseJWT(jwt);\n const parsedOptions = RefreshOptionsSchema.parse(options);\n return buildJWT({\n wallet,\n payload: {\n iss: payload.iss,\n sub: payload.sub,\n aud: payload.aud,\n nbf: new Date(),\n exp: parsedOptions.expirationTime,\n iat: new Date(),\n ctx: payload.ctx\n }\n });\n}\n\n/**\n * Validate a JWT and extract the user's info\n */\nasync function authenticateJWT(_ref4) {\n let {\n wallet,\n jwt,\n options,\n clientOptions\n } = _ref4;\n const parsedOptions = AuthenticateOptionsSchema.parse(options);\n const {\n payload,\n signature\n } = parseJWT(jwt);\n\n // Check that the payload unique ID is valid\n if (parsedOptions?.validateTokenId !== undefined) {\n try {\n await parsedOptions.validateTokenId(payload.jti);\n } catch (err) {\n throw new Error(`Token ID is invalid`);\n }\n }\n\n // Check that the token audience matches the domain\n if (payload.aud !== parsedOptions.domain) {\n throw new Error(`Expected token to be for the domain '${parsedOptions.domain}', but found token with domain '${payload.aud}'`);\n }\n\n // Check that the token is past the invalid before time\n const currentTime = Math.floor(new Date().getTime() / 1000);\n if (currentTime < payload.nbf) {\n throw new Error(`This token is invalid before epoch time '${payload.nbf}', current epoch time is '${currentTime}'`);\n }\n\n // Check that the token hasn't expired\n if (currentTime > payload.exp) {\n throw new Error(`This token expired at epoch time '${payload.exp}', current epoch time is '${currentTime}'`);\n }\n\n // Check that the connected wallet matches the token issuer\n const issuerAddress = parsedOptions.issuerAddress ? parsedOptions.issuerAddress : await wallet.getAddress();\n if (issuerAddress.toLowerCase() !== payload.iss.toLowerCase()) {\n throw new Error(`The expected issuer address '${issuerAddress}' did not match the token issuer address '${payload.iss}'`);\n }\n let chainId = undefined;\n if (wallet.getChainId) {\n try {\n chainId = await wallet.getChainId();\n } catch {\n // ignore error\n }\n }\n const verified = await verifySignature(JSON.stringify(payload), signature, issuerAddress, chainId, clientOptions.clientId, clientOptions.secretKey);\n if (!verified) {\n throw new Error(`The expected signer address '${issuerAddress}' did not sign the token`);\n }\n return {\n address: payload.sub,\n session: payload.ctx\n };\n}\n\nclass ThirdwebAuth {\n constructor(wallet, domain) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.wallet = wallet;\n this.domain = domain;\n this.options = options;\n }\n updateWallet(wallet) {\n this.wallet = wallet;\n }\n async payload(options) {\n return buildLoginPayload({\n wallet: this.wallet,\n options: this.formatOptions(options)\n });\n }\n async loginWithPayload(payload) {\n return signLoginPayload({\n wallet: this.wallet,\n payload\n });\n }\n async login(options) {\n return buildAndSignLoginPayload({\n wallet: this.wallet,\n options: this.formatOptions(options)\n });\n }\n async verify(payload, options) {\n return verifyLoginPayload({\n payload,\n options: this.formatOptions(options),\n clientOptions: this.options\n });\n }\n async generate(payload, options) {\n return generateJWT({\n wallet: this.wallet,\n payload,\n options: this.formatOptions(options),\n clientOptions: this.options\n });\n }\n async refresh(jwt, expirationTime) {\n return refreshJWT({\n wallet: this.wallet,\n jwt,\n options: {\n expirationTime\n }\n });\n }\n async authenticate(jwt, options) {\n return authenticateJWT({\n wallet: this.wallet,\n jwt,\n options: this.formatOptions(options),\n clientOptions: this.options\n });\n }\n parseToken(jwt) {\n return parseJWT(jwt);\n }\n formatOptions(options) {\n return options ? {\n ...options,\n domain: options?.domain || this.domain\n } : {\n domain: this.domain\n };\n }\n}\n\nexport { AuthenticationPayloadDataSchema as A, GenerateOptionsSchema as G, JsonSchema as J, LoginOptionsSchema as L, RawDateSchema as R, ThirdwebAuth as T, VerifyOptionsSchema as V, authenticateJWT as a, buildJWT as b, buildLoginPayload as c, buildAndSignLoginPayload as d, AuthenticationPayloadSchema as e, AuthenticateOptionsSchema as f, generateJWT as g, AddressSchema as h, AccountTypeSchema as i, LoginPayloadDataSchema as j, LoginPayloadSchema as k, LoginPayloadOutputSchema as l, RefreshOptionsSchema as m, THIRDWEB_AUTH_ACTIVE_ACCOUNT_COOKIE as n, THIRDWEB_AUTH_TOKEN_COOKIE_PREFIX as o, parseJWT as p, THIRDWEB_AUTH_DEFAULT_REFRESH_INTERVAL_IN_SECONDS as q, refreshJWT as r, signLoginPayload as s, THIRDWEB_AUTH_DEFAULT_TOKEN_DURATION_IN_SECONDS as t, verifyLoginPayload as v };\n","import mime from 'mime/lite.js';\nimport { createContext, useContext, useState, useEffect, useRef, useMemo, useCallback } from 'react';\nimport { useQueryClient, useMutation, QueryClient, QueryClientProvider, useQuery } from '@tanstack/react-query';\nimport invariant from 'tiny-invariant';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport { updateChainRPCs, getValidChainRPCs, defaultChains } from '@thirdweb-dev/chains';\nimport { ThirdwebSDK, getChainProvider } from '@thirdweb-dev/sdk/evm';\nimport { UserWallet, checkClientIdOrSecretKey, fetchCurrencyMetadata, fetchCurrencyValue, getCachedAbiForContract, ListingType, ThirdwebSDK as ThirdwebSDK$1, getBuyWithCryptoHistory, getBuyWithCryptoQuote, getBuyWithCryptoStatus } from '@thirdweb-dev/sdk';\nimport { walletIds, WalletConnectV2Handler, createAsyncLocalStorage, assertWindowEthereum } from '@thirdweb-dev/wallets';\nimport { constants, utils, BigNumber, providers } from 'ethers';\nimport { ThirdwebAuth, signLoginPayload } from '@thirdweb-dev/auth';\nimport { watchTransactions } from '@thirdweb-dev/sdk/evm/functions';\n\n// TODO legacy remove this when possible\n\n/**\n * @internal\n */\nasync function resolveMimeType(url) {\n if (!url) {\n return undefined;\n }\n const mimeType = mime.getType(url);\n if (mimeType) {\n return mimeType;\n }\n const res = await fetch(url, {\n method: \"HEAD\"\n });\n if (res.ok && res.headers.has(\"content-type\")) {\n return res.headers.get(\"content-type\") || undefined;\n }\n // we failed to resolve the mime type, return null\n return undefined;\n}\n\n/**\n * @internal\n */\nconst ThirdwebThemeContext = /* @__PURE__ */createContext(undefined);\n\n/**\n * Secure storage interface for storing auth tokens.\n *\n * The implementation of this interface should provide a secure way to store values. Either by encrypting the values or by storing them in a secure location.\n * @auth\n */\n\n/**\n * The configuration to use by the React and React Native SDKs with an [auth](https://portal.thirdweb.com/wallets/auth) server.\n * @auth\n */\n\nconst ThirdwebAuthContext = /* @__PURE__ */createContext(undefined);\n\n/**\n *\n * @internal\n */\nfunction useThirdwebAuthContext() {\n return useContext(ThirdwebAuthContext);\n}\n\nconst isWalletConnectReceiverEnabled = wallet => {\n const options = wallet?.getOptions();\n return options && \"walletConnectReceiver\" in options && options.walletConnectReceiver;\n};\n\nconst LAST_CONNECTED_WALLET_STORAGE_KEY = \"lastConnectedWallet\";\nlet lastConnectedWalletStorage;\n// maps wallet instance to it's wallet config\nconst walletInstanceToConfig = new Map();\n\n/**\n * Maps a personal wallet instance to it's wrapper wallet instance ( like smartWallet or safeWallet ) to know it's \"wrapper\" wallet\n *\n * This is used to implement the \"switch to personal wallet\" and \"switch to smart wallet\" feature\n */\nconst personalWalletToWrapperWallet = new Map();\nconst ThirdwebWalletContext = /* @__PURE__ */createContext(undefined);\n/**\n * setup states and methods for wallet connection\n */\nfunction useWalletConnectionSetup(data, initialValue) {\n const {\n chains,\n chainToConnect,\n dAppMeta,\n clientId,\n activeChain\n } = data;\n const [signer, setSigner] = useState(undefined);\n const [connectionStatus, setConnectionStatus] = useState(initialValue.connectionStatus);\n const [activeWallet, setActiveWallet] = useState();\n const [createdWalletInstance, setCreatedWalletInstance] = useState();\n const [activeWalletConfig, setActiveWalletConfig] = useState();\n const [chainId, setChainId] = useState(undefined);\n const [walletAddress, setWalletAddress] = useState(undefined);\n const walletParams = useMemo(() => {\n return {\n chains: chains,\n dappMetadata: dAppMeta,\n chain: activeChain || chains[0],\n clientId: clientId\n };\n }, [chains, dAppMeta, activeChain, clientId]);\n const createWalletInstance = useCallback(walletConfig => {\n const walletInstance = walletConfig.create(walletParams);\n if (walletInstance.walletId === walletIds.magicLink) {\n // NOTE: removing this if statement causes the component to re-render\n // Patch for magic link wallet in react native\n // needed because we need to add a component to the view tree\n // from the instance, right before calling connect.\n // Check it out in RN's DappContextProvider.\n setCreatedWalletInstance(walletInstance);\n }\n walletInstanceToConfig.set(walletInstance, walletConfig);\n return walletInstance;\n }, [walletParams]);\n const setConnectedWallet = useCallback(async function (wallet, connectParams) {\n let isAutoConnect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const walletConfig = walletInstanceToConfig.get(wallet);\n if (!walletConfig) {\n throw new Error(\"Wallet config not found for given wallet instance. Do not create a wallet instance manually - use the useCreateWalletInstance() hook instead\");\n }\n const [_signer, _chainId, _address] = await Promise.all([wallet.getSigner(), wallet.getChainId(), wallet.getAddress()]);\n\n // set states for the connected wallet\n setActiveWallet(wallet);\n setChainId(_chainId);\n setWalletAddress(_address);\n setSigner(_signer);\n setActiveWalletConfig(walletConfig);\n setConnectionStatus(\"connected\");\n\n // if personal wallet exists, we need to replace the connectParams.personalWallet to a stringifiable version\n const personalWallet = wallet.getPersonalWallet();\n personalWalletToWrapperWallet.set(personalWallet, wallet);\n\n // it autoconnected, then the details is already saved in storage, no need to store again\n if (isAutoConnect) {\n return;\n }\n\n // save to storage\n\n const walletInfo = {\n walletId: walletConfig.id,\n connectParams: connectParams || wallet.getConnectParams()\n };\n const personalWalletConfig = walletInstanceToConfig.get(personalWallet);\n if (personalWallet && personalWalletConfig) {\n walletInfo.connectParams = {\n ...walletInfo.connectParams,\n personalWallet: {\n walletId: personalWalletConfig.id,\n connectParams: personalWallet.getConnectParams()\n }\n };\n saveLastConnectedWalletInfo(walletInfo);\n } else {\n saveLastConnectedWalletInfo(walletInfo);\n }\n }, []);\n const storeLastActiveChainId = useCallback(async _chainId => {\n const lastConnectedWallet = await lastConnectedWalletStorage.getItem(LAST_CONNECTED_WALLET_STORAGE_KEY);\n if (!lastConnectedWallet) {\n return;\n }\n try {\n const parsedWallet = JSON.parse(lastConnectedWallet);\n if (parsedWallet.connectParams) {\n parsedWallet.connectParams.chainId = _chainId;\n } else {\n parsedWallet.connectParams = {\n chainId: _chainId\n };\n }\n await lastConnectedWalletStorage.setItem(LAST_CONNECTED_WALLET_STORAGE_KEY, JSON.stringify(parsedWallet));\n } catch (error) {\n console.error(`Error saving the last active chain: ${error}`);\n }\n }, []);\n const switchChain = useCallback(async _chainId => {\n if (!activeWallet) {\n throw new Error(\"No active wallet\");\n }\n await activeWallet.switchChain(_chainId);\n const _signer = await activeWallet.getSigner();\n await storeLastActiveChainId(_chainId);\n setSigner(_signer);\n }, [activeWallet, storeLastActiveChainId]);\n const connectWallet = useCallback(async function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const [WalletObj, connectParams] = args;\n const _connectedParams = {\n chainId: chainToConnect?.chainId,\n ...(connectParams || {})\n };\n const wallet = createWalletInstance(WalletObj);\n setConnectionStatus(\"connecting\");\n try {\n // if magic is using social login - it will redirect the page - so need to save walletInfo before connecting\n // TODO: find a better way to handle this\n if (WalletObj.id === walletIds.magicLink) {\n saveLastConnectedWalletInfo({\n walletId: WalletObj.id,\n connectParams: _connectedParams\n });\n }\n await wallet.connect(_connectedParams);\n setConnectedWallet(wallet, _connectedParams);\n } catch (e) {\n console.error(`Error connecting to wallet: ${e}`);\n setConnectionStatus(\"disconnected\");\n throw e;\n }\n return wallet;\n }, [createWalletInstance, setConnectedWallet, chainToConnect]);\n const onWalletDisconnect = useCallback(() => {\n setConnectionStatus(\"disconnected\");\n setSigner(undefined);\n setActiveWallet(undefined);\n setActiveWalletConfig(undefined);\n setChainId(undefined);\n setWalletAddress(undefined);\n lastConnectedWalletStorage.removeItem(LAST_CONNECTED_WALLET_STORAGE_KEY);\n }, []);\n const disconnectWallet = useCallback(async () => {\n // if disconnect is called before the wallet is connected\n if (!activeWallet) {\n onWalletDisconnect();\n return;\n }\n onWalletDisconnect();\n const personalWallet = activeWallet.getPersonalWallet();\n await activeWallet.disconnect();\n if (personalWallet) {\n await personalWallet?.disconnect();\n }\n }, [activeWallet, onWalletDisconnect]);\n\n // handle wallet change event\n useEffect(() => {\n if (!activeWallet) {\n setSigner(undefined);\n setChainId(undefined);\n setWalletAddress(undefined);\n return;\n }\n const update = async () => {\n Promise.all([activeWallet.getSigner(), activeWallet.getChainId(), activeWallet.getAddress()]).then(_ref => {\n let [_signer, _chainId, _address] = _ref;\n setSigner(_signer);\n setChainId(_chainId);\n setWalletAddress(_address);\n });\n };\n update();\n activeWallet.addListener(\"change\", update);\n activeWallet.addListener(\"disconnect\", onWalletDisconnect);\n return () => {\n activeWallet.removeListener(\"change\", update);\n activeWallet.removeListener(\"disconnect\", onWalletDisconnect);\n };\n }, [activeWallet, onWalletDisconnect]);\n\n // if props.chains is updated, update the active wallet's chains\n useEffect(() => {\n if (activeWallet) {\n activeWallet.updateChains(chains);\n }\n }, [activeWallet, chains]);\n return {\n signer,\n connectionStatus,\n setConnectionStatus,\n activeWallet,\n createdWalletInstance,\n activeWalletConfig,\n createWalletInstance,\n setConnectedWallet,\n switchChain,\n connectWallet,\n disconnectWallet,\n chainId,\n address: walletAddress\n };\n}\nfunction ThirdwebWalletProvider(props) {\n // if autoSwitch is enabled - enforce connection to activeChain\n const chainToConnect = props.autoSwitch ? props.activeChain : undefined;\n const autoConnectTimeout = props.autoConnectTimeout || 15000;\n const walletSetupData = {\n chains: props.chains,\n dAppMeta: props.dAppMeta,\n activeChain: props.activeChain,\n clientId: props.clientId,\n chainToConnect\n };\n const {\n signer,\n connectionStatus,\n setConnectionStatus,\n activeWallet,\n createdWalletInstance,\n activeWalletConfig,\n createWalletInstance,\n setConnectedWallet,\n switchChain,\n connectWallet,\n disconnectWallet,\n address,\n chainId\n } = useWalletConnectionSetup(walletSetupData, {\n connectionStatus: \"unknown\"\n });\n const personalWalletConnection = useWalletConnectionSetup(walletSetupData, {\n connectionStatus: \"disconnected\"\n });\n\n /**\n * This is used to know if auto connect is in progress\n */\n const [isAutoConnecting, setIsAutoConnecting] = useState(false);\n const [walletConnectHandler, setWalletConnectHandler] = useState();\n if (!lastConnectedWalletStorage) {\n lastConnectedWalletStorage = props.createWalletStorage(\"coordinatorStorage\");\n }\n useEffect(() => {\n if (!activeWallet) {\n return;\n }\n const initWCHandler = async () => {\n const wcReceiverOptions = activeWallet?.getOptions();\n const handler = new WalletConnectV2Handler({\n walletConnectReceiver: {\n ...(wcReceiverOptions?.walletConnectReceiver === true ? {} : wcReceiverOptions?.walletConnectReceiver)\n }\n }, activeWallet);\n await handler.init();\n setWalletConnectHandler(handler);\n };\n if (isWalletConnectReceiverEnabled(activeWallet)) {\n initWCHandler();\n }\n }, [activeWallet]);\n const autoConnectTriggered = useRef(false);\n\n // Auto Connect\n useEffect(() => {\n if (autoConnectTriggered.current) {\n return;\n }\n autoConnectTriggered.current = true;\n\n // do not auto connect if signerWallet is given\n if (props.signerWallet) {\n return;\n }\n if (activeWallet) {\n // there's already an active wallet, don't auto connect\n return;\n }\n if (connectionStatus !== \"unknown\") {\n // only try to auto connect if we're in the unknown state\n return;\n }\n\n // if explicitly set to false, don't auto connect\n // by default, auto connect\n if (props.shouldAutoConnect === false) {\n setConnectionStatus(\"disconnected\");\n return;\n }\n async function autoconnect() {\n const walletInfo = await getLastConnectedWalletInfo();\n if (!walletInfo) {\n setConnectionStatus(\"disconnected\");\n return;\n }\n const walletObj = props.supportedWallets.find(W => W.id === walletInfo.walletId);\n if (!walletObj) {\n // last connected wallet is no longer present in the supported wallets\n setConnectionStatus(\"disconnected\");\n return;\n }\n let _personalWalletInfo = walletInfo.connectParams?.personalWallet;\n let shouldSetPersonalWalletAsActive = false;\n\n // if the wallet requires a personal wallet (like smartWallet), but the saved data does not have it\n // this can happen when user clicks on \"switch to personal wallet\" and reloads the page\n // OR when user clicks on magic link social login\n if (walletObj.personalWallets && !_personalWalletInfo) {\n // for magicLink social login - don't switch to personal wallet because smartWallet did not have a chance to connect because of page change\n if (walletInfo.walletId === walletIds.magicLink && walletInfo.connectParams && \"oauthProvider\" in walletInfo.connectParams) {\n shouldSetPersonalWalletAsActive = false;\n } else {\n shouldSetPersonalWalletAsActive = true;\n }\n\n // fix the connectParams by adding the personal wallet info\n _personalWalletInfo = {\n walletId: walletInfo.walletId,\n connectParams: walletInfo.connectParams\n };\n }\n const personalWalletInfo = _personalWalletInfo;\n let personalWalletInstance;\n if (personalWalletInfo) {\n const personalWallets = walletObj.personalWallets || [];\n const personalWalletObj = personalWallets.find(W => W.id === personalWalletInfo.walletId);\n if (personalWalletObj) {\n // create a personal wallet instance and auto connect it\n personalWalletInstance = createWalletInstance(personalWalletObj);\n try {\n await timeoutPromise(personalWalletInstance.autoConnect(personalWalletInfo.connectParams), {\n ms: autoConnectTimeout,\n message: autoConnectTimeoutErrorMessage\n });\n if (shouldSetPersonalWalletAsActive) {\n setConnectedWallet(personalWalletInstance, personalWalletInfo.connectParams, true);\n }\n } catch (e) {\n console.error(\"Failed to auto connect personal wallet\");\n console.error(e);\n setConnectionStatus(\"disconnected\");\n return;\n }\n\n // set the personal wallet instance to the connectParams\n walletInfo.connectParams = {\n ...walletInfo.connectParams,\n personalWallet: personalWalletInstance\n };\n } else {\n // last used personal wallet is no longer present in the supported wallets\n setConnectionStatus(\"disconnected\");\n return;\n }\n }\n\n // create a wallet instance and auto connect it\n const wallet = createWalletInstance(walletObj);\n try {\n setIsAutoConnecting(true);\n setConnectionStatus(\"connecting\");\n if (personalWalletInstance) {\n personalWalletToWrapperWallet.set(personalWalletInstance, wallet);\n }\n await timeoutPromise(wallet.autoConnect(walletInfo.connectParams), {\n ms: autoConnectTimeout,\n message: autoConnectTimeoutErrorMessage\n });\n if (!shouldSetPersonalWalletAsActive) {\n setConnectedWallet(wallet, walletInfo.connectParams, true);\n }\n } catch (e) {\n console.error(\"Failed to auto connect wallet\");\n console.error(e);\n if (e instanceof Error && e.message === autoConnectTimeoutErrorMessage) {\n lastConnectedWalletStorage.removeItem(LAST_CONNECTED_WALLET_STORAGE_KEY);\n }\n setConnectionStatus(\"disconnected\");\n }\n setIsAutoConnecting(false);\n }\n autoconnect();\n }, [createWalletInstance, props.supportedWallets, setConnectedWallet, props.shouldAutoConnect, activeWallet, connectionStatus, props.signerWallet, setConnectionStatus, autoConnectTimeout]);\n\n // connect signerWallet immediately if it's passed\n // and disconnect it if it's not passed\n const signerConnected = useRef();\n useEffect(() => {\n if (!props.signerWallet) {\n if (signerConnected.current) {\n disconnectWallet();\n signerConnected.current = undefined;\n }\n return;\n }\n if (signerConnected.current === props.signerWallet) {\n return;\n }\n const wallet = createWalletInstance(props.signerWallet);\n setConnectedWallet(wallet);\n signerConnected.current = props.signerWallet;\n }, [createWalletInstance, props.supportedWallets, setConnectedWallet, props.signerWallet, disconnectWallet]);\n return /*#__PURE__*/jsx(ThirdwebWalletContext.Provider, {\n value: {\n address,\n chainId,\n disconnect: disconnectWallet,\n wallets: props.supportedWallets,\n connect: connectWallet,\n signer,\n activeWallet,\n activeWalletConfig,\n connectionStatus,\n setConnectionStatus,\n createWalletInstance: createWalletInstance,\n createdWalletInstance: createdWalletInstance,\n createWalletStorage: props.createWalletStorage,\n switchChain,\n setConnectedWallet: setConnectedWallet,\n activeChain: props.activeChain,\n chainToConnect,\n getWalletConfig: walletInstance => {\n return walletInstanceToConfig.get(walletInstance);\n },\n getWrapperWallet: personalWallet => {\n return personalWalletToWrapperWallet.get(personalWallet);\n },\n activeChainSetExplicitly: props.activeChainSetExplicitly,\n clientId: props.clientId,\n walletConnectHandler: walletConnectHandler,\n personalWalletConnection,\n isAutoConnecting\n },\n children: props.children\n });\n}\n\n/**\n * @internal\n */\nfunction useWalletContext() {\n const ctx = useContext(ThirdwebWalletContext);\n if (!ctx) {\n throw new Error(`useWalletContext() can only be used inside `);\n }\n return ctx;\n}\n\n/**\n * Get WalletConnect handler instance\n */\nfunction useWalletConnectHandler() {\n const ctx = useWalletContext();\n if (!ctx) {\n throw new Error(`useWalletConnectHandler() can only be used inside `);\n }\n return ctx.walletConnectHandler;\n}\nasync function getLastConnectedWalletInfo() {\n const str = await lastConnectedWalletStorage.getItem(LAST_CONNECTED_WALLET_STORAGE_KEY);\n if (!str) {\n return null;\n }\n try {\n return JSON.parse(str);\n } catch {\n await lastConnectedWalletStorage.removeItem(LAST_CONNECTED_WALLET_STORAGE_KEY);\n return null;\n }\n}\nasync function saveLastConnectedWalletInfo(walletInfo) {\n try {\n await lastConnectedWalletStorage.setItem(LAST_CONNECTED_WALLET_STORAGE_KEY, JSON.stringify(walletInfo));\n } catch (e) {\n console.error(\"Error saving the last connected wallet info\", e);\n }\n}\n\n/**\n * Timeout a promise with a given Error message if the promise does not resolve in given time\n *\n * @param promise - Promise to track for timeout\n * @param option - timeout options\n * @returns\n */\nfunction timeoutPromise(promise, option) {\n return new Promise((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new Error(option.message));\n }, option.ms);\n promise.then(res => {\n clearTimeout(timeoutId);\n resolve(res);\n }, err => {\n clearTimeout(timeoutId);\n reject(err);\n });\n });\n}\nconst autoConnectTimeoutErrorMessage = `Failed to Auto connect. Auto connect timed out. You can increase the timeout duration using the autoConnectTimeout prop on `;\n\n/**\n * @wallet\n */\n\n/**\n * Hook to get the instance of the currently connected wallet.\n *\n * @example\n * ```jsx\n * import { useWallet } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const walletInstance = useWallet();\n * }\n * ```\n * @returns Currently connected `WalletInstance` , or `undefined` if no wallet is connected.\n * @walletConnection\n */\n\n/**\n * Hook to get the instance of the currently connected wallet if it matches the given `walletId`.\n *\n * @example\n * ```jsx\n * import { useWallet } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const metamaskWalletInstance = useWallet('metamask');\n * }\n * ```\n *\n * @returns Currently connected `WalletInstance` with given `walletId` , or `undefined` if no wallet is connected or if the connected wallet does not match the given `walletId`.\n * @walletConnection\n */\n\nfunction useWallet(walletId) {\n const context = useWalletContext();\n invariant(context, \"useWallet() hook must be used within a \");\n const activeWallet = context.activeWallet;\n if (!activeWallet) {\n return undefined;\n }\n\n // if walletId is provided, return the wallet instance only if it matches the walletId\n if (walletId) {\n if (activeWallet.walletId === walletId) {\n return activeWallet;\n } else {\n return undefined;\n }\n }\n return activeWallet;\n}\n\n/**\n *\n * Hook to get the `WalletConfig` object of the currently connected wallet.\n *\n * This is useful to get metadata about the connected wallet, such as the wallet name, logo, etc\n *\n * @example\n *\n * ```jsx\n * import { useWalletConfig } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const walletConfig = useWalletConfig();\n *\n * const walletName = walletConfig?.meta.name;\n * const walletLogo = walletConfig?.meta.iconURL;\n * }\n * ```\n *\n * @returns The current connected wallet's configuration object or `undefined` if no wallet is connected.\n *\n * @walletConnection\n */\nfunction useWalletConfig() {\n const context = useWalletContext();\n invariant(context, \"useWallet() hook must be used within a \");\n return context.activeWalletConfig;\n}\n\n/**\n * @internal\n * Get `supportedWallets` passed in the ``\n * @returns `supportedWallets` configured in the ``\n */\nfunction useWallets() {\n const context = useWalletContext();\n invariant(context, \"useWallets() hook must be used within a \");\n return context.wallets;\n}\n\n/**\n * Hook for connecting a wallet to your app.\n *\n * The wallet also needs to be added in `ThirdwebProvider`'s `supportedWallets` prop to enable auto-connection on page load.\n *\n * @example\n * ```jsx\n * import { useConnect, metamaskWallet } from \"@thirdweb-dev/react\";\n *\n * const metamaskConfig = metamaskWallet();\n *\n * function App() {\n * const connect = useConnect();\n *\n * return (\n * {\n * const wallet = await connect(metamaskConfig, connectOptions);\n * console.log(\"connected to \", wallet);\n * }}\n * >\n * Connect to MetaMask\n * \n * );\n * }\n * ```\n *\n * @returns A function to connect a wallet\n *\n * ```ts\n * const connect = useConnect();\n *\n * function handleConnect() {\n * const wallet = await connect(walletConfig, connectOptions);\n * }\n * ```\n *\n * The function accepts two arguments: `walletConfig` and `connectOptions`\n *\n * #### walletConfig\n * The wallet to connect. Must be of type `WalletConfig`.\n *\n * [Learn more about the available wallet options](https://portal.thirdweb.com/react/v4/connecting-wallets).\n *\n * #### connectOptions\n * The typeof `connectOptions` object depends on the wallet you are connecting. For some wallets, it may be optional\n *\n * If you are using typescript, `connect` will automatically infer the type of `connectOptions` based on the `walletConfig` you pass in as the first argument and will show type errors if you pass in invalid options.\n *\n * @walletConnection\n */\nfunction useConnect() {\n const context = useWalletContext();\n invariant(context, \"useConnect() hook must be used within a \");\n return context.connect;\n}\n\n/**\n * Hook for disconnecting the currently connected wallet.\n *\n * @example\n * ```jsx\n * import { useDisconnect } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const disconnect = useDisconnect();\n *\n * return ;\n * }\n * ```\n *\n * @returns A function to disconnect from current connected wallet\n * @walletConnection\n */\nfunction useDisconnect() {\n const context = useWalletContext();\n invariant(context, \"useDisconnect() hook must be used within a \");\n return context.disconnect;\n}\n\n/**\n * Hook for checking whether your app is connected to a wallet or not.\n *\n * @example\n * ```jsx\n * import { useConnectionStatus } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const connectionStatus = useConnectionStatus();\n *\n * if (connectionStatus === \"unknown\") return

Loading...

;\n * if (connectionStatus === \"connecting\") return

Connecting...

;\n * if (connectionStatus === \"connected\") return

You are connected

;\n * if (connectionStatus === \"disconnected\")\n * return

You are not connected to a wallet

;\n * }\n * ```\n *\n * @returns The wallet connection status\n *\n * It can be one of the following:\n * - `unknown`: connection status is not known yet. This is the initial state.\n * - `connecting`: wallet is being connected. Either because of a user action, or when the wallet is auto-connecting on page load.\n * - `connected`: the wallet is connected and ready to be used.\n * - `disconnected`: the wallet is not connected.\n *\n * @walletConnection\n */\nfunction useConnectionStatus() {\n const context = useWalletContext();\n invariant(context, \"useConnectionStatus() must be used within a \");\n return context.connectionStatus;\n}\n\n/**\n * Hook for setting the `connectionStatus` of the wallet which is returned by the `useConnectionStatus` hook\n *\n * This is only useful if you are manually connecting a wallet instance as mentioned in [Build your Wallet](https://portal.thirdweb.com/wallet-sdk/v2/build)\n *\n * @example\n *\n * ```ts\n * import {\n * useCreateWalletInstance,\n * useSetConnectionStatus,\n * useSetConnectedWallet,\n * metamaskWallet\n * } from \"@thirdweb-dev/react\";\n *\n * const walletConfig = metamaskWallet();\n *\n * function Example() {\n * const createWalletInstance = useCreateWalletInstance();\n * const setConnectionStatus = useSetConnectionStatus();\n * const setConnectedWallet = useSetConnectedWallet();\n *\n * // Call this function to connect your wallet\n * const handleConnect = async () => {\n * // 1. create instance\n * const walletInstance = createWalletInstance(walletConfig);\n * setConnectionStatus(\"connecting\");\n *\n * try {\n * // 2. Call `connect` method of your wallet\n * await walletInstance.connect(\n * connectOptions, // if your wallet.connect method accepts any options, specify it here\n * );\n *\n * // 3. Set connected wallet\n * setConnectedWallet(walletInstance);\n * props.close();\n * } catch (e) {\n * setConnectionStatus(\"disconnected\");\n * console.error(\"failed to connect\", e);\n * }\n * };\n *\n * return
...
;\n * }\n * ```\n *\n * @returns A function that sets the `connectionStatus` of the wallet\n * @walletConnection\n */\nfunction useSetConnectionStatus() {\n const context = useWalletContext();\n invariant(context, \"useSetConnectionStatus() must be used within a \");\n return context.setConnectionStatus;\n}\n\n/**\n * Hook for creating a wallet instance from given `WalletConfig` object.\n *\n * If you just want to connect the wallet and don't need the wallet instance before connecting the wallet, use the `useConnect` hook instead.\n *\n * @example\n *\n * ```jsx\n * import { useConnect, metamaskWallet } from \"@thirdweb-dev/react\";\n *\n * const metamaskConfig = metamaskWallet();\n *\n * function App() {\n * const createWalletInstance = useCreateWalletInstance();\n *\n * return (\n * {\n * const metamaskWalletInstance = createWalletInstance(metamaskConfig);\n * console.log(metamaskWalletInstance);\n * }}\n * >\n * create wallet instance\n * \n * );\n * }\n * ```\n *\n * @returns A function that creates a wallet instance for given `WalletConfig` object.\n *\n * @walletConnection\n */\nfunction useCreateWalletInstance() {\n const context = useWalletContext();\n invariant(context, \"useCreateWalletInstance() must be used within a \");\n return context.createWalletInstance;\n}\n\n/**\n * Hook for switching to a different network.\n *\n * @example\n * ```jsx\n * import { useSwitchChain } from \"@thirdweb-dev/react\";\n * import { Goerli } from \"@thirdweb-dev/chains\";\n *\n * function App() {\n * const switchChain = useSwitchChain();\n * return (\n * \n * );\n * }\n * ```\n *\n * @returns A function to switch the network in the currently connected wallet to network with given `chainId`\n * @networkConnection\n */\nfunction useSwitchChain() {\n const context = useWalletContext();\n invariant(context, \"useSwitchChain() must be used within a \");\n return context.switchChain;\n}\n\n/**\n * Hook for setting a wallet instance as \"connected\" - once done, the wallet connection hooks like `useWallet`, `useAddress`, `useSigner`, `useConnectionStatus` etc will return the data for that wallet instance\n *\n * This is only useful if you are manually connecting a wallet instance as mentioned in [Build your Wallet](https://portal.thirdweb.com/wallet-sdk/v2/build)\n *\n * @example\n *\n * ```ts\n * import {\n * useCreateWalletInstance,\n * useSetConnectionStatus,\n * useSetConnectedWallet,\n * metamaskWallet\n * } from \"@thirdweb-dev/react\";\n *\n * const walletConfig = metamaskWallet();\n *\n * function Example() {\n * const createWalletInstance = useCreateWalletInstance();\n * const setConnectionStatus = useSetConnectionStatus();\n * const setConnectedWallet = useSetConnectedWallet();\n *\n * // Call this function to connect your wallet\n * const handleConnect = async () => {\n * // 1. create instance\n * const walletInstance = createWalletInstance(walletConfig);\n * setConnectionStatus(\"connecting\");\n *\n * try {\n * // 2. Call `connect` method of your wallet\n * await walletInstance.connect(\n * connectOptions, // if your wallet.connect method accepts any options, specify it here\n * );\n *\n * // 3. Set connected wallet\n * setConnectedWallet(walletInstance);\n * props.close();\n * } catch (e) {\n * setConnectionStatus(\"disconnected\");\n * console.error(\"failed to connect\", e);\n * }\n * };\n *\n * return
...
;\n * }\n * ```\n *\n * @returns A function to set a wallet instance as \"connected\".\n * @walletConnection\n */\nfunction useSetConnectedWallet() {\n const context = useWalletContext();\n invariant(context, \"useSwitchChain() must be used within a \");\n return context.setConnectedWallet;\n}\n\nconst AUTH_TOKEN_STORAGE_KEY = \"auth_token_storage_key\";\n\nconst TW_CACHE_KEY_PREFIX = \"tw-cache\";\n\n/**\n * @internal\n */\nfunction enforceCachePrefix(input) {\n return [TW_CACHE_KEY_PREFIX, ...input.filter(i => typeof i !== \"string\" || i !== TW_CACHE_KEY_PREFIX)];\n}\n\n/**\n * @internal\n */\nfunction createContractCacheKey() {\n let contractAddress = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : constants.AddressZero;\n let input = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return enforceCachePrefix([\"contract\", contractAddress, ...input]);\n}\n\n/**\n @internal\n */\nfunction createCacheKeyWithNetwork(input, chainId) {\n return enforceCachePrefix(cacheKeys.network.active(chainId).concat(input));\n}\n\n/**\n * @internal\n */\nfunction invalidateContractAndBalances(queryClient, contractAddress, chainId) {\n return Promise.all([queryClient.invalidateQueries(enforceCachePrefix(createCacheKeyWithNetwork(createContractCacheKey(contractAddress), chainId))), invalidateBalances(queryClient, chainId)]);\n}\n\n/**\n * @internal\n */\nfunction invalidateBalances(queryClient, chainId) {\n return queryClient.invalidateQueries(enforceCachePrefix(createCacheKeyWithNetwork([\"balance\"], chainId)));\n}\n\n/**\n @internal\n */\nconst cacheKeys = {\n auth: {\n user: () => enforceCachePrefix([\"user\"])\n },\n network: {\n active: chainId => enforceCachePrefix([\"chainId\", chainId])\n },\n wallet: {\n balance: (chainId, walletAddress, tokenAddress) => enforceCachePrefix(createCacheKeyWithNetwork(enforceCachePrefix([\"balance\", {\n walletAddress,\n tokenAddress\n }]), chainId))\n },\n contract: {\n read: (contractAddress, fnIdentity) => createContractCacheKey(contractAddress, [\"read\", fnIdentity]),\n type: contractAddress => createContractCacheKey(contractAddress, [\"contract-type\"]),\n compilerMetadata: contractAddress => createContractCacheKey(contractAddress, [\"publish-metadata\"]),\n typeAndCompilerMetadata: contractAddress => createContractCacheKey(contractAddress, [\"contract-type-and-metadata\"]),\n metadata: contractAddress => createContractCacheKey(contractAddress, [\"metadata\"]),\n extractFunctions: contractAddress => createContractCacheKey(contractAddress, [\"extractFunctions\"]),\n call: (contractAddress, functionName, args, overrides) => createContractCacheKey(contractAddress, [\"call\", functionName, args, overrides]),\n accountFactory: {\n getAll: contractAddress => createContractCacheKey(contractAddress, [\"accountFactory\"]),\n isAccountDeployed: (contractAdress, admin) => createContractCacheKey(contractAdress, [\"isAccountDeployed\", admin]),\n getAllForAddress: (contractAdress, address) => createContractCacheKey(contractAdress, [\"getAllForAddress\", address])\n },\n account: {\n signers: contractAddress => createContractCacheKey(contractAddress, [\"account\", \"signers\"])\n },\n app: {\n get: contractAddress => createContractCacheKey(contractAddress, [\"appURI\"])\n },\n events: {\n getEvents: (contractAddress, eventName) => createContractCacheKey(contractAddress, [\"events\", \"getEvents\", {\n eventName\n }]),\n getAllEvents: contractAddress => createContractCacheKey(contractAddress, [\"events\", \"getAllEvents\"])\n },\n // specific contract types\n nft: {\n get: (contractAddress, tokenId) => createContractCacheKey(contractAddress, [\"get\", {\n tokenId\n }]),\n balanceOf: (contractAddress, owner, tokenId) => createContractCacheKey(contractAddress, [\"balanceOf\", {\n owner,\n tokenId\n }]),\n query: {\n all: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"query\", \"all\", params] : [\"query\", \"all\"]),\n totalCirculatingSupply: (contractAddress, tokenId) => createContractCacheKey(contractAddress, [\"query\", \"totalCirculatingSupply\", tokenId ?? \"0\"]),\n totalCount: contractAddress => createContractCacheKey(contractAddress, [\"query\", \"totalCount\"]),\n owned: {\n all: (contractAddress, owner) => createContractCacheKey(contractAddress, [\"query\", \"owned\", \"all\", owner])\n }\n },\n sharedMetadata: {\n get: contractAddress => createContractCacheKey(contractAddress)\n },\n drop: {\n getAllUnclaimed: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"getAllUnclaimed\", params] : [\"getAllUnclaimed\"]),\n getAllClaimed: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"getAllClaimed\", params] : [\"getAllClaimed\"]),\n totalUnclaimedSupply: contractAddress => createContractCacheKey(contractAddress, [\"totalUnclaimedSupply\"]),\n totalClaimedSupply: contractAddress => createContractCacheKey(contractAddress, [\"totalClaimedSupply\"]),\n revealer: {\n getBatchesToReveal: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"getBatchesToReveal\", params] : [\"getBatchesToReveal\"])\n }\n }\n },\n token: {\n totalSupply: contractAddress => createContractCacheKey(contractAddress, [\"totalSupply\"]),\n decimals: contractAddress => createContractCacheKey(contractAddress, [\"decimals\"]),\n balanceOf: (contractAddress, walletAddress) => createContractCacheKey(contractAddress, [\"balanceOf\", {\n walletAddress\n }])\n },\n marketplace: {\n getListing: (contractAddress, listingId) => createContractCacheKey(contractAddress, [\"getListing\", {\n listingId\n }]),\n getAllListings: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"getAllListings\", params] : [\"getAllListings\"]),\n getTotalCount: contractAddress => createContractCacheKey(contractAddress, [\"getTotalCount\"]),\n getActiveListings: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"getActiveListings\", params] : [\"getActiveListings\"]),\n auction: {\n getBidBufferBps: (contractAddress, listingId) => createContractCacheKey(contractAddress, [\"auction\", \"getBidBufferBps\", {\n listingId\n }]),\n getWinningBid: (contractAddress, listingId) => createContractCacheKey(contractAddress, [\"auction\", \"getWinningBid\", {\n listingId\n }]),\n getMinimumNextBid: (contractAddress, listingId) => createContractCacheKey(contractAddress, [\"auction\", \"getMinimumNextBid\", {\n listingId\n }]),\n getWinner: (contractAddress, listingId) => createContractCacheKey(contractAddress, [\"auction\", \"getWinner\", {\n listingId\n }])\n },\n directListings: {\n getAll: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"directListings\", \"getAll\", params] : [\"directListings\", \"getAll\"]),\n getAllValid: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"directListings\", \"getAllValid\", params] : [\"directListings\", \"getAllValid\"]),\n getListing: (contractAddress, listingId) => createContractCacheKey(contractAddress, [\"directListings\", \"getListing\", {\n listingId\n }]),\n getTotalCount: contractAddress => createContractCacheKey(contractAddress, [\"directListings\", \"getTotalCount\"])\n },\n englishAuctions: {\n getAll: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"englishAuctions\", \"getAll\", params] : [\"englishAuctions\", \"getAll\"]),\n getAllValid: (contractAddress, params) => createContractCacheKey(contractAddress, params ? [\"englishAuctions\", \"getAllValid\", params] : [\"englishAuctions\", \"getAllValid\"]),\n getAuction: (contractAddress, auctionId) => createContractCacheKey(contractAddress, [\"englishAuctions\", \"getAuction\", {\n auctionId\n }]),\n getWinningBid: (contractAddress, auctionId) => createContractCacheKey(contractAddress, [\"englishAuctions\", \"getWinningBid\", {\n auctionId\n }]),\n getTotalCount: contractAddress => createContractCacheKey(contractAddress, [\"englishAuctions\", \"getTotalCount\"])\n }\n }\n },\n // extensions\n extensions: {\n claimConditions: {\n getActive: (contractAddress, tokenId, options) => createContractCacheKey(contractAddress, tokenId ? [\"claimConditions\", \"getActive\", {\n tokenId\n }, options] : [\"claimConditions\", \"getActive\", options]),\n getAll: (contractAddress, tokenId, options) => createContractCacheKey(contractAddress, tokenId ? [\"claimConditions\", \"getAll\", {\n tokenId\n }, options] : [\"claimConditions\", \"getAll\", options]),\n getClaimerProofs: (contractAddress, tokenId) => createContractCacheKey(contractAddress, tokenId ? [\"claimConditions\", \"getClaimerProofs\", {\n tokenId\n }] : [\"claimConditions\", \"getClaimerProofs\"]),\n getClaimIneligibilityReasons: (contractAddress, params, tokenId) => createContractCacheKey(contractAddress, tokenId ? [\"claimConditions\", \"getIneligibilityReasons\", {\n tokenId\n }, params] : [\"claimConditions\", \"getIneligibilityReasons\", params]),\n // combinations of queries cache keys\n useActiveClaimConditionForWallet: (contractAddress, walletAddress, tokenId) => createContractCacheKey(contractAddress, tokenId ? [\"claimConditions\", \"useActiveClaimConditionForWallet\", {\n tokenId,\n walletAddress\n },,] : [\"claimConditions\", \"getIneligibilityReasons\", {\n walletAddress\n }])\n },\n // primary sale contracts\n sales: {\n getRecipient: contractAddress => createContractCacheKey(contractAddress, [\"sales\"])\n },\n // royalties\n royalties: {\n getDefaultRoyaltyInfo: contractAddress => createContractCacheKey(contractAddress, [\"royalties\"])\n },\n // platform fees\n platformFees: {\n get: contractAddress => createContractCacheKey(contractAddress, [\"platformFees\"])\n },\n // contract metadata\n metadata: {\n get: contractAddress => createContractCacheKey(contractAddress, [\"metadata\"])\n },\n roles: {\n getAll: contractAddress => createContractCacheKey(contractAddress, [\"roles\"]),\n get: (contractAddress, role) => createContractCacheKey(contractAddress, [\"roles\", {\n role\n }])\n }\n }\n};\n\n/**\n * Hook for signing out of a wallet after a user has logged in using `useLogin`\n *\n * @example\n * ```jsx\n * import { useLogout } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { logout, isLoading } = useLogout();\n *\n * return (\n * \n * );\n * }\n * ```\n *\n * @returns object containing a `logout` function and an `isLoading` state that indicates if the logout request is in progress\n *\n * @auth\n */\nfunction useLogout() {\n const queryClient = useQueryClient();\n const authConfig = useThirdwebAuthContext();\n const logout = useMutation({\n mutationFn: async () => {\n invariant(authConfig, \"Please specify an authConfig in the ThirdwebProvider\");\n invariant(authConfig.authUrl, \"Please specify an authUrl in the authConfig.\");\n await fetch(`${authConfig.authUrl}/logout`, {\n method: \"POST\",\n credentials: \"include\"\n });\n authConfig.secureStorage?.removeItem(AUTH_TOKEN_STORAGE_KEY);\n queryClient.invalidateQueries(cacheKeys.auth.user());\n }\n });\n return {\n logout: logout.mutateAsync,\n isLoading: logout.isLoading\n };\n}\n\n/**\n * Hook to switch the account of the active wallet\n *\n * @example\n * ```ts\n * const { switchAccount, isLoading } = useSwitchAccount();\n *\n * const handleSwitchAccount = async (address: string) => {\n * await switchAccount(address);\n * }\n * ```\n *\n * @returns A function to invoke to switch account and a boolean to indicate if it is in progress\n *\n * @auth\n */\nfunction useSwitchAccount() {\n const queryClient = useQueryClient();\n const authConfig = useThirdwebAuthContext();\n const switchAccount = useMutation({\n mutationFn: async address => {\n invariant(authConfig, \"Please specify an authConfig in the ThirdwebProvider\");\n invariant(authConfig.authUrl, \"Please specify an authUrl in the authConfig.\");\n await fetch(`${authConfig.authUrl}/switch-account`, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n address\n })\n });\n queryClient.invalidateQueries(cacheKeys.auth.user());\n }\n });\n return {\n switchAccount: switchAccount.mutateAsync,\n isLoading: switchAccount.isLoading\n };\n}\n\nconst ThirdwebAuthProvider = _ref => {\n let {\n value,\n children\n } = _ref;\n // Remove trailing slash from URL if present\n const authContext = useMemo(() => {\n if (!value) {\n return undefined;\n }\n const context = {\n ...value,\n authUrl: value.authUrl?.replace(/\\/$/, \"\")\n };\n return context;\n }, [value]);\n return /*#__PURE__*/jsxs(ThirdwebAuthContext.Provider, {\n value: authContext,\n children: [children, /*#__PURE__*/jsx(ChangeActiveWalletOnAccountSwitch, {})]\n });\n};\nfunction ChangeActiveWalletOnAccountSwitch() {\n const wallet = useWallet();\n const {\n logout\n } = useLogout();\n const {\n switchAccount\n } = useSwitchAccount();\n const authConfig = useThirdwebAuthContext();\n const queryClient = useQueryClient();\n\n // When active wallet switches, switch the active account cookie and invalidate user query\n useEffect(() => {\n const handleSwitchAccount = async data => {\n if (!data.address) {\n return;\n }\n try {\n await switchAccount(data.address);\n } catch (err) {\n console.debug(`[Auth] Failed to switch account to ${data.address} with error:\\n`, err);\n }\n };\n const handleLogout = async () => {\n try {\n await logout();\n } catch (err) {\n console.debug(`[Auth] Failed to logout with error:\\n`, err);\n }\n };\n const shouldAddListener = !!wallet && authConfig && authConfig.authUrl;\n if (shouldAddListener) {\n wallet.addListener(\"connect\", handleSwitchAccount);\n wallet.addListener(\"change\", handleSwitchAccount);\n wallet.addListener(\"disconnect\", handleLogout);\n }\n return () => {\n if (shouldAddListener) {\n wallet.removeListener(\"connect\", handleSwitchAccount);\n wallet.removeListener(\"change\", handleSwitchAccount);\n wallet.removeListener(\"disconnect\", handleLogout);\n }\n };\n }, [wallet, queryClient, authConfig, logout, switchAccount]);\n return null;\n}\n\nfunction useUpdateChainsWithClientId(supportedChains, activeChain, clientId) {\n const supportedChainsWithKey = useMemo(() => {\n return supportedChains.map(chain => updateChainRPCs(chain, clientId));\n }, [supportedChains, clientId]);\n const activeChainIdOrObjWithKey = useMemo(() => {\n if (!activeChain || typeof activeChain === \"string\" || typeof activeChain === \"number\") {\n return activeChain;\n }\n return updateChainRPCs(activeChain, clientId);\n }, [activeChain, clientId]);\n return [supportedChainsWithKey, activeChainIdOrObjWithKey];\n}\n\nconst QueryClientProviderWithDefault = _ref => {\n let {\n queryClient,\n children\n } = _ref;\n const queryClientWithDefault = useMemo(() => {\n return queryClient ? queryClient : new QueryClient();\n }, [queryClient]);\n return /*#__PURE__*/jsx(QueryClientProvider, {\n client: queryClientWithDefault,\n children: children\n });\n};\n\nconst ThirdwebConfigContext = /* @__PURE__ */createContext(undefined);\n\n/**\n * @internal\n */\nconst ThirdwebConfigProvider = _ref => {\n let {\n value,\n children\n } = _ref;\n return /*#__PURE__*/jsx(ThirdwebConfigContext.Provider, {\n value: value,\n children: children\n });\n};\n\n/**\n * @internal\n */\nfunction useThirdwebConfigContext() {\n const context = useContext(ThirdwebConfigContext);\n invariant(context, \"useThirdwebConfigContext() hook must be used within a \");\n return context;\n}\n\nconst ThirdwebSDKContext = /* @__PURE__ */createContext({});\n\n/** @internal */\n// eslint-disable-next-line turbo/no-undeclared-env-vars, better-tree-shaking/no-top-level-side-effects\nconst __DEV__ = process.env.NODE_ENV !== \"production\";\n\n/**\n * @internal\n */\nfunction useSDKContext() {\n const ctx = useContext(ThirdwebSDKContext);\n invariant(ctx._inProvider, \"useSDK must be called from within a ThirdwebProvider, did you forget to wrap your app in a ?\");\n return ctx;\n}\n\n/**\n * Hook to get the instance of the `ThirdwebSDK` class being used by the `ThirdwebProvider` component.\n *\n * This gives access to all of the functionality of the TypeScript SDK in your React app.\n *\n * - If there is a connected wallet, the SDK is instantiated from the connected wallet’s signer. Meaning all transactions are initiated from the connected wallet.\n * - If there is no connected wallet, the SDK is in read-only mode on the activeChain.\n *\n * @example\n * ```tsx\n * import { useSDK } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const sdk = useSDK();\n *\n * // Now you use all of the TypeScript SDK functionality\n * // For example, deploy a new contract from the connected wallet.\n * async function deployContract() {\n * sdk?.deployer.deployNFTDrop({\n * name: \"My NFT Drop\",\n * primary_sale_recipient: \"{{wallet_address}}\",\n * });\n * }\n * }\n * ```\n */\nfunction useSDK() {\n const {\n sdk\n } = useSDKContext();\n return sdk;\n}\n\n/**\n * @internal\n */\nfunction useSDKChainId() {\n const sdk = useSDK();\n return sdk?._chainId;\n}\n\nconst INITIAL_CONTEXT_VALUE = {\n wallet: undefined,\n address: undefined,\n chainId: undefined,\n signer: undefined\n};\nconst ThirdwebConnectedWalletContext = /* @__PURE__ */createContext(undefined);\n\n/**\n * @internal\n */\nconst ThirdwebConnectedWalletProvider = _ref => {\n let {\n signer,\n children\n } = _ref;\n const {\n chains,\n clientId\n } = useThirdwebConfigContext();\n const storage = useSDK()?.storage;\n const [contextValue, setContextValue] = useState({\n ...INITIAL_CONTEXT_VALUE,\n signer: signer ? signer : undefined\n });\n useEffect(() => {\n setContextValue(val => ({\n ...val,\n signer: signer ? signer : undefined\n }));\n }, [signer]);\n useEffect(() => {\n if (!storage) {\n return;\n }\n let s = signer;\n if (signer) {\n // just get both of these up front and keep them around with the context\n Promise.all([signer.getAddress(), signer.getChainId()]).then(_ref2 => {\n let [address, chainId] = _ref2;\n const chain = chains.find(c => c.chainId === chainId);\n let rpcUrl = undefined;\n if (chain) {\n try {\n rpcUrl = getValidChainRPCs(chain, clientId)[0];\n } catch (e) {\n // failed to get a viable rpc url, nothing we can do\n console.error(e);\n }\n }\n\n // only if the signer is still the same!\n if (signer === s) {\n const wallet = new UserWallet(signer, {\n readonlySettings: rpcUrl ? {\n rpcUrl,\n chainId\n } : undefined\n }, storage);\n setContextValue({\n wallet,\n address,\n chainId,\n signer\n });\n }\n }).catch(err => {\n if (__DEV__) {\n console.warn(\"failed to get wallet instance in ``\", err);\n }\n });\n } else {\n // if signer is not provided, re-set the context value to initial values\n setContextValue(INITIAL_CONTEXT_VALUE);\n }\n return () => {\n // set the previous signer to undefined because it is invalid now\n s = undefined;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [signer, clientId]);\n return /*#__PURE__*/jsx(ThirdwebConnectedWalletContext.Provider, {\n value: contextValue,\n children: children\n });\n};\n\n/**\n *\n * @internal\n */\nfunction useThirdwebConnectedWalletContext() {\n const context = useContext(ThirdwebConnectedWalletContext);\n invariant(context, \"useThirdwebConnectedWalletContext() hook must be used within a \");\n return context;\n}\n\nconst WrappedThirdwebSDKProvider = _ref => {\n let {\n sdkOptions = {},\n storageInterface,\n supportedChains,\n activeChain,\n signer,\n children,\n clientId,\n secretKey\n } = _ref;\n const activeChainId = useMemo(() => {\n if (!activeChain) {\n return supportedChains[0]?.chainId;\n }\n if (typeof activeChain === \"number\") {\n return activeChain;\n }\n if (typeof activeChain === \"string\") {\n return supportedChains.find(c => c.slug === activeChain)?.chainId;\n }\n return activeChain.chainId;\n }, [activeChain, supportedChains]);\n const sdk = useMemo(() => {\n let chainId = activeChainId;\n const supportedChain = supportedChains.find(c => c.chainId === chainId);\n if (!supportedChain && chainId !== undefined) {\n console.warn(`The chainId ${chainId} is not in the configured chains, please add it to the ThirdwebProvider`);\n // reset the chainId as to not trigger an error in the sdk constructor\n chainId = undefined;\n }\n let readonlySettings = undefined;\n if (supportedChain && supportedChain.rpc.length > 0) {\n try {\n const rpcUrl = getValidChainRPCs(supportedChain, clientId)[0];\n readonlySettings = {\n chainId: supportedChain.chainId,\n rpcUrl\n };\n } catch (e) {\n // no-op\n }\n }\n\n // TODO: find a better way to fix the type error\n\n const mergedOptions = {\n readonlySettings,\n ...sdkOptions,\n supportedChains: supportedChains\n };\n let sdk_ = undefined;\n if (chainId) {\n // sdk from chainId\n sdk_ = new ThirdwebSDK(chainId, {\n ...mergedOptions,\n clientId,\n secretKey\n }, storageInterface);\n }\n // if we still have no sdk fall back to the first element in chains\n if (!sdk_) {\n if (supportedChains.length > 0) {\n chainId = supportedChains[0].chainId;\n sdk_ = new ThirdwebSDK(chainId, mergedOptions, storageInterface);\n } else {\n console.error(\"No chains configured, please pass a chain or chains to the ThirdwebProvider\");\n return undefined;\n }\n }\n\n // set the chainId on the sdk instance to compare things later\n sdk_._chainId = chainId;\n return sdk_;\n }, [activeChainId, supportedChains, sdkOptions, storageInterface, clientId, secretKey]);\n useEffect(() => {\n // if we have an sdk and a signer update the signer\n if (sdk && sdk._chainId === activeChainId) {\n if (signer) {\n sdk.updateSignerOrProvider(signer);\n } else if (activeChainId) {\n sdk.updateSignerOrProvider(activeChainId);\n }\n }\n // we know what we're doing\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sdk, sdk?._chainId, signer, activeChainId]);\n const ctxValue = useMemo(() => ({\n sdk: sdk && sdk._chainId === activeChainId ? sdk : undefined,\n _inProvider: true\n }), [activeChainId, sdk]);\n return /*#__PURE__*/jsx(ThirdwebSDKContext.Provider, {\n value: ctxValue,\n children: children\n });\n};\n\n/**\n * The `ThirdwebSDKProvider` is used when you want to provide your own wallet connection logic and just use the thirdweb SDK to interact with smart contracts and the blockchain.\n * This means you can use everything in the SDK except for wallet connection-related components and hooks. if you need those please use the `ThirdwebProvider` instead.\n *\n * `ThirdwebSDKProvider` allows you to set a provider & signer to the thirdweb SDK.\n *\n * @example\n * Wrap your app in the ThirdwebSDKProvider to access the SDK’s functionality from anywhere in your app.\n *\n * ```tsx\n * import { ThirdwebSDKProvider } from \"@thirdweb-dev/react\";\n * import { ethers } from \"ethers\";\n *\n * // Example shows how to get the signer from the injected provider ( wallet extension )\n * function Example() {\n * return (\n * \n * \n * \n * )\n * }\n * ```\n *\n * @param props -\n * The props for the ThirdwebSDKProvider component\n *\n * ### clientId (optional)\n * The clientId prop is required to use the thirdweb infrastructure services with the SDK.\n *\n * ### activeChain (optional)\n * The activeChain prop determines which chain you want your app to be operating on.\n *\n * There are 1000+ chains available in the `@thirdweb-dev/chains` package. Import the chain you want and pass it to the `activeChain` prop.\n *\n * You can override the imported object or pass a custom chain object with required properties.\n *\n * You can get a client ID by creating an API key on [thirdweb dashboard](https://thirdweb.com/dashboard/settings/api-keys)\n *\n * ### supportedChains (optional)\n * An array of chains supported by your app.\n * There are 1000+ chains available in the `@thirdweb-dev/chains` package. You can import the chain you want and pass it to the `supportedChains` prop in an array.\n *\n * If not provided, it will default to the default supported chains supported by the thirdweb SDK.\n *\n * ```tsx\n * import { Ethereum, Polygon } from \"@thirdweb-dev/chains\";\n *\n * function Example() {\n * return (\n * \n * \n * \n * )\n * }\n * ```\n *\n * ### signer (optional)\n * A signer is an abstraction of an Ethereum Account, which can be used to sign messages and initiate transactions.\n *\n * Since the ThirdwebSDKProvider is used when you want to provide your own wallet connection logic, you will need to provide a signer prop to inform the SDK of the wallet you want to use to sign transactions.\n *\n * Libraries such as ethers.js, web3.js, wagmi, etc. all provide ways to get a signer.\n *\n * To use this signer with the SDK, pass it to the `signer` prop. If the signer is connected, the SDK will use this wallet to sign transactions for all write operations on the blockchain.\n *\n * ### sdkOptions (optional)\n * The thirdweb SDK Options to pass to the thirdweb SDK which includes Gas settings, gasless transactions, RPC configuration, and more.\n *\n * This Overrides any of the default values for the SDK. If not provided, it uses sensible defaults.\n *\n * ### storageInterface (optional)\n * Override the default [Storage](https://portal.thirdweb.com/infrastructure/storage/overview) interface used by the SDK.\n *\n * It allows you to create an instance of `ThirdwebStorage` with your own customized config, and pass it to the SDK.\n *\n * *This requires the `@thirdweb-dev/storage` package to be installed.*\n *\n * ```tsx\n * import { ThirdwebSDKProvider } from \"@thirdweb-dev/react\";\n * import {\n * ThirdwebStorage,\n * StorageDownloader,\n * IpfsUploader,\n * } from \"@thirdweb-dev/storage\";\n *\n * // Configure a custom ThirdwebStorage instance\n * const gatewayUrls = {\n * \"ipfs://\": [\n * \"https://gateway.ipfscdn.io/ipfs/\",\n * \"https://cloudflare-ipfs.com/ipfs/\",\n * \"https://ipfs.io/ipfs/\",\n * ],\n * };\n * const downloader = new StorageDownloader();\n * const uploader = new IpfsUploader();\n * const storage = new ThirdwebStorage({ uploader, downloader, gatewayUrls });\n *\n * // Provide the custom storage instance to the SDK\n * function MyApp() {\n * return (\n * \n * \n * \n * );\n * }\n * ```\n *\n * ### authConfig (optional)\n * The configuration object for setting up [Auth](https://portal.thirdweb.com/wallets/auth); allowing users to sign in with their wallet.\n *\n * ### secretKey (optional)\n * secretKey for thirdweb services. This is only required if server side rendering is being used.\n *\n * @public\n */\nconst ThirdwebSDKProvider = props => {\n const {\n signer,\n children,\n queryClient,\n supportedChains: _supportedChains,\n activeChain,\n clientId,\n ...restProps\n } = props;\n if (!clientId) {\n checkClientIdOrSecretKey(\"No API key. Please provide a clientId. It is required to access thirdweb's services. You can create a key at https://thirdweb.com/create-api-key\", clientId, undefined);\n }\n const supportedChains = _supportedChains || defaultChains;\n const supportedChainsNonNull = useMemo(() => {\n const isActiveChainObject = typeof activeChain === \"object\" && activeChain !== null;\n if (!isActiveChainObject) {\n return supportedChains;\n }\n const isActiveChainInSupportedChains = supportedChains.find(c => c.chainId === activeChain.chainId);\n\n // if activeChain is not in supportedChains - add it\n if (!isActiveChainInSupportedChains) {\n return [...supportedChains, activeChain];\n }\n\n // if active chain is in supportedChains - replace it with object in activeChain\n return supportedChains.map(c => c.chainId === activeChain.chainId ? activeChain : c);\n }, [supportedChains, activeChain]);\n const [supportedChainsWithKey, activeChainIdOrObjWithKey] = useUpdateChainsWithClientId(supportedChainsNonNull, activeChain || supportedChainsNonNull[0], clientId);\n const mergedChains = useMemo(() => {\n if (!activeChainIdOrObjWithKey || typeof activeChainIdOrObjWithKey === \"string\" || typeof activeChainIdOrObjWithKey === \"number\") {\n return supportedChainsWithKey;\n }\n const _mergedChains = [...supportedChainsWithKey.filter(c => c.chainId !== activeChainIdOrObjWithKey.chainId), activeChainIdOrObjWithKey];\n // return a _mergedChains uniqued by chainId key\n return _mergedChains.filter((chain, index, self) => index === self.findIndex(c => c.chainId === chain.chainId));\n }, [supportedChainsWithKey, activeChainIdOrObjWithKey]);\n return /*#__PURE__*/jsx(ThirdwebConfigProvider, {\n value: {\n chains: mergedChains,\n clientId\n },\n children: /*#__PURE__*/jsx(QueryClientProviderWithDefault, {\n queryClient: queryClient,\n children: /*#__PURE__*/jsx(WrappedThirdwebSDKProvider, {\n signer: signer,\n supportedChains: mergedChains,\n clientId: clientId,\n activeChain: activeChainIdOrObjWithKey,\n ...restProps,\n children: /*#__PURE__*/jsx(ThirdwebConnectedWalletProvider, {\n signer: signer,\n children: children\n })\n })\n })\n });\n};\n\n/**\n * @internal\n */\nconst ThirdwebProviderCore = props => {\n const {\n activeChain,\n createWalletStorage = createAsyncLocalStorage\n } = props;\n const supportedChains = props.supportedChains || defaultChains;\n const supportedChainsNonNull = useMemo(() => {\n const isActiveChainObject = typeof activeChain === \"object\" && activeChain !== null;\n if (!isActiveChainObject) {\n return supportedChains;\n }\n const isActiveChainInSupportedChains = supportedChains.find(c => c.chainId === activeChain.chainId);\n\n // if activeChain is not in supportedChains - add it\n if (!isActiveChainInSupportedChains) {\n return [...supportedChains, activeChain];\n }\n\n // if active chain is in supportedChains - replace it with object in activeChain\n return supportedChains.map(c => c.chainId === activeChain.chainId ? activeChain : c);\n }, [supportedChains, activeChain]);\n const [supportedChainsWithKey, activeChainIdOrObjWithKey] = useUpdateChainsWithClientId(supportedChainsNonNull, props.activeChain || supportedChainsNonNull[0], props.clientId);\n const activeChainWithKey = useMemo(() => {\n if (typeof activeChainIdOrObjWithKey === \"number\") {\n const resolveChain = supportedChainsWithKey.find(chain => chain.chainId === activeChainIdOrObjWithKey);\n if (!resolveChain) {\n throw new Error(`Invalid chainId: ${activeChainIdOrObjWithKey}. It is not one of supportedChains`);\n }\n return resolveChain;\n }\n if (typeof activeChainIdOrObjWithKey === \"string\") {\n const resolvedChain = supportedChainsWithKey.find(chain => chain.slug === activeChainIdOrObjWithKey);\n if (!resolvedChain) {\n throw new Error(`Invalid chain: \"${activeChainIdOrObjWithKey}\". It is not one of supportedChains`);\n }\n return resolvedChain;\n }\n return activeChainIdOrObjWithKey;\n }, [activeChainIdOrObjWithKey, supportedChainsWithKey]);\n const dAppMeta = props.dAppMeta;\n return /*#__PURE__*/jsx(ThirdwebThemeContext.Provider, {\n value: props.theme,\n children: /*#__PURE__*/jsx(ThirdwebWalletProvider, {\n chains: supportedChainsWithKey,\n supportedWallets: props.supportedWallets,\n shouldAutoConnect: props.autoConnect,\n createWalletStorage: createWalletStorage,\n dAppMeta: dAppMeta,\n activeChain: activeChainWithKey,\n autoSwitch: props.autoSwitch,\n autoConnectTimeout: props.autoConnectTimeout,\n clientId: props.clientId,\n activeChainSetExplicitly: !!props.activeChain,\n signerWallet: props.signerWallet,\n children: /*#__PURE__*/jsx(ThirdwebSDKProviderWrapper, {\n queryClient: props.queryClient,\n sdkOptions: props.sdkOptions,\n supportedChains: supportedChainsWithKey,\n activeChain: activeChainWithKey,\n storageInterface: props.storageInterface,\n authConfig: props.authConfig,\n clientId: props.clientId,\n secretKey: props.secretKey,\n children: /*#__PURE__*/jsx(ThirdwebAuthProvider, {\n value: props.authConfig,\n children: props.children\n })\n })\n })\n });\n};\nconst ThirdwebSDKProviderWrapper = _ref => {\n let {\n children,\n ...props\n } = _ref;\n const signer = useWalletContext()?.signer;\n return /*#__PURE__*/jsx(ThirdwebSDKProvider, {\n signer: signer,\n ...props,\n children: children\n });\n};\n\n/**\n * Hook to get the `supportedChains` which returns the array passed to the `supportedChains` prop of the `ThirdwebProvider` or the default supported chains if not specified.\n *\n * If `activeChain` is set in the `ThirdwebProvider` then it is also added to the `supportedChains` array\n *\n */\nfunction useSupportedChains() {\n const context = useContext(ThirdwebConfigContext);\n invariant(context, \"useSupportedChains() hook must be used within a \");\n return context.chains;\n}\n\n/**\n * Hook for getting a wallet's current balance of native or (optional) ERC20 token balance\n *\n * @example\n *\n * ### get the balance of the native token\n *\n * ```jsx\n * import { useBalance } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { data, isLoading } = useBalance();\n * }\n * ```\n *\n * ### get the balance of any other token\n *\n * ```jsx\n * import { useBalance } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { data, isLoading } = useBalance(tokenAddress);\n * }\n * ```\n *\n * @param tokenAddress - The address of the token contract, if not provided, it defaults to the native token\n *\n * @returns\n * The hook's `data` property contains the token's balance in the `value` property as a `BigNumber` object.\n *\n * @token\n */\nfunction useBalance(tokenAddress) {\n const walletAddress = useAddress();\n const {\n wallet,\n address,\n chainId\n } = useThirdwebConnectedWalletContext();\n const cacheKey = useMemo(() => {\n return cacheKeys.wallet.balance(chainId || -1, address, tokenAddress);\n }, [chainId, tokenAddress, address]);\n return useQuery(cacheKey, () => {\n return wallet?.balance(tokenAddress);\n }, {\n // if user is not logged in no reason to try to fetch\n enabled: !!wallet && !!walletAddress && !!chainId,\n retry: true,\n keepPreviousData: false\n });\n}\n\n/**\n * This hook is similar to the `useBalance` hook, but it for fetching the native token balance of any given wallet address.\n *\n * This hook only fetches the native token balance of the given wallet address. If you want to get the ERC20 balance from a given wallet, use `useTokenBalance`\n *\n * @example\n * ```ts\n * const { data, isLoading } = useBalanceForAddress(walletAddress)\n * ```\n *\n * @param walletAddress - The address of the wallet that you want to get the native balance\n *\n * @returns\n * The hook's `data` property contains the native token's balance in the `value` property as a `BigNumber` object.\n *\n * @token\n */\nfunction useBalanceForAddress(walletAddress) {\n invariant(walletAddress, \"wallet address is not provided\");\n const {\n activeChain\n } = useWalletContext();\n const chainId = activeChain.chainId;\n const sdk = useSDK();\n const cacheKey = useMemo(() => {\n return cacheKeys.wallet.balance(chainId, walletAddress);\n }, [chainId, walletAddress]);\n return useQuery(cacheKey, async () => {\n invariant(sdk, \"SDK is not initialized\");\n return await sdk.getBalance(walletAddress);\n });\n}\n\n/**\n * @internal\n */\nfunction useConnectedWallet() {\n const context = useContext(ThirdwebConnectedWalletContext);\n invariant(context, \"useConnectedWallet() hook must be used within a \");\n return context.signer;\n}\n\n/**\n * Get the address of the connected wallet.\n *\n * Returns `undefined` if no wallet is connected.\n *\n * @example\n * ```tsx\n * import { useAddress } from \"@thirdweb-dev/react\"\n *\n * function Example() {\n * const address = useAddress()\n *\n * return
{address}
\n * }\n * ```\n *\n * @walletConnection\n */\nfunction useAddress() {\n const context = useContext(ThirdwebConnectedWalletContext);\n const walletCtx = useContext(ThirdwebWalletContext);\n\n // if ThirdwebWalletContext is present, use the address from there because address from ThirdwebConnectedWalletContext also uses that address but it lags behind\n // walletCtx is undefined if only ThirdwebSDKProvider is used\n if (walletCtx) {\n return walletCtx.address;\n }\n invariant(context, \"useAddress() hook must be used within a \");\n return context.address;\n}\n\n/**\n * Hook for accessing the chain ID of the network the current wallet is connected to\n *\n * ```javascript\n * import { useChainId } from \"@thirdweb-dev/react\"\n * ```\n *\n * @example\n * ```javascript\n * import { useChainId } from \"@thirdweb-dev/react\"\n *\n * const App = () => {\n * const chainId = useChainId()\n *\n * return
{chainId}
\n * }\n * ```\n *\n * @returns\n * A `number` representing the current chain id, or `undefined` if the user is not connected to a wallet.\n *\n * For Example, if the user is connected to the Ethereum Mainnet, the return value will be `1`.\n *\n * @networkConnection\n */\nfunction useChainId() {\n const context = useContext(ThirdwebConnectedWalletContext);\n const walletCtx = useContext(ThirdwebWalletContext);\n\n // if ThirdwebWalletContext is present, use the chainId from there because chainId from ThirdwebConnectedWalletContext also uses that chainId but it lags behind\n // walletCtx is undefined if only ThirdwebSDKProvider is used\n if (walletCtx) {\n return walletCtx.chainId;\n }\n invariant(context, \"useChainId() hook must be used within a or component\");\n return context.chainId;\n}\n\n/**\n * Hook for getting the `Chain` object of the network that the user is connected - but only if\n * it's a supported network (added in the `ThirdwebProvider`'s `supportedChains` or one of default chains\n *\n * Returns `undefined` if the network is not supported or the user is not connected to a wallet. You can use the `useConnectionStatus` hook to check if the user is connected to a wallet or not to differentiate between the two cases.\n *\n * If you only want to get the chain id of the network the user is connected to regardless of whether it's supported or not, use `useChainId` instead.\n *\n * ```jsx\n * import { useChain } from \"@thirdweb-dev/react\";\n *\n * const chain = useChain();\n * ```\n *\n * @example\n *\n * ```jsx\n * import { useChain, useConnectionStatus } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const chain = useChain();\n * const status = useConnectionStatus();\n *\n * if (status === \"unknown\") return
Loading...
;\n * if (status === \"disconnected\") return
disconnected
;\n * if (status === \"connecting\") return
connecting...
;\n *\n * if (chain) {\n * return

Connected to {chain.name}

;\n * }\n *\n * return

Connected to an unsupported network

;\n * }\n * ```\n *\n * @returns\n * An object of type `Chain` from [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package containing various information about the network, or `undefined` if the network is not supported or user is not connected to a wallet.\n *\n * @networkConnection\n */\nfunction useChain() {\n const chainId = useChainId();\n const chains = useSupportedChains();\n const chain = useMemo(() => {\n return chains.find(_chain => _chain.chainId === chainId);\n }, [chainId, chains]);\n const unknownChain = useMemo(() => {\n if (!chain) {\n return defaultChains.find(c => c.chainId === chainId);\n }\n }, [chainId, chain]);\n return chain || unknownChain;\n}\n\n/**\n * @internal\n * @deprecated\n *\n * This hook is renamed to `useChain`\n *\n * use the `useChain` hook instead\n */\nfunction useActiveChain() {\n return useChain();\n}\n\n// this hook is only for backwards compatibility\n\n/**\n *\n *\n * Hook for getting metadata about the network the current wallet is connected to and switching networks\n *\n * It's important to note that some wallet apps do not support programmatic network switching and switchNetwork will be undefined.\n * For those situations, you can typically switch networks in the wallet app this hook will still work.\n *\n * Hook for getting information about the current network and switching to a different network.\n *\n * Returns an array value containing two elements.\n *\n * 1. An object containing the following properties:\n *\n * - `data` object contains information about the wallet's current and supported networks.\n * - `loading` indicates if the switch network request is in progress.\n * - `error` holds the `Error` object if there was an error when attempting to switch network.\n *\n * 2. A function to switch to a different network.\n *\n * @example\n * ```javascript\n * import { useNetwork } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const [{ data, error, loading }, switchNetwork] = useNetwork();\n *\n * return (\n * {\n * if (!switchNetwork) {\n * console.log(\"can not switch network\");\n * return;\n * }\n *\n * const result = await switchNetwork(80001);\n * if (result.data) {\n * console.log(\"Switched to Mumbai testnet successfully\");\n * } else {\n * console.log(\"Error switching to Mumbai testnet\", result.error);\n * }\n * }}\n * >\n * Switch to Mumbai\n * \n * );\n * }\n * ```\n *\n * @returns\n *\n * ```ts\n * const [{ data, error, loading }, switchNetwork] = useNetwork();\n * ```\n * #### data\n *\n * If wallet is connected to a network that is one of `supportedChains` provided in `ThirdwebProvider` or one of the default supported chains, `data` object will contain the following:\n *\n * ```ts\n * {\n * chain: Chain; // The connected network\n * chains: Chain[]; // All supported networks\n * }\n * ```\n *\n * If wallet is connected to a network that is NOT one of `supportedChains` provided in `ThirdwebProvider` or default supported, `data` object will contain the following:\n *\n * ```ts\n * {\n * // chainId of current connected network + unsupported flag\n * chain: { chainId: number, unsupported: true };\n * // All supported networks\n * chains: Chain[];\n * }\n * ```\n *\n * If wallet is not connected, `data` object will contain the following:\n *\n * ```ts\n * {\n * chain: undefined;\n * chains: []; // Empty array\n * }\n * ```\n *\n * #### error\n *\n * `error` contains an `Error` object if there was an error when attempting to switch network using the `switchNetwork` function\n *\n * `undefined` if there is no switch network error\n *\n * ```ts\n * Error | undefined;\n * ```\n *\n * #### loading\n *\n * `loading` is `true` when switching network using the `switchNetwork` function, and `false` otherwise.\n *\n *\n * #### switchNetwork\n *\n * `switchNetwork` is a function to switch to a different network. It takes a `chainId` as an argument and returns a promise that resolves to an object containing `data` and `error` properties.\n *\n * If switching network was successful, `data` will contain the new network information. and `error` will be `undefined`. If switching network failed, `data` will be `undefined` and `error` will contain an `Error` object.\n *\n * `switchNetwork` is `undefined` if not connected to a wallet or if the connected wallet does not allow programmatic switching.\n *\n * ```ts\n * type SwitchNetwork = undefined | (chainId: number) => Promise<\n * | {\n * data: Chain | undefined;\n * error: undefined;\n * }\n * | {\n * data: undefined;\n * error: Error;\n * }>\n * ```\n *\n * @deprecated use `useChain`, `useSwitchChain`, `useChainId` instead\n * @internal\n */\nfunction useNetwork() {\n const chain = useChain();\n const chainId = useChainId();\n const switchChain = useSwitchChain();\n const supportedChains = useSupportedChains();\n const wallet = useWallet();\n const isMetamaskInstalled = assertWindowEthereum(globalThis.window) ? globalThis.window.ethereum.isMetaMask : false;\n const isCoinbaseInstalled = assertWindowEthereum(globalThis.window) ? globalThis.window.ethereum.isCoinbaseWallet : false;\n\n // switch not supported if connected to a mobile wallet\n const switchChainNotSupported = !wallet || wallet.walletId === walletIds.walletConnectV1 || wallet.walletId === walletIds.walletConnect || wallet.walletId === walletIds.metamask && !isMetamaskInstalled || wallet.walletId === walletIds.coinbase && !isCoinbaseInstalled;\n\n // error when switching network\n const [error, setError] = useState(undefined);\n\n // loading: true when switching network\n const [loading, setLoading] = useState(false);\n const switchNetwork = useCallback(async _chainId => {\n // reset error and loading\n setLoading(true);\n setError(undefined);\n try {\n await switchChain(_chainId);\n } catch (e) {\n setError(e);\n setLoading(false);\n return {\n data: undefined,\n error: e\n };\n }\n setLoading(false);\n return {\n data: supportedChains.find(c => c.chainId === _chainId) || defaultChains.find(c => c.chainId === _chainId),\n error: undefined\n };\n }, [switchChain, supportedChains]);\n return [{\n data: {\n chain: chainId === undefined ? undefined : chain || {\n chainId,\n unsupported: true\n },\n chains: wallet ? supportedChains : []\n },\n error: error,\n loading\n }, switchChainNotSupported ? undefined : switchNetwork];\n}\n\n/**\n * Hook for getting the address of the personal wallet connected to the current wallet connection.\n *\n * This is only relevant if the current connected wallet uses a personal wallet - For Example - Smart Wallet and Safe.\n * @walletConnection\n */\nconst usePersonalWalletAddress = () => {\n const [personalWalletAddress, setPersonalWalletAddress] = useState();\n const activeWallet = useWallet();\n useEffect(() => {\n (async () => {\n const possiblePersonalWallet = activeWallet?.getPersonalWallet();\n if (!possiblePersonalWallet) {\n setPersonalWalletAddress(undefined);\n return;\n }\n const address = await (await possiblePersonalWallet?.getSigner())?.getAddress();\n setPersonalWalletAddress(address);\n })();\n }, [activeWallet]);\n return personalWalletAddress;\n};\n\n// we prefix all our query keys with this to avoid possible collisions with user-defined queries that share the same query client\n// marker to make sure the query will not get stored in local storage by a query persister\nconst NEVER_PERSIST_QUERY_POSTFIX = {\n persist: false\n};\nfunction neverPersist(key) {\n return [...key, NEVER_PERSIST_QUERY_POSTFIX];\n}\n\n/**\n * @internal\n */\nfunction shouldNeverPersistQuery(key) {\n return key[key.length - 1] === NEVER_PERSIST_QUERY_POSTFIX;\n}\n\n/**\n * Makes a parameter required to be passed, but still allows it to be null or undefined.\n * @internal\n */\n\nfunction requiredParamInvariant(condition, message) {\n invariant(condition !== null || condition !== undefined, message);\n}\n\n/**\n * @internal\n */\n\n/**\n * A wallet address.\n * @walletConnection\n */\n\n/**\n * A contract address.\n */\n\n/**\n * The parameters to pass to the mint and transfer functions.\n * @token\n */\n\n/**\n * The parameters to pass to the burn function.\n * @token\n */\n\n// NFTS //\n\n/**\n * The possible NFT contract types.\n * @nft\n */\n\n/**\n * The possible Token contract types.\n * @token\n */\n\n/**\n * Possible NFT contract types.\n * @internal\n */\n\n/**\n * The params to pass to `useTransferNFT`.\n * @nft\n */\n\n/**\n * The params to pass to `useTransferBatchNFT`.\n * @nft\n */\n\n/**\n * The params to pass to `useMintNFTSupply`.\n * @nft\n */\n\n/**\n * The params for the `useMintNFT` hook mutation.\n * @nft\n */\n\n/**\n * The return type of the `useMintNFT` hook.\n * @nft\n */\n\n/**\n * The params for the `useBurnNFT` hook mutation.\n *\n * @nft\n */\n\n// DROPS //\n\n/**\n * The possible DROP contract types.\n * @nftDrop\n */\n\n/**\n * The possible revealable contract types.\n * @delayedReveal\n */\n\n/**\n * The params for the {@link useDelayedRevealLazyMint} hook mutation.\n * @delayedReveal\n */\n\n/**\n * The params for the {@link useRevealLazyMint} hook mutation.\n * @delayedReveal\n */\n\n/**\n * The params for the `useClaimNFT` hook mutation.\n * @nftDrop\n */\n\n/**\n * The return type of the `useClaimNFT` hook.\n * @nftDrop\n */\n\n// MARKETPLACE //\n\n/**\n * @marketplace\n */\n\n/**\n * @marketplace\n */\n\n/**\n * @marketplace\n */\n\n/**\n * @marketplace\n */\n\n/**\n * @marketplace\n */\n\n// TOKEN DROP //\n\n/**\n * @token\n */\n\n// Helpers\n\n/**\n * @internal\n */\nfunction getErcs(contract) {\n return {\n erc1155: getErc1155(contract),\n erc721: getErc721(contract),\n erc20: getErc20(contract)\n };\n}\n\n/**\n * @internal\n */\nfunction getErc1155(contract) {\n if (!contract) {\n return undefined;\n }\n try {\n if (\"erc1155\" in contract) {\n return contract.erc1155;\n }\n } catch (error) {\n return undefined;\n }\n return undefined;\n}\n\n/**\n * @internal\n */\nfunction getErc721(contract) {\n if (!contract) {\n return undefined;\n }\n try {\n if (\"erc721\" in contract) {\n return contract.erc721;\n }\n } catch (error) {\n return undefined;\n }\n return undefined;\n}\n\n/**\n * @internal\n */\nfunction getErc20(contract) {\n if (!contract) {\n return undefined;\n }\n try {\n if (\"erc20\" in contract) {\n return contract.erc20;\n }\n } catch (error) {\n return undefined;\n }\n return undefined;\n}\n\n/** @internal */\nfunction useQueryWithNetwork(queryKey, queryFn, options) {\n const activeChainId = useSDKChainId();\n const mergedOptions = {\n ...options,\n enabled: !!(activeChainId && options?.enabled)\n };\n return useQuery(createCacheKeyWithNetwork(queryKey, activeChainId), queryFn, mergedOptions);\n}\n\n/**\n * The options to be passed as the second parameter to the `useClaimIneligibilityReasons` hook.\n * @claimConditions\n */\n\n/**\n * The params for the {@link useSetClaimConditions} hook mutation.\n * @claimConditions\n */\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Hook for getting the active claim condition for a given drop contract.\n *\n * Available for contracts that implement the \"ClaimConditions\" interface;\n * such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * @example\n * ```javascript\n * import { useActiveClaimCondition, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useActiveClaimCondition(contract);\n * }\n * ```\n *\n * @param contract -\n * Instance of contract that implement the \"ClaimConditions\" interface;\n * such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * @param tokenId -\n * When using the hook with ERC1155 contracts such as the [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), pass the `tokenId` as the second parameter; as each token can have unique claim conditions.\n *\n * Pass `undefined`, or leave this field out if you are using ERC721 or ERC20 drop contracts.\n *\n * ```tsx\n * import { useActiveClaimCondition, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n *\n * // \"data\" now includes a \"snapshot\" property that contains the allowlist.\n * const { data, isLoading, error } = useActiveClaimCondition(\n * contract,\n * 0, // Token ID required for ERC1155 contracts here.\n * );\n * }\n * ```\n *\n * @param options - Additional options to pass to the claim condition fetch\n *\n * #### withAllowlist\n *\n * By default, the hook will not include the allowlist or \"snapshot\" in the returned data. To include the allowlist in the returned data, pass `withAllowlist: true` in options object.\n *\n * This will add a snapshot property to the returned data, which contains the allowlist in an array.\n *\n * ```tsx\n * import { useActiveClaimCondition, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n *\n * // \"data\" now includes a \"snapshot\" property that contains the allowlist.\n * const { data, isLoading, error } = useActiveClaimCondition(\n * contract,\n * undefined, // Token ID required for ERC1155 contracts here.\n * {\n * withAllowlist: true,\n * },\n * );\n * }\n * ```\n *\n * @returns A query result object with the currently active claim condition\n *\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n * @claimConditions\n */\nfunction useActiveClaimCondition(contract, tokenId, options) {\n const contractAddress = contract?.getAddress();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.extensions.claimConditions.getActive(contractAddress, tokenId, options), () => {\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim conditions\");\n return erc1155.claimConditions.getActive(tokenId, options);\n }\n if (erc721) {\n return erc721.claimConditions.getActive(options);\n }\n if (erc20) {\n return erc20.claimConditions.getActive(options);\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }, {\n // Checks that happen here:\n // 1. if the contract is based on ERC1155 contract => tokenId cannot be `undefined`\n // 2. if the contract is NOT based on ERC1155 => we have to have either an ERC721 or ERC20 contract\n enabled: erc1155 ? tokenId !== undefined : !!erc721 || !!erc20\n });\n}\n\n/**\n * Hook to get the claimer proofs for an address for [ERC20](https://portal.thirdweb.com/contracts/build/base-contracts/erc-20/drop), [ERC721](https://portal.thirdweb.com/contracts/build/base-contracts/erc-721/drop), and [ERC1155](https://portal.thirdweb.com/contracts/build/base-contracts/erc-1155/drop) drop contracts.\n *\n * A claimer proof is a set of data about a claimer's claim condition, including the claimer's address, the claimer's proof, and the claimer's max claimable amount, price, and currency address.\n *\n * This is available for available for contracts that implement the \"ClaimConditions\" interface; such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * @example\n * ```javascript\n * import { useClaimerProofs, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n *\n * const {\n * data: proof,\n * isLoading,\n * error,\n * } = useClaimerProofs(contract, \"{{claimer_address}}\");\n * }\n * ```\n *\n * @param contract -\n * Instance of a contract that extends the ERC721, ERC1155 or ERC20 spec and implements the \"ClaimConditions\" extension.\n *\n * @param claimerAddress -\n * This is the address of the user you want to get the proof for.\n *\n * Likely, you will want to check proofs of the currently connected wallet address. You can use the `useAddress` hook to get this value.\n *\n * @param tokenId -\n * When using the hook with ERC1155 contracts, pass the `tokenId`; as each token can have unique claim conditions.\n *\n * Pass `undefined`, or leave this field out if you are using ERC721 or ERC20 drop contracts.\n *\n * @param claimConditionId -\n * This is the ID of the claim condition you want to get the proof for.\n *\n * @returns Query result object with the snapshot for the provided address\n *\n * @claimConditions\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n */\nfunction useClaimerProofs(contract, claimerAddress, tokenId, claimConditionId) {\n const contractAddress = contract?.getAddress();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.extensions.claimConditions.getClaimerProofs(contractAddress, tokenId), () => {\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim conditions\");\n return erc1155.claimConditions.getClaimerProofs(tokenId, claimerAddress, claimConditionId);\n }\n if (erc721) {\n return erc721.claimConditions.getClaimerProofs(claimerAddress, claimConditionId);\n }\n if (erc20) {\n return erc20.claimConditions.getClaimerProofs(claimerAddress, claimConditionId);\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }, {\n // Checks that happen here:\n // 1. if the contract is based on ERC1155 contract => tokenId cannot be `undefined`\n // 2. if the contract is NOT based on ERC1155 => we have to have either an ERC721 or ERC20 contract\n enabled: erc1155 ? tokenId !== undefined : !!erc721 || !!erc20\n });\n}\n\n/**\n * Hook for fetching all claim conditions for a given drop contract.\n *\n * This is available for available for contracts that implement the \"ClaimConditions\" interface; such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * @example\n * ```javascript\n * import { useClaimConditions, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useClaimConditions(contract);\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC721, ERC1155 or ERC20 spec and implements the \"ClaimConditions\" extension.\n *\n * @param tokenId -\n * When using the hook with ERC1155 contracts, pass the `tokenId` parameter; as each token can have unique claim conditions.\n *\n * Pass `undefined`, or leave this field out if you are using ERC721 or ERC20 drop contracts.\n *\n * ```tsx\n * import { useClaimConditions, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n *\n * const { data, isLoading, error } = useClaimConditions(\n * contract,\n * 0, // Token ID required for ERC1155 contracts here.\n * );\n * }\n * ```\n *\n * @param options - additional options to pass to the claim condition fetch\n *\n * #### withAllowlist\n *\n * By default, the hook will not include the allowlist in the returned data. To include the allowlist in the returned data, set the `withAllowlist` option to true.\n *\n * This will add a `snapshot` property to the returned data, which contains the allowlist in an array.\n *\n * ```tsx\n * import { useClaimConditions, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n *\n * // \"data\" now includes a \"snapshot\" property that contains the allowlist.\n * const { data, isLoading, error } = useClaimConditions(\n * contract,\n * undefined, // Token ID required for ERC1155 contracts here.\n * {\n * withAllowlist: true,\n * },\n * );\n * }\n * ```\n *\n * @returns Query Result object with the list of claim conditions\n *\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n * @claimConditions\n */\nfunction useClaimConditions(contract, tokenId, options) {\n const contractAddress = contract?.getAddress();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.extensions.claimConditions.getAll(contractAddress, tokenId, options), () => {\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim conditions\");\n return erc1155.claimConditions.getAll(tokenId, options);\n }\n if (erc721) {\n return erc721.claimConditions.getAll(options);\n }\n if (erc20) {\n return erc20.claimConditions.getAll(options);\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }, {\n // Checks that happen here:\n // 1. if the contract is based on ERC1155 contract => tokenId cannot be `undefined`\n // 2. if the contract is NOT based on ERC1155 => we have to have either an ERC721 or ERC20 contract\n enabled: erc1155 ? tokenId !== undefined : !!erc721 || !!erc20\n });\n}\n\n/**\n * Hook for fetching the reasons a wallet is not eligible to claim tokens from a drop, if any.\n *\n * This is available for available for contracts that implement the \"ClaimConditions\" interface; such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * @example\n * ```javascript\n * import { useClaimIneligibilityReasons, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useClaimIneligibilityReasons(contract, {\n * walletAddress: \"0x123...\", // Use useAddress hook to get the user's wallet address\n * quantity: 1, // Quantity to check eligibility for\n * });\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC20, ERC721 or ERC1155 spec and implements the \"ClaimConditions\" extension.\n *\n * @param params -\n * The conditions to check eligibility for. The `walletAddress` and `quantity` properties are required.\n *\n * Use the `useAddress` hook to get the connected wallet address.\n *\n * @param tokenId -\n * When using ERC1155 contracts, provide a third argument to specify the token ID.\n *\n * ```tsx\n * import { useClaimIneligibilityReasons, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useClaimIneligibilityReasons(\n * contract,\n * {\n * walletAddress: \"0x123..\",\n * quantity: 1,\n * },\n * tokenId,\n * );\n * }\n * ```\n *\n * @returns\n * The hook's `data` property, once loaded, contains an array of `ClaimEligibility` strings, which may be empty.\n *\n * For example, if the user is not in the allowlist, this hook will return `[\"This address is not on the allowlist.\"]`.\n *\n * If the user is eligible to claim tokens, the hook will return an empty array.\n *\n * @claimConditions\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n */\nfunction useClaimIneligibilityReasons(contract, params, tokenId) {\n const contractAddress = contract?.getAddress();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.extensions.claimConditions.getClaimIneligibilityReasons(contractAddress, params, tokenId), () => {\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim ineligibility reasons\");\n return erc1155.claimConditions.getClaimIneligibilityReasons(tokenId, params.quantity, params.walletAddress);\n }\n if (erc721) {\n return erc721.claimConditions.getClaimIneligibilityReasons(params.quantity, params.walletAddress);\n }\n if (erc20) {\n return erc20.claimConditions.getClaimIneligibilityReasons(params.quantity, params.walletAddress);\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }, {\n // Checks that happen here:\n // 1. if the contract is based on ERC1155 contract => tokenId cannot be `undefined`\n // 2. if the contract is NOT based on ERC1155 => we have to have either an ERC721 or ERC20 contract\n // 3. has a params object been passed?\n // 4. does params have an address in it?\n enabled: (erc1155 ? tokenId !== undefined : !!erc721 || !!erc20) && !!params && !!params.walletAddress\n });\n}\n\n/**\n * Hook for getting the active claim condition on a drop contract for a specific wallet address.\n *\n * Each wallet address can have unique claim conditions at any given time. This hook allows you to get the active claim condition for a specific wallet address at this time.\n *\n * This is available for available for contracts that implement the \"ClaimConditions\" interface; such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * ---\n *\n * - Returns the claim condition specific to the wallet address if found in the claimer snapshot.\n * - Returns the default claim condition on the contract if the address is not found in the claimer snapshot.\n * - Populates the error field if there is no active claim condition on the contract.\n *\n * @example\n * ```javascript\n * import {\n * useActiveClaimConditionForWallet,\n * useContract,\n * useAddress,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const address = useAddress();\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useActiveClaimConditionForWallet(\n * contract,\n * address,\n * );\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC20, ERC721 or ERC1155 spec and implements the \"ClaimConditions\" extension.\n *\n * @param walletAddress -\n * The wallet address to check the active claim condition for. You can use the `useAddress` hook to get the currently connected wallet's address.\n *\n * @param tokenId -\n * When using the hook with ERC1155 contracts, pass the `tokenId` as the third parameter; as each token can have unique claim conditions.\n *\n * Pass `undefined`, or leave this field out if you are using ERC721 or ERC20 drop contracts.\n *\n * @returns The active claim condition for the wallet address or `null` if there is no active claim condition\n *\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n * @claimConditions\n */\nfunction useActiveClaimConditionForWallet(contract, walletAddress, tokenId) {\n const sdk = useSDK();\n const contractAddress = contract?.getAddress();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.extensions.claimConditions.useActiveClaimConditionForWallet(contractAddress, walletAddress || \"_NO_WALLET_\", tokenId), async () => {\n // if we do not have a walletAddress just do the same logic as basic useClaimCondition\n if (!walletAddress) {\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim conditions\");\n return erc1155.claimConditions.getActive(tokenId);\n }\n if (erc721) {\n return erc721.claimConditions.getActive();\n }\n if (erc20) {\n return erc20.claimConditions.getActive();\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }\n invariant(sdk, \"sdk is required\");\n let activeGeneralClaimCondition = null;\n let claimerProofForWallet = null;\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155\");\n const [cc, cp] = await Promise.all([erc1155.claimConditions.getActive(tokenId), erc1155.claimConditions.getClaimerProofs(tokenId, walletAddress)]);\n activeGeneralClaimCondition = cc;\n claimerProofForWallet = cp;\n }\n if (erc721) {\n const [cc, cp] = await Promise.all([erc721.claimConditions.getActive(), erc721.claimConditions.getClaimerProofs(walletAddress)]);\n activeGeneralClaimCondition = cc;\n claimerProofForWallet = cp;\n }\n if (erc20) {\n const [cc, cp] = await Promise.all([erc20.claimConditions.getActive(), erc20.claimConditions.getClaimerProofs(walletAddress)]);\n activeGeneralClaimCondition = cc;\n claimerProofForWallet = cp;\n }\n // if there is no active claim condition nothing matters, return null\n if (!activeGeneralClaimCondition) {\n return null;\n }\n\n // if there is no claimer proof then just fall back to the active general claim condition\n if (!claimerProofForWallet) {\n return activeGeneralClaimCondition;\n }\n const {\n maxClaimable,\n currencyAddress,\n price\n } = claimerProofForWallet;\n const currencyWithOverride = currencyAddress || activeGeneralClaimCondition.currencyAddress;\n const currencyMetadata = await fetchCurrencyMetadata(sdk.getProvider(), currencyWithOverride);\n const normalizedPrize = price ? price === \"unlimited\" ? constants.MaxUint256 : utils.parseUnits(price, currencyMetadata.decimals) : null;\n const priceWithOverride = normalizedPrize || activeGeneralClaimCondition.price;\n const maxClaimableWithOverride = maxClaimable || activeGeneralClaimCondition.maxClaimablePerWallet;\n const currencyValueWithOverride = await fetchCurrencyValue(sdk.getProvider(), currencyWithOverride, priceWithOverride);\n return {\n // inherit the entire claim condition\n ...activeGeneralClaimCondition,\n // overwrite all keys that could be changed based on overwrites\n maxClaimablePerWallet: maxClaimableWithOverride,\n price: priceWithOverride,\n currency: currencyWithOverride,\n currencyAddress: currencyWithOverride,\n currencyMetadata: currencyValueWithOverride\n };\n }, {\n // Checks that happen here:\n // 1. if the contract is based on ERC1155 contract => tokenId cannot be `undefined`\n // 2. if the contract is NOT based on ERC1155 => we have to have either an ERC721 or ERC20 contract\n enabled: erc1155 ? tokenId !== undefined : !!erc721 || !!erc20\n });\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n\n/**\n * Hook for setting claim conditions on a drop contract.\n *\n * This is available for available for contracts that implement the \"ClaimConditions\" interface; such as [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721), [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155), and [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * When using an ERC1155 contract, you must also provide the token ID of the NFT you want to set claim conditions on as the second parameter to the hook.\n *\n * @example\n * ```tsx\n * import {\n * useSetClaimConditions,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: setClaimConditions,\n * isLoading,\n * error,\n * } = useSetClaimConditions(contract);\n *\n * const claimConditions = {\n * phases: [\n * {\n * metadata: {\n * name: \"Phase 1\", // The name of the phase\n * },\n * currencyAddress: \"0x...\", // The address of the currency you want users to pay in\n * price: 1, // The price of the token in the currency specified above\n * maxClaimablePerWallet: 1, // The maximum number of tokens a wallet can claim\n * maxClaimableSupply: 100, // The total number of tokens that can be claimed in this phase\n * startTime: new Date(), // When the phase starts (i.e. when users can start claiming tokens)\n * waitInSeconds: 60 * 60 * 24 * 7, // The period of time users must wait between repeat claims\n * snapshot: [\n * {\n * address: \"0x...\", // The address of the wallet\n * currencyAddress: \"0x...\", // Override the currency address this wallet pays in\n * maxClaimable: 5, // Override the maximum number of tokens this wallet can claim\n * price: 0.5, // Override the price this wallet pays\n * },\n * ],\n * merkleRootHash: \"0x...\", // The merkle root hash of the snapshot\n * },\n * ],\n * }\n *\n * return (\n * setClaimConditions(claimConditions)}\n * >\n * Set Claim Conditions\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a {@link DropContract}\n * @returns\n *\n * A Mutation object to set claim conditions\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useSetClaimConditions(contract);\n *\n * function setPhases(phases) {\n * mutateAsync({\n * phases,\n * });\n * }\n *\n * function reset() {\n * mutateAsync({\n * reset: true,\n * })\n * }\n * ```\n *\n * ### options\n *\n * The mutation function takes an object with two possible properties:\n *\n * 1. `reset` - A boolean that determines whether to reset the claim conditions. This means you reset any previous claim conditions that existed and allow users to claim again as if the drop had just started.\n * 2. `phases` - An array of claim phases that occur in chronological order. You can only have one phase occur at a time. All properties of a phase are optional, with the default being a free, open, unlimited claim, in the native currency, starting immediately.\n *\n * ---\n *\n * #### reset (optional)\n *\n * A boolean value that determines whether to reset the claim conditions or to keep the existing state.\n *\n * By resetting them, any previous claims that were made will be ignored by the claim condition restrictions.\n *\n * For example, if you had a limit of 1 token per wallet, and a user claimed a token, then you reset the claim conditions, that user will be able to claim another token.\n *\n * Default value is `false`.\n *\n * ---\n *\n * #### phases (required)\n *\n * Provide an array of phases that occur in chronological order. All properties of a phase are optional and are described below:\n *\n * ##### metadata\n *\n * An object representing the metadata of the phase. This is only for display purposes in the dashboard and isn’t used elsewhere.\n *\n * ```js\n * {\n * name: string;\n * }\n * ```\n *\n * ##### currencyAddress\n *\n * The address of the currency you want users to pay in.\n *\n * This can be any ERC20 token value. If you want users to pay in the native currency (e.g. Ether on Ethereum), you can import the `NATIVE_TOKEN_ADDRESS` constant from `@thirdweb-dev/sdk`. The default value is `NATIVE_TOKEN_ADDRESS`.\n *\n * ##### price\n *\n * The price per token in the currency specified above. The default value is `0`.\n *\n * ##### maxClaimablePerWallet\n *\n * The maximum number of tokens a wallet can claim. The default value is `\"unlimited\"`\n *\n * ##### maxClaimableSupply\n *\n * The total number of tokens that can be claimed in this phase.\n *\n * For example, if you lazy mint 1000 tokens and set the `maxClaimableSupply` to 100, then only 100 tokens will be claimable in this phase, leaving 900 tokens to be claimed in the next phases (if you have any).\n *\n * This is useful for \"early bird\" use cases, where you allow users to claim a limited number of tokens at a discounted price during the first X amount of time.\n *\n * ##### startTime\n *\n * When the phase starts (i.e. when users can start claiming tokens).\n *\n * The default value is `\"immediately\"`.\n *\n * ##### waitInSeconds\n *\n * The amount of time between claims a wallet must wait before they can claim again.\n *\n * The default value is `0`, meaning users can claim again immediately after claiming.\n *\n * ##### snapshot\n *\n * A list of wallets that you want to override the default claim conditions for.\n *\n * Wallet addresses within this list can be set to pay in a different currency, have a different price, and have a different maximum claimable amount.\n *\n * ```jsx\n * {\n * address: string;\n * currencyAddress?: string;\n * maxClaimable?: number;\n * price?: number;\n * }\n * ```\n *\n * [Learn more about improving claim conditions](https://blog.thirdweb.com/announcing-improved-claim-conditions/)\n *\n * ##### merkleRootHash\n *\n * If you want to provide your own merkle tree for your snapshot, provide the merkle root hash here. This is only recommended for advanced use cases.\n *\n * @claimConditions\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n */\nfunction useSetClaimConditions(contract, tokenId) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useMutation(async data => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n const {\n phases,\n reset = false\n } = data;\n invariant(phases, 'No \"phases\" provided');\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim conditions\");\n return erc1155.claimConditions.set(tokenId, phases, reset);\n }\n if (erc721) {\n return erc721.claimConditions.set(phases, reset);\n }\n if (erc20) {\n return erc20.claimConditions.set(phases, reset);\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }, {\n onSettled: () => {\n invalidateContractAndBalances(queryClient, contractAddress, activeChainId);\n }\n });\n}\n\n/**\n * Hook for resetting the claim conditions on a drop contract.\n *\n * Available to use on contracts that implement\n * [`ERC721ClaimableWithConditions`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721ClaimConditions),\n * [`ERC1155ClaimableWithConditions`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155ClaimConditions) or\n * [`ERC20ClaimableWithConditions`](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20ClaimConditions).\n *\n * @example\n * ```jsx\n * import {\n * useContract,\n * useResetClaimConditions,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * // Contract must be a drop contract that implements claim conditions\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: resetClaimConditions,\n * isLoading,\n * error,\n * } = useResetClaimConditions(contract);\n *\n * return (\n * resetClaimConditions()}\n * >\n * Reset Claim Conditions\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `DropContract`\n * @param tokenId - For ERC1155 NFTs, provide the token ID of the NFT as the second argument to the hook.\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1 | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n * @nftDrop\n */\nfunction useResetClaimConditions(contract, tokenId) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc1155,\n erc721,\n erc20\n } = getErcs(contract);\n return useMutation(async () => {\n const cleanConditions = async conditions => {\n return conditions.map(c => ({\n ...c,\n price: c.currencyMetadata.displayValue\n }));\n };\n if (erc1155) {\n requiredParamInvariant(tokenId, \"tokenId is required for ERC1155 claim conditions\");\n const claimConditions = await erc1155.claimConditions.getAll(tokenId, {\n withAllowList: true\n });\n return erc1155.claimConditions.set(tokenId, await cleanConditions(claimConditions || []), true);\n }\n if (erc721) {\n const claimConditions = await erc721.claimConditions.getAll({\n withAllowList: true\n });\n return await erc721.claimConditions.set(await cleanConditions(claimConditions || []), true);\n }\n if (erc20) {\n const claimConditions = await erc20.claimConditions.getAll({\n withAllowList: true\n });\n return await erc20.claimConditions.set(await cleanConditions(claimConditions || []), true);\n }\n throw new Error(\"Contract must be ERC721, ERC1155 or ERC20\");\n }, {\n onSettled: () => {\n invalidateContractAndBalances(queryClient, contractAddress, activeChainId);\n }\n });\n}\n\n// primary sales\n\n/**\n * Hook for getting the primary sales recipient of a smart contract.\n *\n * Available to use on contracts that implement the [`PrimarySale`](https://portal.thirdweb.com/contracts/build/extensions/general/PrimarySale) interface.\n *\n * @example\n * ```jsx\n * import { useContract, usePrimarySaleRecipient } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = usePrimarySaleRecipient(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns The hook's `data` property, once loaded, is a `string` with the wallet address of the primary sales recipient.\n *\n * @twfeature PrimarySale\n * @platformFees\n */\nfunction usePrimarySaleRecipient(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.extensions.sales.getRecipient(contractAddress), () => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"sales\" in contract && contract.sales, \"Contract does not support primarySale\");\n return contract.sales.getRecipient();\n }, {\n enabled: !!contract || !!contractAddress\n });\n}\n\n/**\n * Hook for updating the primary sale recipient on a smart contract.\n *\n * Available to use on smart contracts that implement the [`PrimarySale`](https://portal.thirdweb.com/contracts/build/extensions/general/PrimarySale) interface.\n *\n * The wallet that initiates this transaction must have the required permissions to change the primary sale recipient (defaults to `\"admin\"` level).\n *\n * @example\n * ```jsx\n * import {\n * useUpdatePrimarySaleRecipient,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: updatePrimarySaleRecipient,\n * isLoading,\n * error,\n * } = useUpdatePrimarySaleRecipient(contract);\n *\n * return (\n * updatePrimarySaleRecipient(\"{{wallet_address}}\")}\n * >\n * Update Primary Sale Recipient\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n * @returns A mutation object to update the primary sales recipient\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useUpdatePrimarySaleRecipient(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes a `walletAddress` as argument:\n *\n * #### walletAddress\n *\n * The wallet address to set as the primary sale recipient.\n *\n * @twfeature PrimarySale\n * @platformFees\n */\nfunction useUpdatePrimarySaleRecipient(contract) {\n const queryClient = useQueryClient();\n const contractAddress = contract?.getAddress();\n const activeChainId = useSDKChainId();\n return useMutation(newRecipient => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"sales\" in contract && contract.sales, \"Contract does not support primarySale\");\n return contract.sales.setRecipient(newRecipient);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n// end primary sales\n\n// royalties\n\n/**\n * Hook for retrieving royalty settings of a smart contract.\n *\n * Available to use on contracts that implement the [`Royalty`](https://portal.thirdweb.com/contracts/build/extensions/general/Royalty) interface.\n *\n * @example\n * ```jsx\n * import { useContract, useRoyaltySettings } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useRoyaltySettings(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns\n * The hook's `data` property, once loaded, is an object with two properties:\n *\n * ```ts\n * {\n * seller_fee_basis_points: number;\n * fee_recipient: string;\n * }\n * ```\n *\n * - The `seller_fee_basis_points` is the royalty amount (in basis points) that the seller\n * will receive for each token sale on secondary markets.\n * - The `fee_recipient` is the wallet address that will receive the royalty payments.\n *\n * @twfeature Royalty\n * @platformFees\n */\nfunction useRoyaltySettings(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.extensions.royalties.getDefaultRoyaltyInfo(contractAddress), () => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"royalties\" in contract && contract.royalties, \"Contract does not support royalties\");\n return contract.royalties.getDefaultRoyaltyInfo();\n }, {\n enabled: !!contract || !!contractAddress\n });\n}\n\n/**\n * Hook for updating royalty settings on a smart contract.\n *\n * Available to use on smart contracts that implement the [`Royalty`](https://portal.thirdweb.com/contracts/build/extensions/general/Royalty) interface.\n *\n * @example\n * ```jsx\n * import {\n * useUpdateRoyaltySettings,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: updateRoyaltySettings,\n * isLoading,\n * error,\n * } = useUpdateRoyaltySettings(contract);\n *\n * return (\n * \n * updateRoyaltySettings({\n * seller_fee_basis_points: 0,\n * fee_recipient: \"{{wallet_address}}\",\n * })\n * }\n * >\n * Update Royalty Settings\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns\n * A mutation object to update the royalty settings\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useUpdateRoyaltySettings(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an object with below properties:\n *\n * #### seller_fee_basis_points\n *\n * The `seller_fee_basis_points` property is a `number` between `0` - `10000` that defines the fee rate.\n *\n * This number is in percentage points. i.e. `100` is a 1% fee and `10000` is a 100% fee.\n *\n * #### fee_recipient\n *\n * The `fee_recipient` property is the address of the wallet that will receive the fees.\n *\n * @twfeature Royalty\n * @platformFees\n */\nfunction useUpdateRoyaltySettings(contract) {\n const queryClient = useQueryClient();\n const contractAddress = contract?.getAddress();\n const activeChainId = useSDKChainId();\n return useMutation(updatePayload => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"royalties\" in contract && contract.royalties, \"Contract does not support royalties\");\n return contract.royalties.setDefaultRoyaltyInfo(updatePayload);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n// end royalties\n\n// platformFees\n\n/**\n * Hook for getting the platform fee settings of a contract.\n *\n * Available to use on contracts that implement the [`PlatformFee`](https://portal.thirdweb.com/contracts/build/extensions/general/PlatformFee) interface.\n *\n * @example\n *\n * ```jsx\n * import { useContract, usePlatformFees } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = usePlatformFees(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns\n * The hook's `data` property, once loaded, is an object containing two fields:\n *\n * - `platform_fee_basis_points`: the platform fee basis points set on the contract\n * - `platform_fee_recipient`: the wallet address of the platform fee recipient\n *\n * _Note_: The basis points are in percentage format, meaning that a value of `500` is equivalent to a `5%` fee.\n *\n * ```ts\n * {\n * platform_fee_basis_points: number;\n * platform_fee_recipient: string;\n * }\n * ```\n *\n * @twfeature PlatformFee\n * @platformFees\n */\nfunction usePlatformFees(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.extensions.platformFees.get(contractAddress), () => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"platformFees\" in contract && contract.platformFees, \"Contract does not support platformFees\");\n return contract.platformFees.get();\n }, {\n enabled: !!contract || !!contractAddress\n });\n}\n\n/**\n * Hook for updating platform fees on a smart contract.\n *\n * Available to use on smart contracts that implement the [`PlatformFee`](https://portal.thirdweb.com/contracts/build/extensions/general/PlatformFee) interface.\n *\n * ```jsx\n * import {\n * useUpdatePlatformFees,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: updatePlatformFees,\n * isLoading,\n * error,\n * } = useUpdatePlatformFees(contract);\n *\n * return (\n * \n * updatePlatformFees({\n * platform_fee_basis_points: 0,\n * fee_recipient: \"{{wallet_address}}\",\n * })\n * }\n * >\n * Update Platform Fees\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns A mutation object to update the platform fees settings\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useUpdatePlatformFees(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an object with below properties:\n *\n * #### platform_fee_basis_points\n *\n * The `platform_fee_basis_points` property is a `number` between `0` - `10000` that defines the fee rate.\n *\n * This number is in percentage points. i.e. `100` is a 1% fee and `10000` is a 100% fee.\n *\n * #### fee_recipient\n *\n * The `fee_recipient` property is the address of the wallet that will receive the fees.\n *\n * Use the `useAddress` hook to get the current wallet address.\n *\n * @twfeature PlatformFee\n * @platformFees\n */\nfunction useUpdatePlatformFees(contract) {\n const queryClient = useQueryClient();\n const contractAddress = contract?.getAddress();\n const activeChainId = useSDKChainId();\n return useMutation(updatePayload => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"platformFees\" in contract && contract.platformFees, \"Contract does not support platformFees\");\n return contract.platformFees.set(updatePayload);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n// end platformFees\n\n// metadata\n\n/**\n * Hook for getting the metadata associated with a smart contract.\n *\n * Available to use on contracts that implement the [Contract Metadata](https://portal.thirdweb.com/contracts/build/extensions/general/ContractMetadata) interface.\n *\n * @example\n * ```jsx\n * import { useContract, useMetadata } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useMetadata(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n * @returns\n * A `CustomContractMetadata` object containing the metadata\n *\n * The hook's `data` property, once loaded, is an object containing the contract's metadata.\n *\n * ```ts\n * CustomContractMetadata | undefined;\n * ```\n *\n * ```ts\n * interface CustomContractMetadata {\n * // The name of the contract.\n * name: string;\n * // A description of the contract.\n * description?: string;\n * // The image associated with the contract.\n * image?: any;\n * // An external link associated with the contract.\n * external_link?: string;\n * }\n * ```\n *\n * @metadata\n */\nfunction useMetadata(contract\n// TODO figure out UseQueryResult type better\n) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.extensions.metadata.get(contractAddress), () => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"metadata\" in contract && contract.metadata, \"Contract does not support metadata\");\n return contract.metadata.get();\n }, {\n enabled: !!contract || !!contractAddress\n });\n}\n\n/**\n * Hook for updating the metadata of a smart contract.\n *\n * Available to use on smart contracts that implement the `ContractMetadata` interface.\n *\n * The wallet initiating this transaction must have the required permissions to update the metadata, (`admin` permissions required by default).\n *\n * Provide your contract instance from the `useContract` hook as the first argument, and\n * an object fitting the [contract-level metadata standards](https://docs.opensea.io/docs/contract-level-metadata) of\n * the new metadata as the second argument, including:\n *\n * - `name`: A `string` for the name of the smart contract (required).\n * - `description`: A `string` to describe the smart contract (optional).\n * - `image`: A `string` or `File` object containing the URL or file data of an image to associate with the contract (optional).\n * - `external_link`: A `string` containing a URL to view the smart contract on your website (optional).\n *\n * @example\n *\n * ```jsx\n * import {\n * useUpdateMetadata,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: updateMetadata,\n * isLoading,\n * error,\n * } = useUpdateMetadata(contract);\n *\n * return (\n * \n * updateMetadata({\n * name: \"My App\",\n * description: \"My awesome Ethereum App\",\n * image: \"/path/to/image.jpg\", // URL, URI, or File object\n * external_link: \"https://myapp.com\",\n * })\n * }\n * >\n * Update Metadata\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n * @returns Mutation object that to update the metadata\n * @metadata\n */\nfunction useUpdateMetadata(contract\n// TODO figure out UseMutationResult type better\n) {\n const queryClient = useQueryClient();\n const contractAddress = contract?.getAddress();\n const activeChainId = useSDKChainId();\n return useMutation(updatePayload => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(\"metadata\" in contract && contract.metadata, \"Contract does not support metadata\");\n return contract.metadata.update(updatePayload);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n// end metadata\n\n// contract type\nasync function fetchContractType(contractAddress, sdk) {\n if (!contractAddress || !sdk) {\n return null;\n }\n try {\n return await sdk.resolveContractType(contractAddress);\n } catch (err) {\n console.error(\"failed to resolve contract type\", err);\n // this error can happen if the contract is a custom contract -> assume \"custom\"\n return \"custom\";\n }\n}\n\n/**\n * Hook for determining the type of contract for a contract address.\n *\n * This is useful if you want to determine if a contract is a [prebuilt contract](https://portal.thirdweb.com/pre-built-contracts).\n *\n * @example\n * ```jsx\n * import { useContractType } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { data, isLoading, error } = useContractType(contractAddress);\n * }\n * ```\n *\n * @param contractAddress - The address of the contract\n * @returns Query result containing the type of the contract in the `data` property\n * @metadata\n */\nfunction useContractType(contractAddress) {\n const sdk = useSDK();\n return useQueryWithNetwork(cacheKeys.contract.type(contractAddress), () => fetchContractType(contractAddress, sdk),\n // is immutable, so infinite stale time\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n enabled: !!contractAddress && !!sdk\n });\n}\n\n/**\n * @internal\n */\nconst contractType = {\n cacheKey: (contractAddress, chainId) => createCacheKeyWithNetwork(cacheKeys.contract.type(contractAddress), chainId),\n useQuery: useContractType,\n fetchQuery: fetchContractType\n};\n\n// end contract type\n\n// contract compiler metadata\nfunction fetchCompilerMetadata(contractAddress, sdk) {\n if (!contractAddress || !sdk) {\n return null;\n }\n try {\n return sdk.getPublisher().fetchCompilerMetadataFromAddress(contractAddress);\n } catch (err) {\n // if we fail to get contract metadata just return null;\n return null;\n }\n}\n\n/**\n * Hook for retrieving information such as the ABI, license, and metadata of a smart contract using it's contract address.\n *\n * @example\n * ```jsx\n * import { useCompilerMetadata } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { data, isLoading, error } = useCompilerMetadata(contractAddress);\n * }\n *\n * export default App;\n * ```\n *\n * @param contractAddress - The address of the deployed contract\n * @returns Query result containing the compiler metadata of the deployed contract in the `data` property\n *\n * @metadata\n */\nfunction useCompilerMetadata(contractAddress) {\n const sdk = useSDK();\n return useQueryWithNetwork(cacheKeys.contract.compilerMetadata(contractAddress), () => fetchCompilerMetadata(contractAddress, sdk),\n // is immutable, so infinite stale time\n {\n cacheTime: Infinity,\n staleTime: Infinity,\n enabled: !!contractAddress && !!sdk\n });\n}\n\n/**\n * @internal\n */\nconst compilerMetadata = {\n cacheKey: (contractAddress, chainId) => createCacheKeyWithNetwork(cacheKeys.contract.compilerMetadata(contractAddress), chainId),\n useQuery: useCompilerMetadata,\n fetchQuery: fetchCompilerMetadata\n};\n\n// end compiler metadata\n\n// useContract\n\n/**\n * @contract\n */\n\n/**\n * Hook for connecting to a smart contract.\n *\n * Provide your smart contract address as the first parameter. Once connected, the `contract` will be an instance of your smart contract.\n *\n * The ABI of the smart contract is resolved automatically for contracts deployed or imported using the [thirdweb dashboard](https://thirdweb.com/dashboard).\n *\n * @example\n * ```javascript\n * const { contract, isLoading, error } = useContract(contractAddress);\n * ```\n *\n * @remarks\n *\n * To cache the ABI of the smart contract, use [thirdweb generate](https://portal.thirdweb.com/cli/generate). This is recommended to improve performance and provide type-safety when interacting with your smart contract.\n *\n *\n * @param contractAddress - The address of the deployed contract\n * @returns Query result object that includes the contract once it is resolved\n * @contract\n */\n\n/**\n * If your contract is a prebuilt contract, it is strongly recommended you provide the contract's name as the second argument to gain access to improved top-level functions and type inference.\n *\n * Available contract types are:\n * - `\"nft-drop\"`\n * - `\"signature-drop\"`\n * - `\"edition-drop\"`\n * - `\"nft-collection\"`\n * - `\"edition\"`\n * - `\"multiwrap\"`\n * - `\"pack\"`\n * - `\"token-drop\"`\n * - `\"token\"`\n * - `\"marketplace\"`\n * - `\"marketplace-v3\"`\n * - `\"split\"`\n * - `\"vote\"`\n *\n * When a contract type is provided, the contract object will be typed as the contract's class.\n * For example, if you provide the contract type `\"pack\"`, the contract object will be returned typed as an instance of the `Pack` class, unlocking all of the top-level functions specific to the pack.\n *\n * @example\n * ```javascript\n * const { contract, isLoading, error } = useContract(contractAddress, \"pack\");\n * ```\n *\n * @param contractAddress - The address of the deployed contract\n * @param _contractType - The type of the contract\n * @returns Query result object that includes the contract once it is resolved\n * @public\n */\n\n/**\n * Optionally, (if you don’t want to use the dashboard import feature),\n * you can provide your smart contract’s ABI to the second parameter of the useContract hook.\n * This is useful when developing on a local node, where it may be faster to use the ABI than to import the contract using the dashboard.\n *\n * The ABI is only necessary if you have not deployed your contract with, or imported your contract to the [thirdweb dashboard](https://thirdweb.com/dashboard).\n *\n * @example\n * ```javascript\n * const { contract, isLoading, error } = useContract(contractAddress, contractAbi);\n * ```\n *\n * @param contractAddress - The address of the deployed contract\n * @param _abi - The ABI of the contract to use\n * @returns Query result object that includes the contract once it is resolved\n */\n\n// TODO: add JSDoc for this signature\n\nfunction useContract(contractAddress, contractTypeOrABI) {\n const sdk = useSDK();\n const queryClient = useQueryClient();\n const activeChainId = useSDKChainId();\n const wallet = useAddress();\n const walletChainId = useChainId();\n\n // it's there because we put it there.\n const sdkTimestamp = sdk?._constructedAt;\n const contractQuery = useQueryWithNetwork(\n // need to add the wallet and walletChainId into the query key so this gets refreshed when the wallet / chain changes!\n neverPersist([\"contract-instance\", contractAddress, {\n wallet,\n walletChainId,\n sdkTimestamp,\n contractTypeOrABI\n }]), async () => {\n requiredParamInvariant(contractAddress, \"contract address is required\");\n invariant(sdk, \"SDK not initialized\");\n invariant(activeChainId, \"active chain id is required\");\n\n // if we don't have a contractType or ABI then we will have to resolve it regardless\n // we also handle it being \"custom\" just in case...\n if (!contractTypeOrABI || contractTypeOrABI === \"custom\") {\n // First check local ABI cache\n const cachedAbi = getCachedAbiForContract(contractAddress);\n if (cachedAbi) {\n return sdk.getContract(contractAddress, cachedAbi);\n }\n\n // we just resolve here (sdk does this internally anyway)\n const resolvedContractType = await queryClient.fetchQuery(contractType.cacheKey(contractAddress, activeChainId), () => contractType.fetchQuery(contractAddress, sdk), {\n cacheTime: Infinity,\n staleTime: Infinity\n });\n let abi;\n if (resolvedContractType === \"custom\") {\n abi = (await queryClient.fetchQuery(compilerMetadata.cacheKey(contractAddress, activeChainId), () => compilerMetadata.fetchQuery(contractAddress, sdk), {\n cacheTime: Infinity,\n staleTime: Infinity,\n retry: 0\n }))?.abi;\n }\n invariant(resolvedContractType, \"failed to resolve contract type\");\n // just let the sdk handle the rest\n // if we have resolved an ABI for a custom contract, use that otherwise use contract type\n return sdk.getContract(contractAddress, abi || resolvedContractType);\n }\n // every other case can just be handled by the sdk directly\n return sdk.getContract(contractAddress, contractTypeOrABI);\n }, {\n // keep the previous value around while we fetch the new one\n // this is important because otherwise it can lead to flickering (because we need to re-fetch the contract when sdk things change)\n keepPreviousData: true,\n // is immutable, so infinite cache & stale time (for a given key)\n cacheTime: Infinity,\n staleTime: Infinity,\n enabled: !!contractAddress && !!sdk && !!activeChainId,\n // never retry\n retry: 0\n });\n\n // const previousCountract = usePrevious(contractQuery.data);\n\n return {\n ...contractQuery,\n data: contractQuery.data,\n contract: contractQuery.data\n };\n}\n\n/**\n * Get the metadata of given contract\n *\n * @example\n * ```javascript\n * const { data: contractMetadata, isLoading } = useContractMetadata(contract);\n * ```\n *\n * @param contract - The `ValidContractInstance` instance of the contract to get the metadata for\n * @returns A Query result object that includes the contract metadata of the deployed contract\n * @twfeature ContractMetadata\n * @metadata\n */\nfunction useContractMetadata(contract) {\n return useQueryWithNetwork(cacheKeys.contract.metadata(contract?.getAddress()), async () => {\n requiredParamInvariant(contract, \"contract is required\");\n return await contract.metadata.get(); // FIXME types\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Update the metadata of the given contract\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const { contract } = useContract(\"{{contract_address}}\");\n * const {\n * mutate: updateContractMetadata,\n * isLoading,\n * error,\n * } = useContractMetadataUpdate(contract);\n *\n * if (error) {\n * console.error(\"failed to update contract metadata\", error);\n * }\n *\n * return (\n * updateContractMetadata({ name: \"New name\", description: \"New description\" })}\n * >\n * Update contract metadata\n * \n * );\n * };\n * ```\n *\n * @param contract - The `ValidContractInstance` instance of the contract to get the metadata for\n * @returns Mutation object to update the contract metadata\n * @twfeature ContractMetadata\n * @metadata\n */\nfunction useContractMetadataUpdate(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async metadata => {\n requiredParamInvariant(contract, \"contract must be defined\");\n return contract.metadata.update(metadata);\n }, {\n onSettled: () => queryClient.invalidateQueries(createCacheKeyWithNetwork(createContractCacheKey(contractAddress), activeChainId))\n });\n}\n\n/**\n * CONTRACT EVENTS\n */\n\n/**\n * Hook for reading events emitted by a smart contract, including new events as they are emitted (optional).\n *\n * By default, it reads all events emitted by the smart contract.\n *\n * @example\n * ```tsx\n * import { useContractEvents, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useContractEvents(contract);\n * }\n * ```\n *\n * @param contract - The contract instance of the contract to listen to events for\n *\n * @param eventName -\n * The name of the event to query for.\n *\n * For example, if your smart contract emits an event called `MyEvent`, you would pass `\"MyEvent\"` to this parameter.\n *\n * Omit this parameter or provide undefined to query for all events emitted by the smart contract.\n *\n * @param options -\n * An object containing options to filter the events being queried.\n *\n * Available options include\n * - `queryFilter` to refine which events you want to read,\n * - a boolean `subscribe` flag to subscribe to new events as they are emitted.\n *\n * ### Example\n * ```tsx\n * import {\n * useContractEvents,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useContractEvents(\n * contract,\n * \"MyEvent\",\n * {\n * queryFilter: {\n * filters: {\n * tokenId: 123, // e.g. Only events where tokenId = 123\n * },\n * fromBlock: 0, // Events starting from this block\n * toBlock: 100, // Events up to this block\n * order: \"asc\", // Order of events (\"asc\" or \"desc\")\n * },\n * subscribe: true, // Subscribe to new events\n * },\n * );\n * ```\n *\n * @returns The hook's `data` property, once loaded, contains an array of `ContractEvent` objects\n * @contract\n *\n */\nfunction useContractEvents(contract, eventName) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n subscribe: true\n };\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const activeChainId = useSDKChainId();\n const cacheKey = useMemo(() => createCacheKeyWithNetwork(eventName ? cacheKeys.contract.events.getEvents(contractAddress, eventName) : cacheKeys.contract.events.getAllEvents(contractAddress), activeChainId), [activeChainId, contractAddress, eventName]);\n useEffect(() => {\n // if we're not subscribing or query is not enabled yet we can early exit\n if (!options.subscribe || !contract || !contract) {\n return;\n }\n const cleanupListener = contract.events.listenToAllEvents(contractEvent => {\n // if we have a specific event name we are looking for we can early exist if it doesn't match\n if (eventName && eventName !== contractEvent.eventName) {\n return;\n }\n // insert new event to the front of the array (no duplicates, though)\n queryClient.setQueryData(cacheKey, oldData => {\n if (!oldData) {\n return [contractEvent];\n }\n const eventIsNotAlreadyInEventsList = oldData.findIndex(e => e.transaction.transactionHash === contractEvent.transaction.transactionHash && e.transaction.logIndex === contractEvent.transaction.logIndex) === -1;\n if (eventIsNotAlreadyInEventsList) {\n return [contractEvent, ...oldData];\n }\n return oldData;\n });\n });\n // cleanup listener on unmount\n return cleanupListener;\n }, [options.subscribe, cacheKey, contract, queryClient, eventName]);\n return useQuery(cacheKey, () => {\n requiredParamInvariant(contract, \"contract must be defined\");\n if (eventName) {\n return contract.events.getEvents(eventName, options.queryFilter);\n }\n return contract.events.getAllEvents(options.queryFilter);\n }, {\n enabled: !!contract,\n // we do not need to re-fetch if we're subscribing\n refetchOnWindowFocus: !options.subscribe,\n refetchOnMount: true,\n refetchOnReconnect: true\n });\n}\n\n/**\n * Generic hook for reading any data from a smart contract via it’s function/view/variable name.\n *\n * ```javascript\n * const { contract } = useContract(\"{{contract_address}}\");\n * const { data, isLoading, error } = useContractRead(contract, \"functionName\", args);\n * ```\n *\n * @example\n * Provide your smart contract instance from `useContract`, a function name and the arguments to pass to the function (if any).\n *\n * For example, to read the value of a view on your smart contract called `getName` you would do the following:\n *\n * ```tsx\n * import { useContractRead, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useContractRead(contract, \"getName\");\n * }\n * ```\n *\n * @remarks\n * If you have cached the ABI of your smart contract using [thirdweb generate](https://portal.thirdweb.com/cli/generate), the functionName and args parameters are strongly typed according to your smart contract’s ABI.\n *\n * @param contract - The contract instance of the contract to call a function on\n *\n * @param functionName - The name of the function to call in the smart contract. This can be any function, view, variable, etc. that does not require a transaction to occur.\n *\n * @param args - The arguments to pass to the function (if any)\n *\n * @param overrides -\n * `CallOverrides` object to send with your request.\n *\n * To include the sender's address (msg.sender) when calling view functions within your smart contract, include the property `{from: 0X123}` passing the relevant address.\n *\n * ```ts\n * const { data, isLoading, error } = useContractRead(contract, \"getName\", [\"arg1\", \"arg2\"], {\n * blockTag: 123,\n * from: \"0x123\",\n * });\n * ```\n *\n * @returns Query result object that includes the data returned by the function call\n * @contract\n */\nfunction useContractRead(contract, functionName, args, overrides) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.call(contractAddress, functionName, args, overrides), () => {\n requiredParamInvariant(contract, \"contract must be defined\");\n requiredParamInvariant(functionName, \"function name must be provided\");\n return contract.call(functionName, args, overrides);\n }, {\n enabled: !!contract && !!functionName\n });\n}\n\n/**\n * Generic hook for calling any smart contract function that requires a transaction to take place.\n *\n * Provide your smart contract instance returned from the `useContract` hook, along with the name of the function you wish to call on your smart contract as arguments to the hook.\n *\n * Then call the `mutate` or `mutateAsync` function returned by the hook, providing an array of arguments to send to your smart contract function.\n *\n * If you provide too many or too few arguments, the `error` property will be populated with an error message.\n *\n * If your function has no arguments, provide an empty array by calling the function with `{ args: [] }`\n *\n * @example\n * ```javascript\n * import { useContractWrite, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync, isLoading, error } = useContractWrite(\n * contract,\n * \"setName\",\n * );\n *\n * return (\n * mutateAsync({ args: [\"My Name\"] })}\n * >\n * Send Transaction\n * \n * );\n * }\n * ```\n *\n * @remarks\n *\n * If you have cached the ABI of your smart contract using [thirdweb generate](https://portal.thirdweb.com/cli/generate), the functionName and args parameters are strongly typed according to your smart contract’s ABI.\n *\n *\n * @param contract - The contract instance of the contract to call a function on\n * @param functionName - The name of the function to call in the smart contract.\n * @returns A mutation object that includes the write function to call\n * @contract\n */\nfunction useContractWrite(contract, functionName) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async _ref => {\n let {\n args,\n overrides\n } = _ref;\n requiredParamInvariant(contract, \"contract must be defined\");\n requiredParamInvariant(functionName, \"function name must be provided\");\n return contract.call(functionName, args, overrides);\n }, {\n onSettled: () => queryClient.invalidateQueries(createCacheKeyWithNetwork(createContractCacheKey(contractAddress), activeChainId))\n });\n}\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Hook for fetching information about all NFTs that haven't been claimed yet from an NFT Drop contract.\n *\n * Available to use on contracts that extends the ERC721 spec\n *\n * @example\n *\n * ```jsx\n * import { useUnclaimedNFTs, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useUnclaimedNFTs(contract);\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC721 spec (NFT drop, Signature Drop, or any custom contract that extends the ERC721 spec)\n *\n * @param queryParams -\n * query params to pass to the query for the sake of pagination\n * By default, the hook returns the first 100 unclaimed NFTs from the contract.\n *\n * Paginate the results by providing a `queryParams` object as the second argument.\n *\n * ```jsx\n * import { useUnclaimedNFTs, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useUnclaimedNFTs(\n * contract,\n * {\n * count: 10, // Limit the number of results\n * start: 0, // Start from the nth result (useful for pagination)\n * },\n * );\n * }\n * ```\n *\n * @returns\n * The hook's `data` property, once loaded, contains an array of `NFT` objects.\n *\n * @twfeature ERC721LazyMintable\n * @nftDrop\n */\nfunction useUnclaimedNFTs(contract, queryParams) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.nft.drop.getAllUnclaimed(contractAddress, queryParams), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n // TODO make this work for custom contracts (needs ABI change)\n invariant(contract.getAllUnclaimed, \"Contract instance does not support getAllUnclaimed\");\n const data = contract.getAllUnclaimed(queryParams);\n return data;\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Hook for fetching all claimed NFTs from a given NFT Drop contract.\n *\n * Available to use on contracts that implement [`ERC721Claimable`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721Claimable),\n * such as the [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721).\n *\n * @example\n *\n * ```jsx\n * import { useClaimedNFTs, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"nft-drop\");\n * const { data: nfts, isLoading, error } = useClaimedNFTs(contract);\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC721 spec (NFT drop, Signature Drop, or any custom contract that extends the ERC721 spec)\n *\n * @param queryParams -\n * By default, the hook will return the first `100` claimed NFTs\n *\n * You can use the `queryParams` argument to paginate the NFTs that are returned.\n *\n * ```jsx\n * import { useClaimedNFTs, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"nft-drop\");\n * const { data, isLoading, error } = useClaimedNFTs(\n * contract,\n * {\n * // For example, to only return the first 50 claimed NFTs in the collection\n * // in order of token ID\n * count: 50,\n * start: 0,\n * },\n * );\n * }\n * ```\n *\n * @returns Query Result object that includes an array of NFTs that are claimed in the `data` property\n * @twfeature ERC721LazyMintable\n * @nftDrop\n */\nfunction useClaimedNFTs(contract, queryParams) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.nft.drop.getAllClaimed(contractAddress, queryParams), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n // TODO make this work for custom contracts (needs ABI change)\n invariant(contract.getAllClaimed, \"Contract instance does not support getAllClaimed\");\n return contract.getAllClaimed(queryParams);\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Hook for fetching the number of unclaimed NFTs from an NFT/Edition Drop contract.\n *\n * Unclaimed NFTs are tokens that were lazy-minted but have not yet been claimed by a user.\n *\n * Available to use on contracts that implement the [`LazyMint`](https://portal.thirdweb.com/contracts/build/extensions/general/LazyMint) extension;\n * such as the [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721) contract.\n *\n * @example\n *\n * ```jsx\n * import { useUnclaimedNFTSupply, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"nftDrop\");\n * const { data, isLoading, error } = useUnclaimedNFTSupply(contract);\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC721 spec (NFT drop, Signature Drop, or any custom contract that extends the ERC721 spec)\n *\n * @returns\n * The hook's `data` property, once loaded, contains a `BigNumber` representing the number of unclaimed NFTs.\n *\n *\n * @twfeature ERC721LazyMintable\n *\n * @nftDrop\n */\nfunction useUnclaimedNFTSupply(contract) {\n const contractAddress = contract?.getAddress();\n const {\n erc721\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.drop.totalUnclaimedSupply(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc721) {\n invariant(erc721, \"No ERC721 Contract instance provided\");\n return erc721.totalUnclaimedSupply();\n }\n invariant(false, \"Contract is not an instance of ERC721\");\n }, {\n enabled: !!erc721\n });\n}\n\n/**\n * Hook for retrieving the total supply of NFTs claimed from an NFT Drop contract.\n *\n * Available to use on contracts that implement [`ERC721Claimable`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721Claimable).\n *\n * @example\n *\n * ```jsx\n * import { useClaimedNFTSupply, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading } = useClaimedNFTSupply(contract);\n * }\n * ```\n *\n * @param contract - Instance of a contract that extends the ERC721 spec (NFT drop, Signature Drop, or any custom contract that extends the ERC721 spec)\n *\n * @returns\n * The hook's `data` property, once loaded, is a `BigNumber` representing the total supply of NFTs claimed from the NFT drop contract so far.\n *\n * @twfeature ERC721LazyMintable\n * @nftDrop\n */\nfunction useClaimedNFTSupply(contract) {\n const contractAddress = contract?.getAddress();\n const {\n erc721\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.drop.totalClaimedSupply(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc721) {\n return erc721.totalClaimedSupply();\n }\n invariant(false, \"Contract is not an instance of ERC721\");\n }, {\n enabled: !!erc721\n });\n}\n\n/**\n * Hook for fetching batches of lazy-minted NFTs that were set to be revealed at a later date, but have not yet been revealed.\n *\n * Available to use on contracts that implement the [ERC721Revealable](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721Revealable)\n * or [ERC1155Revealable](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155Revealable) interfaces,\n * such as the [NFT Drop](https://thirdweb.com/thirdweb.eth/DropERC721)\n * and [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155) smart contracts.\n *\n * @example\n * ```tsx\n * import { useBatchesToReveal, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data: batches, isLoading, error } = useBatchesToReveal(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `RevealableContract`\n *\n * @returns The hook's `data` property, once loaded, contains an array of batches that need to be revealed.\n *\n * Each batch is an object with the following properties:\n *\n * ```ts\n * {\n * batchId: BigNumber;\n * batchUri: string;\n * placeholderMetadata: NFTMetadata;\n * }\n * ```\n *\n * @twfeature ERC721Revealable | ERC1155Revealable\n * @delayedReveal\n */\nfunction useBatchesToReveal(contract) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.drop.revealer.getBatchesToReveal(contractAddress), () => {\n if (erc721) {\n return erc721.revealer.getBatchesToReveal();\n }\n if (erc1155) {\n return erc1155.revealer.getBatchesToReveal();\n }\n invariant(false, \"Contract instance does not support getBatchesToReveal\");\n }, {\n enabled: !!erc721 || !!erc1155\n });\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n/**\n * Hook for claiming an NFT from a smart contract.\n *\n * Available to use on smart contracts that implement a `Claimable` interface, and follow either the `ERC721`or `ERC1155` standard.\n *\n * @example\n * ```jsx\n * import { useContract, useClaimNFT, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: claimNft, isLoading, error } = useClaimNFT(contract);\n *\n * return (\n * \n * claimNft({\n * to: \"{{wallet_address}}\", // Use useAddress hook to get current wallet address\n * quantity: 1,\n * })\n * }\n * >\n * Claim NFT\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `DropContract`\n *\n * @returns A mutation object to claim a NFT to the wallet specified in the params\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useClaimNFT(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an object as argument with below properties:\n *\n * #### to\n *\n * The wallet address to mint the NFT(s) to.\n *\n * Use the `useAddress` hook to get the currently connected wallet address.\n *\n * #### quantity\n *\n * The number of NFTs you wish to claim.\n *\n * - With ERC721 contracts, this represents the number of unique tokens you wish to claim.\n * - With ERC1155 contracts, this represents the quantity of the specific `tokenId` you wish to claim.\n *\n * #### tokenId\n *\n * For ERC1155 contracts, you must specify a specific `tokenId` to claim.\n *\n * #### options (optional)\n *\n * Customizable `ClaimOptions` object to override the default behaviour of the hook.\n *\n * There are three options available:\n *\n * - `checkERC20Allowance` - Whether to check the ERC20 allowance of the sender, defaults to true.\n * - `currencyAddress` - The currency to pay for each token claimed, defaults to `NATIVE_TOKEN_ADDRESS` for native currency.\n * - `pricePerToken` - The price to pay for each token claimed. Not relevant when using claim conditions.\n *\n * ```jsx\n * import { useContract, useClaimNFT, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutate: claimNft, isLoading, error } = useClaimNFT(contract);\n *\n * return (\n * \n * claimNft({\n * to: \"{{wallet_address}}\",\n * quantity: 1,\n * options: {\n * checkERC20Allowance: true,\n * currencyAddress: \"{{erc20_address}}\",\n * pricePerToken: 0,\n * },\n * })\n * }\n * >\n * Claim NFT\n * \n * );\n * }\n * ```\n *\n * @twfeature ERC721Claimable | ERC1155Claimable | ERC721ClaimPhasesV2 | ERC721ClaimPhasesV1 | ERC721ClaimConditionsV2 | ERC721ClaimConditionsV1 | ERC1155ClaimPhasesV2 | ERC1155ClaimPhasesV1 | ERC1155ClaimConditionsV2 | ERC1155ClaimConditionsV1\n * @nftDrop\n */\nfunction useClaimNFT(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useMutation(async data => {\n requiredParamInvariant(contract, \"contract is undefined\");\n if (erc1155) {\n requiredParamInvariant(data.tokenId, \"tokenId not provided\");\n if (!data.to) {\n return await erc1155.claim(data.tokenId, data.quantity, data.options);\n }\n return await erc1155.claimTo(data.to, data.tokenId, data.quantity, data.options);\n }\n if (erc721) {\n if (!data.to) {\n return await erc721.claim(data.quantity, data.options);\n }\n return await erc721.claimTo(data.to, data.quantity, data.options);\n }\n invariant(false, \"contract is not an Erc721 or Erc1155\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for lazy minting a batch of NFTs on a drop contract.\n *\n * Available to use on smart contracts that implement the \"Drop\" extension, and\n * follow either the `ERC721` or `ERC1155` standard.\n *\n * @example\n *\n * Provide your drop contract (ERC721 or ERC1155) as the argument to the hook, and an array\n * of metadata objects to lazy-mint.\n *\n * ```jsx\n * import { useContract, useLazyMint, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: lazyMint, isLoading, error } = useLazyMint(contract);\n *\n * return (\n * \n * lazyMint({\n * // Metadata of the NFTs to upload\n * metadatas: [\n * {\n * name: \"My NFT\",\n * description: \"An example NFT\",\n * image: \"{{image_url}}\",\n * },\n * ],\n * })\n * }\n * >\n * Lazy Mint NFTs\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract` with the drop extension\n *\n * @param onProgress - Optional callback that will be called with the progress of the upload\n *\n * @returns A mutation object to lazy mint a batch of NFTs\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useLazyMint(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an object as argument with below properties:\n *\n * #### metadatas\n * An array of objects containing the metadata of the NFTs to lazy mint.\n *\n * Your metadata objects must follow the [Metadata standards](https://docs.opensea.io/docs/metadata-standards#metadata-structure).\n *\n * ```jsx\n * import { useContract, useLazyMint, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: lazyMint, isLoading, error } = useLazyMint(contract);\n *\n * return (\n * \n * lazyMint({\n * // Metadata of the NFTs to upload\n * metadatas: [\n * {\n * name: \"My NFT\",\n * description: \"An example NFT\",\n * image: \"{{image_url}}\",\n * },\n * ],\n * })\n * }\n * >\n * Lazy Mint NFTs\n * \n * );\n * }\n * ```\n *\n * @twfeature ERC721LazyMintable | ERC1155LazyMintable\n * @nftDrop\n */\nfunction useLazyMint(contract, onProgress) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useMutation(async data => {\n requiredParamInvariant(contract, \"contract is undefined\");\n let options;\n if (onProgress) {\n options = {\n onProgress\n };\n }\n if (erc721) {\n return erc721.lazyMint(data.metadatas, options);\n }\n if (erc1155) {\n return erc1155.lazyMint(data.metadatas, options);\n }\n invariant(false, \"contract is not an Erc721 or Erc1155\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook to lazy-mint a batch of NFTs with [delayed reveal](https://portal.thirdweb.com/glossary/delayed-reveal);\n * allowing the owner to set placeholder metadata and reveal the metadata of the NFTs at a later time.\n *\n * Available to use on contracts that implement the\n * [ERC721Revealable](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721Revealable)\n * or [ERC1155Revealable](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155Revealable)\n * interfaces.\n *\n * @example\n * ```tsx\n * import {\n * useDelayedRevealLazyMint,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: mintNft,\n * isLoading,\n * error,\n * } = useDelayedRevealLazyMint(contract);\n *\n * const nftData = {\n * placeholder: {\n * name: \"My NFT\",\n * description: \"This is my NFT\",\n * image: \"ipfs://example.com/my-nft.png\", // Accepts any URL or File type\n * },\n * metadatas: [\n * {\n * name: \"My NFT\",\n * description: \"This is my NFT\",\n * image: \"ipfs://example.com/my-nft.png\", // Accepts any URL or File type\n * },\n * ],\n * password: \"{{password}}\", // Password to be used for encryption\n * };\n *\n * return (\n * mintNft(nftData)}\n * >\n * Mint NFTs\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a {@link DropContract}\n * @param onProgress - an optional callback that will be called with the progress of the upload\n * @returns Mutation object to lazy mint a batch of NFTs\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useDelayedRevealLazyMint(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as argument with below properties:\n *\n * #### metadatas\n * An array of metadata objects, representing the metadata of the NFTs to be lazy-minted. Each metadata object must conform to the [standard metadata properties](https://docs.opensea.io/docs/metadata-standards).\n *\n * #### password\n * The password used to encrypt the metadatas.\n *\n * __The password CANNOT be recovered once it is set. If you lose the password, you will not be able to reveal the metadata.__\n *\n * @twfeature ERC721Revealable | ERC1155Revealable\n * @delayedReveal\n */\nfunction useDelayedRevealLazyMint(contract, onProgress) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async data => {\n requiredParamInvariant(contract, \"contract is undefined\");\n let options;\n if (onProgress) {\n options = {\n onProgress\n };\n }\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n if (erc721) {\n return await erc721.revealer.createDelayedRevealBatch(data.placeholder, data.metadatas, data.password, options);\n }\n if (erc1155) {\n return await erc1155.revealer.createDelayedRevealBatch(data.placeholder, data.metadatas, data.password, options);\n }\n invariant(false, \"contract is not an Erc721 or Erc1155\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for revealing a batch of delayed reveal NFTs using [delayed reveal](https://portal.thirdweb.com/glossary/delayed-reveal).\n *\n * Available to use on contracts that implement the\n * [ERC721Revealable](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721Revealable)\n * or [ERC1155Revealable](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155Revealable)\n * interfaces.\n *\n * ```jsx\n * import { useRevealLazyMint } from \"@thirdweb-dev/react\";\n *\n * const { mutateAsync, isLoading, error } = useRevealLazyMint(contract);\n * ```\n *\n * @example\n * ```tsx\n * import {\n * useContract,\n * useRevealLazyMint,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * // Contract must be an ERC-721 or ERC-1155 contract that implements the ERC721Revealable or ERC1155Revealable interface\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: revealLazyMint,\n * isLoading,\n * error,\n * } = useRevealLazyMint(contract);\n *\n * return (\n * \n * revealLazyMint({\n * batchId: \"{{batch_id}}\", // ID of the batch to reveal (use useBatchesToReveal to get the batch IDs)\n * password: \"{{password}}\", // Password to reveal the batch\n * })\n * }\n * >\n * Reveal Lazy Mint\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `RevealableContract`\n * @twfeature ERC721Revealable | ERC1155Revealable\n * @delayedReveal\n */\nfunction useRevealLazyMint(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async data => {\n requiredParamInvariant(contract, \"contract is undefined\");\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n if (erc721) {\n return await erc721.revealer.reveal(data.batchId, data.password);\n }\n if (erc1155) {\n return await erc1155.revealer.reveal(data.batchId, data.password);\n }\n invariant(false, \"contract is not an Erc721 or Erc1155\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Hook for getting a specific listing on a `Marketplace` contract.\n *\n * __This hook is only available for `Marketplace` contracts__\n *\n * If you are using [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3),\n * use `useDirectListing` or `useEnglishAuction` instead.\n *\n * @example\n *\n * ```jsx\n * import { useContract, useListing } from \"@thirdweb-dev/react\";\n *\n * const listingId = 0;\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useListing(contract, listingId);\n * }\n * ```\n *\n *\n * @param contract - Instance of a marketplace contract\n * @param listingId - The listing id to check\n *\n * @returns\n * Query Result object that includes the desired listing.\n *\n * The hook's `data` property, once loaded, is an object containing the desired listing data.\n *\n * The exact shape of the object depends on the type of listing.\n *\n * For auctions, it will be a\n * `AuctionListing` object.\n * For direct listings, it will be a `DirectListing` object.\n *\n * ```jsx\n * AuctionListing | DirectListing | undefined;\n * ```\n *\n * You can use the shared `type` property to determine which type of listing is being returned.\n *\n * ```ts\n * interface AuctionListing {\n * // The id of the listing\n * id: string;\n *\n * // The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: BigNumberish;\n *\n * // The asset being listed.\n * asset: NFTMetadata;\n *\n * // The start time of the listing.\n * startTimeInEpochSeconds: BigNumberish;\n *\n * // Number of seconds until the auction expires.\n * endTimeInEpochSeconds: BigNumberish;\n *\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: BigNumberish;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The reserve price is the minimum price that a bid must be in order to be accepted.\n * reservePrice: BigNumber;\n *\n * // The buyout price of the listing.\n * buyoutPrice: BigNumber;\n *\n * // The `CurrencyValue` of the buyout price listing.\n * // Useful for displaying the price information.\n * buyoutCurrencyValuePerToken: CurrencyValue;\n *\n * // The `CurrencyValue` of the reserve price.\n * // Useful for displaying the price information.\n * reservePriceCurrencyValuePerToken: CurrencyValue;\n *\n * // The address of the seller.\n * sellerAddress: string;\n *\n * // The type of listing.\n * type: ListingType.Auction;\n * }\n *\n * interface DirectListing {\n * // The id of the listing.\n * id: string;\n *\n * // The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: BigNumberish;\n *\n * // The asset being listed.\n * asset: NFTMetadata;\n *\n * // The start time of the listing.\n * startTimeInSeconds: BigNumberish;\n *\n * // Number of seconds until the listing expires.\n * secondsUntilEnd: BigNumberish;\n *\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: BigNumberish;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * buyoutCurrencyValuePerToken: CurrencyValue;\n *\n * // The buyout price of the listing.\n * buyoutPrice: BigNumber;\n *\n * // The address of the seller.\n * sellerAddress: string;\n *\n * // The type of listing.\n * type: ListingType.Direct;\n * }\n * ```\n *\n * @marketplace\n */\nfunction useListing(contract, listingId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.getListing(contractAddress, listingId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n return contract.getListing(listingId);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook to get a specific direct listing from a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * __This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For `Marketplace` contracts, use `useListing` instead.\n *\n * @example\n * ```jsx\n * import { useDirectListing, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: directListing,\n * isLoading,\n * error,\n * } = useDirectListing(contract, listingId);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace v3 contract\n * @param listingId - The ID of the listing to get. If the listing is not found (or is not a direct listing), the `error` property will be set in the return value of the hook.\n *\n * @returns\n * The hook's data property, once loaded, is a `DirectListingV3` object, containing the following properties:\n *\n * ```ts\n * {\n * // The id of the listing.\n * id: string;\n * // The address of the creator of listing.\n * creatorAddress: string;\n * // The address of the asset being listed.\n * assetContractAddress: string;\n * // The ID of the token to list.\n * tokenId: string;\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: string;\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * currencyValuePerToken: CurrencyValue;\n * // The price to pay per unit of NFTs listed.\n * pricePerToken: string;\n * // The asset being listed.\n * asset: NFTMetadata;\n * // The start time of the listing.\n * startTimeInSeconds: number;\n * // The end time of the listing.\n * endTimeInSeconds: number;\n * // Whether the listing is reserved to be bought from a specific set of buyers.\n * isReservedListing: boolean;\n * // Whether the listing is CREATED, COMPLETED, or CANCELLED.\n * status: Status;\n * }\n * ```\n * @twfeature DirectListings\n * @marketplace\n */\nfunction useDirectListing(contract, listingId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.directListings.getListing(contractAddress, listingId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n return contract.directListings.getListing(listingId);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook to get an english auction listing from a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * **Note: This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.**\n *\n * For `Marketplace`\n * contracts, use `useListing` instead.\n *\n * @example\n * ```jsx\n * import { useEnglishAuction, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: englishAuction,\n * isLoading,\n * error,\n * } = useEnglishAuction(contract, listingId);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace v3 contract\n * @param auctionId -\n * the auction id to check. If the listing with this ID cannot be found (or is not an auction), the `error` property will be set.\n *\n * @returns\n * The hook's `data` property, once loaded, will be an `EnglishAuction` object, containing the following properties:\n *\n * ```ts\n * {\n * // The id of the auction\n * id: string;\n * // The address of the creator of auction.\n * creatorAddress: string;\n * // The address of the asset being auctioned.\n * assetContractAddress: string;\n * // The ID of the token to auction.\n * tokenId: string;\n * // The quantity of tokens to include in the auction.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: string;\n * // The address of the currency to accept for the auction.\n * currencyContractAddress: string;\n * // The minimum price that a bid must be in order to be accepted.\n * minimumBidAmount: string;\n * // The `CurrencyValue` of the minimum bid amount.\n * // Useful for displaying the price information.\n * minimumBidCurrencyValue: CurrencyValue;\n * // The buyout price of the auction.\n * buyoutBidAmount: string;\n * // The `CurrencyValue` of the buyout price.\n * // Useful for displaying the price information.\n * buyoutCurrencyValue: CurrencyValue;\n * // This is a buffer e.g. x seconds.\n * // If a new winning bid is made less than x seconds before expirationTimestamp, the\n * // expirationTimestamp is increased by x seconds.\n * timeBufferInSeconds: number;\n * // This is a buffer in basis points e.g. x%.\n * // To be considered as a new winning bid, a bid must be at least x% greater than\n * // the current winning bid.\n * bidBufferBps: number;\n * // The start time of the auction.\n * startTimeInSeconds: number;\n * // The end time of the auction.\n * endTimeInSeconds: number;\n * // The asset being auctioned.\n * asset: NFTMetadata;\n * // Whether the listing is CREATED, COMPLETED, or CANCELLED.\n * status: Status;\n * }\n * ```\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useEnglishAuction(contract, auctionId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.englishAuctions.getAuction(contractAddress, auctionId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(auctionId, \"No auction id provided\");\n return contract.englishAuctions.getAuction(auctionId);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook for getting all listings (including expired ones) from a `Marketplace` contract.\n *\n * __This hook is only available for `Marketplace` contracts__\n *\n * If you are using [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3),\n * use `useDirectListings` or `useEnglishAuctions` instead.\n *\n * @example\n * ```jsx\n * import { useContract, useListings } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useListings(contract);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace contract\n *\n * @param filter - filter to pass to the query for the sake of pagination & filtering\n * ```jsx\n * import { useContract, useListings } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useListings(\n * contract,\n * {\n * count: 100, // number of listings to fetch\n * offeror: \"{{offeror_address}}\", // only show listings with offers from this address\n * seller: \"{{seller_address}}\", // only show listings where this address is the seller\n * start: 0, // start at this listing index (pagination)\n * tokenContract: \"{{token_contract_address}}\", // only show listings from this collection\n * tokenId: \"{{token_id}}\", // only show listings for this token\n * },\n * );\n * }\n * ```\n *\n * @returns Query result object that includes an array of listings\n *\n * The hook's `data` property, once loaded, is an array of listing objects.\n *\n * The exact shape of each object depends on the type of listing.\n *\n * For auctions, it will be a\n * `AuctionListing` object.\n * For direct listings, it will be a `DirectListing` object.\n *\n * ```ts\n * (AuctionListing | DirectListing)[] | undefined;\n * ```\n *\n * You can use the shared `type` property to determine which type of listing is being returned.\n *\n * ```ts\n * interface AuctionListing {\n *\n * // The id of the listing\n * id: string;\n *\n * // The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: BigNumberish;\n *\n * // The asset being listed.\n * asset: NFTMetadata;\n *\n * // The start time of the listing.\n * startTimeInEpochSeconds: BigNumberish;\n *\n * // Number of seconds until the auction expires.\n * endTimeInEpochSeconds: BigNumberish;\n *\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: BigNumberish;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The reserve price is the minimum price that a bid must be in order to be accepted.\n * reservePrice: BigNumber;\n *\n * // The buyout price of the listing.\n * buyoutPrice: BigNumber;\n *\n * // The `CurrencyValue` of the buyout price listing.\n * // Useful for displaying the price information.\n * buyoutCurrencyValuePerToken: CurrencyValue;\n *\n * // The `CurrencyValue` of the reserve price.\n * // Useful for displaying the price information.\n * reservePriceCurrencyValuePerToken: CurrencyValue;\n *\n * // The address of the seller.\n * sellerAddress: string;\n *\n * // type of listing\n * type: ListingType.Auction;\n * }\n *\n * interface DirectListing {\n *\n * // The id of the listing.\n * id: string;\n *\n * // The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: BigNumberish;\n *\n * // The asset being listed.\n * asset: NFTMetadata;\n *\n * // The start time of the listing.\n * startTimeInSeconds: BigNumberish;\n *\n * // Number of seconds until the listing expires.\n * secondsUntilEnd: BigNumberish;\n *\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: BigNumberish;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * buyoutCurrencyValuePerToken: CurrencyValue;\n *\n * // The buyout price of the listing.\n * buyoutPrice: BigNumber;\n *\n * // The address of the seller.\n * sellerAddress: string;\n *\n * // type of listing\n * type: ListingType.Direct;\n * ```\n *\n * @marketplace\n */\nfunction useListings(contract, filter) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.getAllListings(contractAddress, filter), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.getAllListings(filter);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook to get all the direct listings from a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * __This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For `Marketplace` contracts, use `useListings` instead.\n *\n * @example\n * ```jsx\n * import { useDirectListings, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: directListings,\n * isLoading,\n * error,\n * } = useDirectListings(contract);\n * }\n * ```\n *\n *\n * @param contract - Instance of a `MarketplaceV3` contract\n *\n * @param filter -\n * filter to pass to the query for the sake of pagination & filtering\n *\n * ```tsx\n * import { useDirectListings, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: directListings,\n * isLoading,\n * error,\n * } = useDirectListings(\n * contract,\n * {\n * count: 100, // Number of listings to fetch\n * offeror: \"{{offeror_address}}\", // Has offers from this address\n * seller: \"{{seller_address}}\", // Being sold by this address\n * start: 0, // Start from this index (pagination)\n * tokenContract: \"{{token_contract_address}}\", // Only show listings for NFTs from this collection\n * tokenId: \"{{token_id}}\", // Only show listings with this NFT ID\n * },\n * );\n * }\n * ```\n *\n * @returns\n * The hook's data property, once loaded, is a `DirectListingV3` object, containing the following properties:\n *\n * ```ts\n * {\n * // The id of the listing.\n * id: string;\n * // The address of the creator of listing.\n * creatorAddress: string;\n * // The address of the asset being listed.\n * assetContractAddress: string;\n * // The ID of the token to list.\n * tokenId: string;\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: string;\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * currencyValuePerToken: CurrencyValue;\n * // The price to pay per unit of NFTs listed.\n * pricePerToken: string;\n * // The asset being listed.\n * asset: NFTMetadata;\n * // The start time of the listing.\n * startTimeInSeconds: number;\n * // The end time of the listing.\n * endTimeInSeconds: number;\n * // Whether the listing is reserved to be bought from a specific set of buyers.\n * isReservedListing: boolean;\n * // Whether the listing is CREATED, COMPLETED, or CANCELLED.\n * status: Status;\n * }\n * ```\n *\n * @twfeature DirectListings\n * @marketplace\n */\nfunction useDirectListings(contract, filter) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.directListings.getAll(contractAddress, filter), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.directListings.getAll(filter);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook to get a list of valid direct listings from a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * A listing is considered valid if the:\n *\n * - Seller still owns the NFT\n * - Listing has not expired (time is before `endTimeInSeconds`)\n * - Listing has not been canceled\n * - Listing has not been bought out (all `quantity` of the NFTs have not been purchased)\n *\n *\n * **Note: This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.**\n *\n * For `Marketplace` contracts, use `useActiveListings` instead.\n *\n * @example\n * ```jsx\n * import { useValidDirectListings, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: directListings,\n * isLoading,\n * error,\n * } = useValidDirectListings(contract);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace v3 contract\n *\n * @param filter - filter to pass to the query for the sake of pagination & filtering\n * ```jsx\n * import { useValidDirectListings, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: directListings,\n * isLoading,\n * error,\n * } = useValidDirectListings(\n * contract,\n * {\n * count: 100, // Number of listings to fetch\n * offeror: \"{{offeror_address}}\", // Has offers from this address\n * seller: \"{{seller_address}}\", // Being sold by this address\n * start: 0, // Start from this index (pagination)\n * tokenContract: \"{{token_contract_address}}\", // Only show NFTs from this collection\n * tokenId: \"{{token_id}}\", // Only show NFTs with this token ID\n * },\n * );\n * }\n * ```\n *\n * @returns\n * The hook's `data` property, once loaded, is an array of `DirectListingV3` objects, each containing the following properties:\n *\n * ```ts\n * Array<{\n * // The id of the listing.\n * id: string;\n *\n * // The address of the creator of listing.\n * creatorAddress: string;\n *\n * // The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: string;\n *\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: string;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * currencyValuePerToken: CurrencyValue;\n *\n * // The price to pay per unit of NFTs listed.\n * pricePerToken: string;\n *\n * // The asset being listed.\n * asset: NFTMetadata;\n *\n * // The start time of the listing.\n * startTimeInSeconds: number;\n *\n * // The end time of the listing.\n * endTimeInSeconds: number;\n *\n * // Whether the listing is reserved to be bought from a specific set of buyers.\n * isReservedListing: boolean;\n *\n * // Whether the listing is CREATED, COMPLETED, or CANCELLED.\n * status: Status;\n * }>;\n * ```\n *\n * @twfeature DirectListings\n * @marketplace\n */\nfunction useValidDirectListings(contract, filter) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.directListings.getAllValid(contractAddress, filter), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.directListings.getAllValid(filter);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook to get a list of all English auctions from a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * **Note: This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.**\n *\n * For `Marketplace` contracts, use `useListings` instead.\n *\n * @example\n *\n * ```jsx\n * import { useEnglishAuctions, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: englishAuctions,\n * isLoading,\n * error,\n * } = useEnglishAuctions(contract);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace v3 contract\n *\n * @param filter -\n * filter to pass to the query for the sake of pagination & filtering\n *\n * ```ts\n * import { useEnglishAuctions, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: englishAuctions,\n * isLoading,\n * error,\n * } = useEnglishAuctions(\n * contract,\n * {\n * count: 100, // Number of auctions to fetch\n * offeror: \"{{offeror_address}}\", // Has offers from this address\n * seller: \"{{seller_address}}\", // Being sold by this address\n * start: 0, // Start from this index (pagination)\n * tokenContract: \"{{token_contract_address}}\", // Only show NFTs from this collection\n * tokenId: \"{{token_id}}\", // Only show NFTs with this ID\n * },\n * );\n * }\n * ```\n *\n * @returns\n * The hook's data property, once loaded, is an array of EnglishAuction objects, each containing the following properties:\n *\n * ```ts\n * Array<{\n * // The id of the auction\n * id: string;\n *\n * // The address of the creator of auction.\n * creatorAddress: string;\n *\n * // The address of the asset being auctioned.\n * assetContractAddress: string;\n *\n * // The ID of the token to auction.\n * tokenId: string;\n *\n * // The quantity of tokens to include in the auction.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: string;\n *\n * // The address of the currency to accept for the auction.\n * currencyContractAddress: string;\n *\n * // The minimum price that a bid must be in order to be accepted.\n * minimumBidAmount: string;\n *\n * // The `CurrencyValue` of the minimum bid amount.\n * // Useful for displaying the price information.\n * minimumBidCurrencyValue: CurrencyValue;\n *\n * // The buyout price of the auction.\n * buyoutBidAmount: string;\n *\n * // The `CurrencyValue` of the buyout price.\n * // Useful for displaying the price information.\n * buyoutCurrencyValue: CurrencyValue;\n *\n * // This is a buffer e.g. x seconds.\n * // If a new winning bid is made less than x seconds before expirationTimestamp, the\n * // expirationTimestamp is increased by x seconds.\n * timeBufferInSeconds: number;\n *\n * // This is a buffer in basis points e.g. x%.\n * // To be considered as a new winning bid, a bid must be at least x% greater than\n * // the current winning bid.\n * bidBufferBps: number;\n *\n * // The start time of the auction.\n * startTimeInSeconds: number;\n *\n * // The end time of the auction.\n * endTimeInSeconds: number;\n *\n * // The asset being auctioned.\n * asset: NFTMetadata;\n *\n * // Whether the listing is CREATED, COMPLETED, or CANCELLED.\n * status: Status;\n * }>;\n * ```\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useEnglishAuctions(contract, filter) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.englishAuctions.getAll(contractAddress, filter), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.englishAuctions.getAll(filter);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook to get all valid English auctions from a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * A listing is considered valid if the:\n *\n * - Auction has not expired (i.e. current time is before the end time of the auction)\n * - Auction has not been canceled\n * - Auction has not been bought out (all quantity has been sold)\n *\n * __This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For [Marketplace](https://thirdweb.com/thirdweb.eth/Marketplace)\n * contracts, use [useActiveListings](/react/react.useactivelistings) instead.\n *\n * @example\n *\n * ```jsx\n * import { useValidEnglishAuctions, useContract } from \"@thirdweb-dev/react\";\n *\n * // Your smart contract address\n * const contractAddress = \"{{contract_address}}\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: englishAuctions,\n * isLoading,\n * error,\n * } = useValidEnglishAuctions(contract);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace v3 contract\n *\n * @param filter -\n * The `filter` object allows you to filter the auctions returned by the hook.\n *\n * ```jsx\n * import { useEnglishAuctions, useContract } from \"@thirdweb-dev/react\";\n *\n * // Your smart contract address\n * const contractAddress = \"{{contract_address}}\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: englishAuctions,\n * isLoading,\n * error,\n * } = useEnglishAuctions(\n * contract,\n * // highlight-start\n * {\n * count: 100, // Number of auctions to fetch\n * offeror: \"{{offeror_address}}\", // Has offers from this address\n * seller: \"{{seller_address}}\", // Being sold by this address\n * start: 0, // Start from this index (pagination)\n * tokenContract: \"{{token_contract_address}}\", // Only show NFTs from this collection\n * tokenId: \"{{token_id}}\", // Only show NFTs with this ID\n * },\n * // highlight-end\n * );\n * }\n * ```\n *\n * @returns A Query Result object that includes an array of english auctions\n * The hook's `data` property, once loaded, is an\n * array of `EnglishAuction` objects, each containing the following properties:\n *\n * ```ts\n * Array<{\n * // The id of the auction\n * id: string;\n *\n * // The address of the creator of auction.\n * creatorAddress: string;\n *\n * // The address of the asset being auctioned.\n * assetContractAddress: string;\n *\n * // The ID of the token to auction.\n * tokenId: string;\n *\n * // The quantity of tokens to include in the auction.\n * // For ERC721s, this value should always be 1 (and will be forced internally regardless of what is passed here).\n * quantity: string;\n *\n * // The address of the currency to accept for the auction.\n * currencyContractAddress: string;\n *\n * // The minimum price that a bid must be in order to be accepted.\n * minimumBidAmount: string;\n *\n * // The `CurrencyValue` of the minimum bid amount.\n * // Useful for displaying the price information.\n * minimumBidCurrencyValue: CurrencyValue;\n *\n * // The buyout price of the auction.\n * buyoutBidAmount: string;\n *\n * // The `CurrencyValue` of the buyout price.\n * // Useful for displaying the price information.\n * buyoutCurrencyValue: CurrencyValue;\n *\n * // This is a buffer e.g. x seconds.\n * // If a new winning bid is made less than x seconds before expirationTimestamp, the\n * // expirationTimestamp is increased by x seconds.\n * timeBufferInSeconds: number;\n *\n * // This is a buffer in basis points e.g. x%.\n * // To be considered as a new winning bid, a bid must be at least x% greater than\n * // the current winning bid.\n * bidBufferBps: number;\n *\n * // The start time of the auction.\n * startTimeInSeconds: number;\n *\n * // The end time of the auction.\n * endTimeInSeconds: number;\n *\n * // The asset being auctioned.\n * asset: NFTMetadata;\n *\n * // Whether the listing is CREATED, COMPLETED, or CANCELLED.\n * status: Status;\n * }>;\n * ```\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useValidEnglishAuctions(contract, filter) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.englishAuctions.getAllValid(contractAddress, filter), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.englishAuctions.getAllValid(filter);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook for getting the total number of listings on a `Marketplace` contract.\n *\n * __This hook is only available for `Marketplace` contracts__\n *\n * If you are using [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3),\n * use `useDirectListingsCount` or `useEnglishAuctionsCount` instead.\n *\n * @example\n * ```jsx\n * import { useContract, useListingsCount } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data: listingsCount, isLoading, error } = useListingsCount(contract);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace contract\n *\n * @returns\n * The hook's `data` property, once loaded, is a `BigNumber` containing the total number of listings on the contract.\n *\n * @marketplace\n */\nfunction useListingsCount(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.getTotalCount(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.getTotalCount();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Hook to get the total number of direct listings on a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * __This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For `Marketplace` contracts, use `useListingsCount` instead.\n *\n * @example\n * ```jsx\n * import { useDirectListingsCount, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: listingsCount,\n * isLoading,\n * error,\n * } = useDirectListingsCount(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `MarketplaceV3` contract\n *\n * @returns\n * The hook's `data` property, once loaded, is a `BigNumber` containing the number of direct listings on the Marketplace V3 contract.\n *\n * @twfeature DirectListings\n * @marketplace\n */\nfunction useDirectListingsCount(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.directListings.getTotalCount(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.directListings.getTotalCount();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Hook to get the total number of direct listings on a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * __This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For `Marketplace` contracts, use `useListingsCount` instead.\n *\n * @example\n * ```jsx\n * import { useEnglishAuctionsCount, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: englishAuctionsCount,\n * isLoading,\n * error,\n * } = useEnglishAuctionsCount(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `MarketplaceV3` contract\n *\n * @returns\n * The hook's `data` property, once loaded, is a `BigNumber` representing the number of direct listings on the Marketplace V3 contract.\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useEnglishAuctionsCount(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.englishAuctions.getTotalCount(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.englishAuctions.getTotalCount();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Hook for fetching all active listings from a `Marketplace` contract.\n *\n * __Note: This hook is only for Marketplace contracts. For Marketplace V3 contracts, use `useValidDirectListings` or `useValidEnglishAuctions` instead__\n *\n *\n * @example\n * ```javascript\n * import { useActiveListings, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useActiveListings(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n * @param filter -\n * By default, the hook returns all active listings from the marketplace.\n *\n * You can filter the results by providing a filter object as the second argument for the sake of pagination & filtering\n *\n * ```tsx\n * import { useActiveListings, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n *\n * const { data, isLoading, error } = useActiveListings(\n * contract,\n * {\n * seller: \"{{wallet_address}}\", // Filter by seller\n * tokenContract: \"{{contract_address}}\", // Filter by token contract\n * offeror: \"{{wallet_address}}\", // Filter by offeror\n * tokenId: \"{{token_id}}\", // Filter by token ID\n * count: 10, // Limit the number of results\n * start: 0, // Start from the nth result (useful for pagination)\n * },\n * );\n * }\n * ```\n *\n * @returns\n * The hook's `data` property, once loaded, returns an array containing both `AuctionListing` and `DirectListing` objects.\n *\n * Use the `type` property to determine which type of listing each one is.\n *\n * #### AuctionListing\n *\n * ```ts\n * {\n * // The id of the listing\n * id: string;\n *\n * // The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: BigNumberish;\n *\n * // The asset being listed.\n * asset: NFTMetadata;\n *\n * // The start time of the listing.\n * startTimeInEpochSeconds: BigNumberish;\n *\n * // Number of seconds until the auction expires.\n * endTimeInEpochSeconds: BigNumberish;\n *\n * // The quantity of tokens in the listing.\n * // For ERC721s, this value should always be 1\n * quantity: BigNumberish;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The reserve price is the minimum price that a bid must be in order to be accepted.\n * reservePrice: BigNumber;\n *\n * // The buyout price of the listing.\n * buyoutPrice: BigNumber;\n *\n * // The `CurrencyValue` of the buyout price listing.\n * // Useful for displaying the price information.\n * buyoutCurrencyValuePerToken: CurrencyValue;\n *\n * // The `CurrencyValue` of the reserve price.\n * // Useful for displaying the price information.\n * reservePriceCurrencyValuePerToken: CurrencyValue;\n *\n * // The address of the seller.\n * sellerAddress: string;\n *\n * // Listing type Enum\n * type: ListingType.Auction;\n * }\n * ```\n *\n * ### DirectListing\n *\n * ```ts\n * {\n * // The id of the listing.\n * id: string;\n *\n * //The address of the asset being listed.\n * assetContractAddress: string;\n *\n * // The ID of the token to list.\n * tokenId: BigNumberish;\n *\n * //The asset being listed.\n * asset: NFTMetadata;\n *\n * //The start time of the listing.\n * startTimeInSeconds: BigNumberish;\n *\n * //Number of seconds until the listing expires.\n * secondsUntilEnd: BigNumberish;\n *\n * // The quantity of tokens to include in the listing.\n * // For ERC721s, this value should always be 1\n * quantity: BigNumberish;\n *\n * // The address of the currency to accept for the listing.\n * currencyContractAddress: string;\n *\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * buyoutCurrencyValuePerToken: CurrencyValue;\n *\n * // The buyout price of the listing.\n * buyoutPrice: BigNumber;\n *\n * // The address of the seller.\n * sellerAddress: string;\n *\n * // Listing type Enum\n * type: ListingType.Direct;\n * }\n * ```\n *\n * @marketplace\n */\nfunction useActiveListings(contract, filter) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.getActiveListings(contractAddress, filter), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return contract.getActiveListings(filter);\n }, {\n enabled: !!contract,\n keepPreviousData: true\n });\n}\n\n/**\n * Hook for getting the winning bid of an auction listing on a `Marketplace` contract.\n *\n * @example\n *\n * ```jsx\n * import { useContract, useWinningBid } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useWinningBid(contract, listingId);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace contract\n *\n * @param listingId -\n * The ID of the listing to get the winning bid for.\n * If the listing cannot be found, is not an auction listing, or is not active, the `error` property will be set.\n *\n * @returns\n * Query result object that includes the `Offer` that is winning the auction\n * The hook's `data` property, once loaded, is an object of type `Offer`, or `undefined` if no winning bid exists.\n *\n * ```ts\n * {\n * // The id of the listing.\n * listingId: BigNumberish;\n *\n * // The address of the buyer who made the offer.\n * buyerAddress: string;\n *\n * // The quantity of tokens to be bought.\n * quantityDesired: BigNumberish;\n *\n * // The amount of coins offered per token.\n * pricePerToken: BigNumber;\n *\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * currencyValue: CurrencyValue;\n *\n * // The currency contract address of the offer token.\n * currencyContractAddress: string;\n * } | undefined;\n * ```\n *\n * @marketplace\n */\nfunction useWinningBid(contract, listingId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.auction.getWinningBid(contractAddress, listingId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n invariant(contract.auction.getWinningBid, \"contract does not support auction.getWinningBid\");\n return contract.auction.getWinningBid(listingId);\n }, {\n enabled: !!contract && listingId !== undefined\n });\n}\n\n/**\n * Hook to get the winning bid for an English auction listing from a\n * [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * @example\n * ```jsx\n * import { useEnglishAuctionWinningBid, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * data: winningBid,\n * isLoading,\n * error,\n * } = useEnglishAuctionWinningBid(contract, listingId);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace contract\n *\n * @param auctionId - The auction id to check\n * If the listing cannot be found, or is not an English auction, the `error` property will be set.\n *\n * @returns\n * If there are no bids, the `data` property will be `undefined`. Use the `isLoading` property to differentiate between\n * the loading state and the no bids state.\n *\n * If there is a bid, the hook's `data` property, once loaded, will be an object of type `Bid`, containing the following properties:\n *\n * ```ts\n * {\n * // The id of the auction.\n * auctionId: string;\n * // The address of the buyer who made the offer.\n * bidderAddress: string;\n * // The currency contract address of the offer token.\n * currencyContractAddress: string;\n * // The amount of coins offered per token.\n * bidAmount: string;\n * // The `CurrencyValue` of the listing. Useful for displaying the price information.\n * bidAmountCurrencyValue: {\n * symbol: string;\n * value: BigNumber;\n * name: string;\n * decimals: number;\n * displayValue: string;\n * }\n * }\n * ```\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useEnglishAuctionWinningBid(contract, auctionId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.englishAuctions.getWinningBid(contractAddress, auctionId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(auctionId, \"No auction id provided\");\n invariant(contract.englishAuctions.getWinningBid, \"contract does not support englishAuctions.getWinningBid\");\n return contract.englishAuctions.getWinningBid(auctionId);\n }, {\n enabled: !!contract && auctionId !== undefined\n });\n}\n\n/**\n * Hook for getting the winner of an auction (or english auction) on a `Marketplace` or [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * @example\n * ```javascript\n * import { useAuctionWinner, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useAuctionWinner(\n * contract,\n * listingId, // The listing id of the item that you want to get the auction winner for\n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` or `MarketplaceV3` contract\n *\n * @param listingId -\n * The listing ID of the item that you want to get the auction winner for.\n *\n * The listing must be an auction (or english auction) listing, the hook will populate the error property if it is not.\n *\n * @returns\n * The hook's `data` property, once loaded, contains a `string` representing the address of the auction winner, or `undefined` if there is no winner.\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useAuctionWinner(contract, listingId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.auction.getWinner(contractAddress, listingId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n const isV1 = isMarketplaceV1(contract);\n if (isV1) {\n invariant(contract.auction.getWinner, \"contract does not support auction.getWinner\");\n return contract.auction.getWinner(listingId);\n } else if (!isV1) {\n invariant(contract.englishAuctions.getWinner, \"contract does not support englishAuctions.getWinner\");\n return contract.englishAuctions.getWinner(listingId);\n }\n invariant(false, \"Contract is not a valid marketplace contract\");\n }, {\n enabled: !!contract && listingId !== undefined\n });\n}\n\n/**\n * Hook for determining the current bid buffer on a `Marketplace` or [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * The bid buffer is what percentage higher the next bid must be than the current highest bid, or the starting price if there are no bids.\n *\n * @example\n * ```javascript\n * import { useBidBuffer, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const {\n * data: bidBuffer,\n * isLoading,\n * error,\n * } = useBidBuffer(contract, listingId);\n * ```\n *\n * @param contract - Instance of a `Marketplace` or `MarketplaceV3` contract\n *\n * @param listingId -\n * The listing ID of the item that you want to get the bid buffer for.\n * The listing must be an auction (or english auction) listing, the hook will populate the `error` property if it is not.\n *\n * @returns\n * The hook's `data` property, once loaded, returns a `BigNumber` value representing the current bid buffer.\n *\n * The `bidBuffer` value returned is in percentage format.\n * For example, a value of `500` means that the next bid must be 5% higher than the current highest bid.\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useBidBuffer(contract, listingId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.auction.getBidBufferBps(contractAddress, listingId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n const isV1 = isMarketplaceV1(contract);\n if (isV1) {\n invariant(contract.getBidBufferBps, \"contract does not support getBidBufferBps\");\n return contract.getBidBufferBps();\n } else if (!isV1) {\n invariant(contract.englishAuctions.getBidBufferBps, \"contract does not support englishAuctions.getBidBufferBps\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n return BigNumber.from(contract.englishAuctions.getBidBufferBps(listingId));\n }\n invariant(false, \"Contract is not a valid marketplace contract\");\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Hook for getting the minimum value a bid must be to be valid\n * in an auction listing on a `Marketplace` or\n * [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * Takes into account the current highest bid, or the reserve price if there is no bid,\n * and increments it by the bid buffer to calculate the minimum next bid.\n *\n * @example\n * ```jsx\n * import { useContract, useMinimumNextBid } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data, isLoading, error } = useMinimumNextBid(contract, listingId);\n * }\n * ```\n *\n * @param contract - Instance of a marketplace contract\n *\n * @param listingId -\n * The ID of the listing to get the minimum next bid for.\n *\n * If the listing cannot be found, is not an auction listing, or is not active, the `error` property will be set.\n *\n * @returns Query result object that includes the minimum next bid for the auction listing\n * @twfeature EnglishAuction\n * @marketplace\n */\nfunction useMinimumNextBid(contract, listingId) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.marketplace.auction.getMinimumNextBid(contractAddress, listingId), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n const isV1 = isMarketplaceV1(contract);\n if (isV1) {\n invariant(contract.auction.getMinimumNextBid, \"contract does not support auction.getMinimumNextBid\");\n return contract.auction.getMinimumNextBid(listingId);\n } else if (!isV1) {\n invariant(contract.englishAuctions.getMinimumNextBid, \"contract does not support englishAuctions.getMinimumNextBid\");\n return contract.englishAuctions.getMinimumNextBid(listingId);\n }\n invariant(false, \"Contract is not a valid marketplace contract\");\n }, {\n enabled: !!contract && listingId !== undefined\n });\n}\n\n/**\n * Hook for getting all of the offers made on a\n * direct listing on a `Marketplace` contract.\n *\n * @example\n * ```jsx\n * import { useOffers, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { data: offers, isLoading, error } = useOffers(contract, listingId);\n * }\n * ```\n *\n * @param contract - Instance of a Marketplace contract\n *\n * @param listingId - The id of the listing to fetch offers for\n * If the listing cannot be found, is not a direct listing, or is not active, the `error` property will be set.\n *\n * @returns\n * This hook uses the `useEvents` hook under the hood to fetch `NewOffer` events for the given listing ID.\n *\n * The return value is an array of `NewOffer` event objects. Each event object has the following properties:\n *\n * ```ts\n * {\n * offeror: string;\n * offerId: BigNumber;\n * assetContract: string;\n * offer: {\n * offerId: BigNumber;\n * offeror: string;\n * assetContract: string;\n * tokenId: BigNumber;\n * quantity: BigNumber;\n * currency: string;\n * totalPrice: BigNumber;\n * expirationTimestamp: BigNumber;\n * tokenType: \"ERC721\" | \"ERC1155\";\n * status: \"UNSET\" | \"CREATED\" | \"COMPLETED\" | \"CANCELLED\";\n * }\n * }\n * ```\n *\n * @marketplace\n */\nfunction useOffers(contract, listingId) {\n const result = useContractEvents(contract, \"NewOffer\");\n return {\n ...result,\n data: result.data?.filter(ev => ev.data.listingId.eq(listingId))?.map(ev => ev.data)\n };\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n\n/**\n * Hook for creating a new direct listing on a `Marketplace`\n * or [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) smart contract.\n *\n * Direct listings require the user to approve the marketplace to transfer the NFTs on their behalf as part of the listing creation process.\n * This is because the marketplace needs permission to execute sales and transfer the NFTs to the buyer when a sale is made.\n *\n * @example\n * ```jsx\n * import {\n * useCreateDirectListing,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * mutateAsync: createDirectListing,\n * isLoading,\n * error,\n * } = useCreateDirectListing(contract);\n *\n * return (\n * \n * createDirectListing({\n * assetContractAddress: \"{{asset_contract_address}}\",\n * tokenId: \"{{token_id}}\",\n * pricePerToken: \"{{price_per_token}}\",\n * currencyContractAddress: \"{{currency_contract_address}}\",\n * isReservedListing: false,\n * quantity: \"{{quantity}}\",\n * startTimestamp: new Date(),\n * endTimestamp: new Date(\n * new Date().getTime() + 7 * 24 * 60 * 60 * 1000,\n * ),\n * })\n * }\n * >\n * Create Direct Listing\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a Marketplace contract\n *\n * @returns Mutation object to create a new direct listing\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useCreateDirectListing(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### assetContractAddress (required)\n * The address of the NFT smart contract that you want to list.\n *\n * #### tokenId (required)\n * The token ID of the NFT that you want to list.\n *\n * #### pricePerToken (required)\n * The price to **buy** each token in the listing.\n *\n * - For ERC721 NFTs, this is the price to buy the NFT outright.\n * - For ERC1155 NFTs, this is the price to `1` quantity of the NFT.\n *\n * #### currencyContractAddress (optional)\n * The address of the currency you want users to pay with and make bids in.\n *\n * You likely want to use the token native to the chain you are on, e.g. Ether on Ethereum.\n *\n * To do that, you can import the `NATIVE_TOKEN_ADDRESS` constant from `@thirdweb-dev/sdk`.\n *\n * The default value is `NATIVE_TOKEN_ADDRESS`.\n *\n * #### isReservedListing (optional)\n * When set to true, the seller must explicitly approve which wallet addresses can buy the NFT.\n *\n * #### quantity (optional)\n * How many tokens to include in the listing.\n *\n * - For ERC721 NFTs, this is always `1`.\n * - For ERC1155 NFTs, this is the quantity of tokens to include in the listing.\n *\n * #### startTimestamp (optional)\n * A `Date` object for the start time of the listing.\n *\n * The default value is `new Date()`, which is the current time.\n *\n * #### endTimestamp (optional)\n * A `Date` object for the end time of the listing (when the listing will expire).\n *\n * @twfeature DirectListings\n * @marketplace\n */\nfunction useCreateDirectListing(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"No wallet connected, cannot create listing\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n const isV1 = isMarketplaceV1(contract);\n if (isV1) {\n invariant(contract.direct.createListing, \"contract does not support direct.createListing\");\n return await contract.direct.createListing(data);\n } else if (!isV1) {\n invariant(contract.directListings.createListing, \"contract does not support directListings.createListing\");\n return await contract.directListings.createListing(data);\n }\n invariant(false, \"Contract is not a valid marketplace contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Create multiple direct listings in one batch\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const { contract } = useContract(\"{{contract_address}}\");\n * const {\n * mutate: createDirectListingBatch,\n * isLoading,\n * error,\n * } = useCreateDirectListingBatch(contract);\n *\n * if (error) {\n * console.error(\"failed to create direct listing batch\", error);\n * }\n * \n * // Sample data\n * const directListingData = [\n * {\n * assetContractAddress: \"nft-contract-address\",\n * tokenId: \"token-id-1\",\n * quantity: \"quantity-1\",\n * currencyContractAddress: \"currency-address\",\n * pricePerToken: 1\n * },\n * {\n * assetContractAddress: \"nft-contract-address\",\n * tokenId: \"token-id-2\",\n * quantity: 1,\n * currencyContractAddress: \"currency-address\",\n * pricePerToken: 0\n * },\n * ];\n * return (\n * createDirectListingBatch(directListingData)}\n * >\n * Create batch Direct Listing!\n * \n * );\n * };\n * ```\n *\n * @param contract - an instance of a Marketplace contract\n * @returns a mutation object that can be used to create a new batch of direct listings\n * @twfeature DirectListings\n */\nfunction useCreateDirectListingBatch(contract) {\n const contractAddress = contract?.getAddress();\n const activeChainId = useSDKChainId();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(walletAddress, \"No wallet connected, cannot create listing\");\n invariant(contract.directListings.createListingsBatch, \"contract does not support directListings.createListingsBatch\");\n return await contract.directListings.createListingsBatch(data);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for creating an auction listing on a `Marketplace` or\n * [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) smart contract.\n *\n * Auction listings hold the NFTs in escrow; requiring the seller to transfer the NFTs to the marketplace contract\n * as part of the listing creation process.\n *\n * Provide your `Marketplace`\n * or\n * [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3)\n * contract as the argument to the hook.\n *\n * Then, provide the information about the listing you want to create as the argument to the mutation.\n *\n * @example\n * ```jsx\n * import {\n * useCreateAuctionListing,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n * import { NATIVE_TOKEN_ADDRESS } from \"@thirdweb-dev/sdk\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * mutateAsync: createAuctionListing,\n * isLoading,\n * error,\n * } = useCreateAuctionListing(contract);\n *\n * return (\n * \n * createAuctionListing({\n * tokenId: \"{{token_id}}\", // The ID of the token to list.\n * assetContractAddress: \"{{asset_contract_address}}\", // The contract address of the asset being listed.\n * currencyContractAddress: NATIVE_TOKEN_ADDRESS, // The address of the currency to accept for the listing.\n * quantity: \"{{quantity}}\",\n * startTimestamp: new Date(),\n * buyoutBidAmount: \"{{buyout_bid_amount}}\",\n * minimumBidAmount: \"{{minimum_bid_amount}}\",\n * endTimestamp: new Date(),\n * bidBufferBps: \"{{bid_buffer_bps}}\",\n * timeBufferInSeconds: \"{{time_buffer_in_seconds}}\",\n * })\n * }\n * >\n * Create Auction Listing\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n *\n * @returns\n * A mutation object to create a new auction listing.\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useCreateAuctionListing(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an object of type `NewAuctionListing` or `EnglishAuctionInputParams` as its argument which contains the following properties:\n *\n * #### tokenId (required)\n * The token ID of the NFT you are listing for auction.\n *\n * #### assetContractAddress (required)\n * The smart contract address of the NFT you are listing for auction.\n *\n * #### buyoutBidAmount (required)\n * The price to **buy** each token in the listing.\n *\n * - For ERC721 NFTs, this is the price to buy the NFT outright.\n * - For ERC1155 NFTs, this is the price to `1` quantity of the NFT.\n *\n * #### currencyContractAddress (optional)\n * The address of the currency you want users to pay with and make bids in.\n *\n * You likely want to use the token native to the chain you are on, e.g. Ether on Ethereum.\n *\n * To do that, you can import the `NATIVE_TOKEN_ADDRESS` constant from `@thirdweb-dev/sdk`.\n *\n * The default value is `NATIVE_TOKEN_ADDRESS`.\n *\n *\n * #### quantity (optional)\n * How many tokens to include in the listing.\n *\n * - For ERC721 NFTs, this is always `1`.\n * - For ERC1155 NFTs, this is the quantity of tokens to include in the listing.\n *\n * The default value is `1`.\n *\n * #### minimumBidAmount (required)\n * The minimum price that a bid must be in order to be placed on the listing, per token.\n *\n * Bids that are lower than the reserve price will be rejected by the contract.\n *\n * The default value is `0`.\n *\n *\n * #### startTimestamp (optional)\n * A `Date` object for the start time of the listing.\n *\n * The default value is `new Date()`, which is the current time.\n *\n *\n * #### endTimestamp (optional)\n * A `Date` object for the end time of the listing (when the listing will expire).\n *\n * #### bidBufferBps (optional)\n * Bid buffer in basis points (1/100th of a percent).\n *\n * The bid buffer is what percentage higher the next bid must be than the current highest bid.\n *\n * For example, if you set a bid buffer of `100`, then the next bid must be at least `1%` higher than the current highest bid.\n *\n * #### timeBufferInSeconds (optional)\n * Time buffer in seconds.\n *\n * The time buffer is how much time is added to the listing when a new bid is placed.\n *\n * This is to prevent users from placing a bid at the last second and winning the auction.\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useCreateAuctionListing(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot create listing\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n const isV1 = isMarketplaceV1(contract);\n if (isV1) {\n invariant(contract.auction.createListing, \"contract does not support auction.createListing\");\n return await contract.auction.createListing(data);\n } else if (!isV1) {\n invariant(contract.englishAuctions.createAuction, \"contract does not support englishAuctions.createAuction\");\n return await contract.englishAuctions.createAuction(data);\n }\n invariant(false, \"Contract is not a valid marketplace contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for canceling an existing auction or listing on a `Marketplace` contract.\n *\n * __Auction listings cannot be canceled if a bid has been placed__\n *\n * __This hook is only for `Marketplace` contracts.__\n *\n * For [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3)\n * contracts, use `useCancelDirectListing` or `useCancelEnglishAuction` instead.\n *\n * @example\n * ```jsx\n * import { useCancelListing, useContract, Web3Button } from \"@thirdweb-dev/react\";\n * import { ListingType } from \"@thirdweb-dev/sdk\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const {\n * mutateAsync: cancelListing,\n * isLoading,\n * error,\n * } = useCancelListing(contract);\n *\n * return (\n * \n * cancelListing({\n * id: \"{{listing_id}}\",\n * type: ListingType.Direct, // Direct (0) or Auction (1)\n * })\n * }\n * >\n * Cancel Listing\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a Marketplace contract\n * @returns\n * Mutation object to cancel a listing.\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useCancelListing(contract);\n * ```\n *\n * The `error` property is set if the listing is not active, or was not created by the wallet.\n *\n * ### options\n *\n * The mutation function takes an object with the following properties as an argument:\n *\n * #### listingId\n * The ID of the listing you want to cancel.\n *\n * #### listingType\n * The type of listing you are canceling. Either `ListingType.Direct` (0) or `ListingType.Auction` (1).\n *\n * @marketplace\n */\nfunction useCancelListing(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot create listing\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (data.type === ListingType.Auction) {\n invariant(contract.auction.cancelListing, \"contract does not support auction.cancelListing\");\n return await contract.auction.cancelListing(data.id);\n } else {\n invariant(contract.direct.cancelListing, \"contract does not support direct.cancelListing\");\n return await contract.direct.cancelListing(data.id);\n }\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for canceling a direct listing on a [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * Direct listings can be canceled at any time, (unless the listing has already been sold).\n * Only the creator of the listing can cancel it.\n *\n * __Note: This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For `Marketplace` contracts, use `useCancelListing` instead.\n *\n * @example\n * ```jsx\n * import {\n * useCancelDirectListing,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n * import { ListingType } from \"@thirdweb-dev/sdk\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * mutateAsync: cancelDirectListing,\n * isLoading,\n * error,\n * } = useCancelDirectListing(contract);\n *\n * return (\n * cancelDirectListing(listingId)}\n * >\n * Cancel Direct Listing\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `MarketplaceV3` contract\n * @returns Mutation object to cancel a direct listing by passing the ID of the listing you want to cancel.\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useCancelDirectListing(contract);\n * ```\n *\n * The mutation function takes the `listingId` as an argument.\n *\n * The `error` property is set if the listing is not active, or was not created by the wallet\n *\n * ### listingId\n *\n * The ID of the listing you want to cancel.\n *\n * @twfeature DirectListings\n * @marketplace\n */\nfunction useCancelDirectListing(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async listingId => {\n invariant(walletAddress, \"no wallet connected, cannot create listing\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(listingId, \"No listing id provided\");\n invariant(contract.directListings.cancelListing, \"contract does not support directListings.cancelListing\");\n return await contract.directListings.cancelListing(listingId);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for canceling an english auction on a [MarketplaceV3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contract.\n *\n * __English auctions cannot be canceled if a bid has been placed__\n *\n * __This hook is only for [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) contracts.__\n *\n * For `Marketplace` contracts, use `useCancelListing` instead.\n *\n * @example\n * ```jsx\n * import {\n * useCancelEnglishAuction,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * mutateAsync: cancelEnglishAuction,\n * isLoading,\n * error,\n * } = useCancelEnglishAuction(contract);\n *\n * return (\n * cancelEnglishAuction(listingId)}\n * >\n * Cancel English Auction\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `MarketplaceV3` contract\n *\n * @returns\n * Mutation object to cancel an english auction\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useCancelEnglishAuction(contract);\n * ```\n *\n * The mutation function takes the `listingId` as an argument.\n *\n * The `error` property is set if the listing is not active, cannot be canceled, or was not created by the wallet.\n *\n * ### listingId\n *\n * The ID of the listing you want to cancel.\n *\n * @twfeature EnglishAuctions\n * @marketplace\n */\nfunction useCancelEnglishAuction(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async auctionId => {\n invariant(walletAddress, \"no wallet connected, cannot create listing\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n requiredParamInvariant(auctionId, \"No auction id provided\");\n invariant(contract.englishAuctions.cancelAuction, \"contract does not support englishAuctions.cancelAuction\");\n return await contract.englishAuctions.cancelAuction(auctionId);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for placing a bid on a `Marketplace` auction listing.\n *\n * Bids have several important properties:\n *\n * - Cannot be canceled once placed.\n * - Are automatically refunded if they are outbid.\n * - Must be higher than the current highest bid by the percentage defined in the bid buffer.\n * - Must be higher than the reserve price (if there is no bid yet).\n *\n * @example\n * ```jsx\n * import { useMakeBid, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { mutateAsync: makeBid, isLoading, error } = useMakeBid(contract);\n *\n * return (\n * \n * makeBid({\n * listingId: \"1\", // ID of the listing to bid on. Must be an auction.\n * bid: \"1\", // Uses the currencyContractAddress of the listing.\n * })\n * }\n * >\n * Make Bid\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n *\n * @returns\n * Mutation object to make a bid on an auction listing\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useMakeBid(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### listingId\n * The ID of the listing to bid on. Must be an auction type listing.\n * (Use `useMakeOffer` for direct listings).\n *\n * If the listing cannot be found, is not an auction, or is not active, the `error` property will be set.\n *\n * #### bid\n * The amount to bid on the listing. Uses the `currencyContractAddress` of the listing.\n *\n * For example, if the listing uses the `NATIVE_TOKEN_ADDRESS` on Ethereum, the bid amount is the amount of ETH to bid. Can be\n * in the form of a number, string, or BigNumber.\n *\n * The bid value **must** be either:\n *\n * - Greater than or equal to the reserve price if there is no current bid.\n * - Greater than the current highest bid by the percentage defined in the bid buffer.\n *\n * Use the `useNextMinimumBid` hook to get the next minimum bid amount required.\n *\n * @marketplace\n */\nfunction useMakeBid(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot make bid\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.auction.makeBid, \"contract does not support auction.makeBid\");\n return await contract.auction.makeBid(data.listingId, data.bid);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for placing an offer on a `Marketplace` direct listing.\n *\n * @example\n *\n * ```jsx\n * import { useMakeOffer, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { mutateAsync: makeOffer, isLoading, error } = useMakeOffer(contract);\n *\n * return (\n * \n * makeOffer({\n * listingId: 1, // ID of the listing to make an offer on\n * pricePerToken: 1, // Price per token to offer (in the listing's currency)\n * quantity: 1, // Number of NFTs you want to buy (used for ERC1155 NFTs)\n * })\n * }\n * >\n * Make Bid\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n *\n * @returns Mutation object to make a bid on an auction listing\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useMakeOffer(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### listingId (required)\n * The ID of the listing to make an offer on.\n *\n * If the listing cannot be found, is not a direct listing, or is not active, the `error` property will be set.\n *\n * #### pricePerToken (required)\n * The price to offer per token.\n *\n * - For ERC1155, this is the price to offer per quantity of the NFT (see [`quantity`](#quantity) below).\n * - For ERC721, this is the price to offer to buy the NFT.\n *\n * #### quantity (optional)\n * Used for ERC1155 NFTs, where multiple quantity of the same NFT can be bought at once.\n *\n * This field works with the `pricePerToken` field to calculate the total price of the offer.\n * For example, if you want to buy 5 NFTs at a price of 1 ETH each, you would set `pricePerToken` to `1` and `quantity` to `5`, for a total of `5` ETH as the offer.\n *\n * For ERC721 NFTs, this value is ignored and `1` is used instead.\n *\n * The default value is `1`.\n *\n * @marketplace\n */\nfunction useMakeOffer(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot make bid\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n return await contract.makeOffer(data.listingId, data.pricePerToken, data.quantity);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for accepting an offer from a direct listing on a `Marketplace` contract.\n *\n * Allows the seller (the user who listed the NFT for sale) to accept an offer on their listing, triggering a sale event, meaning the:\n * - NFT(s) are transferred from the seller to the buyer.\n * - Funds from the offeror are sent to the seller.\n *\n * @example\n * ```tsx\n * import {\n * useAcceptDirectListingOffer,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const {\n * mutateAsync: acceptDirectOffer,\n * isLoading,\n * error,\n * } = useAcceptDirectListingOffer(contract);\n *\n * return (\n * \n * acceptDirectOffer({\n * listingId: \"{{listing_id}}\",\n * addressOfOfferor: \"{{offeror_address}}\",\n * })\n * }\n * >\n * Accept Offer\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n * @returns Mutation object to accept an offer on a direct listing\n * ```ts\n * const { mutateAsync, isLoading, error } = useAcceptDirectListingOffer(contract);\n * ```\n *\n * ### options\n *\n * The mutation function accepts an object as argument with the following properties:\n *\n * #### listingId\n * The `listingId` of the listing you wish to accept.\n *\n * #### addressOfOfferor\n * The wallet address of the user who made the offer you wish to accept.\n *\n * The `useContractEvents` hook can be used to read all `NewOffer` events on your `Marketplace` contract.\n *\n * @marketplace\n */\nfunction useAcceptDirectListingOffer(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot make bid\");\n requiredParamInvariant(contract?.direct, \"No Direct instance provided\");\n return await contract.direct.acceptOffer(data.listingId, data.addressOfOfferor);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for executing a sale of an auction listing on a `Marketplace` contract.\n *\n * Triggers a new sale, transferring the NFT(s) to the buyer and the funds to the seller.\n *\n * A sale must be executed when an auction ends, and the auction has a winning bid that was below the buyout price. This means the\n * auction has finished, and the highest bidder has won the auction. **Any wallet** can now execute the sale, transferring the NFT(s)\n * to the buyer and the funds to the seller.\n *\n * @example\n * ```jsx\n * import {\n * useExecuteAuctionSale,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const {\n * mutateAsync: executeAuctionSale,\n * isLoading,\n * error,\n * } = useExecuteAuctionSale(contract);\n *\n * return (\n * \n * executeAuctionSale({\n * // The listingId of the auction to execute\n * listingId: \"{{listing_id}}\",\n * })\n * }\n * >\n * Execute Auction Sale\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n *\n * @returns Mutation object to accept an offer on a direct listing\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useExecuteAuctionSale(contract);\n * ```\n *\n * ### options\n * The mutation function accepts an object as argument with the following properties:\n *\n * #### listingId\n * The ID of the auction listing to execute the sale on. If the listing cannot be found, is not an auction, or is not ready to be executed, the `error` property will be set.\n *\n * @marketplace\n */\nfunction useExecuteAuctionSale(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot make bid\");\n requiredParamInvariant(contract?.auction, \"No Auction marketplace instance provided\");\n return await contract.auction.executeSale(data.listingId);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for buying a listing on a `Marketplace` smart contract.\n *\n * If the listing is in a currency that is not native to the chain (e.g. not Ether on Ethereum), the hook will prompt the user\n * to approve the marketplace contract to spend the currency on their behalf before performing the buy.\n *\n * __This hook is only for `Marketplace` contracts. Not for `MarketplaceV3`__\n *\n * @example\n * ```jsx\n * import { useBuyNow, useContract, Web3Button } from \"@thirdweb-dev/react\";\n * import { ListingType } from \"@thirdweb-dev/sdk\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace\");\n * const { mutateAsync: buyNow, isLoading, error } = useBuyNow(contract);\n *\n * return (\n * \n * buyNow({\n * id: \"{{listing_id}}\", // ID of the listing to buy\n * type: ListingType.Direct, // Direct (0) or Auction (1)\n * buyAmount: \"{{buy_amount}}\", // Amount to buy\n * buyForWallet: \"{{wallet_address}}\", // Wallet to buy for, defaults to current wallet\n * })\n * }\n * >\n * Buy Now\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Marketplace` contract\n * @returns Mutation object to buy out an auction listing\n * ```ts\n * const { mutateAsync, isLoading, error } = useBuyNow(contract);\n * ```\n *\n * ## Options\n *\n * The mutation function accepts an object as argument with the following properties:\n *\n * ### id\n *\n * The ID of the listing you want to buy.\n *\n * ### type\n *\n * The type of listing. Either `ListingType.Direct` (0) or `ListingType.Auction` (1).\n *\n * ### buyAmount\n *\n * The amount of tokens you want to buy from the listing.\n *\n * Applicable for ERC1155 listings only, should always be 1 for ERC721 listings.\n *\n * ### buyForWallet (optional)\n *\n * Optionally, specify a different wallet address to buy the listing for.\n *\n * @marketplace\n */\nfunction useBuyNow(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot make bid\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (data.type === ListingType.Direct) {\n invariant(contract.direct.buyoutListing, \"contract does not support direct.buyoutListing\");\n return await contract.direct.buyoutListing(data.id, data.buyAmount, data.buyForWallet);\n }\n invariant(contract.auction.buyoutListing, \"contract does not support auction.buyoutListing\");\n return await contract.auction.buyoutListing(data.id);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for buying a direct listing on a [Marketplace V3](https://thirdweb.com/thirdweb.eth/MarketplaceV3) smart contract.\n *\n * If the listing is in a currency that is not native to the chain (e.g. not Ether on Ethereum), the hook will prompt the user\n * to approve the marketplace contract to spend the currency on their behalf before performing the buy.\n *\n * ```jsx\n * import { useBuyDirectListing } from \"@thirdweb-dev/react\";\n *\n * const { mutateAsync, isLoading, error } = useBuyDirectListing(contract);\n * ```\n *\n * @example\n * ```jsx\n * import {\n * useBuyDirectListing,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n * import { ListingType } from \"@thirdweb-dev/sdk\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"marketplace-v3\");\n * const {\n * mutateAsync: buyDirectListing,\n * isLoading,\n * error,\n * } = useBuyDirectListing(contract);\n *\n * return (\n * \n * buyDirectListing({\n * listingId: \"{{listing_id}}\", // ID of the listing to buy\n * quantity: \"1\",\n * buyer: \"{{wallet_address}}\", // Wallet to buy for\n * })\n * }\n * >\n * Buy Now\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `MarketplaceV3` contract\n * @returns Mutation object to buy out a direct listing\n * ```ts\n * const { mutateAsync, isLoading, error } = useBuyDirectListing(contract);\n * ```\n *\n * ## Options\n *\n * The mutation function accepts an object as argument with the following properties:\n *\n * ### listingId\n *\n * The ID of the direct listing you want to buy.\n *\n * ### quantity\n *\n * The amount of tokens you want to buy from the listing.\n *\n * Applicable for ERC1155 listings only, should always be `1` for ERC721 listings.\n *\n * ### buyer\n *\n * Specify a different wallet address to buy the listing for.\n *\n * @marketplace\n */\nfunction useBuyDirectListing(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const walletAddress = useAddress();\n return useMutation(async data => {\n invariant(walletAddress, \"no wallet connected, cannot buy from listing\");\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.directListings.buyFromListing, \"contract does not support directListings.buyFromListing\");\n return await contract.directListings.buyFromListing(data.listingId, data.quantity, data.buyer);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\nfunction isMarketplaceV1(contract) {\n return contract.getAllListings !== undefined;\n}\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Hook for fetching information about an NFT from a smart contract.\n *\n * Available to use on smart contracts that implement the [`ERC721`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * or [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * NFT metadata is automatically fetched from where the `tokenUri` is hosted (e.g. IPFS), and makes the `image`\n * property available as a URL through our IPFS gateway (if the image is hosted on IPFS).\n *\n * @example\n *\n * Provide your NFT collection contract object and the token ID of the NFT you want to fetch as\n * arguments.\n *\n * ```jsx\n * import { useContract, useNFT } from \"@thirdweb-dev/react\";\n *\n * // The token ID of the NFT you want to fetch\n * const tokenId = 0;\n *\n * function App() {\n * const { contract } = useContract(\"{{contract_address}}\");\n * const { data: nft, isLoading, error } = useNFT(contract, tokenId);\n *\n * if (isLoading) return
Fetching NFT…
;\n * if (error) return
Error fetching NFT
;\n * if (!nft) return
NFT not found
;\n * return
NFT: {nft.metadata.name}
;\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n *\n * @param tokenId - The token ID of the NFT you want to fetch.\n * ```jsx\n * import { useContract, useNFT } from \"@thirdweb-dev/react\";\n *\n * // The token ID of the NFT you want to fetch\n * const tokenId = 0;\n *\n * function App() {\n * const { contract } = useContract(\"{{contract_address}}\");\n * const {\n * data: nft,\n * isLoading,\n * error,\n * } = useNFT(\n * contract,\n * tokenId,\n * );\n * }\n * ```\n *\n * @returns Query result object that includes the metadata for the given tokenId in `data` property\n * @twfeature ERC721 | ERC1155\n * @nft\n */\nfunction useNFT(contract, tokenId) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.get(contractAddress, tokenId), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc1155) {\n invariant(erc1155.get, \"Contract instance does not support get\");\n return await erc1155.get(BigNumber.from(tokenId || 0));\n }\n if (erc721) {\n invariant(erc721.get, \"Contract instance does not support get\");\n return await erc721.get(BigNumber.from(tokenId || 0));\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: !!erc721 || !!erc1155 && tokenId !== undefined\n });\n}\n\n/**\n * Hook to query all NFTs associated with a smart contract.\n *\n * Available to use on smart contracts that implement the [`ERC721`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * or [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * NFT metadata is automatically fetched from where the `tokenUri` is hosted (e.g. IPFS), and makes the `image`\n * property available as a URL through our IPFS gateway (if the image is hosted on IPFS).\n *\n * By default, only returns the first `100` NFTs in the collection. You can use the `queryParams` argument to\n * filter the NFTs that are returned or to paginate through the collection.\n *\n * @example\n *\n * ```jsx\n * import { useNFTs, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useNFTs(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n *\n * @param queryParams -\n * By default, the hook will return the first 100 NFTs associated with the contract.\n *\n * You can use the `queryParams` argument to paginate the NFTs that are returned.\n *\n * @returns Query result object that includes an array of `NFT` objects\n * @twfeature ERC721Supply | ERC721Enumerable | ERC1155Enumerable\n * @nft\n */\nfunction useNFTs(contract, queryParams) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.query.all(contractAddress, queryParams), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc721) {\n invariant(erc721.getAll, \"Contract instance does not support getAll\");\n return await erc721.getAll(queryParams);\n }\n if (erc1155) {\n invariant(erc1155.getAll, \"Contract instance does not support getAll\");\n return await erc1155.getAll(queryParams);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: !!erc721 || !!erc1155\n });\n}\n\n/**\n * Hook to get the total count of **unique** NFTs minted on a smart contract.\n *\n * Available to use on smart contracts that implement the [`ERC721`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * or [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * When used for ERC1155 contracts, the total count is the number of unique token IDs minted, _not_ the total supply of all tokens in circulation.\n *\n * @example\n * ```jsx\n * import { useTotalCount, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data: totalCount, isLoading, error } = useTotalCount(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n * @returns A `BigNumber` that includes the total count of NFTs\n * @twfeature ERC721Supply | ERC1155Enumerable\n * @nft\n */\nfunction useTotalCount(contract) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.query.totalCount(contractAddress), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc1155) {\n invariant(erc1155.totalCount, \"Contract instance does not support totalCount\");\n return await erc1155.totalCount();\n }\n if (erc721) {\n invariant(erc721.totalCount, \"Contract instance does not support totalCount\");\n return await erc721.totalCount();\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: !!erc721 || !!erc1155\n });\n}\n\n/**\n * Hook for fetching the total number of NFTs in circulation for a given smart contract.\n *\n * This takes into account the increase in supply due to minting and the decrease in supply due to burning.\n *\n * Available to use on contracts that implement either the [ERC721](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * or [ERC1155](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * @example\n *\n * ```jsx\n * import { useTotalCirculatingSupply, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useTotalCirculatingSupply(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n *\n * @param tokenId - Required for ERC1155, the tokenId to look up. This will return the total quantity of the given token ID in circulation.\n * ```ts\n * import { useTotalCirculatingSupply, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useTotalCirculatingSupply(\n * contract,\n * \"{{token_id}}\",\n * );\n * }\n * ```\n *\n * @returns A `BigNumber` representing the total circulating supply.\n *\n * @twfeature ERC721Supply | ERC1155Enumerable\n * @nft\n */\nfunction useTotalCirculatingSupply(contract, tokenId) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.query.totalCirculatingSupply(contractAddress, tokenId ?? undefined), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc1155) {\n invariant(erc1155.totalCirculatingSupply, \"Contract instance does not support totalCirculatingSupply\");\n requiredParamInvariant(tokenId, \"No tokenId provided\");\n return await erc1155.totalCirculatingSupply(tokenId);\n }\n if (erc721) {\n invariant(erc721.totalCirculatingSupply, \"Contract instance does not support totalCirculatingSupply\");\n return await erc721.totalCirculatingSupply();\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: !!erc721 || !!erc1155 && tokenId !== undefined\n });\n}\n\n/**\n * Hook for accessing a list of NFTs owned by a single wallet address.\n *\n * Available to use on smart contracts that implement either ERC721Enumerable, ERC1155Enumerable, or ERC721Supply extensions.\n *\n * @example\n *\n * ```jsx\n * import { useOwnedNFTs, useContract, useAddress } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const address = useAddress();\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useOwnedNFTs(contract, address);\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n * @param ownerWalletAddress -\n * The wallet address to get owned tokens for. Likely, you will want to view the connected wallet’s NFTs. use the `useAddress` hook to get this value.\n *\n * @param queryParams -\n * Paginate the results by providing a `queryParams` object as an argument.\n *\n * ```jsx\n * import { useOwnedNFTs, useContract, useAddress } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const address = useAddress();\n * const { data, isLoading, error } = useOwnedNFTs(\n * contract,\n * address\n * {\n * count: 10, // Limit the number of results\n * start: 0, // Start from the nth result (useful for pagination)\n * },\n * );\n * }\n * ```\n *\n * @returns Query result object that includes the list of owned `NFT` objects\n *\n * @twfeature ERC721Enumerable | ERC1155Enumerable | ERC721Supply\n * @nft\n */\nfunction useOwnedNFTs(contract, ownerWalletAddress, queryParams) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.query.owned.all(contractAddress, ownerWalletAddress), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(ownerWalletAddress, \"No wallet address provided\");\n if (erc721) {\n return await erc721.getOwned(ownerWalletAddress, queryParams);\n }\n if (erc1155) {\n return await erc1155.getOwned(ownerWalletAddress, queryParams);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: (!!erc721 || !!erc1155) && !!ownerWalletAddress\n });\n}\n\n/**\n * Hook to get the quantity a user owns of a specific [ERC1155](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) NFT.\n *\n * Available to use on smart contracts that implement the [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * @example\n * ```jsx\n * import { useNFTBalance, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { isLoading, data, error } = useNFTBalance(\n * contract,\n * \"{{wallet_address}}\",\n * \"{{token_id}}\",\n * );\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n * @param ownerWalletAddress - The wallet address to check the balance of. Use the `useAddress` hook to get the current wallet address.\n * @param tokenId - Required for ERC1155, the tokenId to look up\n * @returns The hook's `data` property, once loaded, returns a `BigNumber` representing the quantity of the NFT owned by the wallet.\n * @twfeature ERC721 | ERC1155\n * @nft\n */\nfunction useNFTBalance(contract, ownerWalletAddress, tokenId) {\n const contractAddress = contract?.getAddress();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.balanceOf(contractAddress, ownerWalletAddress, tokenId), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(ownerWalletAddress, \"No owner wallet address provided\");\n if (erc1155) {\n requiredParamInvariant(tokenId, \"No tokenId provided\");\n invariant(erc1155.balanceOf, \"Contract instance does not support balanceOf\");\n return erc1155.balanceOf(ownerWalletAddress, tokenId);\n }\n if (erc721) {\n invariant(erc721.balanceOf, \"Contract instance does not support balanceOf\");\n return erc721.balanceOf(ownerWalletAddress);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: !!erc721 || !!erc1155 && !!ownerWalletAddress\n });\n}\n\n/**\n * Get the shared metadata of an Open Edition NFT contract\n *\n * @example\n * ```javascript\n * const { data: sharedMetadata, isLoading, error } = useSharedMetadata(contract);\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n * @returns Query result object that includes the shared metadata of the contract\n * @twfeature ERC721SharedMetadata\n * @nft\n */\nfunction useSharedMetadata(contract) {\n const contractAddress = contract?.getAddress();\n const {\n erc721\n } = getErcs(contract);\n return useQueryWithNetwork(cacheKeys.contract.nft.sharedMetadata.get(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc721) {\n invariant(erc721.sharedMetadata.get, \"Contract instance does not support sharedMetadata.get\");\n return erc721.sharedMetadata.get();\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n enabled: !!contract\n });\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n\n/**\n * Hook for minting a new NFT on a smart contract.\n *\n * Available to use on smart contracts that implement the [`ERC721`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * or [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * By default, the process uploads and pins the NFT metadata to IPFS before minting.\n *\n * @example\n * ```jsx\n * import { useMintNFT, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: mintNft, isLoading, error } = useMintNFT(contract);\n *\n * return (\n * \n * mintNft({\n * metadata: {\n * name: \"My NFT\",\n * description: \"This is my NFT\",\n * image: \"ipfs://example.com/my-nft.png\", // Accepts any URL or File type\n * },\n * to: \"{{wallet_address}}\", // Use useAddress hook to get current wallet address\n * })\n * }\n * >\n * Mint NFT\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n * @returns Mutation object that to mint a new NFT token to the connected wallet\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useMintNFT(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object with the following properties:\n *\n * #### metadata\n * The metadata of the NFT to mint.\n *\n * By default, the `metadata` object is uploaded and pinned to IPFS before minting.\n *\n * You can override this behavior by providing a `string` to the metadata property. The string must be a URL that points to a valid JSON object containing [standard metadata properties](https://docs.opensea.io/docs/metadata-standards)\n *\n * ```jsx\n * import { useMintNFT, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * // Your smart contract address\n * const contractAddress = \"{{contract_address}}\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: mintNft, isLoading, error } = useMintNFT(contract);\n *\n * return (\n * \n * mintNft({\n * // Any valid IPFS or HTTP URL that points to a JSON object\n * metadata: \"https://///.json\",\n * to: \"{{wallet_address}}\",\n * })\n * }\n * >\n * Mint NFT\n * \n * );\n * }\n * ```\n *\n * #### to (required)\n * The wallet address to mint the NFT to.\n *\n * Likely, you will want to mint the NFT to the currently connected wallet address.\n * Use the `useAddress` hook to get this value.\n *\n * @twfeature ERC721Mintable | ERC1155Mintable\n * @nft\n */\nfunction useMintNFT(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc1155,\n erc721\n } = getErcs(contract);\n return useMutation(async data => {\n invariant(data.to, 'No \"to\" address provided');\n requiredParamInvariant(contract, \"contract is undefined\");\n if (erc1155) {\n invariant(\"supply\" in data, \"supply not provided\");\n const {\n to,\n metadata,\n supply\n } = data;\n return await erc1155.mintTo(to, {\n metadata,\n supply: BigNumber.from(supply || 1)\n });\n }\n if (erc721) {\n return await erc721.mintTo(data.to, data.metadata);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for minting additional supply to an _existing_ ERC-1155 token.\n *\n * Available to use on contracts that implement the\n * [ERC1155Mintable](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155Mintable)\n * interface, such as the [Edition](https://thirdweb.com/thirdweb.eth/TokenERC1155) or [Edition Drop](https://thirdweb.com/thirdweb.eth/DropERC1155).\n *\n * The wallet address that initiates this transaction must have minting permissions on the contract.\n *\n * @example\n *\n * ```jsx\n * import { useContract, useMintNFTSupply, Web3Button } from \"@thirdweb-dev/react\";\n *\n * const contractAddress = \"{{contract_address}}\";\n * const walletAddress = \"{{wallet_address}}\";\n * const tokenId = \"{{token_id}}\";\n * const additionalSupply = \"{{additional_supply}}\";\n *\n * function App() {\n * // Contract must be an ERC-1155 contract that implements the ERC1155Mintable interface\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: mintNftSupply,\n * isLoading,\n * error,\n * } = useMintNFTSupply(contract);\n *\n * return (\n * \n * mintNftSupply({\n * additionalSupply: additionalSupply, // Quantity to mint\n * to: walletAddress, // Address to mint to\n * tokenId: tokenId, // Token ID to add supply to\n * })\n * }\n * >\n * Mint NFT Supply\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Erc1155`\n *\n * @returns Mutation object to mint a more supply of a token id to the provided wallet\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useMintNFTSupply(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an object with the following properties:\n *\n * #### additionalSupply\n * The quantity of additional supply to mint.\n *\n * For example, if you have 10 quantity so far, and you want to mint 5 more, set `additionalSupply` to `5`.\n *\n * Can be a `string` or `number`.\n *\n *\n * #### to\n * The wallet address to mint the new supply to.\n *\n * To use the connected wallet address, use the `useAddress` hook.\n *\n *\n * #### tokenId\n * The token ID of the NFT to mint additional supply to.\n *\n * Can be a `string` or `number`.\n *\n * @twfeature ERC1155Mintable\n * @nft\n */\nfunction useMintNFTSupply(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async data => {\n invariant(data.to, 'No \"to\" address provided');\n requiredParamInvariant(contract, \"contract is undefined\");\n requiredParamInvariant(data.tokenId, \"tokenId not provided\");\n invariant(\"additionalSupply\" in data, \"additionalSupply not provided\");\n const {\n to,\n tokenId,\n additionalSupply\n } = data;\n return await contract.mintAdditionalSupplyTo(to, tokenId, additionalSupply);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for transferring ERC721 or ERC1155 NFTs to another wallet address.\n *\n * Available to use on contracts that implement either the\n * [ERC721](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * and [ERC1155](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155)\n * interfaces, such as the [Edition](https://thirdweb.com/thirdweb.eth/TokenERC1155)\n * or [NFT Collection](https://thirdweb.com/thirdweb.eth/TokenERC721).\n *\n * The wallet address that initiates this transaction must have transfer permissions on the contract (i.e. the tokens are not soulbound).\n * It also must have the required amount of token(s) available to transfer.\n *\n * @example\n *\n * ```jsx\n * import { useContract, useTransferNFT, Web3Button } from \"@thirdweb-dev/react\";\n *\n * // Your NFT collection contract address\n * const contractAddress = \"{{contract_address}}\";\n * const walletAddress = \"{{wallet_address}}\";\n * const tokenId = \"{{token_id}}\";\n *\n * function App() {\n * // Contract must be an ERC-721 or ERC-1155 contract\n * const { contract } = useContract(contractAddress);\n * const {\n * mutateAsync: transferNFT,\n * isLoading,\n * error,\n * } = useTransferNFT(contract);\n *\n * return (\n * \n * transferNFT({\n * to: walletAddress, // Address to transfer the token to\n * tokenId: tokenId, // Token ID to transfer\n * })\n * }\n * >\n * Transfer\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n *\n * @returns Mutation object to transfer NFTs\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useTransferNFT(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object with the following properties:\n *\n * #### to\n * The wallet address to transfer the token(s) to.\n *\n * To use the connected wallet address, use the `useAddress` hook.\n *\n *\n * #### tokenId\n * The token ID of the NFT to transfer.\n *\n * Can be a `string` or `number`.\n *\n * #### amount (ERC1155 only)\n * If you are using an ERC1155 contract, specify the amount of tokens to transfer.\n *\n * @twfeature ERC721 | ERC1155\n * @nft\n */\nfunction useTransferNFT(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc1155,\n erc721\n } = getErcs(contract);\n return useMutation(data => {\n invariant(\"to\" in data, \"to not provided\");\n if (erc1155) {\n invariant(erc1155.transfer, \"contract does not support transfer\");\n requiredParamInvariant(data.tokenId, \"tokenId not provided\");\n invariant(\"amount\" in data, \"amount not provided\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return erc1155.transfer(data.to, data.tokenId, data.amount);\n }\n if (erc721) {\n return erc721.transfer(data.to, data.tokenId);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for airdropping [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) NFT tokens to multiple wallet addresses at once.\n *\n * Available to use on smart contracts that implement the `ERC1155` standard.\n *\n * Performs a batch transfer from the connected wallet to the specified addresses.\n * This means you need to have the total number of tokens you wish to airdrop available in the wallet that performs this transaction.\n *\n * @example\n * ```jsx\n * import { useAirdropNFT, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: airdropNft, isLoading, error } = useAirdropNFT(contract);\n *\n * return (\n * \n * airdropNft({\n * addresses: [\n * {\n * address: \"0x123\",\n * quantity: 1,\n * },\n * ],\n * tokenId: tokenId,\n * })\n * }\n * >\n * Airdrop NFT\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `Erc1155`\n * @returns Mutation object that to transfer batch NFTs\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useAirdropNFT(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object with the following properties:\n *\n * #### tokenId\n * The token ID of the NFT to airdrop.\n *\n * #### addresses\n * An array of objects containing an `address` and `quantity` of NFTs to airdrop to each address.\n *\n * @twfeature ERC1155\n * @nft\n */\nfunction useAirdropNFT(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(_ref => {\n let {\n tokenId,\n addresses\n } = _ref;\n requiredParamInvariant(contract, \"contract is undefined\");\n invariant(contract.airdrop, \"contract does not support airdrop\");\n return contract.airdrop(tokenId, addresses);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for burning a NFT on a smart contract.\n *\n * Available to use on smart contracts that implement the [`ERC721`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721)\n * or [`ERC1155`](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155) standard.\n *\n * @example\n *\n * ```jsx\n * import { useBurnNFT, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * const contractAddress = \"{{contract_address}}\";\n * // The tokenId of the NFT you want to burn\n * const tokenIdToBurn = \"{{tokenId}}}}\";\n * const amount = 1;\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: burnNft, isLoading, error } = useBurnNFT(contract);\n *\n * return (\n * \n * burnNft({\n * tokenId: tokenIdToBurn,\n * amount: amount,\n * })\n * }\n * >\n * Burn NFT\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `NFTContract`\n * @returns Mutation object that to burn an NFT token from the connected wallet\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useBurnNFT(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object with the following properties:\n *\n * #### tokenId\n * The token ID of the NFT you want to burn.\n *\n * #### amount (optional)\n * When using ERC1155 NFTs, you can specify the quantity you want to burn.\n *\n * Defaults value is `1`\n *\n * @twfeature ERC721Burnable | ERC1155Burnable\n * @nft\n */\nfunction useBurnNFT(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc1155,\n erc721\n } = getErcs(contract);\n return useMutation(async data => {\n requiredParamInvariant(data.tokenId, \"No tokenId provided\");\n requiredParamInvariant(contract, \"contract is undefined\");\n if (erc1155) {\n invariant(\"amount\" in data, \"amount not provided\");\n const {\n tokenId,\n amount\n } = data;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return await erc1155.burn(tokenId, amount);\n }\n if (erc721) {\n const {\n tokenId\n } = data;\n return await erc721.burn(tokenId);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Set shared metadata\n * TODO add docs\n * @internal\n */\nfunction useSetSharedMetadata(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc721\n } = getErcs(contract);\n return useMutation(async data => {\n if (erc721) {\n return await erc721.sharedMetadata.set(data);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Update nft metadata\n * @param contract - Instance of a `NFTContract`\n * @param tokenId - The token ID of the NFT you want to fetch.\n * @public\n * @twfeature ERC721UpdatableMetadata | ERC1155UpdatableMetadata\n * @nft\n */\nfunction useUpdateNFTMetadata(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const {\n erc721,\n erc1155\n } = getErcs(contract);\n return useMutation(async data => {\n const {\n tokenId,\n metadata\n } = data;\n if (erc721) {\n return await erc721.updateMetadata(tokenId, metadata);\n }\n if (erc1155) {\n return await erc1155.updateMetadata(tokenId, metadata);\n }\n invariant(false, \"Unknown NFT type\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/** **********************/\n/** UTILS **/\n/** **********************/\n\n/**\n * @internal\n */\n\n/**\n * @permissionControl\n */\n\n/**\n * @internal\n */\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Hook for getting all wallet addresses that have a role in a smart contract.\n *\n * Available to use on contracts that implement [`Permissions`](https://portal.thirdweb.com/contracts/build/extensions/general/Permissions).\n *\n * @example\n *\n * ```jsx\n * import { useAllRoleMembers, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useAllRoleMembers(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns\n * The hook's `data` property, once loaded, is an object, where the keys are the role names and the values are arrays of wallet addresses that have that role.\n *\n * For example, if the contract has two roles, `admin` and `transfer`, and the `admin` role has two members, the `data` property will look like this:\n *\n * ```ts\n * {\n * admin: [\"0x1234\", \"0x5678\"],\n * transfer: [],\n * }\n * ```\n *\n * #### Type\n *\n * ```ts\n * Record<\n * | \"admin\"\n * | \"transfer\"\n * | \"minter\"\n * | \"pauser\"\n * | \"lister\"\n * | \"asset\"\n * | \"unwrap\"\n * | \"factory\"\n * | (string & {}),\n * string[]\n * > | undefined;\n * ```\n *\n * @twfeature PermissionsEnumerable\n * @permissionControl\n */\nfunction useAllRoleMembers(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.extensions.roles.getAll(contractAddress), () => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(contract.roles, \"Contract does not support roles\");\n // have to cast to any because of role bs, type is defined in the useQueryWithNetwork definition above\n return contract.roles.getAll();\n }, {\n enabled: !!contract && !!contractAddress\n });\n}\n\n/**\n * Hook for getting all wallet addresses that have a specific role in a smart contract.\n *\n * Available to use on contracts that implement the [`Permissions`](https://portal.thirdweb.com/contracts/build/extensions/general/Permissions) interface.\n *\n * @example\n * ```jsx\n * import { useContract, useRoleMembers } from \"@thirdweb-dev/react\";\n *\n * // Your smart contract address (must implement permission controls)\n * const contractAddress = \"{{contract_address}}\";\n *\n * const roleName = \"admin\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useRoleMembers(contract, roleName);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n * @param role -\n * The name of the role to get the members of\n *\n * Can be any custom role, or a built-in role, such as:\n * - `\"admin\"`\n * - `\"transfer\"`\n * - `\"minter\"`\n * - `\"pauser\"`\n * - `\"lister\"`\n * - `\"asset\"`\n * - `\"unwrap\"`\n * - `\"factory\"`\n *\n * @returns The hook's `data` property, once loaded, is an array of wallet addresses that have the specified role\n *\n * @twfeature Permissions\n * @permissionControl\n */\nfunction useRoleMembers(contract, role) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.extensions.roles.get(contractAddress, role), () => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(contract.roles, \"Contract does not support roles\");\n return contract.roles.get(role);\n }, {\n enabled: !!contract && !!contractAddress && !!role\n });\n}\n\n/**\n * Hook to check if an address is a member of a role on a smart contract.\n *\n * Available to use on contracts that implement [`Permissions`](https://portal.thirdweb.com/contracts/build/extensions/general/Permissions) interface\n *\n * Provide the following arguments to the hook:\n *\n * 1. `contract` - The contract instance to check the role on.\n * 2. `roleName` - The name of the role to check.\n * 3. `address` - The wallet address to see if it is a member of the role.\n *\n * @example\n *\n * ```jsx\n * import { useIsAddressRole, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const isMember = useIsAddressRole(contract, roleName, walletAddress);\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @param role - The name of the role to check. Can be any custom role, or a built-in role, such as:\n * - `\"admin\"`\n * - `\"transfer\"`\n * - `\"minter\"`\n * - `\"pauser\"`\n * - `\"lister\"`\n * - `\"asset\"`\n * - `\"unwrap\"`\n * - `\"factory\"`\n *\n * @param walletAddress -\n * The wallet address to check if it is a member of the role.\n * Use the `useAddress` hook to get the current wallet address.\n *\n * @returns `true` if the address is a member of the role, or `false` if not\n *\n * @twfeature PermissionsEnumerable\n * @permissionControl\n */\nfunction useIsAddressRole(contract, role, walletAddress) {\n // TODO this might be possible to do with `verify` fn instead?\n const contractHasRoles = !!(contract && contract.roles);\n const {\n data\n } = useRoleMembers(contractHasRoles ? contract : undefined, role);\n\n // if the contract does not have roles then everything is allowed === true\n if (contractHasRoles === false) {\n return true;\n }\n\n // switch logic (if address 0 is in the role list then anyone has permissions to it)\n if (data?.includes(constants.AddressZero)) {\n return true;\n }\n\n // actual role check logic\n return !!(walletAddress && data?.includes(walletAddress));\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n\n/**\n * Overwrite the list of members for specific roles\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const { contract } = useContract(\"{{contract_address}}\");\n * const {\n * mutate: overwriteRoles,\n * isLoading,\n * error,\n * } = useSetAllRoleMembers(contract);\n *\n * if (error) {\n * console.error(\"failed to overwrite roles\", error);\n * }\n *\n * return (\n * overwriteRoles({ rolesWithAddresses: { minter: [\"{{wallet_address}\"] } })}\n * >\n * Overwrite Roles\n * \n * );\n * };\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n * @returns A mutation object to overwrite all roles on the contract\n * @twfeature Permissions\n * @permissionControl\n */\nfunction useSetAllRoleMembers(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async rolesWithAddresses => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(contract.roles, \"Contract does not support roles\");\n await contract.roles.setAll(rolesWithAddresses);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for granting a role on a smart contract.\n *\n * Available to use on smart contracts that implement the [`Permissions`](https://portal.thirdweb.com/contracts/build/extensions/general/Permissions) interface.\n *\n * @example\n * ```jsx\n * import { useGrantRole, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * const contractAddress = \"{{contract_address}}\";\n * const roleToGrant = \"{{role}}\";\n * const walletAddressToGrant = \"{{wallet_address}}\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: grantRole, isLoading, error } = useGrantRole(contract);\n *\n * return (\n * \n * grantRole({\n * role: roleToGrant, // name of your role.\n * address: walletAddressToGrant, // address to grant the role to.\n * })\n * }\n * >\n * Grant Role\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns A mutation object to grant a member of a role on the contract\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useGrantRole(contract);\n * ```\n *\n * ### options\n * The mutation function accepts an object with the following properties:\n *\n * #### role\n * The name of the role to grant the address.\n *\n * Accepts any `string` value to include custom-defined roles.\n *\n * Also accepts the default roles available on the [prebuilt contracts](https://portal.thirdweb.com/pre-built-contracts):\n *\n * ```ts\n * string |\n * \"admin\" |\n * \"minter\" |\n * \"transfer\" |\n * \"lister\" |\n * \"asset\" |\n * \"unwrap\" |\n * \"pauser\" |\n * \"factory\";\n * ```\n *\n * #### address\n * The address to grant the role to.\n *\n * To use the address of the connected wallet, use the `useAddress` hook.\n *\n * @twfeature Permissions | PermissionsEnumerable\n * @permissionControl\n */\nfunction useGrantRole(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async params => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(contract.roles, \"Contract does not support roles\");\n await contract.roles.grant(params.role, params.address);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for revoking a wallet address from a role on a smart contract.\n *\n * Available to use on contracts that implement [`Permissions`](https://portal.thirdweb.com/contracts/build/extensions/general/Permissions) interface\n *\n * The wallet address that initiates this transaction must have the relevant permissions on the contract to remove the role from the wallet address (typically `\"admin\"` level required).\n *\n * ```jsx\n * import { useContract, useRevokeRole, Web3Button } from \"@thirdweb-dev/react\";\n *\n * // Your smart contract address (must implement permission controls)\n * const contractAddress = \"{{contract_address}}\";\n * const walletAddress = \"{{wallet_address}}\";\n *\n * function App() {\n * // Contract must be a contract that implements the Permission Controls interface\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: revokeRole, isLoading, error } = useRevokeRole(contract);\n *\n * return (\n * \n * revokeRole({\n * role: \"admin\",\n * address: walletAddress,\n * })\n * }\n * >\n * Revoke Role\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n *\n * @returns A mutation object to revoke a role from a member on the contract\n * #### role (required)\n *\n * The role to revoke from the wallet address.\n *\n * Can be any custom role, or a built-in role, such as:\n * - `\"admin\"`\n * - `\"transfer\"`\n * - `\"minter\"`\n * - `\"pauser\"`\n * - `\"lister\"`\n * - `\"asset\"`\n * - `\"unwrap\"`\n * - `\"factory\"`\n *\n * #### address\n *\n * The wallet address to revoke the role from.\n *\n * To use the connected wallet address, use the `useAddress` hook.\n *\n * @twfeature Permissions | PermissionsEnumerable\n * @permissionControl\n */\nfunction useRevokeRole(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async params => {\n requiredParamInvariant(contract, \"No contract provided\");\n invariant(contract.roles, \"Contract does not support roles\");\n await contract.roles.revoke(params.role, params.address);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Hook for fetching the total supply of an ERC20 token.\n *\n * This takes into account the increase and decrease in supply when tokens are minted and burned.\n *\n * @example\n * ```jsx\n * import { useTokenSupply } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { data, isLoading, error } = useTokenSupply(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns Hook's `data` object includes the total supply of the token in the `value` property as a `BigNumber` object.\n *\n * @twfeature ERC20\n * @token\n */\nfunction useTokenSupply(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.token.totalSupply(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n const erc20 = getErc20(contract);\n if (erc20) {\n return erc20.totalSupply();\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n enabled: !!contract || !!contractAddress\n });\n}\n\n/**\n * Hook for fetching the balance a wallet has for a specific ERC20 token.\n *\n * __This hook is for _custom_ ERC20 tokens. For native tokens such as Ether, use `useBalance` or `useBalanceForAddress`__\n *\n * Available to use on contracts that implement the ERC20 interface.\n *\n * @example\n * ```jsx\n * import { useTokenBalance, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"token\");\n * const { data, isLoading, error } = useTokenBalance(contract, walletAddress);\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns Hook's `data` object includes the token balance for given wallet address\n *\n * @twfeature ERC20\n * @token\n */\nfunction useTokenBalance(contract, walletAddress) {\n const contractAddress = contract?.getAddress();\n const erc20 = getErc20(contract);\n return useQueryWithNetwork(cacheKeys.contract.token.balanceOf(contractAddress, walletAddress), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(walletAddress, \"No address provided\");\n if (erc20) {\n return await erc20.balanceOf(walletAddress);\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n enabled: !!walletAddress && !!contract\n });\n}\n\n/**\n * Hook for fetching the [decimals](https://docs.openzeppelin.com/contracts/3.x/erc20#a-note-on-decimals)\n * of an [ERC20](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20) token.\n *\n * Tokens usually opt for a value of `18`, imitating the relationship between Ether and Wei.\n * Therefore, `18` is the default value returned by this function, unless your ERC20 contract explicitly overrides it.\n *\n * @example\n *\n * ```jsx\n * import { useTokenDecimals, useContract } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"token\");\n * const { data, isLoading, error } = useTokenDecimals(contract);\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns The hook's `data` property, once loaded, contains the `number` that represents the number of decimals of the ERC20 token.\n *\n * @twfeature ERC20\n * @token\n */\nfunction useTokenDecimals(contract) {\n const contractAddress = contract?.getAddress();\n const erc20 = getErc20(contract);\n return useQueryWithNetwork(cacheKeys.contract.token.decimals(contractAddress), async () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n if (erc20) {\n return (await erc20.get()).decimals;\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n enabled: !!contract\n });\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n\n/**\n * Hook for minting new tokens in an ERC20 smart contract.\n *\n * Available to use on contracts that implement the [ERC20Mintable](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20BatchMintable)\n * interface, such as the [Token](https://thirdweb.com/thirdweb.eth/TokenERC20) contract.\n *\n * The wallet address that initiates this transaction must have minting permissions on the contract.\n *\n * @example\n *\n * ```jsx\n * import { useContract, useMintToken, Web3Button } from \"@thirdweb-dev/react\";\n *\n * const contractAddress = \"{{contract_address}}\";\n * const walletAddress = \"{{wallet_address}}\";\n * const tokenAmount = \"{{token_amount}}\";\n *\n * function App() {\n * // Contract must be an ERC-20 contract that implements the ERC20Mintable interface\n * const { contract } = useContract(contractAddress, \"token\");\n * const { mutateAsync: mintToken, isLoading, error } = useMintToken(contract);\n *\n * return (\n * \n * mintToken({\n * amount: tokenAmount, // Quantity to mint\n * to: walletAddress, // Address to mint to\n * })\n * }\n * >\n * Mint Token\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns A mutation object to mint new tokens to the connected wallet\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useMintToken(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### amount\n * The quantity of tokens to mint. Can be a `string` or `number`.\n *\n * #### to\n * The wallet address to mint the new tokens to.\n *\n * To use the connected wallet address, use the `useAddress` hook.\n *\n * @twfeature ERC20Mintable\n * @token\n */\nfunction useMintToken(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const erc20 = getErc20(contract);\n return useMutation(data => {\n const {\n to,\n amount\n } = data;\n requiredParamInvariant(contract, \"contract is undefined\");\n if (erc20) {\n return erc20.mintTo(to, amount);\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for claiming a ERC20 tokens from a smart contract.\n *\n * Available to use on smart contracts that implement both the [ERC20](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20) interface\n * and the [`claim`](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721Claimable) function,\n * such as the [Token Drop](https://thirdweb.com/thirdweb.eth/DropERC20).\n *\n * @example\n *\n * ```jsx\n * import { useClaimToken, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: claimToken, isLoading, error } = useClaimToken(contract);\n *\n * return (\n * \n * claimToken({\n * to: \"{{wallet_address}}\", // Use useAddress hook to get current wallet address\n * amount: 100, // Amount of token to claim\n * })\n * }\n * >\n * Claim Token\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns A mutation object to tokens to the wallet specified in the params\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useClaimToken(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### to (required)\n * Likely, you will want to claim the token to the currently connected wallet address.\n *\n * You can use the `useAddress` hook to get this value.\n *\n * #### amount (required)\n * The amount of tokens to be claimed.\n *\n * #### checkERC20Allowance (optional)\n * Boolean value to check whether the current wallet has enough allowance to pay for claiming the tokens before\n * attempting to claim the tokens.\n *\n * Defaults to `true`.\n *\n * @twfeature ERC20ClaimPhasesV2 | ERC20ClaimPhasesV1 | ERC20ClaimConditionsV2 | ERC20ClaimConditionsV1\n * @token\n */\nfunction useClaimToken(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const erc20 = getErc20(contract);\n return useMutation(async data => {\n invariant(data.to, 'No \"to\" address provided');\n if (erc20) {\n invariant(erc20?.claimTo, \"contract does not support claimTo\");\n return await erc20.claimTo(data.to, data.amount, {\n checkERC20Allowance: data.checkERC20Allowance\n });\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for transferring tokens on an ERC20 contract.\n *\n * Available to use on contracts that implement the [ERC20](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20)\n * interface, such as the [Token](https://thirdweb.com/thirdweb.eth/TokenERC20) contract.\n *\n * The wallet address that initiates this transaction must have a balance of tokens\n * greater than or equal to the amount being transferred.\n *\n * @example\n * ```jsx\n * import { useContract, useTransferToken, Web3Button } from \"@thirdweb-dev/react\";\n *\n * const contractAddress = \"{{contract_address}}\";\n * const toAddress = \"{{to_address}}\";\n * const amount = \"{{amount}}\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const {\n * mutate: transferTokens,\n * isLoading,\n * error,\n * } = useTransferToken(contract);\n *\n * return (\n * \n * transferTokens({\n * to: toAddress, // Address to transfer to\n * amount: amount, // Amount to transfer\n * })\n * }\n * >\n * Transfer\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns A mutation object to transfer tokens\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useTransferToken(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### to\n * The wallet address to transfer tokens to.\n *\n * #### amount\n * The quantity of tokens to transfer. Can be a `string` or `number`.\n *\n * @twfeature ERC20\n * @token\n */\nfunction useTransferToken(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const erc20 = getErc20(contract);\n return useMutation(data => {\n const {\n to,\n amount\n } = data;\n if (erc20) {\n invariant(erc20?.transfer, \"contract does not support transfer\");\n return erc20.transfer(to, amount);\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * A hook to transfer native token (of the active chain) to another wallet\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const {\n * mutate: transferNativeToken,\n * isLoading,\n * error,\n * } = useTransferNativeToken();\n *\n * if (error) {\n * console.error(\"failed to transfer tokens\", error);\n * }\n *\n * return (\n * transferNativeToken({ to: \"{{wallet_address}}\", amount: \"0.1\" })}\n * >\n * Transfer\n * \n * );\n * };\n * ```\n *\n * @returns A Mutation object to transfer native tokens\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useTransferNativeToken();\n * ```\n *\n * ### options\n * The mutation function takes an object containing `to` and `amount` properties.\n *\n * - `to` - The wallet address to transfer tokens to. Must be a `string`.\n * - `amount` - The amount of tokens to transfer. Must be a `number`.\n *\n * @token\n */\nfunction useTransferNativeToken() {\n const sdk = useSDK();\n const activeChainId = useSDKChainId();\n const queryClient = useQueryClient();\n return useMutation(data => {\n const {\n to,\n amount\n } = data;\n invariant(sdk, \"SDK is not initialized\");\n return sdk.wallet.transfer(to, amount);\n }, {\n onSettled: () => invalidateBalances(queryClient, activeChainId)\n });\n}\n\n/**\n * Hook for transferring ERC20 tokens to multiple recipients in a single transaction (i.e. airdrop).\n *\n * Available to use on contracts that implement the [ERC20](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20) interface.\n *\n * The wallet that initiates this transaction must have sufficient balance to cover the total amount of tokens being transferred\n * and must have transfer permissions on the contract, i.e. tokens are not soulbound.\n *\n * @example\n *\n * Provide your token contract instance from the `useContract` hook to the hook.\n *\n * Then, provide an array of objects with the `to` and `amount` properties to the function.\n *\n * ```jsx\n * import {\n * useTransferBatchToken,\n * useContract,\n * Web3Button,\n * } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress, \"token\");\n * const {\n * mutateAsync: transferBatchToken,\n * isLoading,\n * error,\n * } = useTransferBatchToken(contract);\n *\n * return (\n * \n * transferBatchToken([\n * {\n * to: \"{{wallet_address}}\", // Transfer 10 tokens to a wallet\n * amount: 10,\n * },\n * {\n * to: \"{{wallet_address}}\", // Transfer 20 tokens to another wallet\n * amount: 20,\n * },\n * ])\n * }\n * >\n * Transfer Batch Tokens\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns A Mutation object to transfer batch tokens\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useTransferBatchToken(contract);\n * ```\n *\n * ### options\n *\n * The mutation function takes an array of objects containing `to` and `amount` properties.\n *\n * - `to` - The wallet address to transfer tokens to. Must be a `string`.\n * - `amount` - The amount of tokens to transfer. Must be a `number`.\n *\n * @twfeature ERC20\n * @token\n */\nfunction useTransferBatchToken(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const erc20 = getErc20(contract);\n return useMutation(data => {\n if (erc20) {\n invariant(erc20.transferBatch, \"contract does not support transferBatch\");\n const convertedData = data.map(token => ({\n toAddress: token.to,\n amount: token.amount\n }));\n return erc20.transferBatch(convertedData);\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n * Hook for burning ERC20 tokens on a smart contract.\n *\n * Available to use on smart contracts that implement the [ERC20](https://portal.thirdweb.com/contracts/build/extensions/erc-20/ERC20) standard.\n *\n * @example\n *\n * ```jsx\n * import { useBurnToken, useContract, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { contract } = useContract(contractAddress);\n * const { mutateAsync: burnToken, isLoading, error } = useBurnToken(contract);\n *\n * return (\n * \n * burnToken({\n * amount: \"10\", // Amount of tokens to burn\n * })\n * }\n * >\n * Burn Token\n * \n * );\n * }\n * ```\n *\n * @param contract - Instance of a `TokenContract`\n *\n * @returns\n * A mutation object to burn tokens from the connected wallet\n * ```ts\n * const { mutateAsync, isLoading, error } = useBurnToken(contract);\n * ```\n *\n * ### options\n * The mutation function takes an object as an argument with the following properties:\n *\n * #### amount (required)\n * The amount of tokens to burn.\n *\n * The wallet initiating this transaction must have at least this amount of tokens.\n *\n * @twfeature ERC20Burnable\n * @token\n */\nfunction useBurnToken(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n const erc20 = getErc20(contract);\n return useMutation(data => {\n const {\n amount\n } = data;\n requiredParamInvariant(contract, \"contract is undefined\");\n if (erc20) {\n invariant(erc20.burn, \"contract does not support burn\");\n return erc20.burn(amount);\n }\n invariant(false, \"Smart contract is not a valid erc20 contract\");\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Get all accounts\n *\n * @example\n * ```javascript\n * const { data: accounts, isLoading, error } = useAccounts(contract);\n * ```\n *\n * @param contract - Instance of a account factory contract\n * @returns Query result object that includes an array of all accounts with their associated admin\n * @twfeature AccountFactory\n * @smartWallet\n */\nfunction useAccounts(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.accountFactory.getAll(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.accountFactory.getAllAccounts, \"Contract instance does not support contract.accountFactory.getAllAccounts\");\n return contract.accountFactory.getAllAccounts();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Get all accounts associated with the provided address\n *\n * @example\n * ```javascript\n * const { data: accountsForAddress, isLoading, error } = useAccountsForAddress(contract, \"{{account_address}}\");\n * ```\n *\n * @param contract - Instance of a account factory contract\n * @param address - The address to get associated accounts for\n * @returns Query result object that includes an array of all accounts associated with the address\n *\n * @twfeature AccountFactory\n * @smartWallet\n */\nfunction useAccountsForAddress(contract, address) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.accountFactory.getAllForAddress(contractAddress, address), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.accountFactory.getAssociatedAccounts, \"Contract instance does not support contract.accountFactory.getAssociatedAccounts\");\n return contract.accountFactory.getAssociatedAccounts(address || \"\");\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Check if a account has been deployed for the given admin in the account factory contract\n *\n * @example\n * ```javascript\n * const { data: isAccountDeployed, isLoading, error } = useIsAccountDeployed(contract);\n * ```\n *\n * @param contract - Instance of a account factory contract\n * @returns A boolean indicating if a account has been deployed for the given admin\n * @twfeature AccountFactory\n * @smartWallet\n */\nfunction useIsAccountDeployed(contract, admin, extraData) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.accountFactory.isAccountDeployed(contractAddress, admin), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.accountFactory.isAccountDeployed, \"Contract instance does not support contract.accountFactory.getAllAccounts\");\n invariant(admin, \"No account address provided\");\n return contract.accountFactory.isAccountDeployed(admin, extraData);\n }, {\n enabled: !!contract\n });\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n/**\n * Create a account in the account factory contract\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const { contract } = useContract(\"{{contract_address}}\");\n * const {\n * mutate: createAccount,\n * isLoading,\n * error,\n * } = useCreateAccount(contract);\n *\n * if (error) {\n * console.error(\"failed to create account\", error);\n * }\n *\n * return (\n * createAccount(\"0x...\")}\n * >\n * Create Account\n * \n * );\n * };\n * ```\n *\n * @param contract - Instance of a account factory contract\n * @returns A mutation object to create a account\n * @twfeature AccountFactory\n * @smartWallet\n */\nfunction useCreateAccount(contract) {\n const activeChainId = useSDKChainId();\n const contractAddress = contract?.getAddress();\n const queryClient = useQueryClient();\n return useMutation(async (admin, extraData) => {\n requiredParamInvariant(contract, \"contract is undefined\");\n return contract.accountFactory.createAccount(admin, extraData);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/** **********************/\n/** READ HOOKS **/\n/** **********************/\n\n/**\n * Get all signers of account\n *\n * @example\n * ```javascript\n * const { data: accounts, isLoading, error } = useAccountSigners(contract);\n * ```\n *\n * @param contract - Instance of a `SmartContract`\n * @returns hook's `data` property contains an array of all signers\n * @twfeature Account\n * @smartWallet\n */\nfunction useAccountSigners(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.account.signers(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.account.getAllSigners, \"Contract instance does not support contract.account.getAllSigners\");\n return contract.account.getAllSigners();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Get all the admins on a smart wallet account\n *\n * @example\n * ```javascript\n * const { data: accounts, isLoading, error } = useAccountAdmins(contract);\n * ```\n *\n * @param contract - Instance of `SmartContract`\n * @returns The hook's `data` property, once loaded, contains an array of all admins of the provided account\n * @twfeature Account\n * @smartWallet\n */\nfunction useAccountAdmins(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.account.signers(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.account.getAllAdmins, \"Contract instance does not support contract.account.getAllAdmins\");\n return contract.account.getAllAdmins();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Get all signers and admins on a smart wallet account.\n *\n * ```jsx\n * import { useAccountAdminsAndSigners } from \"@thirdweb-dev/react\";\n *\n * const { data: accounts, isLoading, error } = useAccountAdminsAndSigners(contract);\n * ```\n *\n * @param contract - Instance of `SmartContract`\n * @returns hook's `data` property containing an array of all admins and signers\n *\n * @twfeature Account\n * @smartWallet\n */\nfunction useAccountAdminsAndSigners(contract) {\n const contractAddress = contract?.getAddress();\n return useQueryWithNetwork(cacheKeys.contract.account.signers(contractAddress), () => {\n requiredParamInvariant(contract, \"No Contract instance provided\");\n invariant(contract.account.getAllAdminsAndSigners, \"Contract instance does not support contract.account.getAllAdminsAndSigners\");\n return contract.account.getAllAdminsAndSigners();\n }, {\n enabled: !!contract\n });\n}\n\n/** **********************/\n/** WRITE HOOKS **/\n/** **********************/\n\n/**\n * Create and add a session key for the smart wallet account\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const {\n * mutate: createSessionKey,\n * isLoading,\n * error,\n * } = useCreateSessionKey();\n *\n * if (error) {\n * console.error(\"failed to create session key\", error);\n * }\n *\n * return (\n * createSessionKey(\n * keyAddress,\n * {\n * approvedCallTargets: [\"0x...\"], // the addresses of contracts that the session key can call\n * nativeTokenLimitPerTransaction: 0.1, // the maximum amount of native token (in ETH) that the session key can spend per transaction\n * startDate: new Date(), // the date when the session key becomes active\n * expirationDate = new Date(Date.now() + 24 * 60 * 60 * 1000); // the date when the session key expires\n * }\n * )}\n * >\n * Create Session Key\n * \n * );\n * };\n * ```\n *\n * @twfeature Account\n *\n * @returns Mutation object to create and add a session key for the smart wallet\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useCreateSessionKey();\n * ```\n *\n * ### options\n * The mutation function takes an object with the following properties as argument:\n *\n * #### address\n * The address to add as an admin on the account as a `string`.\n *\n * #### approvedCallTargets\n * An array of addresses that the session key can call as a `string[]`.\n *\n * #### nativeTokenLimitPerTransaction\n * The maximum amount of native token (in ETH) that the session key can spend per transaction as a `number`.\n *\n * #### startDate\n * The date when the session key becomes active as a `Date`.\n *\n * #### startDate\n * The date when the session key expires as a `Date`.\n *\n * @smartWallet\n */\nfunction useCreateSessionKey() {\n const smartWallet = useWallet(\"smartWallet\");\n return useMutation(async args => {\n requiredParamInvariant(smartWallet, \"wallet is not connected\");\n return smartWallet.createSessionKey(args.keyAddress, args.permissions);\n });\n}\n\n/**\n * Revoke a session key (or signer) on the smart wallet account\n *\n * @example\n * ```jsx\n * import { useRevokeSessionKey } from \"@thirdweb-dev/react\";\n *\n * // Your ERC20 token smart contract address\n * const keyAddress = \"{{key_address}}\";\n *\n * const Component = () => {\n * const { mutate: revokeSessionKey, isLoading, error } = useRevokeSessionKey();\n *\n * if (error) {\n * console.error(\"failed to revoke session key\", error);\n * }\n *\n * return (\n * \n * );\n * };\n * ```\n *\n * @twfeature Account\n * @returns\n * Mutation object to revoke a session key (or signer) on the smart wallet\n *\n * ```ts\n * const { mutateAsync, isLoading, error } = useRevokeSessionKey();\n * ```\n *\n * The mutation function takes an address of type `string` to remove as an admin.\n *\n * @smartWallet\n */\nfunction useRevokeSessionKey() {\n const smartWallet = useWallet(\"smartWallet\");\n return useMutation(async keyAddress => {\n requiredParamInvariant(smartWallet, \"wallet is not connected\");\n return smartWallet.revokeSessionKey(keyAddress);\n });\n}\n\n/**\n * Add an additional admin on the smart wallet account\n *\n * @example\n * ```jsx\n * import { useAddAdmin } from \"@thirdweb-dev/react\";\n *\n * const adminAddress = \"{{admin_address}}\";\n *\n * const Component = () => {\n * const { mutate: addAdmin, isLoading, error } = useAddAdmin();\n *\n * if (error) {\n * console.error(\"failed to add admin\", error);\n * }\n *\n * return (\n * \n * );\n * };\n * ```\n *\n * @returns mutation object to add given address as an admin\n *\n * @twfeature Account\n * @smartWallet\n */\nfunction useAddAdmin() {\n const smartWallet = useWallet(\"smartWallet\");\n return useMutation(async adminAddress => {\n requiredParamInvariant(smartWallet, \"wallet is not connected\");\n return smartWallet.addAdmin(adminAddress);\n });\n}\n\n/**\n * Remove an admin on the smart wallet account. This action has to be performed by an admin on the account.\n *\n * ```jsx\n * import { useRemoveAdmin } from \"@thirdweb-dev/react\";\n *\n * const adminAddress = \"{{admin_address}}\";\n *\n * const Component = () => {\n * const { mutate: removeAdmin, isLoading, error } = useRemoveAdmin();\n *\n * if (error) {\n * console.error(\"failed to remove admin\", error);\n * }\n *\n * return (\n * \n * );\n * };\n * ```\n *\n * @twfeature Account\n * @returns mutation object to remove given address as an admin\n * @smartWallet\n */\nfunction useRemoveAdmin() {\n const smartWallet = useWallet(\"smartWallet\");\n return useMutation(async adminAddress => {\n requiredParamInvariant(smartWallet, \"wallet is not connected\");\n return smartWallet.removeAdmin(adminAddress);\n });\n}\n\n/**\n * Hook to get `ThirdwebAuth` instance\n * @auth\n */\nfunction useAuth() {\n const wallet = useWallet();\n const authConfig = useThirdwebAuthContext();\n return useMemo(() => {\n if (!authConfig?.domain) {\n return undefined;\n }\n if (!wallet) {\n return undefined;\n }\n return new ThirdwebAuth(wallet, authConfig.domain);\n }, [wallet, authConfig?.domain]);\n}\n\n/**\n * Hook to prompt the user to sign in with their wallet using [auth](https://portal.thirdweb.com/wallets/auth)\n *\n * Requires the `authConfig` prop to be configured on the `ThirdwebProvider`\n *\n * @example\n *\n * ```jsx\n * import { useLogin } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { isLoading, login } = useLogin();\n *\n * return (\n * \n * );\n * }\n * ```\n *\n * @returns A function to invoke to login with the connected wallet, and an `isLoading` state that indicates if the login request is in progress\n *\n * ### login\n *\n * The `login` function accepts an optional `LoginOptions` object as an argument.\n *\n * This configuration follows the [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) Sign in with Ethereum standard.\n *\n * ```jsx\n * import { useLogin, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { login, isLoading } = useLogin();\n *\n * const loginOptions = {\n * domain: \"https://your-domain.com\", // Your dapp domain\n * statement: \"My statement\", // Text that the user will sign\n * uri: \"https://your-domain.com/login\", // RFC 3986 URI referring to the resource that is the subject of the signing\n * version: \"1.0\", // The current version of the message, which MUST be 1 for this specification.\n * chainId: \"mainnet\", // Chain ID to which the session is bound\n * nonce: \"my-nonce\", // randomized token typically used to prevent replay attacks\n * expirationTime: new Date(2021, 1, 1), // When this message expires\n * invalidBefore: new Date(2020, 12, 1), // When this message becomes valid\n * resources: [\"balance\", \"history\", \"info\"], // A list of information or references to information the user wishes to have resolved\n * };\n *\n * return login(loginOptions)}>Login;\n * }\n * ```\n *\n * @auth\n */\nfunction useLogin() {\n const queryClient = useQueryClient();\n const authConfig = useThirdwebAuthContext();\n const wallet = useWallet();\n const login = useMutation({\n mutationFn: async () => {\n invariant(authConfig, \"Please specify an authConfig in the ThirdwebProvider\");\n invariant(wallet, \"You need a connected wallet to login.\");\n invariant(authConfig.authUrl, \"Please specify an authUrl in the authConfig.\");\n const address = await wallet.getAddress();\n const chainId = await wallet.getChainId();\n let res = await fetch(`${authConfig.authUrl}/payload`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n address,\n chainId: chainId.toString()\n })\n });\n if (!res.ok) {\n throw new Error(`Failed to get payload with status code ${res.status}`);\n }\n let payloadData;\n try {\n ({\n payload: payloadData\n } = await res.json());\n } catch {\n throw new Error(`Failed to get payload`);\n }\n const payload = await signLoginPayload({\n wallet,\n payload: payloadData\n });\n res = await fetch(`${authConfig.authUrl}/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n payload\n }),\n credentials: \"include\"\n });\n if (!res.ok) {\n const data = await res.json();\n if (data.error) {\n throw new Error(data.error);\n }\n throw new Error(`Login request failed with status code ${res.status}`);\n }\n const {\n token\n } = await res.json();\n await authConfig.secureStorage?.setItem(AUTH_TOKEN_STORAGE_KEY, token);\n queryClient.invalidateQueries(cacheKeys.auth.user());\n return token;\n }\n });\n return {\n login: () => login.mutateAsync(),\n isLoading: login.isLoading\n };\n}\n\n/**\n * @auth\n */\n\n/**\n * Hook for retrieving information about the currently signed-in user using [auth](https://portal.thirdweb.com/wallets/auth).\n *\n * Useful to get the user's address and session data, or `undefined` if no user is signed in.\n *\n * ```jsx\n * import { useUser } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { user, isLoggedIn, isLoading } = useUser();\n * }\n * ```\n *\n * @auth\n *\n */\nfunction useUser() {\n const authConfig = useThirdwebAuthContext();\n const {\n data: user,\n isLoading\n } = useQuery(cacheKeys.auth.user(), async () => {\n invariant(authConfig, \"Please specify an authConfig in the ThirdwebProvider\");\n invariant(authConfig.authUrl, \"Please specify an authUrl in the authConfig.\");\n const token = await authConfig.secureStorage?.getItem(AUTH_TOKEN_STORAGE_KEY);\n // We include credentials so we can getUser even if API is on different URL\n const params = {\n credentials: \"include\",\n ...(token ? {\n headers: {\n Authorization: `Bearer ${token}`\n }\n } : {})\n };\n const res = await fetch(`${authConfig.authUrl}/user`, params);\n return await res.json();\n }, {\n enabled: !!authConfig\n });\n return {\n user,\n isLoggedIn: !!user,\n isLoading\n };\n}\n\nconst warnSet = new Set();\nfunction showDeprecationWarning(deprecated, replacement) {\n // deprecation warnings only in dev only in dev\n if (__DEV__) {\n if (warnSet.has(`${deprecated}:${replacement}`)) {\n return;\n }\n warnSet.add(`${deprecated}:${replacement}`);\n console.warn(`\\`${deprecated}\\` is deprecated and will be removed in a future major version. Please use \\`${replacement}\\` instead.`);\n }\n}\n\n/**\n * Hook for getting an instance of an `EditionDrop` contract. This contract is used to interface with ERC1155 compliant NFTs that can be lazily minted.\n * @param contractAddress - The address of the Edition Drop contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"edition-drop\")\n *\n * // Now you can use the edition drop contract in the rest of the component\n *\n * // For example, this function will let the connected wallet claim a new NFT\n * async function claim(tokenId, quantity) {\n * await contract.claim(tokenId, quantity)\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const editionDrop = useEditionDrop(\"0x1234...\");\n * + const editionDrop = useContract(\"0x1234...\", \"edition-drop\").contract;\n * ```\n * @internal\n */\nfunction useEditionDrop(contractAddress) {\n showDeprecationWarning(`useEditionDrop(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"edition-drop\")`);\n return useContract(contractAddress, \"edition-drop\").contract;\n}\n\n/**\n *\n * Hook for getting an instance of an `Edition` contract. This contract is used to interface with ERC1155 compliant NFTs.\n * @param contractAddress - The address of the Edition contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"edition\")\n *\n * // Now you can use the edition contract in the rest of the component\n *\n * // For example, this function will return all the NFTs on this contract\n * async function getNFTs() {\n * const nfts = await contract.getAll()\n * return nfts\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const edition = useEdition(\"0x1234...\");\n * + const edition = useContract(\"0x1234...\", \"edition\").contract;\n * ```\n * @internal\n */\nfunction useEdition(contractAddress) {\n showDeprecationWarning(`useEdition(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"edition\")`);\n return useContract(contractAddress, \"edition\").contract;\n}\n\n/**\n * Hook for getting an instance of an `NFTDrop` contract. This contract is meant to interface with ERC721 compliant NFTs that can be lazily minted.\n * @param contractAddress - The address of the NFT Drop contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"nft-drop\")\n *\n * // Now you can use the nft drop contract in the rest of the component\n *\n * // For example, this function will let the connected wallet claim a new NFT\n * async function claim(quantity) {\n * await contract.claim(quantity)\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const nftDrop = useNFTDrop(\"0x1234...\");\n * + const nftDrop = useContract(\"0x1234...\", \"nft-drop\").contract;\n * ```\n * @internal\n */\nfunction useNFTDrop(contractAddress) {\n showDeprecationWarning(`useNFTDrop(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"nft-drop\")`);\n return useContract(contractAddress, \"nft-drop\").contract;\n}\n\n/**\n * Hook for getting an instance of a `Marketplace` contract. This contract is used to support marketplace for purchase and sale of on-chain assets.\n * @param contractAddress - The address of the Marketplace contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"marketplace\")\n *\n * // Now you can use the marketplace contract in the rest of the component\n *\n * // For example, this function will return all the listings on the marketplace\n * async function getListings() {\n * const listings = await contract.getAll()\n * return listings\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const marketplace = useMarketplace(\"0x1234...\");\n * + const marketplace = useContract(\"0x1234...\", \"marketplace\").contract;\n * ```\n * @internal\n */\nfunction useMarketplace(contractAddress) {\n showDeprecationWarning(`useMarketplace(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"marketplace\")`);\n return useContract(contractAddress, \"marketplace\").contract;\n}\n\n/**\n * Hook for getting an instance of an `NFTCollection` contract. This contract is meant to interface with ERC721 compliant NFTs.\n * @param contractAddress - The address of the NFT Collection contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract, isLoading, error } = useContract(\"\", \"nft-collection\")\n *\n * // Now you can use the nftCollection contract in the rest of the component\n *\n * // For example, this function will return all the NFTs on this contract\n * async function getNFTs() {\n * const nfts = await contract.getAll()\n * return nfts\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const nftCollection = useNFTCollection(\"0x1234...\");\n * + const nftCollection = useContract(\"0x1234...\", \"nft-collection\").contract;\n * ```\n * @internal\n */\nfunction useNFTCollection(contractAddress) {\n showDeprecationWarning(`useNFTCollection(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"nft-collection\")`);\n return useContract(contractAddress, \"nft-collection\").contract;\n}\n\n/**\n * Hook for getting an instance of a `Pack` contract. This contract supports the creation of on-chain luck-based lootboxes.\n * @param contractAddress - The address of the Pack contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = usePack(\"\", \"pack\")\n *\n * // Now you can use the pack contract in the rest of the component\n *\n * // For example, this function will get all the packs on this contract\n * async function getPacks() {\n * const packs = await contract.getAll()\n * return packs\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const pack = usePack(\"0x1234...\");\n * + const pack = useContract(\"0x1234...\", \"pack\").contract;\n * ```\n *\n * @internal\n */\nfunction usePack(contractAddress) {\n showDeprecationWarning(`usePack(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"pack\")`);\n return useContract(contractAddress, \"pack\").contract;\n}\n\n/**\n * Hook for getting an instance of a `Token` contract. This contract supports ERC20 compliant tokens.\n * @param contractAddress - The address of the Token contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"token\")\n *\n * // Now you can use the token contract in the rest of the component\n *\n * // For example, this function will get the connected wallets token balance\n * async function balance() {\n * const balance = await contract.balance()\n * return balance\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const token = useToken(\"0x1234...\");\n * + const token = useContract(\"0x1234...\", \"token\").contract;\n * ```\n *\n * @internal\n */\nfunction useToken(contractAddress) {\n showDeprecationWarning(`useToken(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"token\")`);\n return useContract(contractAddress, \"token\").contract;\n}\n\n/**\n * Hook for getting an instance of a `Token Drop` contract.\n * @param contractAddress - The address of the Token Drop contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"token-drop\")\n *\n * // Now you can use the token drop contract in the rest of the component\n *\n * // For example, this function will get the connected wallets token balance\n * async function balance() {\n * const balance = await contract.balance()\n * return balance\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const token = useTokenDrop(\"0x1234...\");\n * + const token = useContract(\"0x1234...\", \"token-drop\").contract;\n * ```\n *\n * @token\n * @internal\n */\nfunction useTokenDrop(contractAddress) {\n showDeprecationWarning(`useTokenDrop(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"token-drop\")`);\n return useContract(contractAddress, \"token-drop\").contract;\n}\n\n/**\n * Hook for getting an instance of an `Vote` contract. This contract enables fully featured voting-based decentralized governance systems.\n * @param contractAddress - The address of the Vote contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"vote\")\n *\n * // Now you can use the vote contract in the rest of the component\n *\n * // For example, this function will get all the proposals on this contract\n * async function getProposals() {\n * const proposals = await contract.getAll()\n * return proposals\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const vote = useVote(\"0x1234...\");\n * + const vote = useContract(\"0x1234...\", \"vote\").contract;\n * ```\n *\n * @internal\n */\nfunction useVote(contractAddress) {\n showDeprecationWarning(`useVote(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"vote\")`);\n return useContract(contractAddress, \"vote\").contract;\n}\n\n/**\n * Hook for getting an instance of a `Split` contract. This contract supports fund distribution to multiple parties.\n * @param contractAddress - The address of the Split contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"split\")\n *\n * // Now you can use the split contract in the rest of the component\n *\n * // For example, this function will return all the recipients of the split\n * async function getRecipients() {\n * const recipients = await contract.getAllRecipients()\n * return recipients\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const split = useSplit(\"0x1234...\");\n * + const split = useContract(\"0x1234...\", \"split\").contract;\n * ```\n * @internal\n */\nfunction useSplit(contractAddress) {\n showDeprecationWarning(`useSplit(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"split\")`);\n return useContract(contractAddress, \"split\").contract;\n}\n\n/**\n * Hook for getting an instance of an `Multiwrap` contract. This contract is an ERC721 in which you can wrap ERC721, ERC1155 and ERC20 tokens.\n * @param contractAddress - The address of the Multiwrap contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"multiwrap\")\n *\n * // Now you can use the multiwrap contract in the rest of the component\n *\n * // For example, this function will let the connected wallet wrap tokens\n * async function wrap(tokensToWrap, wrappedNFTMetadata) {\n * await contract.wrap(tokensToWrap, wrappedNFTMetadata)\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const multiwrap = useMultiwrap(\"0x1234...\");\n * + const multiwrap = useContract(\"0x1234...\", \"multiwrap\").contract;\n * ```\n * @internal\n */\nfunction useMultiwrap(contractAddress) {\n showDeprecationWarning(`useMultiwrap(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"multiwrap\")`);\n return useContract(contractAddress, \"multiwrap\").contract;\n}\n\n/**\n * Hook for getting an instance of an `SignatureDrop` contract. This contract is meant to interface with ERC721 compliant NFTs that can be lazily minted.\n * @param contractAddress - The address of the NFT Drop contract, found in your thirdweb dashboard\n *\n * @example\n * ```javascript\n * import { useContract } from '@thirdweb-dev/react'\n *\n * export default function Component() {\n * const { contract } = useContract(\"\", \"signature-drop\")\n *\n * // Now you can use the Signature drop contract in the rest of the component\n *\n * // For example, this function will let the connected wallet claim a new NFT\n * async function claim(quantity) {\n * await contract.claim(quantity)\n * }\n *\n * ...\n * }\n * ```\n * @public\n * @deprecated\n * This hook is deprecated and will be removed in a future major version. You should use {@link useContract} instead.\n * ```diff\n * - const signatureDrop = useSignatureDrop(\"0x1234...\");\n * + const signatureDrop = useContract(\"0x1234...\", \"signature-drop\").contract;\n * ```\n * @internal\n */\nfunction useSignatureDrop(contractAddress) {\n showDeprecationWarning(`useSignatureDrop(\"${contractAddress || \"0x...\"}\")`, `useContract(\"${contractAddress || \"0x...\"}\", \"signature-drop\")`);\n return useContract(contractAddress, \"signature-drop\").contract;\n}\n\n/**\n * Get the instance of the `ThirdwebStorage` class being used by the `ThirdwebProvider`\n *\n * Allows you to use the TypeScript SDK functionality of [Storage](https://portal.thirdweb.com/infrastructure/storage/overview) in your React app.\n *\n * @example\n *\n * ```jsx\n * import { useStorage } from \"@thirdweb-dev/react\";\n *\n * export default function Component() {\n * const storage = useStorage();\n *\n * // Now you can use the functionality of the ThirdwebStorage class:\n * storage?.download(); // Download a file from IPFS\n * storage?.upload(); // Upload a file to IPFS\n * }\n * ```\n *\n * @remarks\n *\n * ### API Key\n *\n * You will require an API key to use thirdweb’s storage services with the SDK. If you haven’t created a key yet you can do so for free from the [**thirdweb dashboard**](https://thirdweb.com/create-api-key).\n *\n * You can then obtain a `clientId` from the API key which you will need to pass to the `ThirdwebProvider` component:\n *\n *\n * ```jsx\n * import { ThirdwebProvider } from \"@thirdweb-dev/react\";\n *\n * const App = () => {\n * return (\n * \n * \n * \n * );\n * };\n * ```\n *\n * Storage can also be configured using the `storageInterface` prop on `ThirdwebProvider`\n *\n * @storage\n */\nfunction useStorage() {\n const sdk = useSDK();\n return sdk?.storage;\n}\n\n/**\n * Hook for uploading files to IPFS and retrieving the IPFS URI.\n *\n * @example\n * ```jsx\n * import { useStorageUpload } from \"@thirdweb-dev/react\";\n *\n * export default function Component() {\n * const { mutateAsync: upload, isLoading } = useStorageUpload();\n *\n * async function uploadData() {\n * const filesToUpload = [...];\n * const uris = await upload({ data: files });\n * console.log(uris);\n * }\n *\n * return (\n * \n * )\n * }\n * ```\n *\n * @remarks\n * ### API key\n *\n * You will require an API key to use thirdweb’s storage services with the SDK. If you haven’t created a key yet you can do so for free from the [**thirdweb dashboard**](https://thirdweb.com/create-api-key).\n *\n * You can then obtain a `clientId` from the API key which you will need to pass to the [`ThirdwebProvider`](/react/react.thirdwebprovider) component:\n *\n * ```jsx\n * import { ThirdwebProvider } from \"@thirdweb/react\";\n *\n * const App = () => {\n * return (\n * \n * \n * \n * );\n * };\n * ```\n *\n * @param options - Configure the options for your upload\n * ### rewriteFileNames (optional)\n *\n * If specified, will rewrite file names to numbers for use on-chain.\n *\n * Useful to use with NFT contracts that map token IDs to files.\n *\n * ```jsx\n * import { useStorageUpload } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { mutateAsync: upload } = useStorageUpload({\n * rewriteFileNames: {\n * fileStartNumber: 1,\n * },\n * });\n * }\n * ```\n *\n * ### uploadWithGatewayUrl (optional)\n *\n * If specified, any URLs with schemes will be replaced with resolved URLs before upload.\n *\n * ```jsx\n * import { useStorageUpload } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { mutateAsync: upload } = useStorageUpload({\n * uploadWithGatewayUrl: true,\n * });\n * }\n * ```\n *\n * ### onProgress (optional)\n *\n * Callback that gets triggered when file upload progresses.\n *\n * ```jsx\n * import { useStorageUpload } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { mutateAsync: upload } = useStorageUpload({\n * onProgress: (progress) => {\n * console.log(progress);\n * },\n * });\n * }\n * ```\n *\n * ### uploadWithoutDirectory (optional)\n *\n * If specified, will upload a single file without wrapping it in a directory.\n *\n * ```jsx\n * import { useStorageUpload } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const { mutateAsync: upload } = useStorageUpload({\n * uploadWithoutDirectory: true,\n * });\n * }\n * ```\n *\n * @storage\n */\nfunction useStorageUpload(uploadOptions) {\n const sdk = useSDK();\n return useMutation(async _ref => {\n let {\n data,\n options\n } = _ref;\n invariant(sdk, \"sdk must be defined\");\n return await sdk.storage.uploadBatch(data, options || uploadOptions);\n });\n}\n\n/**\n * Hook for checking whether the connected wallet is currently on the correct chain,\n * i.e. the chain specified in the `activeChain` on the `ThirdwebProvider`.\n *\n * @example\n *\n * ```jsx\n * import { useNetworkMismatch } from \"@thirdweb-dev/react\";\n *\n * const App = () => {\n * const isMismatched = useNetworkMismatch();\n * };\n * ```\n *\n * Using this value, you can prompt users to switch their network using the `useSwitchChain` hook.\n *\n * @returns\n * Returns `true` if the `chainId` of the connected wallet is different from the `chainId` of the `activeChain` on the `ThirdwebProvider` component\n *\n * @networkConnection\n */\nfunction useNetworkMismatch() {\n const walletChainId = useChainId();\n const sdkChainId = useSDKChainId();\n if (!sdkChainId) {\n // we don't know yet\n return false;\n }\n if (sdkChainId === -1) {\n // means no network is set in the , so we don't care about the network mismatch\n return false;\n }\n if (!walletChainId) {\n // means no wallet is connected yet, so we don't care about the network mismatch\n return false;\n }\n // check if the chainIds are different\n return sdkChainId !== walletChainId;\n}\n\n/**\n * @internal\n */\nfunction useReadonlySDK(readonlyRpcUrl, sdkOptions, storageInterface) {\n return useMemo(() => {\n return new ThirdwebSDK$1(readonlyRpcUrl, sdkOptions, storageInterface);\n // storageInterface should be constant!\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [readonlyRpcUrl, sdkOptions]);\n}\n\n/**\n * Hook for getting the [ethers signer](https://docs.ethers.org/v5/api/signer/) of the connected wallet.\n *\n * @example\n *\n * ```jsx\n * import { useSigner, Web3Button } from \"@thirdweb-dev/react\";\n *\n * function App() {\n * const signer = useSigner();\n * }\n * ```\n *\n * @returns\n *\n * `Signer` if wallet is connected, otherwise `undefined`.\n *\n * @walletConnection\n */\nfunction useSigner() {\n const context = useContext(ThirdwebConnectedWalletContext);\n const walletCtx = useContext(ThirdwebWalletContext);\n\n // if ThirdwebWalletContext is present, use the signer from there because signer from ThirdwebConnectedWalletContext also uses that signer but it lags behind\n // walletCtx is undefined if only ThirdwebSDKProvider is used\n if (walletCtx) {\n return walletCtx.signer;\n }\n invariant(context, \"useSigner() hook must be used within a or component\");\n return context.signer;\n}\n\n/**\n * @deprecated use `useWallet` instead\n * @internal\n */\nfunction useSupportedWallet(id) {\n const context = useWalletContext();\n const wallet = context?.wallets.find(_wallet => _wallet.id === id);\n if (!wallet) {\n throw new Error(`Wallet with id \"${id}\" is not supported`);\n }\n return wallet;\n}\n\n/**\n * Get App URI of the contract\n *\n * @example\n * ```javascript\n * const { data: contractMetadata, isLoading, error } = useAppURI(contract);\n * ```\n *\n * @param contract - The `SmartContract` instance of the contract to get the appURI of\n * @returns Query result object that includes the appURI of the contract\n * @twfeature AppURI\n * @appURI\n */\nfunction useAppURI(contract) {\n return useQueryWithNetwork(cacheKeys.contract.app.get(contract?.getAddress()), async () => {\n requiredParamInvariant(contract, \"Contract is required\");\n invariant(contract.app, \"Contract does not support app\");\n return await contract.app.get();\n }, {\n enabled: !!contract\n });\n}\n\n/**\n * Set App URI of the contract\n *\n * @example\n * ```jsx\n * const Component = () => {\n * const {\n * mutate: useSetAppURI,\n * isLoading,\n * error,\n * } = useSetAppURI(contract);\n *\n * if (error) {\n * console.error(\"failed to update appURI\", error);\n * }\n *\n * return (\n * useSetAppURI({ uri })}\n * >\n * Update App URI\n * \n * );\n * };\n * ```\n * @param contract - Instance of a `SmartContract`\n * @returns A mutation object to update the appURI of a contract\n *\n * @twfeature AppURI\n * @appURI\n */\nfunction useSetAppURI(contract) {\n const queryClient = useQueryClient();\n const contractAddress = contract?.getAddress();\n const activeChainId = useSDKChainId();\n return useMutation(params => {\n requiredParamInvariant(contract, \"Contract is required\");\n invariant(contract.app, \"Contract does not support app\");\n return contract.app.set(params.uri);\n }, {\n onSettled: () => invalidateContractAndBalances(queryClient, contractAddress, activeChainId)\n });\n}\n\n/**\n *\n * @internal\n */\nfunction useENS() {\n const address = useAddress();\n const supportedChains = useSupportedChains();\n const {\n clientId\n } = useWalletContext();\n const ethereum = supportedChains.find(chain => chain.chainId === 1);\n return useQuery({\n queryKey: [\"ens\", address, ethereum?.rpc],\n cacheTime: 60 * 60 * 24 * 1000,\n // 24h\n staleTime: 60 * 60 * 1000,\n // 1h\n retry: false,\n enabled: !!address,\n queryFn: async () => {\n if (!address) {\n return null;\n }\n const provider = getChainProvider(1, {\n clientId,\n supportedChains: ethereum ? [{\n chainId: 1,\n rpc: [...ethereum.rpc],\n nativeCurrency: ethereum.nativeCurrency,\n slug: ethereum.slug\n }] : undefined\n });\n if (provider instanceof providers.JsonRpcProvider) {\n const [ens, avatarUrl] = await Promise.all([provider.lookupAddress(address), provider.getAvatar(address)]);\n return {\n ens,\n avatarUrl\n };\n }\n return {\n ens: await provider.lookupAddress(address),\n avatarUrl: null\n };\n }\n });\n}\n\n/**\n * @internal\n */\nfunction shortenString(str) {\n let extraShort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return `${str.substring(0, extraShort ? 4 : 6)}...${str.substring(str.length - (extraShort ? 3 : 4))}`;\n}\n\n/**\n * This function shortens an address if it is a valid EVM address.\n *\n * @param address - The address to shorten\n * @param extraShort - If true, show the first 4 and last 3 characters\n * @returns The shortened address\n *\n * @remarks\n * Note that this function will not check if the address is an ENS.\n *\n * @example Calling shortenAddress with extraShort set to true\n * ```ts\n * const address = shortenIfAddress(\"0x1234567890123456789012345678901234567890\", true); // result will be \"0x1234...890\"\n * ```\n *\n */\nfunction shortenAddress(address) {\n let extraShort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!address) {\n return \"\";\n }\n try {\n const formattedAddress = utils.getAddress(address);\n return shortenString(formattedAddress, extraShort);\n } catch {\n return address;\n }\n}\n\n/**\n * @internal\n */\nfunction shortenIfAddress(address) {\n let extraShort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (address && utils.isAddress(address)) {\n return shortenAddress(address, extraShort);\n }\n return address || \"\";\n}\n\n/**\n * @internal\n */\nfunction isEnsName(name) {\n return name?.endsWith(\".eth\");\n}\n\n/**\n * @internal\n */\nfunction isPossibleEVMAddress(address, ignoreEns) {\n if (!address) {\n return false;\n }\n if (isEnsName(address) && !ignoreEns) {\n return true;\n }\n return utils.isAddress(address);\n}\n\n/**\n * Hook that listens to transactions on a given chain for a given address.\n *\n * ```javascript\n * import { useWatchTransactions } from \"@thirdweb-dev/react\"\n * ```\n *\n * @example\n * ```js\n * const transactions = useWatchTransactions({\n * address: \"0x1234\",\n * network: \"ethereum\",\n * });\n * ```\n *\n * @param watchTransactionParams - Options for watching transactions\n *\n * #### address\n * The address to watch transactions for\n *\n * #### network\n * The network to watch transactions on\n *\n * #### sdkOptions\n * Options to pass to the thirdweb SDK\n *\n * @returns An array of `Transaction` objects\n */\nfunction useWatchTransactions(watchTransactionParams) {\n const {\n address,\n network,\n sdkOptions,\n // default to 1000, max 10k\n limit: paramLimit = 1000\n } = watchTransactionParams;\n // max limit of 10k transactions to let the array grow to, then we'll start dropping the oldest ones\n const limit = Math.min(paramLimit, 10000);\n const [transactions, setTransactions] = useState([]);\n useEffect(() => {\n if (!address || !network) {\n // cant run yet\n return;\n }\n // since this already returns a function to unsubscribe, we can just return it\n return watchTransactions({\n address,\n network,\n sdkOptions,\n onTransactions: newTransactions => {\n setTransactions(prevTransactions => {\n const mergedTxns = [...newTransactions, ...prevTransactions];\n // only keep the latest transactions\n return mergedTxns.slice(0, limit);\n });\n }\n });\n }, [address, limit, network, sdkOptions]);\n return transactions;\n}\n\n/**\n * Hook to get the history of purchases a given wallet has performed.\n *\n * This hook is a React Query wrapper of the [`getBuyWithCryptoHistory`](https://portal.thirdweb.com/references/typescript/v4/getBuyWithCryptoHistory) function.\n * You can also use that function directly\n * @param params - object of type [`BuyWithCryptoHistoryParams`](https://portal.thirdweb.com/references/typescript/v4/BuyWithCryptoHistoryParams)\n * @param queryParams - options to configure the react query\n * @returns A React Query object which contains the data of type [`BuyWithCryptoHistoryData`](https://portal.thirdweb.com/references/typescript/v4/BuyWithCryptoHistoryData)\n * @example\n * ```tsx\n * import { useBuyWithCryptoHistory } from \"@thirdweb-dev/react\";\n *\n * function Component() {\n * const buyWithCryptoHistory = useBuyWithCryptoHistory(params);\n * console.log(buyWithCryptoHistory.data);\n * return
...
;\n * }\n * ```\n */\nfunction useBuyWithCryptoHistory(params, queryParams) {\n return useQuery({\n ...queryParams,\n queryKey: [\"buyWithCryptoHistory\", params],\n queryFn: () => {\n if (!params) {\n throw new Error(\"Swap params are required\");\n }\n return getBuyWithCryptoHistory(params);\n },\n enabled: !!params\n });\n}\n\n/**\n * Hook to get a quote of type [`BuyWithCryptoQuote`](https://portal.thirdweb.com/references/typescript/v4/BuyWithCryptoQuote) for buying tokens with crypto.\n * This quote contains the information about the purchase such as token amounts, processing fees, estimated time etc.\n *\n * This hook is a React Query wrapper of the [`getBuyWithCryptoQuote`](https://portal.thirdweb.com/references/typescript/v4/getBuyWithCryptoQuote) function.\n * You can also use that function directly\n *\n * Once you have the quote, you can use the [`useBuyWithCryptoStatus`](https://portal.thirdweb.com/references/react/v4/useBuyWithCryptoStatus) function to get the status of the swap transaction.\n * @param params - object of type [`GetBuyWithCryptoQuoteParams`](https://portal.thirdweb.com/references/react/v4/GetBuyWithCryptoQuoteParams)\n * @param queryParams - options to configure the react query\n * @returns A React Query object which contains the data of type [`BuyWithCryptoQuote`](https://portal.thirdweb.com/references/typescript/v4/BuyWithCryptoQuote)\n * @example\n * ```tsx\n * import { useSigner, useBuyWithCryptoQuote, useBuyWithCryptoStatus } from \"@thirdweb-dev/react\";\n *\n * function Component() {\n * const buyWithCryptoQuoteQuery = useBuyWithCryptoQuote* (swapParams);\n * const signer = useSigner();\n * const [buyTxHash, setBuyTxHash] = useState();\n * const buyWithCryptoStatusQuery = useBuyWithCryptoStatus* (buyTxHash ? {\n * clientId: \"YOUR_CLIENT_ID\",\n * transactionHash: buyTxHash,\n * }: undefined);\n *\n * async function handleBuyWithCrypto() {\n * if (!buyWithCryptoQuoteQuery.data || !signer) {\n * return;\n * }\n *\n * // if approval is required\n * if (buyWithCryptoQuoteQuery.data.approval) {\n * const approveTx = await signer.sendTransaction* (buyWithCryptoQuoteQuery.data.approval);\n * await approveTx.wait();\n * }\n *\n * // send the transaction to buy crypto\n * // this promise is resolved when user confirms the transaction * in the wallet and the transaction is sent to the blockchain\n * const buyTx = await signer.sendTransaction* (buyWithCryptoQuoteQuery.data.transactionRequest);\n * await buyTx.wait();\n *\n * // set buyTx.hash to poll the status of the swap * transaction\n * setBuyTxHash(buyTx.hash);\n * }\n *\n * if (buyWithCryptoStatusQuery.data) {\n * console.log('buyWithCryptoStatusQuery.data', * buyWithCryptoStatusQuery.data)\n * }\n * return \n * }\n * ```\n */\nfunction useBuyWithCryptoQuote(params, queryParams) {\n return useQuery({\n ...queryParams,\n queryKey: [\"buyWithCryptoQuote\", params],\n queryFn: () => {\n if (!params) {\n throw new Error(\"Swap params are required\");\n }\n if (!params?.clientId) {\n throw new Error(\"Client ID is required in swap params\");\n }\n return getBuyWithCryptoQuote(params);\n },\n enabled: !!params\n });\n}\n\n// TODO: use the estimate to vary the polling interval\nconst DEFAULT_POLL_INTERVAL = 5000;\n\n/**\n * A hook to get a status of Buy with Crypto transaction.\n *\n * This hook is a React Query wrapper of the [`getBuyWithCryptoStatus`](https://portal.thirdweb.com/references/typescript/v4/getBuyWithCryptoStatus) function.\n * You can also use that function directly.\n * @param params - object of type [`BuyWithCryptoTransaction`](https://portal.thirdweb.com/references/react/v4/BuyWithCryptoTransaction)\n * @returns A react query object which contains the data of type [`BuyWithCryptoStatus`](https://portal.thirdweb.com/references/typescript/v4/BuyWithCryptoStatus)\n * @example\n * ```tsx\n * import { useSigner, useBuyWithCryptoQuote, useBuyWithCryptoStatus } from \"@thirdweb-dev/react\";\n *\n * function Component() {\n * const buyWithCryptoQuoteQuery = useBuyWithCryptoQuote(swapParams);\n * const signer = useSigner();\n * const [buyTxHash, setBuyTxHash] = useState();\n * const buyWithCryptoStatusQuery = useBuyWithCryptoStatus* (buyTxHash ? {\n * clientId: \"YOUR_CLIENT_ID\",\n * transactionHash: buyTxHash,\n * }: undefined);\n *\n * async function handleBuyWithCrypto() {\n * if (!buyWithCryptoQuoteQuery.data || !signer) {\n * return;\n * }\n *\n * // if approval is required\n * if (buyWithCryptoQuoteQuery.data.approval) {\n * const approveTx = await signer.sendTransaction(buyWithCryptoQuoteQuery.data.approval);\n * await approveTx.wait();\n * }\n *\n * // send the transaction to buy crypto\n * // this promise is resolved when user confirms the transaction * in the wallet and the transaction is sent to the blockchain\n * const buyTx = await signer.sendTransaction(buyWithCryptoQuoteQuery.data.transactionRequest);\n * await buyTx.wait();\n *\n * // set buyTx.transactionHash to poll the status of the swap * transaction\n * setBuyTxHash(buyTx.hash);\n * }\n *\n * if (buyWithCryptoStatusQuery.data) {\n * console.log('buyWithCryptoStatusQuery.data', * buyWithCryptoStatusQuery.data)\n * }\n * return \n * }\n * ```\n */\nfunction useBuyWithCryptoStatus(params) {\n const [refetchInterval, setRefetchInterval] = useState(DEFAULT_POLL_INTERVAL);\n return useQuery({\n queryKey: [\"swapStatus\", params?.transactionHash],\n queryFn: async () => {\n if (!params) {\n throw new Error(\"Missing swap status params\");\n }\n if (!params?.clientId) {\n throw new Error(\"Missing clientId in swap status params\");\n }\n const swapStatus_ = await getBuyWithCryptoStatus({\n ...params,\n clientId: params.clientId\n });\n if (swapStatus_.status === \"COMPLETED\" || swapStatus_.status === \"FAILED\") {\n setRefetchInterval(0);\n }\n return swapStatus_;\n },\n enabled: !!params,\n refetchInterval: refetchInterval,\n refetchIntervalInBackground: true,\n retry: true\n });\n}\n\nexport { useContractMetadataUpdate as $, ThirdwebConfigProvider as A, useThirdwebConfigContext as B, ThirdwebConnectedWalletProvider as C, useThirdwebConnectedWalletContext as D, useActiveClaimCondition as E, useClaimerProofs as F, useClaimConditions as G, useClaimIneligibilityReasons as H, useActiveClaimConditionForWallet as I, useSetClaimConditions as J, useResetClaimConditions as K, usePrimarySaleRecipient as L, useUpdatePrimarySaleRecipient as M, useRoyaltySettings as N, useUpdateRoyaltySettings as O, usePlatformFees as P, useUpdatePlatformFees as Q, useMetadata as R, useUpdateMetadata as S, ThirdwebThemeContext as T, useContractType as U, contractType as V, useCompilerMetadata as W, compilerMetadata as X, useContract as Y, useContractMetadata as Z, __DEV__ as _, ThirdwebProviderCore as a, useTokenBalance as a$, useContractEvents as a0, useContractRead as a1, useContractWrite as a2, useUnclaimedNFTs as a3, useClaimedNFTs as a4, useUnclaimedNFTSupply as a5, useClaimedNFTSupply as a6, useBatchesToReveal as a7, useClaimNFT as a8, useLazyMint as a9, useAcceptDirectListingOffer as aA, useExecuteAuctionSale as aB, useOffers as aC, useBuyNow as aD, useBuyDirectListing as aE, useCreateDirectListingBatch as aF, useNFT as aG, useNFTs as aH, useTotalCount as aI, useTotalCirculatingSupply as aJ, useOwnedNFTs as aK, useNFTBalance as aL, useMintNFT as aM, useMintNFTSupply as aN, useTransferNFT as aO, useAirdropNFT as aP, useBurnNFT as aQ, useSharedMetadata as aR, useSetSharedMetadata as aS, useUpdateNFTMetadata as aT, useAllRoleMembers as aU, useRoleMembers as aV, useIsAddressRole as aW, useSetAllRoleMembers as aX, useGrantRole as aY, useRevokeRole as aZ, useTokenSupply as a_, useDelayedRevealLazyMint as aa, useRevealLazyMint as ab, useListing as ac, useDirectListing as ad, useEnglishAuction as ae, useListings as af, useDirectListings as ag, useValidDirectListings as ah, useEnglishAuctions as ai, useValidEnglishAuctions as aj, useListingsCount as ak, useDirectListingsCount as al, useEnglishAuctionsCount as am, useActiveListings as an, useWinningBid as ao, useEnglishAuctionWinningBid as ap, useAuctionWinner as aq, useBidBuffer as ar, useMinimumNextBid as as, useCreateDirectListing as at, useCreateAuctionListing as au, useCancelListing as av, useCancelDirectListing as aw, useCancelEnglishAuction as ax, useMakeBid as ay, useMakeOffer as az, useConnect as b, useTokenDecimals as b0, useMintToken as b1, useClaimToken as b2, useTransferToken as b3, useTransferBatchToken as b4, useBurnToken as b5, useTransferNativeToken as b6, useIsAccountDeployed as b7, useAccounts as b8, useCreateAccount as b9, useStorageUpload as bA, useNetworkMismatch as bB, useReadonlySDK as bC, useSigner as bD, useSupportedChains as bE, useSupportedWallet as bF, useAppURI as bG, useSetAppURI as bH, useENS as bI, ThirdwebSDKProvider as bJ, useSDK as bK, useSDKChainId as bL, invalidateContractAndBalances as bM, isEnsName as bN, isPossibleEVMAddress as bO, shortenAddress as bP, shortenIfAddress as bQ, shortenString as bR, getErcs as bS, getErc1155 as bT, getErc721 as bU, getErc20 as bV, useWatchTransactions as bW, useBuyWithCryptoHistory as bX, useBuyWithCryptoQuote as bY, useBuyWithCryptoStatus as bZ, useAccountsForAddress as ba, useAccountSigners as bb, useAddAdmin as bc, useRemoveAdmin as bd, useCreateSessionKey as be, useRevokeSessionKey as bf, useAccountAdmins as bg, useAccountAdminsAndSigners as bh, useAuth as bi, useLogin as bj, useLogout as bk, useUser as bl, useSwitchAccount as bm, useEditionDrop as bn, useEdition as bo, useNFTDrop as bp, useMarketplace as bq, useNFTCollection as br, usePack as bs, useToken as bt, useTokenDrop as bu, useVote as bv, useSplit as bw, useMultiwrap as bx, useSignatureDrop as by, useStorage as bz, useConnectionStatus as c, useCreateWalletInstance as d, useDisconnect as e, useSwitchChain as f, useWallets as g, useWalletConfig as h, useSetConnectionStatus as i, useSetConnectedWallet as j, useNetwork as k, useWalletContext as l, usePersonalWalletAddress as m, useWalletConnectHandler as n, useBalance as o, useConnectedWallet as p, useAddress as q, resolveMimeType as r, useChainId as s, useActiveChain as t, useWallet as u, useChain as v, useBalanceForAddress as w, shouldNeverPersistQuery as x, useThirdwebAuthContext as y, ThirdwebAuthProvider as z };\n","export const REGEXP_ONLY_DIGITS = '^\\\\d+$'\nexport const REGEXP_ONLY_CHARS = '^[a-zA-Z]+$'\nexport const REGEXP_ONLY_DIGITS_AND_CHARS = '^[a-zA-Z0-9]+$'\n","import * as React from 'react'\nimport { OTPInputProps } from './types'\n\nconst PWM_BADGE_MARGIN_RIGHT = 18\nconst PWM_BADGE_SPACE_WIDTH_PX = 40\nconst PWM_BADGE_SPACE_WIDTH = `${PWM_BADGE_SPACE_WIDTH_PX}px` as const\n\nconst PASSWORD_MANAGERS_SELECTORS = [\n '[data-lastpass-icon-root]', // LastPass\n 'com-1password-button', // 1Password\n '[data-dashlanecreated]', // Dashlane\n '[style$=\"2147483647 !important;\"]', // Bitwarden\n].join(',')\n\nexport function usePasswordManagerBadge({\n containerRef,\n inputRef,\n pushPasswordManagerStrategy,\n isFocused,\n}: {\n containerRef: React.RefObject\n inputRef: React.RefObject\n pushPasswordManagerStrategy: OTPInputProps['pushPasswordManagerStrategy']\n isFocused: boolean\n}) {\n // Metadata for instant updates (not React state)\n const pwmMetadata = React.useRef<{\n done: boolean\n refocused: boolean\n }>({\n done: false,\n refocused: false,\n })\n\n /** Password managers have a badge\n * and I'll use this state to push them\n * outside the input */\n const [hasPWMBadge, setHasPWMBadge] = React.useState(false)\n const [hasPWMBadgeSpace, setHasPWMBadgeSpace] = React.useState(false)\n const [done, setDone] = React.useState(false)\n\n const willPushPWMBadge = React.useMemo(() => {\n if (pushPasswordManagerStrategy === 'none') {\n return false\n }\n\n const increaseWidthCase =\n (pushPasswordManagerStrategy === 'increase-width' ||\n // TODO: remove 'experimental-no-flickering' support in 2.0.0\n pushPasswordManagerStrategy === 'experimental-no-flickering') &&\n hasPWMBadge &&\n hasPWMBadgeSpace\n\n return increaseWidthCase\n }, [hasPWMBadge, hasPWMBadgeSpace, pushPasswordManagerStrategy])\n\n const trackPWMBadge = React.useCallback(() => {\n const container = containerRef.current\n const input = inputRef.current\n if (\n !container ||\n !input ||\n done ||\n pushPasswordManagerStrategy === 'none'\n ) {\n return\n }\n\n const elementToCompare = container\n\n // Get the top right-center point of the container.\n // That is usually where most password managers place their badge.\n const rightCornerX =\n elementToCompare.getBoundingClientRect().left +\n elementToCompare.offsetWidth\n const centereredY =\n elementToCompare.getBoundingClientRect().top +\n elementToCompare.offsetHeight / 2\n const x = rightCornerX - PWM_BADGE_MARGIN_RIGHT\n const y = centereredY\n\n // Do an extra search to check for famous password managers\n const pmws = document.querySelectorAll(PASSWORD_MANAGERS_SELECTORS)\n\n // If no password manager is automatically detect,\n // we'll try to dispatch document.elementFromPoint\n // to identify badges\n if (pmws.length === 0) {\n const maybeBadgeEl = document.elementFromPoint(x, y)\n\n // If the found element is the input itself,\n // then we assume it's not a password manager badge.\n // We are not sure. Most times that means there isn't a badge.\n if (maybeBadgeEl === container) {\n return\n }\n }\n\n setHasPWMBadge(true)\n setDone(true)\n\n // For specific password managers,\n // the input has to be re-focused\n // to trigger a re-position of the badge.\n if (!pwmMetadata.current.refocused && document.activeElement === input) {\n const sel = [input.selectionStart, input.selectionEnd]\n input.blur()\n input.focus()\n // Recover the previous selection\n input.setSelectionRange(sel[0], sel[1])\n\n pwmMetadata.current.refocused = true\n }\n }, [containerRef, inputRef, done, pushPasswordManagerStrategy])\n\n React.useEffect(() => {\n const container = containerRef.current\n if (!container || pushPasswordManagerStrategy === 'none') {\n return\n }\n\n // Check if the PWM area is 100% visible\n function checkHasSpace() {\n const viewportWidth = window.innerWidth\n const distanceToRightEdge =\n viewportWidth - container.getBoundingClientRect().right\n setHasPWMBadgeSpace(distanceToRightEdge >= PWM_BADGE_SPACE_WIDTH_PX)\n }\n\n checkHasSpace()\n const interval = setInterval(checkHasSpace, 1000)\n\n return () => {\n clearInterval(interval)\n }\n }, [containerRef, pushPasswordManagerStrategy])\n\n React.useEffect(() => {\n const _isFocused = isFocused || document.activeElement === inputRef.current\n\n if (pushPasswordManagerStrategy === 'none' || !_isFocused) {\n return\n }\n const t1 = setTimeout(trackPWMBadge, 0)\n const t2 = setTimeout(trackPWMBadge, 2000)\n const t3 = setTimeout(trackPWMBadge, 5000)\n const t4 = setTimeout(() => {\n setDone(true)\n }, 6000)\n return () => {\n clearTimeout(t1)\n clearTimeout(t2)\n clearTimeout(t3)\n clearTimeout(t4)\n }\n }, [inputRef, isFocused, pushPasswordManagerStrategy, trackPWMBadge])\n\n return { hasPWMBadge, willPushPWMBadge, PWM_BADGE_SPACE_WIDTH }\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { REGEXP_ONLY_DIGITS } from './regexp'\nimport { syncTimeouts } from './sync-timeouts'\nimport { OTPInputProps, RenderProps } from './types'\nimport { usePrevious } from './use-previous'\nimport { usePasswordManagerBadge } from './use-pwm-badge'\n\nexport const OTPInputContext = React.createContext(\n {} as RenderProps,\n)\n\nexport const OTPInput = React.forwardRef(\n (\n {\n value: uncheckedValue,\n onChange: uncheckedOnChange,\n maxLength,\n textAlign = 'left',\n pattern = REGEXP_ONLY_DIGITS,\n inputMode = 'numeric',\n onComplete,\n pushPasswordManagerStrategy = 'increase-width',\n containerClassName,\n noScriptCSSFallback = NOSCRIPT_CSS_FALLBACK,\n\n render,\n children,\n\n ...props\n },\n ref,\n ) => {\n // Only used when `value` state is not provided\n const [internalValue, setInternalValue] = React.useState(\n typeof props.defaultValue === 'string' ? props.defaultValue : '',\n )\n\n // Definitions\n const value = uncheckedValue ?? internalValue\n const previousValue = usePrevious(value)\n const onChange = React.useCallback(\n (newValue: string) => {\n uncheckedOnChange?.(newValue)\n setInternalValue(newValue)\n },\n [uncheckedOnChange],\n )\n const regexp = React.useMemo(\n () =>\n pattern\n ? typeof pattern === 'string'\n ? new RegExp(pattern)\n : pattern\n : null,\n [pattern],\n )\n\n /** useRef */\n const inputRef = React.useRef(null)\n const containerRef = React.useRef(null)\n const initialLoadRef = React.useRef({\n value,\n onChange,\n isIOS:\n typeof window !== 'undefined' &&\n window?.CSS?.supports?.('-webkit-touch-callout', 'none'),\n })\n const inputMetadataRef = React.useRef<{\n prev: [number | null, number | null, 'none' | 'forward' | 'backward']\n }>({\n prev: [\n inputRef.current?.selectionStart,\n inputRef.current?.selectionEnd,\n inputRef.current?.selectionDirection,\n ],\n })\n React.useImperativeHandle(ref, () => inputRef.current, [])\n React.useEffect(() => {\n const input = inputRef.current\n const container = containerRef.current\n\n if (!input || !container) {\n return\n }\n\n // Sync input value\n if (initialLoadRef.current.value !== input.value) {\n initialLoadRef.current.onChange(input.value)\n }\n\n // Previous selection\n inputMetadataRef.current.prev = [\n input.selectionStart,\n input.selectionEnd,\n input.selectionDirection,\n ]\n function onDocumentSelectionChange() {\n if (document.activeElement !== input) {\n setMirrorSelectionStart(null)\n setMirrorSelectionEnd(null)\n return\n }\n\n // Aliases\n const _s = input.selectionStart\n const _e = input.selectionEnd\n const _dir = input.selectionDirection\n const _ml = input.maxLength\n const _val = input.value\n const _prev = inputMetadataRef.current.prev\n\n // Algorithm\n let start = -1\n let end = -1\n let direction: 'forward' | 'backward' | 'none' = undefined\n if (_val.length !== 0 && _s !== null && _e !== null) {\n const isSingleCaret = _s === _e\n const isInsertMode = _s === _val.length && _val.length < _ml\n\n if (isSingleCaret && !isInsertMode) {\n const c = _s\n if (c === 0) {\n start = 0\n end = 1\n direction = 'forward'\n } else if (c === _ml) {\n start = c - 1\n end = c\n direction = 'backward'\n } else if (_ml > 1 && _val.length > 1) {\n let offset = 0\n if (_prev[0] !== null && _prev[1] !== null) {\n direction = c < _prev[1] ? 'backward' : 'forward'\n const wasPreviouslyInserting =\n _prev[0] === _prev[1] && _prev[0] < _ml\n if (direction === 'backward' && !wasPreviouslyInserting) {\n offset = -1\n }\n }\n\n start = offset + c\n end = offset + c + 1\n }\n }\n\n if (start !== -1 && end !== -1 && start !== end) {\n inputRef.current.setSelectionRange(start, end, direction)\n }\n }\n\n // Finally, update the state\n const s = start !== -1 ? start : _s\n const e = end !== -1 ? end : _e\n const dir = direction ?? _dir\n setMirrorSelectionStart(s)\n setMirrorSelectionEnd(e)\n // Store the previous selection value\n inputMetadataRef.current.prev = [s, e, dir]\n }\n document.addEventListener('selectionchange', onDocumentSelectionChange, {\n capture: true,\n })\n\n // Set initial mirror state\n onDocumentSelectionChange()\n document.activeElement === input && setIsFocused(true)\n\n // Apply needed styles\n if (!document.getElementById('input-otp-style')) {\n const styleEl = document.createElement('style')\n styleEl.id = 'input-otp-style'\n document.head.appendChild(styleEl)\n\n if (styleEl.sheet) {\n const autofillStyles =\n 'background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;'\n\n safeInsertRule(\n styleEl.sheet,\n '[data-input-otp]::selection { background: transparent !important; color: transparent !important; }',\n )\n safeInsertRule(\n styleEl.sheet,\n `[data-input-otp]:autofill { ${autofillStyles} }`,\n )\n safeInsertRule(\n styleEl.sheet,\n `[data-input-otp]:-webkit-autofill { ${autofillStyles} }`,\n )\n // iOS\n safeInsertRule(\n styleEl.sheet,\n `@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }`,\n )\n // PWM badges\n safeInsertRule(\n styleEl.sheet,\n `[data-input-otp] + * { pointer-events: all !important; }`,\n )\n }\n }\n // Track root height\n const updateRootHeight = () => {\n if (container) {\n container.style.setProperty(\n '--root-height',\n `${input.clientHeight}px`,\n )\n }\n }\n updateRootHeight()\n const resizeObserver = new ResizeObserver(updateRootHeight)\n resizeObserver.observe(input)\n\n return () => {\n document.removeEventListener(\n 'selectionchange',\n onDocumentSelectionChange,\n { capture: true },\n )\n resizeObserver.disconnect()\n }\n }, [])\n\n /** Mirrors for UI rendering purpose only */\n const [isHoveringInput, setIsHoveringInput] = React.useState(false)\n const [isFocused, setIsFocused] = React.useState(false)\n const [mirrorSelectionStart, setMirrorSelectionStart] = React.useState<\n number | null\n >(null)\n const [mirrorSelectionEnd, setMirrorSelectionEnd] = React.useState<\n number | null\n >(null)\n\n /** Effects */\n React.useEffect(() => {\n syncTimeouts(() => {\n // Forcefully remove :autofill state\n inputRef.current?.dispatchEvent(new Event('input'))\n\n // Update the selection state\n const s = inputRef.current?.selectionStart\n const e = inputRef.current?.selectionEnd\n const dir = inputRef.current?.selectionDirection\n if (s !== null && e !== null) {\n setMirrorSelectionStart(s)\n setMirrorSelectionEnd(e)\n inputMetadataRef.current.prev = [s, e, dir]\n }\n })\n }, [value, isFocused])\n\n React.useEffect(() => {\n if (previousValue === undefined) {\n return\n }\n\n if (\n value !== previousValue &&\n previousValue.length < maxLength &&\n value.length === maxLength\n ) {\n onComplete?.(value)\n }\n }, [maxLength, onComplete, previousValue, value])\n\n const pwmb = usePasswordManagerBadge({\n containerRef,\n inputRef,\n pushPasswordManagerStrategy,\n isFocused,\n })\n\n /** Event handlers */\n const _changeListener = React.useCallback(\n (e: React.ChangeEvent) => {\n const newValue = e.currentTarget.value.slice(0, maxLength)\n if (newValue.length > 0 && regexp && !regexp.test(newValue)) {\n e.preventDefault()\n return\n }\n const maybeHasDeleted =\n typeof previousValue === 'string' &&\n newValue.length < previousValue.length\n if (maybeHasDeleted) {\n // Since cutting/deleting text doesn't trigger\n // selectionchange event, we'll have to dispatch it manually.\n // NOTE: The following line also triggers when cmd+A then pasting\n // a value with smaller length, which is not ideal for performance.\n document.dispatchEvent(new Event('selectionchange'))\n }\n onChange(newValue)\n },\n [maxLength, onChange, previousValue, regexp],\n )\n const _focusListener = React.useCallback(() => {\n if (inputRef.current) {\n const start = Math.min(inputRef.current.value.length, maxLength - 1)\n const end = inputRef.current.value.length\n inputRef.current?.setSelectionRange(start, end)\n setMirrorSelectionStart(start)\n setMirrorSelectionEnd(end)\n }\n setIsFocused(true)\n }, [maxLength])\n // Fix iOS pasting\n const _pasteListener = React.useCallback(\n (e: React.ClipboardEvent) => {\n const input = inputRef.current\n if (!initialLoadRef.current.isIOS || !e.clipboardData || !input) {\n return\n }\n\n const content = e.clipboardData.getData('text/plain')\n e.preventDefault()\n\n const start = inputRef.current?.selectionStart\n const end = inputRef.current?.selectionEnd\n\n const isReplacing = start !== end\n\n const newValueUncapped = isReplacing\n ? value.slice(0, start) + content + value.slice(end) // Replacing\n : value.slice(0, start) + content + value.slice(start) // Inserting\n const newValue = newValueUncapped.slice(0, maxLength)\n\n if (newValue.length > 0 && regexp && !regexp.test(newValue)) {\n return\n }\n\n input.value = newValue\n onChange(newValue)\n\n const _start = Math.min(newValue.length, maxLength - 1)\n const _end = newValue.length\n\n input.setSelectionRange(_start, _end)\n setMirrorSelectionStart(_start)\n setMirrorSelectionEnd(_end)\n },\n [maxLength, onChange, regexp, value],\n )\n\n /** Styles */\n const rootStyle = React.useMemo(\n () => ({\n position: 'relative',\n cursor: props.disabled ? 'default' : 'text',\n userSelect: 'none',\n WebkitUserSelect: 'none',\n pointerEvents: 'none',\n }),\n [props.disabled],\n )\n\n const inputStyle = React.useMemo(\n () => ({\n position: 'absolute',\n inset: 0,\n width: pwmb.willPushPWMBadge\n ? `calc(100% + ${pwmb.PWM_BADGE_SPACE_WIDTH})`\n : '100%',\n clipPath: pwmb.willPushPWMBadge\n ? `inset(0 ${pwmb.PWM_BADGE_SPACE_WIDTH} 0 0)`\n : undefined,\n height: '100%',\n display: 'flex',\n textAlign,\n opacity: '1', // Mandatory for iOS hold-paste\n color: 'transparent',\n pointerEvents: 'all',\n background: 'transparent',\n caretColor: 'transparent',\n border: '0 solid transparent',\n outline: '0 solid transparent',\n boxShadow: 'none',\n lineHeight: '1',\n letterSpacing: '-.5em',\n fontSize: 'var(--root-height)',\n fontFamily: 'monospace',\n fontVariantNumeric: 'tabular-nums',\n // letterSpacing: '-1em',\n // transform: 'scale(1.5)',\n // paddingRight: '100%',\n // paddingBottom: '100%',\n // debugging purposes\n // inset: undefined,\n // position: undefined,\n // color: 'black',\n // background: 'white',\n // opacity: '1',\n // caretColor: 'black',\n // padding: '0',\n // letterSpacing: 'unset',\n // fontSize: 'unset',\n // paddingInline: '.5rem',\n }),\n [pwmb.PWM_BADGE_SPACE_WIDTH, pwmb.willPushPWMBadge, textAlign],\n )\n\n /** Rendering */\n const renderedInput = React.useMemo(\n () => (\n {\n _pasteListener(e)\n props.onPaste?.(e)\n }}\n onChange={_changeListener}\n onMouseOver={e => {\n setIsHoveringInput(true)\n props.onMouseOver?.(e)\n }}\n onMouseLeave={e => {\n setIsHoveringInput(false)\n props.onMouseLeave?.(e)\n }}\n onFocus={e => {\n _focusListener()\n props.onFocus?.(e)\n }}\n onBlur={e => {\n setIsFocused(false)\n props.onBlur?.(e)\n }}\n />\n ),\n [\n _changeListener,\n _focusListener,\n _pasteListener,\n inputMode,\n inputStyle,\n maxLength,\n mirrorSelectionEnd,\n mirrorSelectionStart,\n props,\n regexp?.source,\n value,\n ],\n )\n\n const contextValue = React.useMemo(() => {\n return {\n slots: Array.from({ length: maxLength }).map((_, slotIdx) => {\n const isActive =\n isFocused &&\n mirrorSelectionStart !== null &&\n mirrorSelectionEnd !== null &&\n ((mirrorSelectionStart === mirrorSelectionEnd &&\n slotIdx === mirrorSelectionStart) ||\n (slotIdx >= mirrorSelectionStart && slotIdx < mirrorSelectionEnd))\n\n const char = value[slotIdx] !== undefined ? value[slotIdx] : null\n\n return {\n char,\n isActive,\n hasFakeCaret: isActive && char === null,\n }\n }),\n isFocused,\n isHovering: !props.disabled && isHoveringInput,\n }\n }, [\n isFocused,\n isHoveringInput,\n maxLength,\n mirrorSelectionEnd,\n mirrorSelectionStart,\n props.disabled,\n value,\n ])\n\n const renderedChildren = React.useMemo(() => {\n if (render) {\n return render(contextValue)\n }\n return (\n \n {children}\n \n )\n }, [children, contextValue, render])\n\n return (\n <>\n {noScriptCSSFallback !== null && (\n \n )}\n\n \n {renderedChildren}\n\n \n {renderedInput}\n \n \n \n )\n },\n)\nOTPInput.displayName = 'Input'\n\nfunction safeInsertRule(sheet: CSSStyleSheet, rule: string) {\n try {\n sheet.insertRule(rule)\n } catch {\n console.error('input-otp could not insert CSS rule:', rule)\n }\n}\n\n// Decided to go with