@privy-io/react-auth 1.19.0-beta.3 → 1.19.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var Ys=Object.create;var ar=Object.defineProperty;var Xs=Object.getOwnPropertyDescriptor;var Qs=Object.getOwnPropertyNames;var el=Object.getPrototypeOf,tl=Object.prototype.hasOwnProperty;var En=(e,t)=>()=>(e&&(t=e(e=0)),t);var ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),xn=(e,t)=>{for(var r in t)ar(e,r,{get:t[r],enumerable:!0})},_n=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Qs(t))!tl.call(e,n)&&n!==r&&ar(e,n,{get:()=>t[n],enumerable:!(o=Xs(t,n))||o.enumerable});return e};var rl=(e,t,r)=>(r=e!=null?Ys(el(e)):{},_n(t||!e||!e.__esModule?ar(r,"default",{value:e,enumerable:!0}):r,e)),Ln=e=>_n(ar({},"__esModule",{value:!0}),e);var yr=ke((zu,br)=>{var ri,oi,ni,ii,ai,si,li,ci,di,hr,go,pi,ui,fi,ht,mi,hi,gi,bi,yi,vi,wi,Ci,Ei,gr;(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(o){e(r(t,r(o)))}):typeof br=="object"&&typeof br.exports=="object"?e(r(t,r(br.exports))):e(r(t));function r(o,n){return o!==t&&(typeof Object.create=="function"?Object.defineProperty(o,"__esModule",{value:!0}):o.__esModule=!0),function(i,a){return o[i]=n?n(i,a):a}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,n){o.__proto__=n}||function(o,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(o[i]=n[i])};ri=function(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(o,n);function i(){this.constructor=o}o.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},oi=Object.assign||function(o){for(var n,i=1,a=arguments.length;i<a;i++){n=arguments[i];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])}return o},ni=function(o,n){var i={};for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&n.indexOf(a)<0&&(i[a]=o[a]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(o);s<a.length;s++)n.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(o,a[s])&&(i[a[s]]=o[a[s]]);return i},ii=function(o,n,i,a){var s=arguments.length,l=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,i):a,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(o,n,i,a);else for(var f=o.length-1;f>=0;f--)(d=o[f])&&(l=(s<3?d(l):s>3?d(n,i,l):d(n,i))||l);return s>3&&l&&Object.defineProperty(n,i,l),l},ai=function(o,n){return function(i,a){n(i,a,o)}},si=function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},li=function(o,n,i,a){function s(l){return l instanceof i?l:new i(function(d){d(l)})}return new(i||(i=Promise))(function(l,d){function f(g){try{p(a.next(g))}catch(b){d(b)}}function u(g){try{p(a.throw(g))}catch(b){d(b)}}function p(g){g.done?l(g.value):s(g.value).then(f,u)}p((a=a.apply(o,n||[])).next())})},ci=function(o,n){var i={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},a,s,l,d;return d={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function f(p){return function(g){return u([p,g])}}function u(p){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,s&&(l=p[0]&2?s.return:p[0]?s.throw||((l=s.return)&&l.call(s),0):s.next)&&!(l=l.call(s,p[1])).done)return l;switch(s=0,l&&(p=[p[0]&2,l.value]),p[0]){case 0:case 1:l=p;break;case 4:return i.label++,{value:p[1],done:!1};case 5:i.label++,s=p[1],p=[0];continue;case 7:p=i.ops.pop(),i.trys.pop();continue;default:if(l=i.trys,!(l=l.length>0&&l[l.length-1])&&(p[0]===6||p[0]===2)){i=0;continue}if(p[0]===3&&(!l||p[1]>l[0]&&p[1]<l[3])){i.label=p[1];break}if(p[0]===6&&i.label<l[1]){i.label=l[1],l=p;break}if(l&&i.label<l[2]){i.label=l[2],i.ops.push(p);break}l[2]&&i.ops.pop(),i.trys.pop();continue}p=n.call(o,i)}catch(g){p=[6,g],s=0}finally{a=l=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}},di=function(o,n){for(var i in o)i!=="default"&&!Object.prototype.hasOwnProperty.call(n,i)&&gr(n,o,i)},gr=Object.create?function(o,n,i,a){a===void 0&&(a=i);var s=Object.getOwnPropertyDescriptor(n,i);(!s||("get"in s?!n.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return n[i]}}),Object.defineProperty(o,a,s)}:function(o,n,i,a){a===void 0&&(a=i),o[a]=n[i]},hr=function(o){var n=typeof Symbol=="function"&&Symbol.iterator,i=n&&o[n],a=0;if(i)return i.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&a>=o.length&&(o=void 0),{value:o&&o[a++],done:!o}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},go=function(o,n){var i=typeof Symbol=="function"&&o[Symbol.iterator];if(!i)return o;var a=i.call(o),s,l=[],d;try{for(;(n===void 0||n-- >0)&&!(s=a.next()).done;)l.push(s.value)}catch(f){d={error:f}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(d)throw d.error}}return l},pi=function(){for(var o=[],n=0;n<arguments.length;n++)o=o.concat(go(arguments[n]));return o},ui=function(){for(var o=0,n=0,i=arguments.length;n<i;n++)o+=arguments[n].length;for(var a=Array(o),s=0,n=0;n<i;n++)for(var l=arguments[n],d=0,f=l.length;d<f;d++,s++)a[s]=l[d];return a},fi=function(o,n,i){if(i||arguments.length===2)for(var a=0,s=n.length,l;a<s;a++)(l||!(a in n))&&(l||(l=Array.prototype.slice.call(n,0,a)),l[a]=n[a]);return o.concat(l||Array.prototype.slice.call(n))},ht=function(o){return this instanceof ht?(this.v=o,this):new ht(o)},mi=function(o,n,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a=i.apply(o,n||[]),s,l=[];return s={},d("next"),d("throw"),d("return"),s[Symbol.asyncIterator]=function(){return this},s;function d(c){a[c]&&(s[c]=function(y){return new Promise(function(_,T){l.push([c,y,_,T])>1||f(c,y)})})}function f(c,y){try{u(a[c](y))}catch(_){b(l[0][3],_)}}function u(c){c.value instanceof ht?Promise.resolve(c.value.v).then(p,g):b(l[0][2],c)}function p(c){f("next",c)}function g(c){f("throw",c)}function b(c,y){c(y),l.shift(),l.length&&f(l[0][0],l[0][1])}},hi=function(o){var n,i;return n={},a("next"),a("throw",function(s){throw s}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(s,l){n[s]=o[s]?function(d){return(i=!i)?{value:ht(o[s](d)),done:s==="return"}:l?l(d):d}:l}},gi=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=o[Symbol.asyncIterator],i;return n?n.call(o):(o=typeof hr=="function"?hr(o):o[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(l){i[l]=o[l]&&function(d){return new Promise(function(f,u){d=o[l](d),s(f,u,d.done,d.value)})}}function s(l,d,f,u){Promise.resolve(u).then(function(p){l({value:p,done:f})},d)}},bi=function(o,n){return Object.defineProperty?Object.defineProperty(o,"raw",{value:n}):o.raw=n,o};var r=Object.create?function(o,n){Object.defineProperty(o,"default",{enumerable:!0,value:n})}:function(o,n){o.default=n};yi=function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var i in o)i!=="default"&&Object.prototype.hasOwnProperty.call(o,i)&&gr(n,o,i);return r(n,o),n},vi=function(o){return o&&o.__esModule?o:{default:o}},wi=function(o,n,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof n=="function"?o!==n||!a:!n.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(o):a?a.value:n.get(o)},Ci=function(o,n,i,a,s){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof n=="function"?o!==n||!s:!n.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?s.call(o,i):s?s.value=i:n.set(o,i),i},Ei=function(o,n){if(n===null||typeof n!="object"&&typeof n!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof o=="function"?n===o:o.has(n)},e("__extends",ri),e("__assign",oi),e("__rest",ni),e("__decorate",ii),e("__param",ai),e("__metadata",si),e("__awaiter",li),e("__generator",ci),e("__exportStar",di),e("__createBinding",gr),e("__values",hr),e("__read",go),e("__spread",pi),e("__spreadArrays",ui),e("__spreadArray",fi),e("__await",ht),e("__asyncGenerator",mi),e("__asyncDelegator",hi),e("__asyncValues",gi),e("__makeTemplateObject",bi),e("__importStar",yi),e("__importDefault",vi),e("__classPrivateFieldGet",wi),e("__classPrivateFieldSet",Ci),e("__classPrivateFieldIn",Ei)})});var bo=ke(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.getLocalStorage=O.getLocalStorageOrThrow=O.getCrypto=O.getCryptoOrThrow=O.getLocation=O.getLocationOrThrow=O.getNavigator=O.getNavigatorOrThrow=O.getDocument=O.getDocumentOrThrow=O.getFromWindowOrThrow=O.getFromWindow=void 0;function Xe(e){let t;return typeof window<"u"&&typeof window[e]<"u"&&(t=window[e]),t}O.getFromWindow=Xe;function gt(e){let t=Xe(e);if(!t)throw new Error(`${e} is not defined in Window`);return t}O.getFromWindowOrThrow=gt;function xl(){return gt("document")}O.getDocumentOrThrow=xl;function _l(){return Xe("document")}O.getDocument=_l;function Ll(){return gt("navigator")}O.getNavigatorOrThrow=Ll;function Sl(){return Xe("navigator")}O.getNavigator=Sl;function Pl(){return gt("location")}O.getLocationOrThrow=Pl;function Al(){return Xe("location")}O.getLocation=Al;function kl(){return gt("crypto")}O.getCryptoOrThrow=kl;function Tl(){return Xe("crypto")}O.getCrypto=Tl;function Wl(){return gt("localStorage")}O.getLocalStorageOrThrow=Wl;function Rl(){return Xe("localStorage")}O.getLocalStorage=Rl});var _i=ke(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.getWindowMetadata=void 0;var xi=bo();function Il(){let e,t;try{e=xi.getDocumentOrThrow(),t=xi.getLocationOrThrow()}catch{return null}function r(){let u=e.getElementsByTagName("link"),p=[];for(let g=0;g<u.length;g++){let b=u[g],c=b.getAttribute("rel");if(c&&c.toLowerCase().indexOf("icon")>-1){let y=b.getAttribute("href");if(y)if(y.toLowerCase().indexOf("https:")===-1&&y.toLowerCase().indexOf("http:")===-1&&y.indexOf("//")!==0){let _=t.protocol+"//"+t.host;if(y.indexOf("/")===0)_+=y;else{let T=t.pathname.split("/");T.pop(),_+=T.join("/")+"/"+y}p.push(_)}else if(y.indexOf("//")===0){let _=t.protocol+y;p.push(_)}else p.push(y)}}return p}function o(...u){let p=e.getElementsByTagName("meta");for(let g=0;g<p.length;g++){let b=p[g],c=["itemprop","property","name"].map(y=>b.getAttribute(y)).filter(y=>y?u.includes(y):!1);if(c.length&&c){let y=b.getAttribute("content");if(y)return y}}return""}function n(){let u=o("name","og:site_name","og:title","twitter:title");return u||(u=e.title),u}function i(){return o("description","og:description","twitter:description","keywords")}let a=n(),s=i(),l=t.origin,d=r();return{description:s,url:l,icons:d,name:a}}vr.getWindowMetadata=Il});var Oi={};xn(Oi,{BotInfo:()=>Ti,BrowserInfo:()=>Pi,NodeInfo:()=>Ai,ReactNativeInfo:()=>Wi,SearchBotDeviceInfo:()=>ki,browserName:()=>Fl,detect:()=>Ul,detectOS:()=>Ii,getNodeVersion:()=>Mi,parseUserAgent:()=>yo});function Ul(e){return e?yo(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Wi:typeof navigator<"u"?yo(navigator.userAgent):Mi()}function Ri(e){return e!==""&&Dl.reduce(function(t,r){var o=r[0],n=r[1];if(t)return t;var i=n.exec(e);return!!i&&[o,i]},!1)}function Fl(e){var t=Ri(e);return t?t[0]:null}function yo(e){var t=Ri(e);if(!t)return null;var r=t[0],o=t[1];if(r==="searchbot")return new Ti;var n=o[1]&&o[1].split(/[._]/).slice(0,3);n?n.length<Li&&(n=Ml(n,Bl(Li-n.length))):n=[];var i=n.join("."),a=Ii(e),s=Nl.exec(e);return s&&s[1]?new ki(r,i,a,s[1]):new Pi(r,i,a)}function Ii(e){for(var t=0,r=Si.length;t<r;t++){var o=Si[t],n=o[0],i=o[1],a=i.exec(e);if(a)return n}return null}function Mi(){var e=typeof process<"u"&&process.version;return e?new Ai(process.version.slice(1)):null}function Bl(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}var Ml,Pi,Ai,ki,Ti,Wi,Ol,Nl,Li,Dl,Si,Ni=En(()=>{Ml=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var o=Array(e),n=0,t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,n++)o[n]=i[a];return o},Pi=function(){function e(t,r,o){this.name=t,this.version=r,this.os=o,this.type="browser"}return e}(),Ai=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}(),ki=function(){function e(t,r,o,n){this.name=t,this.version=r,this.os=o,this.bot=n,this.type="bot-device"}return e}(),Ti=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}(),Wi=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}(),Ol=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Nl=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Li=3,Dl=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",Ol]],Si=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]]});var wo=ke(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.getClientMeta=E.getLocalStorage=E.getLocalStorageOrThrow=E.getCrypto=E.getCryptoOrThrow=E.getLocation=E.getLocationOrThrow=E.getNavigator=E.getNavigatorOrThrow=E.getDocument=E.getDocumentOrThrow=E.getFromWindowOrThrow=E.getFromWindow=E.isBrowser=E.isNode=E.isMobile=E.isIOS=E.isAndroid=E.detectOS=E.detectEnv=void 0;var Di=yr(),Gl=Di.__importStar(_i()),fe=Di.__importStar(bo()),Hl=(Ni(),Ln(Oi));function vo(e){return(0,Hl.detect)(e)}E.detectEnv=vo;function wr(){let e=vo();return e&&e.os?e.os:void 0}E.detectOS=wr;function Ui(){let e=wr();return e?e.toLowerCase().includes("android"):!1}E.isAndroid=Ui;function Fi(){let e=wr();return e?e.toLowerCase().includes("ios")||e.toLowerCase().includes("mac")&&navigator.maxTouchPoints>1:!1}E.isIOS=Fi;function Vl(){return wr()?Ui()||Fi():!1}E.isMobile=Vl;function Bi(){let e=vo();return e&&e.name?e.name.toLowerCase()==="node":!1}E.isNode=Bi;function jl(){return!Bi()&&!!(0,E.getNavigator)()}E.isBrowser=jl;E.getFromWindow=fe.getFromWindow;E.getFromWindowOrThrow=fe.getFromWindowOrThrow;E.getDocumentOrThrow=fe.getDocumentOrThrow;E.getDocument=fe.getDocument;E.getNavigatorOrThrow=fe.getNavigatorOrThrow;E.getNavigator=fe.getNavigator;E.getLocationOrThrow=fe.getLocationOrThrow;E.getLocation=fe.getLocation;E.getCryptoOrThrow=fe.getCryptoOrThrow;E.getCrypto=fe.getCrypto;E.getLocalStorageOrThrow=fe.getLocalStorageOrThrow;E.getLocalStorage=fe.getLocalStorage;function $l(){return Gl.getWindowMetadata()}E.getClientMeta=$l});var Gi={};xn(Gi,{safeJsonParse:()=>zl,safeJsonStringify:()=>ql});function zl(e){if(typeof e!="string")throw new Error(`Cannot safe json parse value of type ${typeof e}`);try{return JSON.parse(e)}catch{return e}}function ql(e){return typeof e=="string"?e:JSON.stringify(e)}var Hi=En(()=>{});var Co=ke(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.safeJsonStringify=bt.safeJsonParse=void 0;var Zl=yr(),Vi=Zl.__importStar((Hi(),Ln(Gi)));bt.safeJsonParse=Vi.safeJsonParse;bt.safeJsonStringify=Vi.safeJsonStringify});var xo=ke(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.removeLocal=De.getLocal=De.setLocal=void 0;var ji=Co(),Eo=wo();function Kl(e,t){let r=(0,ji.safeJsonStringify)(t),o=(0,Eo.getLocalStorage)();o&&o.setItem(e,r)}De.setLocal=Kl;function Jl(e){let t=null,r=null,o=(0,Eo.getLocalStorage)();return o&&(r=o.getItem(e)),t=r&&(0,ji.safeJsonParse)(r),t}De.getLocal=Jl;function Yl(e){let t=(0,Eo.getLocalStorage)();t&&t.removeItem(e)}De.removeLocal=Yl});var zi=ke(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.getMobileLinkRegistry=ie.getMobileRegistryEntry=ie.saveMobileLinkInfo=ie.formatIOSMobile=ie.mobileLinkChoiceKey=void 0;var Xl=xo();ie.mobileLinkChoiceKey="WALLETCONNECT_DEEPLINK_CHOICE";function Ql(e,t){let r=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${r}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${r}`:""}ie.formatIOSMobile=Ql;function ec(e){let t=e.href.split("?")[0];(0,Xl.setLocal)(ie.mobileLinkChoiceKey,Object.assign(Object.assign({},e),{href:t}))}ie.saveMobileLinkInfo=ec;function $i(e,t){return e.filter(r=>r.name.toLowerCase().includes(t.toLowerCase()))[0]}ie.getMobileRegistryEntry=$i;function tc(e,t){let r=e;return t&&(r=t.map(o=>$i(e,o)).filter(Boolean)),r}ie.getMobileLinkRegistry=tc});var Ki=ke(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.formatMobileRegistry=Le.formatMobileRegistryEntry=Le.getDappRegistryUrl=Le.getWalletRegistryUrl=void 0;var qi="https://registry.walletconnect.com";function rc(){return qi+"/api/v2/wallets"}Le.getWalletRegistryUrl=rc;function oc(){return qi+"/api/v2/dapps"}Le.getDappRegistryUrl=oc;function Zi(e,t="mobile"){var r;return{name:e.name||"",shortName:e.metadata.shortName||"",color:e.metadata.colors.primary||"",logo:(r=e.image_url.sm)!==null&&r!==void 0?r:"",universalLink:e[t].universal||"",deepLink:e[t].native||""}}Le.formatMobileRegistryEntry=Zi;function nc(e,t="mobile"){return Object.values(e).filter(r=>!!r[t].universal||!!r[t].native).map(r=>Zi(r,t))}Le.formatMobileRegistry=nc});var Ji=ke(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var Gt=yr();Gt.__exportStar(wo(),Qe);Gt.__exportStar(Co(),Qe);Gt.__exportStar(xo(),Qe);Gt.__exportStar(zi(),Qe);Gt.__exportStar(Ki(),Qe)});import{Web3Provider as Dp}from"@ethersproject/providers";import{useEffect as wn,useState as Q}from"react";var C=()=>{throw new Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")};import ol from"axios";var be=class extends Error{constructor(r,o){super(r);o instanceof Error&&(this.cause=o)}toString(){return`${this.type}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},lt=class extends be{constructor(r,o,n,i){super(n,i);this.type=r;this.status=o}},v=class extends be{constructor(r,o){super(r,o);this.type="client_error"}};var $=class extends be{constructor(r,o){super(r,o);this.type="connector_error"}},z=e=>{if(e instanceof be)return e;if(!ol.isAxiosError(e))return pe(e);if(!e.response)return new lt("api_error",null,e.message,e);let{type:t,message:r,error:o}=e.response.data;return new lt(t||"ApiError",e.response.status,r||o,e)},pe=e=>e instanceof be?e:e instanceof Error?new v(e.message,e):new v(`Internal error: ${e}`);var Sn=()=>"/api/v1/sessions",Pn=()=>"/api/v1/sessions/logout",An=()=>"/api/v1/sessions/fork",kn=()=>"/api/v1/siwe/init",Tn=()=>"/api/v1/siwe/authenticate",Wn=()=>"/api/v1/siwe/link",Rn=()=>"/api/v1/passwordless/init",In=()=>"/api/v1/passwordless/authenticate",Mn=()=>"/api/v1/passwordless/link",On=()=>"/api/v1/passwordless_sms/init",Nn=()=>"/api/v1/passwordless_sms/authenticate",Dn=()=>"/api/v1/passwordless_sms/link",Un=()=>"/api/v1/oauth/init",Fn=()=>"/api/v1/oauth/authenticate",Bn=()=>"/api/v1/oauth/link",Gn=()=>"/api/v1/siwe/unlink",Hn=()=>"/api/v1/passwordless/unlink",Vn=()=>"/api/v1/passwordless_sms/unlink",jn=()=>"/api/v1/oauth/unlink";var Ut=class{constructor(t){this.meta={email:t}}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new v("Email and email code must be set prior to calling authenticate.");try{let t=In(),r=await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode});return{user:r.data.user,token:r.data.token,refresh_token:r.data.refresh_token,is_new_user:r.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new v("Email and email code must be set prior to calling authenticate.");try{let t=Mn();return(await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode})).data}catch(t){throw z(t)}}async sendCodeEmail(t){if(!this.api)throw new v("Auth flow has no API instance");if(t&&(this.meta.email=t),!this.meta.email)throw new v("Email must be set when initialzing authentication.");try{let r=Rn();return(await this.api.post(r,{email:this.meta.email})).data}catch(r){throw z(r)}}};var ct=class{constructor(t,r,o){this.meta={provider:t},this.meta.authorizationCode=r,this.meta.stateCode=o}isActive(){return!!(this.meta.authorizationCode&&this.meta.stateCode&&this.meta.provider)}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new v("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenticate.");if(this.meta.authorizationCode==="undefined")throw new v("User denied confirmation during OAuth flow");try{let t=Fn(),r=await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode});return{user:r.data.user,token:r.data.token,refresh_token:r.data.refresh_token,is_new_user:r.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new v("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling link.");if(this.meta.authorizationCode==="undefined")throw new v("User denied confirmation during OAuth flow");try{let t=Bn();return(await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode})).data}catch(t){throw z(t)}}async getAuthorizationUrl(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.provider)throw new v("Provider must be set when initialzing OAuth authentication.");try{let t=Un();return(await this.api.post(t,{provider:this.meta.provider,redirect_to:window.location.href})).data}catch(t){throw z(t)}}};var Ft=class{constructor(t,r,o){this._meta={walletType:r,walletId:o},this.connectors=t,this.walletConnector=this.connectors.createWalletConnector(r,null,o)}get meta(){return{...this._meta,walletName:this.walletConnector.walletBranding.name,walletIcon:this.walletConnector.walletBranding.icon}}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");try{let{message:t,signature:r}=await this.sign(),o=await this.api.post(Tn(),{message:t,signature:r});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),{user:o.data.user,token:o.data.token,refresh_token:o.data.refresh_token,is_new_user:o.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");try{let{message:t,signature:r}=await this.sign(),o=await this.api.post(Wn(),{message:t,signature:r});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),o.data}catch(t){throw z(t)}}async promptConnect(){if(!this.api)throw new v("Auth flow has no API instance");let t=await this.walletConnector.connect({showPrompt:!0});return await this.buildSiweMessage(t),t}async sign(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.preparedMessage){let r=await this.walletConnector.connect({showPrompt:!1});await this.buildSiweMessage(r)}if(!this.preparedMessage)throw new v("Could not prepare SIWE message");let t=await this.walletConnector.sign(this.preparedMessage);return{message:this.preparedMessage,signature:t}}async buildSiweMessage(t){if(!this.api)throw new v("Auth flow has no API instance");let r=t.address,o=t.chainId,n=await this.api.post(kn(),{address:r});return this.preparedMessage=this.walletConnector.prepareMessage(o,r,n.data.nonce),this.preparedMessage}};var Bt=class{constructor(t){this.meta={phoneNumber:t}}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new v("phone number and sms code must be set prior to calling authenticate.");try{let t=Nn(),r=await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode});return{user:r.data.user,token:r.data.token,refresh_token:r.data.refresh_token,is_new_user:r.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new v("phone number and sms code must be set prior to calling authenticate.");try{let t=Dn();return(await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode})).data}catch(t){throw z(t)}}async sendSmsCode(t){if(!this.api)throw new v("Auth flow has no API instance");if(t&&(this.meta.phoneNumber=t),!this.meta.phoneNumber)throw new v("phone nNumber must be set when initialzing authentication.");try{let r=On();return(await this.api.post(r,{phoneNumber:this.meta.phoneNumber})).data}catch(r){throw z(r)}}};import{getAddress as lc}from"@ethersproject/address";var $n="1.19.0-beta.3";var zn="https://api.privy.io/v0",ao=process.env.NEXT_PUBLIC_PRIVY_AUTH_URL||"https://auth.privy.io",sr="4df5e2316331463a9130964bd6078dfa",qn=1e4,ue=1400,so=$n;var dt="privy:token",lr="privy:refresh_token",cr="privy:connectors",lo="walletconnect",Zn=3e4;var co=class{constructor(){this._cache={}}get(t){return this._cache[t]}put(t,r){r!==void 0?this._cache[t]=r:this.del(t)}del(t){delete this._cache[t]}getKeys(){return Object.keys(this._cache)}},po=class{get(t){let r=localStorage.getItem(t);return r===null?void 0:JSON.parse(r)}put(t,r){r!==void 0?localStorage.setItem(t,JSON.stringify(r)):this.del(t)}del(t){localStorage.removeItem(t)}getKeys(){return Object.entries(localStorage).map(([t])=>t)}};function il(){return typeof window<"u"&&window.localStorage?new po:new co}var q=il();import ml from"@coinbase/wallet-sdk";import{getAddress as hl}from"@ethersproject/address";import{jsx as Kn,jsxs as al}from"react/jsx-runtime";var Ee=({style:e,...t})=>al("svg",{width:"1024",height:"1024",viewBox:"0 0 1024 1024",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[Kn("rect",{width:"1024",height:"1024",fill:"#0052FF",rx:100,ry:100}),Kn("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z",fill:"white"})]});import{getAddress as ul}from"@ethersproject/address";import{Web3Provider as fl}from"@ethersproject/providers";import{ErrorCode as sl}from"@ethersproject/logger";var pt=class extends ${constructor(){super("Wallet timeout");this.type="wallet_error"}},Ze=class extends ${constructor(){super("User rejected connection");this.type="wallet_error"}},xe=e=>{if(e instanceof $)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let t=new ut(e);return e.code===sl.ACTION_REJECTED&&(t.details=qe.E4001_USER_REJECTED_REQUEST),t}return e!=null&&e.code?new ut(e):new $("Unknown connector error",e)},uo=class extends be{constructor(r,o,n){super(r);this.type="provider_error";this.code=o,this.data=n}},ut=class extends uo{constructor(r){var i,a,s;let o=r;super(o.message,o.code,o.data);let n=Object.values(qe).find(l=>l.eipCode===o.code);this.details=n||qe.UNKNOWN_ERROR,o.code===-32002&&((i=o.message)!=null&&i.includes("already pending for origin")?(a=o.message)!=null&&a.includes("wallet_requestPermissions")?this.details=qe.E32002_CONNECTION_ALREADY_PENDING:this.details=qe.E32002_REQUEST_ALREADY_PENDING:(s=o.message)!=null&&s.includes("Already processing")&&o.message.includes("eth_requestAccounts")&&(this.details=qe.E32002_WALLET_LOCKED))}},ll={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0},ERROR_USER_REJECTED_CONNECTION:{message:"You rejected the request",detail:"Please try connecting again.",retryable:!0}},cl={E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}},dl={E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1}},qe={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...dl,...cl},Ke={...ll,...qe};var pl=12e4,fo=(e=new pt,t=pl)=>new Promise((r,o)=>setTimeout(()=>{o(e)},t)),_e=class{constructor(t){this.removeListener=(t,r)=>{if(this.walletProvider)return this.walletProvider.removeListener(t,r)};this.setWalletProvider=t=>{this.walletProvider=t,this._subscriptions.forEach(r=>{var o;(o=this.walletProvider)==null||o.on(r.eventName,r.listener)})};this.walletProvider=t,this._subscriptions=[]}on(t,r){if(this.walletProvider)return this.walletProvider.on(t,r);this._subscriptions.push({eventName:t,listener:r})}async request(t){if(!this.walletProvider)throw new $(`A wallet request of type ${t.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(t),fo()]).catch(r=>{throw xe(r)})}},Je=class extends _e{constructor(r){super(r)}},dr=class extends _e{constructor(t){super(t)}sendAsync(t,r){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};var Te=class{constructor(t,r,o){this.createSiweMessage=(t,r,o,n,i,a,s)=>`${o} wants you to sign in with your Ethereum account:
1
+ var Ys=Object.create;var ar=Object.defineProperty;var Xs=Object.getOwnPropertyDescriptor;var Qs=Object.getOwnPropertyNames;var el=Object.getPrototypeOf,tl=Object.prototype.hasOwnProperty;var En=(e,t)=>()=>(e&&(t=e(e=0)),t);var ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),xn=(e,t)=>{for(var r in t)ar(e,r,{get:t[r],enumerable:!0})},_n=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Qs(t))!tl.call(e,n)&&n!==r&&ar(e,n,{get:()=>t[n],enumerable:!(o=Xs(t,n))||o.enumerable});return e};var rl=(e,t,r)=>(r=e!=null?Ys(el(e)):{},_n(t||!e||!e.__esModule?ar(r,"default",{value:e,enumerable:!0}):r,e)),Ln=e=>_n(ar({},"__esModule",{value:!0}),e);var yr=ke((o2,br)=>{var ai,si,li,ci,di,pi,ui,fi,mi,hr,bo,hi,gi,bi,ht,yi,vi,wi,Ci,Ei,xi,_i,Li,Si,gr;(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(o){e(r(t,r(o)))}):typeof br=="object"&&typeof br.exports=="object"?e(r(t,r(br.exports))):e(r(t));function r(o,n){return o!==t&&(typeof Object.create=="function"?Object.defineProperty(o,"__esModule",{value:!0}):o.__esModule=!0),function(i,a){return o[i]=n?n(i,a):a}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,n){o.__proto__=n}||function(o,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(o[i]=n[i])};ai=function(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(o,n);function i(){this.constructor=o}o.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},si=Object.assign||function(o){for(var n,i=1,a=arguments.length;i<a;i++){n=arguments[i];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])}return o},li=function(o,n){var i={};for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&n.indexOf(a)<0&&(i[a]=o[a]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(o);s<a.length;s++)n.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(o,a[s])&&(i[a[s]]=o[a[s]]);return i},ci=function(o,n,i,a){var s=arguments.length,l=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,i):a,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(o,n,i,a);else for(var f=o.length-1;f>=0;f--)(d=o[f])&&(l=(s<3?d(l):s>3?d(n,i,l):d(n,i))||l);return s>3&&l&&Object.defineProperty(n,i,l),l},di=function(o,n){return function(i,a){n(i,a,o)}},pi=function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},ui=function(o,n,i,a){function s(l){return l instanceof i?l:new i(function(d){d(l)})}return new(i||(i=Promise))(function(l,d){function f(g){try{p(a.next(g))}catch(b){d(b)}}function u(g){try{p(a.throw(g))}catch(b){d(b)}}function p(g){g.done?l(g.value):s(g.value).then(f,u)}p((a=a.apply(o,n||[])).next())})},fi=function(o,n){var i={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},a,s,l,d;return d={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(d[Symbol.iterator]=function(){return this}),d;function f(p){return function(g){return u([p,g])}}function u(p){if(a)throw new TypeError("Generator is already executing.");for(;i;)try{if(a=1,s&&(l=p[0]&2?s.return:p[0]?s.throw||((l=s.return)&&l.call(s),0):s.next)&&!(l=l.call(s,p[1])).done)return l;switch(s=0,l&&(p=[p[0]&2,l.value]),p[0]){case 0:case 1:l=p;break;case 4:return i.label++,{value:p[1],done:!1};case 5:i.label++,s=p[1],p=[0];continue;case 7:p=i.ops.pop(),i.trys.pop();continue;default:if(l=i.trys,!(l=l.length>0&&l[l.length-1])&&(p[0]===6||p[0]===2)){i=0;continue}if(p[0]===3&&(!l||p[1]>l[0]&&p[1]<l[3])){i.label=p[1];break}if(p[0]===6&&i.label<l[1]){i.label=l[1],l=p;break}if(l&&i.label<l[2]){i.label=l[2],i.ops.push(p);break}l[2]&&i.ops.pop(),i.trys.pop();continue}p=n.call(o,i)}catch(g){p=[6,g],s=0}finally{a=l=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}},mi=function(o,n){for(var i in o)i!=="default"&&!Object.prototype.hasOwnProperty.call(n,i)&&gr(n,o,i)},gr=Object.create?function(o,n,i,a){a===void 0&&(a=i);var s=Object.getOwnPropertyDescriptor(n,i);(!s||("get"in s?!n.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return n[i]}}),Object.defineProperty(o,a,s)}:function(o,n,i,a){a===void 0&&(a=i),o[a]=n[i]},hr=function(o){var n=typeof Symbol=="function"&&Symbol.iterator,i=n&&o[n],a=0;if(i)return i.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&a>=o.length&&(o=void 0),{value:o&&o[a++],done:!o}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},bo=function(o,n){var i=typeof Symbol=="function"&&o[Symbol.iterator];if(!i)return o;var a=i.call(o),s,l=[],d;try{for(;(n===void 0||n-- >0)&&!(s=a.next()).done;)l.push(s.value)}catch(f){d={error:f}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(d)throw d.error}}return l},hi=function(){for(var o=[],n=0;n<arguments.length;n++)o=o.concat(bo(arguments[n]));return o},gi=function(){for(var o=0,n=0,i=arguments.length;n<i;n++)o+=arguments[n].length;for(var a=Array(o),s=0,n=0;n<i;n++)for(var l=arguments[n],d=0,f=l.length;d<f;d++,s++)a[s]=l[d];return a},bi=function(o,n,i){if(i||arguments.length===2)for(var a=0,s=n.length,l;a<s;a++)(l||!(a in n))&&(l||(l=Array.prototype.slice.call(n,0,a)),l[a]=n[a]);return o.concat(l||Array.prototype.slice.call(n))},ht=function(o){return this instanceof ht?(this.v=o,this):new ht(o)},yi=function(o,n,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a=i.apply(o,n||[]),s,l=[];return s={},d("next"),d("throw"),d("return"),s[Symbol.asyncIterator]=function(){return this},s;function d(c){a[c]&&(s[c]=function(y){return new Promise(function(_,T){l.push([c,y,_,T])>1||f(c,y)})})}function f(c,y){try{u(a[c](y))}catch(_){b(l[0][3],_)}}function u(c){c.value instanceof ht?Promise.resolve(c.value.v).then(p,g):b(l[0][2],c)}function p(c){f("next",c)}function g(c){f("throw",c)}function b(c,y){c(y),l.shift(),l.length&&f(l[0][0],l[0][1])}},vi=function(o){var n,i;return n={},a("next"),a("throw",function(s){throw s}),a("return"),n[Symbol.iterator]=function(){return this},n;function a(s,l){n[s]=o[s]?function(d){return(i=!i)?{value:ht(o[s](d)),done:s==="return"}:l?l(d):d}:l}},wi=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=o[Symbol.asyncIterator],i;return n?n.call(o):(o=typeof hr=="function"?hr(o):o[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(l){i[l]=o[l]&&function(d){return new Promise(function(f,u){d=o[l](d),s(f,u,d.done,d.value)})}}function s(l,d,f,u){Promise.resolve(u).then(function(p){l({value:p,done:f})},d)}},Ci=function(o,n){return Object.defineProperty?Object.defineProperty(o,"raw",{value:n}):o.raw=n,o};var r=Object.create?function(o,n){Object.defineProperty(o,"default",{enumerable:!0,value:n})}:function(o,n){o.default=n};Ei=function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var i in o)i!=="default"&&Object.prototype.hasOwnProperty.call(o,i)&&gr(n,o,i);return r(n,o),n},xi=function(o){return o&&o.__esModule?o:{default:o}},_i=function(o,n,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof n=="function"?o!==n||!a:!n.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(o):a?a.value:n.get(o)},Li=function(o,n,i,a,s){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof n=="function"?o!==n||!s:!n.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?s.call(o,i):s?s.value=i:n.set(o,i),i},Si=function(o,n){if(n===null||typeof n!="object"&&typeof n!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof o=="function"?n===o:o.has(n)},e("__extends",ai),e("__assign",si),e("__rest",li),e("__decorate",ci),e("__param",di),e("__metadata",pi),e("__awaiter",ui),e("__generator",fi),e("__exportStar",mi),e("__createBinding",gr),e("__values",hr),e("__read",bo),e("__spread",hi),e("__spreadArrays",gi),e("__spreadArray",bi),e("__await",ht),e("__asyncGenerator",yi),e("__asyncDelegator",vi),e("__asyncValues",wi),e("__makeTemplateObject",Ci),e("__importStar",Ei),e("__importDefault",xi),e("__classPrivateFieldGet",_i),e("__classPrivateFieldSet",Li),e("__classPrivateFieldIn",Si)})});var yo=ke(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.getLocalStorage=O.getLocalStorageOrThrow=O.getCrypto=O.getCryptoOrThrow=O.getLocation=O.getLocationOrThrow=O.getNavigator=O.getNavigatorOrThrow=O.getDocument=O.getDocumentOrThrow=O.getFromWindowOrThrow=O.getFromWindow=void 0;function Xe(e){let t;return typeof window<"u"&&typeof window[e]<"u"&&(t=window[e]),t}O.getFromWindow=Xe;function gt(e){let t=Xe(e);if(!t)throw new Error(`${e} is not defined in Window`);return t}O.getFromWindowOrThrow=gt;function Al(){return gt("document")}O.getDocumentOrThrow=Al;function kl(){return Xe("document")}O.getDocument=kl;function Tl(){return gt("navigator")}O.getNavigatorOrThrow=Tl;function Wl(){return Xe("navigator")}O.getNavigator=Wl;function Rl(){return gt("location")}O.getLocationOrThrow=Rl;function Il(){return Xe("location")}O.getLocation=Il;function Ml(){return gt("crypto")}O.getCryptoOrThrow=Ml;function Ol(){return Xe("crypto")}O.getCrypto=Ol;function Nl(){return gt("localStorage")}O.getLocalStorageOrThrow=Nl;function Dl(){return Xe("localStorage")}O.getLocalStorage=Dl});var Ai=ke(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.getWindowMetadata=void 0;var Pi=yo();function Ul(){let e,t;try{e=Pi.getDocumentOrThrow(),t=Pi.getLocationOrThrow()}catch{return null}function r(){let u=e.getElementsByTagName("link"),p=[];for(let g=0;g<u.length;g++){let b=u[g],c=b.getAttribute("rel");if(c&&c.toLowerCase().indexOf("icon")>-1){let y=b.getAttribute("href");if(y)if(y.toLowerCase().indexOf("https:")===-1&&y.toLowerCase().indexOf("http:")===-1&&y.indexOf("//")!==0){let _=t.protocol+"//"+t.host;if(y.indexOf("/")===0)_+=y;else{let T=t.pathname.split("/");T.pop(),_+=T.join("/")+"/"+y}p.push(_)}else if(y.indexOf("//")===0){let _=t.protocol+y;p.push(_)}else p.push(y)}}return p}function o(...u){let p=e.getElementsByTagName("meta");for(let g=0;g<p.length;g++){let b=p[g],c=["itemprop","property","name"].map(y=>b.getAttribute(y)).filter(y=>y?u.includes(y):!1);if(c.length&&c){let y=b.getAttribute("content");if(y)return y}}return""}function n(){let u=o("name","og:site_name","og:title","twitter:title");return u||(u=e.title),u}function i(){return o("description","og:description","twitter:description","keywords")}let a=n(),s=i(),l=t.origin,d=r();return{description:s,url:l,icons:d,name:a}}vr.getWindowMetadata=Ul});var Fi={};xn(Fi,{BotInfo:()=>Mi,BrowserInfo:()=>Wi,NodeInfo:()=>Ri,ReactNativeInfo:()=>Oi,SearchBotDeviceInfo:()=>Ii,browserName:()=>jl,detect:()=>Vl,detectOS:()=>Di,getNodeVersion:()=>Ui,parseUserAgent:()=>vo});function Vl(e){return e?vo(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Oi:typeof navigator<"u"?vo(navigator.userAgent):Ui()}function Ni(e){return e!==""&&Hl.reduce(function(t,r){var o=r[0],n=r[1];if(t)return t;var i=n.exec(e);return!!i&&[o,i]},!1)}function jl(e){var t=Ni(e);return t?t[0]:null}function vo(e){var t=Ni(e);if(!t)return null;var r=t[0],o=t[1];if(r==="searchbot")return new Mi;var n=o[1]&&o[1].split(/[._]/).slice(0,3);n?n.length<ki&&(n=Fl(n,$l(ki-n.length))):n=[];var i=n.join("."),a=Di(e),s=Gl.exec(e);return s&&s[1]?new Ii(r,i,a,s[1]):new Wi(r,i,a)}function Di(e){for(var t=0,r=Ti.length;t<r;t++){var o=Ti[t],n=o[0],i=o[1],a=i.exec(e);if(a)return n}return null}function Ui(){var e=typeof process<"u"&&process.version;return e?new Ri(process.version.slice(1)):null}function $l(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}var Fl,Wi,Ri,Ii,Mi,Oi,Bl,Gl,ki,Hl,Ti,Bi=En(()=>{Fl=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var o=Array(e),n=0,t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,n++)o[n]=i[a];return o},Wi=function(){function e(t,r,o){this.name=t,this.version=r,this.os=o,this.type="browser"}return e}(),Ri=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}(),Ii=function(){function e(t,r,o,n){this.name=t,this.version=r,this.os=o,this.bot=n,this.type="bot-device"}return e}(),Mi=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}(),Oi=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}(),Bl=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Gl=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,ki=3,Hl=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FBAV\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["searchbot",Bl]],Ti=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]]});var Co=ke(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.getClientMeta=E.getLocalStorage=E.getLocalStorageOrThrow=E.getCrypto=E.getCryptoOrThrow=E.getLocation=E.getLocationOrThrow=E.getNavigator=E.getNavigatorOrThrow=E.getDocument=E.getDocumentOrThrow=E.getFromWindowOrThrow=E.getFromWindow=E.isBrowser=E.isNode=E.isMobile=E.isIOS=E.isAndroid=E.detectOS=E.detectEnv=void 0;var Gi=yr(),zl=Gi.__importStar(Ai()),fe=Gi.__importStar(yo()),ql=(Bi(),Ln(Fi));function wo(e){return(0,ql.detect)(e)}E.detectEnv=wo;function wr(){let e=wo();return e&&e.os?e.os:void 0}E.detectOS=wr;function Hi(){let e=wr();return e?e.toLowerCase().includes("android"):!1}E.isAndroid=Hi;function Vi(){let e=wr();return e?e.toLowerCase().includes("ios")||e.toLowerCase().includes("mac")&&navigator.maxTouchPoints>1:!1}E.isIOS=Vi;function Zl(){return wr()?Hi()||Vi():!1}E.isMobile=Zl;function ji(){let e=wo();return e&&e.name?e.name.toLowerCase()==="node":!1}E.isNode=ji;function Kl(){return!ji()&&!!(0,E.getNavigator)()}E.isBrowser=Kl;E.getFromWindow=fe.getFromWindow;E.getFromWindowOrThrow=fe.getFromWindowOrThrow;E.getDocumentOrThrow=fe.getDocumentOrThrow;E.getDocument=fe.getDocument;E.getNavigatorOrThrow=fe.getNavigatorOrThrow;E.getNavigator=fe.getNavigator;E.getLocationOrThrow=fe.getLocationOrThrow;E.getLocation=fe.getLocation;E.getCryptoOrThrow=fe.getCryptoOrThrow;E.getCrypto=fe.getCrypto;E.getLocalStorageOrThrow=fe.getLocalStorageOrThrow;E.getLocalStorage=fe.getLocalStorage;function Jl(){return zl.getWindowMetadata()}E.getClientMeta=Jl});var $i={};xn($i,{safeJsonParse:()=>Yl,safeJsonStringify:()=>Xl});function Yl(e){if(typeof e!="string")throw new Error(`Cannot safe json parse value of type ${typeof e}`);try{return JSON.parse(e)}catch{return e}}function Xl(e){return typeof e=="string"?e:JSON.stringify(e)}var zi=En(()=>{});var Eo=ke(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.safeJsonStringify=bt.safeJsonParse=void 0;var Ql=yr(),qi=Ql.__importStar((zi(),Ln($i)));bt.safeJsonParse=qi.safeJsonParse;bt.safeJsonStringify=qi.safeJsonStringify});var _o=ke(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.removeLocal=De.getLocal=De.setLocal=void 0;var Zi=Eo(),xo=Co();function ec(e,t){let r=(0,Zi.safeJsonStringify)(t),o=(0,xo.getLocalStorage)();o&&o.setItem(e,r)}De.setLocal=ec;function tc(e){let t=null,r=null,o=(0,xo.getLocalStorage)();return o&&(r=o.getItem(e)),t=r&&(0,Zi.safeJsonParse)(r),t}De.getLocal=tc;function rc(e){let t=(0,xo.getLocalStorage)();t&&t.removeItem(e)}De.removeLocal=rc});var Ji=ke(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.getMobileLinkRegistry=ie.getMobileRegistryEntry=ie.saveMobileLinkInfo=ie.formatIOSMobile=ie.mobileLinkChoiceKey=void 0;var oc=_o();ie.mobileLinkChoiceKey="WALLETCONNECT_DEEPLINK_CHOICE";function nc(e,t){let r=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${r}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${r}`:""}ie.formatIOSMobile=nc;function ic(e){let t=e.href.split("?")[0];(0,oc.setLocal)(ie.mobileLinkChoiceKey,Object.assign(Object.assign({},e),{href:t}))}ie.saveMobileLinkInfo=ic;function Ki(e,t){return e.filter(r=>r.name.toLowerCase().includes(t.toLowerCase()))[0]}ie.getMobileRegistryEntry=Ki;function ac(e,t){let r=e;return t&&(r=t.map(o=>Ki(e,o)).filter(Boolean)),r}ie.getMobileLinkRegistry=ac});var Qi=ke(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.formatMobileRegistry=Le.formatMobileRegistryEntry=Le.getDappRegistryUrl=Le.getWalletRegistryUrl=void 0;var Yi="https://registry.walletconnect.com";function sc(){return Yi+"/api/v2/wallets"}Le.getWalletRegistryUrl=sc;function lc(){return Yi+"/api/v2/dapps"}Le.getDappRegistryUrl=lc;function Xi(e,t="mobile"){var r;return{name:e.name||"",shortName:e.metadata.shortName||"",color:e.metadata.colors.primary||"",logo:(r=e.image_url.sm)!==null&&r!==void 0?r:"",universalLink:e[t].universal||"",deepLink:e[t].native||""}}Le.formatMobileRegistryEntry=Xi;function cc(e,t="mobile"){return Object.values(e).filter(r=>!!r[t].universal||!!r[t].native).map(r=>Xi(r,t))}Le.formatMobileRegistry=cc});var ea=ke(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var Gt=yr();Gt.__exportStar(Co(),Qe);Gt.__exportStar(Eo(),Qe);Gt.__exportStar(_o(),Qe);Gt.__exportStar(Ji(),Qe);Gt.__exportStar(Qi(),Qe)});import{Web3Provider as Dp}from"@ethersproject/providers";import{useEffect as wn,useState as Q}from"react";var C=()=>{throw new Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")};import ol from"axios";var be=class extends Error{constructor(r,o){super(r);o instanceof Error&&(this.cause=o)}toString(){return`${this.type}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},lt=class extends be{constructor(r,o,n,i){super(n,i);this.type=r;this.status=o}},v=class extends be{constructor(r,o){super(r,o);this.type="client_error"}};var $=class extends be{constructor(r,o){super(r,o);this.type="connector_error"}},z=e=>{if(e instanceof be)return e;if(!ol.isAxiosError(e))return pe(e);if(!e.response)return new lt("api_error",null,e.message,e);let{type:t,message:r,error:o}=e.response.data;return new lt(t||"ApiError",e.response.status,r||o,e)},pe=e=>e instanceof be?e:e instanceof Error?new v(e.message,e):new v(`Internal error: ${e}`);var Sn=()=>"/api/v1/sessions",Pn=()=>"/api/v1/sessions/logout",An=()=>"/api/v1/sessions/fork",kn=()=>"/api/v1/siwe/init",Tn=()=>"/api/v1/siwe/authenticate",Wn=()=>"/api/v1/siwe/link",Rn=()=>"/api/v1/passwordless/init",In=()=>"/api/v1/passwordless/authenticate",Mn=()=>"/api/v1/passwordless/link",On=()=>"/api/v1/passwordless_sms/init",Nn=()=>"/api/v1/passwordless_sms/authenticate",Dn=()=>"/api/v1/passwordless_sms/link",Un=()=>"/api/v1/oauth/init",Fn=()=>"/api/v1/oauth/authenticate",Bn=()=>"/api/v1/oauth/link",Gn=()=>"/api/v1/siwe/unlink",Hn=()=>"/api/v1/passwordless/unlink",Vn=()=>"/api/v1/passwordless_sms/unlink",jn=()=>"/api/v1/oauth/unlink";var Ut=class{constructor(t){this.meta={email:t}}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new v("Email and email code must be set prior to calling authenticate.");try{let t=In(),r=await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode});return{user:r.data.user,token:r.data.token,refresh_token:r.data.refresh_token,is_new_user:r.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new v("Email and email code must be set prior to calling authenticate.");try{let t=Mn();return(await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode})).data}catch(t){throw z(t)}}async sendCodeEmail(t){if(!this.api)throw new v("Auth flow has no API instance");if(t&&(this.meta.email=t),!this.meta.email)throw new v("Email must be set when initialzing authentication.");try{let r=Rn();return(await this.api.post(r,{email:this.meta.email})).data}catch(r){throw z(r)}}};var ct=class{constructor(t,r,o){this.meta={provider:t},this.meta.authorizationCode=r,this.meta.stateCode=o}isActive(){return!!(this.meta.authorizationCode&&this.meta.stateCode&&this.meta.provider)}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new v("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenticate.");if(this.meta.authorizationCode==="undefined")throw new v("User denied confirmation during OAuth flow");try{let t=Fn(),r=await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode});return{user:r.data.user,token:r.data.token,refresh_token:r.data.refresh_token,is_new_user:r.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new v("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling link.");if(this.meta.authorizationCode==="undefined")throw new v("User denied confirmation during OAuth flow");try{let t=Bn();return(await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode})).data}catch(t){throw z(t)}}async getAuthorizationUrl(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.provider)throw new v("Provider must be set when initialzing OAuth authentication.");try{let t=Un();return(await this.api.post(t,{provider:this.meta.provider,redirect_to:window.location.href})).data}catch(t){throw z(t)}}};var Ft=class{constructor(t,r,o){this._meta={walletType:r,walletId:o},this.connectors=t,this.walletConnector=this.connectors.createWalletConnector(r,null,o)}get meta(){return{...this._meta,walletName:this.walletConnector.walletBranding.name,walletIcon:this.walletConnector.walletBranding.icon}}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");try{let{message:t,signature:r}=await this.sign(),o=await this.api.post(Tn(),{message:t,signature:r});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),{user:o.data.user,token:o.data.token,refresh_token:o.data.refresh_token,is_new_user:o.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");try{let{message:t,signature:r}=await this.sign(),o=await this.api.post(Wn(),{message:t,signature:r});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),o.data}catch(t){throw z(t)}}async promptConnect(){if(!this.api)throw new v("Auth flow has no API instance");let t=await this.walletConnector.connect({showPrompt:!0});return await this.buildSiweMessage(t),t}async sign(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.preparedMessage){let r=await this.walletConnector.connect({showPrompt:!1});await this.buildSiweMessage(r)}if(!this.preparedMessage)throw new v("Could not prepare SIWE message");let t=await this.walletConnector.sign(this.preparedMessage);return{message:this.preparedMessage,signature:t}}async buildSiweMessage(t){if(!this.api)throw new v("Auth flow has no API instance");let r=t.address,o=t.chainId,n=await this.api.post(kn(),{address:r});return this.preparedMessage=this.walletConnector.prepareMessage(o,r,n.data.nonce),this.preparedMessage}};var Bt=class{constructor(t){this.meta={phoneNumber:t}}async authenticate(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new v("phone number and sms code must be set prior to calling authenticate.");try{let t=Nn(),r=await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode});return{user:r.data.user,token:r.data.token,refresh_token:r.data.refresh_token,is_new_user:r.data.is_new_user}}catch(t){throw z(t)}}async link(){if(!this.api)throw new v("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new v("phone number and sms code must be set prior to calling authenticate.");try{let t=Dn();return(await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode})).data}catch(t){throw z(t)}}async sendSmsCode(t){if(!this.api)throw new v("Auth flow has no API instance");if(t&&(this.meta.phoneNumber=t),!this.meta.phoneNumber)throw new v("phone nNumber must be set when initialzing authentication.");try{let r=On();return(await this.api.post(r,{phoneNumber:this.meta.phoneNumber})).data}catch(r){throw z(r)}}};import{getAddress as fc}from"@ethersproject/address";var $n="1.19.0-beta.4";var zn="https://api.privy.io/v0",ao=process.env.NEXT_PUBLIC_PRIVY_AUTH_URL||"https://auth.privy.io",sr="4df5e2316331463a9130964bd6078dfa",qn=1e4,ue=1400,so=$n;var dt="privy:token",lr="privy:refresh_token",cr="privy:connectors",lo="walletconnect",Zn=3e4;var co=class{constructor(){this._cache={}}get(t){return this._cache[t]}put(t,r){r!==void 0?this._cache[t]=r:this.del(t)}del(t){delete this._cache[t]}getKeys(){return Object.keys(this._cache)}},po=class{get(t){let r=localStorage.getItem(t);return r===null?void 0:JSON.parse(r)}put(t,r){r!==void 0?localStorage.setItem(t,JSON.stringify(r)):this.del(t)}del(t){localStorage.removeItem(t)}getKeys(){return Object.entries(localStorage).map(([t])=>t)}};function il(){return typeof window<"u"&&window.localStorage?new po:new co}var q=il();import ml from"@coinbase/wallet-sdk";import{getAddress as hl}from"@ethersproject/address";import{jsx as Kn,jsxs as al}from"react/jsx-runtime";var Ee=({style:e,...t})=>al("svg",{width:"1024",height:"1024",viewBox:"0 0 1024 1024",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[Kn("rect",{width:"1024",height:"1024",fill:"#0052FF",rx:100,ry:100}),Kn("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M152 512C152 710.823 313.177 872 512 872C710.823 872 872 710.823 872 512C872 313.177 710.823 152 512 152C313.177 152 152 313.177 152 512ZM420 396C406.745 396 396 406.745 396 420V604C396 617.255 406.745 628 420 628H604C617.255 628 628 617.255 628 604V420C628 406.745 617.255 396 604 396H420Z",fill:"white"})]});import{getAddress as ul}from"@ethersproject/address";import{Web3Provider as fl}from"@ethersproject/providers";import{ErrorCode as sl}from"@ethersproject/logger";var pt=class extends ${constructor(){super("Wallet timeout");this.type="wallet_error"}},Ze=class extends ${constructor(){super("User rejected connection");this.type="wallet_error"}},xe=e=>{if(e instanceof $)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let t=new ut(e);return e.code===sl.ACTION_REJECTED&&(t.details=qe.E4001_USER_REJECTED_REQUEST),t}return e!=null&&e.code?new ut(e):new $("Unknown connector error",e)},uo=class extends be{constructor(r,o,n){super(r);this.type="provider_error";this.code=o,this.data=n}},ut=class extends uo{constructor(r){var i,a,s;let o=r;super(o.message,o.code,o.data);let n=Object.values(qe).find(l=>l.eipCode===o.code);this.details=n||qe.UNKNOWN_ERROR,o.code===-32002&&((i=o.message)!=null&&i.includes("already pending for origin")?(a=o.message)!=null&&a.includes("wallet_requestPermissions")?this.details=qe.E32002_CONNECTION_ALREADY_PENDING:this.details=qe.E32002_REQUEST_ALREADY_PENDING:(s=o.message)!=null&&s.includes("Already processing")&&o.message.includes("eth_requestAccounts")&&(this.details=qe.E32002_WALLET_LOCKED))}},ll={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0},ERROR_USER_REJECTED_CONNECTION:{message:"You rejected the request",detail:"Please try connecting again.",retryable:!0}},cl={E32002_CONNECTION_ALREADY_PENDING:{eipCode:-32002,message:"Connection request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_REQUEST_ALREADY_PENDING:{eipCode:-32002,message:"Resource request already pending",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E32002_WALLET_LOCKED:{eipCode:-32002,message:"Wallet might be locked",detail:"Don\u2019t see your wallet modal? Check your other browser windows.",retryable:!1},E4001_USER_REJECTED_REQUEST:{eipCode:4001,message:"Signature rejected",detail:"Please try signing again.",retryable:!0}},dl={E4001_DEFAULT_USER_REJECTED_REQUEST:{eipCode:4001,message:"User Rejected Request",detail:"The user rejected the request.",default:!0,retryable:!0},E4100_DEFAULT_UNAUTHORIZED:{eipCode:4100,message:"Unauthorized",detail:"The requested method and/or account has not been authorized by the user.",default:!0,retryable:!1},E4200_DEFAULT_UNSUPPORTED_METHOD:{eipCode:4200,message:"Unsupported Method",detail:"The Provider does not support the requested method.",default:!0,retryable:!1},E4900_DEFAULT_DISCONNECTED:{eipCode:4900,message:"Disconnected",detail:"The Provider is disconnected from all chains.",default:!0,retryable:!0},E4901_DEFAULT_CHAIN_DISCONNECTED:{eipCode:4901,message:"Chain Disconnected",detail:"The Provider is not connected to the requested chain.",default:!0,retryable:!0},E32700_DEFAULT_PARSE_ERROR:{eipCode:-32700,message:"Parse error",detail:"Invalid JSON",default:!0,retryable:!1},E32600_DEFAULT_INVALID_REQUEST:{eipCode:-32600,message:"Invalid request",detail:"JSON is not a valid request object",default:!0,retryable:!1},E32601_DEFAULT_METHOD_NOT_FOUND:{eipCode:-32601,message:"Method not found",detail:"Method does not exist",default:!0,retryable:!1},E32602_DEFAULT_INVALID_PARAMS:{eipCode:-32602,message:"Invalid params",detail:"Invalid method parameters",default:!0,retryable:!1},E32603_DEFAULT_INTERNAL_ERROR:{eipCode:-32603,message:"Internal error",detail:"Internal JSON-RPC error",default:!0,retryable:!0},E32000_DEFAULT_INVALID_INPUT:{eipCode:-32e3,message:"Invalid input",detail:"Missing or invalid parameters",default:!0,retryable:!1},E32001_DEFAULT_RESOURCE_NOT_FOUND:{eipCode:-32001,message:"Resource not found",detail:"Requested resource not found",default:!0,retryable:!1},E32002_DEFAULT_RESOURCE_UNAVAILABLE:{eipCode:-32002,message:"Resource unavailable",detail:"Requested resource not available",default:!0,retryable:!0},E32003_DEFAULT_TRANSACTION_REJECTED:{eipCode:-32003,message:"Transaction rejected",detail:"Transaction creation failed",default:!0,retryable:!0},E32004_DEFAULT_METHOD_NOT_SUPPORTED:{eipCode:-32004,message:"Method not supported",detail:"Method is not implemented",default:!0,retryable:!1},E32005_DEFAULT_LIMIT_EXCEEDED:{eipCode:-32005,message:"Limit exceeded",detail:"Request exceeds defined limit",default:!0,retryable:!1},E32006_DEFAULT_JSON_RPC_VERSION_NOT_SUPPORTED:{eipCode:-32006,message:"JSON-RPC version not supported",detail:"Version of JSON-RPC protocol is not supported",default:!0,retryable:!1}},qe={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...dl,...cl},Ke={...ll,...qe};var pl=12e4,fo=(e=new pt,t=pl)=>new Promise((r,o)=>setTimeout(()=>{o(e)},t)),_e=class{constructor(t){this.removeListener=(t,r)=>{if(this.walletProvider)return this.walletProvider.removeListener(t,r)};this.setWalletProvider=t=>{this.walletProvider=t,this._subscriptions.forEach(r=>{var o;(o=this.walletProvider)==null||o.on(r.eventName,r.listener)})};this.walletProvider=t,this._subscriptions=[]}on(t,r){if(this.walletProvider)return this.walletProvider.on(t,r);this._subscriptions.push({eventName:t,listener:r})}async request(t){if(!this.walletProvider)throw new $(`A wallet request of type ${t.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(t),fo()]).catch(r=>{throw xe(r)})}},Je=class extends _e{constructor(r){super(r)}},dr=class extends _e{constructor(t){super(t)}sendAsync(t,r){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};var Te=class{constructor(t,r,o){this.createSiweMessage=(t,r,o,n,i,a,s)=>`${o} wants you to sign in with your Ethereum account:
2
2
  ${r}
3
3
 
4
4
  ${s}
@@ -9,7 +9,7 @@ Chain ID: ${t}
9
9
  Nonce: ${a}
10
10
  Issued At: ${i}
11
11
  Resources:
12
- - https://privy.io`;this.proxyProvider=r,this.walletType=t,this.address=o,this.chain=null,this.connected=!1}async fetchAddress(){if(!this.address){let t=await this.proxyProvider.request({method:"eth_accounts"});Array.isArray(t)&&t.length>0&&(this.address=ul(t[0]))}return this.address}async fetchChainId(){if(!this.chain){let t=await this.proxyProvider.request({method:"eth_chainId"}),r=Number(t);this.chain=String(r)}return this.chain}async getConnectedWallet(){if(!this.walletType||!await this.isConnected())return null;let r=await this.fetchAddress(),o=await this.fetchChainId();return{address:r,chainId:o,chainType:"ethereum",walletClient:"unknown"}}async setActive(){return!0}async sign(t){return await this.connect({showPrompt:!1}),new fl(new Je(this.proxyProvider)).getSigner().signMessage(t)}prepareMessage(t,r,o){let n=window.location.host,i=window.location.origin,a="By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",s=new Date().toISOString();return this.createSiweMessage(t,r,n,i,s,o,a)}};var gl=e=>{let t=`https://mainnet.infura.io/v3/${sr}`,r=1;return e.makeWeb3Provider(t,r)},pr,ur=class extends Te{constructor(t,r){super("coinbase_wallet",t,r),pr||(pr=new ml({appName:"Privy",darkMode:!1,headlessMode:!1}))}async connect(t){return this.proxyProvider.setWalletProvider(gl(pr)),t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}disconnect(){pr.disconnect()}async isConnected(){return await this.fetchAddress()!==null}get walletBranding(){return{name:"Coinbase Wallet",icon:Ee}}async promptConnection(){try{let t="",r=await this.proxyProvider.request({method:"eth_requestAccounts"});if(r.length>0&&(t=hl(r[0])),!t||t==="")throw new $("Unable to retrieve address");this.connected=!0}catch(t){throw xe(t)}}};import{getAddress as ti}from"@ethersproject/address";import{Web3Provider as wl}from"@ethersproject/providers";import{isMobile as Cl}from"react-device-detect";import{jsx as ne,jsxs as bl}from"react/jsx-runtime";var ye=({style:e,...t})=>bl("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[ne("rect",{width:"28",height:"28",rx:"6",fill:"white"}),ne("path",{d:"M23.0126 5L15.1958 10.7823L16.6533 7.37359L23.0126 5Z",fill:"#E17726",stroke:"#E17726",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M4.98753 5L12.7329 10.8299L11.3468 7.37954L4.98753 5ZM20.1987 18.4027L18.1166 21.5794L22.5723 22.8049L23.8454 18.4741L20.1987 18.4027ZM4.16064 18.4741L5.42775 22.8049L9.87153 21.5794L7.80133 18.4027L4.16064 18.4741Z",fill:"#E27625",stroke:"#E27625",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M9.6336 13.0369L8.39624 14.9049L12.7984 15.1071L12.6556 10.3659L9.6336 13.0429V13.0369ZM18.3665 13.0429L15.2969 10.3064L15.1958 15.1071L19.5979 14.9049L18.3665 13.0429ZM9.87155 21.5794L12.5426 20.2945L10.2463 18.5098L9.87155 21.5794ZM15.4635 20.2886L18.1166 21.5794L17.7597 18.5039L15.4635 20.2886Z",fill:"#E27625",stroke:"#E27625",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M18.1167 21.5794L15.4635 20.2944L15.6776 22.0196L15.6539 22.7513L18.1167 21.5794ZM9.87158 21.5794L12.3463 22.7513L12.3285 22.0196L12.5426 20.2944L9.87158 21.5794Z",fill:"#D5BFB2",stroke:"#D5BFB2",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M12.3878 17.3616L10.1868 16.7191L11.7454 16.0052L12.3938 17.3616H12.3878ZM15.6062 17.3616L16.2605 15.9993L17.8251 16.7131L15.6062 17.3675V17.3616Z",fill:"#233447",stroke:"#233447",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M9.87147 21.5794L10.2581 18.4027L7.80127 18.4741L9.87147 21.5794ZM17.7418 18.4027L18.1166 21.5794L20.1987 18.4741L17.7418 18.4027ZM19.6038 14.9048L15.2016 15.107L15.6061 17.3676L16.2605 15.9994L17.8251 16.7132L19.6038 14.9048ZM10.1868 16.7192L11.7454 16.0053L12.3938 17.3617L12.8042 15.1011L8.4021 14.9048L10.1868 16.7192Z",fill:"#CC6228",stroke:"#CC6228",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M8.4021 14.9048L10.2462 18.5038L10.1868 16.7192L8.4021 14.9048ZM17.8251 16.7192L17.7537 18.5038L19.5978 14.9048L17.8251 16.7192ZM12.8042 15.107L12.3878 17.3676L12.9113 20.0327L13.0303 16.5169L12.8042 15.107ZM15.1957 15.107L14.9815 16.511L15.0886 20.0327L15.6061 17.3617L15.1957 15.1011V15.107Z",fill:"#E27525",stroke:"#E27525",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M15.6062 17.3617L15.0887 20.0327L15.4635 20.2945L17.7538 18.5098L17.8252 16.7192L15.6062 17.3617ZM10.1869 16.7192L10.2463 18.5039L12.5426 20.2885L12.9114 20.0327L12.3939 17.3617L10.1809 16.7192H10.1869Z",fill:"#F5841F",stroke:"#F5841F",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M15.6598 22.7513L15.6776 22.0196L15.4754 21.853H12.5248L12.3285 22.0196L12.3463 22.7513L9.87158 21.5793L10.7401 22.2932L12.495 23.5008H15.4992L17.26 22.2873L18.1167 21.5793L15.6539 22.7513H15.6598Z",fill:"#C0AC9D",stroke:"#C0AC9D",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M15.4634 20.2885L15.0886 20.0327H12.9114L12.5425 20.2945L12.3284 22.0196L12.5247 21.8531H15.4753L15.6776 22.0196L15.4634 20.2945V20.2885Z",fill:"#161616",stroke:"#161616",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M23.3456 11.1571L24 7.97442L23.0125 5L15.4575 10.5919L18.3664 13.0369L22.4711 14.2326L23.3754 13.1797L22.9827 12.8941L23.6074 12.323L23.1315 11.9542L23.7561 11.4783L23.3397 11.1571H23.3456ZM4 7.96847L4.66627 11.1571L4.23795 11.4723L4.87448 11.9482L4.39857 12.323L5.01725 12.8941L4.62463 13.1797L5.52885 14.2326L9.63355 13.0428L12.5425 10.586L4.98751 5L4 7.96847Z",fill:"#763E1A",stroke:"#763E1A",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M22.4712 14.2325L18.3665 13.0428L19.6038 14.9048L17.7597 18.5038L20.1987 18.4741H23.8454L22.4712 14.2325ZM9.63358 13.0368L5.52888 14.2325L4.16064 18.4741H7.80728L10.2463 18.5038L8.40217 14.9048L9.63953 13.0368H9.63358ZM15.1957 15.107L15.4634 10.5859L16.6532 7.37354H11.3468L12.5366 10.5859L12.8043 15.107L12.9054 16.5229V20.0327H15.0887L15.1006 16.5229L15.1957 15.107Z",fill:"#F5841F",stroke:"#F5841F",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"})]});import{isPossiblePhoneNumber as yl}from"libphonenumber-js/min";var Jn=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),Yn=e=>yl(String(e),"US"),Xn=(e,t)=>{let r=e.slice(0),o=[];for(;r.length;)o.push(r.splice(0,t));return o},Ye=(e,t=3,r=4)=>{if(!e)return"";let o=2,n=3;if(t+r+o+n>=e.length)return e;let i=e.slice(0,o+t),a=e.slice(e.length-r,e.length);return`${i}...${a}`},mo=e=>new Promise(t=>setTimeout(t,e)),Qn=(e,t={})=>{let r=t.delayMs||40,o=t.maxAttempts||1e3;return new Promise(async(n,i)=>{let a=!1,s=0;for(;!a&&s<o;)e().then(()=>{a=!0,n()},(...l)=>{a=!0,i(...l)}),s+=1,await mo(r);a||i(new Error("Exceeded max attempts before resolving function"))})},ei=(e,t,r={})=>{let o=new URL(t,e);for(let[n,i]of Object.entries(r))o.searchParams.set(n,i);return o.href},vl=(e,t)=>e.toLowerCase()===t.toLowerCase(),ho=(e,t)=>{for(let r of e)if(vl(r,t))return!0;return!1},fr=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,"");var mr=class extends Te{constructor(t,r){var o;super("metamask",t,r),this.proxyProvider.setWalletProvider(window.ethereum),(o=window.ethereum.providers)==null||o.forEach(async n=>{n.isMetaMask&&this.proxyProvider.setWalletProvider(n)}),this.subscribeListeners()}async connect(t){return t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}async isConnected(){let t=await this.connectedMetamaskAddress();return this.address===t}async connectedMetamaskAddress(){let r=await new wl(this.proxyProvider).listAccounts();return r.length===0?null:ti(r[0])}get walletBranding(){return{name:"MetaMask",icon:ye}}disconnect(){console.warn("Metamask does not support programmetic disconnect.")}async promptConnection(){try{let t="";if(!Cl&&(await this.proxyProvider.request({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]}),this.address&&await this.isConnected()))throw new $("Selected the wrong wallet in MetaMask");let r=await this.proxyProvider.request({method:"eth_requestAccounts"});if(r.length>0&&(t=ti(r[0])),!t||t==="")throw new $("Unable to retrieve address");this.connected=!0,this.address=t}catch(t){throw xe(t)}}async setActive(){if(await this.connectedMetamaskAddress()===this.address)return this.connected=!0,!0;for(;!this.connected;)await mo(200);return!0}subscribeListeners(){this.proxyProvider.on("accountsChanged",t=>{var r;if(t.length>0){let o=t[0];this.connected=((r=this.address)==null?void 0:r.toLowerCase())===(o==null?void 0:o.toLowerCase())}}),this.proxyProvider.on("disconnect",()=>{this.connected=!1})}};import ic from"@walletconnect/web3-provider";import{isAndroid as ra,isChrome as ac,isChromium as sc}from"react-device-detect";import{jsx as ft,jsxs as El}from"react/jsx-runtime";var mt=({style:e,...t})=>El("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[ft("rect",{width:"28",height:"28",rx:"6",fill:"#141414"}),ft("g",{clipPath:"url(#clip0_1765_9946)",children:ft("path",{d:"M8.09448 10.3941C11.3558 7.20196 16.6442 7.20196 19.9055 10.3941L20.2982 10.7782C20.3369 10.8157 20.3677 10.8606 20.3887 10.9102C20.4097 10.9599 20.4206 11.0132 20.4206 11.0671C20.4206 11.121 20.4097 11.1744 20.3887 11.224C20.3677 11.2737 20.3369 11.3186 20.2982 11.3561L18.9554 12.6702C18.9158 12.7086 18.8628 12.7301 18.8077 12.7301C18.7526 12.7301 18.6996 12.7086 18.66 12.6702L18.1198 12.1415C15.8448 9.91503 12.1557 9.91503 9.88015 12.1415L9.30167 12.7075C9.26207 12.7459 9.20909 12.7673 9.15395 12.7673C9.0988 12.7673 9.04582 12.7459 9.00622 12.7075L7.66346 11.3934C7.62475 11.3559 7.59397 11.3109 7.57295 11.2613C7.55193 11.2117 7.5411 11.1583 7.5411 11.1044C7.5411 11.0505 7.55193 10.9971 7.57295 10.9475C7.59397 10.8979 7.62475 10.8529 7.66346 10.8154L8.09448 10.3941ZM22.6829 13.1115L23.8776 14.2814C23.9163 14.319 23.9471 14.3639 23.9681 14.4135C23.9892 14.4632 24 14.5165 24 14.5704C24 14.6243 23.9892 14.6777 23.9681 14.7273C23.9471 14.777 23.9163 14.8219 23.8776 14.8594L18.4893 20.1332C18.4102 20.2101 18.3042 20.2531 18.1938 20.2531C18.0835 20.2531 17.9775 20.2101 17.8984 20.1332L14.0743 16.3901C14.0545 16.3708 14.0279 16.36 14.0003 16.36C13.9726 16.36 13.9461 16.3708 13.9263 16.3901L10.1021 20.1332C10.023 20.2101 9.91703 20.2531 9.8067 20.2531C9.69636 20.2531 9.59038 20.2101 9.51124 20.1332L4.12236 14.8594C4.08365 14.8219 4.05287 14.777 4.03185 14.7273C4.01083 14.6777 4 14.6243 4 14.5704C4 14.5165 4.01083 14.4632 4.03185 14.4135C4.05287 14.3639 4.08365 14.319 4.12236 14.2814L5.31767 13.1115C5.39678 13.0348 5.50265 12.9919 5.61285 12.9919C5.72305 12.9919 5.82892 13.0348 5.90803 13.1115L9.73216 16.8546C9.75194 16.874 9.7785 16.8848 9.80616 16.8848C9.83381 16.8848 9.86037 16.874 9.88015 16.8546L13.7043 13.1115C13.7834 13.0346 13.8894 12.9916 13.9997 12.9916C14.1101 12.9916 14.216 13.0346 14.2952 13.1115L18.1198 16.8546C18.1396 16.874 18.1662 16.8848 18.1938 16.8848C18.2215 16.8848 18.2481 16.874 18.2678 16.8546L22.092 13.1115C22.1711 13.0346 22.2771 12.9916 22.3874 12.9916C22.4977 12.9916 22.6037 13.0346 22.6829 13.1115Z",fill:"white"})}),ft("defs",{children:ft("clipPath",{id:"clip0_1765_9946",children:ft("rect",{width:"20",height:"12.2531",fill:"white",transform:"translate(4 8)"})})})]});var _o=rl(Ji());import{isAndroid as Lo}from"react-device-detect";var Cr="c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",So=e=>{let t=fr(e).trim().toLowerCase();for(let[r,o]of Object.entries(Ht))if(o.name.toLowerCase()===t)return{id:r,entry:o}},Ht={"1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369":{name:"Rainbow",image_id:"7a33d7f1-3d12-4b5c-f3ee-5cd83cb1b500",mobile:{universal:"https://rnbwapp.com"}},"4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0":{name:"Trust Wallet",image_id:"0528ee7e-16d1-4089-21e3-bbfb41933100",mobile:{universal:"https://link.trustwallet.com"}},c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96:{name:"MetaMask",image_id:"5195e9db-94d8-4579-6f11-ef553be95100",mobile:{universal:"https://metamask.app.link"}},"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f":{name:"Safe",image_id:"a1cb2777-f8f9-49b0-53fd-443d20ee0b00",mobile:{universal:"https://gnosis-safe.io/"}},"74f8092562bd79675e276d8b2062a83601a4106d30202f2d509195e30e19673d":{name:"Spot",image_id:"1bf33a89-b049-4a1c-d1f6-4dd7419ee400",mobile:{universal:"https://spot.so"}},ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18:{name:"Zerion",image_id:"f216b371-96cf-409a-9d88-296392b85800",mobile:{universal:"https://wallet.zerion.io"}},"8308656f4548bb81b3508afe355cfbb7f0cb6253d1cc7f998080601f838ecee3":{name:"Unstoppable Domains",image_id:"4725dda0-4471-4d0f-7adf-6bbe8b929c00",mobile:{universal:"https://unstoppabledomains.com/mobile"}},"38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662":{name:"BitKeep",image_id:"3f7075d0-4ab7-4db5-404d-3e4c05e6fe00",mobile:{universal:"https://bkapp.vip"}},afbd95522f4041c71dd4f1a065f971fd32372865b416f95a0b1db759ae33f2a7:{name:"Omni",image_id:"2cd67b4c-282b-4809-e7c0-a88cd5116f00",mobile:{universal:"https://links.omni.app"}},ccb714920401f7d008dbe11281ae70e3a4bfb621763b187b9e4a3ce1ab8faa3b:{name:"BitPay",image_id:"97d4429f-eaf0-4302-87f5-9d26d46fe700",mobile:{universal:"https://link.bitpay.com/wallet"}},"7674bb4e353bf52886768a3ddc2a4562ce2f4191c80831291218ebd90f5f5e26":{name:"MathWallet",image_id:"26a8f588-3231-4411-60ce-5bb6b805a700",mobile:{universal:"https://www.mathwallet.org"}},"2863183c3299d820fb9a4cb8aab4a34f50380c9992e8be871fd60a62e8d36481":{name:"1inch Wallet",image_id:"dce1ee99-403f-44a9-9f94-20de30616500",mobile:{universal:"https://wallet.1inch.io"}},efba9ae0a9e0fdd9e3e055ddf3c8e75f294babb8aea3499456eff27f771fda61:{name:"Eidoo",image_id:"ef5b8bcf-00d5-457d-e161-9911e4788700",mobile:{universal:"https://eidoo.io/crypto-wallet"}},b021913ba555948a1c81eb3d89b372be46f8354e926679de648e4fa2938bed3e:{name:"Coin98",image_id:"dee547be-936a-4c92-9e3f-7a2350a62e00",mobile:{universal:"https://coin98.com"}},"7e90b95230bc462869bbb59f952273d89841e1c76bcc5319898e08c9f34bd4cd":{name:"Unstoppable Wallet",image_id:"5c38b22c-adb9-4899-3252-6e3d71458500",mobile:{universal:"https://unstoppable.money"}},"138f51c8d00ac7b9ac9d8dc75344d096a7dfe370a568aa167eabc0a21830ed98":{name:"AlphaWallet",image_id:"5b1cddfb-056e-4e78-029a-54de5d70c500",mobile:{universal:"https://aw.app"}},"468b4ab3582757233017ec10735863489104515ab160c053074905a1eecb7e63":{name:"D'CENT Wallet",image_id:"1efb49ec-2bab-4fa1-f2f2-4392c64ed000",mobile:{universal:"https://link.dcentwallet.com"}},"29f4a70ad5993f3f73ae8119f0e78ecbae51deec2a021a770225c644935c0f09":{name:"ZelCore",image_id:"97d45a92-a1f0-46da-95a6-ad5db99f3500",mobile:{universal:"https://link.zel.network"}},"8240fb8a7b117aed27f04aa8870c714eeb910f7c1b16c9b868e793c1836335b8":{name:"Nash",image_id:"12f981b1-bb0a-4115-009f-317255979600",mobile:{universal:"https://nash.io/walletconnect"}},"15d7610042217f691385d20e640869dc7273e991b04e8f476417cdc5ec856955":{name:"Coinomi",image_id:"3b446d16-a908-40c8-5835-9a6efe90dd00",mobile:{universal:"https://coinomi.page.link"}},a395dbfc92b5519cbd1cc6937a4e79830187daaeb2c6fcdf9b9cce4255f2dcd5:{name:"CYBAVO Wallet",image_id:"3117d3ce-b973-4cfd-8fb5-f5d72ed3c200",mobile:{universal:"https://cdn.cybavo.com"}},"0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150":{name:"SafePal",image_id:"14096232-7483-425b-f9a9-658f94fe7100",mobile:{universal:"https://link.safepal.io"}},"881946407ff22a32ec0e42b2cd31ea5dab52242dc3648d777b511a0440d59efb":{name:"Bridge Wallet",image_id:"989d504f-93db-4ca6-c00a-9d1faf177d00",mobile:{universal:"https://bridge.mtpelerin.com"}},"3b0e861b3a57e98325b82ab687fe0a712c81366d521ceec49eebc35591f1b5d1":{name:"SparkPoint",image_id:"34c4f901-70de-4507-e7a0-bc7887843000",mobile:{universal:"https://sparkpoint.io"}},"38ee551a01e3c5af9d8a9715768861e4d642e2381a62245083f96672b5646c6b":{name:"PEAKDEFI Wallet",image_id:"744a3fbe-4261-4148-133e-49c5b58cb400",mobile:{universal:"https://peakdefi.com/download"}},f2436c67184f158d1beda5df53298ee84abfc367581e4505134b5bcf5f46697d:{name:"Crypto.com | DeFi Wallet",image_id:"7c5ff577-a68d-49c5-02cd-3d83637b0b00",mobile:{universal:"https://wallet.crypto.com"}},"15d1d97de89526a3c259a235304a7c510c40cda3331f0f8433da860ecc528bef":{name:"Ellipal",image_id:"0a805e10-bfc0-4d02-d9c1-8cec88f0dc00",mobile:{universal:"https://www.ellipal.com/"}},"19ad8334f0f034f4176a95722b5746b539b47b37ce17a5abde4755956d05d44c":{name:"Aktionariat",image_id:"6d18e8ea-b536-4038-c5bf-94a499d5a400",mobile:{universal:"https://app.aktionariat.com"}},"95501c1a07c8eb575cb28c753ab9044259546ebcefcd3645461086e49b671f5c":{name:"Talken Wallet",image_id:"1afb5a3a-2da3-40ce-baf9-b416e7510600",mobile:{universal:"https://talken.io"}},"2ed796df33fdbde6a3ea6a47d3636b8341fe285038d844c7a78267b465b27028":{name:"KyberSwap",image_id:"3abd1720-260e-495a-2e31-3d0b349e0d00",mobile:{universal:"https://kyberswapnew.app.link"}},"4e6af4201658b52daad51a279bb363a08b3927e74c0f27abeca3b0110bddf0a9":{name:"Tongue Wallet",image_id:"20bc4fdb-b9e6-429a-8cba-c233b3273000",mobile:{universal:"https://www.tongue.fi"}},b13fcc7e3500a4580c9a5341ed64c49c17d7f864497881048eb160c089be5346:{name:"RWallet",image_id:"a883229c-26cb-4c19-9b34-1f0ed4012a00",mobile:{universal:"https://www.rwallet.app"}},"13c6a06b733edf51784f669f508826b2ab0dc80122a8b5d25d84b17d94bbdf70":{name:"PlasmaPay",image_id:"466c8fd0-fcec-4621-b94f-e91ce1439f00",mobile:{universal:"https://plasmapay.com/"}},"0aafbedfb8eb56dae59ecc37c9a5388509cf9c082635e3f752581cc7128a17c0":{name:"O3Wallet",image_id:"e1c7c6af-c731-463e-55f0-5e686e9f6200",mobile:{universal:"https://o3.network"}},"761d3d98fd77bdb06e6c90092ee7071c6001e93401d05dcf2b007c1a6c9c222c":{name:"HashKey Me",image_id:"72734fac-9500-4c2c-81ba-678f7fc32700",mobile:{universal:"https://me.hashkey.com"}},ffa139f74d1c8ebbb748cf0166f92d886e8c81b521c2193aa940e00626f4e215:{name:"Defiant",image_id:"026462e7-09a3-47f6-6b46-49df18133b00",mobile:{universal:"https://defiantapp.tech"}},"717911f4db0c5eda0e02e76ed179b7940ba1eefffdfb3c9e6540696226860da0":{name:"Elastos Essentials",image_id:"04a6bfed-d80e-4f7b-0516-261f86aa4000",mobile:{universal:"https://essentials.elastos.net"}},"9d6c614d1995741d5313f1f3dbf1f66dcba694de782087d13b8721822502692f":{name:"Stasis",image_id:"7ae753bc-a754-450c-2d90-2c5521734400",mobile:{universal:"https://app.stasis.net"}},a6ffb821a3c32d36fc9d29e29c2ff79a0cd1db0bca453714777846ddf3fdff76:{name:"JulWallet",image_id:"cabd50de-22fa-487b-ce68-2c63de8bb800",mobile:{universal:"https://justliquidity.org"}},"76745388a50e6fea982c4dee2a3ad61a8aa417668be870754689caa8a7506c93":{name:"Tangem",image_id:"8a5b6e94-e378-458d-bf2e-017cc7958e00",mobile:{universal:"https://app.tangem.com"}},"6464873279d46030c0b6b005b33da6be5ed57a752be3ef1f857dc10eaf8028aa":{name:"SecuX",image_id:"d46a33d6-92a1-4dfd-38d4-779815fb5c00",mobile:{universal:"https://wsweb.secuxtech.com"}},"2c81da3add65899baeac53758a07e652eea46dbb5195b8074772c62a77bbf568":{name:"Ambire Wallet",image_id:"c39b3a16-1a38-4588-f089-cb7aeb584700",mobile:{universal:"https://mobile.ambire.com"}},b823fb0d7228ef8e3c0bc9607df9ed79dae2ab3a2811d33f22ade4f573c18232:{name:"Slavi Wallet",image_id:"282ce060-0beb-4236-b7b0-1b34cc6c8f00",mobile:{universal:"https://www.slaviwallet.io"}},dccbd717df77b395445cc6080e01fffada9d8b92dacfda312a26c70c2e9af673:{name:"Nufinetes",image_id:"70080bd7-9858-4720-cf74-8f74cd74cb00",mobile:{universal:"https://apple.vimworld.org"}},c6f3d04a4e1a51e7d2045f347a5ebdab30fc600950a740fca21f0c92e230ee05:{name:"Arianee Wallet",image_id:"ace938a9-c906-4b9e-f683-b85f1ab72800",mobile:{universal:"https://arianee.net"}},c482dfe368d4f004479977fd88e80dc9e81107f3245d706811581a6dfe69c534:{name:"NOW Wallet",image_id:"b6ee4efc-f53e-475b-927b-a7ded6211700",mobile:{universal:"https://walletnow.app.link"}},"14e7176536cb3706e221daaa3cfd7b88b7da8c7dfb64d1d241044164802c6bdd":{name:"Blocto",image_id:"374258d3-c749-4f37-7815-77e61f798c00",mobile:{universal:"https://blocto.app"}},"0e4915107da5b3408b38e248f7a710f4529d54cd30e9d12ff0eb886d45c18e92":{name:"Arculus Wallet",image_id:"f78dab27-7165-4a3d-fdb1-fcff06c0a700",mobile:{universal:"https://gw.arculus.co/app"}},a2c031fccd13a6c16d7745c303507f78ae4da53fed064542804e9657d73e8b5c:{name:"Backpack",image_id:"e46f132d-6e05-4d51-8720-43727446e600",mobile:{universal:"https://jxndao.com"}},f593f4eb9755ff047681a37ebc46706e0e915cf1c2fe0102f5ae47c9f6aa4082:{name:"Autonomy: Digital Art Wallet",image_id:"2ee7c9db-9a86-4cd6-0d32-5053b4636100",mobile:{universal:"https://autonomy.io/apps/wc"}},"5859076ade608fbc4e9d3fe2f95e8527de80f8451ecbb1dced54ca84deae0dd6":{name:"Coingrig",image_id:"18e38e41-a387-4402-ca31-6d2d5eb91100",mobile:{universal:"https://link.coingrig.com"}},bb88a220ed4dcd3d717ec19b6ac00a672edf92e97ef7c243d35e25ff56a07301:{name:"bobablocks",image_id:"aff8973b-e093-45b5-4858-c01dd043bc00",mobile:{universal:"https://app.bobablocks.io"}},cbe13eb482c76f1fa401ff4c84d9acd0b8bc9af311ca0620a0b192fb28359b4e:{name:"Plasma Wallet",image_id:"c268e78d-ffb0-4c8b-5cad-04c3add48500",mobile:{universal:"https://plasma-wallet.com"}},b83a346877b71c02b8531f53485ce12bc00033eabcc1213ca3329cbc744813a5:{name:"Holdstation Wallet",image_id:"e6dba126-85af-4194-84f6-dd16632c3c00",mobile:{universal:"https://apps.apple.com/us/app/holdstation-web3-wallet/id6444925618"}},a92d512c649e87a5acba5885ac03f62662cff1f647c20a63833eb45a71a6f877:{name:"HUMBL WALLET",image_id:"1ac55ba2-aa98-4ed0-59b3-b3155dea4200",mobile:{universal:"https://wallet.search3.com"}},"226d8a12a2e6e5c4185fa9c24313824bfb144c2a180325bddbd121844f497afa":{name:"ISLAMIwallet",image_id:"8d723c78-28ad-4610-901f-ea391d7e8d00",mobile:{universal:"https://islamiwallet.com"}},"11c5487e4d8dd8bf32d4c92222363df8296a27307b2531be1e25770365392ecb":{name:"Card Wallet",image_id:"325428cf-c212-4d83-a434-7f48902d2c00",mobile:{universal:"https://wallet.cardstack.com"}},f5b4eeb6015d66be3f5940a895cbaa49ef3439e518cd771270e6b553b48f31d2:{name:"MEW wallet",image_id:"e2024511-2c9b-46d7-3111-52df3d241700",mobile:{universal:"https://mewwallet.com"}},"576c90ceaea34f29ff0104837cf2b2e23d201be43be1433feeb18d375430e1fd":{name:"PLTwallet",image_id:"a5d9dd15-8cef-42de-8bed-09e01a8b0200",mobile:{universal:"https://pltwallet.io/"}},"94f785c0c8fb8c4f38cd9cd704416430bcaa2137f27e1468782d624bcd155a43":{name:"Avacus",image_id:"a7106965-91cc-4a73-4688-c5c72ae0ed00",mobile:{universal:"https://avacus.app.link"}},bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6:{name:"Argent",image_id:"215158d2-614b-49c9-410f-77aa661c3900",mobile:{universal:"https://www.argent.xyz/app"}},"664b505fea4c2117b8a55c054ef209664e0a68ddaafd7534df739f97a293fa1d":{name:"Hippo Wallet",image_id:"f9570968-45f7-47c1-3189-98cf60e25c00",mobile:{universal:"https://hippowallet.io"}},"0c5bba82e70a2b62405871af809020a077d110d765c0798eb660ad5d3131b328":{name:"Edge Wallet",image_id:"f601bc29-4298-422f-dbf7-34dac2884f00",mobile:{universal:"https://deep.edge.app/wc"}},"792fbacfe787d67595dd4eb38ac308e14b3bbc810393db56f477a92e5ac8764b":{name:"Assure",image_id:"64db7104-c8b7-44ea-e102-11ce87124200",mobile:{universal:"https://www.assure.pro/Official"}},"7ef337ff00714f179d38b8142398efa2ab902a53430e99ebce02892053d7a310":{name:"EASY",image_id:"62feb41a-be1f-4b1c-e089-27f97c0e8d00",mobile:{universal:"https://link.easy.me"}},"7e94e75c90964a69ea375b92214f50c4223dfbfa4913a3733b615444b322f687":{name:"CoinStats",image_id:"f989ab84-650b-4ad5-c342-77f3334f1b00",mobile:{universal:"https://coinstats.app"}},"107bb20463699c4e614d3a2fb7b961e66f48774cb8f6d6c1aee789853280972c":{name:"Bitcoin.com Wallet",image_id:"0d7938e1-9b3b-4d8b-177b-98188c4cf400",mobile:{universal:"https://wallet.bitcoin.com/"}},"1986e7c874bb906f057d5d64a4806c004e021689536e5228c74d64a6058e8bac":{name:"Defiant",image_id:"11a96ca4-3592-42ae-c781-2b7265ec9200",mobile:{universal:"https://defiantapp.tech/"}},"19418ecfd44963883e4d6abca1adeb2036f3b5ffb9bee0ec61f267a9641f878b":{name:"KryptoGO Wallet",image_id:"3ccbd966-97e8-45a0-1ceb-6141a8978e00",mobile:{universal:"https://kryptogo.page.link"}},"37a686ab6223cd42e2886ed6e5477fce100a4fb565dcd57ed4f81f7c12e93053":{name:"Bifrost Wallet",image_id:"86be07e2-6652-4fd1-5f33-651682c95400",mobile:{universal:"https://app.bifrostwallet.com"}},"4f5de5333fed2ccf47c690579aba3b9128aea78175339ff51ef61704bde7502a":{name:"Okse Wallet",image_id:"8a1b36d5-7f40-403a-7000-5d30f9181200",mobile:{universal:"https://okse.io/"}},"9034d54985807aaf3d7780f50f155f954daa468fb58d7b14b216fc79d68bbd14":{name:"Qubic Wallet",image_id:"2e9ef302-daae-4807-555f-d4986b0b6700",mobile:{universal:"https://wallet.qubic.app"}},c39d8ee468e50474fdf3a0bd6b981be404d4671e2702a3d633aae95bcbaa032a:{name:"XFUN Wallet",image_id:"a665f8f3-09ef-4d17-2bd0-26dca4518400",mobile:{universal:"https://xfun.io"}},e9ff15be73584489ca4a66f64d32c4537711797e30b6660dbcb71ea72a42b1f4:{name:"Exodus",image_id:"4c16cad4-cac9-4643-6726-c696efaf5200",mobile:{universal:"https://exodus.com/m"}},"114efdbef4ce710081c1507f3dbc51f439c96a342cf33397799cd1c84b01a8c5":{name:"S-ONE Wallet",image_id:"b3562637-a407-4035-6fa5-a70ff2050400",mobile:{universal:"https://sonewallet.app"}},"5b8e33346dfb2a532748c247876db8d596734da8977905a27b947ba1e2cf465b":{name:"PREMA Wallet",image_id:"6487869b-1165-4f30-aa3a-115665be8300",mobile:{universal:"https://premanft.com"}},"2cca8c1b0bea04ba37dee4017991d348cdb7b826804ab2bd31073254f345b715":{name:"Bee Wallet",image_id:"f90bc33f-f085-40cf-7538-fae5ae84f900",mobile:{universal:"https://beewallet.app/wc"}},e3787ea98d014ca77e2c3794db97c02ef8bcb39347705f5e79502a55434a1ecf:{name:"TK Finance",image_id:"c4066f68-2247-49bf-ac8a-a677bfa81800",mobile:{universal:"https://trustkeys.network"}},"159b0423ce9075d5662f588f805931d989627affab3e63e4dd7ebc62b9c6738c":{name:"Oxalus Wallet",image_id:"a6e22fcb-6b69-45d2-b52d-a4a347a21e00",mobile:{universal:"https://oxalus.page.link/?apn=io.oxalus.wallet&isi=1620111723&ibi=io.oxalus.wallet&link=https://deeplink.oxalus.io"}},fbea6f68df4e6ce163c144df86da89f24cb244f19b53903e26aea9ab7de6393c:{name:"Klever Wallet",image_id:"8f5bbad8-6a14-4b2c-5343-cc1fca6e4d00",mobile:{universal:"https://klever.page.link"}},"1aedbcfc1f31aade56ca34c38b0a1607b41cccfa3de93c946ef3b4ba2dfab11c":{name:"OneKey",image_id:"12bebb3f-8030-4892-8452-c60a6bac1500",mobile:{universal:"https://app.onekey.so/wc/connect"}},"14e5d957c6eb62d3ee8fc6239703ac2d537d7e3552154836ca0beef775f630bc":{name:"Pitaka",image_id:"691c0716-5213-4b99-e837-079268313800",mobile:{universal:"https://app.pitaka.io"}},"031f0187049b7f96c6f039d1c9c8138ff7a17fd75d38b34350c7182232cc29aa":{name:"Obvious",image_id:"40945cea-9cd2-4acc-5799-ca7fb31f4700",mobile:{universal:"https://wallet.obvious.technology"}},c40b9bcef32fa6ce4e0df98be1420628bbc4957646f742380fe618fcb4ab74f1:{name:"RiceWallet",image_id:"df94578e-19be-4f00-258f-2470343e7b00",mobile:{universal:"https://ricewallet.io"}},b265ce38b94d602957a0946673c59a99a15d69adda4317544fec7298ea2d1387:{name:"SafeMoon",image_id:"ecc31a8e-0ee9-49db-cc59-0876b7c35600",mobile:{universal:"https://safemoon.net/"}},dc5415b6ea8114db518ae91195b027d690a11a1d2bfdd1a904e93c5cb746380e:{name:"SimpleHold",image_id:"a9f1ba96-b658-4d13-f71f-226b6389f000",mobile:{universal:"https://simplehold.io"}},"41f20106359ff63cf732adf1f7dc1a157176c9b02fd266b50da6dcc1e9b86071":{name:"Bitizen",image_id:"75dd1471-77e9-4811-ce57-ec8fc980ec00",mobile:{universal:"https://bitizen.org/wallet"}}},Yi=(e,t="md")=>`https://registry.walletconnect.com/v2/logo/${t}/${e}`;function Xi(e){return{name:e.name||"",universalLink:e.mobile.universal||"",deepLink:e.mobile.native||""}}function Qi(e,t){let r=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${r}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${r}`:""}function ea(e,t){return Lo?e:Qi(e,Xi(Ht[t]))}var Er=(e,t)=>{if(!e)return;if(Lo){(0,_o.saveMobileLinkInfo)({name:"Unknown",href:t||"wc:"});return}let r=Ht[e];if(!r){console.warn("Attempted to set info for unknown wallet",e);return}let o=Qi(t||"wc:",Xi(r));(0,_o.saveMobileLinkInfo)({name:(r==null?void 0:r.name)||"",href:o})},ta=()=>{!Lo||window.open("wc:","_self")};var Po=class extends Te{constructor(r,o,n){super("wallet_connect",o,n);this.connectionManager=r}setActive(){return this.walletProvider.walletId&&Er(this.walletProvider.walletId),Promise.resolve(!0)}async connect(r){return r.showPrompt&&await this.promptConnection(),this.getConnectedWallet()}async isConnected(){return this.walletProvider.connected}get walletBranding(){var r,o,n;if(this.walletProvider.walletId){let i=Ht[this.walletProvider.walletId];return{name:i.name,icon:this.walletProvider.walletId===Cr?ye:Yi(i.image_id)}}return{name:fr(((r=this.walletProvider.walletMeta)==null?void 0:r.name)||"")||"WalletConnect",icon:((n=(o=this.walletProvider.walletMeta)==null?void 0:o.icons)==null?void 0:n[0])||mt}}async promptConnection(){return new Promise((r,o)=>{this.walletProvider.connector.on("disconnect",(i,a)=>{if(i){o(xe(i));return}a.params.some(s=>s.message==="Session Rejected")&&(this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),o(new Ze)),o(new $("Unknown error during connection"))}),this.walletProvider.qrcode&&this.walletProvider.connector.on("modal_closed",()=>{this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),o(new Ze)}),this.walletProvider.connector.on("transport_error",(i,a)=>{o(xe(i))}),(async()=>{let i="",a=await Promise.race([this.connectionManager.enableProvider(this.walletProvider),fo()]);if(a.length>0&&(i=a[0]),!i||i==="")throw new $("Unable to retrieve address");this.connected=!0,r()})().catch(i=>o(xe(i)))})}async sign(r){Er(this.walletProvider.walletId),this.walletProvider.connected||await this.connectionManager.enableProvider(this.walletProvider);let o=await this.walletProvider.getWalletConnector();return new Promise(async(n,i)=>{var a;o.signPersonalMessage([r,(a=this.walletProvider.accounts)==null?void 0:a[0]]).then(s=>n(s)),ra&&ta()})}disconnect(){this.walletProvider.close().catch(()=>console.warn("Unable to disconnect wallet provider"))}get walletProvider(){return this.proxyProvider.walletProvider}setWalletProvider(r){this.proxyProvider.setWalletProvider(r)}},xr=class{constructor(){this._storageIdToProvider={},this.reconnectDelayMs=10,this.reconnectBackoff=2,!(typeof window>"u")&&q.getKeys().forEach(t=>{var r,o;if(t.startsWith("walletconnect")){let n=t.split(":")[2]?t.split(":")[2]:void 0;if(!n){let i=(o=(r=q.get(t))==null?void 0:r.peerMeta)==null?void 0:o.name;if(i){let a=So(i);a!=null&&a.id&&(n=a.id)}}this.createProviderWithStorageId(t,n)}})}createConnector(t,r,o){let n=this.getProviderForAddress(r,o),i=new Po(this,t,r);return n?n.isConnecting&&(n=this.replaceProvider(i,n)):n=this.createProvider(i,o),i.setWalletProvider(n),i}async disconnect(){await Promise.all(Object.values(this._storageIdToProvider).map(async t=>await t.disconnect()))}getStorageId(t,r){if(!t)return;let o=q.getKeys().filter(i=>i.startsWith("walletconnect"));if(r){let i=o.filter(a=>a.includes(r));if(i){let a=i.find(s=>ho(q.get(s).accounts,t));if(a)return a}}let n=o.find(i=>ho(q.get(i).accounts,t));if(!(n&&r&&!n.includes(r)))return n}getProviderForAddress(t,r){let o=this.getStorageId(t,r);o||(o=`${lo}:${Math.random().toString(36).slice(2)}:${r||""}`);let n=this._storageIdToProvider[o];if(n)return n}createProviderWithStorageId(t,r){let o=r?{qrcode:!1}:{},n=new ic({infuraId:sr,storageId:t,pollingInterval:Zn,...o});return n.walletId=r,r?n.connector.on("display_uri",(i,a)=>{Er(r);let s=a.params[0],l=ea(s,r);ra?window.open(l):window.open(l,sc||ac?"_self":"_blank","noopener,noreferrer")}):n.connector.on("connect",()=>{var i,a,s;(i=n.walletMeta)!=null&&i.name&&(n.walletId=(s=So((a=n.walletMeta)==null?void 0:a.name))==null?void 0:s.id)}),this._storageIdToProvider[t]=n,n}createProvider(t,r){let o=`${lo}:${Math.random().toString(36).slice(2)}:${r||""}`,n=this.createProviderWithStorageId(o,r);return n.connector.on("transport_error",()=>{console.warn("Transport failed. Replacing provider."),setTimeout(()=>{t.setWalletProvider(this.replaceProvider(t,n)),this.reconnectDelayMs*=this.reconnectBackoff},this.reconnectDelayMs)}),n}replaceProvider(t,r){r.close().catch(()=>console.warn("Unable to disconnect provider"));let o=Object.entries(this._storageIdToProvider).find(([n,i])=>i.connector.session.key===r.connector.session.key);return o&&delete this._storageIdToProvider[o[0]],this.createProvider(t,r.walletId)}async enableProvider(t){return t.connected?Promise.resolve(t.accounts):await t.enable()}};var Ao=()=>{if(!window.ethereum)return!1;if(window.ethereum.isMetaMask)return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(e.isMetaMask)return!0}return!1},_r=()=>{if(!window.ethereum)return!1;if(window.ethereum.isCoinbaseWallet)return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(e.isCoinbaseWallet)return!0}return!1},ko=e=>{let t=localStorage.getItem("-walletlink:https://www.walletlink.org:Addresses");return t?!!(e==null?void 0:e.linkedAccounts.filter(o=>o.type=="wallet"&&o.address===lc(t)).length):!1},oa=()=>{var t;let e=q.get(cr);return e?(t=e.find(r=>r.active))==null?void 0:t.address:null},Vt=class{constructor(){this.getEthereumProvider=()=>{var t;return((t=this.activeWalletConnector)==null?void 0:t.proxyProvider)||new _e};this.walletConnectors=[],this.wcConnectionManager=new xr,this.initialized=!1}initialize(){this.initialized||(this.load(),this.activeWalletConnector&&this.activeWalletConnector.connect({showPrompt:!1}).catch(t=>console.warn("Unable to reconnect active wallet",t)),this.initialized=!0)}initializeLinkedWallets(t){t.linkedAccounts.forEach(()=>null)}load(){(q.get(cr)||[]).forEach(r=>{let o=this.createWalletConnector(r.walletType,r.address);this.addWalletConnector(o),r.active&&(this.activeWalletConnector=o)})}save(){let t=this.walletConnectors.map(r=>{var o;return{address:r.address,walletType:r.walletType,active:r.address===((o=this.activeWalletConnector)==null?void 0:o.address)&&r.walletType===this.activeWalletConnector.walletType}});q.put(cr,t)}addWalletConnector(t){this.walletConnectors.find(o=>o.address===t.address&&o.walletType===t.walletType)||this.walletConnectors.push(t)}getConnectorByAddress(t){return this.walletConnectors.find(r=>{var o;return((o=r.address)==null?void 0:o.toLowerCase())===t.toLowerCase()})}async removeWallet(t){let r=this.walletConnectors.find(o=>o.address===t);r&&r.disconnect(),this.walletConnectors=this.walletConnectors.filter(o=>o.address!==t),this.activeWalletConnector=void 0,this.save()}async activeWalletSign(t){if(!this.activeWalletConnector)throw new $("Cannot sign, no wallet is active. Is a wallet connected?");return this.activeWalletConnector.sign(t)}async setActiveWallet(t){let r=this.walletConnectors.find(o=>o.address===t);if(r){let o=await r.setActive();return this.activeWalletConnector=o?r:void 0,this.save(),!0}return!1}createWalletConnector(t,r,o){switch(t){case"metamask":return new mr(new _e,r);case"coinbase_wallet":return new ur(new _e,r);case"wallet_connect":return this.wcConnectionManager.createConnector(new _e,r,o)}}};function Ue(e){return new Date(e*1e3)}function cc(e){let t=[];for(let r of e){let o=r.type;switch(r.type){case"wallet":let n={address:r.address,type:r.type,verifiedAt:Ue(r.verified_at),chainType:r.chain_type,walletClient:r.wallet_client};t.push(n);break;case"email":let i={address:r.address,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(i);break;case"phone":let a={number:r.phoneNumber,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(a);break;case"google_oauth":let s={subject:r.subject,email:r.email,name:r.name,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(s);break;case"twitter_oauth":let l={subject:r.subject,username:r.username,name:r.name,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(l);break;case"discord_oauth":let d={subject:r.subject,username:r.username,email:r.email,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(d);break;case"github_oauth":let f={subject:r.subject,username:r.username,name:r.name,email:r.email,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(f);break;default:console.warn(`Unrecognized account type: ${o}. Please consider upgrading the Privy SDK.`)}}return t}function et(e,t){return e.sort((r,o)=>o.verifiedAt.getTime()-r.verifiedAt.getTime()),e.find(r=>r.type===t)}function jt(e){let t=oa();if(!t&&e.wallet)return e;let r=e.linkedAccounts.find(n=>n.type==="wallet"&&n.address===t);if(!r)return e;let o=Object.assign({},e);return o.wallet=r&&{address:r.address,chainType:r.chainType,chainId:r.chainId,walletClient:r.walletClient},o}var te=e=>e==null?void 0:e.linkedAccounts.find(t=>t.type==="wallet"&&t.walletClient==="privy");function We(e){if(!e)return null;let t=cc(e.linked_accounts),r=et(t,"wallet"),o=et(t,"email"),n=et(t,"phone"),i=et(t,"google_oauth"),a=et(t,"twitter_oauth"),s=et(t,"discord_oauth"),l=et(t,"github_oauth"),d={id:e.id,createdAt:Ue(e.created_at),linkedAccounts:t,email:o&&{address:o==null?void 0:o.address},phone:n&&{number:n==null?void 0:n.number},wallet:r&&{address:r.address,chainType:r.chainType,chainId:r.chainId,walletClient:r.walletClient},google:i&&{subject:i.subject,email:i.email,name:i.name},twitter:a&&{subject:a.subject,username:a.username,name:a.name},discord:s&&{subject:s.subject,username:s.username,email:s.email},github:l&&{subject:l.subject,username:l.username,name:l.name,email:l.email}};return jt(d)}import To from"axios";var Lr=class{constructor(t,r,o){this.appId=t,this.sdkVersion=so,this.client=r,this.defaults=o}async get(t,r){try{return await To.get(t,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...r}))}catch(o){throw z(o)}}async post(t,r,o){try{return await To.post(t,r,await this.buildConfig(o))}catch(n){throw z(n)}}async delete(t,r){try{return await To.delete(t,await this.buildConfig(r))}catch(o){throw z(o)}}async buildConfig(t){if(t=t||{},t.headers=t.headers||{},t.headers["privy-app-id"]=this.appId,t.headers["privy-client"]=`react-auth:${this.sdkVersion}`,!t.headers.authorization){let r=await this.client.getAccessToken();r!==null&&(t.headers.authorization=`Bearer ${r}`)}return{...this.defaults,...t}}};var Fe=class{constructor(t){this.promise=null;this.fn=t}execute(t){return this.promise===null&&(this.promise=(async()=>{try{return await this.fn(t)}finally{this.promise=null}})()),this.promise}};import*as na from"jose";var Re=class{static parse(t){try{return new Re(t)}catch{return null}}constructor(t){this.value=t,this._decoded=na.decodeJwt(t)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(t=0){let r=Date.now(),o=(this.expiration-t)*1e3;return r>=o}};var dc=30,Sr=class{constructor(){this.authenticateOnce=new Fe(async t=>this._authenticate(t)),this.linkOnce=new Fe(async t=>this._link(t)),this.refreshOnce=new Fe(this._refresh.bind(this)),this.destroyOnce=new Fe(this._destroy.bind(this)),this.forkSessionOnce=new Fe(this._forkSession.bind(this))}get token(){try{let t=q.get(dt);return typeof t=="string"?new Re(t).value:null}catch(t){return console.error(t),this.destroyLocalState(),null}}get refreshToken(){try{let t=q.get(lr);return typeof t=="string"?t:null}catch(t){return console.error(t),this.destroyLocalState(),null}}hasRefreshCredentials(){return typeof this.token=="string"&&typeof this.refreshToken=="string"}hasActiveToken(){let t=Re.parse(this.token);return t!==null&&!t.isExpired(dc)}authenticate(t){return this.authenticateOnce.execute(t)}link(t){return this.linkOnce.execute(t)}refresh(){return this.refreshOnce.execute()}forkSession(){return this.forkSessionOnce.execute()}destroy(){return this.destroyOnce.execute()}async _authenticate(t){try{let{token:r,refresh_token:o,user:n,is_new_user:i}=await t.authenticate();return this.storeToken(r),this.storeRefreshToken(o),{user:We(n),isNewUser:i}}catch(r){throw console.warn("Error authenticating session"),pe(r)}}async _link(t){try{let r=await t.link();return We(r)}catch(r){throw console.warn("Error linking account"),pe(r)}}async _refresh(){if(!this.api)throw new v("Session has no API instance");if(!this.client)throw new v("Session has no PrivyClient instance");await this.client.getAccessToken({disableAutoRefresh:!0});let t=this.token,r=this.refreshToken;if(!t||!r)return null;try{let o=await this.api.post(Sn(),{refresh_token:r},{headers:{authorization:`Bearer ${t}`}});return this.storeToken(o.data.token),this.storeRefreshToken(o.data.refresh_token),We(o.data.user)}catch(o){if(o instanceof lt&&o.status===400&&o.message==="Invalid auth token")return this.destroyLocalState(),null;throw pe(o)}}async _destroy(){var t;try{await((t=this.api)==null?void 0:t.post(Pn(),{refresh_token:this.refreshToken}))}catch{console.warn("Error destroying session")}this.destroyLocalState()}async _forkSession(){if(!this.api)throw new v("Session has no API instance");let t=this.refreshToken;try{let r=await this.api.post(An(),{refresh_token:t});return this.storeToken(r.data.token),this.storeRefreshToken(r.data.refresh_token),r.data.new_session_refresh_token}catch(r){throw pe(r)}}destroyLocalState(){this.storeToken(null),this.storeRefreshToken(null)}storeToken(t){typeof t=="string"?q.put(dt,t):q.del(dt)}storeRefreshToken(t){typeof t=="string"?q.put(lr,t):q.del(lr)}};var Wo,$t=class{constructor(t){let r=t.apiURL||zn,o=t.timeout||qn;this.appId=t.appId,this.connectors=new Vt,Wo||(Wo=new Sr),this.session=Wo,this.api=new Lr(t.appId,this,{baseURL:r,timeout:o}),this.session.api=this.api,this.session.client=this}authenticate(){if(!this.authFlow)throw new v("No auth flow in progress.");return this.session.authenticate(this.authFlow)}link(){if(!this.authFlow)throw new v("No auth flow in progress.");return this.session.link(this.authFlow)}async logout(){await this.session.destroy(),this.authFlow=void 0}startAuthFlow(t){t.api=this.api,this.authFlow=t}async unlinkEmail(t){try{let r=await this.api.post(Hn(),{address:t});return We(r.data)}catch(r){throw pe(r)}}async unlinkPhone(t){try{let r=await this.api.post(Vn(),{phoneNumber:t});return We(r.data)}catch(r){throw pe(r)}}async unlinkWallet(t){try{let r=await this.api.post(Gn(),{address:t});return await this.connectors.removeWallet(t),We(r.data)}catch(r){throw pe(r)}}async unlinkOAuth(t,r){try{let o=await this.api.post(jn(),{provider:t,subject:r});return We(o.data)}catch(o){throw pe(o)}}async getAuthenticatedUser(){return this.session.hasRefreshCredentials()?this.session.refresh():null}async getAccessToken(t){var r;return this.session.hasActiveToken()?((r=Re.parse(this.session.token))==null?void 0:r.audience)!==this.appId?(await this.logout(),null):this.session.token:!(t!=null&&t.disableAutoRefresh)&&this.session.hasRefreshCredentials()?(await this.session.refresh(),this.session.token):null}async getServerConfig(){try{let t=await this.api.get(`/api/v1/apps/${this.appId}`);return{id:t.data.id,name:t.data.name,verificationKey:t.data.verification_key,logoUrl:t.data.logo_url||void 0,accentColor:t.data.accent_color||void 0,showWalletLoginFirst:t.data.show_wallet_login_first,allowlistConfig:{errorTitle:t.data.allowlist_config.error_title,errorDetail:t.data.allowlist_config.error_detail,errorCtaText:t.data.allowlist_config.cta_text,errorCtaLink:t.data.allowlist_config.cta_link},walletAuth:t.data.wallet_auth,emailAuth:t.data.email_auth,smsAuth:t.data.sms_auth,googleOAuth:t.data.google_oauth,twitterOAuth:t.data.twitter_oauth,discordOAuth:t.data.discord_oauth,githubOAuth:t.data.github_oauth,termsAndConditionsUrl:t.data.terms_and_conditions_url,privacyPolicyUrl:t.data.privacy_policy_url,createdAt:new Date(t.data.created_at*1e3),updatedAt:new Date(t.data.updated_at*1e3)}}catch(t){throw pe(t)}}async setActiveWallet(t,r){if(!r.linkedAccounts.map(i=>i.type==="wallet"?i.address:null).includes(t))throw new v("Cannot set an unlinked address as active.");if(!await this.connectors.setActiveWallet(t))throw new v("Error setting the active wallet.");return jt(r)}async forkSession(){return await this.session.forkSession()}};import"wicg-inert";import{disableBodyScroll as yp,clearAllBodyScrollLocks as vp}from"body-scroll-lock";import{useRef as wp}from"react";import{useEffect as Cp}from"react";import Ep from"react-dom";import yn from"styled-components";import{createContext as pc,useContext as uc}from"react";var Ro=pc({isLinking:!1,linkingHint:null,activeStatus:null,walletConnectionStatus:null,getAuthMeta:C,getAuthFlow:C,closePrivyModal:C,initLoginWithWallet:C,loginWithWallet:C,loginWithCode:C,initLoginWithEmail:C,initLoginWithSms:C,resendEmailCode:C,resendSmsCode:C,initLoginWithOAuth:C,loginWithOAuth:C,refreshUser:C,walletProxy:null}),k=()=>uc(Ro);import{createContext as mc,useContext as hc,useEffect as Io,useState as aa}from"react";import{jsx as fc}from"react/jsx-runtime";function ia(e){return fc("link",{rel:"prefetch",href:e.src})}import{jsx as gc,jsxs as bc}from"react/jsx-runtime";var Ie="LANDING",sa=mc({ready:!1,app:null,options:{email:!0,sms:!1,wallet:!0,google:!1,twitter:!1,discord:!1,github:!1},currentScreen:Ie,lastScreen:Ie,navigate:C,navigateBack:C,setModalData:C}),la=e=>{var f;let t=e.appConfig,r=e.authenticated,o=e.visible,[n,i]=aa(e.initialScreen||Ie),[a,s]=aa(e.initialScreen||Ie);Io(()=>{r||i(Ie)},[r]),Io(()=>{o||(s(Ie),i(Ie))},[o]),Io(()=>{e.initialScreen&&n===Ie&&(i(e.initialScreen),s(e.initialScreen))},[e.initialScreen]);let l=e.initialScreen&&n===Ie?e.initialScreen:n,d={ready:!!(t!=null&&t.id),app:t,options:e.options,data:e.data,setModalData:e.setModalData,currentScreen:l,lastScreen:a,navigate:u=>{s(n),i(u)},navigateBack:()=>{i(a)}};return bc(sa.Provider,{value:d,children:[t&&((f=t.appearance)==null?void 0:f.logo)&&gc(ia,{src:t.appearance.logo}),e.children]})},w=()=>hc(sa);import{createContext as yc,useContext as vc}from"react";var Mo=yc({ready:!1,authenticated:!1,user:null,walletConnectors:null,login:C,linkEmail:C,linkPhone:C,linkWallet:C,linkGoogle:C,linkTwitter:C,linkDiscord:C,linkGithub:C,logout:C,getAccessToken:C,getEthereumProvider:C,getEthersProvider:C,getWeb3jsProvider:C,unlinkEmail:C,unlinkPhone:C,unlinkWallet:C,unlinkGoogle:C,unlinkTwitter:C,unlinkDiscord:C,unlinkGithub:C,setActiveWallet:C,forkSession:C,createWallet:C,signMessage:C}),H=()=>vc(Mo);import Bo from"styled-components";import Uo,{css as _c}from"styled-components";import No from"styled-components";import{Fragment as Ec,jsx as Oo,jsxs as xc}from"react/jsx-runtime";var Pr=({success:e,fail:t})=>xc(Ec,{children:[Oo(zt,{className:e?"success":t?"fail":""}),Oo(wc,{className:e?"success":t?"fail":""})]}),zt=No.span`
12
+ - https://privy.io`;this.proxyProvider=r,this.walletType=t,this.address=o,this.chain=null,this.connected=!1}async fetchAddress(){if(!this.address){let t=await this.proxyProvider.request({method:"eth_accounts"});Array.isArray(t)&&t.length>0&&(this.address=ul(t[0]))}return this.address}async fetchChainId(){if(!this.chain){let t=await this.proxyProvider.request({method:"eth_chainId"}),r=Number(t);this.chain=String(r)}return this.chain}async getConnectedWallet(){if(!this.walletType||!await this.isConnected())return null;let r=await this.fetchAddress(),o=await this.fetchChainId();return{address:r,chainId:o,chainType:"ethereum",walletClient:"unknown"}}async setActive(){return!0}async sign(t){return await this.connect({showPrompt:!1}),new fl(new Je(this.proxyProvider)).getSigner().signMessage(t)}prepareMessage(t,r,o){let n=window.location.host,i=window.location.origin,a="By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",s=new Date().toISOString();return this.createSiweMessage(t,r,n,i,s,o,a)}};var gl=e=>{let t=`https://mainnet.infura.io/v3/${sr}`,r=1;return e.makeWeb3Provider(t,r)},pr,ur=class extends Te{constructor(t,r){super("coinbase_wallet",t,r),pr||(pr=new ml({appName:"Privy",darkMode:!1,headlessMode:!1}))}async connect(t){return this.proxyProvider.setWalletProvider(gl(pr)),t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}disconnect(){pr.disconnect()}async isConnected(){return await this.fetchAddress()!==null}get walletBranding(){return{name:"Coinbase Wallet",icon:Ee}}async promptConnection(){try{let t="",r=await this.proxyProvider.request({method:"eth_requestAccounts"});if(r.length>0&&(t=hl(r[0])),!t||t==="")throw new $("Unable to retrieve address");this.connected=!0}catch(t){throw xe(t)}}};import{getAddress as ti}from"@ethersproject/address";import{Web3Provider as wl}from"@ethersproject/providers";import{isMobile as Cl}from"react-device-detect";import{jsx as ne,jsxs as bl}from"react/jsx-runtime";var ye=({style:e,...t})=>bl("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[ne("rect",{width:"28",height:"28",rx:"3",fill:"white"}),ne("path",{d:"M23.0126 5L15.1958 10.7823L16.6533 7.37359L23.0126 5Z",fill:"#E17726",stroke:"#E17726",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M4.98753 5L12.7329 10.8299L11.3468 7.37954L4.98753 5ZM20.1987 18.4027L18.1166 21.5794L22.5723 22.8049L23.8454 18.4741L20.1987 18.4027ZM4.16064 18.4741L5.42775 22.8049L9.87153 21.5794L7.80133 18.4027L4.16064 18.4741Z",fill:"#E27625",stroke:"#E27625",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M9.6336 13.0369L8.39624 14.9049L12.7984 15.1071L12.6556 10.3659L9.6336 13.0429V13.0369ZM18.3665 13.0429L15.2969 10.3064L15.1958 15.1071L19.5979 14.9049L18.3665 13.0429ZM9.87155 21.5794L12.5426 20.2945L10.2463 18.5098L9.87155 21.5794ZM15.4635 20.2886L18.1166 21.5794L17.7597 18.5039L15.4635 20.2886Z",fill:"#E27625",stroke:"#E27625",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M18.1167 21.5794L15.4635 20.2944L15.6776 22.0196L15.6539 22.7513L18.1167 21.5794ZM9.87158 21.5794L12.3463 22.7513L12.3285 22.0196L12.5426 20.2944L9.87158 21.5794Z",fill:"#D5BFB2",stroke:"#D5BFB2",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M12.3878 17.3616L10.1868 16.7191L11.7454 16.0052L12.3938 17.3616H12.3878ZM15.6062 17.3616L16.2605 15.9993L17.8251 16.7131L15.6062 17.3675V17.3616Z",fill:"#233447",stroke:"#233447",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M9.87147 21.5794L10.2581 18.4027L7.80127 18.4741L9.87147 21.5794ZM17.7418 18.4027L18.1166 21.5794L20.1987 18.4741L17.7418 18.4027ZM19.6038 14.9048L15.2016 15.107L15.6061 17.3676L16.2605 15.9994L17.8251 16.7132L19.6038 14.9048ZM10.1868 16.7192L11.7454 16.0053L12.3938 17.3617L12.8042 15.1011L8.4021 14.9048L10.1868 16.7192Z",fill:"#CC6228",stroke:"#CC6228",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M8.4021 14.9048L10.2462 18.5038L10.1868 16.7192L8.4021 14.9048ZM17.8251 16.7192L17.7537 18.5038L19.5978 14.9048L17.8251 16.7192ZM12.8042 15.107L12.3878 17.3676L12.9113 20.0327L13.0303 16.5169L12.8042 15.107ZM15.1957 15.107L14.9815 16.511L15.0886 20.0327L15.6061 17.3617L15.1957 15.1011V15.107Z",fill:"#E27525",stroke:"#E27525",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M15.6062 17.3617L15.0887 20.0327L15.4635 20.2945L17.7538 18.5098L17.8252 16.7192L15.6062 17.3617ZM10.1869 16.7192L10.2463 18.5039L12.5426 20.2885L12.9114 20.0327L12.3939 17.3617L10.1809 16.7192H10.1869Z",fill:"#F5841F",stroke:"#F5841F",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M15.6598 22.7513L15.6776 22.0196L15.4754 21.853H12.5248L12.3285 22.0196L12.3463 22.7513L9.87158 21.5793L10.7401 22.2932L12.495 23.5008H15.4992L17.26 22.2873L18.1167 21.5793L15.6539 22.7513H15.6598Z",fill:"#C0AC9D",stroke:"#C0AC9D",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M15.4634 20.2885L15.0886 20.0327H12.9114L12.5425 20.2945L12.3284 22.0196L12.5247 21.8531H15.4753L15.6776 22.0196L15.4634 20.2945V20.2885Z",fill:"#161616",stroke:"#161616",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M23.3456 11.1571L24 7.97442L23.0125 5L15.4575 10.5919L18.3664 13.0369L22.4711 14.2326L23.3754 13.1797L22.9827 12.8941L23.6074 12.323L23.1315 11.9542L23.7561 11.4783L23.3397 11.1571H23.3456ZM4 7.96847L4.66627 11.1571L4.23795 11.4723L4.87448 11.9482L4.39857 12.323L5.01725 12.8941L4.62463 13.1797L5.52885 14.2326L9.63355 13.0428L12.5425 10.586L4.98751 5L4 7.96847Z",fill:"#763E1A",stroke:"#763E1A",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ne("path",{d:"M22.4712 14.2325L18.3665 13.0428L19.6038 14.9048L17.7597 18.5038L20.1987 18.4741H23.8454L22.4712 14.2325ZM9.63358 13.0368L5.52888 14.2325L4.16064 18.4741H7.80728L10.2463 18.5038L8.40217 14.9048L9.63953 13.0368H9.63358ZM15.1957 15.107L15.4634 10.5859L16.6532 7.37354H11.3468L12.5366 10.5859L12.8043 15.107L12.9054 16.5229V20.0327H15.0887L15.1006 16.5229L15.1957 15.107Z",fill:"#F5841F",stroke:"#F5841F",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"})]});import{isPossiblePhoneNumber as yl}from"libphonenumber-js/min";var Jn=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),Yn=e=>yl(String(e),"US"),Xn=(e,t)=>{let r=e.slice(0),o=[];for(;r.length;)o.push(r.splice(0,t));return o},Ye=(e,t=3,r=4)=>{if(!e)return"";let o=2,n=3;if(t+r+o+n>=e.length)return e;let i=e.slice(0,o+t),a=e.slice(e.length-r,e.length);return`${i}...${a}`},mo=e=>new Promise(t=>setTimeout(t,e)),Qn=(e,t={})=>{let r=t.delayMs||40,o=t.maxAttempts||1e3;return new Promise(async(n,i)=>{let a=!1,s=0;for(;!a&&s<o;)e().then(()=>{a=!0,n()},(...l)=>{a=!0,i(...l)}),s+=1,await mo(r);a||i(new Error("Exceeded max attempts before resolving function"))})},ei=(e,t,r={})=>{let o=new URL(t,e);for(let[n,i]of Object.entries(r))o.searchParams.set(n,i);return o.href},vl=(e,t)=>e.toLowerCase()===t.toLowerCase(),ho=(e,t)=>{for(let r of e)if(vl(r,t))return!0;return!1},fr=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,"");var mr=class extends Te{constructor(t,r){var o;super("metamask",t,r),this.proxyProvider.setWalletProvider(window.ethereum),(o=window.ethereum.providers)==null||o.forEach(async n=>{n.isMetaMask&&this.proxyProvider.setWalletProvider(n)}),this.subscribeListeners()}async connect(t){return t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}async isConnected(){let t=await this.connectedMetamaskAddress();return this.address===t}async connectedMetamaskAddress(){let r=await new wl(this.proxyProvider).listAccounts();return r.length===0?null:ti(r[0])}get walletBranding(){return{name:"MetaMask",icon:ye}}disconnect(){console.warn("Metamask does not support programmetic disconnect.")}async promptConnection(){try{let t="";if(!Cl&&(await this.proxyProvider.request({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]}),this.address&&await this.isConnected()))throw new $("Selected the wrong wallet in MetaMask");let r=await this.proxyProvider.request({method:"eth_requestAccounts"});if(r.length>0&&(t=ti(r[0])),!t||t==="")throw new $("Unable to retrieve address");this.connected=!0,this.address=t}catch(t){throw xe(t)}}async setActive(){if(await this.connectedMetamaskAddress()===this.address)return this.connected=!0,!0;for(;!this.connected;)await mo(200);return!0}subscribeListeners(){this.proxyProvider.on("accountsChanged",t=>{var r;if(t.length>0){let o=t[0];this.connected=((r=this.address)==null?void 0:r.toLowerCase())===(o==null?void 0:o.toLowerCase())}}),this.proxyProvider.on("disconnect",()=>{this.connected=!1})}};import dc from"@walletconnect/web3-provider";import{isAndroid as aa,isChrome as pc,isChromium as uc}from"react-device-detect";import{createContext as xl,useContext as _l,useEffect as go,useState as oi}from"react";import{jsx as El}from"react/jsx-runtime";function ri(e){return El("link",{rel:"prefetch",href:e.src})}import{jsx as Ll,jsxs as Sl}from"react/jsx-runtime";var We="LANDING",ni=xl({ready:!1,app:null,options:{email:!0,sms:!1,wallet:!0,google:!1,twitter:!1,discord:!1,github:!1},currentScreen:We,lastScreen:We,navigate:C,navigateBack:C,setModalData:C}),ii=e=>{var f;let t=e.appConfig,r=e.authenticated,o=e.visible,[n,i]=oi(e.initialScreen||We),[a,s]=oi(e.initialScreen||We);go(()=>{r||i(We)},[r]),go(()=>{o||(s(We),i(We))},[o]),go(()=>{e.initialScreen&&n===We&&(i(e.initialScreen),s(e.initialScreen))},[e.initialScreen]);let l=e.initialScreen&&n===We?e.initialScreen:n,d={ready:!!(t!=null&&t.id),app:t,options:e.options,data:e.data,setModalData:e.setModalData,currentScreen:l,lastScreen:a,navigate:u=>{s(n),i(u)},navigateBack:()=>{i(a)}};return Sl(ni.Provider,{value:d,children:[t&&((f=t.appearance)==null?void 0:f.logo)&&Ll(ri,{src:t.appearance.logo}),e.children]})},w=()=>_l(ni);import{jsx as ft,jsxs as Pl}from"react/jsx-runtime";var mt=({style:e,...t})=>{let{app:r}=w();return Pl("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[ft("rect",{width:"28",height:"28",rx:"3",fill:(r==null?void 0:r.appearance.palette.colorScheme)==="dark"?"#3396ff":"#141414"}),ft("g",{clipPath:"url(#clip0_1765_9946)",children:ft("path",{d:"M8.09448 10.3941C11.3558 7.20196 16.6442 7.20196 19.9055 10.3941L20.2982 10.7782C20.3369 10.8157 20.3677 10.8606 20.3887 10.9102C20.4097 10.9599 20.4206 11.0132 20.4206 11.0671C20.4206 11.121 20.4097 11.1744 20.3887 11.224C20.3677 11.2737 20.3369 11.3186 20.2982 11.3561L18.9554 12.6702C18.9158 12.7086 18.8628 12.7301 18.8077 12.7301C18.7526 12.7301 18.6996 12.7086 18.66 12.6702L18.1198 12.1415C15.8448 9.91503 12.1557 9.91503 9.88015 12.1415L9.30167 12.7075C9.26207 12.7459 9.20909 12.7673 9.15395 12.7673C9.0988 12.7673 9.04582 12.7459 9.00622 12.7075L7.66346 11.3934C7.62475 11.3559 7.59397 11.3109 7.57295 11.2613C7.55193 11.2117 7.5411 11.1583 7.5411 11.1044C7.5411 11.0505 7.55193 10.9971 7.57295 10.9475C7.59397 10.8979 7.62475 10.8529 7.66346 10.8154L8.09448 10.3941ZM22.6829 13.1115L23.8776 14.2814C23.9163 14.319 23.9471 14.3639 23.9681 14.4135C23.9892 14.4632 24 14.5165 24 14.5704C24 14.6243 23.9892 14.6777 23.9681 14.7273C23.9471 14.777 23.9163 14.8219 23.8776 14.8594L18.4893 20.1332C18.4102 20.2101 18.3042 20.2531 18.1938 20.2531C18.0835 20.2531 17.9775 20.2101 17.8984 20.1332L14.0743 16.3901C14.0545 16.3708 14.0279 16.36 14.0003 16.36C13.9726 16.36 13.9461 16.3708 13.9263 16.3901L10.1021 20.1332C10.023 20.2101 9.91703 20.2531 9.8067 20.2531C9.69636 20.2531 9.59038 20.2101 9.51124 20.1332L4.12236 14.8594C4.08365 14.8219 4.05287 14.777 4.03185 14.7273C4.01083 14.6777 4 14.6243 4 14.5704C4 14.5165 4.01083 14.4632 4.03185 14.4135C4.05287 14.3639 4.08365 14.319 4.12236 14.2814L5.31767 13.1115C5.39678 13.0348 5.50265 12.9919 5.61285 12.9919C5.72305 12.9919 5.82892 13.0348 5.90803 13.1115L9.73216 16.8546C9.75194 16.874 9.7785 16.8848 9.80616 16.8848C9.83381 16.8848 9.86037 16.874 9.88015 16.8546L13.7043 13.1115C13.7834 13.0346 13.8894 12.9916 13.9997 12.9916C14.1101 12.9916 14.216 13.0346 14.2952 13.1115L18.1198 16.8546C18.1396 16.874 18.1662 16.8848 18.1938 16.8848C18.2215 16.8848 18.2481 16.874 18.2678 16.8546L22.092 13.1115C22.1711 13.0346 22.2771 12.9916 22.3874 12.9916C22.4977 12.9916 22.6037 13.0346 22.6829 13.1115Z",fill:"white"})}),ft("defs",{children:ft("clipPath",{id:"clip0_1765_9946",children:ft("rect",{width:"20",height:"12.2531",fill:"white",transform:"translate(4 8)"})})})]})};var Lo=rl(ea());import{isAndroid as So}from"react-device-detect";var Cr="c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",Po=e=>{let t=fr(e).trim().toLowerCase();for(let[r,o]of Object.entries(Ht))if(o.name.toLowerCase()===t)return{id:r,entry:o}},Ht={"1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369":{name:"Rainbow",image_id:"7a33d7f1-3d12-4b5c-f3ee-5cd83cb1b500",mobile:{universal:"https://rnbwapp.com"}},"4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0":{name:"Trust Wallet",image_id:"0528ee7e-16d1-4089-21e3-bbfb41933100",mobile:{universal:"https://link.trustwallet.com"}},c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96:{name:"MetaMask",image_id:"5195e9db-94d8-4579-6f11-ef553be95100",mobile:{universal:"https://metamask.app.link"}},"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f":{name:"Safe",image_id:"a1cb2777-f8f9-49b0-53fd-443d20ee0b00",mobile:{universal:"https://gnosis-safe.io/"}},"74f8092562bd79675e276d8b2062a83601a4106d30202f2d509195e30e19673d":{name:"Spot",image_id:"1bf33a89-b049-4a1c-d1f6-4dd7419ee400",mobile:{universal:"https://spot.so"}},ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18:{name:"Zerion",image_id:"f216b371-96cf-409a-9d88-296392b85800",mobile:{universal:"https://wallet.zerion.io"}},"8308656f4548bb81b3508afe355cfbb7f0cb6253d1cc7f998080601f838ecee3":{name:"Unstoppable Domains",image_id:"4725dda0-4471-4d0f-7adf-6bbe8b929c00",mobile:{universal:"https://unstoppabledomains.com/mobile"}},"38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662":{name:"BitKeep",image_id:"3f7075d0-4ab7-4db5-404d-3e4c05e6fe00",mobile:{universal:"https://bkapp.vip"}},afbd95522f4041c71dd4f1a065f971fd32372865b416f95a0b1db759ae33f2a7:{name:"Omni",image_id:"2cd67b4c-282b-4809-e7c0-a88cd5116f00",mobile:{universal:"https://links.omni.app"}},ccb714920401f7d008dbe11281ae70e3a4bfb621763b187b9e4a3ce1ab8faa3b:{name:"BitPay",image_id:"97d4429f-eaf0-4302-87f5-9d26d46fe700",mobile:{universal:"https://link.bitpay.com/wallet"}},"7674bb4e353bf52886768a3ddc2a4562ce2f4191c80831291218ebd90f5f5e26":{name:"MathWallet",image_id:"26a8f588-3231-4411-60ce-5bb6b805a700",mobile:{universal:"https://www.mathwallet.org"}},"2863183c3299d820fb9a4cb8aab4a34f50380c9992e8be871fd60a62e8d36481":{name:"1inch Wallet",image_id:"dce1ee99-403f-44a9-9f94-20de30616500",mobile:{universal:"https://wallet.1inch.io"}},efba9ae0a9e0fdd9e3e055ddf3c8e75f294babb8aea3499456eff27f771fda61:{name:"Eidoo",image_id:"ef5b8bcf-00d5-457d-e161-9911e4788700",mobile:{universal:"https://eidoo.io/crypto-wallet"}},b021913ba555948a1c81eb3d89b372be46f8354e926679de648e4fa2938bed3e:{name:"Coin98",image_id:"dee547be-936a-4c92-9e3f-7a2350a62e00",mobile:{universal:"https://coin98.com"}},"7e90b95230bc462869bbb59f952273d89841e1c76bcc5319898e08c9f34bd4cd":{name:"Unstoppable Wallet",image_id:"5c38b22c-adb9-4899-3252-6e3d71458500",mobile:{universal:"https://unstoppable.money"}},"138f51c8d00ac7b9ac9d8dc75344d096a7dfe370a568aa167eabc0a21830ed98":{name:"AlphaWallet",image_id:"5b1cddfb-056e-4e78-029a-54de5d70c500",mobile:{universal:"https://aw.app"}},"468b4ab3582757233017ec10735863489104515ab160c053074905a1eecb7e63":{name:"D'CENT Wallet",image_id:"1efb49ec-2bab-4fa1-f2f2-4392c64ed000",mobile:{universal:"https://link.dcentwallet.com"}},"29f4a70ad5993f3f73ae8119f0e78ecbae51deec2a021a770225c644935c0f09":{name:"ZelCore",image_id:"97d45a92-a1f0-46da-95a6-ad5db99f3500",mobile:{universal:"https://link.zel.network"}},"8240fb8a7b117aed27f04aa8870c714eeb910f7c1b16c9b868e793c1836335b8":{name:"Nash",image_id:"12f981b1-bb0a-4115-009f-317255979600",mobile:{universal:"https://nash.io/walletconnect"}},"15d7610042217f691385d20e640869dc7273e991b04e8f476417cdc5ec856955":{name:"Coinomi",image_id:"3b446d16-a908-40c8-5835-9a6efe90dd00",mobile:{universal:"https://coinomi.page.link"}},a395dbfc92b5519cbd1cc6937a4e79830187daaeb2c6fcdf9b9cce4255f2dcd5:{name:"CYBAVO Wallet",image_id:"3117d3ce-b973-4cfd-8fb5-f5d72ed3c200",mobile:{universal:"https://cdn.cybavo.com"}},"0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150":{name:"SafePal",image_id:"14096232-7483-425b-f9a9-658f94fe7100",mobile:{universal:"https://link.safepal.io"}},"881946407ff22a32ec0e42b2cd31ea5dab52242dc3648d777b511a0440d59efb":{name:"Bridge Wallet",image_id:"989d504f-93db-4ca6-c00a-9d1faf177d00",mobile:{universal:"https://bridge.mtpelerin.com"}},"3b0e861b3a57e98325b82ab687fe0a712c81366d521ceec49eebc35591f1b5d1":{name:"SparkPoint",image_id:"34c4f901-70de-4507-e7a0-bc7887843000",mobile:{universal:"https://sparkpoint.io"}},"38ee551a01e3c5af9d8a9715768861e4d642e2381a62245083f96672b5646c6b":{name:"PEAKDEFI Wallet",image_id:"744a3fbe-4261-4148-133e-49c5b58cb400",mobile:{universal:"https://peakdefi.com/download"}},f2436c67184f158d1beda5df53298ee84abfc367581e4505134b5bcf5f46697d:{name:"Crypto.com | DeFi Wallet",image_id:"7c5ff577-a68d-49c5-02cd-3d83637b0b00",mobile:{universal:"https://wallet.crypto.com"}},"15d1d97de89526a3c259a235304a7c510c40cda3331f0f8433da860ecc528bef":{name:"Ellipal",image_id:"0a805e10-bfc0-4d02-d9c1-8cec88f0dc00",mobile:{universal:"https://www.ellipal.com/"}},"19ad8334f0f034f4176a95722b5746b539b47b37ce17a5abde4755956d05d44c":{name:"Aktionariat",image_id:"6d18e8ea-b536-4038-c5bf-94a499d5a400",mobile:{universal:"https://app.aktionariat.com"}},"95501c1a07c8eb575cb28c753ab9044259546ebcefcd3645461086e49b671f5c":{name:"Talken Wallet",image_id:"1afb5a3a-2da3-40ce-baf9-b416e7510600",mobile:{universal:"https://talken.io"}},"2ed796df33fdbde6a3ea6a47d3636b8341fe285038d844c7a78267b465b27028":{name:"KyberSwap",image_id:"3abd1720-260e-495a-2e31-3d0b349e0d00",mobile:{universal:"https://kyberswapnew.app.link"}},"4e6af4201658b52daad51a279bb363a08b3927e74c0f27abeca3b0110bddf0a9":{name:"Tongue Wallet",image_id:"20bc4fdb-b9e6-429a-8cba-c233b3273000",mobile:{universal:"https://www.tongue.fi"}},b13fcc7e3500a4580c9a5341ed64c49c17d7f864497881048eb160c089be5346:{name:"RWallet",image_id:"a883229c-26cb-4c19-9b34-1f0ed4012a00",mobile:{universal:"https://www.rwallet.app"}},"13c6a06b733edf51784f669f508826b2ab0dc80122a8b5d25d84b17d94bbdf70":{name:"PlasmaPay",image_id:"466c8fd0-fcec-4621-b94f-e91ce1439f00",mobile:{universal:"https://plasmapay.com/"}},"0aafbedfb8eb56dae59ecc37c9a5388509cf9c082635e3f752581cc7128a17c0":{name:"O3Wallet",image_id:"e1c7c6af-c731-463e-55f0-5e686e9f6200",mobile:{universal:"https://o3.network"}},"761d3d98fd77bdb06e6c90092ee7071c6001e93401d05dcf2b007c1a6c9c222c":{name:"HashKey Me",image_id:"72734fac-9500-4c2c-81ba-678f7fc32700",mobile:{universal:"https://me.hashkey.com"}},ffa139f74d1c8ebbb748cf0166f92d886e8c81b521c2193aa940e00626f4e215:{name:"Defiant",image_id:"026462e7-09a3-47f6-6b46-49df18133b00",mobile:{universal:"https://defiantapp.tech"}},"717911f4db0c5eda0e02e76ed179b7940ba1eefffdfb3c9e6540696226860da0":{name:"Elastos Essentials",image_id:"04a6bfed-d80e-4f7b-0516-261f86aa4000",mobile:{universal:"https://essentials.elastos.net"}},"9d6c614d1995741d5313f1f3dbf1f66dcba694de782087d13b8721822502692f":{name:"Stasis",image_id:"7ae753bc-a754-450c-2d90-2c5521734400",mobile:{universal:"https://app.stasis.net"}},a6ffb821a3c32d36fc9d29e29c2ff79a0cd1db0bca453714777846ddf3fdff76:{name:"JulWallet",image_id:"cabd50de-22fa-487b-ce68-2c63de8bb800",mobile:{universal:"https://justliquidity.org"}},"76745388a50e6fea982c4dee2a3ad61a8aa417668be870754689caa8a7506c93":{name:"Tangem",image_id:"8a5b6e94-e378-458d-bf2e-017cc7958e00",mobile:{universal:"https://app.tangem.com"}},"6464873279d46030c0b6b005b33da6be5ed57a752be3ef1f857dc10eaf8028aa":{name:"SecuX",image_id:"d46a33d6-92a1-4dfd-38d4-779815fb5c00",mobile:{universal:"https://wsweb.secuxtech.com"}},"2c81da3add65899baeac53758a07e652eea46dbb5195b8074772c62a77bbf568":{name:"Ambire Wallet",image_id:"c39b3a16-1a38-4588-f089-cb7aeb584700",mobile:{universal:"https://mobile.ambire.com"}},b823fb0d7228ef8e3c0bc9607df9ed79dae2ab3a2811d33f22ade4f573c18232:{name:"Slavi Wallet",image_id:"282ce060-0beb-4236-b7b0-1b34cc6c8f00",mobile:{universal:"https://www.slaviwallet.io"}},dccbd717df77b395445cc6080e01fffada9d8b92dacfda312a26c70c2e9af673:{name:"Nufinetes",image_id:"70080bd7-9858-4720-cf74-8f74cd74cb00",mobile:{universal:"https://apple.vimworld.org"}},c6f3d04a4e1a51e7d2045f347a5ebdab30fc600950a740fca21f0c92e230ee05:{name:"Arianee Wallet",image_id:"ace938a9-c906-4b9e-f683-b85f1ab72800",mobile:{universal:"https://arianee.net"}},c482dfe368d4f004479977fd88e80dc9e81107f3245d706811581a6dfe69c534:{name:"NOW Wallet",image_id:"b6ee4efc-f53e-475b-927b-a7ded6211700",mobile:{universal:"https://walletnow.app.link"}},"14e7176536cb3706e221daaa3cfd7b88b7da8c7dfb64d1d241044164802c6bdd":{name:"Blocto",image_id:"374258d3-c749-4f37-7815-77e61f798c00",mobile:{universal:"https://blocto.app"}},"0e4915107da5b3408b38e248f7a710f4529d54cd30e9d12ff0eb886d45c18e92":{name:"Arculus Wallet",image_id:"f78dab27-7165-4a3d-fdb1-fcff06c0a700",mobile:{universal:"https://gw.arculus.co/app"}},a2c031fccd13a6c16d7745c303507f78ae4da53fed064542804e9657d73e8b5c:{name:"Backpack",image_id:"e46f132d-6e05-4d51-8720-43727446e600",mobile:{universal:"https://jxndao.com"}},f593f4eb9755ff047681a37ebc46706e0e915cf1c2fe0102f5ae47c9f6aa4082:{name:"Autonomy: Digital Art Wallet",image_id:"2ee7c9db-9a86-4cd6-0d32-5053b4636100",mobile:{universal:"https://autonomy.io/apps/wc"}},"5859076ade608fbc4e9d3fe2f95e8527de80f8451ecbb1dced54ca84deae0dd6":{name:"Coingrig",image_id:"18e38e41-a387-4402-ca31-6d2d5eb91100",mobile:{universal:"https://link.coingrig.com"}},bb88a220ed4dcd3d717ec19b6ac00a672edf92e97ef7c243d35e25ff56a07301:{name:"bobablocks",image_id:"aff8973b-e093-45b5-4858-c01dd043bc00",mobile:{universal:"https://app.bobablocks.io"}},cbe13eb482c76f1fa401ff4c84d9acd0b8bc9af311ca0620a0b192fb28359b4e:{name:"Plasma Wallet",image_id:"c268e78d-ffb0-4c8b-5cad-04c3add48500",mobile:{universal:"https://plasma-wallet.com"}},b83a346877b71c02b8531f53485ce12bc00033eabcc1213ca3329cbc744813a5:{name:"Holdstation Wallet",image_id:"e6dba126-85af-4194-84f6-dd16632c3c00",mobile:{universal:"https://apps.apple.com/us/app/holdstation-web3-wallet/id6444925618"}},a92d512c649e87a5acba5885ac03f62662cff1f647c20a63833eb45a71a6f877:{name:"HUMBL WALLET",image_id:"1ac55ba2-aa98-4ed0-59b3-b3155dea4200",mobile:{universal:"https://wallet.search3.com"}},"226d8a12a2e6e5c4185fa9c24313824bfb144c2a180325bddbd121844f497afa":{name:"ISLAMIwallet",image_id:"8d723c78-28ad-4610-901f-ea391d7e8d00",mobile:{universal:"https://islamiwallet.com"}},"11c5487e4d8dd8bf32d4c92222363df8296a27307b2531be1e25770365392ecb":{name:"Card Wallet",image_id:"325428cf-c212-4d83-a434-7f48902d2c00",mobile:{universal:"https://wallet.cardstack.com"}},f5b4eeb6015d66be3f5940a895cbaa49ef3439e518cd771270e6b553b48f31d2:{name:"MEW wallet",image_id:"e2024511-2c9b-46d7-3111-52df3d241700",mobile:{universal:"https://mewwallet.com"}},"576c90ceaea34f29ff0104837cf2b2e23d201be43be1433feeb18d375430e1fd":{name:"PLTwallet",image_id:"a5d9dd15-8cef-42de-8bed-09e01a8b0200",mobile:{universal:"https://pltwallet.io/"}},"94f785c0c8fb8c4f38cd9cd704416430bcaa2137f27e1468782d624bcd155a43":{name:"Avacus",image_id:"a7106965-91cc-4a73-4688-c5c72ae0ed00",mobile:{universal:"https://avacus.app.link"}},bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6:{name:"Argent",image_id:"215158d2-614b-49c9-410f-77aa661c3900",mobile:{universal:"https://www.argent.xyz/app"}},"664b505fea4c2117b8a55c054ef209664e0a68ddaafd7534df739f97a293fa1d":{name:"Hippo Wallet",image_id:"f9570968-45f7-47c1-3189-98cf60e25c00",mobile:{universal:"https://hippowallet.io"}},"0c5bba82e70a2b62405871af809020a077d110d765c0798eb660ad5d3131b328":{name:"Edge Wallet",image_id:"f601bc29-4298-422f-dbf7-34dac2884f00",mobile:{universal:"https://deep.edge.app/wc"}},"792fbacfe787d67595dd4eb38ac308e14b3bbc810393db56f477a92e5ac8764b":{name:"Assure",image_id:"64db7104-c8b7-44ea-e102-11ce87124200",mobile:{universal:"https://www.assure.pro/Official"}},"7ef337ff00714f179d38b8142398efa2ab902a53430e99ebce02892053d7a310":{name:"EASY",image_id:"62feb41a-be1f-4b1c-e089-27f97c0e8d00",mobile:{universal:"https://link.easy.me"}},"7e94e75c90964a69ea375b92214f50c4223dfbfa4913a3733b615444b322f687":{name:"CoinStats",image_id:"f989ab84-650b-4ad5-c342-77f3334f1b00",mobile:{universal:"https://coinstats.app"}},"107bb20463699c4e614d3a2fb7b961e66f48774cb8f6d6c1aee789853280972c":{name:"Bitcoin.com Wallet",image_id:"0d7938e1-9b3b-4d8b-177b-98188c4cf400",mobile:{universal:"https://wallet.bitcoin.com/"}},"1986e7c874bb906f057d5d64a4806c004e021689536e5228c74d64a6058e8bac":{name:"Defiant",image_id:"11a96ca4-3592-42ae-c781-2b7265ec9200",mobile:{universal:"https://defiantapp.tech/"}},"19418ecfd44963883e4d6abca1adeb2036f3b5ffb9bee0ec61f267a9641f878b":{name:"KryptoGO Wallet",image_id:"3ccbd966-97e8-45a0-1ceb-6141a8978e00",mobile:{universal:"https://kryptogo.page.link"}},"37a686ab6223cd42e2886ed6e5477fce100a4fb565dcd57ed4f81f7c12e93053":{name:"Bifrost Wallet",image_id:"86be07e2-6652-4fd1-5f33-651682c95400",mobile:{universal:"https://app.bifrostwallet.com"}},"4f5de5333fed2ccf47c690579aba3b9128aea78175339ff51ef61704bde7502a":{name:"Okse Wallet",image_id:"8a1b36d5-7f40-403a-7000-5d30f9181200",mobile:{universal:"https://okse.io/"}},"9034d54985807aaf3d7780f50f155f954daa468fb58d7b14b216fc79d68bbd14":{name:"Qubic Wallet",image_id:"2e9ef302-daae-4807-555f-d4986b0b6700",mobile:{universal:"https://wallet.qubic.app"}},c39d8ee468e50474fdf3a0bd6b981be404d4671e2702a3d633aae95bcbaa032a:{name:"XFUN Wallet",image_id:"a665f8f3-09ef-4d17-2bd0-26dca4518400",mobile:{universal:"https://xfun.io"}},e9ff15be73584489ca4a66f64d32c4537711797e30b6660dbcb71ea72a42b1f4:{name:"Exodus",image_id:"4c16cad4-cac9-4643-6726-c696efaf5200",mobile:{universal:"https://exodus.com/m"}},"114efdbef4ce710081c1507f3dbc51f439c96a342cf33397799cd1c84b01a8c5":{name:"S-ONE Wallet",image_id:"b3562637-a407-4035-6fa5-a70ff2050400",mobile:{universal:"https://sonewallet.app"}},"5b8e33346dfb2a532748c247876db8d596734da8977905a27b947ba1e2cf465b":{name:"PREMA Wallet",image_id:"6487869b-1165-4f30-aa3a-115665be8300",mobile:{universal:"https://premanft.com"}},"2cca8c1b0bea04ba37dee4017991d348cdb7b826804ab2bd31073254f345b715":{name:"Bee Wallet",image_id:"f90bc33f-f085-40cf-7538-fae5ae84f900",mobile:{universal:"https://beewallet.app/wc"}},e3787ea98d014ca77e2c3794db97c02ef8bcb39347705f5e79502a55434a1ecf:{name:"TK Finance",image_id:"c4066f68-2247-49bf-ac8a-a677bfa81800",mobile:{universal:"https://trustkeys.network"}},"159b0423ce9075d5662f588f805931d989627affab3e63e4dd7ebc62b9c6738c":{name:"Oxalus Wallet",image_id:"a6e22fcb-6b69-45d2-b52d-a4a347a21e00",mobile:{universal:"https://oxalus.page.link/?apn=io.oxalus.wallet&isi=1620111723&ibi=io.oxalus.wallet&link=https://deeplink.oxalus.io"}},fbea6f68df4e6ce163c144df86da89f24cb244f19b53903e26aea9ab7de6393c:{name:"Klever Wallet",image_id:"8f5bbad8-6a14-4b2c-5343-cc1fca6e4d00",mobile:{universal:"https://klever.page.link"}},"1aedbcfc1f31aade56ca34c38b0a1607b41cccfa3de93c946ef3b4ba2dfab11c":{name:"OneKey",image_id:"12bebb3f-8030-4892-8452-c60a6bac1500",mobile:{universal:"https://app.onekey.so/wc/connect"}},"14e5d957c6eb62d3ee8fc6239703ac2d537d7e3552154836ca0beef775f630bc":{name:"Pitaka",image_id:"691c0716-5213-4b99-e837-079268313800",mobile:{universal:"https://app.pitaka.io"}},"031f0187049b7f96c6f039d1c9c8138ff7a17fd75d38b34350c7182232cc29aa":{name:"Obvious",image_id:"40945cea-9cd2-4acc-5799-ca7fb31f4700",mobile:{universal:"https://wallet.obvious.technology"}},c40b9bcef32fa6ce4e0df98be1420628bbc4957646f742380fe618fcb4ab74f1:{name:"RiceWallet",image_id:"df94578e-19be-4f00-258f-2470343e7b00",mobile:{universal:"https://ricewallet.io"}},b265ce38b94d602957a0946673c59a99a15d69adda4317544fec7298ea2d1387:{name:"SafeMoon",image_id:"ecc31a8e-0ee9-49db-cc59-0876b7c35600",mobile:{universal:"https://safemoon.net/"}},dc5415b6ea8114db518ae91195b027d690a11a1d2bfdd1a904e93c5cb746380e:{name:"SimpleHold",image_id:"a9f1ba96-b658-4d13-f71f-226b6389f000",mobile:{universal:"https://simplehold.io"}},"41f20106359ff63cf732adf1f7dc1a157176c9b02fd266b50da6dcc1e9b86071":{name:"Bitizen",image_id:"75dd1471-77e9-4811-ce57-ec8fc980ec00",mobile:{universal:"https://bitizen.org/wallet"}}},ta=(e,t="md")=>`https://registry.walletconnect.com/v2/logo/${t}/${e}`;function ra(e){return{name:e.name||"",universalLink:e.mobile.universal||"",deepLink:e.mobile.native||""}}function oa(e,t){let r=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${r}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${r}`:""}function na(e,t){return So?e:oa(e,ra(Ht[t]))}var Er=(e,t)=>{if(!e)return;if(So){(0,Lo.saveMobileLinkInfo)({name:"Unknown",href:t||"wc:"});return}let r=Ht[e];if(!r){console.warn("Attempted to set info for unknown wallet",e);return}let o=oa(t||"wc:",ra(r));(0,Lo.saveMobileLinkInfo)({name:(r==null?void 0:r.name)||"",href:o})},ia=()=>{!So||window.open("wc:","_self")};var Ao=class extends Te{constructor(r,o,n){super("wallet_connect",o,n);this.connectionManager=r}setActive(){return this.walletProvider.walletId&&Er(this.walletProvider.walletId),Promise.resolve(!0)}async connect(r){return r.showPrompt&&await this.promptConnection(),this.getConnectedWallet()}async isConnected(){return this.walletProvider.connected}get walletBranding(){var r,o,n;if(this.walletProvider.walletId){let i=Ht[this.walletProvider.walletId];return{name:i.name,icon:this.walletProvider.walletId===Cr?ye:ta(i.image_id)}}return{name:fr(((r=this.walletProvider.walletMeta)==null?void 0:r.name)||"")||"WalletConnect",icon:((n=(o=this.walletProvider.walletMeta)==null?void 0:o.icons)==null?void 0:n[0])||mt}}async promptConnection(){return new Promise((r,o)=>{this.walletProvider.connector.on("disconnect",(i,a)=>{if(i){o(xe(i));return}a.params.some(s=>s.message==="Session Rejected")&&(this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),o(new Ze)),o(new $("Unknown error during connection"))}),this.walletProvider.qrcode&&this.walletProvider.connector.on("modal_closed",()=>{this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),o(new Ze)}),this.walletProvider.connector.on("transport_error",(i,a)=>{o(xe(i))}),(async()=>{let i="",a=await Promise.race([this.connectionManager.enableProvider(this.walletProvider),fo()]);if(a.length>0&&(i=a[0]),!i||i==="")throw new $("Unable to retrieve address");this.connected=!0,r()})().catch(i=>o(xe(i)))})}async sign(r){Er(this.walletProvider.walletId),this.walletProvider.connected||await this.connectionManager.enableProvider(this.walletProvider);let o=await this.walletProvider.getWalletConnector();return new Promise(async(n,i)=>{var a;o.signPersonalMessage([r,(a=this.walletProvider.accounts)==null?void 0:a[0]]).then(s=>n(s)),aa&&ia()})}disconnect(){this.walletProvider.close().catch(()=>console.warn("Unable to disconnect wallet provider"))}get walletProvider(){return this.proxyProvider.walletProvider}setWalletProvider(r){this.proxyProvider.setWalletProvider(r)}},xr=class{constructor(){this._storageIdToProvider={},this.reconnectDelayMs=10,this.reconnectBackoff=2,!(typeof window>"u")&&q.getKeys().forEach(t=>{var r,o;if(t.startsWith("walletconnect")){let n=t.split(":")[2]?t.split(":")[2]:void 0;if(!n){let i=(o=(r=q.get(t))==null?void 0:r.peerMeta)==null?void 0:o.name;if(i){let a=Po(i);a!=null&&a.id&&(n=a.id)}}this.createProviderWithStorageId(t,n)}})}createConnector(t,r,o){let n=this.getProviderForAddress(r,o),i=new Ao(this,t,r);return n?n.isConnecting&&(n=this.replaceProvider(i,n)):n=this.createProvider(i,o),i.setWalletProvider(n),i}async disconnect(){await Promise.all(Object.values(this._storageIdToProvider).map(async t=>await t.disconnect()))}getStorageId(t,r){if(!t)return;let o=q.getKeys().filter(i=>i.startsWith("walletconnect"));if(r){let i=o.filter(a=>a.includes(r));if(i){let a=i.find(s=>ho(q.get(s).accounts,t));if(a)return a}}let n=o.find(i=>ho(q.get(i).accounts,t));if(!(n&&r&&!n.includes(r)))return n}getProviderForAddress(t,r){let o=this.getStorageId(t,r);o||(o=`${lo}:${Math.random().toString(36).slice(2)}:${r||""}`);let n=this._storageIdToProvider[o];if(n)return n}createProviderWithStorageId(t,r){let o=r?{qrcode:!1}:{},n=new dc({infuraId:sr,storageId:t,pollingInterval:Zn,...o});return n.walletId=r,r?n.connector.on("display_uri",(i,a)=>{Er(r);let s=a.params[0],l=na(s,r);aa?window.open(l):window.open(l,uc||pc?"_self":"_blank","noopener,noreferrer")}):n.connector.on("connect",()=>{var i,a,s;(i=n.walletMeta)!=null&&i.name&&(n.walletId=(s=Po((a=n.walletMeta)==null?void 0:a.name))==null?void 0:s.id)}),this._storageIdToProvider[t]=n,n}createProvider(t,r){let o=`${lo}:${Math.random().toString(36).slice(2)}:${r||""}`,n=this.createProviderWithStorageId(o,r);return n.connector.on("transport_error",()=>{console.warn("Transport failed. Replacing provider."),setTimeout(()=>{t.setWalletProvider(this.replaceProvider(t,n)),this.reconnectDelayMs*=this.reconnectBackoff},this.reconnectDelayMs)}),n}replaceProvider(t,r){r.close().catch(()=>console.warn("Unable to disconnect provider"));let o=Object.entries(this._storageIdToProvider).find(([n,i])=>i.connector.session.key===r.connector.session.key);return o&&delete this._storageIdToProvider[o[0]],this.createProvider(t,r.walletId)}async enableProvider(t){return t.connected?Promise.resolve(t.accounts):await t.enable()}};var ko=()=>{if(!window.ethereum)return!1;if(window.ethereum.isMetaMask)return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(e.isMetaMask)return!0}return!1},_r=()=>{if(!window.ethereum)return!1;if(window.ethereum.isCoinbaseWallet)return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(e.isCoinbaseWallet)return!0}return!1},To=e=>{let t=localStorage.getItem("-walletlink:https://www.walletlink.org:Addresses");return t?!!(e==null?void 0:e.linkedAccounts.filter(o=>o.type=="wallet"&&o.address===fc(t)).length):!1},sa=()=>{var t;let e=q.get(cr);return e?(t=e.find(r=>r.active))==null?void 0:t.address:null},Vt=class{constructor(){this.getEthereumProvider=()=>{var t;return((t=this.activeWalletConnector)==null?void 0:t.proxyProvider)||new _e};this.walletConnectors=[],this.wcConnectionManager=new xr,this.initialized=!1}initialize(){this.initialized||(this.load(),this.activeWalletConnector&&this.activeWalletConnector.connect({showPrompt:!1}).catch(t=>console.warn("Unable to reconnect active wallet",t)),this.initialized=!0)}initializeLinkedWallets(t){t.linkedAccounts.forEach(()=>null)}load(){(q.get(cr)||[]).forEach(r=>{let o=this.createWalletConnector(r.walletType,r.address);this.addWalletConnector(o),r.active&&(this.activeWalletConnector=o)})}save(){let t=this.walletConnectors.map(r=>{var o;return{address:r.address,walletType:r.walletType,active:r.address===((o=this.activeWalletConnector)==null?void 0:o.address)&&r.walletType===this.activeWalletConnector.walletType}});q.put(cr,t)}addWalletConnector(t){this.walletConnectors.find(o=>o.address===t.address&&o.walletType===t.walletType)||this.walletConnectors.push(t)}getConnectorByAddress(t){return this.walletConnectors.find(r=>{var o;return((o=r.address)==null?void 0:o.toLowerCase())===t.toLowerCase()})}async removeWallet(t){let r=this.walletConnectors.find(o=>o.address===t);r&&r.disconnect(),this.walletConnectors=this.walletConnectors.filter(o=>o.address!==t),this.activeWalletConnector=void 0,this.save()}async activeWalletSign(t){if(!this.activeWalletConnector)throw new $("Cannot sign, no wallet is active. Is a wallet connected?");return this.activeWalletConnector.sign(t)}async setActiveWallet(t){let r=this.walletConnectors.find(o=>o.address===t);if(r){let o=await r.setActive();return this.activeWalletConnector=o?r:void 0,this.save(),!0}return!1}createWalletConnector(t,r,o){switch(t){case"metamask":return new mr(new _e,r);case"coinbase_wallet":return new ur(new _e,r);case"wallet_connect":return this.wcConnectionManager.createConnector(new _e,r,o)}}};function Ue(e){return new Date(e*1e3)}function mc(e){let t=[];for(let r of e){let o=r.type;switch(r.type){case"wallet":let n={address:r.address,type:r.type,verifiedAt:Ue(r.verified_at),chainType:r.chain_type,walletClient:r.wallet_client};t.push(n);break;case"email":let i={address:r.address,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(i);break;case"phone":let a={number:r.phoneNumber,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(a);break;case"google_oauth":let s={subject:r.subject,email:r.email,name:r.name,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(s);break;case"twitter_oauth":let l={subject:r.subject,username:r.username,name:r.name,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(l);break;case"discord_oauth":let d={subject:r.subject,username:r.username,email:r.email,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(d);break;case"github_oauth":let f={subject:r.subject,username:r.username,name:r.name,email:r.email,type:r.type,verifiedAt:Ue(r.verified_at)};t.push(f);break;default:console.warn(`Unrecognized account type: ${o}. Please consider upgrading the Privy SDK.`)}}return t}function et(e,t){return e.sort((r,o)=>o.verifiedAt.getTime()-r.verifiedAt.getTime()),e.find(r=>r.type===t)}function jt(e){let t=sa();if(!t&&e.wallet)return e;let r=e.linkedAccounts.find(n=>n.type==="wallet"&&n.address===t);if(!r)return e;let o=Object.assign({},e);return o.wallet=r&&{address:r.address,chainType:r.chainType,chainId:r.chainId,walletClient:r.walletClient},o}var re=e=>e==null?void 0:e.linkedAccounts.find(t=>t.type==="wallet"&&t.walletClient==="privy");function Re(e){if(!e)return null;let t=mc(e.linked_accounts),r=et(t,"wallet"),o=et(t,"email"),n=et(t,"phone"),i=et(t,"google_oauth"),a=et(t,"twitter_oauth"),s=et(t,"discord_oauth"),l=et(t,"github_oauth"),d={id:e.id,createdAt:Ue(e.created_at),linkedAccounts:t,email:o&&{address:o==null?void 0:o.address},phone:n&&{number:n==null?void 0:n.number},wallet:r&&{address:r.address,chainType:r.chainType,chainId:r.chainId,walletClient:r.walletClient},google:i&&{subject:i.subject,email:i.email,name:i.name},twitter:a&&{subject:a.subject,username:a.username,name:a.name},discord:s&&{subject:s.subject,username:s.username,email:s.email},github:l&&{subject:l.subject,username:l.username,name:l.name,email:l.email}};return jt(d)}import Wo from"axios";var Lr=class{constructor(t,r,o){this.appId=t,this.sdkVersion=so,this.client=r,this.defaults=o}async get(t,r){try{return await Wo.get(t,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...r}))}catch(o){throw z(o)}}async post(t,r,o){try{return await Wo.post(t,r,await this.buildConfig(o))}catch(n){throw z(n)}}async delete(t,r){try{return await Wo.delete(t,await this.buildConfig(r))}catch(o){throw z(o)}}async buildConfig(t){if(t=t||{},t.headers=t.headers||{},t.headers["privy-app-id"]=this.appId,t.headers["privy-client"]=`react-auth:${this.sdkVersion}`,!t.headers.authorization){let r=await this.client.getAccessToken();r!==null&&(t.headers.authorization=`Bearer ${r}`)}return{...this.defaults,...t}}};var Fe=class{constructor(t){this.promise=null;this.fn=t}execute(t){return this.promise===null&&(this.promise=(async()=>{try{return await this.fn(t)}finally{this.promise=null}})()),this.promise}};import*as la from"jose";var Ie=class{static parse(t){try{return new Ie(t)}catch{return null}}constructor(t){this.value=t,this._decoded=la.decodeJwt(t)}get subject(){return this._decoded.sub}get expiration(){return this._decoded.exp}get issuer(){return this._decoded.iss}get audience(){return this._decoded.aud}isExpired(t=0){let r=Date.now(),o=(this.expiration-t)*1e3;return r>=o}};var hc=30,Sr=class{constructor(){this.authenticateOnce=new Fe(async t=>this._authenticate(t)),this.linkOnce=new Fe(async t=>this._link(t)),this.refreshOnce=new Fe(this._refresh.bind(this)),this.destroyOnce=new Fe(this._destroy.bind(this)),this.forkSessionOnce=new Fe(this._forkSession.bind(this))}get token(){try{let t=q.get(dt);return typeof t=="string"?new Ie(t).value:null}catch(t){return console.error(t),this.destroyLocalState(),null}}get refreshToken(){try{let t=q.get(lr);return typeof t=="string"?t:null}catch(t){return console.error(t),this.destroyLocalState(),null}}hasRefreshCredentials(){return typeof this.token=="string"&&typeof this.refreshToken=="string"}hasActiveToken(){let t=Ie.parse(this.token);return t!==null&&!t.isExpired(hc)}authenticate(t){return this.authenticateOnce.execute(t)}link(t){return this.linkOnce.execute(t)}refresh(){return this.refreshOnce.execute()}forkSession(){return this.forkSessionOnce.execute()}destroy(){return this.destroyOnce.execute()}async _authenticate(t){try{let{token:r,refresh_token:o,user:n,is_new_user:i}=await t.authenticate();return this.storeToken(r),this.storeRefreshToken(o),{user:Re(n),isNewUser:i}}catch(r){throw console.warn("Error authenticating session"),pe(r)}}async _link(t){try{let r=await t.link();return Re(r)}catch(r){throw console.warn("Error linking account"),pe(r)}}async _refresh(){if(!this.api)throw new v("Session has no API instance");if(!this.client)throw new v("Session has no PrivyClient instance");await this.client.getAccessToken({disableAutoRefresh:!0});let t=this.token,r=this.refreshToken;if(!t||!r)return null;try{let o=await this.api.post(Sn(),{refresh_token:r},{headers:{authorization:`Bearer ${t}`}});return this.storeToken(o.data.token),this.storeRefreshToken(o.data.refresh_token),Re(o.data.user)}catch(o){if(o instanceof lt&&o.status===400&&o.message==="Invalid auth token")return this.destroyLocalState(),null;throw pe(o)}}async _destroy(){var t;try{await((t=this.api)==null?void 0:t.post(Pn(),{refresh_token:this.refreshToken}))}catch{console.warn("Error destroying session")}this.destroyLocalState()}async _forkSession(){if(!this.api)throw new v("Session has no API instance");let t=this.refreshToken;try{let r=await this.api.post(An(),{refresh_token:t});return this.storeToken(r.data.token),this.storeRefreshToken(r.data.refresh_token),r.data.new_session_refresh_token}catch(r){throw pe(r)}}destroyLocalState(){this.storeToken(null),this.storeRefreshToken(null)}storeToken(t){typeof t=="string"?q.put(dt,t):q.del(dt)}storeRefreshToken(t){typeof t=="string"?q.put(lr,t):q.del(lr)}};var Ro,$t=class{constructor(t){let r=t.apiURL||zn,o=t.timeout||qn;this.appId=t.appId,this.connectors=new Vt,Ro||(Ro=new Sr),this.session=Ro,this.api=new Lr(t.appId,this,{baseURL:r,timeout:o}),this.session.api=this.api,this.session.client=this}authenticate(){if(!this.authFlow)throw new v("No auth flow in progress.");return this.session.authenticate(this.authFlow)}link(){if(!this.authFlow)throw new v("No auth flow in progress.");return this.session.link(this.authFlow)}async logout(){await this.session.destroy(),this.authFlow=void 0}startAuthFlow(t){t.api=this.api,this.authFlow=t}async unlinkEmail(t){try{let r=await this.api.post(Hn(),{address:t});return Re(r.data)}catch(r){throw pe(r)}}async unlinkPhone(t){try{let r=await this.api.post(Vn(),{phoneNumber:t});return Re(r.data)}catch(r){throw pe(r)}}async unlinkWallet(t){try{let r=await this.api.post(Gn(),{address:t});return await this.connectors.removeWallet(t),Re(r.data)}catch(r){throw pe(r)}}async unlinkOAuth(t,r){try{let o=await this.api.post(jn(),{provider:t,subject:r});return Re(o.data)}catch(o){throw pe(o)}}async getAuthenticatedUser(){return this.session.hasRefreshCredentials()?this.session.refresh():null}async getAccessToken(t){var r;return this.session.hasActiveToken()?((r=Ie.parse(this.session.token))==null?void 0:r.audience)!==this.appId?(await this.logout(),null):this.session.token:!(t!=null&&t.disableAutoRefresh)&&this.session.hasRefreshCredentials()?(await this.session.refresh(),this.session.token):null}async getServerConfig(){try{let t=await this.api.get(`/api/v1/apps/${this.appId}`);return{id:t.data.id,name:t.data.name,verificationKey:t.data.verification_key,logoUrl:t.data.logo_url||void 0,accentColor:t.data.accent_color||void 0,showWalletLoginFirst:t.data.show_wallet_login_first,allowlistConfig:{errorTitle:t.data.allowlist_config.error_title,errorDetail:t.data.allowlist_config.error_detail,errorCtaText:t.data.allowlist_config.cta_text,errorCtaLink:t.data.allowlist_config.cta_link},walletAuth:t.data.wallet_auth,emailAuth:t.data.email_auth,smsAuth:t.data.sms_auth,googleOAuth:t.data.google_oauth,twitterOAuth:t.data.twitter_oauth,discordOAuth:t.data.discord_oauth,githubOAuth:t.data.github_oauth,termsAndConditionsUrl:t.data.terms_and_conditions_url,privacyPolicyUrl:t.data.privacy_policy_url,createdAt:new Date(t.data.created_at*1e3),updatedAt:new Date(t.data.updated_at*1e3)}}catch(t){throw pe(t)}}async setActiveWallet(t,r){if(!r.linkedAccounts.map(i=>i.type==="wallet"?i.address:null).includes(t))throw new v("Cannot set an unlinked address as active.");if(!await this.connectors.setActiveWallet(t))throw new v("Error setting the active wallet.");return jt(r)}async forkSession(){return await this.session.forkSession()}};import"wicg-inert";import{disableBodyScroll as yp,clearAllBodyScrollLocks as vp}from"body-scroll-lock";import{useRef as wp}from"react";import{useEffect as Cp}from"react";import Ep from"react-dom";import yn from"styled-components";import{createContext as gc,useContext as bc}from"react";var Io=gc({isLinking:!1,linkingHint:null,activeStatus:null,walletConnectionStatus:null,getAuthMeta:C,getAuthFlow:C,closePrivyModal:C,initLoginWithWallet:C,loginWithWallet:C,loginWithCode:C,initLoginWithEmail:C,initLoginWithSms:C,resendEmailCode:C,resendSmsCode:C,initLoginWithOAuth:C,loginWithOAuth:C,refreshUser:C,walletProxy:null}),k=()=>bc(Io);import{createContext as yc,useContext as vc}from"react";var Mo=yc({ready:!1,authenticated:!1,user:null,walletConnectors:null,login:C,linkEmail:C,linkPhone:C,linkWallet:C,linkGoogle:C,linkTwitter:C,linkDiscord:C,linkGithub:C,logout:C,getAccessToken:C,getEthereumProvider:C,getEthersProvider:C,getWeb3jsProvider:C,unlinkEmail:C,unlinkPhone:C,unlinkWallet:C,unlinkGoogle:C,unlinkTwitter:C,unlinkDiscord:C,unlinkGithub:C,setActiveWallet:C,forkSession:C,createWallet:C,signMessage:C}),H=()=>vc(Mo);import Bo from"styled-components";import Uo,{css as _c}from"styled-components";import No from"styled-components";import{Fragment as Ec,jsx as Oo,jsxs as xc}from"react/jsx-runtime";var Pr=({success:e,fail:t})=>xc(Ec,{children:[Oo(zt,{className:e?"success":t?"fail":""}),Oo(wc,{className:e?"success":t?"fail":""})]}),zt=No.span`
13
13
  && {
14
14
  width: 82px;
15
15
  height: 82px;
@@ -424,7 +424,7 @@ Resources:
424
424
  }
425
425
  `,Kc=qt.span`
426
426
  word-break: break-all;
427
- `;import{useEffect as Vo,useState as Rr}from"react";import{isMobile as Jc}from"react-device-detect";import $o from"styled-components";import{Fragment as Ta,jsx as le,jsxs as Ir}from"react/jsx-runtime";var jo=2,Mr={metamask:{name:"MetaMask",component:ye},coinbase_wallet:{name:"Coinbase Wallet",component:Ee},wallet_connect:{name:"WalletConnect",component:mt}},Yc=e=>(e==null?void 0:e.status)===422?Ke.ERROR_USER_EXISTS:e instanceof ut&&!e.details.default?e.details:e instanceof pt?Ke.ERROR_TIMED_OUT:e instanceof Ze?Ke.ERROR_USER_REJECTED_CONNECTION:Ke.ERROR_WALLET_CONNECTION,ka=()=>{var B,N,G;let[e,t]=Rr(!1),[r,o]=Rr(void 0),{navigate:n,navigateBack:i}=w(),{getAuthFlow:a,walletConnectionStatus:s,closePrivyModal:l,loginWithWallet:d}=k(),{walletConnectors:f}=H(),[u,p]=Rr(0),{user:g}=H(),[b]=Rr((g==null?void 0:g.linkedAccounts.length)||0),c=a(),y=Jc&&(c==null?void 0:c.meta.walletType)==="wallet_connect",_=s==null?void 0:s.connected;Vo(()=>{!c||y||!_||A().catch(M=>console.warn("Auto-prompted signature failed",M))},[u,_]),Vo(()=>{if(g&&e){let M=setTimeout(l,ue);return()=>clearTimeout(M)}},[g,e]);let T=M=>{if((M==null?void 0:M.status)===401&&(M==null?void 0:M.message)==="User is not allowed to login to this app."){n("ALLOWLIST_REJECTION_SCREEN");return}o(Yc(M))};async function A(){try{await d(),t(!0)}catch(M){T(M)}}Vo(()=>{s!=null&&s.connectError&&T(s==null?void 0:s.connectError)},[s]);let W=(c==null?void 0:c.meta.walletType)||"metamask",I=((B=c==null?void 0:c.meta)==null?void 0:B.walletName)||Mr[W].name,ee=((N=c==null?void 0:c.meta)==null?void 0:N.walletIcon)||Mr[W].component,me=e?`Successfully connected with ${I}`:r?r.message:_?"Sign to verify":`Waiting for ${I}`,U="Don\u2019t see your wallet modal? Check your other browser windows.";if(e){let M=(g==null?void 0:g.linkedAccounts.length)||0;b===M?U="Wallet was already linked.":U="You\u2019re good to go!"}else u>=jo&&r?U="Unable to connect wallet":r?U=r.detail:_&&y?U="Sign the message in your wallet to verify it belongs to you.":W==="metamask"?U="For the best experience, connect only one wallet at a time.":W==="wallet_connect"?U="Open your mobile wallet app to continue":W==="coinbase_wallet"&&(_r()||(ko(g)?U="Continue with the Coinbase app. Not the right wallet? Reset your connection below.":U="Open the Coinbase app on your phone to continue."));let K=(G=f==null?void 0:f.walletConnectors)==null?void 0:G.find(M=>M.walletType==="coinbase_wallet"),he=W==="coinbase_wallet"&&(ko(g)||r===Ke.ERROR_USER_EXISTS);return Ir(Ta,{children:[le(S,{backFn:i}),Ir(Xc,{children:[le(zo,{walletLogo:ee,success:e,fail:!!r}),Ir(Qc,{children:[le("h3",{children:me}),le("p",{children:U})]}),he?le(ae,{onClick:()=>K&&(K==null?void 0:K.disconnect()),invisible:e,disabled:e,children:"Use a different wallet"}):r==Ke.ERROR_USER_EXISTS?le(ae,{onClick:i,children:"Use a different wallet"}):_&&!e&&y?le(ae,{onClick:A,children:"Sign with your wallet"}):le(ae,{onClick:()=>{p(u+1),o(void 0),s==null||s.connectRetry()},invisible:e||!(r!=null&&r.retryable)||u>=jo,disabled:!e&&(!(r!=null&&r.retryable)||u>=jo),children:"Retry"})]})]})},Xc=$o.div`
427
+ `;import{useEffect as Vo,useState as Rr}from"react";import{isMobile as Jc}from"react-device-detect";import $o from"styled-components";import{Fragment as Ta,jsx as le,jsxs as Ir}from"react/jsx-runtime";var jo=2,Mr={metamask:{name:"MetaMask",component:ye},coinbase_wallet:{name:"Coinbase Wallet",component:Ee},wallet_connect:{name:"WalletConnect",component:mt}},Yc=e=>(e==null?void 0:e.status)===422?Ke.ERROR_USER_EXISTS:e instanceof ut&&!e.details.default?e.details:e instanceof pt?Ke.ERROR_TIMED_OUT:e instanceof Ze?Ke.ERROR_USER_REJECTED_CONNECTION:Ke.ERROR_WALLET_CONNECTION,ka=()=>{var B,N,G;let[e,t]=Rr(!1),[r,o]=Rr(void 0),{navigate:n,navigateBack:i}=w(),{getAuthFlow:a,walletConnectionStatus:s,closePrivyModal:l,loginWithWallet:d}=k(),{walletConnectors:f}=H(),[u,p]=Rr(0),{user:g}=H(),[b]=Rr((g==null?void 0:g.linkedAccounts.length)||0),c=a(),y=Jc&&(c==null?void 0:c.meta.walletType)==="wallet_connect",_=s==null?void 0:s.connected;Vo(()=>{!c||y||!_||A().catch(M=>console.warn("Auto-prompted signature failed",M))},[u,_]),Vo(()=>{if(g&&e){let M=setTimeout(l,ue);return()=>clearTimeout(M)}},[g,e]);let T=M=>{if((M==null?void 0:M.status)===401&&(M==null?void 0:M.message)==="User is not allowed to login to this app."){n("ALLOWLIST_REJECTION_SCREEN");return}o(Yc(M))};async function A(){try{await d(),t(!0)}catch(M){T(M)}}Vo(()=>{s!=null&&s.connectError&&T(s==null?void 0:s.connectError)},[s]);let W=(c==null?void 0:c.meta.walletType)||"metamask",I=((B=c==null?void 0:c.meta)==null?void 0:B.walletName)||Mr[W].name,ee=((N=c==null?void 0:c.meta)==null?void 0:N.walletIcon)||Mr[W].component,me=e?`Successfully connected with ${I}`:r?r.message:_?"Sign to verify":`Waiting for ${I}`,U="Don\u2019t see your wallet modal? Check your other browser windows.";if(e){let M=(g==null?void 0:g.linkedAccounts.length)||0;b===M?U="Wallet was already linked.":U="You\u2019re good to go!"}else u>=jo&&r?U="Unable to connect wallet":r?U=r.detail:_&&y?U="Sign the message in your wallet to verify it belongs to you.":W==="metamask"?U="For the best experience, connect only one wallet at a time.":W==="wallet_connect"?U="Open your mobile wallet app to continue":W==="coinbase_wallet"&&(_r()||(To(g)?U="Continue with the Coinbase app. Not the right wallet? Reset your connection below.":U="Open the Coinbase app on your phone to continue."));let K=(G=f==null?void 0:f.walletConnectors)==null?void 0:G.find(M=>M.walletType==="coinbase_wallet"),he=W==="coinbase_wallet"&&(To(g)||r===Ke.ERROR_USER_EXISTS);return Ir(Ta,{children:[le(S,{backFn:i}),Ir(Xc,{children:[le(zo,{walletLogo:ee,success:e,fail:!!r}),Ir(Qc,{children:[le("h3",{children:me}),le("p",{children:U})]}),he?le(ae,{onClick:()=>K&&(K==null?void 0:K.disconnect()),invisible:e,disabled:e,children:"Use a different wallet"}):r==Ke.ERROR_USER_EXISTS?le(ae,{onClick:i,children:"Use a different wallet"}):_&&!e&&y?le(ae,{onClick:A,children:"Sign with your wallet"}):le(ae,{onClick:()=>{p(u+1),o(void 0),s==null||s.connectRetry()},invisible:e||!(r!=null&&r.retryable)||u>=jo,disabled:!e&&(!(r!=null&&r.retryable)||u>=jo),children:"Retry"})]})]})},Xc=$o.div`
428
428
  display: flex;
429
429
  flex-direction: column;
430
430
  align-items: center;
@@ -462,7 +462,7 @@ Resources:
462
462
  left: -19px;
463
463
  top: -19px;
464
464
  }
465
- `,zo=e=>{let t=e.walletLogo;return le(Ta,{children:le(ed,{children:Ir("div",{children:[le(Pr,{success:e.success,fail:e.fail}),typeof t=="string"?le("span",{style:{background:`url('${t}')`,height:"38px",width:"38px",borderRadius:"6px",margin:"auto",backgroundSize:"cover"}}):le(t,{style:{width:"38px",height:"38px"}})]})})})};import{useEffect as rd}from"react";import Zt from"styled-components";var Wa=["error","invalid_request_arguments","wallet_not_on_device"];var He=class extends Error{constructor(r,o){super(o);this.type=r}};function td(e){let t=e.type;return typeof t=="string"&&Wa.includes(t)}function Ra(e){return td(e)&&e.type==="wallet_not_on_device"}import{jsx as Ia}from"react/jsx-runtime";var Ma=()=>Ia("svg",{width:"160",height:"160",viewBox:"0 0 160 160",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ia("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M68.8526 62.1274C63.679 62.6445 59.875 67.0764 59.875 72.2759V74.6681V87.0465V87.612C59.875 92.8601 63.7484 97.3119 68.973 97.8078C72.5955 98.1516 76.6828 98.4483 80 98.4483C85.4448 98.4483 92.9638 97.649 97.0978 97.154C98.8348 96.946 100.125 95.4675 100.125 93.7182V74.6681C100.125 72.9187 98.8348 71.4402 97.0978 71.2323C93.4413 70.7945 87.1368 70.1186 81.9616 69.9682C81.2831 69.9481 80.6253 69.9371 79.9969 69.9371C79.2774 69.9371 78.5191 69.9515 77.7353 69.9776C74.6887 70.0771 71.2822 70.3508 68.2676 70.6465C67.4099 70.6528 66.6736 70.0035 66.5882 69.1332C66.4978 68.2114 67.1717 67.3908 68.0935 67.3003C71.898 66.9269 76.3758 66.583 79.9969 66.583C84.0311 66.583 89.1337 67.0101 93.1897 67.4305C94.512 67.5675 95.7295 67.7045 96.7708 67.8271V66.2445C96.7708 64.5114 95.5059 63.0417 93.7872 62.8189C89.9575 62.3224 83.2236 61.5518 78.3229 61.5518C75.4753 61.5518 72.0087 61.812 68.8526 62.1274ZM94.252 86.708C95.6413 86.708 96.7676 85.5817 96.7676 84.1924C96.7676 82.803 95.6413 81.6767 94.252 81.6767C92.8626 81.6767 91.7363 82.803 91.7363 84.1924C91.7363 85.5817 92.8626 86.708 94.252 86.708Z",fill:"var(--privy-color-accent)"})});import{Fragment as ld,jsx as rt,jsxs as qo}from"react/jsx-runtime";var Oa=()=>{let{authenticated:e,user:t,getAccessToken:r}=H(),{closePrivyModal:o,walletProxy:n}=k(),{navigate:i,data:a,setModalData:s}=w(),{onCompleteNavigateTo:l,onFailure:d}=a==null?void 0:a.connectWallet,f=u=>{o({shouldCallAuthOnSuccess:!1}),d(typeof u=="string"?new Error(u):u)};return rd(()=>{let u=te(t);if(!e||!u)return f("User must be authenticated and have a Privy wallet before it can be connected");if(!n)return;(async()=>{let g=await r();if(!g)return f("User must be authenticated and have a Privy wallet before it can be connected");try{await n.connect({accessToken:g,address:u.address}),i(l)}catch(b){Ra(b)?(s({...a,recoverWallet:{onCompleteNavigateTo:l,onFailure:d}}),i("EMBEDDED_WALLET_RECOVERY_SCREEN")):f(b)}})()},[e,t,n]),qo(ld,{children:[rt(S,{onClose:()=>f("User exited before wallet could be connected")}),qo(od,{children:[rt(Ge,{title:"Loading your account",description:"Please wait one moment while we load your account information"}),rt(nd,{children:qo(id,{children:[rt(Ma,{}),rt(ad,{}),rt(sd,{})]})})]}),rt(V,{protectedByPrivy:!0})]})},od=Zt.div`
465
+ `,zo=e=>{let t=e.walletLogo;return le(Ta,{children:le(ed,{children:Ir("div",{children:[le(Pr,{success:e.success,fail:e.fail}),typeof t=="string"?le("span",{style:{background:`url('${t}')`,height:"38px",width:"38px",borderRadius:"6px",margin:"auto",backgroundSize:"cover"}}):le(t,{style:{width:"38px",height:"38px"}})]})})})};import{useEffect as rd}from"react";import Zt from"styled-components";var Wa=["error","invalid_request_arguments","wallet_not_on_device"];var He=class extends Error{constructor(r,o){super(o);this.type=r}};function td(e){let t=e.type;return typeof t=="string"&&Wa.includes(t)}function Ra(e){return td(e)&&e.type==="wallet_not_on_device"}import{jsx as Ia}from"react/jsx-runtime";var Ma=()=>Ia("svg",{width:"160",height:"160",viewBox:"0 0 160 160",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Ia("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M68.8526 62.1274C63.679 62.6445 59.875 67.0764 59.875 72.2759V74.6681V87.0465V87.612C59.875 92.8601 63.7484 97.3119 68.973 97.8078C72.5955 98.1516 76.6828 98.4483 80 98.4483C85.4448 98.4483 92.9638 97.649 97.0978 97.154C98.8348 96.946 100.125 95.4675 100.125 93.7182V74.6681C100.125 72.9187 98.8348 71.4402 97.0978 71.2323C93.4413 70.7945 87.1368 70.1186 81.9616 69.9682C81.2831 69.9481 80.6253 69.9371 79.9969 69.9371C79.2774 69.9371 78.5191 69.9515 77.7353 69.9776C74.6887 70.0771 71.2822 70.3508 68.2676 70.6465C67.4099 70.6528 66.6736 70.0035 66.5882 69.1332C66.4978 68.2114 67.1717 67.3908 68.0935 67.3003C71.898 66.9269 76.3758 66.583 79.9969 66.583C84.0311 66.583 89.1337 67.0101 93.1897 67.4305C94.512 67.5675 95.7295 67.7045 96.7708 67.8271V66.2445C96.7708 64.5114 95.5059 63.0417 93.7872 62.8189C89.9575 62.3224 83.2236 61.5518 78.3229 61.5518C75.4753 61.5518 72.0087 61.812 68.8526 62.1274ZM94.252 86.708C95.6413 86.708 96.7676 85.5817 96.7676 84.1924C96.7676 82.803 95.6413 81.6767 94.252 81.6767C92.8626 81.6767 91.7363 82.803 91.7363 84.1924C91.7363 85.5817 92.8626 86.708 94.252 86.708Z",fill:"var(--privy-color-accent)"})});import{Fragment as ld,jsx as rt,jsxs as qo}from"react/jsx-runtime";var Oa=()=>{let{authenticated:e,user:t,getAccessToken:r}=H(),{closePrivyModal:o,walletProxy:n}=k(),{navigate:i,data:a,setModalData:s}=w(),{onCompleteNavigateTo:l,onFailure:d}=a==null?void 0:a.connectWallet,f=u=>{o({shouldCallAuthOnSuccess:!1}),d(typeof u=="string"?new Error(u):u)};return rd(()=>{let u=re(t);if(!e||!u)return f("User must be authenticated and have a Privy wallet before it can be connected");if(!n)return;(async()=>{let g=await r();if(!g)return f("User must be authenticated and have a Privy wallet before it can be connected");try{await n.connect({accessToken:g,address:u.address}),i(l)}catch(b){Ra(b)?(s({...a,recoverWallet:{onCompleteNavigateTo:l,onFailure:d}}),i("EMBEDDED_WALLET_RECOVERY_SCREEN")):f(b)}})()},[e,t,n]),qo(ld,{children:[rt(S,{onClose:()=>f("User exited before wallet could be connected")}),qo(od,{children:[rt(Ge,{title:"Loading your account",description:"Please wait one moment while we load your account information"}),rt(nd,{children:qo(id,{children:[rt(Ma,{}),rt(ad,{}),rt(sd,{})]})})]}),rt(V,{protectedByPrivy:!0})]})},od=Zt.div`
466
466
  display: flex;
467
467
  height: 100%;
468
468
  flex-direction: column;
@@ -570,7 +570,7 @@ Resources:
570
570
  background-position: 0% 50%;
571
571
  }
