{"version":3,"file":"static/chunks/4303-eb65163ad4cc9655.js","mappings":"uOAYO,IAAMA,EAAmB,QACDC,EAA7B,IAAMC,EAAuBD,OAAAA,CAAAA,EAAAA,EAAME,cAAc,GAApBF,KAAAA,IAAAA,GAAAA,EAEvB,CAAEG,YAAAA,CAAW,CAAEC,UAAAA,CAAS,CAAEC,QAASC,CAAU,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAClDC,EAAYC,CAAAA,EAAAA,EAAAA,EAAAA,IACZ,CAAEC,EAAAA,CAAC,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IACRC,EAAgBC,CAAAA,EAAAA,EAAAA,CAAAA,IAChB,CAAEC,KAAAA,CAAI,CAAEC,GAAAA,CAAE,CAAE,CAAGN,CAAAA,EAAAA,EAAAA,EAAAA,IACfO,EAAeD,IAAOT,EAEtBW,EAAQC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IACpB,EACSR,EAAE,gCAAiC,CAAES,MAAOL,CAAK,GAGrDb,EAIAE,EAIDa,EACKN,EAAE,oBAAqB,CAC5BU,GAAI,SACJC,QAASb,EAAUM,IAAI,CACvBQ,OAAQlB,MAAAA,EAAAA,KAAAA,EAAAA,EAAWU,IAAI,UAPlBJ,EAAE,eAAgB,CAAEU,GAAI,QAAS,GAJxC,OAcD,CACDhB,MAAAA,EAAAA,KAAAA,EAAAA,EAAWU,IAAI,CACfX,EACAS,EACAI,EACAR,EAAUM,IAAI,CACdA,EACAb,EACAS,EACD,EAEKa,EAAWL,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IACvB,EAION,GAAiB,CAACT,GAAea,EAH/BJ,EAIR,CAACT,EAAaS,EAAeI,EAAcf,EAAqB,EAEnE,MACE,GAAAuB,EAAAC,GAAA,EAACC,EAAAA,CAAOA,CAAAA,CAACH,SAAU,CAACA,EAAUN,MAAOA,WACnC,GAAAO,EAAAC,GAAA,EAACE,EAAAA,CAAGA,CAAAA,UACF,GAAAH,EAAAC,GAAA,EAACG,EAAAA,CAAYA,CAAAA,CACV,GAAG5B,CAAK,CACTuB,SAAUA,GAAYvB,EAAMuB,QAAQ,CACpCM,QAAQ,eAKlB,mJGhCO,SAASC,EAA2BC,CAWnC,KAXmC,CACzCC,OAAAA,CAAM,CACNC,KAAAA,CAAI,CACJC,WAAAA,EAAa,EAAK,CAClBC,YAAAA,CAAW,CACXC,gBAAAA,CAAe,CACfC,aAAAA,CAAY,CACZC,OAAAA,CAAM,CACNC,YAAAA,CAAW,CACXC,UAAAA,CAAS,CACTC,QAAAA,CAAO,CACD,CAXmCV,EAYnC,CAAEW,eAAAA,CAAc,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IACrBC,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,IAEnB,CACJC,sBAAAA,CAAqB,CACrBC,uBAAAA,CAAsB,CACtBC,2BAAAA,CAA0B,CAC3B,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,EAAuBjB,GAErBkB,EAAeN,GAAoBV,GAAc,CAAC,CAACQ,EAEnDS,EAAsBC,CAAAA,EAAAA,EAAAA,CAAAA,IACtB,CAAEC,cAAAA,CAAa,CAAEC,KAAAA,CAAI,CAAEC,UAAAA,CAAS,CAAEC,QAAAA,CAAO,CAAEC,MAAAA,CAAK,CAAE,CACtDN,EAqBI,CACJG,KAAMI,CAAS,CACfL,cAAeM,CAAU,CACzBF,MAAOG,CAAU,CACjBJ,QAASK,CAAY,CACrBN,UAAWO,CAAc,CAC1B,CAAGC,SDpEmBhC,CAQR,KARQ,CACvBW,eAAAA,CAAc,CACdsB,cAAAA,CAAa,CACb7B,YAAAA,CAAW,CACXF,KAAAA,CAAI,CACJI,aAAAA,CAAY,CACZC,OAAAA,CAAM,CACNG,QAAAA,CAAO,CACQ,CARQV,EASjB,CAACkC,EAAUC,EAAY,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAEnChB,EAAsBC,CAAAA,EAAAA,EAAAA,CAAAA,IACtB,CAAEC,cAAAA,CAAa,CAAEC,KAAAA,CAAI,CAAEC,UAAAA,CAAS,CAAEC,QAAAA,CAAO,CAAEC,MAAAA,CAAK,CAAE,CACtDN,QAEFiB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,MAENJ,GACC/B,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAMoC,IAAI,CAAC,GAASC,MAAAA,EAA6B,GAElDJ,EACEK,CAAAA,EAAAA,EAAAA,CAAAA,EAAwD,CACtDC,IAAKrC,EACLE,aAAAA,EACAJ,KAAAA,CACF,GAGN,EAAG,CAACA,EAAME,EAAaE,EAAc2B,EAAc,EA0B5C,CACL,GAAGb,CAAmB,CACtBG,KAAAA,EACAD,cA3BY,IACZA,EACE,CACEmB,IAAKC,EAAAA,EAAgBA,CACrBC,QAASC,EAAAA,EAAsBA,CAC/BtC,aAAc,QAOdJ,KAAM,CACJS,EACAsB,EACAC,EACD,EAEH,CACEW,UAAWtC,EACXG,QAASA,CACX,GAOFgB,MAAAA,EACAD,QAAAA,EACAD,UAAAA,CACF,CACF,ECMe,CACXtB,KAAAA,EACAE,YAAAA,EACAO,eAAgBA,EAChBsB,cAAed,EAAed,EAAkByC,KAAAA,EAChDxC,aAAAA,EACAC,OAAOwC,CAAI,EACThC,EAAsBgC,GACtBxC,MAAAA,GAAAA,GACF,EACAG,QAAQgB,CAAK,EACXV,EAAuBU,GACvBhB,MAAAA,GAAAA,EAAUgB,EACZ,CACF,GAEMsB,EAAY7B,EAAeQ,EAAYJ,EAEvC,CACJ0B,UAAAA,CAAS,CACTxB,QAASyB,CAAkB,CAC3BxB,MAAOyB,CAAgB,CACvBC,UAAAA,CAAS,CACTC,WAAAA,CAAU,CACX,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,EAA6B,CAC/BP,KAAMC,CACR,GAuBA,MApBAX,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJY,IACFhC,EAA2B+B,GAC3BxC,MAAAA,GAAAA,IAEJ,EAAG,CAACyC,EAAWhD,EAAQgB,EAA2B,EAElDoB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJa,GACFlC,EAAuBmC,EAE3B,EAAG,CAACD,EAAoBC,EAAkBnC,EAAuB,EAGjEqB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJe,GACF3C,CAAAA,MAAAA,GAAAA,GAAAA,CAEJ,EAAG,CAAC2C,EAAU,EAEP,CACL,GAAGhC,CAAmB,CACtBG,KAAMyB,EACN1B,cAAeH,EAAeS,EA7ElB,IACZN,EACE,CACEmB,IAAKrC,EACLuC,QAAStC,EACTC,aAAcA,EACdJ,KAAAA,CACF,EACA,CACE2C,UAAUE,CAAI,EACZhC,EAAsBgC,GACtBxC,MAAAA,GAAAA,GACF,EACAG,QAAQgB,CAAK,EACXV,EAAuBU,EACzB,CACF,GA8DFF,UAAW6B,GAActB,GAAkBP,EAC3CyB,UAAAA,EACAxB,QAASK,GAAgBL,EACzBC,MAAOG,GAAcH,CACvB,CACF,wGCjJO,SAASZ,QAWPyC,EAVP,GAAM,CAAEC,MAAAA,CAAK,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,SAAAA,IACZC,EAAOF,MAAAA,EAAAA,KAAAA,EAAAA,EAAOG,KAAK,CAAC,KAAKC,EAAE,CAAC,GAC5BxE,EAAQyE,CAAAA,EAAAA,EAAAA,CAAAA,IACR,CAAEC,UAAWC,CAAI,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,CAAC,YAAY,EAC5CT,EAAQU,CAAAA,EAAAA,EAAAA,EAAAA,EAAUF,EAAKR,KAAK,QAElC,EAAKQ,EAAKG,OAAO,IAAKX,KAAUG,GAIzBH,CAAAA,OAAAA,CAAAA,EAAAA,CAAK,CAACnE,EAAM,GAAZmE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAc,CAACG,EAAK,IAAK,EAClC,qHCeA,SAASS,EACP5C,CAAkC,EAElC,OAAOA,EAAK6C,GAAG,CAAC,IACd,IAAMC,EAAWC,MAAMC,OAAO,CAACC,GAASA,CAAK,CAAC,EAAE,CAAGA,EAEnD,MAAO,CACLC,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,EAAYL,EAASM,IAAI,CAACF,OAAO,CAACG,KAAK,CAACC,KAAK,CAAC,KACvDC,MAAOJ,CAAAA,EAAAA,EAAAA,CAAAA,EAAYL,EAASM,IAAI,CAACG,KAAK,CAACF,KAAK,CAACC,KAAK,CAAC,MAAU/B,KAAAA,EAC7DiC,QACEL,CAAAA,EAAAA,EAAAA,CAAAA,EAAYL,EAASM,IAAI,CAACI,OAAO,CAACH,KAAK,CAACC,KAAK,CAAC,MAAU/B,KAAAA,EAC1DkC,WApBGC,EAoB6BA,UAAU,CApB5B3C,IAAI,CACpB,OAAC,EAAG4C,EAAU,CAAAlF,SAAKkF,EAAUC,WAAW,EAAID,EAAUE,YAAY,GAoBhEC,aAfGJ,EAeiCA,UAAU,CAfhC3C,IAAI,CAAC,OAAC,EAAG4C,EAAU,CAAAlF,SAAKkF,EAAUG,YAAY,EAgB9D,CACF,EACF,CAEA,SAASC,EACP/D,CAAgC,EAEhC,OAAOA,EAAK6C,GAAG,CAAC,GAAY,EAC1BzB,QAASY,CAAK,CAAC,EAAE,CAACgC,QAAQ,GAC1BC,aAAcd,CAAAA,EAAAA,EAAAA,CAAAA,EAAYnB,CAAK,CAAC,EAAE,CAACqB,KAAK,CAACC,KAAK,CAAC,IACjD,GACF,CAEO,SAASY,EACdC,CAAqB,EAErB,IAAMC,EAAMC,CAAAA,EAAAA,EAAAA,CAAAA,IAENC,EAASC,CAAAA,EAAAA,EAAAA,CAAAA,EACbH,MAAAA,EAAAA,KAAAA,EAAAA,EAAKI,KAAK,CAAC1B,QAAQ,CAAC2B,OAAO,CAACC,KAAK,CACjC,CAACP,EAAW,CACZJ,GAGIY,EAAmBL,MAAAA,EAAAA,KAAAA,EAAAA,EAAQzB,GAAG,CAAC,GAAY+B,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAQxD,OAAO,GAAI,IAC9DyD,EAAmBN,CAAAA,EAAAA,EAAAA,CAAAA,EACvBH,MAAAA,EAAAA,KAAAA,EAAAA,EAAKI,KAAK,CAAC1B,QAAQ,CAACgC,UAAU,CAACJ,KAAK,CACpC,CAACC,EAAiB,CAClB/B,GAGImC,EAAaR,CAAAA,EAAAA,EAAAA,CAAAA,EACjBH,MAAAA,EAAAA,KAAAA,EAAAA,EAAKI,KAAK,CAAC1B,QAAQ,CAACgC,UAAU,CAACJ,KAAK,CACpC,CAACP,EAAW,CACZvB,GAGF,OAAOmC,MAAAA,EAAAA,KAAAA,EAAAA,EAAYlC,GAAG,CAAC,CAACC,EAAUkC,SAIXV,EAHrB,IAAMM,EAASC,MAAAA,EAAAA,KAAAA,EAAAA,CAAkB,CAACG,EAAE,CAC9BC,EAAgBL,MAAAA,EAAAA,KAAAA,EAAAA,EAAQ1B,OAAO,CAC/BgC,EAAapC,MAAAA,EAAAA,KAAAA,EAAAA,EAAUI,OAAO,CAC9Be,EAAeK,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,CAAQ,CAACU,EAAE,GAAXV,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAaL,YAAY,CAE9C,MAAO,CACLf,QAAS+B,EAAgB,GAAoBhB,MAAAA,CAAjBgB,EAAc,KAAgBE,MAAA,CAAblB,GAAiBiB,EAC9DzB,WAAYX,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAUW,UAAU,GAAImB,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAQnB,UAAU,EACtDK,aAAchB,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAUgB,YAAY,GAAIc,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAQd,YAAY,EAC5DP,MAAOT,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAUS,KAAK,GAAIqB,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAQrB,KAAK,EACvCC,QAASV,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAUU,OAAO,GAAIoB,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAQpB,OAAO,CAC/C,CACF,EACF,CAEO,SAAS4B,EAAYhE,CAAgB,MACnC8C,EAAP,cAAOA,CAAAA,EAAAA,EAAc9C,EAAU,CAACA,EAAQ,CAAGG,KAAAA,EAAAA,GAApC2C,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAgD,CAAC,EAAE,8BEhGhDmB,4JAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,iNAYL,IAAMC,EAGPC,OAJ8CC,MAAM,CAACH,GAInCxC,GAAG,CAAC,CAAC4C,EAAMT,IAAO,EACxCrH,MAAO8H,EACPzD,MAAO0D,OAAOV,EAChB,IAEa3D,EACX,6CAEWF,ED1BM,CACjB,CACEwE,OAAQ,CACN,CACEC,aAAc,UACdpI,KAAM,WACNiI,KAAM,SACR,EACA,CACEG,aAAc,uBACdpI,KAAM,YACNiI,KAAM,OACR,EACA,CACEG,aAAc,SACdpI,KAAM,QACNiI,KAAM,QACR,EACD,CACDjI,KAAM,WACNqI,QAAS,EAAE,CACXC,gBAAiB,aACjBL,KAAM,UACR,EACA,CACEE,OAAQ,CACN,CACEC,aAAc,UACdpI,KAAM,OACNiI,KAAM,SACR,EACA,CACEG,aAAc,UACdpI,KAAM,WACNiI,KAAM,SACR,EACA,CACEG,aAAc,uBACdpI,KAAM,YACNiI,KAAM,OACR,EACA,CACEG,aAAc,SACdpI,KAAM,QACNiI,KAAM,QACR,EACD,CACDjI,KAAM,UACNqI,QAAS,CACP,CACED,aAAc,OACdpI,KAAM,SACNiI,KAAM,MACR,EACD,CACDK,gBAAiB,OACjBL,KAAM,UACR,EACA,CACEE,OAAQ,CACN,CACEC,aAAc,UACdpI,KAAM,OACNiI,KAAM,SACR,EACA,CACEG,aAAc,UACdpI,KAAM,SACNiI,KAAM,SACR,EACA,CACEG,aAAc,QACdpI,KAAM,WACNiI,KAAM,OACR,EACD,CACDjI,KAAM,QACNqI,QAAS,EAAE,CACXC,gBAAiB,UACjBL,KAAM,UACR,EACA,CACEE,OAAQ,CACN,CACEC,aAAc,UACdpI,KAAM,OACNiI,KAAM,SACR,EACA,CACEG,aAAc,uBACdpI,KAAM,iBACNiI,KAAM,OACR,EACA,CACEG,aAAc,UACdpI,KAAM,SACNiI,KAAM,SACR,EACA,CACEG,aAAc,QACdpI,KAAM,WACNiI,KAAM,OACR,EACD,CACDjI,KAAM,iBACNqI,QAAS,EAAE,CACXC,gBAAiB,UACjBL,KAAM,UACR,EACA,CACEE,OAAQ,EAAE,CACVnI,KAAM,gBACNqI,QAAS,EAAE,CACXC,gBAAiB,aACjBL,KAAM,UACR,EACA,CACEE,OAAQ,CACN,CACEC,aAAc,UACdpI,KAAM,WACNiI,KAAM,SACR,EACA,CACEG,aAAc,uBACdpI,KAAM,YACNiI,KAAM,OACR,EACA,CACEG,aAAc,SACdpI,KAAM,QACNiI,KAAM,QACR,EACD,CACDjI,KAAM,cACNqI,QAAS,EAAE,CACXC,gBAAiB,aACjBL,KAAM,UACR,EACD,CC/GYM,EAAuB,kCAInC,CACYC,EAAsB,+BAIlC,yCC/BWC,EAUAC,EAYAC,EAiBAC,EAKAC,mLAhDAC,CAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,iBAIAL,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,2QAUAC,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,+HAQAK,CAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,wBAIAJ,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,wiBAiBAC,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,oEAKAC,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,CAAAA,qQChDL,IAAMG,EAAqBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAK,CACrCC,IAAK,iBACLC,QAAS,CACPC,UAAW,GACXxH,eAAgB,EAClB,CACF,kBCQO,SAASC,IACd,GAAM,CAAC,CAAEuH,UAAAA,CAAS,CAAExH,eAAAA,CAAc,CAAE,CAAEyH,EAAQ,CAC5CC,CAAAA,EAAAA,EAAAA,EAAAA,EAAeN,GACXO,EAAezE,CAAAA,EAAAA,EAAAA,CAAAA,IACf,CAAEzF,YAAAA,CAAW,CAAE,CAAGI,CAAAA,EAAAA,EAAAA,CAAAA,IAElB+J,EAASC,CAAAA,EAAAA,EAAAA,WAAAA,EACb,IAAMJ,EAAQ,GAAW,EAAE,GAAGK,CAAI,CAAEN,UAAW,EAAK,IACpD,CAACC,EAAQ,EAGLM,EAAUF,CAAAA,EAAAA,EAAAA,WAAAA,EACd,IAAMJ,EAAQ,GAAW,EAAE,GAAGK,CAAI,CAAEN,UAAW,EAAM,IACrD,CAACC,EAAQ,EAGLO,EAASH,CAAAA,EAAAA,EAAAA,WAAAA,EACb,IAAMJ,EAAQ,GAAW,EAAE,GAAGK,CAAI,CAAEN,UAAW,CAACM,EAAKN,SAAS,CAAC,GAC/D,CAACC,EAAQ,EAGLQ,EAAoBJ,CAAAA,EAAAA,EAAAA,WAAAA,EACxB,GACEJ,EAAQ,GAAW,EAAE,GAAGK,CAAI,CAAE9H,eAAgBgC,CAAQ,IACxD,CAACyF,EAAQ,EASX,MANAS,CAAAA,EAAAA,EAAAA,CAAAA,EAAaH,EAAS,CAACJ,EAAa,EACpCO,CAAAA,EAAAA,EAAAA,CAAAA,EACE,IAAMT,EAAQ,CAAED,UAAW,GAAOxH,eAAgB,EAAG,GACrD,CAACvC,EAAY,EAGR,CACL+J,UAAAA,EACAxH,eAAgBwH,EAAYxH,EAAiB,GAC7C4H,OAAAA,EACAG,QAAAA,EACAC,OAAAA,EACAC,kBAAAA,CACF,CACF","sources":["webpack://_N_E/./components/ActionCallButton/ActionCallButton.tsx","webpack://_N_E/./components/ActionCallButton/index.ts","webpack://_N_E/./lib/hooks/contracts/proxy/useProxy.ts","webpack://_N_E/./lib/hooks/contracts/useWriteContractAndConfirm.ts","webpack://_N_E/./lib/hooks/flags/useIsProxyAvailableFlag.ts","webpack://_N_E/./lib/hooks/queries/useIdentities.ts","webpack://_N_E/./lib/services/contracts/Proxy/ProxyABI.ts","webpack://_N_E/./lib/services/contracts/Proxy/constants.ts","webpack://_N_E/./lib/types/contracts/functions.ts","webpack://_N_E/./recoil/proxiedAddress/atoms.ts","webpack://_N_E/./recoil/proxiedAddress/hooks.ts","webpack://_N_E/./recoil/proxiedAddress/index.ts"],"sourcesContent":["import { Box, Tooltip } from '@mantine/core';\nimport { ActionButton, ActionButtonProps } from 'components/ActionButton';\nimport { useMaintenanceMode } from 'hooks/queries/useMaintenanceMode';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useTranslation } from 'next-i18next';\nimport { useMemo } from 'react';\nimport { useAccount } from 'wagmi';\n\nexport interface ActionCallButtonProps extends ActionButtonProps {\n checkMoonChain?: boolean;\n}\n\nexport const ActionCallButton = (props: ActionCallButtonProps) => {\n const shouldCheckMoonChain = props.checkMoonChain ?? false;\n\n const { isConnected, connector, chainId: accChainId } = useAccount();\n const moonChain = useMoonChain();\n const { t } = useTranslation();\n const isMaintenance = useMaintenanceMode();\n const { name, id } = useMoonChain();\n const isWrongChain = id !== accChainId;\n\n const label = useMemo(() => {\n if (isMaintenance) {\n return t('maintenanceModeDefaultMessage', { chain: name });\n }\n\n if (!shouldCheckMoonChain) {\n return;\n }\n\n if (!isConnected) {\n return t('notConnected', { ns: 'common' });\n }\n\n if (isWrongChain) {\n return t('wrongChainTooltip', {\n ns: 'common',\n network: moonChain.name,\n wallet: connector?.name,\n });\n }\n }, [\n connector?.name,\n isConnected,\n isMaintenance,\n isWrongChain,\n moonChain.name,\n name,\n shouldCheckMoonChain,\n t,\n ]);\n\n const disabled = useMemo(() => {\n if (!shouldCheckMoonChain) {\n return isMaintenance;\n }\n\n return isMaintenance || !isConnected || isWrongChain;\n }, [isConnected, isMaintenance, isWrongChain, shouldCheckMoonChain]);\n\n return (\n \n \n \n \n \n );\n};\n","export * from './ActionCallButton';\n","import { UseContractHookProps } from 'hooks/contracts/useWriteContractAndConfirm';\nimport { useEffect, useState } from 'react';\nimport {\n PROXY_CONTRACT_ADDRESS,\n ProxyContractABI,\n} from 'services/contracts/Proxy/constants';\nimport { ContractFunction } from 'types/contracts/functions';\nimport { Address, encodeFunctionData } from 'viem';\nimport { Config, UseWriteContractReturnType, useWriteContract } from 'wagmi';\n\ninterface UseProxyParams extends UseContractHookProps {\n proxiedAddress: Address | undefined;\n callToAddress: Address | undefined;\n onSent?: (hash?: string) => void;\n onError?: (error: Error) => void;\n}\n\ntype UseProxyReturnType = Omit<\n UseWriteContractReturnType,\n 'writeContract'\n> & {\n writeContract: VoidFunction;\n};\n\nexport function useProxy({\n proxiedAddress,\n callToAddress,\n contractAbi,\n args,\n functionName,\n onSent,\n onError,\n}: UseProxyParams): UseProxyReturnType {\n const [callData, setCallData] = useState('');\n\n const writeContractReturn = useWriteContract();\n const { writeContract, data, isPending, isError, error } =\n writeContractReturn;\n\n useEffect(() => {\n if (\n callToAddress &&\n !args?.some((arg) => arg === undefined || arg === null)\n ) {\n setCallData(\n encodeFunctionData({\n abi: contractAbi,\n functionName,\n args,\n }),\n );\n }\n }, [args, contractAbi, functionName, callToAddress]);\n\n const write = (): void =>\n writeContract(\n {\n abi: ProxyContractABI,\n address: PROXY_CONTRACT_ADDRESS,\n functionName: 'proxy',\n /// @dev Dispatch the given subcall (`callTo`, `callData`) from an account that the sender\n /// is authorised for through `addProxy`\n\n /// @param real The account that the proxy will make a call on behalf of\n /// @param callTo Recipient of the call to be made by the `real` account\n /// @param callData Data of the call to be made by the `real` account\n args: [\n proxiedAddress as Address,\n callToAddress as Address,\n callData as Address,\n ],\n },\n {\n onSuccess: onSent,\n onError: onError,\n },\n );\n\n return {\n ...writeContractReturn,\n data,\n writeContract: write,\n error,\n isError,\n isPending,\n };\n}\n","import { useProxy } from 'hooks/contracts/proxy/useProxy';\nimport { useIsProxyAvailableFlag } from 'hooks/flags/useIsProxyAvailableFlag';\nimport {\n TransactionAction,\n useWalletNotifications,\n} from 'hooks/notifications/useWalletNotifications';\nimport { useEffect } from 'react';\nimport { useProxiedAddress } from 'recoil/proxiedAddress';\nimport { ContractFunction } from 'types/contracts/functions';\nimport { Address } from 'viem';\nimport {\n Config,\n UseWriteContractReturnType,\n useWaitForTransactionReceipt,\n useWriteContract,\n} from 'wagmi';\n\nexport interface UseContractHookProps {\n args?: unknown[];\n contractAbi: readonly object[];\n functionName: ContractFunction;\n}\n\ninterface Props extends UseContractHookProps {\n action: TransactionAction;\n allowProxy?: boolean;\n contractAddress: Address;\n onSent?: () => void;\n onConfirmed?: () => void;\n onFetched?: () => void;\n onError?: (error: Error) => void;\n}\n\nexport type UseWriteContractAndConfirmReturnType = Omit<\n UseWriteContractReturnType,\n 'writeContract'\n> & {\n writeContract: VoidFunction;\n};\n\nexport function useWriteContractAndConfirm({\n action,\n args,\n allowProxy = false,\n contractAbi,\n contractAddress,\n functionName,\n onSent,\n onConfirmed,\n onFetched,\n onError,\n}: Props): UseWriteContractAndConfirmReturnType {\n const { proxiedAddress } = useProxiedAddress();\n const isProxyAvailable = useIsProxyAvailableFlag();\n\n const {\n notifyTransactionSent,\n notifyTransactionError,\n notifyTransactionConfirmed,\n } = useWalletNotifications(action);\n\n const isUsingProxy = isProxyAvailable && allowProxy && !!proxiedAddress;\n\n const writeContractReturn = useWriteContract();\n const { writeContract, data, isPending, isError, error } =\n writeContractReturn;\n\n const write = (): void =>\n writeContract(\n {\n abi: contractAbi,\n address: contractAddress,\n functionName: functionName,\n args,\n },\n {\n onSuccess(hash) {\n notifyTransactionSent(hash);\n onSent?.();\n },\n onError(error) {\n notifyTransactionError(error);\n },\n },\n );\n\n const {\n data: proxyData,\n writeContract: proxyWrite,\n error: proxyError,\n isError: isProxyError,\n isPending: isPendingProxy,\n } = useProxy({\n args,\n contractAbi,\n proxiedAddress: proxiedAddress as Address,\n callToAddress: isUsingProxy ? contractAddress : undefined,\n functionName,\n onSent(hash) {\n notifyTransactionSent(hash);\n onSent?.();\n },\n onError(error) {\n notifyTransactionError(error);\n onError?.(error);\n },\n });\n\n const finalData = isUsingProxy ? proxyData : data;\n\n const {\n isSuccess,\n isError: isTransactionError,\n error: transactionError,\n isFetched,\n isFetching,\n } = useWaitForTransactionReceipt({\n hash: finalData,\n });\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n if (isSuccess) {\n notifyTransactionConfirmed(finalData);\n onConfirmed?.();\n }\n }, [isSuccess, action, notifyTransactionConfirmed]);\n\n useEffect(() => {\n if (isTransactionError) {\n notifyTransactionError(transactionError);\n }\n }, [isTransactionError, transactionError, notifyTransactionError]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n if (isFetched) {\n onFetched?.();\n }\n }, [isFetched]);\n\n return {\n ...writeContractReturn,\n data: finalData,\n writeContract: isUsingProxy ? proxyWrite : write,\n isPending: isFetching || isPendingProxy || isPending,\n isSuccess,\n isError: isProxyError || isError,\n error: proxyError || error,\n };\n}\n","import { useFlags } from 'flagsmith/react';\nimport { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { useRouter } from 'next/router';\nimport { parseJson } from 'utils/json';\n\nexport function useIsProxyAvailableFlag(): boolean {\n const { route } = useRouter();\n const page = route?.split('/').at(2);\n const chain = useMoonChainKeyParam();\n const { use_proxy: flag } = useFlags(['use_proxy']);\n const value = parseJson(flag.value);\n\n if (!flag.enabled || !value || !page) {\n return false;\n }\n\n return value[chain]?.[page] === true;\n}\n","import { Data, GenericAccountId } from '@polkadot/types';\nimport { RegistrationJudgement } from '@polkadot/types/interfaces';\nimport { PalletIdentityRegistration } from '@polkadot/types/lookup';\nimport { u8aToString } from '@polkadot/util';\nimport { useApi } from 'hooks/useApi';\nimport { useApiCall } from 'hooks/useApiCall';\n\nexport type CandidateIdentity = IdentityMetadata | undefined;\n\ninterface IdentityMetadata {\n display?: string;\n isVerified?: boolean;\n isLowQuality?: boolean;\n email?: string;\n twitter?: string;\n}\n\ninterface SuperOfIdentity {\n address: string;\n displayChild: string;\n}\n\nfunction isVerified(judgements: RegistrationJudgement[]): boolean {\n return judgements.some(\n ([, judgement]) => judgement.isKnownGood || judgement.isReasonable,\n );\n}\n\nfunction isLowQuality(judgements: RegistrationJudgement[]): boolean {\n return judgements.some(([, judgement]) => judgement.isLowQuality);\n}\n\nfunction transformIdentity(\n data: PalletIdentityRegistration[],\n): CandidateIdentity[] | undefined {\n return data.map((ident) => {\n const identity = Array.isArray(ident) ? ident[0] : ident;\n\n return {\n display: u8aToString(identity.info.display.asRaw.toU8a(true)),\n email: u8aToString(identity.info.email.asRaw.toU8a(true)) || undefined,\n twitter:\n u8aToString(identity.info.twitter.asRaw.toU8a(true)) || undefined,\n isVerified: isVerified(identity.judgements),\n isLowQuality: isLowQuality(identity.judgements),\n };\n });\n}\n\nfunction transformSuper(\n data: [GenericAccountId, Data][],\n): (SuperOfIdentity | undefined)[] | undefined {\n return data.map((value) => ({\n address: value[0].toString(),\n displayChild: u8aToString(value[1].asRaw.toU8a(true)) as string,\n }));\n}\n\nexport function useIdentities(\n candidates?: string[],\n): CandidateIdentity[] | undefined {\n const api = useApi();\n\n const supers = useApiCall(\n api?.query.identity.superOf.multi,\n [candidates],\n transformSuper,\n );\n\n const parentsAddresses = supers?.map((parent) => parent?.address || '');\n const parentIdentities = useApiCall(\n api?.query.identity.identityOf.multi,\n [parentsAddresses],\n transformIdentity,\n );\n\n const identities = useApiCall(\n api?.query.identity.identityOf.multi,\n [candidates],\n transformIdentity,\n );\n\n return identities?.map((identity, i) => {\n const parent = parentIdentities?.[i];\n const displayParent = parent?.display;\n const displayOwn = identity?.display;\n const displayChild = supers?.[i]?.displayChild;\n\n return {\n display: displayParent ? `${displayParent} ${displayChild}` : displayOwn,\n isVerified: identity?.isVerified || parent?.isVerified,\n isLowQuality: identity?.isLowQuality || parent?.isLowQuality,\n email: identity?.email || parent?.email,\n twitter: identity?.twitter || parent?.twitter,\n };\n });\n}\n\nexport function useIdentity(address?: string): CandidateIdentity {\n return useIdentities(address ? [address] : undefined)?.[0];\n}\n","export const ABI = [\n {\n inputs: [\n {\n internalType: 'address',\n name: 'delegate',\n type: 'address',\n },\n {\n internalType: 'enum Proxy.ProxyType',\n name: 'proxyType',\n type: 'uint8',\n },\n {\n internalType: 'uint32',\n name: 'delay',\n type: 'uint32',\n },\n ],\n name: 'addProxy',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'real',\n type: 'address',\n },\n {\n internalType: 'address',\n name: 'delegate',\n type: 'address',\n },\n {\n internalType: 'enum Proxy.ProxyType',\n name: 'proxyType',\n type: 'uint8',\n },\n {\n internalType: 'uint32',\n name: 'delay',\n type: 'uint32',\n },\n ],\n name: 'isProxy',\n outputs: [\n {\n internalType: 'bool',\n name: 'exists',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'real',\n type: 'address',\n },\n {\n internalType: 'address',\n name: 'callTo',\n type: 'address',\n },\n {\n internalType: 'bytes',\n name: 'callData',\n type: 'bytes',\n },\n ],\n name: 'proxy',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'real',\n type: 'address',\n },\n {\n internalType: 'enum Proxy.ProxyType',\n name: 'forceProxyType',\n type: 'uint8',\n },\n {\n internalType: 'address',\n name: 'callTo',\n type: 'address',\n },\n {\n internalType: 'bytes',\n name: 'callData',\n type: 'bytes',\n },\n ],\n name: 'proxyForceType',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'removeProxies',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'delegate',\n type: 'address',\n },\n {\n internalType: 'enum Proxy.ProxyType',\n name: 'proxyType',\n type: 'uint8',\n },\n {\n internalType: 'uint32',\n name: 'delay',\n type: 'uint32',\n },\n ],\n name: 'removeProxy',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const;\n","import { ABI } from './ProxyABI';\n\n// https://github.com/moonbeam-foundation/moonbeam/blob/master/precompiles/proxy/Proxy.sol\nexport enum ProxyType {\n Any = 'Any',\n NonTransfer = 'NonTransfer',\n Governance = 'Governance',\n Staking = 'Staking',\n CancelProxy = 'CancelProxy',\n Balances = 'Balances',\n AuthorMapping = 'AuthorMapping',\n IdentityJudgement = 'IdentityJudgement',\n}\n\nconst PROXY_TYPE_VALUES: readonly string[] = Object.values(ProxyType);\nexport const PROXY_TYPES_LABEL_VALUES: readonly {\n label: string;\n value: string;\n}[] = PROXY_TYPE_VALUES.map((type, i) => ({\n label: type,\n value: String(i),\n}));\n\nexport const PROXY_CONTRACT_ADDRESS =\n '0x000000000000000000000000000000000000080b';\n\nexport const ProxyContractABI = ABI;\n\nexport const OPEN_GOV_PROXY_TYPES = [\n ProxyType.Any,\n ProxyType.Governance,\n ProxyType.NonTransfer,\n] as const;\nexport const STAKING_PROXY_TYPES = [\n ProxyType.Any,\n ProxyType.NonTransfer,\n ProxyType.Staking,\n] as const;\n","import { VoteFunctions } from 'types/governance/voting';\n\nexport enum CrowdloanRewardsFunctions {\n CLAIM = 'claim',\n}\n\nexport enum StakingFunctions {\n DELEGATE_WITH_AUTO_COMPOUND = 'delegateWithAutoCompound',\n AUTO_COMPOUND = 'setAutoCompound',\n BOND = 'delegatorBondMore',\n CANCEL = 'cancelDelegationRequest',\n DECREASE = 'scheduleDelegatorBondLess',\n EXECUTE = 'executeDelegationRequest',\n REVOKE = 'scheduleRevokeDelegation',\n}\n\nexport enum ConvictionVotingFunctions {\n REMOVE_VOTE = 'removeVote',\n VOTE_YES = 'voteYes',\n VOTE_NO = 'voteNo',\n VOTE_SPLIT = 'voteSplit',\n VOTE_ABSTAIN = 'voteSplitAbstain',\n}\n\nexport enum BatchFunctions {\n BATCH_ALL = 'batchAll',\n}\n\nexport enum ReferendaFunctions {\n REFERENDUM_COUNT = 'referendumCount',\n SUBMISSION_DEPOSIT = 'submissionDeposit',\n DECIDING_COUNT = 'decidingCount',\n TRACK_IDS = 'trackIds',\n TRACK_INFO = 'trackInfo',\n REFERENDUM_STATUS = 'referendumStatus',\n ONGOING_REFERENDUM_INFO = 'ongoingReferendumInfo',\n CLOSED_REFERENDUM_INFO = 'closedReferendumInfo',\n KILLED_REFERENDUM_BLOCK = 'killedReferendumBlock',\n SUBMIT_AT = 'submitAt',\n SUBMIT_AFTER = 'submitAfter',\n PLACE_DECISION_DEPOSIT = 'placeDecisionDeposit',\n REFUND_DECISION_DEPOSIT = 'refundDecisionDeposit',\n REFUND_SUBMISSION_DEPOSIT = 'refundSubmissionDeposit',\n}\n\nexport enum PreImageFunctions {\n NOTE_PREIMAGE = 'notePreimage',\n UNNOTE_PREIMAGE = 'unnotePreimage',\n}\n\nexport enum ProxyFunctions {\n ADD_PROXY = 'addProxy',\n IS_PROXY = 'isProxy',\n PROXY = 'proxy',\n PROXY_FORCE_TYPE = 'proxyForceType',\n REMOVE_PROXIES = 'removeProxies',\n REMOVE_PROXY = 'removeProxy',\n}\n\nexport type ContractFunction =\n | CrowdloanRewardsFunctions\n | StakingFunctions\n | ConvictionVotingFunctions\n | BatchFunctions\n | ReferendaFunctions\n | PreImageFunctions\n | VoteFunctions\n | ProxyFunctions;\n","import { atom } from 'recoil';\n\nexport const proxiedAddressAtom = atom({\n key: 'proxiedAddress',\n default: {\n isEnabled: false,\n proxiedAddress: '',\n },\n});\n","import { useDidUpdate } from '@mantine/hooks';\nimport { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { useCallback } from 'react';\nimport { useRecoilState } from 'recoil';\nimport { proxiedAddressAtom } from 'recoil/proxiedAddress/atoms';\nimport { useAccount } from 'wagmi';\n\ninterface UseProxiedAddress {\n isEnabled: boolean;\n proxiedAddress: string;\n enable: VoidFunction;\n disable: VoidFunction;\n toggle: VoidFunction;\n setProxiedAddress: (address: string) => void;\n}\n\nexport function useProxiedAddress(): UseProxiedAddress {\n const [{ isEnabled, proxiedAddress }, setAtom] =\n useRecoilState(proxiedAddressAtom);\n const moonChainKey = useMoonChainKeyParam();\n const { isConnected } = useAccount();\n\n const enable = useCallback(\n () => setAtom((prev) => ({ ...prev, isEnabled: true })),\n [setAtom],\n );\n\n const disable = useCallback(\n () => setAtom((prev) => ({ ...prev, isEnabled: false })),\n [setAtom],\n );\n\n const toggle = useCallback(\n () => setAtom((prev) => ({ ...prev, isEnabled: !prev.isEnabled })),\n [setAtom],\n );\n\n const setProxiedAddress = useCallback(\n (address: string) =>\n setAtom((prev) => ({ ...prev, proxiedAddress: address })),\n [setAtom],\n );\n\n useDidUpdate(disable, [moonChainKey]);\n useDidUpdate(\n () => setAtom({ isEnabled: false, proxiedAddress: '' }),\n [isConnected],\n );\n\n return {\n isEnabled,\n proxiedAddress: isEnabled ? proxiedAddress : '',\n enable,\n disable,\n toggle,\n setProxiedAddress,\n };\n}\n","export { useProxiedAddress } from './hooks';\n"],"names":["ActionCallButton","props","shouldCheckMoonChain","checkMoonChain","isConnected","connector","chainId","accChainId","useAccount","moonChain","useMoonChain","t","useTranslation","isMaintenance","useMaintenanceMode","name","id","isWrongChain","label","useMemo","chain","ns","network","wallet","disabled","jsx_runtime","jsx","Tooltip","Box","ActionButton","variant","useWriteContractAndConfirm","param","action","args","allowProxy","contractAbi","contractAddress","functionName","onSent","onConfirmed","onFetched","onError","proxiedAddress","useProxiedAddress","isProxyAvailable","useIsProxyAvailableFlag","notifyTransactionSent","notifyTransactionError","notifyTransactionConfirmed","useWalletNotifications","isUsingProxy","writeContractReturn","useWriteContract","writeContract","data","isPending","isError","error","proxyData","proxyWrite","proxyError","isProxyError","isPendingProxy","useProxy","callToAddress","callData","setCallData","useState","useEffect","some","arg","encodeFunctionData","abi","ProxyContractABI","address","PROXY_CONTRACT_ADDRESS","onSuccess","undefined","hash","finalData","isSuccess","isTransactionError","transactionError","isFetched","isFetching","useWaitForTransactionReceipt","value","route","useRouter","page","split","at","useMoonChainKeyParam","use_proxy","flag","useFlags","parseJson","enabled","transformIdentity","map","identity","Array","isArray","ident","display","u8aToString","info","asRaw","toU8a","email","twitter","isVerified","judgements","judgement","isKnownGood","isReasonable","isLowQuality","transformSuper","toString","displayChild","useIdentities","candidates","api","useApi","supers","useApiCall","query","superOf","multi","parentsAddresses","parent","parentIdentities","identityOf","identities","i","displayParent","displayOwn","concat","useIdentity","ProxyType","PROXY_TYPES_LABEL_VALUES","PROXY_TYPE_VALUES","values","type","String","inputs","internalType","outputs","stateMutability","OPEN_GOV_PROXY_TYPES","STAKING_PROXY_TYPES","StakingFunctions","ConvictionVotingFunctions","ReferendaFunctions","PreImageFunctions","ProxyFunctions","CrowdloanRewardsFunctions","BatchFunctions","proxiedAddressAtom","atom","key","default","isEnabled","setAtom","useRecoilState","moonChainKey","enable","useCallback","prev","disable","toggle","setProxiedAddress","useDidUpdate"],"sourceRoot":""}