572
572
  }
573
- `;import{Fragment as Cd,jsx as Pe,jsxs as xt}from"react/jsx-runtime";var Ba=()=>{var u;let{user:e}=H(),{closePrivyModal:t}=k(),{data:r}=w(),o=te(e),{onSuccess:n,onFailure:i,callAuthOnSuccessOnClose:a}=r.createWallet,s=()=>{o?(n(o),t({shouldCallAuthOnSuccess:a})):i(new Error("Failed to create wallet"))},l="Your digital wallet",d="You\u2019re all set! This wallet is all yours and can only ever be accessed by you.",f=Ye(o.address);return xt(Cd,{children:[Pe(S,{onClose:s}),xt(hd,{children:[xt("div",{children:[Pe(J,{title:l,description:d}),xt(gd,{children:[Pe(Fa,{}),xt(bd,{children:[Pe("p",{children:((u=e==null?void 0:e.email)==null?void 0:u.address)||""}),xt(yd,{children:[Pe(vd,{children:f})," ",Pe(kr,{color:"var(--privy-color-foreground)"})]})]})]}),Pe(wd,{children:Pe(Or,{text:o.address,itemName:"Address"})})]}),Pe(oe,{onClick:s,children:"I\u2019m all set"})]}),Pe(V,{protectedByPrivy:!0})]})},hd=_t.div`
573
+ `;import{Fragment as Cd,jsx as Pe,jsxs as xt}from"react/jsx-runtime";var Ba=()=>{var u;let{user:e}=H(),{closePrivyModal:t}=k(),{data:r}=w(),o=re(e),{onSuccess:n,onFailure:i,callAuthOnSuccessOnClose:a}=r.createWallet,s=()=>{o?(n(o),t({shouldCallAuthOnSuccess:a})):i(new Error("Failed to create wallet"))},l="Your digital wallet",d="You\u2019re all set! This wallet is all yours and can only ever be accessed by you.",f=Ye(o.address);return xt(Cd,{children:[Pe(S,{onClose:s}),xt(hd,{children:[xt("div",{children:[Pe(J,{title:l,description:d}),xt(gd,{children:[Pe(Fa,{}),xt(bd,{children:[Pe("p",{children:((u=e==null?void 0:e.email)==null?void 0:u.address)||""}),xt(yd,{children:[Pe(vd,{children:f})," ",Pe(kr,{color:"var(--privy-color-foreground)"})]})]})]}),Pe(wd,{children:Pe(Or,{text:o.address,itemName:"Address"})})]}),Pe(oe,{onClick:s,children:"I\u2019m all set"})]}),Pe(V,{protectedByPrivy:!0})]})},hd=_t.div`
574
574
  display: flex;
575
575
  height: 100%;
576
576
  flex-direction: column;
@@ -722,7 +722,7 @@ Resources:
722
722
  width: 14px;
723
723
  height: 14px;
724
724
  }
725
- `;import{Fragment as Bd,jsx as ot,jsxs as Dr}from"react/jsx-runtime";var ja=()=>{let{authenticated:e,getAccessToken:t,user:r}=H(),{walletProxy:o,closePrivyModal:n}=k(),{navigate:i,data:a}=w(),[s,l]=Xo(null),[d,f]=Xo(""),[u,p]=Xo(!1),{onCompleteNavigateTo:g,onFailure:b}=a.recoverWallet,c=A=>{n({shouldCallAuthOnSuccess:!1}),b(typeof A=="string"?new Error(A):A)};Od(()=>{if(!e||!te(r))return c("User must be authenticated and have a Privy wallet before it can be recovered")},[e,r]);let y=A=>{l(A)},_=te(r);return Dr(Bd,{children:[ot(S,{onClose:()=>c("User exited before their wallet could be recovered")}),Dr(Dd,{children:[Dr("div",{children:[ot(J,{title:"Load your wallet",description:"We haven't seen this device yet. To continue, please enter your PIN."}),ot(Nr,{onChange:y,disabled:u,errorReasonOverride:d,disableGeneration:!0})]}),Dr(Ud,{children:[ot("h4",{children:"Why am I doing this?"}),ot("p",{children:"When you created your wallet, you entered a PIN\u2014this helps secure your wallet and ensure only you can access it."})]}),ot(Fd,{loading:u||!o,disabled:!s,onClick:async()=>{p(!0);let A=await t();if(A&&_&&s!==null)try{await(o==null?void 0:o.recover({address:_.address,accessToken:A,recoveryPin:s})),f(""),i(g)}catch(W){f("An error has occurred, please try again."),console.error(W)}finally{p(!1)}else return c("User must be authenticated and have a Privy wallet before it can be recovered")},warn:!1,hideAnimations:!_&&u,children:"Recover your wallet"})]}),ot(V,{protectedByPrivy:!0})]})},Dd=Qo.div`
725
+ `;import{Fragment as Bd,jsx as ot,jsxs as Dr}from"react/jsx-runtime";var ja=()=>{let{authenticated:e,getAccessToken:t,user:r}=H(),{walletProxy:o,closePrivyModal:n}=k(),{navigate:i,data:a}=w(),[s,l]=Xo(null),[d,f]=Xo(""),[u,p]=Xo(!1),{onCompleteNavigateTo:g,onFailure:b}=a.recoverWallet,c=A=>{n({shouldCallAuthOnSuccess:!1}),b(typeof A=="string"?new Error(A):A)};Od(()=>{if(!e||!re(r))return c("User must be authenticated and have a Privy wallet before it can be recovered")},[e,r]);let y=A=>{l(A)},_=re(r);return Dr(Bd,{children:[ot(S,{onClose:()=>c("User exited before their wallet could be recovered")}),Dr(Dd,{children:[Dr("div",{children:[ot(J,{title:"Load your wallet",description:"We haven't seen this device yet. To continue, please enter your PIN."}),ot(Nr,{onChange:y,disabled:u,errorReasonOverride:d,disableGeneration:!0})]}),Dr(Ud,{children:[ot("h4",{children:"Why am I doing this?"}),ot("p",{children:"When you created your wallet, you entered a PIN\u2014this helps secure your wallet and ensure only you can access it."})]}),ot(Fd,{loading:u||!o,disabled:!s,onClick:async()=>{p(!0);let A=await t();if(A&&_&&s!==null)try{await(o==null?void 0:o.recover({address:_.address,accessToken:A,recoveryPin:s})),f(""),i(g)}catch(W){f("An error has occurred, please try again."),console.error(W)}finally{p(!1)}else return c("User must be authenticated and have a Privy wallet before it can be recovered")},warn:!1,hideAnimations:!_&&u,children:"Recover your wallet"})]}),ot(V,{protectedByPrivy:!0})]})},Dd=Qo.div`
726
726
  display: flex;
727
727
  height: 100%;
728
728
  flex-direction: column;
@@ -760,7 +760,7 @@ Resources:
760
760
  transition: none;
761
761
  }
762
762
  `}
763
- `;import{useEffect as Gd,useState as en}from"react";import tn,{css as Hd}from"styled-components";import{Fragment as zd,jsx as Oe,jsxs as Ur}from"react/jsx-runtime";var $a=()=>{let{authenticated:e,getAccessToken:t,user:r}=H(),{walletProxy:o,refreshUser:n,closePrivyModal:i}=k(),{navigate:a,data:s}=w(),[l,d]=en(null),[f,u]=en(""),[p,g]=en(!1),{onFailure:b,callAuthOnSuccessOnClose:c}=s.createWallet;Gd(()=>{e||(a("LANDING"),b(new Error("User must be authenticated before creating a Privy wallet")))},[e]);let y=()=>{b(new Error("User exited before creating a wallet")),i({shouldCallAuthOnSuccess:c})},_=I=>{d(I)},T=te(r),A=T?()=>{g(!0),setTimeout(()=>{g(!1),a("EMBEDDED_WALLET_CREATED_SCREEN")},350)}:async()=>{g(!0);let I=await t();if(I&&l!==null)try{await(o==null?void 0:o.create({accessToken:I,recoveryPin:l})),u(""),await n()}catch(ee){u("An error has occurred, please try again."),console.error(ee)}finally{g(!1)}},W=!!T;return Ur(zd,{children:[Oe(S,{onClose:y}),Ur(Vd,{children:[Ur("div",{children:[Oe(J,{title:W?"Secure your PIN":"Set your PIN",description:W?"Don\u2019t lose this PIN. You\u2019ll need it to access your wallet across devices.":"To finish setting up your account, please set up a PIN."}),Oe(Nr,{onChange:_,disabled:p,readOnly:W,errorReasonOverride:f}),W?Oe(Or,{text:l||""}):null]}),Ur(jd,{children:[Oe("h4",{children:"Why am I doing this?"}),W?Oe("p",{children:"This PIN allows you to access your wallet across devices. If you lose it, there is no way to recover your wallet."}):Oe("p",{children:"A digital wallet is being created on this device for your account. This PIN allows you to access it across devices."})]}),Oe($d,{loading:p||!o,disabled:!l,onClick:A,warn:W,hideAnimations:!T&&p,children:W?"I have saved my PIN":"Create your wallet"})]}),Oe(V,{protectedByPrivy:!0})]})},Vd=tn.div`
763
+ `;import{useEffect as Gd,useState as en}from"react";import tn,{css as Hd}from"styled-components";import{Fragment as zd,jsx as Oe,jsxs as Ur}from"react/jsx-runtime";var $a=()=>{let{authenticated:e,getAccessToken:t,user:r}=H(),{walletProxy:o,refreshUser:n,closePrivyModal:i}=k(),{navigate:a,data:s}=w(),[l,d]=en(null),[f,u]=en(""),[p,g]=en(!1),{onFailure:b,callAuthOnSuccessOnClose:c}=s.createWallet;Gd(()=>{e||(a("LANDING"),b(new Error("User must be authenticated before creating a Privy wallet")))},[e]);let y=()=>{b(new Error("User exited before creating a wallet")),i({shouldCallAuthOnSuccess:c})},_=I=>{d(I)},T=re(r),A=T?()=>{g(!0),setTimeout(()=>{g(!1),a("EMBEDDED_WALLET_CREATED_SCREEN")},350)}:async()=>{g(!0);let I=await t();if(I&&l!==null)try{await(o==null?void 0:o.create({accessToken:I,recoveryPin:l})),u(""),await n()}catch(ee){u("An error has occurred, please try again."),console.error(ee)}finally{g(!1)}},W=!!T;return Ur(zd,{children:[Oe(S,{onClose:y}),Ur(Vd,{children:[Ur("div",{children:[Oe(J,{title:W?"Secure your PIN":"Set your PIN",description:W?"Don\u2019t lose this PIN. You\u2019ll need it to access your wallet across devices.":"To finish setting up your account, please set up a PIN."}),Oe(Nr,{onChange:_,disabled:p,readOnly:W,errorReasonOverride:f}),W?Oe(Or,{text:l||""}):null]}),Ur(jd,{children:[Oe("h4",{children:"Why am I doing this?"}),W?Oe("p",{children:"This PIN allows you to access your wallet across devices. If you lose it, there is no way to recover your wallet."}):Oe("p",{children:"A digital wallet is being created on this device for your account. This PIN allows you to access it across devices."})]}),Oe($d,{loading:p||!o,disabled:!l,onClick:A,warn:W,hideAnimations:!T&&p,children:W?"I have saved my PIN":"Create your wallet"})]}),Oe(V,{protectedByPrivy:!0})]})},Vd=tn.div`
764
764
  display: flex;
765
765
  height: 100%;
766
766
  flex-direction: column;
@@ -1181,7 +1181,7 @@ Resources:
1181
1181
  @media (max-width: 440px) {
1182
1182
  display: none;
1183
1183
  }
1184
- `;import{jsx as Ne,jsxs as Qt}from"react/jsx-runtime";var Qr=()=>{let{navigate:e}=w(),{initLoginWithWallet:t,closePrivyModal:r}=k();return Qt(D1,{children:[Qt(fn,{onClick:()=>{Ao()?(t("metamask"),e("AWAITING_CONNECTION")):bs?(t("wallet_connect",Cr),e("AWAITING_CONNECTION")):e("INSTALL_METAMASK_SCREEN")},children:[Ne(ye,{}),Ne("span",{children:"Metamask"}),Ne("span",{children:Ao()?"Connect":"Install"})]}),Qt(fn,{onClick:()=>{_r()?(t("coinbase_wallet"),e("AWAITING_CONNECTION")):bs?(hs(),r()):(t("coinbase_wallet"),e("AWAITING_CONNECTION"))},children:[Ne(Ee,{}),Qt("span",{children:["Coinbase",Ne(gs,{children:" Wallet"})]}),Ne("span",{children:"Connect"})]}),Qt(fn,{onClick:()=>{t("wallet_connect"),e("AWAITING_CONNECTION")},children:[Ne(mt,{}),Ne("span",{children:"WalletConnect"}),Ne("span",{children:"Connect"})]})]})},D1=ys.div`
1184
+ `;import{jsx as Ne,jsxs as Qt}from"react/jsx-runtime";var Qr=()=>{let{navigate:e}=w(),{initLoginWithWallet:t,closePrivyModal:r}=k();return Qt(D1,{children:[Qt(fn,{onClick:()=>{ko()?(t("metamask"),e("AWAITING_CONNECTION")):bs?(t("wallet_connect",Cr),e("AWAITING_CONNECTION")):e("INSTALL_METAMASK_SCREEN")},children:[Ne(ye,{}),Ne("span",{children:"Metamask"}),Ne("span",{children:ko()?"Connect":"Install"})]}),Qt(fn,{onClick:()=>{_r()?(t("coinbase_wallet"),e("AWAITING_CONNECTION")):bs?(hs(),r()):(t("coinbase_wallet"),e("AWAITING_CONNECTION"))},children:[Ne(Ee,{}),Qt("span",{children:["Coinbase",Ne(gs,{children:" Wallet"})]}),Ne("span",{children:"Connect"})]}),Qt(fn,{onClick:()=>{t("wallet_connect"),e("AWAITING_CONNECTION")},children:[Ne(mt,{}),Ne("span",{children:"WalletConnect"}),Ne("span",{children:"Connect"})]})]})},D1=ys.div`
1185
1185
  display: flex;
1186
1186
  flex-direction: column;
1187
1187
  align-items: flex-start;
@@ -1387,7 +1387,7 @@ Resources:
1387
1387
  display: flex;
1388
1388
  flex-direction: column;
1389
1389
  gap: 8px;
1390
- `;import{useEffect as sp,useState as Ds}from"react";import tr,{css as lp}from"styled-components";import{Fragment as mp,jsx as $e,jsxs as ro}from"react/jsx-runtime";var Us=()=>{let{authenticated:e,getAccessToken:t,user:r}=H(),{walletProxy:o,closePrivyModal:n}=k(),{navigate:i,data:a}=w(),[s,l]=Ds(!1),[d,f]=Ds("");sp(()=>{e||(i("LANDING"),g(new Error("User must be authenticated before signing with a Privy wallet")))},[e]);let{message:u,onSuccess:p,onFailure:g,uiOptions:b}=a.signMessage,c=te(r),y=!o,_={title:b.title||"Sign message",description:b.description||"Signing this message will not cost you any fees.",buttonText:b.buttonText||"Sign and continue"};return ro(mp,{children:[$e(S,{onClose:()=>n({shouldCallAuthOnSuccess:!1})}),ro(cp,{children:[ro("div",{children:[$e(J,{title:_.title,description:_.description}),$e(dp,{children:u}),$e(pp,{fail:!0,children:d})]}),$e(fp,{success:s,loading:y,disabled:s,onClick:async()=>{let T=await t();if(T&&!y&&c)try{let{signature:A}=await o.sign({accessToken:T,address:c==null?void 0:c.address,message:u});f(""),p(A),l(!0),setTimeout(()=>{n({shouldCallAuthOnSuccess:!1})},ue)}catch(A){f("An error has occurred, please try again."),g(A)}},children:s?ro(up,{children:[$e(Et,{style:{height:"0.9rem",width:"0.9rem"},strokeWidth:2})," ",$e("span",{children:"Success"})]}):_.buttonText})]}),$e(V,{protectedByPrivy:!0})]})},cp=tr.div`
1390
+ `;import{useEffect as sp,useState as Ds}from"react";import tr,{css as lp}from"styled-components";import{Fragment as mp,jsx as $e,jsxs as ro}from"react/jsx-runtime";var Us=()=>{let{authenticated:e,getAccessToken:t,user:r}=H(),{walletProxy:o,closePrivyModal:n}=k(),{navigate:i,data:a}=w(),[s,l]=Ds(!1),[d,f]=Ds("");sp(()=>{e||(i("LANDING"),g(new Error("User must be authenticated before signing with a Privy wallet")))},[e]);let{message:u,onSuccess:p,onFailure:g,uiOptions:b}=a.signMessage,c=re(r),y=!o,_={title:b.title||"Sign message",description:b.description||"Signing this message will not cost you any fees.",buttonText:b.buttonText||"Sign and continue"};return ro(mp,{children:[$e(S,{onClose:()=>n({shouldCallAuthOnSuccess:!1})}),ro(cp,{children:[ro("div",{children:[$e(J,{title:_.title,description:_.description}),$e(dp,{children:u}),$e(pp,{fail:!0,children:d})]}),$e(fp,{success:s,loading:y,disabled:s,onClick:async()=>{let T=await t();if(T&&!y&&c)try{let{signature:A}=await o.sign({accessToken:T,address:c==null?void 0:c.address,message:u});f(""),p(A),l(!0),setTimeout(()=>{n({shouldCallAuthOnSuccess:!1})},ue)}catch(A){f("An error has occurred, please try again."),g(A)}},children:s?ro(up,{children:[$e(Et,{style:{height:"0.9rem",width:"0.9rem"},strokeWidth:2})," ",$e("span",{children:"Success"})]}):_.buttonText})]}),$e(V,{protectedByPrivy:!0})]})},cp=tr.div`
1391
1391
  display: flex;
1392
1392
  height: 100%;
1393
1393
  flex-direction: column;
@@ -1801,4 +1801,4 @@ Resources:
1801
1801
  align-items: center;
1802
1802
  justify-content: center;
1803
1803
  height: 100%;
1804
- `;import Mt from"tinycolor2";var js="#FFFFFF",Pp="#000000",Ap=js,kp="#1E1E1D";function Tp(e){return e<.8&&e>.2&&console.warn("Background color is not light or dark enough, which could lead to accessibility issues."),e>.5?"light":"dark"}function st(e,t){let r=Math.max(0,Math.min(1,e.toHsl().l+t));return Mt({...e.toHsl(),l:r})}function $s({backgroundTheme:e,accentHex:t,successHex:r="#51BA81",errorHex:o="#EC6351",whiteHex:n=js,blackHex:i=Pp}){let a;switch(e){case"light":a=Ap;break;case"dark":a=kp;break;default:a=e;break}let s=Mt(a),l=Mt(t),d=Mt(r),f=Mt(o),u=Tp(s.getLuminance()),p=st(s,u==="light"?-.04:.11),g=st(s,u==="light"?-.88:.87),b=st(s,u==="light"?-.77:.75),c=st(s,u==="light"?-.43:.45).desaturate(u==="light"?60:20),y=st(s,u==="light"?-.13:.25).desaturate(u==="light"?60:20),_=st(l,.15),T=st(l,-.06),A=Mt(l.getLuminance()>.5?i:n);return{colorScheme:u,background:s.toHslString(),background2:p.toHslString(),foreground:g.toHslString(),foreground2:b.toHslString(),foreground3:c.toHslString(),foreground4:y.toHslString(),accent:l.toHslString(),accentLight:_.toHslString(),accentDark:T.toHslString(),foregroundAccent:A.toHslString(),success:d.toHslString(),error:f.toHslString()}}var zs={appearance:{theme:"light",accentColor:"#676FFF"}};function vn(e,t){var o,n,i;return{id:e.id,name:e.name,showWalletLoginFirst:e.showWalletLoginFirst,allowlistConfig:e.allowlistConfig,walletAuth:e.walletAuth,emailAuth:e.emailAuth,smsAuth:e.smsAuth,googleOAuth:e.googleOAuth,twitterOAuth:e.twitterOAuth,discordOAuth:e.discordOAuth,githubOAuth:e.githubOAuth,termsAndConditionsUrl:e.termsAndConditionsUrl,privacyPolicyUrl:e.privacyPolicyUrl,appearance:{logo:((o=t==null?void 0:t.appearance)==null?void 0:o.logo)||e.logoUrl,palette:$s({backgroundTheme:((n=t==null?void 0:t.appearance)==null?void 0:n.theme)||zs.appearance.theme,accentHex:((i=t==null?void 0:t.appearance)==null?void 0:i.accentColor)||e.accentColor||zs.appearance.accentColor})}}}import{useRef as Wp,useEffect as Rp}from"react";var oo=class{constructor(){this.callbacks={}}enqueue(t,r){this.callbacks[t]=r}dequeue(t,r){let o=this.callbacks[r];if(!o)throw new Error(`cannot dequeue ${t} event: no event found for id ${r}`);switch(delete this.callbacks[r],t){case"privy:iframe:ready":return o;case"privy:wallet:create":return o;case"privy:wallet:connect":return o;case"privy:wallet:sign":return o;case"privy:wallet:recover":return o;default:throw new Error(`invalid wallet event type ${t}`)}}};import{jsx as Np}from"react/jsx-runtime";var Ip=function(e){return()=>`id-${e++}`}(0);function Mp(e){return typeof e.event=="string"&&/^privy:.+/.test(e.event)}function rr(e){return e.error!==void 0}var Ot=new oo;function or(e,t,r){let o=r.contentWindow;if(!o)throw new Error("iframe not initialized");return new Promise((n,i)=>{let a=Ip();Ot.enqueue(a,{resolve:n,reject:i}),o.postMessage({id:a,event:e,data:t},"*")})}function Op(e){switch(e.event){case"privy:iframe:ready":let t=Ot.dequeue(e.event,e.id);return rr(e)?t.reject(new He(e.error.type,e.error.message)):t.resolve(e.data);case"privy:wallet:create":let r=Ot.dequeue(e.event,e.id);return rr(e)?r.reject(new He(e.error.type,e.error.message)):r.resolve(e.data);case"privy:wallet:connect":let o=Ot.dequeue(e.event,e.id);return rr(e)?o.reject(new He(e.error.type,e.error.message)):o.resolve(e.data);case"privy:wallet:sign":let n=Ot.dequeue(e.event,e.id);return rr(e)?n.reject(new He(e.error.type,e.error.message)):n.resolve(e.data);case"privy:wallet:recover":let i=Ot.dequeue(e.event,e.id);return rr(e)?i.reject(new He(e.error.type,e.error.message)):i.resolve(e.data)}}function qs(e){let t=Wp(null);return Rp(()=>{let r=t.current;if(!r)return;function o(s){s&&s.origin===e.origin&&Mp(s.data)&&Op(s.data)}let n={create(s){return or("privy:wallet:create",s,r)},connect(s){return or("privy:wallet:connect",s,r)},sign(s){return or("privy:wallet:sign",s,r)},recover(s){return or("privy:wallet:recover",s,r)}};window.addEventListener("message",o);let i=()=>e.onLoad(n),a=(...s)=>{console.error("privy iframe failed to load: ",...s),e.onLoadFailed()};return Qn(()=>or("privy:iframe:ready",{},r)).then(i,a),()=>window.removeEventListener("message",o)},[t.current]),Np("iframe",{ref:t,width:"0",height:"0",style:{visibility:"hidden"},src:ei(e.origin,`/apps/${e.appId}/embedded-wallets`)})}import{jsx as nr,jsxs as Zs}from"react/jsx-runtime";function Up(e){return typeof e=="string"&&e.length===25}var ir;function Fp(){if(!ir){let e=q.get(dt);return Promise.resolve(e||null)}return ir.getAccessToken()}var Bp=e=>{if(!Up(e.appId))throw new v("Cannot initialize the Privy provider with an invalid Privy app ID");return ir||(ir=new $t({appId:e.appId,apiURL:ao})),nr(Hp,{...e,client:ir})},Gp=e=>{let t=!!(e!=null&&e.emailAuth),r=!!(e!=null&&e.smsAuth);return t&&r&&(console.warn("Enabling both email and SMS passwordless is not currently supported. Disabling SMS."),r=!1),{email:t,sms:r,wallet:!!(e!=null&&e.walletAuth),google:!!(e!=null&&e.googleOAuth),twitter:!!(e!=null&&e.twitterOAuth),discord:!!(e!=null&&e.discordOAuth),github:!!(e!=null&&e.githubOAuth)}},Hp=e=>{let t=e.client,[r,o]=Q(!1),[n,i]=Q(!1),[a,s]=Q(!1),[l,d]=Q(null),[f,u]=Q(!1),[p,g]=Q(null),[b,c]=Q(!1),[y,_]=Q(null),[T,A]=Q({connecting:!1,connected:!1,connectError:null,connectRetry:C}),[W,I]=Q(null),[ee,me]=Q(null),[U,K]=Q({showWalletLoginFirst:!0,allowlistConfig:{errorTitle:null,errorDetail:null,errorCtaText:null,errorCtaLink:null},walletAuth:!0,emailAuth:!0,smsAuth:!1,googleOAuth:!1,twitterOAuth:!1,discordOAuth:!1,githubOAuth:!1,termsAndConditionsUrl:null,privacyPolicyUrl:null}),[he,B]=Q(vn(U,e.config)),[N,G]=Q(!1),[M,we]=Q({}),no=Gp(he),Ce=m=>{m&&g(m),o(!0)},Nt=m=>{let h=e.createPrivyWalletOnLogin===!0;we({login:{promptCreatePrivyWalletFlow:h}}),h&&G(!0),Ce(m)};wn(()=>{async function m(){let h=await t.getServerConfig();K(h),t.connectors.initialize(),de();let R=await t.getAuthenticatedUser();s(!!R),d(R),i(!0)}m()},[t]),wn(()=>{let m=vn(U,e.config);B(m)},[e.config,U]);let de=()=>{let m=new URLSearchParams(window.location.search),h=m.get("privy_oauth_code"),R=m.get("privy_oauth_state"),F=m.get("privy_oauth_provider");h&&R&&F&&(t.startAuthFlow(new ct(F,h,R)),Nt("AWAITING_OAUTH_SCREEN"))};wn(()=>{n&&a&&l===null&&t.getAuthenticatedUser().then(d)},[n,a,l,t]);let ze=()=>{c(!0),Ce("LINK_WALLET_SCREEN")},Cn=async(m,h)=>{let R=t.connectors.getConnectorByAddress(h);if(!R)return I(h),ze(),m;_({address:h,walletType:R.walletType,walletBranding:R.walletBranding,success:!1}),Ce("SETTING_ACTIVE_WALLET");try{let F=await t.setActiveWallet(h,m);return _({address:h,walletType:R.walletType,walletBranding:R.walletBranding,success:!0}),F}catch(F){F instanceof v&&F.message==="Error setting the active wallet."&&(I(h),ze()),_({address:h,walletType:R.walletType,walletBranding:R.walletBranding,success:!1,error:F.message})}return m},Ks={ready:n,authenticated:a,user:l,walletConnectors:t.connectors,linkWallet:ze,linkEmail:()=>{c(!0),Ce("LINK_EMAIL_SCREEN")},linkPhone:()=>{c(!0),Ce("LINK_PHONE_SCREEN")},linkGoogle:async()=>{await Dt.initLoginWithOAuth("google")},linkTwitter:async()=>{await Dt.initLoginWithOAuth("twitter")},linkDiscord:async()=>{await Dt.initLoginWithOAuth("discord")},linkGithub:async()=>{await Dt.initLoginWithOAuth("github")},login:()=>{if(n&&a){console.warn("Attempted to log in, but user is already logged in. Use a `link` helper instead.");return}Nt()},logout:async()=>{await t.logout(),d(null),s(!1),g(null),c(!1),o(!1)},getAccessToken:()=>t.getAccessToken(),getEthereumProvider:()=>t.connectors.getEthereumProvider(),getEthersProvider:()=>new Dp(new Je(t.connectors.getEthereumProvider())),getWeb3jsProvider:()=>new dr(t.connectors.getEthereumProvider()),unlinkWallet:async m=>{let h=await t.unlinkWallet(m);d(h);let R=h.linkedAccounts.filter(F=>F.type==="wallet");if(h&&R&&R.length>0){let F=R[0];h=await Cn(h,F.address)}return d(h),h},unlinkEmail:async m=>{let h=await t.unlinkEmail(m);return d(h),h},unlinkPhone:async m=>{let h=await t.unlinkPhone(m);return d(h),h},unlinkGoogle:async m=>{let h=await t.unlinkOAuth("google",m);return d(h),h},unlinkTwitter:async m=>{let h=await t.unlinkOAuth("twitter",m);return d(h),h},unlinkDiscord:async m=>{let h=await t.unlinkOAuth("discord",m);return d(h),h},unlinkGithub:async m=>{let h=await t.unlinkOAuth("github",m);return d(h),h},setActiveWallet:async m=>{if(!l)return;let h=await Cn(l,m);h&&d(h)},forkSession:()=>t.forkSession(),createWallet:()=>new Promise((m,h)=>{if(!a||!l){h(new Error("User must be authenticated before creating a Privy wallet"));return}if(te(l)){h(new Error("Only one Privy wallet per user is currently allowed"));return}G(!0),we({createWallet:{onSuccess:m,onFailure:h,callAuthOnSuccessOnClose:!1}}),Ce("EMBEDDED_WALLET_SCREEN")}),signMessage:(m,h)=>new Promise((R,F)=>{if(!a||!l){F(new Error("User must be authenticated before signing with a Privy wallet"));return}if(!te(l)){F(new Error("Must have a Privy wallet before signing"));return}if(typeof m!="string"||m.length<1){F(new Error("Message must be a non-empty string"));return}G(!0);let io={message:m,onSuccess:R,onFailure:F,uiOptions:h||{}},Js={onCompleteNavigateTo:"SIGN_REQUEST_SCREEN",onFailure:F};we({signMessage:io,connectWallet:Js}),Ce("EMBEDDED_WALLET_CONNECTING_SCREEN")})},Dt=(()=>({isLinking:b,linkingHint:W,activeStatus:y,walletConnectionStatus:T,getAuthFlow:()=>t.authFlow,getAuthMeta:()=>{var m;return(m=t.authFlow)==null?void 0:m.meta},closePrivyModal:(m={shouldCallAuthOnSuccess:!0})=>{var R;let h=n&&a&&l;m.shouldCallAuthOnSuccess&&h&&((R=e.onSuccess)==null||R.call(e,l,f)),t.authFlow=void 0,I(null),g(null),c(!1),_(null),u(!1),o(!1)},initLoginWithWallet:(m,h)=>{if(!t.connectors)throw new v("Connector not initialized");m||(m="metamask");let R=new Ft(t.connectors,m,h);t.startAuthFlow(R);let F=()=>{R.promptConnect().then(()=>{A(ge=>({...ge,connected:!0,connectError:null}))}).catch(ge=>{ge instanceof be?console.error(ge.cause?ge.cause:ge.message):console.error(ge),A(io=>({...io,connectError:ge}))}).finally(()=>{A(ge=>({...ge,connecting:!1}))})};A({connecting:!0,connected:!1,connectError:null,connectRetry:F}),F()},loginWithWallet:async()=>{if(!(t.authFlow instanceof Ft))throw new v("Must initialize SIWE flow first.");let m,h;b?(m=await t.link(),m&&(m=jt(m))):{user:m,isNewUser:h}=await t.authenticate(),d(m||l||null),u(h||!1),s(!0)},initLoginWithOAuth:async m=>{t.startAuthFlow(new ct(m));let h=await t.authFlow.getAuthorizationUrl();h&&h.url&&window.location.assign(h.url)},loginWithOAuth:async()=>{if(!(t.authFlow instanceof ct))throw new v("Must initialize OAuth flow before calling loginWithOAuth");let m,h;n&&a?m=await t.link():{user:m,isNewUser:h}=await t.authenticate(),d(m),u(h||!1),s(!0)},initLoginWithEmail:async m=>{let h=new Ut(m);t.startAuthFlow(h),await h.sendCodeEmail()},initLoginWithSms:async m=>{let h=new Bt(m);t.startAuthFlow(h),await h.sendSmsCode()},resendEmailCode:async()=>{var m;await((m=t.authFlow)==null?void 0:m.sendCodeEmail())},resendSmsCode:async()=>{var m;await((m=t.authFlow)==null?void 0:m.sendSmsCode())},loginWithCode:async m=>{if(t.authFlow instanceof Ut)t.authFlow.meta.emailCode=m.trim();else if(t.authFlow instanceof Bt)t.authFlow.meta.smsCode=m.trim();else throw new v("Must initialize a passwordless code flow first");let h,R;b?h=await t.link():{user:h,isNewUser:R}=await t.authenticate(),d(h||l||null),u(R||!1),s(!0)},refreshUser:async()=>{let m=await t.getAuthenticatedUser();return d(m),m},walletProxy:ee}))();return Zs(Mo.Provider,{value:Ks,children:[e.children,Zs(Ro.Provider,{value:Dt,children:[nr(Bs,{theme:{...he.appearance.palette||{}}}),nr(la,{appConfig:he,options:no,data:M,setModalData:we,initialScreen:p,visible:r,authenticated:a,children:r&&nr(Vs,{})}),N&&nr(qs,{appId:e.appId,origin:ao,onLoad:me,onLoadFailed:()=>null})]})]})};export{Je as AsExternalProvider,Vt as ConnectorManager,$t as PrivyClient,Bp as PrivyProvider,_e as PrivyProxyProvider,so as VERSION,Te as WalletConnector,Fp as getAccessToken,H as usePrivy};
1804
+ `;import Mt from"tinycolor2";var js="#FFFFFF",Pp="#000000",Ap=js,kp="#1E1E1D";function Tp(e){return e<.8&&e>.2&&console.warn("Background color is not light or dark enough, which could lead to accessibility issues."),e>.5?"light":"dark"}function st(e,t){let r=Math.max(0,Math.min(1,e.toHsl().l+t));return Mt({...e.toHsl(),l:r})}function $s({backgroundTheme:e,accentHex:t,successHex:r="#51BA81",errorHex:o="#EC6351",whiteHex:n=js,blackHex:i=Pp}){let a;switch(e){case"light":a=Ap;break;case"dark":a=kp;break;default:a=e;break}let s=Mt(a),l=Mt(t),d=Mt(r),f=Mt(o),u=Tp(s.getLuminance()),p=st(s,u==="light"?-.04:.11),g=st(s,u==="light"?-.88:.87),b=st(s,u==="light"?-.77:.75),c=st(s,u==="light"?-.43:.45).desaturate(u==="light"?60:20),y=st(s,u==="light"?-.13:.25).desaturate(u==="light"?60:20),_=st(l,.15),T=st(l,-.06),A=Mt(l.getLuminance()>.5?i:n);return{colorScheme:u,background:s.toHslString(),background2:p.toHslString(),foreground:g.toHslString(),foreground2:b.toHslString(),foreground3:c.toHslString(),foreground4:y.toHslString(),accent:l.toHslString(),accentLight:_.toHslString(),accentDark:T.toHslString(),foregroundAccent:A.toHslString(),success:d.toHslString(),error:f.toHslString()}}var zs={appearance:{theme:"light",accentColor:"#676FFF"}};function vn(e,t){var o,n,i;return{id:e.id,name:e.name,showWalletLoginFirst:e.showWalletLoginFirst,allowlistConfig:e.allowlistConfig,walletAuth:e.walletAuth,emailAuth:e.emailAuth,smsAuth:e.smsAuth,googleOAuth:e.googleOAuth,twitterOAuth:e.twitterOAuth,discordOAuth:e.discordOAuth,githubOAuth:e.githubOAuth,termsAndConditionsUrl:e.termsAndConditionsUrl,privacyPolicyUrl:e.privacyPolicyUrl,appearance:{logo:((o=t==null?void 0:t.appearance)==null?void 0:o.logo)||e.logoUrl,palette:$s({backgroundTheme:((n=t==null?void 0:t.appearance)==null?void 0:n.theme)||zs.appearance.theme,accentHex:((i=t==null?void 0:t.appearance)==null?void 0:i.accentColor)||e.accentColor||zs.appearance.accentColor})}}}import{useRef as Wp,useEffect as Rp}from"react";var oo=class{constructor(){this.callbacks={}}enqueue(t,r){this.callbacks[t]=r}dequeue(t,r){let o=this.callbacks[r];if(!o)throw new Error(`cannot dequeue ${t} event: no event found for id ${r}`);switch(delete this.callbacks[r],t){case"privy:iframe:ready":return o;case"privy:wallet:create":return o;case"privy:wallet:connect":return o;case"privy:wallet:sign":return o;case"privy:wallet:recover":return o;default:throw new Error(`invalid wallet event type ${t}`)}}};import{jsx as Np}from"react/jsx-runtime";var Ip=function(e){return()=>`id-${e++}`}(0);function Mp(e){return typeof e.event=="string"&&/^privy:.+/.test(e.event)}function rr(e){return e.error!==void 0}var Ot=new oo;function or(e,t,r){let o=r.contentWindow;if(!o)throw new Error("iframe not initialized");return new Promise((n,i)=>{let a=Ip();Ot.enqueue(a,{resolve:n,reject:i}),o.postMessage({id:a,event:e,data:t},"*")})}function Op(e){switch(e.event){case"privy:iframe:ready":let t=Ot.dequeue(e.event,e.id);return rr(e)?t.reject(new He(e.error.type,e.error.message)):t.resolve(e.data);case"privy:wallet:create":let r=Ot.dequeue(e.event,e.id);return rr(e)?r.reject(new He(e.error.type,e.error.message)):r.resolve(e.data);case"privy:wallet:connect":let o=Ot.dequeue(e.event,e.id);return rr(e)?o.reject(new He(e.error.type,e.error.message)):o.resolve(e.data);case"privy:wallet:sign":let n=Ot.dequeue(e.event,e.id);return rr(e)?n.reject(new He(e.error.type,e.error.message)):n.resolve(e.data);case"privy:wallet:recover":let i=Ot.dequeue(e.event,e.id);return rr(e)?i.reject(new He(e.error.type,e.error.message)):i.resolve(e.data)}}function qs(e){let t=Wp(null);return Rp(()=>{let r=t.current;if(!r)return;function o(s){s&&s.origin===e.origin&&Mp(s.data)&&Op(s.data)}let n={create(s){return or("privy:wallet:create",s,r)},connect(s){return or("privy:wallet:connect",s,r)},sign(s){return or("privy:wallet:sign",s,r)},recover(s){return or("privy:wallet:recover",s,r)}};window.addEventListener("message",o);let i=()=>e.onLoad(n),a=(...s)=>{console.error("privy iframe failed to load: ",...s),e.onLoadFailed()};return Qn(()=>or("privy:iframe:ready",{},r)).then(i,a),()=>window.removeEventListener("message",o)},[t.current]),Np("iframe",{ref:t,width:"0",height:"0",style:{visibility:"hidden"},src:ei(e.origin,`/apps/${e.appId}/embedded-wallets`)})}import{jsx as nr,jsxs as Zs}from"react/jsx-runtime";function Up(e){return typeof e=="string"&&e.length===25}var ir;function Fp(){if(!ir){let e=q.get(dt);return Promise.resolve(e||null)}return ir.getAccessToken()}var Bp=e=>{if(!Up(e.appId))throw new v("Cannot initialize the Privy provider with an invalid Privy app ID");return ir||(ir=new $t({appId:e.appId,apiURL:ao})),nr(Hp,{...e,client:ir})},Gp=e=>{let t=!!(e!=null&&e.emailAuth),r=!!(e!=null&&e.smsAuth);return t&&r&&(console.warn("Enabling both email and SMS passwordless is not currently supported. Disabling SMS."),r=!1),{email:t,sms:r,wallet:!!(e!=null&&e.walletAuth),google:!!(e!=null&&e.googleOAuth),twitter:!!(e!=null&&e.twitterOAuth),discord:!!(e!=null&&e.discordOAuth),github:!!(e!=null&&e.githubOAuth)}},Hp=e=>{let t=e.client,[r,o]=Q(!1),[n,i]=Q(!1),[a,s]=Q(!1),[l,d]=Q(null),[f,u]=Q(!1),[p,g]=Q(null),[b,c]=Q(!1),[y,_]=Q(null),[T,A]=Q({connecting:!1,connected:!1,connectError:null,connectRetry:C}),[W,I]=Q(null),[ee,me]=Q(null),[U,K]=Q({showWalletLoginFirst:!0,allowlistConfig:{errorTitle:null,errorDetail:null,errorCtaText:null,errorCtaLink:null},walletAuth:!0,emailAuth:!0,smsAuth:!1,googleOAuth:!1,twitterOAuth:!1,discordOAuth:!1,githubOAuth:!1,termsAndConditionsUrl:null,privacyPolicyUrl:null}),[he,B]=Q(vn(U,e.config)),[N,G]=Q(!1),[M,we]=Q({}),no=Gp(he),Ce=m=>{m&&g(m),o(!0)},Nt=m=>{let h=e.createPrivyWalletOnLogin===!0;we({login:{promptCreatePrivyWalletFlow:h}}),h&&G(!0),Ce(m)};wn(()=>{async function m(){let h=await t.getServerConfig();K(h),t.connectors.initialize(),de();let R=await t.getAuthenticatedUser();s(!!R),d(R),i(!0)}m()},[t]),wn(()=>{let m=vn(U,e.config);B(m)},[e.config,U]);let de=()=>{let m=new URLSearchParams(window.location.search),h=m.get("privy_oauth_code"),R=m.get("privy_oauth_state"),F=m.get("privy_oauth_provider");h&&R&&F&&(t.startAuthFlow(new ct(F,h,R)),Nt("AWAITING_OAUTH_SCREEN"))};wn(()=>{n&&a&&l===null&&t.getAuthenticatedUser().then(d)},[n,a,l,t]);let ze=()=>{c(!0),Ce("LINK_WALLET_SCREEN")},Cn=async(m,h)=>{let R=t.connectors.getConnectorByAddress(h);if(!R)return I(h),ze(),m;_({address:h,walletType:R.walletType,walletBranding:R.walletBranding,success:!1}),Ce("SETTING_ACTIVE_WALLET");try{let F=await t.setActiveWallet(h,m);return _({address:h,walletType:R.walletType,walletBranding:R.walletBranding,success:!0}),F}catch(F){F instanceof v&&F.message==="Error setting the active wallet."&&(I(h),ze()),_({address:h,walletType:R.walletType,walletBranding:R.walletBranding,success:!1,error:F.message})}return m},Ks={ready:n,authenticated:a,user:l,walletConnectors:t.connectors,linkWallet:ze,linkEmail:()=>{c(!0),Ce("LINK_EMAIL_SCREEN")},linkPhone:()=>{c(!0),Ce("LINK_PHONE_SCREEN")},linkGoogle:async()=>{await Dt.initLoginWithOAuth("google")},linkTwitter:async()=>{await Dt.initLoginWithOAuth("twitter")},linkDiscord:async()=>{await Dt.initLoginWithOAuth("discord")},linkGithub:async()=>{await Dt.initLoginWithOAuth("github")},login:()=>{if(n&&a){console.warn("Attempted to log in, but user is already logged in. Use a `link` helper instead.");return}Nt()},logout:async()=>{await t.logout(),d(null),s(!1),g(null),c(!1),o(!1)},getAccessToken:()=>t.getAccessToken(),getEthereumProvider:()=>t.connectors.getEthereumProvider(),getEthersProvider:()=>new Dp(new Je(t.connectors.getEthereumProvider())),getWeb3jsProvider:()=>new dr(t.connectors.getEthereumProvider()),unlinkWallet:async m=>{let h=await t.unlinkWallet(m);d(h);let R=h.linkedAccounts.filter(F=>F.type==="wallet");if(h&&R&&R.length>0){let F=R[0];h=await Cn(h,F.address)}return d(h),h},unlinkEmail:async m=>{let h=await t.unlinkEmail(m);return d(h),h},unlinkPhone:async m=>{let h=await t.unlinkPhone(m);return d(h),h},unlinkGoogle:async m=>{let h=await t.unlinkOAuth("google",m);return d(h),h},unlinkTwitter:async m=>{let h=await t.unlinkOAuth("twitter",m);return d(h),h},unlinkDiscord:async m=>{let h=await t.unlinkOAuth("discord",m);return d(h),h},unlinkGithub:async m=>{let h=await t.unlinkOAuth("github",m);return d(h),h},setActiveWallet:async m=>{if(!l)return;let h=await Cn(l,m);h&&d(h)},forkSession:()=>t.forkSession(),createWallet:()=>new Promise((m,h)=>{if(!a||!l){h(new Error("User must be authenticated before creating a Privy wallet"));return}if(re(l)){h(new Error("Only one Privy wallet per user is currently allowed"));return}G(!0),we({createWallet:{onSuccess:m,onFailure:h,callAuthOnSuccessOnClose:!1}}),Ce("EMBEDDED_WALLET_SCREEN")}),signMessage:(m,h)=>new Promise((R,F)=>{if(!a||!l){F(new Error("User must be authenticated before signing with a Privy wallet"));return}if(!re(l)){F(new Error("Must have a Privy wallet before signing"));return}if(typeof m!="string"||m.length<1){F(new Error("Message must be a non-empty string"));return}G(!0);let io={message:m,onSuccess:R,onFailure:F,uiOptions:h||{}},Js={onCompleteNavigateTo:"SIGN_REQUEST_SCREEN",onFailure:F};we({signMessage:io,connectWallet:Js}),Ce("EMBEDDED_WALLET_CONNECTING_SCREEN")})},Dt=(()=>({isLinking:b,linkingHint:W,activeStatus:y,walletConnectionStatus:T,getAuthFlow:()=>t.authFlow,getAuthMeta:()=>{var m;return(m=t.authFlow)==null?void 0:m.meta},closePrivyModal:(m={shouldCallAuthOnSuccess:!0})=>{var R;let h=n&&a&&l;m.shouldCallAuthOnSuccess&&h&&((R=e.onSuccess)==null||R.call(e,l,f)),t.authFlow=void 0,I(null),g(null),c(!1),_(null),u(!1),o(!1)},initLoginWithWallet:(m,h)=>{if(!t.connectors)throw new v("Connector not initialized");m||(m="metamask");let R=new Ft(t.connectors,m,h);t.startAuthFlow(R);let F=()=>{R.promptConnect().then(()=>{A(ge=>({...ge,connected:!0,connectError:null}))}).catch(ge=>{ge instanceof be?console.error(ge.cause?ge.cause:ge.message):console.error(ge),A(io=>({...io,connectError:ge}))}).finally(()=>{A(ge=>({...ge,connecting:!1}))})};A({connecting:!0,connected:!1,connectError:null,connectRetry:F}),F()},loginWithWallet:async()=>{if(!(t.authFlow instanceof Ft))throw new v("Must initialize SIWE flow first.");let m,h;b?(m=await t.link(),m&&(m=jt(m))):{user:m,isNewUser:h}=await t.authenticate(),d(m||l||null),u(h||!1),s(!0)},initLoginWithOAuth:async m=>{t.startAuthFlow(new ct(m));let h=await t.authFlow.getAuthorizationUrl();h&&h.url&&window.location.assign(h.url)},loginWithOAuth:async()=>{if(!(t.authFlow instanceof ct))throw new v("Must initialize OAuth flow before calling loginWithOAuth");let m,h;n&&a?m=await t.link():{user:m,isNewUser:h}=await t.authenticate(),d(m),u(h||!1),s(!0)},initLoginWithEmail:async m=>{let h=new Ut(m);t.startAuthFlow(h),await h.sendCodeEmail()},initLoginWithSms:async m=>{let h=new Bt(m);t.startAuthFlow(h),await h.sendSmsCode()},resendEmailCode:async()=>{var m;await((m=t.authFlow)==null?void 0:m.sendCodeEmail())},resendSmsCode:async()=>{var m;await((m=t.authFlow)==null?void 0:m.sendSmsCode())},loginWithCode:async m=>{if(t.authFlow instanceof Ut)t.authFlow.meta.emailCode=m.trim();else if(t.authFlow instanceof Bt)t.authFlow.meta.smsCode=m.trim();else throw new v("Must initialize a passwordless code flow first");let h,R;b?h=await t.link():{user:h,isNewUser:R}=await t.authenticate(),d(h||l||null),u(R||!1),s(!0)},refreshUser:async()=>{let m=await t.getAuthenticatedUser();return d(m),m},walletProxy:ee}))();return Zs(Mo.Provider,{value:Ks,children:[e.children,Zs(Io.Provider,{value:Dt,children:[nr(Bs,{theme:{...he.appearance.palette||{}}}),nr(ii,{appConfig:he,options:no,data:M,setModalData:we,initialScreen:p,visible:r,authenticated:a,children:r&&nr(Vs,{})}),N&&nr(qs,{appId:e.appId,origin:ao,onLoad:me,onLoadFailed:()=>null})]})]})};export{Je as AsExternalProvider,Vt as ConnectorManager,$t as PrivyClient,Bp as PrivyProvider,_e as PrivyProxyProvider,so as VERSION,Te as WalletConnector,Fp as getAccessToken,H as usePrivy};