@privy-io/react-auth 1.23.1-beta.2 → 1.23.1-beta.3
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 +18 -18
- package/dist/index.d.ts +4 -3
- package/dist/index.js +34 -34
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Wc=Object.create;var Do=Object.defineProperty;var Rc=Object.getOwnPropertyDescriptor;var Ic=Object.getOwnPropertyNames;var Mc=Object.getPrototypeOf,Nc=Object.prototype.hasOwnProperty;var bi=(e,t)=>()=>(e&&(t=e(e=0)),t);var qe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),vi=(e,t)=>{for(var o in t)Do(e,o,{get:t[o],enumerable:!0})},wi=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ic(t))!Nc.call(e,n)&&n!==o&&Do(e,n,{get:()=>t[n],enumerable:!(r=Rc(t,n))||r.enumerable});return e};var Oc=(e,t,o)=>(o=e!=null?Wc(Mc(e)):{},wi(t||!e||!e.__esModule?Do(o,"default",{value:e,enumerable:!0}):o,e)),Ci=e=>wi(Do({},"__esModule",{value:!0}),e);var Qo=qe((Wf,Yo)=>{var aa,sa,la,ca,da,pa,ua,fa,ma,Ko,sn,ha,ga,ya,Gt,ba,va,wa,Ca,Ea,xa,_a,Sa,La,Jo;(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(r){e(o(t,o(r)))}):typeof Yo=="object"&&typeof Yo.exports=="object"?e(o(t,o(Yo.exports))):e(o(t));function o(r,n){return r!==t&&(typeof Object.create=="function"?Object.defineProperty(r,"__esModule",{value:!0}):r.__esModule=!0),function(i,a){return r[i]=n?n(i,a):a}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])};aa=function(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(r,n);function i(){this.constructor=r}r.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},sa=Object.assign||function(r){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)&&(r[s]=n[s])}return r},la=function(r,n){var i={};for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&n.indexOf(a)<0&&(i[a]=r[a]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(r);s<a.length;s++)n.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(r,a[s])&&(i[a[s]]=r[a[s]]);return i},ca=function(r,n,i,a){var s=arguments.length,l=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,i):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(r,n,i,a);else for(var h=r.length-1;h>=0;h--)(c=r[h])&&(l=(s<3?c(l):s>3?c(n,i,l):c(n,i))||l);return s>3&&l&&Object.defineProperty(n,i,l),l},da=function(r,n){return function(i,a){n(i,a,r)}},pa=function(r,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,n)},ua=function(r,n,i,a){function s(l){return l instanceof i?l:new i(function(c){c(l)})}return new(i||(i=Promise))(function(l,c){function h(y){try{p(a.next(y))}catch(b){c(b)}}function f(y){try{p(a.throw(y))}catch(b){c(b)}}function p(y){y.done?l(y.value):s(y.value).then(h,f)}p((a=a.apply(r,n||[])).next())})},fa=function(r,n){var i={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},a,s,l,c;return c={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function h(p){return function(y){return f([p,y])}}function f(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(r,i)}catch(y){p=[6,y],s=0}finally{a=l=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}},ma=function(r,n){for(var i in r)i!=="default"&&!Object.prototype.hasOwnProperty.call(n,i)&&Jo(n,r,i)},Jo=Object.create?function(r,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(r,a,s)}:function(r,n,i,a){a===void 0&&(a=i),r[a]=n[i]},Ko=function(r){var n=typeof Symbol=="function"&&Symbol.iterator,i=n&&r[n],a=0;if(i)return i.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&a>=r.length&&(r=void 0),{value:r&&r[a++],done:!r}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},sn=function(r,n){var i=typeof Symbol=="function"&&r[Symbol.iterator];if(!i)return r;var a=i.call(r),s,l=[],c;try{for(;(n===void 0||n-- >0)&&!(s=a.next()).done;)l.push(s.value)}catch(h){c={error:h}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(c)throw c.error}}return l},ha=function(){for(var r=[],n=0;n<arguments.length;n++)r=r.concat(sn(arguments[n]));return r},ga=function(){for(var r=0,n=0,i=arguments.length;n<i;n++)r+=arguments[n].length;for(var a=Array(r),s=0,n=0;n<i;n++)for(var l=arguments[n],c=0,h=l.length;c<h;c++,s++)a[s]=l[c];return a},ya=function(r,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 r.concat(l||Array.prototype.slice.call(n))},Gt=function(r){return this instanceof Gt?(this.v=r,this):new Gt(r)},ba=function(r,n,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a=i.apply(r,n||[]),s,l=[];return s={},c("next"),c("throw"),c("return"),s[Symbol.asyncIterator]=function(){return this},s;function c(d){a[d]&&(s[d]=function(g){return new Promise(function(v,S){l.push([d,g,v,S])>1||h(d,g)})})}function h(d,g){try{f(a[d](g))}catch(v){b(l[0][3],v)}}function f(d){d.value instanceof Gt?Promise.resolve(d.value.v).then(p,y):b(l[0][2],d)}function p(d){h("next",d)}function y(d){h("throw",d)}function b(d,g){d(g),l.shift(),l.length&&h(l[0][0],l[0][1])}},va=function(r){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]=r[s]?function(c){return(i=!i)?{value:Gt(r[s](c)),done:s==="return"}:l?l(c):c}:l}},wa=function(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r[Symbol.asyncIterator],i;return n?n.call(r):(r=typeof Ko=="function"?Ko(r):r[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(l){i[l]=r[l]&&function(c){return new Promise(function(h,f){c=r[l](c),s(h,f,c.done,c.value)})}}function s(l,c,h,f){Promise.resolve(f).then(function(p){l({value:p,done:h})},c)}},Ca=function(r,n){return Object.defineProperty?Object.defineProperty(r,"raw",{value:n}):r.raw=n,r};var o=Object.create?function(r,n){Object.defineProperty(r,"default",{enumerable:!0,value:n})}:function(r,n){r.default=n};Ea=function(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var i in r)i!=="default"&&Object.prototype.hasOwnProperty.call(r,i)&&Jo(n,r,i);return o(n,r),n},xa=function(r){return r&&r.__esModule?r:{default:r}},_a=function(r,n,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof n=="function"?r!==n||!a:!n.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(r):a?a.value:n.get(r)},Sa=function(r,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"?r!==n||!s:!n.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?s.call(r,i):s?s.value=i:n.set(r,i),i},La=function(r,n){if(n===null||typeof n!="object"&&typeof n!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?n===r:r.has(n)},e("__extends",aa),e("__assign",sa),e("__rest",la),e("__decorate",ca),e("__param",da),e("__metadata",pa),e("__awaiter",ua),e("__generator",fa),e("__exportStar",ma),e("__createBinding",Jo),e("__values",Ko),e("__read",sn),e("__spread",ha),e("__spreadArrays",ga),e("__spreadArray",ya),e("__await",Gt),e("__asyncGenerator",ba),e("__asyncDelegator",va),e("__asyncValues",wa),e("__makeTemplateObject",Ca),e("__importStar",Ea),e("__importDefault",xa),e("__classPrivateFieldGet",_a),e("__classPrivateFieldSet",Sa),e("__classPrivateFieldIn",La)})});var ln=qe(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.getLocalStorage=F.getLocalStorageOrThrow=F.getCrypto=F.getCryptoOrThrow=F.getLocation=F.getLocationOrThrow=F.getNavigator=F.getNavigatorOrThrow=F.getDocument=F.getDocumentOrThrow=F.getFromWindowOrThrow=F.getFromWindow=void 0;function Ct(e){let t;return typeof window<"u"&&typeof window[e]<"u"&&(t=window[e]),t}F.getFromWindow=Ct;function Ht(e){let t=Ct(e);if(!t)throw new Error(`${e} is not defined in Window`);return t}F.getFromWindowOrThrow=Ht;function ld(){return Ht("document")}F.getDocumentOrThrow=ld;function cd(){return Ct("document")}F.getDocument=cd;function dd(){return Ht("navigator")}F.getNavigatorOrThrow=dd;function pd(){return Ct("navigator")}F.getNavigator=pd;function ud(){return Ht("location")}F.getLocationOrThrow=ud;function fd(){return Ct("location")}F.getLocation=fd;function md(){return Ht("crypto")}F.getCryptoOrThrow=md;function hd(){return Ct("crypto")}F.getCrypto=hd;function gd(){return Ht("localStorage")}F.getLocalStorageOrThrow=gd;function yd(){return Ct("localStorage")}F.getLocalStorage=yd});var Ta=qe(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.getWindowMetadata=void 0;var Pa=ln();function bd(){let e,t;try{e=Pa.getDocumentOrThrow(),t=Pa.getLocationOrThrow()}catch{return null}function o(){let f=e.getElementsByTagName("link"),p=[];for(let y=0;y<f.length;y++){let b=f[y],d=b.getAttribute("rel");if(d&&d.toLowerCase().indexOf("icon")>-1){let g=b.getAttribute("href");if(g)if(g.toLowerCase().indexOf("https:")===-1&&g.toLowerCase().indexOf("http:")===-1&&g.indexOf("//")!==0){let v=t.protocol+"//"+t.host;if(g.indexOf("/")===0)v+=g;else{let S=t.pathname.split("/");S.pop(),v+=S.join("/")+"/"+g}p.push(v)}else if(g.indexOf("//")===0){let v=t.protocol+g;p.push(v)}else p.push(g)}}return p}function r(...f){let p=e.getElementsByTagName("meta");for(let y=0;y<p.length;y++){let b=p[y],d=["itemprop","property","name"].map(g=>b.getAttribute(g)).filter(g=>g?f.includes(g):!1);if(d.length&&d){let g=b.getAttribute("content");if(g)return g}}return""}function n(){let f=r("name","og:site_name","og:title","twitter:title");return f||(f=e.title),f}function i(){return r("description","og:description","twitter:description","keywords")}let a=n(),s=i(),l=t.origin,c=o();return{description:s,url:l,icons:c,name:a}}Xo.getWindowMetadata=bd});var Ba={};vi(Ba,{BotInfo:()=>Ma,BrowserInfo:()=>Wa,NodeInfo:()=>Ra,ReactNativeInfo:()=>Na,SearchBotDeviceInfo:()=>Ia,browserName:()=>_d,detect:()=>xd,detectOS:()=>Da,getNodeVersion:()=>Ua,parseUserAgent:()=>cn});function xd(e){return e?cn(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Na:typeof navigator<"u"?cn(navigator.userAgent):Ua()}function Oa(e){return e!==""&&Ed.reduce(function(t,o){var r=o[0],n=o[1];if(t)return t;var i=n.exec(e);return!!i&&[r,i]},!1)}function _d(e){var t=Oa(e);return t?t[0]:null}function cn(e){var t=Oa(e);if(!t)return null;var o=t[0],r=t[1];if(o==="searchbot")return new Ma;var n=r[1]&&r[1].split(/[._]/).slice(0,3);n?n.length<Aa&&(n=vd(n,Sd(Aa-n.length))):n=[];var i=n.join("."),a=Da(e),s=Cd.exec(e);return s&&s[1]?new Ia(o,i,a,s[1]):new Wa(o,i,a)}function Da(e){for(var t=0,o=ka.length;t<o;t++){var r=ka[t],n=r[0],i=r[1],a=i.exec(e);if(a)return n}return null}function Ua(){var e=typeof process<"u"&&process.version;return e?new Ra(process.version.slice(1)):null}function Sd(e){for(var t=[],o=0;o<e;o++)t.push("0");return t}var vd,Wa,Ra,Ia,Ma,Na,wd,Cd,Aa,Ed,ka,Fa=bi(()=>{vd=function(){for(var e=0,t=0,o=arguments.length;t<o;t++)e+=arguments[t].length;for(var r=Array(e),n=0,t=0;t<o;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,n++)r[n]=i[a];return r},Wa=function(){function e(t,o,r){this.name=t,this.version=o,this.os=r,this.type="browser"}return e}(),Ra=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}(),Ia=function(){function e(t,o,r,n){this.name=t,this.version=o,this.os=r,this.bot=n,this.type="bot-device"}return e}(),Ma=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}(),Na=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}(),wd=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Cd=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Aa=3,Ed=[["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",wd]],ka=[["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 pn=qe(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.getClientMeta=L.getLocalStorage=L.getLocalStorageOrThrow=L.getCrypto=L.getCryptoOrThrow=L.getLocation=L.getLocationOrThrow=L.getNavigator=L.getNavigatorOrThrow=L.getDocument=L.getDocumentOrThrow=L.getFromWindowOrThrow=L.getFromWindow=L.isBrowser=L.isNode=L.isMobile=L.isIOS=L.isAndroid=L.detectOS=L.detectEnv=void 0;var Ga=Qo(),Ld=Ga.__importStar(Ta()),Te=Ga.__importStar(ln()),Pd=(Fa(),Ci(Ba));function dn(e){return(0,Pd.detect)(e)}L.detectEnv=dn;function er(){let e=dn();return e&&e.os?e.os:void 0}L.detectOS=er;function Ha(){let e=er();return e?e.toLowerCase().includes("android"):!1}L.isAndroid=Ha;function Va(){let e=er();return e?e.toLowerCase().includes("ios")||e.toLowerCase().includes("mac")&&navigator.maxTouchPoints>1:!1}L.isIOS=Va;function Td(){return er()?Ha()||Va():!1}L.isMobile=Td;function $a(){let e=dn();return e&&e.name?e.name.toLowerCase()==="node":!1}L.isNode=$a;function Ad(){return!$a()&&!!(0,L.getNavigator)()}L.isBrowser=Ad;L.getFromWindow=Te.getFromWindow;L.getFromWindowOrThrow=Te.getFromWindowOrThrow;L.getDocumentOrThrow=Te.getDocumentOrThrow;L.getDocument=Te.getDocument;L.getNavigatorOrThrow=Te.getNavigatorOrThrow;L.getNavigator=Te.getNavigator;L.getLocationOrThrow=Te.getLocationOrThrow;L.getLocation=Te.getLocation;L.getCryptoOrThrow=Te.getCryptoOrThrow;L.getCrypto=Te.getCrypto;L.getLocalStorageOrThrow=Te.getLocalStorageOrThrow;L.getLocalStorage=Te.getLocalStorage;function kd(){return Ld.getWindowMetadata()}L.getClientMeta=kd});var ja={};vi(ja,{safeJsonParse:()=>Wd,safeJsonStringify:()=>Rd});function Wd(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 Rd(e){return typeof e=="string"?e:JSON.stringify(e)}var qa=bi(()=>{});var un=qe(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.safeJsonStringify=Vt.safeJsonParse=void 0;var Id=Qo(),za=Id.__importStar((qa(),Ci(ja)));Vt.safeJsonParse=za.safeJsonParse;Vt.safeJsonStringify=za.safeJsonStringify});var mn=qe(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.removeLocal=it.getLocal=it.setLocal=void 0;var Za=un(),fn=pn();function Md(e,t){let o=(0,Za.safeJsonStringify)(t),r=(0,fn.getLocalStorage)();r&&r.setItem(e,o)}it.setLocal=Md;function Nd(e){let t=null,o=null,r=(0,fn.getLocalStorage)();return r&&(o=r.getItem(e)),t=o&&(0,Za.safeJsonParse)(o),t}it.getLocal=Nd;function Od(e){let t=(0,fn.getLocalStorage)();t&&t.removeItem(e)}it.removeLocal=Od});var Ja=qe(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.getMobileLinkRegistry=be.getMobileRegistryEntry=be.saveMobileLinkInfo=be.formatIOSMobile=be.mobileLinkChoiceKey=void 0;var Dd=mn();be.mobileLinkChoiceKey="WALLETCONNECT_DEEPLINK_CHOICE";function Ud(e,t){let o=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${o}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${o}`:""}be.formatIOSMobile=Ud;function Bd(e){let t=e.href.split("?")[0];(0,Dd.setLocal)(be.mobileLinkChoiceKey,Object.assign(Object.assign({},e),{href:t}))}be.saveMobileLinkInfo=Bd;function Ka(e,t){return e.filter(o=>o.name.toLowerCase().includes(t.toLowerCase()))[0]}be.getMobileRegistryEntry=Ka;function Fd(e,t){let o=e;return t&&(o=t.map(r=>Ka(e,r)).filter(Boolean)),o}be.getMobileLinkRegistry=Fd});var Xa=qe(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.formatMobileRegistry=Oe.formatMobileRegistryEntry=Oe.getDappRegistryUrl=Oe.getWalletRegistryUrl=void 0;var Ya="https://registry.walletconnect.com";function Gd(){return Ya+"/api/v2/wallets"}Oe.getWalletRegistryUrl=Gd;function Hd(){return Ya+"/api/v2/dapps"}Oe.getDappRegistryUrl=Hd;function Qa(e,t="mobile"){var o;return{name:e.name||"",shortName:e.metadata.shortName||"",color:e.metadata.colors.primary||"",logo:(o=e.image_url.sm)!==null&&o!==void 0?o:"",universalLink:e[t].universal||"",deepLink:e[t].native||""}}Oe.formatMobileRegistryEntry=Qa;function Vd(e,t="mobile"){return Object.values(e).filter(o=>!!o[t].universal||!!o[t].native).map(o=>Qa(o,t))}Oe.formatMobileRegistry=Vd});var es=qe(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});var ho=Qo();ho.__exportStar(pn(),Et);ho.__exportStar(un(),Et);ho.__exportStar(mn(),Et);ho.__exportStar(Ja(),Et);ho.__exportStar(Xa(),Et)});import{Web3Provider as e0}from"@ethersproject/providers";import{useEffect as gi,useState as pe}from"react";var x=()=>{throw new Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")};import Dc from"axios";var We=class extends Error{constructor(o,r,n){super(o);r instanceof Error&&(this.cause=r),this.privyErrorCode=n}toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},Mt=class extends We{constructor(o,r,n,i,a){super(n,i,a);this.type=o;this.status=r}},C=class extends We{constructor(o,r,n){super(o,r,n);this.type="client_error"}};var Z=class extends We{constructor(o,r,n){super(o,r,n);this.type="connector_error"}},Q=e=>{if(e instanceof We)return e;if(!Dc.isAxiosError(e))return xe(e);if(!e.response)return new Mt("api_error",null,e.message,e);let{type:t,message:o,error:r,code:n}=e.response.data;return new Mt(t||"ApiError",e.response.status,o||r,e,n)},xe=e=>e instanceof We?e:e instanceof Error?new C(e.message,e):new C(`Internal error: ${e}`);var Ei=()=>"/api/v1/sessions",xi=()=>"/api/v1/sessions/logout",_i=()=>"/api/v1/sessions/fork",Si=()=>"/api/v1/sessions/fork/recover",Li=()=>"/api/v1/siwe/init",Pi=()=>"/api/v1/siwe/authenticate",Ti=()=>"/api/v1/siwe/link",Ai=()=>"/api/v1/passwordless/init",ki=()=>"/api/v1/passwordless/authenticate",Wi=()=>"/api/v1/passwordless/link",Ri=()=>"/api/v1/passwordless_sms/init",Ii=()=>"/api/v1/passwordless_sms/authenticate",Mi=()=>"/api/v1/passwordless_sms/link",Ni=()=>"/api/v1/oauth/init",Oi=()=>"/api/v1/oauth/authenticate",Di=()=>"/api/v1/oauth/link",Ui=()=>"/api/v1/siwe/unlink",Bi=()=>"/api/v1/passwordless/unlink",Fi=()=>"/api/v1/passwordless_sms/unlink",Gi=()=>"/api/v1/oauth/unlink",Hi=()=>"/api/v1/analytics_events";var mt=class{constructor(t){this.meta={email:t}}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new C("Email and email code must be set prior to calling authenticate.");try{let t=ki(),o=await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode});return{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new C("Email and email code must be set prior to calling authenticate.");try{let t=Wi();return(await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode})).data}catch(t){throw Q(t)}}async sendCodeEmail(t){if(!this.api)throw new C("Auth flow has no API instance");if(t&&(this.meta.email=t),!this.meta.email)throw new C("Email must be set when initialzing authentication.");try{let o=Ai();return(await this.api.post(o,{email:this.meta.email})).data}catch(o){throw Q(o)}}};var rt=class{constructor(t,o,r){this.meta={provider:t},this.meta.authorizationCode=o,this.meta.stateCode=r}isActive(){return!!(this.meta.authorizationCode&&this.meta.stateCode&&this.meta.provider)}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new C("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenticate.");if(this.meta.authorizationCode==="undefined")throw new C("User denied confirmation during OAuth flow");try{let t=Oi(),o=await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode});return{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new C("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling link.");if(this.meta.authorizationCode==="undefined")throw new C("User denied confirmation during OAuth flow");try{let t=Di();return(await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode})).data}catch(t){throw Q(t)}}async getAuthorizationUrl(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.provider)throw new C("Provider must be set when initialzing OAuth authentication.");try{let t=Ni();return(await this.api.post(t,{provider:this.meta.provider,redirect_to:window.location.href})).data}catch(t){throw Q(t)}}};var nt=class{constructor(t,o,r){this._meta={walletType:o,walletId:r},this.connectors=t,this.walletConnector=this.connectors.createWalletConnector(o,null,r)}get meta(){return{...this._meta,walletName:this.walletConnector.walletBranding.name,walletIcon:this.walletConnector.walletBranding.icon}}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");try{let{message:t,signature:o}=await this.sign(),r=await this.api.post(Pi(),{message:t,signature:o});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");try{let{message:t,signature:o}=await this.sign(),r=await this.api.post(Ti(),{message:t,signature:o});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),r.data}catch(t){throw Q(t)}}async promptConnect(){if(!this.api)throw new C("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 C("Auth flow has no API instance");if(!this.preparedMessage){let o=await this.walletConnector.connect({showPrompt:!1});await this.buildSiweMessage(o)}if(!this.preparedMessage)throw new C("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 C("Auth flow has no API instance");let o=t.address,r=t.chainId,n=await this.api.post(Li(),{address:o});return this.preparedMessage=this.walletConnector.prepareMessage(r,o,n.data.nonce),this.preparedMessage}};var ht=class{constructor(t){this.meta={phoneNumber:t}}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new C("phone number and sms code must be set prior to calling authenticate.");try{let t=Ii(),o=await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode});return{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new C("phone number and sms code must be set prior to calling authenticate.");try{let t=Mi();return(await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode})).data}catch(t){throw Q(t)}}async sendSmsCode(t){if(!this.api)throw new C("Auth flow has no API instance");if(t&&(this.meta.phoneNumber=t),!this.meta.phoneNumber)throw new C("phone nNumber must be set when initialzing authentication.");try{let o=Ri();return(await this.api.post(o,{phoneNumber:this.meta.phoneNumber})).data}catch(o){throw Q(o)}}};import{getAddress as jd}from"@ethersproject/address";var Vi="1.23.1-beta.2";var $i="AZD8ITQ3ZQS63BQIJN3SPP767ZZY89SZJX",gt="4df5e2316331463a9130964bd6078dfa",Uo="https://auth.privy.io",ji=1e4,_e=1400,Jr=Vi;var Nt="privy:token",Bo="privy:refresh_token",mo="privy:session_transfer_token",Fo="privy:connectors",Yr="walletconnect",qi=3e4;var Qr=class{constructor(){this._cache={}}get(t){return this._cache[t]}put(t,o){o!==void 0?this._cache[t]=o:this.del(t)}del(t){delete this._cache[t]}getKeys(){return Object.keys(this._cache)}},Xr=class{get(t){let o=localStorage.getItem(t);return o===null?void 0:JSON.parse(o)}put(t,o){o!==void 0?localStorage.setItem(t,JSON.stringify(o)):this.del(t)}del(t){localStorage.removeItem(t)}getKeys(){return Object.entries(localStorage).map(([t])=>t)}};function Bc(){return typeof window<"u"&&window.localStorage?new Xr:new Qr}var q=Bc();import Zc from"@coinbase/wallet-sdk";import{getAddress as Kc}from"@ethersproject/address";import{jsx as zi,jsxs as Fc}from"react/jsx-runtime";var Se=({style:e,...t})=>Fc("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:[zi("rect",{width:"1024",height:"1024",fill:"#0052FF",rx:100,ry:100}),zi("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 qc}from"@ethersproject/address";import{Web3Provider as zc}from"@ethersproject/providers";import{ErrorCode as Gc}from"@ethersproject/logger";var Ot=class extends Z{constructor(){super("Wallet timeout");this.type="wallet_error"}},bt=class extends Z{constructor(){super("User rejected connection");this.type="wallet_error"}},Le=e=>{if(e instanceof Z)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let t=new Dt(e);return e.code===Gc.ACTION_REJECTED&&(t.details=yt.E4001_USER_REJECTED_REQUEST),t}return e!=null&&e.code?new Dt(e):new Z("Unknown connector error",e)},en=class extends We{constructor(o,r,n){super(o);this.type="provider_error";this.code=r,this.data=n}},Dt=class extends en{constructor(o){var i,a,s;let r=o;super(r.message,r.code,r.data);let n=Object.values(yt).find(l=>l.eipCode===r.code);this.details=n||yt.UNKNOWN_ERROR,r.code===-32002&&((i=r.message)!=null&&i.includes("already pending for origin")?(a=r.message)!=null&&a.includes("wallet_requestPermissions")?this.details=yt.E32002_CONNECTION_ALREADY_PENDING:this.details=yt.E32002_REQUEST_ALREADY_PENDING:(s=r.message)!=null&&s.includes("Already processing")&&r.message.includes("eth_requestAccounts")&&(this.details=yt.E32002_WALLET_LOCKED))}},Hc={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}},Vc={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}},$c={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}},yt={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...$c,...Vc},vt={...Hc,...yt};var jc=12e4,tn=(e=new Ot,t=jc)=>new Promise((o,r)=>setTimeout(()=>{r(e)},t)),Re=class{constructor(t){this.removeListener=(t,o)=>{if(this.walletProvider)return this.walletProvider.removeListener(t,o)};this.setWalletProvider=t=>{this.walletProvider=t,this._subscriptions.forEach(o=>{var r;(r=this.walletProvider)==null||r.on(o.eventName,o.listener)})};this.walletProvider=t,this._subscriptions=[]}on(t,o){if(this.walletProvider)return this.walletProvider.on(t,o);this._subscriptions.push({eventName:t,listener:o})}async request(t){if(!this.walletProvider)throw new Z(`A wallet request of type ${t.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(t),tn()]).catch(o=>{throw Le(o)})}},wt=class extends Re{constructor(o){super(o)}},Go=class extends Re{constructor(t){super(t)}sendAsync(t,o){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};var Ie=class{constructor(t,o,r){this.createSiweMessage=(t,o,r,n,i,a,s)=>`${r} wants you to sign in with your Ethereum account:
|
|
1
|
+
var Wc=Object.create;var Do=Object.defineProperty;var Rc=Object.getOwnPropertyDescriptor;var Ic=Object.getOwnPropertyNames;var Mc=Object.getPrototypeOf,Nc=Object.prototype.hasOwnProperty;var bi=(e,t)=>()=>(e&&(t=e(e=0)),t);var qe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),vi=(e,t)=>{for(var o in t)Do(e,o,{get:t[o],enumerable:!0})},wi=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ic(t))!Nc.call(e,n)&&n!==o&&Do(e,n,{get:()=>t[n],enumerable:!(r=Rc(t,n))||r.enumerable});return e};var Oc=(e,t,o)=>(o=e!=null?Wc(Mc(e)):{},wi(t||!e||!e.__esModule?Do(o,"default",{value:e,enumerable:!0}):o,e)),Ci=e=>wi(Do({},"__esModule",{value:!0}),e);var Qo=qe((Wf,Yo)=>{var aa,sa,la,ca,da,pa,ua,fa,ma,Ko,sn,ha,ga,ya,Gt,ba,va,wa,Ca,Ea,xa,_a,Sa,La,Jo;(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(r){e(o(t,o(r)))}):typeof Yo=="object"&&typeof Yo.exports=="object"?e(o(t,o(Yo.exports))):e(o(t));function o(r,n){return r!==t&&(typeof Object.create=="function"?Object.defineProperty(r,"__esModule",{value:!0}):r.__esModule=!0),function(i,a){return r[i]=n?n(i,a):a}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])};aa=function(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(r,n);function i(){this.constructor=r}r.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)},sa=Object.assign||function(r){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)&&(r[s]=n[s])}return r},la=function(r,n){var i={};for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&n.indexOf(a)<0&&(i[a]=r[a]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(r);s<a.length;s++)n.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(r,a[s])&&(i[a[s]]=r[a[s]]);return i},ca=function(r,n,i,a){var s=arguments.length,l=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,i):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(r,n,i,a);else for(var g=r.length-1;g>=0;g--)(c=r[g])&&(l=(s<3?c(l):s>3?c(n,i,l):c(n,i))||l);return s>3&&l&&Object.defineProperty(n,i,l),l},da=function(r,n){return function(i,a){n(i,a,r)}},pa=function(r,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,n)},ua=function(r,n,i,a){function s(l){return l instanceof i?l:new i(function(c){c(l)})}return new(i||(i=Promise))(function(l,c){function g(y){try{p(a.next(y))}catch(b){c(b)}}function f(y){try{p(a.throw(y))}catch(b){c(b)}}function p(y){y.done?l(y.value):s(y.value).then(g,f)}p((a=a.apply(r,n||[])).next())})},fa=function(r,n){var i={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},a,s,l,c;return c={next:g(0),throw:g(1),return:g(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function g(p){return function(y){return f([p,y])}}function f(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(r,i)}catch(y){p=[6,y],s=0}finally{a=l=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}},ma=function(r,n){for(var i in r)i!=="default"&&!Object.prototype.hasOwnProperty.call(n,i)&&Jo(n,r,i)},Jo=Object.create?function(r,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(r,a,s)}:function(r,n,i,a){a===void 0&&(a=i),r[a]=n[i]},Ko=function(r){var n=typeof Symbol=="function"&&Symbol.iterator,i=n&&r[n],a=0;if(i)return i.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&a>=r.length&&(r=void 0),{value:r&&r[a++],done:!r}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")},sn=function(r,n){var i=typeof Symbol=="function"&&r[Symbol.iterator];if(!i)return r;var a=i.call(r),s,l=[],c;try{for(;(n===void 0||n-- >0)&&!(s=a.next()).done;)l.push(s.value)}catch(g){c={error:g}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(c)throw c.error}}return l},ha=function(){for(var r=[],n=0;n<arguments.length;n++)r=r.concat(sn(arguments[n]));return r},ga=function(){for(var r=0,n=0,i=arguments.length;n<i;n++)r+=arguments[n].length;for(var a=Array(r),s=0,n=0;n<i;n++)for(var l=arguments[n],c=0,g=l.length;c<g;c++,s++)a[s]=l[c];return a},ya=function(r,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 r.concat(l||Array.prototype.slice.call(n))},Gt=function(r){return this instanceof Gt?(this.v=r,this):new Gt(r)},ba=function(r,n,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var a=i.apply(r,n||[]),s,l=[];return s={},c("next"),c("throw"),c("return"),s[Symbol.asyncIterator]=function(){return this},s;function c(d){a[d]&&(s[d]=function(h){return new Promise(function(v,S){l.push([d,h,v,S])>1||g(d,h)})})}function g(d,h){try{f(a[d](h))}catch(v){b(l[0][3],v)}}function f(d){d.value instanceof Gt?Promise.resolve(d.value.v).then(p,y):b(l[0][2],d)}function p(d){g("next",d)}function y(d){g("throw",d)}function b(d,h){d(h),l.shift(),l.length&&g(l[0][0],l[0][1])}},va=function(r){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]=r[s]?function(c){return(i=!i)?{value:Gt(r[s](c)),done:s==="return"}:l?l(c):c}:l}},wa=function(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=r[Symbol.asyncIterator],i;return n?n.call(r):(r=typeof Ko=="function"?Ko(r):r[Symbol.iterator](),i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i);function a(l){i[l]=r[l]&&function(c){return new Promise(function(g,f){c=r[l](c),s(g,f,c.done,c.value)})}}function s(l,c,g,f){Promise.resolve(f).then(function(p){l({value:p,done:g})},c)}},Ca=function(r,n){return Object.defineProperty?Object.defineProperty(r,"raw",{value:n}):r.raw=n,r};var o=Object.create?function(r,n){Object.defineProperty(r,"default",{enumerable:!0,value:n})}:function(r,n){r.default=n};Ea=function(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var i in r)i!=="default"&&Object.prototype.hasOwnProperty.call(r,i)&&Jo(n,r,i);return o(n,r),n},xa=function(r){return r&&r.__esModule?r:{default:r}},_a=function(r,n,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof n=="function"?r!==n||!a:!n.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(r):a?a.value:n.get(r)},Sa=function(r,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"?r!==n||!s:!n.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?s.call(r,i):s?s.value=i:n.set(r,i),i},La=function(r,n){if(n===null||typeof n!="object"&&typeof n!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?n===r:r.has(n)},e("__extends",aa),e("__assign",sa),e("__rest",la),e("__decorate",ca),e("__param",da),e("__metadata",pa),e("__awaiter",ua),e("__generator",fa),e("__exportStar",ma),e("__createBinding",Jo),e("__values",Ko),e("__read",sn),e("__spread",ha),e("__spreadArrays",ga),e("__spreadArray",ya),e("__await",Gt),e("__asyncGenerator",ba),e("__asyncDelegator",va),e("__asyncValues",wa),e("__makeTemplateObject",Ca),e("__importStar",Ea),e("__importDefault",xa),e("__classPrivateFieldGet",_a),e("__classPrivateFieldSet",Sa),e("__classPrivateFieldIn",La)})});var ln=qe(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.getLocalStorage=F.getLocalStorageOrThrow=F.getCrypto=F.getCryptoOrThrow=F.getLocation=F.getLocationOrThrow=F.getNavigator=F.getNavigatorOrThrow=F.getDocument=F.getDocumentOrThrow=F.getFromWindowOrThrow=F.getFromWindow=void 0;function Ct(e){let t;return typeof window<"u"&&typeof window[e]<"u"&&(t=window[e]),t}F.getFromWindow=Ct;function Ht(e){let t=Ct(e);if(!t)throw new Error(`${e} is not defined in Window`);return t}F.getFromWindowOrThrow=Ht;function ld(){return Ht("document")}F.getDocumentOrThrow=ld;function cd(){return Ct("document")}F.getDocument=cd;function dd(){return Ht("navigator")}F.getNavigatorOrThrow=dd;function pd(){return Ct("navigator")}F.getNavigator=pd;function ud(){return Ht("location")}F.getLocationOrThrow=ud;function fd(){return Ct("location")}F.getLocation=fd;function md(){return Ht("crypto")}F.getCryptoOrThrow=md;function hd(){return Ct("crypto")}F.getCrypto=hd;function gd(){return Ht("localStorage")}F.getLocalStorageOrThrow=gd;function yd(){return Ct("localStorage")}F.getLocalStorage=yd});var Ta=qe(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.getWindowMetadata=void 0;var Pa=ln();function bd(){let e,t;try{e=Pa.getDocumentOrThrow(),t=Pa.getLocationOrThrow()}catch{return null}function o(){let f=e.getElementsByTagName("link"),p=[];for(let y=0;y<f.length;y++){let b=f[y],d=b.getAttribute("rel");if(d&&d.toLowerCase().indexOf("icon")>-1){let h=b.getAttribute("href");if(h)if(h.toLowerCase().indexOf("https:")===-1&&h.toLowerCase().indexOf("http:")===-1&&h.indexOf("//")!==0){let v=t.protocol+"//"+t.host;if(h.indexOf("/")===0)v+=h;else{let S=t.pathname.split("/");S.pop(),v+=S.join("/")+"/"+h}p.push(v)}else if(h.indexOf("//")===0){let v=t.protocol+h;p.push(v)}else p.push(h)}}return p}function r(...f){let p=e.getElementsByTagName("meta");for(let y=0;y<p.length;y++){let b=p[y],d=["itemprop","property","name"].map(h=>b.getAttribute(h)).filter(h=>h?f.includes(h):!1);if(d.length&&d){let h=b.getAttribute("content");if(h)return h}}return""}function n(){let f=r("name","og:site_name","og:title","twitter:title");return f||(f=e.title),f}function i(){return r("description","og:description","twitter:description","keywords")}let a=n(),s=i(),l=t.origin,c=o();return{description:s,url:l,icons:c,name:a}}Xo.getWindowMetadata=bd});var Ba={};vi(Ba,{BotInfo:()=>Ma,BrowserInfo:()=>Wa,NodeInfo:()=>Ra,ReactNativeInfo:()=>Na,SearchBotDeviceInfo:()=>Ia,browserName:()=>_d,detect:()=>xd,detectOS:()=>Da,getNodeVersion:()=>Ua,parseUserAgent:()=>cn});function xd(e){return e?cn(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Na:typeof navigator<"u"?cn(navigator.userAgent):Ua()}function Oa(e){return e!==""&&Ed.reduce(function(t,o){var r=o[0],n=o[1];if(t)return t;var i=n.exec(e);return!!i&&[r,i]},!1)}function _d(e){var t=Oa(e);return t?t[0]:null}function cn(e){var t=Oa(e);if(!t)return null;var o=t[0],r=t[1];if(o==="searchbot")return new Ma;var n=r[1]&&r[1].split(/[._]/).slice(0,3);n?n.length<Aa&&(n=vd(n,Sd(Aa-n.length))):n=[];var i=n.join("."),a=Da(e),s=Cd.exec(e);return s&&s[1]?new Ia(o,i,a,s[1]):new Wa(o,i,a)}function Da(e){for(var t=0,o=ka.length;t<o;t++){var r=ka[t],n=r[0],i=r[1],a=i.exec(e);if(a)return n}return null}function Ua(){var e=typeof process<"u"&&process.version;return e?new Ra(process.version.slice(1)):null}function Sd(e){for(var t=[],o=0;o<e;o++)t.push("0");return t}var vd,Wa,Ra,Ia,Ma,Na,wd,Cd,Aa,Ed,ka,Fa=bi(()=>{vd=function(){for(var e=0,t=0,o=arguments.length;t<o;t++)e+=arguments[t].length;for(var r=Array(e),n=0,t=0;t<o;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,n++)r[n]=i[a];return r},Wa=function(){function e(t,o,r){this.name=t,this.version=o,this.os=r,this.type="browser"}return e}(),Ra=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}(),Ia=function(){function e(t,o,r,n){this.name=t,this.version=o,this.os=r,this.bot=n,this.type="bot-device"}return e}(),Ma=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}(),Na=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}(),wd=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Cd=/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Aa=3,Ed=[["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",wd]],ka=[["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 pn=qe(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.getClientMeta=L.getLocalStorage=L.getLocalStorageOrThrow=L.getCrypto=L.getCryptoOrThrow=L.getLocation=L.getLocationOrThrow=L.getNavigator=L.getNavigatorOrThrow=L.getDocument=L.getDocumentOrThrow=L.getFromWindowOrThrow=L.getFromWindow=L.isBrowser=L.isNode=L.isMobile=L.isIOS=L.isAndroid=L.detectOS=L.detectEnv=void 0;var Ga=Qo(),Ld=Ga.__importStar(Ta()),Te=Ga.__importStar(ln()),Pd=(Fa(),Ci(Ba));function dn(e){return(0,Pd.detect)(e)}L.detectEnv=dn;function er(){let e=dn();return e&&e.os?e.os:void 0}L.detectOS=er;function Ha(){let e=er();return e?e.toLowerCase().includes("android"):!1}L.isAndroid=Ha;function Va(){let e=er();return e?e.toLowerCase().includes("ios")||e.toLowerCase().includes("mac")&&navigator.maxTouchPoints>1:!1}L.isIOS=Va;function Td(){return er()?Ha()||Va():!1}L.isMobile=Td;function $a(){let e=dn();return e&&e.name?e.name.toLowerCase()==="node":!1}L.isNode=$a;function Ad(){return!$a()&&!!(0,L.getNavigator)()}L.isBrowser=Ad;L.getFromWindow=Te.getFromWindow;L.getFromWindowOrThrow=Te.getFromWindowOrThrow;L.getDocumentOrThrow=Te.getDocumentOrThrow;L.getDocument=Te.getDocument;L.getNavigatorOrThrow=Te.getNavigatorOrThrow;L.getNavigator=Te.getNavigator;L.getLocationOrThrow=Te.getLocationOrThrow;L.getLocation=Te.getLocation;L.getCryptoOrThrow=Te.getCryptoOrThrow;L.getCrypto=Te.getCrypto;L.getLocalStorageOrThrow=Te.getLocalStorageOrThrow;L.getLocalStorage=Te.getLocalStorage;function kd(){return Ld.getWindowMetadata()}L.getClientMeta=kd});var ja={};vi(ja,{safeJsonParse:()=>Wd,safeJsonStringify:()=>Rd});function Wd(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 Rd(e){return typeof e=="string"?e:JSON.stringify(e)}var qa=bi(()=>{});var un=qe(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.safeJsonStringify=Vt.safeJsonParse=void 0;var Id=Qo(),za=Id.__importStar((qa(),Ci(ja)));Vt.safeJsonParse=za.safeJsonParse;Vt.safeJsonStringify=za.safeJsonStringify});var mn=qe(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.removeLocal=it.getLocal=it.setLocal=void 0;var Za=un(),fn=pn();function Md(e,t){let o=(0,Za.safeJsonStringify)(t),r=(0,fn.getLocalStorage)();r&&r.setItem(e,o)}it.setLocal=Md;function Nd(e){let t=null,o=null,r=(0,fn.getLocalStorage)();return r&&(o=r.getItem(e)),t=o&&(0,Za.safeJsonParse)(o),t}it.getLocal=Nd;function Od(e){let t=(0,fn.getLocalStorage)();t&&t.removeItem(e)}it.removeLocal=Od});var Ja=qe(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.getMobileLinkRegistry=be.getMobileRegistryEntry=be.saveMobileLinkInfo=be.formatIOSMobile=be.mobileLinkChoiceKey=void 0;var Dd=mn();be.mobileLinkChoiceKey="WALLETCONNECT_DEEPLINK_CHOICE";function Ud(e,t){let o=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${o}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${o}`:""}be.formatIOSMobile=Ud;function Bd(e){let t=e.href.split("?")[0];(0,Dd.setLocal)(be.mobileLinkChoiceKey,Object.assign(Object.assign({},e),{href:t}))}be.saveMobileLinkInfo=Bd;function Ka(e,t){return e.filter(o=>o.name.toLowerCase().includes(t.toLowerCase()))[0]}be.getMobileRegistryEntry=Ka;function Fd(e,t){let o=e;return t&&(o=t.map(r=>Ka(e,r)).filter(Boolean)),o}be.getMobileLinkRegistry=Fd});var Xa=qe(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.formatMobileRegistry=Oe.formatMobileRegistryEntry=Oe.getDappRegistryUrl=Oe.getWalletRegistryUrl=void 0;var Ya="https://registry.walletconnect.com";function Gd(){return Ya+"/api/v2/wallets"}Oe.getWalletRegistryUrl=Gd;function Hd(){return Ya+"/api/v2/dapps"}Oe.getDappRegistryUrl=Hd;function Qa(e,t="mobile"){var o;return{name:e.name||"",shortName:e.metadata.shortName||"",color:e.metadata.colors.primary||"",logo:(o=e.image_url.sm)!==null&&o!==void 0?o:"",universalLink:e[t].universal||"",deepLink:e[t].native||""}}Oe.formatMobileRegistryEntry=Qa;function Vd(e,t="mobile"){return Object.values(e).filter(o=>!!o[t].universal||!!o[t].native).map(o=>Qa(o,t))}Oe.formatMobileRegistry=Vd});var es=qe(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});var ho=Qo();ho.__exportStar(pn(),Et);ho.__exportStar(un(),Et);ho.__exportStar(mn(),Et);ho.__exportStar(Ja(),Et);ho.__exportStar(Xa(),Et)});import{Web3Provider as e0}from"@ethersproject/providers";import{useEffect as gi,useState as pe}from"react";var x=()=>{throw new Error("You need to wrap your application with the <PrivyProvider> initialized with your app id.")};import Dc from"axios";var We=class extends Error{constructor(o,r,n){super(o);r instanceof Error&&(this.cause=r),this.privyErrorCode=n}toString(){return`${this.type}${this.privyErrorCode?`-${this.privyErrorCode}`:""}: ${this.message}${this.cause?` [cause: ${this.cause}]`:""}`}},Mt=class extends We{constructor(o,r,n,i,a){super(n,i,a);this.type=o;this.status=r}},C=class extends We{constructor(o,r,n){super(o,r,n);this.type="client_error"}};var Z=class extends We{constructor(o,r,n){super(o,r,n);this.type="connector_error"}},Q=e=>{if(e instanceof We)return e;if(!Dc.isAxiosError(e))return xe(e);if(!e.response)return new Mt("api_error",null,e.message,e);let{type:t,message:o,error:r,code:n}=e.response.data;return new Mt(t||"ApiError",e.response.status,o||r,e,n)},xe=e=>e instanceof We?e:e instanceof Error?new C(e.message,e):new C(`Internal error: ${e}`);var Ei=()=>"/api/v1/sessions",xi=()=>"/api/v1/sessions/logout",_i=()=>"/api/v1/sessions/fork",Si=()=>"/api/v1/sessions/fork/recover",Li=()=>"/api/v1/siwe/init",Pi=()=>"/api/v1/siwe/authenticate",Ti=()=>"/api/v1/siwe/link",Ai=()=>"/api/v1/passwordless/init",ki=()=>"/api/v1/passwordless/authenticate",Wi=()=>"/api/v1/passwordless/link",Ri=()=>"/api/v1/passwordless_sms/init",Ii=()=>"/api/v1/passwordless_sms/authenticate",Mi=()=>"/api/v1/passwordless_sms/link",Ni=()=>"/api/v1/oauth/init",Oi=()=>"/api/v1/oauth/authenticate",Di=()=>"/api/v1/oauth/link",Ui=()=>"/api/v1/siwe/unlink",Bi=()=>"/api/v1/passwordless/unlink",Fi=()=>"/api/v1/passwordless_sms/unlink",Gi=()=>"/api/v1/oauth/unlink",Hi=()=>"/api/v1/analytics_events";var mt=class{constructor(t){this.meta={email:t}}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new C("Email and email code must be set prior to calling authenticate.");try{let t=ki(),o=await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode});return{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.email||!this.meta.emailCode)throw new C("Email and email code must be set prior to calling authenticate.");try{let t=Wi();return(await this.api.post(t,{email:this.meta.email,code:this.meta.emailCode})).data}catch(t){throw Q(t)}}async sendCodeEmail(t){if(!this.api)throw new C("Auth flow has no API instance");if(t&&(this.meta.email=t),!this.meta.email)throw new C("Email must be set when initialzing authentication.");try{let o=Ai();return(await this.api.post(o,{email:this.meta.email})).data}catch(o){throw Q(o)}}};var rt=class{constructor(t,o,r){this.meta={provider:t},this.meta.authorizationCode=o,this.meta.stateCode=r}isActive(){return!!(this.meta.authorizationCode&&this.meta.stateCode&&this.meta.provider)}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new C("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenticate.");if(this.meta.authorizationCode==="undefined")throw new C("User denied confirmation during OAuth flow");try{let t=Oi(),o=await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode});return{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.authorizationCode||!this.meta.stateCode)throw new C("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling link.");if(this.meta.authorizationCode==="undefined")throw new C("User denied confirmation during OAuth flow");try{let t=Di();return(await this.api.post(t,{authorization_code:this.meta.authorizationCode,state_code:this.meta.stateCode})).data}catch(t){throw Q(t)}}async getAuthorizationUrl(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.provider)throw new C("Provider must be set when initialzing OAuth authentication.");try{let t=Ni();return(await this.api.post(t,{provider:this.meta.provider,redirect_to:window.location.href})).data}catch(t){throw Q(t)}}};var nt=class{constructor(t,o,r){this._meta={walletType:o,walletId:r},this.connectors=t,this.walletConnector=this.connectors.createWalletConnector(o,null,r)}get meta(){return{...this._meta,walletName:this.walletConnector.walletBranding.name,walletIcon:this.walletConnector.walletBranding.icon}}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");try{let{message:t,signature:o}=await this.sign(),r=await this.api.post(Pi(),{message:t,signature:o});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");try{let{message:t,signature:o}=await this.sign(),r=await this.api.post(Ti(),{message:t,signature:o});return this.connectors.addWalletConnector(this.walletConnector),await this.connectors.setActiveWallet(this.walletConnector.address)||console.warn("Failed to set active wallet"),r.data}catch(t){throw Q(t)}}async promptConnect(){if(!this.api)throw new C("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 C("Auth flow has no API instance");if(!this.preparedMessage){let o=await this.walletConnector.connect({showPrompt:!1});await this.buildSiweMessage(o)}if(!this.preparedMessage)throw new C("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 C("Auth flow has no API instance");let o=t.address,r=t.chainId,n=await this.api.post(Li(),{address:o});return this.preparedMessage=this.walletConnector.prepareMessage(r,o,n.data.nonce),this.preparedMessage}};var ht=class{constructor(t){this.meta={phoneNumber:t}}async authenticate(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new C("phone number and sms code must be set prior to calling authenticate.");try{let t=Ii(),o=await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode});return{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 Q(t)}}async link(){if(!this.api)throw new C("Auth flow has no API instance");if(!this.meta.phoneNumber||!this.meta.smsCode)throw new C("phone number and sms code must be set prior to calling authenticate.");try{let t=Mi();return(await this.api.post(t,{phoneNumber:this.meta.phoneNumber,code:this.meta.smsCode})).data}catch(t){throw Q(t)}}async sendSmsCode(t){if(!this.api)throw new C("Auth flow has no API instance");if(t&&(this.meta.phoneNumber=t),!this.meta.phoneNumber)throw new C("phone nNumber must be set when initialzing authentication.");try{let o=Ri();return(await this.api.post(o,{phoneNumber:this.meta.phoneNumber})).data}catch(o){throw Q(o)}}};import{getAddress as jd}from"@ethersproject/address";var Vi="1.23.1-beta.3";var $i="AZD8ITQ3ZQS63BQIJN3SPP767ZZY89SZJX",gt="4df5e2316331463a9130964bd6078dfa",Uo="https://auth.privy.io",ji=1e4,_e=1400,Jr=Vi;var Nt="privy:token",Bo="privy:refresh_token",mo="privy:session_transfer_token",Fo="privy:connectors",Yr="walletconnect",qi=3e4;var Qr=class{constructor(){this._cache={}}get(t){return this._cache[t]}put(t,o){o!==void 0?this._cache[t]=o:this.del(t)}del(t){delete this._cache[t]}getKeys(){return Object.keys(this._cache)}},Xr=class{get(t){let o=localStorage.getItem(t);return o===null?void 0:JSON.parse(o)}put(t,o){o!==void 0?localStorage.setItem(t,JSON.stringify(o)):this.del(t)}del(t){localStorage.removeItem(t)}getKeys(){return Object.entries(localStorage).map(([t])=>t)}};function Bc(){return typeof window<"u"&&window.localStorage?new Xr:new Qr}var q=Bc();import Zc from"@coinbase/wallet-sdk";import{getAddress as Kc}from"@ethersproject/address";import{jsx as zi,jsxs as Fc}from"react/jsx-runtime";var Se=({style:e,...t})=>Fc("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:[zi("rect",{width:"1024",height:"1024",fill:"#0052FF",rx:100,ry:100}),zi("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 qc}from"@ethersproject/address";import{Web3Provider as zc}from"@ethersproject/providers";import{ErrorCode as Gc}from"@ethersproject/logger";var Ot=class extends Z{constructor(){super("Wallet timeout");this.type="wallet_error"}},bt=class extends Z{constructor(){super("User rejected connection");this.type="wallet_error"}},Le=e=>{if(e instanceof Z)return e;if((e==null?void 0:e.code)&&(e==null?void 0:e.reason)){let t=new Dt(e);return e.code===Gc.ACTION_REJECTED&&(t.details=yt.E4001_USER_REJECTED_REQUEST),t}return e!=null&&e.code?new Dt(e):new Z("Unknown connector error",e)},en=class extends We{constructor(o,r,n){super(o);this.type="provider_error";this.code=r,this.data=n}},Dt=class extends en{constructor(o){var i,a,s;let r=o;super(r.message,r.code,r.data);let n=Object.values(yt).find(l=>l.eipCode===r.code);this.details=n||yt.UNKNOWN_ERROR,r.code===-32002&&((i=r.message)!=null&&i.includes("already pending for origin")?(a=r.message)!=null&&a.includes("wallet_requestPermissions")?this.details=yt.E32002_CONNECTION_ALREADY_PENDING:this.details=yt.E32002_REQUEST_ALREADY_PENDING:(s=r.message)!=null&&s.includes("Already processing")&&r.message.includes("eth_requestAccounts")&&(this.details=yt.E32002_WALLET_LOCKED))}},Hc={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}},Vc={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}},$c={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}},yt={UNKNOWN_ERROR:{eipCode:0,message:"Unknown error",detail:"Unknown error",retryable:!0},...$c,...Vc},vt={...Hc,...yt};var jc=12e4,tn=(e=new Ot,t=jc)=>new Promise((o,r)=>setTimeout(()=>{r(e)},t)),Re=class{constructor(t){this.removeListener=(t,o)=>{if(this.walletProvider)return this.walletProvider.removeListener(t,o)};this.setWalletProvider=t=>{this.walletProvider=t,this._subscriptions.forEach(o=>{var r;(r=this.walletProvider)==null||r.on(o.eventName,o.listener)})};this.walletProvider=t,this._subscriptions=[]}on(t,o){if(this.walletProvider)return this.walletProvider.on(t,o);this._subscriptions.push({eventName:t,listener:o})}async request(t){if(!this.walletProvider)throw new Z(`A wallet request of type ${t.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(t),tn()]).catch(o=>{throw Le(o)})}},wt=class extends Re{constructor(o){super(o)}},Go=class extends Re{constructor(t){super(t)}sendAsync(t,o){throw new Error("sendAsync is no longer supported by EIP-1193. Use the request method instead.")}};var Ie=class{constructor(t,o,r){this.createSiweMessage=(t,o,r,n,i,a,s)=>`${r} wants you to sign in with your Ethereum account:
|
|
2
2
|
${o}
|
|
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=o,this.walletType=t,this.address=r,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=qc(t[0]))}return this.address}async fetchChainId(){if(!this.chain){let t=await this.proxyProvider.request({method:"eth_chainId"}),o=Number(t);this.chain=String(o)}return this.chain}async getConnectedWallet(){if(!this.walletType||!await this.isConnected())return null;let o=await this.fetchAddress(),r=await this.fetchChainId();return{address:o,chainId:r,chainType:"ethereum",walletClient:"unknown"}}async setActive(){return!0}async sign(t){return await this.connect({showPrompt:!1}),new zc(new wt(this.proxyProvider)).getSigner().signMessage(t)}prepareMessage(t,o,r){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,o,n,i,s,r,a)}};var Jc=e=>{let t=`https://mainnet.infura.io/v3/${gt}`,o=1;return e.makeWeb3Provider(t,o)},Ho,Vo=class extends Ie{constructor(t,o){super("coinbase_wallet",t,o),Ho||(Ho=new Zc({appName:"Privy",darkMode:!1,headlessMode:!1}))}async connect(t){return this.proxyProvider.setWalletProvider(Jc(Ho)),t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}disconnect(){Ho.disconnect()}async isConnected(){return await this.fetchAddress()!==null}get walletBranding(){return{name:"Coinbase Wallet",icon:Se}}async promptConnection(){try{let t="",o=await this.proxyProvider.request({method:"eth_requestAccounts"});if(o.length>0&&(t=Kc(o[0])),!t||t==="")throw new Z("Unable to retrieve address");this.connected=!0}catch(t){throw Le(t)}}};import{getAddress as nn}from"@ethersproject/address";import{Web3Provider as Qi}from"@ethersproject/providers";import{isMobile as ed}from"react-device-detect";import{jsx as ye,jsxs as Yc}from"react/jsx-runtime";var Pe=({style:e,...t})=>Yc("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:[ye("rect",{width:"28",height:"28",rx:"3",fill:"white"}),ye("path",{d:"M23.0126 5L15.1958 10.7823L16.6533 7.37359L23.0126 5Z",fill:"#E17726",stroke:"#E17726",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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 Qc}from"libphonenumber-js/min";var Zi=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,}))$/),Ki=e=>Qc(String(e),"US"),Ji=(e,t)=>{let o=e.slice(0),r=[];for(;o.length;)r.push(o.splice(0,t));return r},fe=(e,t=3,o=4)=>{if(!e)return"";let r=2,n=3;if(t+o+r+n>=e.length)return e;let i=e.slice(0,r+t),a=e.slice(e.length-o,e.length);return`${i}...${a}`},on=e=>new Promise(t=>setTimeout(t,e)),Yi=(e,t={})=>{let o=t.delayMs||40,r=t.maxAttempts||1e3;return new Promise(async(n,i)=>{let a=!1,s=0;for(;!a&&s<r;)e().then(()=>{a=!0,n()},(...l)=>{a=!0,i(...l)}),s+=1,await on(o);a||i(new Error("Exceeded max attempts before resolving function"))})},$o=(e,t,o={})=>{let r=new URL(t,e);for(let[n,i]of Object.entries(o))r.searchParams.set(n,i);return r.href},Xc=(e,t)=>e.toLowerCase()===t.toLowerCase(),rn=(e,t)=>{for(let o of e)if(Xc(o,t))return!0;return!1},jo=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,"");var Xi=async()=>{let t=await new Qi(window.ethereum).listAccounts();return t.length===0?null:nn(t[0])},qo=class extends Ie{constructor(t,o){var r;super("metamask",t,o),this.proxyProvider.setWalletProvider(window.ethereum),(r=window.ethereum.providers)==null||r.forEach(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 o=await new Qi(this.proxyProvider).listAccounts();return o.length===0?null:nn(o[0])}get walletBranding(){return{name:"MetaMask",icon:Pe}}disconnect(){console.warn("Metamask does not support programmatic disconnect.")}async promptConnection(){try{let t="";if(!ed&&ea()&&(await this.proxyProvider.request({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]}),this.address&&!await this.isConnected()))throw new Z("Selected the wrong wallet in MetaMask");let o=await this.proxyProvider.request({method:"eth_requestAccounts"});if(o.length>0&&(t=nn(o[0])),!t||t==="")throw new Z("Unable to retrieve address");if(this.address&&t!==this.address)return;this.connected=!0,this.address=t}catch(t){throw Le(t)}}async setActive(){if(await this.connectedMetamaskAddress()===this.address)return this.connected=!0,!0;for(;!await this.isConnected();)await on(200);return this.connected=!0,!0}subscribeListeners(){this.proxyProvider.on("accountsChanged",t=>{var o;if(t.length>0){let r=t[0];this.connected=((o=this.address)==null?void 0:o.toLowerCase())===(r==null?void 0:r.toLowerCase())}else this.connected=!1}),this.proxyProvider.on("disconnect",()=>{this.connected=!1})}};import{getAddress as ta}from"@ethersproject/address";import{Web3Provider as td}from"@ethersproject/providers";import{jsx as Ut,jsxs as zo}from"react/jsx-runtime";var Ne=({style:e,...t})=>zo("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:[Ut("rect",{width:"28",height:"28",rx:"6",fill:"url(#paint0_linear_1765_9937)"}),Ut("path",{d:"M24.0223 14.1704H21.5542C21.5542 9.14083 17.4627 5.06372 12.4151 5.06372C7.43008 5.06372 3.37717 9.04101 3.27798 13.9845C3.17536 19.0945 7.98653 23.5318 13.1154 23.5318H13.7605C18.2822 23.5318 24.3426 20.0047 25.2895 15.7072C25.4643 14.9151 24.8364 14.1704 24.0223 14.1704ZM8.74752 14.3945C8.74752 15.0671 8.19544 15.6172 7.52045 15.6172C6.84545 15.6172 6.29341 15.0669 6.29341 14.3945V12.4165C6.29341 11.7439 6.84545 11.1938 7.52045 11.1938C8.19544 11.1938 8.74752 11.7439 8.74752 12.4165V14.3945ZM13.0083 14.3945C13.0083 15.0671 12.4563 15.6172 11.7813 15.6172C11.1063 15.6172 10.5543 15.0669 10.5543 14.3945V12.4165C10.5543 11.7439 11.1065 11.1938 11.7813 11.1938C12.4563 11.1938 13.0083 11.7439 13.0083 12.4165V14.3945Z",fill:"url(#paint1_linear_1765_9937)"}),zo("defs",{children:[zo("linearGradient",{id:"paint0_linear_1765_9937",x1:"14",y1:"0",x2:"14",y2:"28",gradientUnits:"userSpaceOnUse",children:[Ut("stop",{stopColor:"#534BB1"}),Ut("stop",{offset:"1",stopColor:"#551BF9"})]}),zo("linearGradient",{id:"paint1_linear_1765_9937",x1:"14.2976",y1:"5.06372",x2:"14.2976",y2:"23.5318",gradientUnits:"userSpaceOnUse",children:[Ut("stop",{stopColor:"white"}),Ut("stop",{offset:"1",stopColor:"white",stopOpacity:"0.82"})]})]})]});var Zo=class extends Ie{constructor(t,o){var r;if(super("phantom",t,o),"phantom"in window){let n=window;this.proxyProvider.setWalletProvider(n.phantom.ethereum),(r=n.phantom.ethereum.providers)==null||r.forEach(i=>{i.isPhantom&&this.proxyProvider.setWalletProvider(i)})}this.subscribeListeners()}async connect(t){return t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}async isConnected(){let t=await this.connectedPhantomAddress();return this.address===t}async connectedPhantomAddress(){let o=await new td(this.proxyProvider).listAccounts();return o.length===0?null:ta(o[0])}get walletBranding(){return{name:"Phantom",icon:Ne}}disconnect(){console.warn("Phantom does not support programmatic disconnect.")}async promptConnection(){try{let t="",o=await this.proxyProvider.request({method:"eth_requestAccounts"});if(o.length>0&&(t=ta(o[0])),!t||t==="")throw new Z("Unable to retrieve address");this.connected=!0,this.address=t}catch(t){throw Le(t)}}subscribeListeners(){this.proxyProvider.on("accountsChanged",t=>{var o;if(t.length>0){let r=t[0];this.connected=((o=this.address)==null?void 0:o.toLowerCase())===(r==null?void 0:r.toLowerCase())}else this.connected=!0}),this.proxyProvider.on("disconnect",()=>{this.connected=!1})}};import $d from"@walletconnect/web3-provider";import{isAndroid as as}from"react-device-detect";import{createContext as rd,useContext as nd,useEffect as an,useState as ra}from"react";import{jsx as od}from"react/jsx-runtime";function oa(e){return od("link",{rel:"prefetch",href:e.src})}import{jsx as id,jsxs as ad}from"react/jsx-runtime";var ze="LANDING",na=rd({ready:!1,app:null,currentScreen:ze,lastScreen:ze,navigate:x,navigateBack:x,setModalData:x}),ia=e=>{var h,f,p;let t=e.appConfig,o=e.authenticated,r=e.visible,[n,i]=ra(e.initialScreen||ze),[a,s]=ra(e.initialScreen||ze);an(()=>{o||i(ze)},[o]),an(()=>{r||(s(ze),i(ze))},[r]),an(()=>{e.initialScreen&&n===ze&&(i(e.initialScreen),s(e.initialScreen))},[e.initialScreen]);let l=e.initialScreen&&n===ze?e.initialScreen:n,c={ready:!!(t!=null&&t.id),app:t,data:e.data,setModalData:e.setModalData,currentScreen:l,lastScreen:a,navigate:y=>{s(n),i(y)},navigateBack:()=>{i(a)}};return ad(na.Provider,{value:c,children:[(typeof((h=t==null?void 0:t.appearance)==null?void 0:h.logo)=="string"||((p=(f=t==null?void 0:t.appearance)==null?void 0:f.logo)==null?void 0:p.type)==="img")&&id(oa,{src:typeof t.appearance.logo=="string"?t.appearance.logo:t.appearance.logo.props.src}),e.children]})},w=()=>nd(na);import{jsx as Bt,jsxs as sd}from"react/jsx-runtime";var Ft=({style:e,...t})=>{let{app:o}=w();return sd("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:[Bt("rect",{width:"28",height:"28",rx:"3",fill:(o==null?void 0:o.appearance.palette.colorScheme)==="dark"?"#3396ff":"#141414"}),Bt("g",{clipPath:"url(#clip0_1765_9946)",children:Bt("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"})}),Bt("defs",{children:Bt("clipPath",{id:"clip0_1765_9946",children:Bt("rect",{width:"20",height:"12.2531",fill:"white",transform:"translate(4 8)"})})})]})};var hn=Oc(es());import{isAndroid as gn}from"react-device-detect";var tr="c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",yn=e=>{let t=jo(e).trim().toLowerCase();for(let[o,r]of Object.entries(go))if(r.name.toLowerCase()===t)return{id:o,entry:r}},go={"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:{native:"metamask:"}},"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"}}},ts=(e,t="md")=>`https://registry.walletconnect.com/v2/logo/${t}/${e}`;function os(e){return{name:e.name||"",universalLink:e.mobile.universal||"",deepLink:e.mobile.native||""}}function rs(e,t){let o=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${o}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${e}`:""}function ns(e,t){return gn?e:rs(e,os(go[t]))}var or=(e,t)=>{if(!e)return;if(gn){(0,hn.saveMobileLinkInfo)({name:"Unknown",href:t||"wc:"});return}let o=go[e];if(!o){console.warn("Attempted to set info for unknown wallet",e);return}let r=rs(t||"wc:",os(o));(0,hn.saveMobileLinkInfo)({name:(o==null?void 0:o.name)||"",href:r})},is=()=>{!gn||window.open("wc:","_self")};var bn=class extends Ie{constructor(o,r,n){super("wallet_connect",r,n);this.connectionManager=o}setActive(){return this.walletProvider.walletId&&or(this.walletProvider.walletId),Promise.resolve(!0)}async connect(o){return o.showPrompt&&await this.promptConnection(),this.getConnectedWallet()}async isConnected(){return this.walletProvider.connected}get walletBranding(){var o,r,n;if(this.walletProvider.walletId){let i=go[this.walletProvider.walletId];return{name:i.name,icon:this.walletProvider.walletId===tr?Pe:ts(i.image_id)}}return{name:jo(((o=this.walletProvider.walletMeta)==null?void 0:o.name)||"")||"WalletConnect",icon:((n=(r=this.walletProvider.walletMeta)==null?void 0:r.icons)==null?void 0:n[0])||Ft}}async promptConnection(){return new Promise((o,r)=>{this.walletProvider.connector.on("disconnect",(i,a)=>{if(i){r(Le(i));return}a.params.some(s=>s.message==="Session Rejected")&&(this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),r(new bt)),r(new Z("Unknown error during connection"))}),this.walletProvider.qrcode&&this.walletProvider.connector.on("modal_closed",()=>{this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),r(new bt)}),this.walletProvider.connector.on("transport_error",(i,a)=>{r(Le(i))}),(async()=>{let i="",a=await Promise.race([this.connectionManager.enableProvider(this.walletProvider),tn()]);if(a.length>0&&(i=a[0]),!i||i==="")throw new Z("Unable to retrieve address");this.connected=!0,o()})().catch(i=>r(Le(i)))})}async sign(o){or(this.walletProvider.walletId),this.walletProvider.connected||await this.connectionManager.enableProvider(this.walletProvider);let r=await this.walletProvider.getWalletConnector();return new Promise(async(n,i)=>{var a;r.signPersonalMessage([o,(a=this.walletProvider.accounts)==null?void 0:a[0]]).then(s=>n(s)),as&&is()})}disconnect(){this.walletProvider.close().catch(()=>console.warn("Unable to disconnect wallet provider"))}get walletProvider(){return this.proxyProvider.walletProvider}setWalletProvider(o){this.proxyProvider.setWalletProvider(o)}},rr=class{constructor(){this._storageIdToProvider={},this.reconnectDelayMs=10,this.reconnectBackoff=2,!(typeof window>"u")&&q.getKeys().forEach(t=>{var o,r;if(t.startsWith("walletconnect")){let n=t.split(":")[2]?t.split(":")[2]:void 0;if(!n){let i=(r=(o=q.get(t))==null?void 0:o.peerMeta)==null?void 0:r.name;if(i){let a=yn(i);a!=null&&a.id&&(n=a.id)}}this.createProviderWithStorageId(t,n)}})}createConnector(t,o,r){let n=this.getProviderForAddress(o,r),i=new bn(this,t,o);return n?n.isConnecting&&(n=this.replaceProvider(i,n)):n=this.createProvider(i,r),i.setWalletProvider(n),i}async disconnect(){await Promise.all(Object.values(this._storageIdToProvider).map(async t=>await t.disconnect()))}getStorageId(t,o){if(!t)return;let r=q.getKeys().filter(i=>i.startsWith("walletconnect"));if(o){let i=r.filter(a=>a.includes(o));if(i){let a=i.find(s=>rn(q.get(s).accounts,t));if(a)return a}}let n=r.find(i=>rn(q.get(i).accounts,t));if(!(n&&o&&!n.includes(o)))return n}getProviderForAddress(t,o){let r=this.getStorageId(t,o);r||(r=`${Yr}:${Math.random().toString(36).slice(2)}:${o||""}`);let n=this._storageIdToProvider[r];if(n)return n}createProviderWithStorageId(t,o){let r=o?{qrcode:!1}:{},n=new $d({infuraId:gt,storageId:t,pollingInterval:qi,...r});return n.walletId=o,o?n.connector.on("display_uri",(i,a)=>{or(o);let s=a.params[0],l=ns(s,o);as?window.open(l):window.open(l,"_self","noopener,noreferrer")}):n.connector.on("connect",()=>{var i,a,s;(i=n.walletMeta)!=null&&i.name&&(n.walletId=(s=yn((a=n.walletMeta)==null?void 0:a.name))==null?void 0:s.id)}),this._storageIdToProvider[t]=n,n}createProvider(t,o){let r=`${Yr}:${Math.random().toString(36).slice(2)}:${o||""}`,n=this.createProviderWithStorageId(r,o);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,o){o.close().catch(()=>console.warn("Unable to disconnect provider"));let r=Object.entries(this._storageIdToProvider).find(([n,i])=>i.connector.session.key===o.connector.session.key);return r&&delete this._storageIdToProvider[r[0]],this.createProvider(t,o.walletId)}async enableProvider(t){return t.connected?Promise.resolve(t.accounts):await t.enable()}};var ea=()=>{if(!window.ethereum)return!1;if(nr(window.ethereum,!0))return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(nr(e,!0))return!0}return!1},vn=()=>{if(!window.ethereum)return!1;if(nr(window.ethereum,!1))return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(nr(e,!1))return!0}return!1},nr=(e,t)=>e.isMetaMask?e.isMetaMask&&!t?!0:!(e.isBraveWallet&&!e._events&&!e._state||e.isApexWallet||e.isAvalanche||e.isBitKeep||e.isBlockWallet||e.isKuCoinWallet||e.isMathWallet||e.isOkxWallet||e.isOKExWallet||e.isOneInchIOSWallet||e.isOneInchAndroidWallet||e.isOpera||e.isPhantom||e.isPortal||e.isRabby||e.isTokenPocket||e.isTokenary||e.isZerion):!1,at=()=>{var e,t;if("phantom"in window){let o=window;if((t=(e=o==null?void 0:o.phantom)==null?void 0:e.ethereum)!=null&&t.isPhantom)return!0}return!1},$t=()=>{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},wn=e=>{let t=localStorage.getItem("-walletlink:https://www.walletlink.org:Addresses");return t?!!(e==null?void 0:e.linkedAccounts.filter(r=>r.type=="wallet"&&r.address===jd(t)).length):!1},ss=()=>{var t;let e=q.get(Fo);return e?(t=e.find(o=>o.active))==null?void 0:t.address:null},yo=class{constructor(){this.getEthereumProvider=()=>{var t;return((t=this.activeWalletConnector)==null?void 0:t.proxyProvider)||new Re};this.walletConnectors=[],this.wcConnectionManager=new rr,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(Fo)||[]).forEach(o=>{let r=this.createWalletConnector(o.walletType,o.address);this.addWalletConnector(r),o.active&&(this.activeWalletConnector=r)})}save(){let t=this.walletConnectors.map(o=>{var r;return{address:o.address,walletType:o.walletType,active:o.address===((r=this.activeWalletConnector)==null?void 0:r.address)&&o.walletType===this.activeWalletConnector.walletType}});q.put(Fo,t)}addWalletConnector(t){this.walletConnectors.find(r=>r.address===t.address&&r.walletType===t.walletType)||this.walletConnectors.push(t)}getConnectorByAddress(t){return this.walletConnectors.find(o=>{var r;return((r=o.address)==null?void 0:r.toLowerCase())===t.toLowerCase()})}async removeWallet(t){let o=this.walletConnectors.find(r=>r.address===t);o&&o.disconnect(),this.walletConnectors=this.walletConnectors.filter(r=>r.address!==t),this.activeWalletConnector=void 0,this.save()}async activeWalletSign(t){if(!this.activeWalletConnector)throw new Z("Cannot sign, no wallet is active. Is a wallet connected?");return this.activeWalletConnector.sign(t)}async setActiveWallet(t){let o=this.walletConnectors.find(r=>r.address===t);if(o){let r=await o.setActive();return this.activeWalletConnector=r?o:void 0,this.activeWalletConnector&&this.activeWalletConnector.proxyProvider.on("accountsChanged",n=>{var i;n.length===0&&(((i=this.activeWalletConnector)==null?void 0:i.address)===t&&(this.activeWalletConnector=void 0),this.save())}),this.save(),!0}return!1}createWalletConnector(t,o,r){switch(t){case"metamask":return new qo(new Re,o);case"phantom":return new Zo(new Re,o);case"coinbase_wallet":return new Vo(new Re,o);case"wallet_connect":return this.wcConnectionManager.createConnector(new Re,o,r)}}};function Ze(e){return new Date(e*1e3)}function qd(e){let t=[];for(let o of e){let r=o.type;switch(o.type){case"wallet":let n={address:o.address,type:o.type,verifiedAt:Ze(o.verified_at),chainType:o.chain_type,walletClient:o.wallet_client};t.push(n);break;case"email":let i={address:o.address,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(i);break;case"phone":let a={number:o.phoneNumber,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(a);break;case"google_oauth":let s={subject:o.subject,email:o.email,name:o.name,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(s);break;case"twitter_oauth":let l={subject:o.subject,username:o.username,name:o.name,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(l);break;case"discord_oauth":let c={subject:o.subject,username:o.username,email:o.email,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(c);break;case"github_oauth":let h={subject:o.subject,username:o.username,name:o.name,email:o.email,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(h);break;case"apple_oauth":let f={subject:o.subject,email:o.email,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(f);break;default:console.warn(`Unrecognized account type: ${r}. Please consider upgrading the Privy SDK.`)}}return t}function st(e,t){return e.sort((o,r)=>r.verifiedAt.getTime()-o.verifiedAt.getTime()),e.find(o=>o.type===t)}function bo(e){let t=ss();if(!t&&e.wallet)return e;let o=e.linkedAccounts.find(n=>n.type==="wallet"&&n.address===t);if(!o)return e;let r=Object.assign({},e);return r.wallet=o&&{address:o.address,chainType:o.chainType,chainId:o.chainId,walletClient:o.walletClient},r}var K=e=>e==null?void 0:e.linkedAccounts.find(t=>t.type==="wallet"&&t.walletClient==="privy");function Ke(e){if(!e)return null;let t=qd(e.linked_accounts),o=st(t,"wallet"),r=st(t,"email"),n=st(t,"phone"),i=st(t,"google_oauth"),a=st(t,"twitter_oauth"),s=st(t,"discord_oauth"),l=st(t,"github_oauth"),c=st(t,"apple_oauth"),h={id:e.id,createdAt:Ze(e.created_at),linkedAccounts:t,email:r&&{address:r==null?void 0:r.address},phone:n&&{number:n==null?void 0:n.number},wallet:o&&{address:o.address,chainType:o.chainType,chainId:o.chainId,walletClient:o.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},apple:c&&{subject:c.subject,email:c.email}};return bo(h)}import Cn from"axios";var ir=class{constructor(t,o,r){this.appId=t,this.sdkVersion=Jr,this.client=o,this.defaults=r}async get(t,o,r=!0){try{return await Cn.get(t,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...o},r))}catch(n){throw Q(n)}}async post(t,o,r,n=!0){try{return await Cn.post(t,o,await this.buildConfig(r,n))}catch(i){throw Q(i)}}async delete(t,o,r=!0){try{return await Cn.delete(t,await this.buildConfig(o,r))}catch(n){throw Q(n)}}async buildConfig(t,o=!0){if(t=t||{},t.headers=t.headers||{},t.headers["privy-app-id"]=this.appId,t.headers["privy-client"]=`react-auth:${this.sdkVersion}`,o){let r=await this.client.getAccessToken();r!==null&&(t.headers.authorization=`Bearer ${r}`)}return{...this.defaults,...t}}};function ls(e){return e instanceof mt?"email":e instanceof ht?"sms":e instanceof nt?"siwe":e instanceof rt?e.meta.provider:null}var lt=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 cs from"jose";var Je=class{static parse(t){try{return new Je(t)}catch{return null}}constructor(t){this.value=t,this._decoded=cs.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 o=Date.now(),r=(this.expiration-t)*1e3;return o>=r}};var zd=30,ar=class{constructor(){this.authenticateOnce=new lt(async t=>this._authenticate(t)),this.linkOnce=new lt(async t=>this._link(t)),this.refreshOnce=new lt(this._refresh.bind(this)),this.destroyOnce=new lt(this._destroy.bind(this)),this.forkSessionOnce=new lt(this._forkSession.bind(this))}get token(){try{let t=q.get(Nt);return typeof t=="string"?new Je(t).value:null}catch(t){return console.error(t),this.destroyLocalState(),null}}get refreshToken(){try{let t=q.get(Bo);return typeof t=="string"?t:null}catch(t){return console.error(t),this.destroyLocalState(),null}}get forkedToken(){try{let t=q.get(mo);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"}hasRecoveryCredentials(){return typeof this.forkedToken=="string"}hasActiveToken(){let t=Je.parse(this.token);return t!==null&&!t.isExpired(zd)}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:o,refresh_token:r,user:n,is_new_user:i}=await t.authenticate();this.storeToken(o),this.storeRefreshToken(r);let a=ls(t);return a&&this.client&&this.client.createAnalyticsEvent("sdk_authenticate",{method:a,isNewUser:i}),a==="siwe"&&this.client&&this.client.createAnalyticsEvent("sdk_authenticate_siwe",{walletType:t.meta.walletType,walletName:t.meta.walletName}),{user:Ke(n),isNewUser:i}}catch(o){throw console.warn("Error authenticating session"),xe(o)}}async _link(t){try{let o=await t.link();return Ke(o)}catch(o){throw console.warn("Error linking account"),xe(o)}}async _refresh(){if(!this.api)throw new C("Session has no API instance");if(!this.client)throw new C("Session has no PrivyClient instance");await this.client.getAccessToken({disableAutoRefresh:!0});let t=this.token,o=this.refreshToken,r=this.forkedToken;try{let n;if(t&&o)n=await this.api.post(Ei(),{refresh_token:o},{headers:{authorization:`Bearer ${t}`}},!1),r&&this.clearForkedToken();else if(r)n=await this.api.post(Si(),{refresh_token:r},{},!1),this.clearForkedToken();else return null;return this.storeToken(n.data.token),this.storeRefreshToken(n.data.refresh_token),Ke(n.data.user)}catch(n){if(n instanceof Mt&&n.status===400&&n.message==="Invalid auth token")return this.destroyLocalState(),null;throw xe(n)}}async _destroy(){var t;try{await((t=this.api)==null?void 0:t.post(xi(),{refresh_token:this.refreshToken}))}catch{console.warn("Error destroying session")}this.destroyLocalState()}async _forkSession(){if(!this.api)throw new C("Session has no API instance");let t=this.refreshToken;try{let o=await this.api.post(_i(),{refresh_token:t});return this.storeToken(o.data.token),this.storeRefreshToken(o.data.refresh_token),o.data.new_session_refresh_token}catch(o){throw xe(o)}}destroyLocalState(){this.storeToken(null),this.storeRefreshToken(null),this.clearForkedToken()}storeToken(t){typeof t=="string"?q.put(Nt,t):q.del(Nt)}storeRefreshToken(t){typeof t=="string"?q.put(Bo,t):q.del(Bo)}clearForkedToken(){q.del(mo)}};var En,vo=class{constructor(t){this.apiUrl=t.apiUrl||Uo;let o=t.timeout||ji;this.appId=t.appId,this.clientAnalyticsId=typeof window>"u"?null:crypto.randomUUID(),this.connectors=new yo,En||(En=new ar),this.session=En,this.api=new ir(t.appId,this,{baseURL:this.apiUrl,timeout:o}),this.session.api=this.api,this.session.client=this}authenticate(){if(!this.authFlow)throw new C("No auth flow in progress.");return this.session.authenticate(this.authFlow)}link(){if(!this.authFlow)throw new C("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 o=await this.api.post(Bi(),{address:t});return Ke(o.data)}catch(o){throw xe(o)}}async unlinkPhone(t){try{let o=await this.api.post(Fi(),{phoneNumber:t});return Ke(o.data)}catch(o){throw xe(o)}}async unlinkWallet(t){try{let o=await this.api.post(Ui(),{address:t});return await this.connectors.removeWallet(t),Ke(o.data)}catch(o){throw xe(o)}}async unlinkOAuth(t,o){try{let r=await this.api.post(Gi(),{provider:t,subject:o});return Ke(r.data)}catch(r){throw xe(r)}}async createAnalyticsEvent(t,o,r){try{if(!this.clientAnalyticsId)throw new Error("Cannot create analytics event if run in node and not browswer");await this.api.post(Hi(),{event_name:t,client_id:this.clientAnalyticsId,payload:{...o||{},clientTimestamp:r?r.toISOString():new Date().toISOString()}})}catch(n){console.error("Failed to create analytics event",n)}}async getAuthenticatedUser(){return this.session.hasRefreshCredentials()||this.session.hasRecoveryCredentials()?this.session.refresh():null}async getAccessToken(t){var o;return this.session.hasActiveToken()?((o=Je.parse(this.session.token))==null?void 0:o.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,appleOAuth:t.data.apple_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 xe(t)}}async setActiveWallet(t,o){if(!o.linkedAccounts.map(i=>i.type==="wallet"?i.address:null).includes(t))throw new C("Cannot set an unlinked address as active.");if(!await this.connectors.setActiveWallet(t))throw new C("Error setting the active wallet.");return bo(o)}async forkSession(){return await this.session.forkSession()}};import"wicg-inert";import{disableBodyScroll as N2,clearAllBodyScrollLocks as O2}from"body-scroll-lock";import{useRef as D2,useCallback as U2}from"react";import{useEffect as xc}from"react";import B2 from"react-dom";import mi from"styled-components";import{createContext as Zd,useContext as Kd}from"react";var xn=Zd({isLinking:!1,linkingHint:null,activeStatus:null,walletConnectionStatus:null,getAuthMeta:x,getAuthFlow:x,closePrivyModal:x,initLoginWithWallet:x,loginWithWallet:x,loginWithCode:x,initLoginWithEmail:x,initLoginWithSms:x,resendEmailCode:x,resendSmsCode:x,initLoginWithOAuth:x,loginWithOAuth:x,refreshUser:x,walletProxy:null,createAnalyticsEvent:x}),P=()=>Kd(xn);import{createContext as Jd,useContext as Yd}from"react";var _n=Jd({ready:!1,authenticated:!1,user:null,walletConnectors:null,login:x,linkEmail:x,linkPhone:x,linkWallet:x,linkGoogle:x,linkTwitter:x,linkDiscord:x,linkGithub:x,linkApple:x,logout:x,getAccessToken:x,getEthereumProvider:x,getEthersProvider:x,getWeb3jsProvider:x,unlinkEmail:x,unlinkPhone:x,unlinkWallet:x,unlinkGoogle:x,unlinkTwitter:x,unlinkDiscord:x,unlinkGithub:x,unlinkApple:x,setActiveWallet:x,forkSession:x,createWallet:x,signMessage:x,sendTransaction:x,exportWallet:x}),N=()=>Yd(_n);import An from"styled-components";import Co,{css as ds}from"styled-components";import Ln from"styled-components";import{Fragment as e1,jsx as Sn,jsxs as t1}from"react/jsx-runtime";var sr=({success:e,fail:t})=>t1(e1,{children:[Sn(wo,{className:e?"success":t?"fail":""}),Sn(Qd,{className:e?"success":t?"fail":""})]}),wo=Ln.span`
|
|
12
|
+
- https://privy.io`;this.proxyProvider=o,this.walletType=t,this.address=r,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=qc(t[0]))}return this.address}async fetchChainId(){if(!this.chain){let t=await this.proxyProvider.request({method:"eth_chainId"}),o=Number(t);this.chain=String(o)}return this.chain}async getConnectedWallet(){if(!this.walletType||!await this.isConnected())return null;let o=await this.fetchAddress(),r=await this.fetchChainId();return{address:o,chainId:r,chainType:"ethereum",walletClient:"unknown"}}async setActive(){return!0}async sign(t){return await this.connect({showPrompt:!1}),new zc(new wt(this.proxyProvider)).getSigner().signMessage(t)}prepareMessage(t,o,r){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,o,n,i,s,r,a)}};var Jc=e=>{let t=`https://mainnet.infura.io/v3/${gt}`,o=1;return e.makeWeb3Provider(t,o)},Ho,Vo=class extends Ie{constructor(t,o){super("coinbase_wallet",t,o),Ho||(Ho=new Zc({appName:"Privy",darkMode:!1,headlessMode:!1}))}async connect(t){return this.proxyProvider.setWalletProvider(Jc(Ho)),t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}disconnect(){Ho.disconnect()}async isConnected(){return await this.fetchAddress()!==null}get walletBranding(){return{name:"Coinbase Wallet",icon:Se}}async promptConnection(){try{let t="",o=await this.proxyProvider.request({method:"eth_requestAccounts"});if(o.length>0&&(t=Kc(o[0])),!t||t==="")throw new Z("Unable to retrieve address");this.connected=!0}catch(t){throw Le(t)}}};import{getAddress as nn}from"@ethersproject/address";import{Web3Provider as Qi}from"@ethersproject/providers";import{isMobile as ed}from"react-device-detect";import{jsx as ye,jsxs as Yc}from"react/jsx-runtime";var Pe=({style:e,...t})=>Yc("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:[ye("rect",{width:"28",height:"28",rx:"3",fill:"white"}),ye("path",{d:"M23.0126 5L15.1958 10.7823L16.6533 7.37359L23.0126 5Z",fill:"#E17726",stroke:"#E17726",strokeWidth:"0.25",strokeLinecap:"round",strokeLinejoin:"round"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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"}),ye("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 Qc}from"libphonenumber-js/min";var Zi=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,}))$/),Ki=e=>Qc(String(e),"US"),Ji=(e,t)=>{let o=e.slice(0),r=[];for(;o.length;)r.push(o.splice(0,t));return r},fe=(e,t=3,o=4)=>{if(!e)return"";let r=2,n=3;if(t+o+r+n>=e.length)return e;let i=e.slice(0,r+t),a=e.slice(e.length-o,e.length);return`${i}...${a}`},on=e=>new Promise(t=>setTimeout(t,e)),Yi=(e,t={})=>{let o=t.delayMs||40,r=t.maxAttempts||1e3;return new Promise(async(n,i)=>{let a=!1,s=0;for(;!a&&s<r;)e().then(()=>{a=!0,n()},(...l)=>{a=!0,i(...l)}),s+=1,await on(o);a||i(new Error("Exceeded max attempts before resolving function"))})},$o=(e,t,o={})=>{let r=new URL(t,e);for(let[n,i]of Object.entries(o))r.searchParams.set(n,i);return r.href},Xc=(e,t)=>e.toLowerCase()===t.toLowerCase(),rn=(e,t)=>{for(let o of e)if(Xc(o,t))return!0;return!1},jo=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,"");var Xi=async()=>{let t=await new Qi(window.ethereum).listAccounts();return t.length===0?null:nn(t[0])},qo=class extends Ie{constructor(t,o){var r;super("metamask",t,o),this.proxyProvider.setWalletProvider(window.ethereum),(r=window.ethereum.providers)==null||r.forEach(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 o=await new Qi(this.proxyProvider).listAccounts();return o.length===0?null:nn(o[0])}get walletBranding(){return{name:"MetaMask",icon:Pe}}disconnect(){console.warn("Metamask does not support programmatic disconnect.")}async promptConnection(){try{let t="";if(!ed&&ea()&&(await this.proxyProvider.request({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]}),this.address&&!await this.isConnected()))throw new Z("Selected the wrong wallet in MetaMask");let o=await this.proxyProvider.request({method:"eth_requestAccounts"});if(o.length>0&&(t=nn(o[0])),!t||t==="")throw new Z("Unable to retrieve address");if(this.address&&t!==this.address)return;this.connected=!0,this.address=t}catch(t){throw Le(t)}}async setActive(){if(await this.connectedMetamaskAddress()===this.address)return this.connected=!0,!0;for(;!await this.isConnected();)await on(200);return this.connected=!0,!0}subscribeListeners(){this.proxyProvider.on("accountsChanged",t=>{var o;if(t.length>0){let r=t[0];this.connected=((o=this.address)==null?void 0:o.toLowerCase())===(r==null?void 0:r.toLowerCase())}else this.connected=!1}),this.proxyProvider.on("disconnect",()=>{this.connected=!1})}};import{getAddress as ta}from"@ethersproject/address";import{Web3Provider as td}from"@ethersproject/providers";import{jsx as Ut,jsxs as zo}from"react/jsx-runtime";var Ne=({style:e,...t})=>zo("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:[Ut("rect",{width:"28",height:"28",rx:"6",fill:"url(#paint0_linear_1765_9937)"}),Ut("path",{d:"M24.0223 14.1704H21.5542C21.5542 9.14083 17.4627 5.06372 12.4151 5.06372C7.43008 5.06372 3.37717 9.04101 3.27798 13.9845C3.17536 19.0945 7.98653 23.5318 13.1154 23.5318H13.7605C18.2822 23.5318 24.3426 20.0047 25.2895 15.7072C25.4643 14.9151 24.8364 14.1704 24.0223 14.1704ZM8.74752 14.3945C8.74752 15.0671 8.19544 15.6172 7.52045 15.6172C6.84545 15.6172 6.29341 15.0669 6.29341 14.3945V12.4165C6.29341 11.7439 6.84545 11.1938 7.52045 11.1938C8.19544 11.1938 8.74752 11.7439 8.74752 12.4165V14.3945ZM13.0083 14.3945C13.0083 15.0671 12.4563 15.6172 11.7813 15.6172C11.1063 15.6172 10.5543 15.0669 10.5543 14.3945V12.4165C10.5543 11.7439 11.1065 11.1938 11.7813 11.1938C12.4563 11.1938 13.0083 11.7439 13.0083 12.4165V14.3945Z",fill:"url(#paint1_linear_1765_9937)"}),zo("defs",{children:[zo("linearGradient",{id:"paint0_linear_1765_9937",x1:"14",y1:"0",x2:"14",y2:"28",gradientUnits:"userSpaceOnUse",children:[Ut("stop",{stopColor:"#534BB1"}),Ut("stop",{offset:"1",stopColor:"#551BF9"})]}),zo("linearGradient",{id:"paint1_linear_1765_9937",x1:"14.2976",y1:"5.06372",x2:"14.2976",y2:"23.5318",gradientUnits:"userSpaceOnUse",children:[Ut("stop",{stopColor:"white"}),Ut("stop",{offset:"1",stopColor:"white",stopOpacity:"0.82"})]})]})]});var Zo=class extends Ie{constructor(t,o){var r;if(super("phantom",t,o),"phantom"in window){let n=window;this.proxyProvider.setWalletProvider(n.phantom.ethereum),(r=n.phantom.ethereum.providers)==null||r.forEach(i=>{i.isPhantom&&this.proxyProvider.setWalletProvider(i)})}this.subscribeListeners()}async connect(t){return t.showPrompt&&await this.promptConnection(),await this.isConnected()?this.getConnectedWallet():null}async isConnected(){let t=await this.connectedPhantomAddress();return this.address===t}async connectedPhantomAddress(){let o=await new td(this.proxyProvider).listAccounts();return o.length===0?null:ta(o[0])}get walletBranding(){return{name:"Phantom",icon:Ne}}disconnect(){console.warn("Phantom does not support programmatic disconnect.")}async promptConnection(){try{let t="",o=await this.proxyProvider.request({method:"eth_requestAccounts"});if(o.length>0&&(t=ta(o[0])),!t||t==="")throw new Z("Unable to retrieve address");this.connected=!0,this.address=t}catch(t){throw Le(t)}}subscribeListeners(){this.proxyProvider.on("accountsChanged",t=>{var o;if(t.length>0){let r=t[0];this.connected=((o=this.address)==null?void 0:o.toLowerCase())===(r==null?void 0:r.toLowerCase())}else this.connected=!0}),this.proxyProvider.on("disconnect",()=>{this.connected=!1})}};import $d from"@walletconnect/web3-provider";import{isAndroid as as}from"react-device-detect";import{createContext as rd,useContext as nd,useEffect as an,useState as ra}from"react";import{jsx as od}from"react/jsx-runtime";function oa(e){return od("link",{rel:"prefetch",href:e.src})}import{jsx as id,jsxs as ad}from"react/jsx-runtime";var ze="LANDING",na=rd({ready:!1,app:null,currentScreen:ze,lastScreen:ze,navigate:x,navigateBack:x,setModalData:x}),ia=e=>{var g,f,p;let t=e.appConfig,o=e.authenticated,r=e.visible,[n,i]=ra(e.initialScreen||ze),[a,s]=ra(e.initialScreen||ze);an(()=>{o||i(ze)},[o]),an(()=>{r||(s(ze),i(ze))},[r]),an(()=>{e.initialScreen&&n===ze&&(i(e.initialScreen),s(e.initialScreen))},[e.initialScreen]);let l=e.initialScreen&&n===ze?e.initialScreen:n,c={ready:!!(t!=null&&t.id),app:t,data:e.data,setModalData:e.setModalData,currentScreen:l,lastScreen:a,navigate:y=>{s(n),i(y)},navigateBack:()=>{i(a)}};return ad(na.Provider,{value:c,children:[(typeof((g=t==null?void 0:t.appearance)==null?void 0:g.logo)=="string"||((p=(f=t==null?void 0:t.appearance)==null?void 0:f.logo)==null?void 0:p.type)==="img")&&id(oa,{src:typeof t.appearance.logo=="string"?t.appearance.logo:t.appearance.logo.props.src}),e.children]})},w=()=>nd(na);import{jsx as Bt,jsxs as sd}from"react/jsx-runtime";var Ft=({style:e,...t})=>{let{app:o}=w();return sd("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:[Bt("rect",{width:"28",height:"28",rx:"3",fill:(o==null?void 0:o.appearance.palette.colorScheme)==="dark"?"#3396ff":"#141414"}),Bt("g",{clipPath:"url(#clip0_1765_9946)",children:Bt("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"})}),Bt("defs",{children:Bt("clipPath",{id:"clip0_1765_9946",children:Bt("rect",{width:"20",height:"12.2531",fill:"white",transform:"translate(4 8)"})})})]})};var hn=Oc(es());import{isAndroid as gn}from"react-device-detect";var tr="c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",yn=e=>{let t=jo(e).trim().toLowerCase();for(let[o,r]of Object.entries(go))if(r.name.toLowerCase()===t)return{id:o,entry:r}},go={"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:{native:"metamask:"}},"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"}}},ts=(e,t="md")=>`https://registry.walletconnect.com/v2/logo/${t}/${e}`;function os(e){return{name:e.name||"",universalLink:e.mobile.universal||"",deepLink:e.mobile.native||""}}function rs(e,t){let o=encodeURIComponent(e);return t.universalLink?`${t.universalLink}/wc?uri=${o}`:t.deepLink?`${t.deepLink}${t.deepLink.endsWith(":")?"//":"/"}wc?uri=${e}`:""}function ns(e,t){return gn?e:rs(e,os(go[t]))}var or=(e,t)=>{if(!e)return;if(gn){(0,hn.saveMobileLinkInfo)({name:"Unknown",href:t||"wc:"});return}let o=go[e];if(!o){console.warn("Attempted to set info for unknown wallet",e);return}let r=rs(t||"wc:",os(o));(0,hn.saveMobileLinkInfo)({name:(o==null?void 0:o.name)||"",href:r})},is=()=>{!gn||window.open("wc:","_self")};var bn=class extends Ie{constructor(o,r,n){super("wallet_connect",r,n);this.connectionManager=o}setActive(){return this.walletProvider.walletId&&or(this.walletProvider.walletId),Promise.resolve(!0)}async connect(o){return o.showPrompt&&await this.promptConnection(),this.getConnectedWallet()}async isConnected(){return this.walletProvider.connected}get walletBranding(){var o,r,n;if(this.walletProvider.walletId){let i=go[this.walletProvider.walletId];return{name:i.name,icon:this.walletProvider.walletId===tr?Pe:ts(i.image_id)}}return{name:jo(((o=this.walletProvider.walletMeta)==null?void 0:o.name)||"")||"WalletConnect",icon:((n=(r=this.walletProvider.walletMeta)==null?void 0:r.icons)==null?void 0:n[0])||Ft}}async promptConnection(){return new Promise((o,r)=>{this.walletProvider.connector.on("disconnect",(i,a)=>{if(i){r(Le(i));return}a.params.some(s=>s.message==="Session Rejected")&&(this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),r(new bt)),r(new Z("Unknown error during connection"))}),this.walletProvider.qrcode&&this.walletProvider.connector.on("modal_closed",()=>{this.setWalletProvider(this.connectionManager.replaceProvider(this,this.walletProvider)),r(new bt)}),this.walletProvider.connector.on("transport_error",(i,a)=>{r(Le(i))}),(async()=>{let i="",a=await Promise.race([this.connectionManager.enableProvider(this.walletProvider),tn()]);if(a.length>0&&(i=a[0]),!i||i==="")throw new Z("Unable to retrieve address");this.connected=!0,o()})().catch(i=>r(Le(i)))})}async sign(o){or(this.walletProvider.walletId),this.walletProvider.connected||await this.connectionManager.enableProvider(this.walletProvider);let r=await this.walletProvider.getWalletConnector();return new Promise(async(n,i)=>{var a;r.signPersonalMessage([o,(a=this.walletProvider.accounts)==null?void 0:a[0]]).then(s=>n(s)),as&&is()})}disconnect(){this.walletProvider.close().catch(()=>console.warn("Unable to disconnect wallet provider"))}get walletProvider(){return this.proxyProvider.walletProvider}setWalletProvider(o){this.proxyProvider.setWalletProvider(o)}},rr=class{constructor(){this._storageIdToProvider={},this.reconnectDelayMs=10,this.reconnectBackoff=2,!(typeof window>"u")&&q.getKeys().forEach(t=>{var o,r;if(t.startsWith("walletconnect")){let n=t.split(":")[2]?t.split(":")[2]:void 0;if(!n){let i=(r=(o=q.get(t))==null?void 0:o.peerMeta)==null?void 0:r.name;if(i){let a=yn(i);a!=null&&a.id&&(n=a.id)}}this.createProviderWithStorageId(t,n)}})}createConnector(t,o,r){let n=this.getProviderForAddress(o,r),i=new bn(this,t,o);return n?n.isConnecting&&(n=this.replaceProvider(i,n)):n=this.createProvider(i,r),i.setWalletProvider(n),i}async disconnect(){await Promise.all(Object.values(this._storageIdToProvider).map(async t=>await t.disconnect()))}getStorageId(t,o){if(!t)return;let r=q.getKeys().filter(i=>i.startsWith("walletconnect"));if(o){let i=r.filter(a=>a.includes(o));if(i){let a=i.find(s=>rn(q.get(s).accounts,t));if(a)return a}}let n=r.find(i=>rn(q.get(i).accounts,t));if(!(n&&o&&!n.includes(o)))return n}getProviderForAddress(t,o){let r=this.getStorageId(t,o);r||(r=`${Yr}:${Math.random().toString(36).slice(2)}:${o||""}`);let n=this._storageIdToProvider[r];if(n)return n}createProviderWithStorageId(t,o){let r=o?{qrcode:!1}:{},n=new $d({infuraId:gt,storageId:t,pollingInterval:qi,...r});return n.walletId=o,o?n.connector.on("display_uri",(i,a)=>{or(o);let s=a.params[0],l=ns(s,o);as?window.open(l):window.open(l,"_self","noopener,noreferrer")}):n.connector.on("connect",()=>{var i,a,s;(i=n.walletMeta)!=null&&i.name&&(n.walletId=(s=yn((a=n.walletMeta)==null?void 0:a.name))==null?void 0:s.id)}),this._storageIdToProvider[t]=n,n}createProvider(t,o){let r=`${Yr}:${Math.random().toString(36).slice(2)}:${o||""}`,n=this.createProviderWithStorageId(r,o);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,o){o.close().catch(()=>console.warn("Unable to disconnect provider"));let r=Object.entries(this._storageIdToProvider).find(([n,i])=>i.connector.session.key===o.connector.session.key);return r&&delete this._storageIdToProvider[r[0]],this.createProvider(t,o.walletId)}async enableProvider(t){return t.connected?Promise.resolve(t.accounts):await t.enable()}};var ea=()=>{if(!window.ethereum)return!1;if(nr(window.ethereum,!0))return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(nr(e,!0))return!0}return!1},vn=()=>{if(!window.ethereum)return!1;if(nr(window.ethereum,!1))return!0;if(window.ethereum.providers){for(let e of window.ethereum.providers)if(nr(e,!1))return!0}return!1},nr=(e,t)=>e.isMetaMask?e.isMetaMask&&!t?!0:!(e.isBraveWallet&&!e._events&&!e._state||e.isApexWallet||e.isAvalanche||e.isBitKeep||e.isBlockWallet||e.isKuCoinWallet||e.isMathWallet||e.isOkxWallet||e.isOKExWallet||e.isOneInchIOSWallet||e.isOneInchAndroidWallet||e.isOpera||e.isPhantom||e.isPortal||e.isRabby||e.isTokenPocket||e.isTokenary||e.isZerion):!1,at=()=>{var e,t;if("phantom"in window){let o=window;if((t=(e=o==null?void 0:o.phantom)==null?void 0:e.ethereum)!=null&&t.isPhantom)return!0}return!1},$t=()=>{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},wn=e=>{let t=localStorage.getItem("-walletlink:https://www.walletlink.org:Addresses");return t?!!(e==null?void 0:e.linkedAccounts.filter(r=>r.type=="wallet"&&r.address===jd(t)).length):!1},ss=()=>{var t;let e=q.get(Fo);return e?(t=e.find(o=>o.active))==null?void 0:t.address:null},yo=class{constructor(){this.getEthereumProvider=()=>{var t;return((t=this.activeWalletConnector)==null?void 0:t.proxyProvider)||new Re};this.walletConnectors=[],this.wcConnectionManager=new rr,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(Fo)||[]).forEach(o=>{let r=this.createWalletConnector(o.walletType,o.address);this.addWalletConnector(r),o.active&&(this.activeWalletConnector=r)})}save(){let t=this.walletConnectors.map(o=>{var r;return{address:o.address,walletType:o.walletType,active:o.address===((r=this.activeWalletConnector)==null?void 0:r.address)&&o.walletType===this.activeWalletConnector.walletType}});q.put(Fo,t)}addWalletConnector(t){this.walletConnectors.find(r=>r.address===t.address&&r.walletType===t.walletType)||this.walletConnectors.push(t)}getConnectorByAddress(t){return this.walletConnectors.find(o=>{var r;return((r=o.address)==null?void 0:r.toLowerCase())===t.toLowerCase()})}async removeWallet(t){let o=this.walletConnectors.find(r=>r.address===t);o&&o.disconnect(),this.walletConnectors=this.walletConnectors.filter(r=>r.address!==t),this.activeWalletConnector=void 0,this.save()}async activeWalletSign(t){if(!this.activeWalletConnector)throw new Z("Cannot sign, no wallet is active. Is a wallet connected?");return this.activeWalletConnector.sign(t)}async setActiveWallet(t){let o=this.walletConnectors.find(r=>r.address===t);if(o){let r=await o.setActive();return this.activeWalletConnector=r?o:void 0,this.activeWalletConnector&&this.activeWalletConnector.proxyProvider.on("accountsChanged",n=>{var i;n.length===0&&(((i=this.activeWalletConnector)==null?void 0:i.address)===t&&(this.activeWalletConnector=void 0),this.save())}),this.save(),!0}return!1}createWalletConnector(t,o,r){switch(t){case"metamask":return new qo(new Re,o);case"phantom":return new Zo(new Re,o);case"coinbase_wallet":return new Vo(new Re,o);case"wallet_connect":return this.wcConnectionManager.createConnector(new Re,o,r)}}};function Ze(e){return new Date(e*1e3)}function qd(e){let t=[];for(let o of e){let r=o.type;switch(o.type){case"wallet":let n={address:o.address,type:o.type,verifiedAt:Ze(o.verified_at),chainType:o.chain_type,walletClient:o.wallet_client};t.push(n);break;case"email":let i={address:o.address,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(i);break;case"phone":let a={number:o.phoneNumber,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(a);break;case"google_oauth":let s={subject:o.subject,email:o.email,name:o.name,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(s);break;case"twitter_oauth":let l={subject:o.subject,username:o.username,name:o.name,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(l);break;case"discord_oauth":let c={subject:o.subject,username:o.username,email:o.email,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(c);break;case"github_oauth":let g={subject:o.subject,username:o.username,name:o.name,email:o.email,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(g);break;case"apple_oauth":let f={subject:o.subject,email:o.email,type:o.type,verifiedAt:Ze(o.verified_at)};t.push(f);break;default:console.warn(`Unrecognized account type: ${r}. Please consider upgrading the Privy SDK.`)}}return t}function st(e,t){return e.sort((o,r)=>r.verifiedAt.getTime()-o.verifiedAt.getTime()),e.find(o=>o.type===t)}function bo(e){let t=ss();if(!t&&e.wallet)return e;let o=e.linkedAccounts.find(n=>n.type==="wallet"&&n.address===t);if(!o)return e;let r=Object.assign({},e);return r.wallet=o&&{address:o.address,chainType:o.chainType,chainId:o.chainId,walletClient:o.walletClient},r}var K=e=>e==null?void 0:e.linkedAccounts.find(t=>t.type==="wallet"&&t.walletClient==="privy");function Ke(e){if(!e)return null;let t=qd(e.linked_accounts),o=st(t,"wallet"),r=st(t,"email"),n=st(t,"phone"),i=st(t,"google_oauth"),a=st(t,"twitter_oauth"),s=st(t,"discord_oauth"),l=st(t,"github_oauth"),c=st(t,"apple_oauth"),g={id:e.id,createdAt:Ze(e.created_at),linkedAccounts:t,email:r&&{address:r==null?void 0:r.address},phone:n&&{number:n==null?void 0:n.number},wallet:o&&{address:o.address,chainType:o.chainType,chainId:o.chainId,walletClient:o.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},apple:c&&{subject:c.subject,email:c.email}};return bo(g)}import Cn from"axios";var ir=class{constructor(t,o,r){this.appId=t,this.sdkVersion=Jr,this.client=o,this.defaults=r}async get(t,o,r=!0){try{return await Cn.get(t,await this.buildConfig({headers:{"Cache-Control":"no-cache"},...o},r))}catch(n){throw Q(n)}}async post(t,o,r,n=!0){try{return await Cn.post(t,o,await this.buildConfig(r,n))}catch(i){throw Q(i)}}async delete(t,o,r=!0){try{return await Cn.delete(t,await this.buildConfig(o,r))}catch(n){throw Q(n)}}async buildConfig(t,o=!0){if(t=t||{},t.headers=t.headers||{},t.headers["privy-app-id"]=this.appId,t.headers["privy-client"]=`react-auth:${this.sdkVersion}`,o){let r=await this.client.getAccessToken();r!==null&&(t.headers.authorization=`Bearer ${r}`)}return{...this.defaults,...t}}};function ls(e){return e instanceof mt?"email":e instanceof ht?"sms":e instanceof nt?"siwe":e instanceof rt?e.meta.provider:null}var lt=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 cs from"jose";var Je=class{static parse(t){try{return new Je(t)}catch{return null}}constructor(t){this.value=t,this._decoded=cs.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 o=Date.now(),r=(this.expiration-t)*1e3;return o>=r}};var zd=30,ar=class{constructor(){this.authenticateOnce=new lt(async t=>this._authenticate(t)),this.linkOnce=new lt(async t=>this._link(t)),this.refreshOnce=new lt(this._refresh.bind(this)),this.destroyOnce=new lt(this._destroy.bind(this)),this.forkSessionOnce=new lt(this._forkSession.bind(this))}get token(){try{let t=q.get(Nt);return typeof t=="string"?new Je(t).value:null}catch(t){return console.error(t),this.destroyLocalState(),null}}get refreshToken(){try{let t=q.get(Bo);return typeof t=="string"?t:null}catch(t){return console.error(t),this.destroyLocalState(),null}}get forkedToken(){try{let t=q.get(mo);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"}hasRecoveryCredentials(){return typeof this.forkedToken=="string"}hasActiveToken(){let t=Je.parse(this.token);return t!==null&&!t.isExpired(zd)}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:o,refresh_token:r,user:n,is_new_user:i}=await t.authenticate();this.storeToken(o),this.storeRefreshToken(r);let a=ls(t);return a&&this.client&&this.client.createAnalyticsEvent("sdk_authenticate",{method:a,isNewUser:i}),a==="siwe"&&this.client&&this.client.createAnalyticsEvent("sdk_authenticate_siwe",{walletType:t.meta.walletType,walletName:t.meta.walletName}),{user:Ke(n),isNewUser:i}}catch(o){throw console.warn("Error authenticating session"),xe(o)}}async _link(t){try{let o=await t.link();return Ke(o)}catch(o){throw console.warn("Error linking account"),xe(o)}}async _refresh(){if(!this.api)throw new C("Session has no API instance");if(!this.client)throw new C("Session has no PrivyClient instance");await this.client.getAccessToken({disableAutoRefresh:!0});let t=this.token,o=this.refreshToken,r=this.forkedToken;try{let n;if(t&&o)n=await this.api.post(Ei(),{refresh_token:o},{headers:{authorization:`Bearer ${t}`}},!1),r&&this.clearForkedToken();else if(r)n=await this.api.post(Si(),{refresh_token:r},{},!1),this.clearForkedToken();else return null;return this.storeToken(n.data.token),this.storeRefreshToken(n.data.refresh_token),Ke(n.data.user)}catch(n){if(n instanceof Mt&&n.status===400&&n.message==="Invalid auth token")return this.destroyLocalState(),null;throw xe(n)}}async _destroy(){var t;try{await((t=this.api)==null?void 0:t.post(xi(),{refresh_token:this.refreshToken}))}catch{console.warn("Error destroying session")}this.destroyLocalState()}async _forkSession(){if(!this.api)throw new C("Session has no API instance");let t=this.refreshToken;try{let o=await this.api.post(_i(),{refresh_token:t});return this.storeToken(o.data.token),this.storeRefreshToken(o.data.refresh_token),o.data.new_session_refresh_token}catch(o){throw xe(o)}}destroyLocalState(){this.storeToken(null),this.storeRefreshToken(null),this.clearForkedToken()}storeToken(t){typeof t=="string"?q.put(Nt,t):q.del(Nt)}storeRefreshToken(t){typeof t=="string"?q.put(Bo,t):q.del(Bo)}clearForkedToken(){q.del(mo)}};var En,vo=class{constructor(t){this.apiUrl=t.apiUrl||Uo;let o=t.timeout||ji;this.appId=t.appId,this.clientAnalyticsId=typeof window>"u"?null:crypto.randomUUID(),this.connectors=new yo,En||(En=new ar),this.session=En,this.api=new ir(t.appId,this,{baseURL:this.apiUrl,timeout:o}),this.session.api=this.api,this.session.client=this}authenticate(){if(!this.authFlow)throw new C("No auth flow in progress.");return this.session.authenticate(this.authFlow)}link(){if(!this.authFlow)throw new C("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 o=await this.api.post(Bi(),{address:t});return Ke(o.data)}catch(o){throw xe(o)}}async unlinkPhone(t){try{let o=await this.api.post(Fi(),{phoneNumber:t});return Ke(o.data)}catch(o){throw xe(o)}}async unlinkWallet(t){try{let o=await this.api.post(Ui(),{address:t});return await this.connectors.removeWallet(t),Ke(o.data)}catch(o){throw xe(o)}}async unlinkOAuth(t,o){try{let r=await this.api.post(Gi(),{provider:t,subject:o});return Ke(r.data)}catch(r){throw xe(r)}}async createAnalyticsEvent(t,o,r){try{if(!this.clientAnalyticsId)throw new Error("Cannot create analytics event if run in node and not browswer");await this.api.post(Hi(),{event_name:t,client_id:this.clientAnalyticsId,payload:{...o||{},clientTimestamp:r?r.toISOString():new Date().toISOString()}})}catch(n){console.error("Failed to create analytics event",n)}}async getAuthenticatedUser(){return this.session.hasRefreshCredentials()||this.session.hasRecoveryCredentials()?this.session.refresh():null}async getAccessToken(t){var o;return this.session.hasActiveToken()?((o=Je.parse(this.session.token))==null?void 0:o.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,appleOAuth:t.data.apple_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 xe(t)}}async setActiveWallet(t,o){if(!o.linkedAccounts.map(i=>i.type==="wallet"?i.address:null).includes(t))throw new C("Cannot set an unlinked address as active.");if(!await this.connectors.setActiveWallet(t))throw new C("Error setting the active wallet.");return bo(o)}async forkSession(){return await this.session.forkSession()}};import"wicg-inert";import{disableBodyScroll as N2,clearAllBodyScrollLocks as O2}from"body-scroll-lock";import{useRef as D2,useCallback as U2}from"react";import{useEffect as xc}from"react";import B2 from"react-dom";import mi from"styled-components";import{createContext as Zd,useContext as Kd}from"react";var xn=Zd({isLinking:!1,linkingHint:null,activeStatus:null,walletConnectionStatus:null,getAuthMeta:x,getAuthFlow:x,closePrivyModal:x,initLoginWithWallet:x,loginWithWallet:x,loginWithCode:x,initLoginWithEmail:x,initLoginWithSms:x,resendEmailCode:x,resendSmsCode:x,initLoginWithOAuth:x,loginWithOAuth:x,refreshUser:x,walletProxy:null,createAnalyticsEvent:x}),P=()=>Kd(xn);import{createContext as Jd,useContext as Yd}from"react";var _n=Jd({ready:!1,authenticated:!1,user:null,walletConnectors:null,login:x,linkEmail:x,linkPhone:x,linkWallet:x,linkGoogle:x,linkTwitter:x,linkDiscord:x,linkGithub:x,linkApple:x,logout:x,getAccessToken:x,getEthereumProvider:x,getEthersProvider:x,getWeb3jsProvider:x,unlinkEmail:x,unlinkPhone:x,unlinkWallet:x,unlinkGoogle:x,unlinkTwitter:x,unlinkDiscord:x,unlinkGithub:x,unlinkApple:x,setActiveWallet:x,forkSession:x,createWallet:x,signMessage:x,sendTransaction:x,exportWallet:x}),N=()=>Yd(_n);import An from"styled-components";import Co,{css as ds}from"styled-components";import Ln from"styled-components";import{Fragment as e1,jsx as Sn,jsxs as t1}from"react/jsx-runtime";var sr=({success:e,fail:t})=>t1(e1,{children:[Sn(wo,{className:e?"success":t?"fail":""}),Sn(Qd,{className:e?"success":t?"fail":""})]}),wo=Ln.span`
|
|
13
13
|
&& {
|
|
14
14
|
width: 82px;
|
|
15
15
|
height: 82px;
|
|
@@ -383,7 +383,7 @@ Resources:
|
|
|
383
383
|
border-color: var(--privy-color-background-2);
|
|
384
384
|
border-width: 1px;
|
|
385
385
|
}
|
|
386
|
-
`;import{Fragment as Wn,jsx as we,jsxs as xt}from"react/jsx-runtime";var Rn=6,Ws=new Array(Rn).fill(""),v1=1400;var Rs=()=>{var ne,re,D;let{app:e,data:t,navigate:o,setModalData:r}=w(),{closePrivyModal:n,resendEmailCode:i,resendSmsCode:a,getAuthMeta:s,loginWithCode:l}=P(),{authenticated:c,user:
|
|
386
|
+
`;import{Fragment as Wn,jsx as we,jsxs as xt}from"react/jsx-runtime";var Rn=6,Ws=new Array(Rn).fill(""),v1=1400;var Rs=()=>{var ne,re,D;let{app:e,data:t,navigate:o,setModalData:r}=w(),{closePrivyModal:n,resendEmailCode:i,resendSmsCode:a,getAuthMeta:s,loginWithCode:l}=P(),{authenticated:c,user:g}=N(),[f,p]=ur(Ws),[y,b]=ur(!1),[d,h]=ur(null),[v,S]=ur(null),W=(ne=s())!=null&&ne.email?0:1;ks(()=>{var j;if(!(c&&y&&g))return;if(((j=t==null?void 0:t.login)==null?void 0:j.promptCreatePrivyWalletFlow)&&!g.wallet){let Ee=setTimeout(()=>{r({createWallet:{onSuccess:()=>{},onFailure:ae=>console.error(ae),callAuthOnSuccessOnClose:!0}}),o("EMBEDDED_WALLET_SCREEN")},_e-500);return()=>clearTimeout(Ee)}else{let Ee=setTimeout(n,_e);return()=>clearTimeout(Ee)}},[c,y,g]),ks(()=>{if(d&&v===0){let V=setTimeout(()=>{p(Ws),h(null);let H=document.querySelector("input[name=code-0]");H==null||H.focus()},v1);return()=>clearTimeout(V)}},[d]);let I=V=>{var z;let H=V.currentTarget.value.replace(" ","");if(H==="")return;if(isNaN(Number(H))){h("Code should be numeric"),S(1);return}h(null),S(null);let j=Number((z=V.currentTarget.name)==null?void 0:z.charAt(5)),Ee=[...H||[""]].slice(0,Rn-j),ae=[...f.slice(0,j),...Ee,...f.slice(j+Ee.length)];p(ae);let se=Ee.length,je=Math.min(Math.max(j+se,0),Rn-1);if(!isNaN(Number(V.currentTarget.value))){let ue=document.querySelector(`input[name=code-${je}]`);ue==null||ue.focus()}if(ae.every(ue=>ue&&!isNaN(+ue))){let ue=document.querySelector(`input[name=code-${je}]`);ue==null||ue.blur(),l(ae.join("")).then(()=>b(!0)).catch(fo=>{(fo==null?void 0:fo.status)===422?h("Invalid or expired verification code"):h("Issue verifying code"),S(0)})}V.preventDefault()},A=V=>{v===1&&(h(null),S(null));let H=[...f.slice(0,V),"",...f.slice(V+1)];if(p(H),V>0){let j=document.querySelector(`input[name=code-${V-1}]`);j==null||j.focus()}},G=`Verify your ${W==0?"email":"phone"}`,$=W==0?xt("p",{children:["Please check ",we(_1,{children:(re=s())==null?void 0:re.email})," for an email from privy.io and enter your code below."]}):`Please check ${(D=s())==null?void 0:D.phoneNumber} for a message from ${(e==null?void 0:e.name)||"privy.io"} and enter your code below.`;return xt(Wn,{children:[we(_,{},"header"),xt(w1,{children:[we(te,{title:G,description:$}),xt(jt,{children:[xt(C1,{children:[we(E1,{fail:!!d,success:y,children:we("span",{children:d||(y?"Success!":"")})}),we("div",{children:f.map((V,H)=>we("input",{name:`code-${H}`,type:"text",value:f[H],onChange:I,onKeyUp:j=>{j.key==="Backspace"&&A(H)},inputMode:"numeric",autoFocus:H===0,pattern:"[0-9]",className:`${y?"success":""} ${d?"fail":""}`,autoComplete:b1?"one-time-code":"off"},H))})]}),we(x1,{children:W==0?xt(Wn,{children:[we("span",{children:"Didn't get an email?"}),we("button",{onClick:i,children:"Resend Code"})]}):xt(Wn,{children:[we("span",{children:"Didn't get a message?"}),we("button",{onClick:a,children:"Resend Code"})]})})]})]}),we(B,{protectedByPrivy:!0})]})},w1=Eo.div`
|
|
387
387
|
display: flex;
|
|
388
388
|
flex-direction: column;
|
|
389
389
|
align-items: flex-start;
|
|
@@ -484,7 +484,7 @@ Resources:
|
|
|
484
484
|
word-break: break-all;
|
|
485
485
|
`;import{useEffect as L1,useState as P1}from"react";import T1 from"styled-components";import{isMobile as S1}from"react-device-detect";var Is=e=>{let t=new URL(window.location.href);if(!$t()&&S1)return`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(`${t.href.replace(/\/$/g,"")}?privy_wallet_client=coinbase_wallet${e?`&privy_token=${e}`:""}`)}`};import{Fragment as k1,jsx as _t,jsxs as Ms}from"react/jsx-runtime";var Ns=()=>{let{forkSession:e,ready:t,authenticated:o}=N(),{closePrivyModal:r}=P(),[n,i]=P1("");L1(()=>{t&&o&&e().then(l=>i(l))},[o,t]);let a=Is(n),s={title:"Redirecting to Coinbase Wallet",description:"We'll take you to the Coinbase Wallet app to continue your login experience.",footnote:""};return t&&o&&(s.description="For the best experience, we'll automatically log you into the Coinbase Wallet in-app browser.",s.footnote="Once you're done, you can always return here and refresh to view your updated account."),Ms(k1,{children:[_t(_,{},"header"),_t(dt,{title:s.title,description:s.description}),Ms(he,{children:[_t(A1,{children:_t(Se,{style:{width:"72px",height:"72px"}})}),_t(lr,{href:a,onClick:()=>{r()},loading:t&&o&&!n,children:"Continue"}),s.footnote?_t("p",{children:s.footnote}):null]}),_t(B,{protectedByPrivy:!0})]})},A1=T1(jt)`
|
|
486
486
|
margin: 16px auto;
|
|
487
|
-
`;import{useEffect as In,useState as xo}from"react";import{isMobile as Os}from"react-device-detect";import Mn from"styled-components";import{Fragment as Bs,jsx as le,jsxs as mr}from"react/jsx-runtime";var fr=2,hr={metamask:{name:"MetaMask",component:Pe},phantom:{name:"Phantom",component:Ne},coinbase_wallet:{name:"Coinbase Wallet",component:Se},wallet_connect:{name:"WalletConnect",component:Ft}},W1=e=>(e==null?void 0:e.privyErrorCode)==="linked_to_another_user"?vt.ERROR_USER_EXISTS:e instanceof Dt&&!e.details.default?e.details:e instanceof Ot?vt.ERROR_TIMED_OUT:e instanceof bt?vt.ERROR_USER_REJECTED_CONNECTION:vt.ERROR_WALLET_CONNECTION,Us=()=>{var j,Ee,ae,se,je;let[e,t]=xo(!1),[o,r]=xo(!1),[n,i]=xo(void 0),{navigate:a,navigateBack:s}=w(),{getAuthFlow:l,walletConnectionStatus:c,closePrivyModal:
|
|
487
|
+
`;import{useEffect as In,useState as xo}from"react";import{isMobile as Os}from"react-device-detect";import Mn from"styled-components";import{Fragment as Bs,jsx as le,jsxs as mr}from"react/jsx-runtime";var fr=2,hr={metamask:{name:"MetaMask",component:Pe},phantom:{name:"Phantom",component:Ne},coinbase_wallet:{name:"Coinbase Wallet",component:Se},wallet_connect:{name:"WalletConnect",component:Ft}},W1=e=>(e==null?void 0:e.privyErrorCode)==="linked_to_another_user"?vt.ERROR_USER_EXISTS:e instanceof Dt&&!e.details.default?e.details:e instanceof Ot?vt.ERROR_TIMED_OUT:e instanceof bt?vt.ERROR_USER_REJECTED_CONNECTION:vt.ERROR_WALLET_CONNECTION,Us=()=>{var j,Ee,ae,se,je;let[e,t]=xo(!1),[o,r]=xo(!1),[n,i]=xo(void 0),{navigate:a,navigateBack:s}=w(),{getAuthFlow:l,walletConnectionStatus:c,closePrivyModal:g,loginWithWallet:f}=P(),{walletConnectors:p}=N(),[y,b]=xo(0),{user:d}=N(),[h]=xo((d==null?void 0:d.linkedAccounts.length)||0),v=l(),S=Os&&(v==null?void 0:v.meta.walletType)==="wallet_connect"||Os&&(v==null?void 0:v.meta.walletType)==="coinbase_wallet",W=(c==null?void 0:c.status)==="connected";In(()=>{!v||S||!W||(r(!0),i(void 0),A().catch(z=>console.warn("Auto-prompted signature failed",z)).finally(()=>r(!1)))},[y,W]),In(()=>{if(d&&e){let z=setTimeout(g,_e);return()=>clearTimeout(z)}},[d,e]);let I=z=>{if((z==null?void 0:z.privyErrorCode)==="allowlist_rejected"){a("ALLOWLIST_REJECTION_SCREEN");return}i(W1(z))};async function A(){try{await f(),t(!0)}catch(z){I(z)}finally{r(!1)}}In(()=>{c!=null&&c.connectError&&I(c==null?void 0:c.connectError)},[c]);let G=(v==null?void 0:v.meta.walletType)||"metamask",$=((j=v==null?void 0:v.meta)==null?void 0:j.walletName)||((Ee=hr[G])==null?void 0:Ee.name)||"Metamask",ne=((ae=v==null?void 0:v.meta)==null?void 0:ae.walletIcon)||((se=hr[G])==null?void 0:se.component)||(z=>le(Pe,{...z})),re=e?`Successfully connected with ${$}`:n?n.message:W?"Sign to verify":`Waiting for ${$}`,D="Don\u2019t see your wallet modal? Check your other browser windows.";if(e){let z=(d==null?void 0:d.linkedAccounts.length)||0;h===z?D="Wallet was already linked.":D="You\u2019re good to go!"}else y>=fr&&n?D="Unable to connect wallet":n?D=n.detail:W&&S?D="Sign the message in your wallet to verify it belongs to you.":G==="metamask"?D="For the best experience, connect only one wallet at a time.":G==="wallet_connect"?D="Open your mobile wallet app to continue":G==="coinbase_wallet"&&($t()||(wn(d)?D="Continue with the Coinbase app. Not the right wallet? Reset your connection below.":D="Open the Coinbase app on your phone to continue."));let V=(je=p==null?void 0:p.walletConnectors)==null?void 0:je.find(z=>z.walletType==="coinbase_wallet"),H=G==="coinbase_wallet"&&(wn(d)||n===vt.ERROR_USER_EXISTS);return mr(Bs,{children:[le(_,{backFn:s}),mr(R1,{children:[le(Nn,{walletLogo:ne,success:e,fail:!!n}),mr(I1,{children:[le("h3",{children:re}),le("p",{children:D})]}),le(ms,{children:H?le(me,{onClick:()=>V&&(V==null?void 0:V.disconnect()),invisible:e,disabled:e,children:"Use a different wallet"}):n==vt.ERROR_USER_EXISTS?le(me,{onClick:s,children:"Use a different wallet"}):W&&!e&&S?le(me,{onClick:()=>{r(!0),A()},disabled:o,children:o?"Signing":"Sign with your wallet"}):!e&&(n==null?void 0:n.retryable)&&y<fr?le(me,{onClick:()=>{b(y+1),i(void 0),c==null||c.connectRetry()},invisible:e||!(n!=null&&n.retryable)||y>=fr,disabled:!e&&(!(n!=null&&n.retryable)||y>=fr),children:"Retry"}):null})]})]})},R1=Mn.div`
|
|
488
488
|
display: flex;
|
|
489
489
|
flex-direction: column;
|
|
490
490
|
align-items: center;
|
|
@@ -522,7 +522,7 @@ Resources:
|
|
|
522
522
|
left: -19px;
|
|
523
523
|
top: -19px;
|
|
524
524
|
}
|
|
525
|
-
`,Nn=e=>{let t=e.walletLogo;return le(Bs,{children:le(M1,{children:mr("div",{children:[le(sr,{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 N1,useMemo as O1}from"react";import _o from"styled-components";var Fs=["error","invalid_request_arguments","wallet_not_on_device","invalid_recovery_pin","insufficient_funds"];var Xe=class extends Error{constructor(o,r){super(r);this.type=o}};function On(e){let t=e.type;return typeof t=="string"&&Fs.includes(t)}function Gs(e){return On(e)&&e.type==="wallet_not_on_device"}function Hs(e){return On(e)&&e.type==="invalid_recovery_pin"}function Vs(e){return On(e)&&e.type==="insufficient_funds"}import{jsx as $s}from"react/jsx-runtime";var js=()=>$s("svg",{width:"160",height:"160",viewBox:"0 0 160 160",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:$s("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 H1,jsx as St,jsxs as Dn}from"react/jsx-runtime";var qs=1,zs=()=>{let{authenticated:e,user:t,getAccessToken:o}=N(),{closePrivyModal:r,walletProxy:n}=P(),{navigate:i,data:a,setModalData:s}=w(),l=O1(()=>Date.now(),[]),{onCompleteNavigateTo:c,onFailure:
|
|
525
|
+
`,Nn=e=>{let t=e.walletLogo;return le(Bs,{children:le(M1,{children:mr("div",{children:[le(sr,{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 N1,useMemo as O1}from"react";import _o from"styled-components";var Fs=["error","invalid_request_arguments","wallet_not_on_device","invalid_recovery_pin","insufficient_funds"];var Xe=class extends Error{constructor(o,r){super(r);this.type=o}};function On(e){let t=e.type;return typeof t=="string"&&Fs.includes(t)}function Gs(e){return On(e)&&e.type==="wallet_not_on_device"}function Hs(e){return On(e)&&e.type==="invalid_recovery_pin"}function Vs(e){return On(e)&&e.type==="insufficient_funds"}import{jsx as $s}from"react/jsx-runtime";var js=()=>$s("svg",{width:"160",height:"160",viewBox:"0 0 160 160",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:$s("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 H1,jsx as St,jsxs as Dn}from"react/jsx-runtime";var qs=1,zs=()=>{let{authenticated:e,user:t,getAccessToken:o}=N(),{closePrivyModal:r,walletProxy:n}=P(),{navigate:i,data:a,setModalData:s}=w(),l=O1(()=>Date.now(),[]),{onCompleteNavigateTo:c,onFailure:g}=a==null?void 0:a.connectWallet,f=p=>{r({shouldCallAuthOnSuccess:!1}),g(typeof p=="string"?new Error(p):p)};return N1(()=>{let p=K(t),y;return!e||!p?f("User must be authenticated and have a Privy wallet before it can be connected"):n?((async()=>{let d=await o();if(!d)return f("User must be authenticated and have a Privy wallet before it can be connected");try{await n.connect({accessToken:d,address:p.address});let h=(Date.now()-l)/1e3;c==="EMBEDDED_WALLET_KEY_EXPORT_SCREEN"&&h<qs?y=setTimeout(()=>{i(c)},(qs-h)*1e3):i(c)}catch(h){Gs(h)?(s({...a,recoverWallet:{onCompleteNavigateTo:c,onFailure:g}}),i("EMBEDDED_WALLET_RECOVERY_SCREEN")):f(h)}})(),()=>clearTimeout(y)):void 0},[e,t,n]),Dn(H1,{children:[St(_,{onClose:()=>f("User exited before wallet could be connected")}),Dn(D1,{children:[St(Ue,{title:"Loading your account",description:"Please wait one moment while we load your account information"}),St(U1,{children:Dn(B1,{children:[St(js,{}),St(F1,{}),St(G1,{})]})})]}),St(B,{protectedByPrivy:!0})]})},D1=_o.div`
|
|
526
526
|
display: flex;
|
|
527
527
|
height: 100%;
|
|
528
528
|
flex-direction: column;
|
|
@@ -629,7 +629,7 @@ Resources:
|
|
|
629
629
|
background-position: 0% 50%;
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
|
-
`;import{Fragment as tp,jsx as Be,jsxs as Jt}from"react/jsx-runtime";var Qs=()=>{var f;let{user:e}=N(),{closePrivyModal:t}=P(),{data:o}=w(),r=K(e),{onSuccess:n,onFailure:i,callAuthOnSuccessOnClose:a}=o.createWallet,s=()=>{r?(n(r),t({shouldCallAuthOnSuccess:a})):i(new Error("Failed to create wallet"))},l="Your account",c="You\u2019re all set! This account is tied to a digital wallet. It can only ever be accessed by you.",
|
|
632
|
+
`;import{Fragment as tp,jsx as Be,jsxs as Jt}from"react/jsx-runtime";var Qs=()=>{var f;let{user:e}=N(),{closePrivyModal:t}=P(),{data:o}=w(),r=K(e),{onSuccess:n,onFailure:i,callAuthOnSuccessOnClose:a}=o.createWallet,s=()=>{r?(n(r),t({shouldCallAuthOnSuccess:a})):i(new Error("Failed to create wallet"))},l="Your account",c="You\u2019re all set! This account is tied to a digital wallet. It can only ever be accessed by you.",g=fe(r.address);return Jt(tp,{children:[Be(_,{onClose:s}),Jt(K1,{children:[Jt("div",{children:[Be(te,{title:l,description:c}),Jt(J1,{children:[Be(Ys,{}),Jt(Y1,{children:[Be("p",{children:((f=e==null?void 0:e.email)==null?void 0:f.address)||""}),Jt(Q1,{children:[Be(X1,{children:g})," ",Be(dr,{color:"var(--privy-color-foreground)"})]})]})]}),Be(ep,{children:Be(gr,{text:r.address,itemName:"Address"})})]}),Be(J,{onClick:s,children:"I\u2019m all set"})]}),Be(B,{protectedByPrivy:!0})]})},K1=Yt.div`
|
|
633
633
|
display: flex;
|
|
634
634
|
height: 100%;
|
|
635
635
|
flex-direction: column;
|
|
@@ -668,7 +668,7 @@ Resources:
|
|
|
668
668
|
`,ep=Yt.div`
|
|
669
669
|
display: flex;
|
|
670
670
|
justify-content: center;
|
|
671
|
-
`;import{useEffect as ol,useRef as rp,useState as Bn}from"react";import et from"styled-components";import{jsx as ge,jsxs as op}from"react/jsx-runtime";var Xs=({style:e,...t})=>op("svg",{width:"320",height:"144",viewBox:"0 0 320 144",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{width:320,height:144,...e},...t,children:[ge("rect",{x:"214.681",y:"51.6852",width:"40",height:"40",rx:"20",fill:"var(--privy-color-background-2)"}),ge("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M229.848 64.9512C228.001 65.1452 226.643 66.726 226.643 68.5829V75.414C226.643 77.2883 228.026 78.8767 229.891 79.0615C231.417 79.2127 233.21 79.3518 234.643 79.3518C236.862 79.3518 239.95 79.0176 241.563 78.8225C242.183 78.7474 242.643 78.2196 242.643 77.5948V69.7756C242.643 69.1508 242.183 68.6229 241.563 68.5479C239.955 68.3534 236.883 68.0207 234.665 68.0185L234.643 68.0185L234.622 68.0185C233.219 68.0199 231.475 68.1534 229.975 68.3005C229.636 68.3007 229.346 68.0433 229.312 67.6989C229.277 67.3325 229.544 67.0063 229.911 66.9703C231.423 66.8219 233.203 66.6852 234.643 66.6852C236.246 66.6852 238.275 66.855 239.887 67.0221C240.412 67.0765 240.896 67.1309 241.309 67.1796V66.4289C241.309 65.8099 240.858 65.2851 240.244 65.2046C238.746 65.0083 235.977 64.6852 233.976 64.6852C232.734 64.6852 231.195 64.8098 229.848 64.9512ZM240.309 74.6852C240.862 74.6852 241.309 74.2375 241.309 73.6852C241.309 73.1329 240.862 72.6852 240.309 72.6852C239.757 72.6852 239.309 73.1329 239.309 73.6852C239.309 74.2375 239.757 74.6852 240.309 74.6852Z",fill:"var(--privy-color-accent)"}),ge("path",{d:"M92.6426 74.2969H89.5743M76.6426 74.2969H85.5085M77.5837 78.2687L87.1555 61.6852M84.7273 65.9017L82.2897 61.6852M91.8614 78.2687L86.6849 69.2993",stroke:"var(--privy-color-accent)","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),ge("rect",{x:"65.6426",y:"52.6852",width:"38",height:"38",rx:"19",stroke:"var(--privy-color-background-2","stroke-width":"2"}),ge("path",{d:"M103.162 71.6852H213.662",stroke:"var(--privy-color-background-2","stroke-width":"2","stroke-dasharray":"4 4"}),ge("path",{d:"M270.544 116.469C272.146 116.469 273.445 115.175 273.445 113.577C273.445 111.98 272.146 110.685 270.544 110.685C268.942 110.685 267.643 111.98 267.643 113.577C267.643 115.175 268.942 116.469 270.544 116.469Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M157.878 48.3615C160.282 48.3615 162.231 46.4193 162.231 44.0234C162.231 41.6274 160.282 39.6852 157.878 39.6852C155.475 39.6852 153.526 41.6274 153.526 44.0234C153.526 46.4193 155.475 48.3615 157.878 48.3615Z",fill:"var(--privy-color-accent-dark)"}),ge("path",{d:"M35.0825 96.1749C36.8852 96.1749 38.3466 94.7182 38.3466 92.9212C38.3466 91.1243 36.8852 89.6676 35.0825 89.6676C33.2797 89.6676 31.8184 91.1243 31.8184 92.9212C31.8184 94.7182 33.2797 96.1749 35.0825 96.1749Z",fill:"var(--privy-color-accent-dark)"}),ge("path",{d:"M164.407 103.673C166.41 103.673 168.034 102.055 168.034 100.058C168.034 98.0616 166.41 96.443 164.407 96.443C162.404 96.443 160.78 98.0616 160.78 100.058C160.78 102.055 162.404 103.673 164.407 103.673Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M292.664 33.277C294.267 33.277 295.566 31.9822 295.566 30.3849C295.566 28.7876 294.267 27.4928 292.664 27.4928C291.062 27.4928 289.763 28.7876 289.763 30.3849C289.763 31.9822 291.062 33.277 292.664 33.277Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M104 12.6997C105.302 12.6997 106.357 11.6476 106.357 10.3498C106.357 9.05206 105.302 8 104 8C102.698 8 101.643 9.05206 101.643 10.3498C101.643 11.6476 102.698 12.6997 104 12.6997Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M7.99998 68.6997C9.30194 68.6997 10.3574 67.6476 10.3574 66.3498C10.3574 65.0521 9.30194 64 7.99998 64C6.69802 64 5.64258 65.0521 5.64258 66.3498C5.64258 67.6476 6.69802 68.6997 7.99998 68.6997Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M312 60.6997C313.302 60.6997 314.357 59.6476 314.357 58.3498C314.357 57.0521 313.302 56 312 56C310.698 56 309.643 57.0521 309.643 58.3498C309.643 59.6476 310.698 60.6997 312 60.6997Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M35.544 42.4694C37.1464 42.4694 38.4454 41.1746 38.4454 39.5773C38.4454 37.98 37.1464 36.6852 35.544 36.6852C33.9416 36.6852 32.6426 37.98 32.6426 39.5773C32.6426 41.1746 33.9416 42.4694 35.544 42.4694Z",fill:"var(--privy-color-accent-light"})]});import{Fragment as fp,jsx as X,jsxs as Fe}from"react/jsx-runtime";var rl=()=>{var d;let[e,t]=Bn(null),{authenticated:o,user:r,getAccessToken:n}=N(),{closePrivyModal:i,createAnalyticsEvent:a}=P(),{data:s}=w(),l=(d=K(r))==null?void 0:d.address,{onFailure:c,onSuccess:
|
|
671
|
+
`;import{useEffect as ol,useRef as rp,useState as Bn}from"react";import et from"styled-components";import{jsx as ge,jsxs as op}from"react/jsx-runtime";var Xs=({style:e,...t})=>op("svg",{width:"320",height:"144",viewBox:"0 0 320 144",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{width:320,height:144,...e},...t,children:[ge("rect",{x:"214.681",y:"51.6852",width:"40",height:"40",rx:"20",fill:"var(--privy-color-background-2)"}),ge("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M229.848 64.9512C228.001 65.1452 226.643 66.726 226.643 68.5829V75.414C226.643 77.2883 228.026 78.8767 229.891 79.0615C231.417 79.2127 233.21 79.3518 234.643 79.3518C236.862 79.3518 239.95 79.0176 241.563 78.8225C242.183 78.7474 242.643 78.2196 242.643 77.5948V69.7756C242.643 69.1508 242.183 68.6229 241.563 68.5479C239.955 68.3534 236.883 68.0207 234.665 68.0185L234.643 68.0185L234.622 68.0185C233.219 68.0199 231.475 68.1534 229.975 68.3005C229.636 68.3007 229.346 68.0433 229.312 67.6989C229.277 67.3325 229.544 67.0063 229.911 66.9703C231.423 66.8219 233.203 66.6852 234.643 66.6852C236.246 66.6852 238.275 66.855 239.887 67.0221C240.412 67.0765 240.896 67.1309 241.309 67.1796V66.4289C241.309 65.8099 240.858 65.2851 240.244 65.2046C238.746 65.0083 235.977 64.6852 233.976 64.6852C232.734 64.6852 231.195 64.8098 229.848 64.9512ZM240.309 74.6852C240.862 74.6852 241.309 74.2375 241.309 73.6852C241.309 73.1329 240.862 72.6852 240.309 72.6852C239.757 72.6852 239.309 73.1329 239.309 73.6852C239.309 74.2375 239.757 74.6852 240.309 74.6852Z",fill:"var(--privy-color-accent)"}),ge("path",{d:"M92.6426 74.2969H89.5743M76.6426 74.2969H85.5085M77.5837 78.2687L87.1555 61.6852M84.7273 65.9017L82.2897 61.6852M91.8614 78.2687L86.6849 69.2993",stroke:"var(--privy-color-accent)","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),ge("rect",{x:"65.6426",y:"52.6852",width:"38",height:"38",rx:"19",stroke:"var(--privy-color-background-2","stroke-width":"2"}),ge("path",{d:"M103.162 71.6852H213.662",stroke:"var(--privy-color-background-2","stroke-width":"2","stroke-dasharray":"4 4"}),ge("path",{d:"M270.544 116.469C272.146 116.469 273.445 115.175 273.445 113.577C273.445 111.98 272.146 110.685 270.544 110.685C268.942 110.685 267.643 111.98 267.643 113.577C267.643 115.175 268.942 116.469 270.544 116.469Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M157.878 48.3615C160.282 48.3615 162.231 46.4193 162.231 44.0234C162.231 41.6274 160.282 39.6852 157.878 39.6852C155.475 39.6852 153.526 41.6274 153.526 44.0234C153.526 46.4193 155.475 48.3615 157.878 48.3615Z",fill:"var(--privy-color-accent-dark)"}),ge("path",{d:"M35.0825 96.1749C36.8852 96.1749 38.3466 94.7182 38.3466 92.9212C38.3466 91.1243 36.8852 89.6676 35.0825 89.6676C33.2797 89.6676 31.8184 91.1243 31.8184 92.9212C31.8184 94.7182 33.2797 96.1749 35.0825 96.1749Z",fill:"var(--privy-color-accent-dark)"}),ge("path",{d:"M164.407 103.673C166.41 103.673 168.034 102.055 168.034 100.058C168.034 98.0616 166.41 96.443 164.407 96.443C162.404 96.443 160.78 98.0616 160.78 100.058C160.78 102.055 162.404 103.673 164.407 103.673Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M292.664 33.277C294.267 33.277 295.566 31.9822 295.566 30.3849C295.566 28.7876 294.267 27.4928 292.664 27.4928C291.062 27.4928 289.763 28.7876 289.763 30.3849C289.763 31.9822 291.062 33.277 292.664 33.277Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M104 12.6997C105.302 12.6997 106.357 11.6476 106.357 10.3498C106.357 9.05206 105.302 8 104 8C102.698 8 101.643 9.05206 101.643 10.3498C101.643 11.6476 102.698 12.6997 104 12.6997Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M7.99998 68.6997C9.30194 68.6997 10.3574 67.6476 10.3574 66.3498C10.3574 65.0521 9.30194 64 7.99998 64C6.69802 64 5.64258 65.0521 5.64258 66.3498C5.64258 67.6476 6.69802 68.6997 7.99998 68.6997Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M312 60.6997C313.302 60.6997 314.357 59.6476 314.357 58.3498C314.357 57.0521 313.302 56 312 56C310.698 56 309.643 57.0521 309.643 58.3498C309.643 59.6476 310.698 60.6997 312 60.6997Z",fill:"var(--privy-color-accent-light"}),ge("path",{d:"M35.544 42.4694C37.1464 42.4694 38.4454 41.1746 38.4454 39.5773C38.4454 37.98 37.1464 36.6852 35.544 36.6852C33.9416 36.6852 32.6426 37.98 32.6426 39.5773C32.6426 41.1746 33.9416 42.4694 35.544 42.4694Z",fill:"var(--privy-color-accent-light"})]});import{Fragment as fp,jsx as X,jsxs as Fe}from"react/jsx-runtime";var rl=()=>{var d;let[e,t]=Bn(null),{authenticated:o,user:r,getAccessToken:n}=N(),{closePrivyModal:i,createAnalyticsEvent:a}=P(),{data:s}=w(),l=(d=K(r))==null?void 0:d.address,{onFailure:c,onSuccess:g,origin:f,appId:p}=s.keyExport,y=h=>{i({shouldCallAuthOnSuccess:!1}),c(typeof h=="string"?new Error(h):h)},b=()=>{i({shouldCallAuthOnSuccess:!1}),g(),a("embedded_wallet_key_export_completed",{walletAddress:l})};return ol(()=>{let h=K(r);if(!o||!h)return y("User must be authenticated before exporting their wallet");n().then(t,y)},[o,r]),Fe(fp,{children:[X(_,{onClose:b}),Fe(ap,{children:[X(Xs,{}),Fe(sp,{children:[X("h3",{children:"Transfer"}),Fe(pp,{children:[X(ip,{style:{marginRight:6}}),`${l==null?void 0:l.substring(0,4)}...${l==null?void 0:l.substring(l.length-4,l.length-1)}`]})]}),X("p",{children:"You can take your account with you to another site using an external wallet!"}),Fe(lp,{children:[Fe(el,{children:[X(tl,{children:"1"}),Fe("span",{children:[X("a",{href:"https://privy-io.notion.site/Transferring-your-account-9dab9e16c6034a7ab1ff7fa479b02828",target:"blank",rel:"noopener noreferrer",children:"Follow the guide"})," ","to transfer your account to your wallet of choice."]})]}),Fe(el,{children:[X(tl,{children:"2"}),X("span",{children:"Copy this key into your other wallet"})]})]}),X("div",{style:{width:"100%"},children:e&&X(np,{origin:f,appId:p,accessToken:e,address:l,dimensions:{height:"44px"}})}),Fe(up,{children:[X("h4",{children:"WARNING"}),X("p",{children:"Never share your private key with anyone! It controls your account."})]})]}),X(B,{protectedByPrivy:!0})]})};function np(e){let[t,o]=Bn(e.dimensions.width),[r,n]=Bn(void 0),i=rp(null);return ol(()=>{if(i.current&&t===void 0){let{width:s}=i.current.getBoundingClientRect();o(s)}let a=getComputedStyle(document.documentElement);n({background2:a.getPropertyValue("--privy-color-background-2"),foreground3:a.getPropertyValue("--privy-color-foreground-3"),foregroundAccent:a.getPropertyValue("--privy-color-foreground-accent"),accent:a.getPropertyValue("--privy-color-accent"),accentDark:a.getPropertyValue("--privy-color-accent-dark"),success:a.getPropertyValue("--privy-color-success")})},[]),X("div",{ref:i,children:t&&Fe(cp,{children:[X("iframe",{style:{position:"absolute",zIndex:1},width:t,height:e.dimensions.height,allow:"clipboard-write self *",src:$o(e.origin,`/apps/${e.appId}/embedded-wallets/export`,{token:e.accessToken,address:e.address,width:`${t}px`,...r})}),X(dp,{children:"Loading..."})]})})}function ip(e){return X("svg",{width:"16",height:"17",viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:e.style,children:X("path",{d:"M14 8.81335C14 7.98493 13.3284 7.31335 12.5 7.31335H10C10 8.41792 9.10457 9.31335 8 9.31335C6.89543 9.31335 6 8.41792 6 7.31335H3.5C2.67157 7.31335 2 7.98493 2 8.81335M14 8.81335V12.8134C14 13.6418 13.3284 14.3134 12.5 14.3134H3.5C2.67157 14.3134 2 13.6418 2 12.8134V8.81335M14 8.81335V6.81335M2 8.81335V6.81335M14 6.81335C14 5.98493 13.3284 5.31335 12.5 5.31335H3.5C2.67157 5.31335 2 5.98493 2 6.81335M14 6.81335V4.81335C14 3.98493 13.3284 3.31335 12.5 3.31335H3.5C2.67157 3.31335 2 3.98493 2 4.81335V6.81335",stroke:"var(--privy-color-foreground-3)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var ap=et.div`
|
|
672
672
|
display: flex;
|
|
673
673
|
height: 100%;
|
|
674
674
|
flex-direction: column;
|
|
@@ -748,7 +748,7 @@ Resources:
|
|
|
748
748
|
&& > h4 {
|
|
749
749
|
color: var(--privy-color-error);
|
|
750
750
|
}
|
|
751
|
-
`;import{useEffect as Pp,useState as Vn}from"react";import $n,{css as Tp}from"styled-components";import{useEffect as mp,useState as So}from"react";import Hn from"styled-components";import{jsx as nl}from"react/jsx-runtime";var il=({style:e,...t})=>nl("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:"currentColor",style:{height:"1.5rem",width:"1.5rem",...e},...t,children:nl("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"})});import{Fragment as Lp,jsx as Qt,jsxs as Gn}from"react/jsx-runtime";var Xt=6,hp=new Array(Xt).fill("");function gp(e){return e.replace(/\s+/g,"")}function Fn(e){return/^[a-zA-Z0-9]{1}$/.test(e)}function yp(e){return/^[a-zA-Z]{1}$/.test(e)}function bp(e){return/^[a-z]{1}$/.test(e)}function al(e){return e.length===Xt&&e.every(Fn)}function vp(e,t){return e.reduce((o,r)=>o+Number(t(r)),0)}function wp(){return crypto.getRandomValues(new Uint8Array(1))[0]}function Cp(){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",t=[];for(;t.length<Xt;){let o=wp();o>247||t.push(e.charAt(o%62))}return t.join("")}var yr=({onChange:e,disabled:t,readOnly:o,disableGeneration:r,errorReasonOverride:n})=>{let[i,a]=So(hp),[s,l]=So(null),[c,
|
|
751
|
+
`;import{useEffect as Pp,useState as Vn}from"react";import $n,{css as Tp}from"styled-components";import{useEffect as mp,useState as So}from"react";import Hn from"styled-components";import{jsx as nl}from"react/jsx-runtime";var il=({style:e,...t})=>nl("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:"currentColor",style:{height:"1.5rem",width:"1.5rem",...e},...t,children:nl("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"})});import{Fragment as Lp,jsx as Qt,jsxs as Gn}from"react/jsx-runtime";var Xt=6,hp=new Array(Xt).fill("");function gp(e){return e.replace(/\s+/g,"")}function Fn(e){return/^[a-zA-Z0-9]{1}$/.test(e)}function yp(e){return/^[a-zA-Z]{1}$/.test(e)}function bp(e){return/^[a-z]{1}$/.test(e)}function al(e){return e.length===Xt&&e.every(Fn)}function vp(e,t){return e.reduce((o,r)=>o+Number(t(r)),0)}function wp(){return crypto.getRandomValues(new Uint8Array(1))[0]}function Cp(){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",t=[];for(;t.length<Xt;){let o=wp();o>247||t.push(e.charAt(o%62))}return t.join("")}var yr=({onChange:e,disabled:t,readOnly:o,disableGeneration:r,errorReasonOverride:n})=>{let[i,a]=So(hp),[s,l]=So(null),[c,g]=So(null),f=b=>{var V;let d=gp(b.currentTarget.value);if(d==="")return;let h=vp(i,Fn),v=d.split(""),S=!v.every(Fn),W=v.length+h>Xt;if(S){l("Passcode can only be letters and numbers"),g(1);return}if(W){l("Passcode must be exactly 6 letters and numbers"),g(1);return}l(null),g(null);let I=Number((V=b.currentTarget.name)==null?void 0:V.charAt(4)),A=[...d||[""]].slice(0,Xt-I),G=[...i.slice(0,I),...A,...i.slice(I+A.length)];a(G);let $=A.length,ne=Math.min(Math.max(I+$,0),Xt-1),re=document.querySelector(`input[name=pin-${ne}]`),D=A[A.length-1]||"";if(yp(D)&&(bp(D)?re.autocapitalize="none":re.autocapitalize="on"),re==null||re.focus(),al(G)){let H=document.querySelector(`input[name=pin-${ne}]`);H==null||H.blur(),e(G.join(""))}else e(null);b.preventDefault()},p=b=>{c===1&&(l(null),g(null));let d=[...i.slice(0,b),"",...i.slice(b+1)];if(a(d),b>0){let h=document.querySelector(`input[name=pin-${b-1}]`);h==null||h.focus()}al(d)?e(d.join("")):e(null)},y=o||r;return Gn(Lp,{children:[Gn(Ep,{children:[Qt(xp,{fail:!!n||!!s,children:n||s||"Passcode can be letters and numbers"}),Qt("div",{children:i.map((b,d)=>Qt("input",{name:`pin-${d}`,type:"text",value:i[d],onChange:f,onKeyUp:h=>{h.key==="Backspace"&&p(d)},inputMode:"text",autoFocus:d===0,pattern:"[a-zA-Z0-9]",className:s?"fail":"",autoComplete:"off",disabled:t||o,autoCapitalize:"none"},d))})]}),!y&&Qt(_p,{disabled:t,onClick:()=>{let b=Cp();a([...b]),e(b)}})]})},Ep=Hn.div`
|
|
752
752
|
display: flex;
|
|
753
753
|
flex-direction: column;
|
|
754
754
|
width: 100%;
|
|
@@ -861,7 +861,7 @@ Resources:
|
|
|
861
861
|
width: 14px;
|
|
862
862
|
height: 14px;
|
|
863
863
|
}
|
|
864
|
-
`;import{Fragment as Rp,jsx as Lt,jsxs as br}from"react/jsx-runtime";var sl=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,closePrivyModal:n,createAnalyticsEvent:i}=P(),{navigate:a,data:s}=w(),[l,c]=Vn(null),[
|
|
864
|
+
`;import{Fragment as Rp,jsx as Lt,jsxs as br}from"react/jsx-runtime";var sl=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,closePrivyModal:n,createAnalyticsEvent:i}=P(),{navigate:a,data:s}=w(),[l,c]=Vn(null),[g,f]=Vn(""),[p,y]=Vn(!1),{onCompleteNavigateTo:b,onFailure:d}=s.recoverWallet,h=I=>{n({shouldCallAuthOnSuccess:!1}),d(typeof I=="string"?new Error(I):I)};Pp(()=>{if(!e||!K(o))return h("User must be authenticated and have a Privy wallet before it can be recovered")},[e,o]);let v=I=>{c(I)},S=K(o);return br(Rp,{children:[Lt(_,{onClose:()=>h("User exited before their wallet could be recovered")}),br(Ap,{children:[br("div",{children:[Lt(te,{title:"Load your account",description:"We haven't seen this device yet. To continue, please enter your passcode."}),Lt(yr,{onChange:v,disabled:p,errorReasonOverride:g,disableGeneration:!0})]}),br(kp,{children:[Lt("h4",{children:"Why am I doing this?"}),Lt("p",{children:"When you created your account, you entered a passcode\u2014this helps secure your digital wallet and ensure only you can access it."})]}),Lt(Wp,{loading:p||!r,disabled:!l,onClick:async()=>{y(!0);let I=await t();if(I&&S&&l!==null)try{i("embedded_wallet_recovery_started",{walletAddress:S.address}),await(r==null?void 0:r.recover({address:S.address,accessToken:I,recoveryPin:l})),f(""),a(b),i("embedded_wallet_recovery_completed",{walletAddress:S.address})}catch(A){Hs(A)?f("Invalid recovery passcode, please try again."):f("An error has occurred, please try again.")}finally{y(!1)}else return h("User must be authenticated and have a Privy wallet before it can be recovered")},warn:!1,hideAnimations:!S&&p,children:"Recover your account"})]}),Lt(B,{protectedByPrivy:!0})]})},Ap=$n.div`
|
|
865
865
|
display: flex;
|
|
866
866
|
height: 100%;
|
|
867
867
|
flex-direction: column;
|
|
@@ -899,7 +899,7 @@ Resources:
|
|
|
899
899
|
transition: none;
|
|
900
900
|
}
|
|
901
901
|
`}
|
|
902
|
-
`;import{useEffect as Ip,useState as jn}from"react";import qn,{css as Mp}from"styled-components";import{Fragment as Up,jsx as tt,jsxs as vr}from"react/jsx-runtime";var ll=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,refreshUser:n,closePrivyModal:i,createAnalyticsEvent:a}=P(),{navigate:s,data:l}=w(),[c,
|
|
902
|
+
`;import{useEffect as Ip,useState as jn}from"react";import qn,{css as Mp}from"styled-components";import{Fragment as Up,jsx as tt,jsxs as vr}from"react/jsx-runtime";var ll=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,refreshUser:n,closePrivyModal:i,createAnalyticsEvent:a}=P(),{navigate:s,data:l}=w(),[c,g]=jn(null),[f,p]=jn(""),[y,b]=jn(!1),{onFailure:d,callAuthOnSuccessOnClose:h}=l.createWallet;Ip(()=>{e||(s("LANDING"),d(new Error("User must be authenticated before creating a Privy wallet")))},[e]);let v=()=>{d(new Error("User exited before creating a wallet")),i({shouldCallAuthOnSuccess:h})},S=G=>{g(G)},W=K(o),I=W?()=>{b(!0),setTimeout(()=>{b(!1),s("EMBEDDED_WALLET_CREATED_SCREEN")},350)}:async()=>{b(!0);let G=await t();if(G&&c!==null)try{a("embedded_wallet_creation_started");let $=await(r==null?void 0:r.create({accessToken:G,recoveryPin:c}));a("embedded_wallet_creation_completed",{walletAddress:$==null?void 0:$.address}),p(""),await n()}catch($){p("An error has occurred, please try again."),console.error($)}finally{b(!1)}},A=!!W;return vr(Up,{children:[tt(_,{onClose:v}),vr(Np,{children:[vr("div",{children:[tt(te,{title:A?"Secure your passcode":"Set your passcode",description:A?"Don\u2019t lose this passcode. You\u2019ll need it to access your full account on another device.":"You will need it when you sign in on a different device."}),tt(yr,{onChange:S,disabled:y,readOnly:A,errorReasonOverride:f}),A?tt(gr,{text:c||""}):null]}),vr(Op,{children:[tt("h4",{children:"Why am I doing this?"}),A?tt("p",{children:"This passcode allows you to access your account on another device. If you lose it, there is no way to recover your full account."}):tt("p",{children:"For your security, your account is tied to this device. Your passcode allows you to access it across devices."})]}),tt(Dp,{loading:y||!r,disabled:!c,onClick:I,warn:A,hideAnimations:!W&&y,children:A?"I have saved my passcode":"Set passcode"})]}),tt(B,{protectedByPrivy:!0})]})},Np=qn.div`
|
|
903
903
|
display: flex;
|
|
904
904
|
height: 100%;
|
|
905
905
|
flex-direction: column;
|
|
@@ -1073,7 +1073,7 @@ Resources:
|
|
|
1073
1073
|
`,nu=He.div`
|
|
1074
1074
|
display: flex;
|
|
1075
1075
|
justify-content: center;
|
|
1076
|
-
`;import{Fragment as iu,jsx as Er,jsxs as vl}from"react/jsx-runtime";var wl=()=>{let{navigateBack:e}=w();return vl(iu,{children:[Er(_,{backFn:e},"header"),Er(Qn,{}),vl(ve,{children:[Er("span",{children:"Still not sure? "}),Er("a",{target:"_blank",href:"https://join.tell.ie/blog/explaining-web3-wallets",children:"Learn more"})]})]})};import{Fragment as au,jsx as xr,jsxs as Cl}from"react/jsx-runtime";var El=()=>{let{navigateBack:e}=w();return Cl(au,{children:[xr(_,{backFn:e},"header"),xr(Jn,{}),Cl(ve,{children:[xr("span",{children:"Still not sure? "}),xr("a",{target:"_blank",href:"https://join.tell.ie/blog/explaining-web3-wallets",children:"Learn more"})]})]})};import{Fragment as su,jsx as _r,jsxs as xl}from"react/jsx-runtime";var _l=()=>{let{navigateBack:e}=w();return xl(su,{children:[_r(_,{backFn:e},"header"),_r(Yn,{}),xl(ve,{children:[_r("span",{children:"Still not sure? "}),_r("a",{target:"_blank",href:"https://join.tell.ie/blog/explaining-web3-wallets",children:"Learn more"})]})]})};import{useState as Wu}from"react";import{isMobile as Dl}from"react-device-detect";import no from"styled-components";import lu from"react";import{jsx as Sl}from"react/jsx-runtime";var Ll=()=>{var a;let{app:e}=w(),t=(a=e==null?void 0:e.appearance)==null?void 0:a.logo,o=`${e==null?void 0:e.name} logo`,r={maxHeight:"50px"},n="100%",i="auto";return t?typeof t=="string"?Sl("div",{children:Sl("img",{height:n,width:i,src:t,alt:o,style:r})}):t.type==="svg"||t.type==="img"?lu.cloneElement(t,{height:n,width:i,alt:o,style:r}):(console.warn("`config.appearance.logo` must be a string, or an SVG / IMG element. Nothing will be rendered."),null):null};import{useEffect as cu,useState as ti}from"react";import Lr from"styled-components";import{jsx as Pl}from"react/jsx-runtime";var Sr=({style:e,...t})=>Pl("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:"currentColor",style:{height:"1.5rem",width:"1.5rem",...e},...t,children:Pl("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"})});import{Fragment as mu,jsx as to,jsxs as oi}from"react/jsx-runtime";var Pr=e=>{let[t,o]=ti(""),[r,n]=ti(!1),[i,a]=ti(null),{isLinking:s,initLoginWithEmail:l}=P(),{app:c,navigate:
|
|
1076
|
+
`;import{Fragment as iu,jsx as Er,jsxs as vl}from"react/jsx-runtime";var wl=()=>{let{navigateBack:e}=w();return vl(iu,{children:[Er(_,{backFn:e},"header"),Er(Qn,{}),vl(ve,{children:[Er("span",{children:"Still not sure? "}),Er("a",{target:"_blank",href:"https://join.tell.ie/blog/explaining-web3-wallets",children:"Learn more"})]})]})};import{Fragment as au,jsx as xr,jsxs as Cl}from"react/jsx-runtime";var El=()=>{let{navigateBack:e}=w();return Cl(au,{children:[xr(_,{backFn:e},"header"),xr(Jn,{}),Cl(ve,{children:[xr("span",{children:"Still not sure? "}),xr("a",{target:"_blank",href:"https://join.tell.ie/blog/explaining-web3-wallets",children:"Learn more"})]})]})};import{Fragment as su,jsx as _r,jsxs as xl}from"react/jsx-runtime";var _l=()=>{let{navigateBack:e}=w();return xl(su,{children:[_r(_,{backFn:e},"header"),_r(Yn,{}),xl(ve,{children:[_r("span",{children:"Still not sure? "}),_r("a",{target:"_blank",href:"https://join.tell.ie/blog/explaining-web3-wallets",children:"Learn more"})]})]})};import{useState as Wu}from"react";import{isMobile as Dl}from"react-device-detect";import no from"styled-components";import lu from"react";import{jsx as Sl}from"react/jsx-runtime";var Ll=()=>{var a;let{app:e}=w(),t=(a=e==null?void 0:e.appearance)==null?void 0:a.logo,o=`${e==null?void 0:e.name} logo`,r={maxHeight:"50px"},n="100%",i="auto";return t?typeof t=="string"?Sl("div",{children:Sl("img",{height:n,width:i,src:t,alt:o,style:r})}):t.type==="svg"||t.type==="img"?lu.cloneElement(t,{height:n,width:i,alt:o,style:r}):(console.warn("`config.appearance.logo` must be a string, or an SVG / IMG element. Nothing will be rendered."),null):null};import{useEffect as cu,useState as ti}from"react";import Lr from"styled-components";import{jsx as Pl}from"react/jsx-runtime";var Sr=({style:e,...t})=>Pl("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:"currentColor",style:{height:"1.5rem",width:"1.5rem",...e},...t,children:Pl("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"})});import{Fragment as mu,jsx as to,jsxs as oi}from"react/jsx-runtime";var Pr=e=>{let[t,o]=ti(""),[r,n]=ti(!1),[i,a]=ti(null),{isLinking:s,initLoginWithEmail:l}=P(),{app:c,navigate:g}=w(),f=(c==null?void 0:c.loginMethods.wallet)??!1;cu(()=>{let d=document.querySelector("#email-input");d==null||d.focus()},[]);let p=Zi(t),y=()=>{n(!0),l(t).then(()=>{g("AWAITING_PASSWORDLESS_CODE")}).catch(d=>{(d==null?void 0:d.status)===422?a(d.message):(d==null?void 0:d.privyErrorCode)==="allowlist_rejected"?g("ALLOWLIST_REJECTION_SCREEN"):a("Issue submitting email"),n(!1)})},b="Get started without a wallet.";return i?b=i:s?b="Easily connect an email":f||(b="Get started quickly with email"),oi(mu,{children:[oi(du,{stacked:e.stacked,children:[oi(uu,{standalone:e.stacked,children:[to(Sr,{}),to("input",{id:"email-input",type:"email",placeholder:"your@email.com",onChange:d=>o(d.target.value),onKeyUp:d=>{d.key==="Enter"&&y()},value:t,autoComplete:"email"})]}),e.stacked?null:to(pu,{disabled:r||!p,onClick:y,children:r?to(ct,{}):"Submit"})]}),to(fu,{fail:!!i,children:b}),e.stacked?to(J,{loading:r,loadingText:null,disabled:r||!p,onClick:y,children:"Submit"}):null]})},du=Lr.div`
|
|
1077
1077
|
width: 100%;
|
|
1078
1078
|
height: ${e=>e.stacked?"100%":"auto"};
|
|
1079
1079
|
|
|
@@ -1166,7 +1166,7 @@ Resources:
|
|
|
1166
1166
|
> a {
|
|
1167
1167
|
text-decoration: underline;
|
|
1168
1168
|
}
|
|
1169
|
-
`;import{useEffect as hu,useState as ri}from"react";import Ar from"styled-components";import{jsx as Tl}from"react/jsx-runtime";var Tr=({style:e,...t})=>Tl("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",strokeWidth:1.5,stroke:"currentColor",style:{height:"1.5rem",width:"1.5rem",...e},...t,children:Tl("path",{d:"M2.5 4.16667C2.5 3.72464 2.67559 3.30072 2.98816 2.98816C3.30072 2.67559 3.72464 2.5 4.16667 2.5H6.9C7.07483 2.50013 7.24519 2.55525 7.38696 2.65754C7.52874 2.75984 7.63475 2.90413 7.69 3.07L8.93833 6.81417C9.00158 7.00445 8.9941 7.21116 8.91726 7.39637C8.84042 7.58158 8.69938 7.73288 8.52 7.8225L6.63917 8.76417C7.5611 10.8046 9.19538 12.4389 11.2358 13.3608L12.1775 11.48C12.2671 11.3006 12.4184 11.1596 12.6036 11.0827C12.7888 11.0059 12.9956 10.9984 13.1858 11.0617L16.93 12.31C17.096 12.3653 17.2404 12.4714 17.3427 12.6134C17.445 12.7553 17.5 12.9259 17.5 13.1008V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H15C8.09667 17.5 2.5 11.9033 2.5 5V4.16667Z",strokeLinecap:"round",strokeLinejoin:"round"})});import{Fragment as wu,jsx as oo,jsxs as ni}from"react/jsx-runtime";var kr=e=>{let[t,o]=ri(""),[r,n]=ri(!1),[i,a]=ri(null),{isLinking:s,initLoginWithSms:l}=P(),{app:c,navigate:
|
|
1169
|
+
`;import{useEffect as hu,useState as ri}from"react";import Ar from"styled-components";import{jsx as Tl}from"react/jsx-runtime";var Tr=({style:e,...t})=>Tl("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",strokeWidth:1.5,stroke:"currentColor",style:{height:"1.5rem",width:"1.5rem",...e},...t,children:Tl("path",{d:"M2.5 4.16667C2.5 3.72464 2.67559 3.30072 2.98816 2.98816C3.30072 2.67559 3.72464 2.5 4.16667 2.5H6.9C7.07483 2.50013 7.24519 2.55525 7.38696 2.65754C7.52874 2.75984 7.63475 2.90413 7.69 3.07L8.93833 6.81417C9.00158 7.00445 8.9941 7.21116 8.91726 7.39637C8.84042 7.58158 8.69938 7.73288 8.52 7.8225L6.63917 8.76417C7.5611 10.8046 9.19538 12.4389 11.2358 13.3608L12.1775 11.48C12.2671 11.3006 12.4184 11.1596 12.6036 11.0827C12.7888 11.0059 12.9956 10.9984 13.1858 11.0617L16.93 12.31C17.096 12.3653 17.2404 12.4714 17.3427 12.6134C17.445 12.7553 17.5 12.9259 17.5 13.1008V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H15C8.09667 17.5 2.5 11.9033 2.5 5V4.16667Z",strokeLinecap:"round",strokeLinejoin:"round"})});import{Fragment as wu,jsx as oo,jsxs as ni}from"react/jsx-runtime";var kr=e=>{let[t,o]=ri(""),[r,n]=ri(!1),[i,a]=ri(null),{isLinking:s,initLoginWithSms:l}=P(),{app:c,navigate:g}=w(),f=(c==null?void 0:c.loginMethods.wallet)??!1;hu(()=>{let d=document.querySelector("#phone-number-input");d==null||d.focus()},[]);let p=Ki(t),y=()=>{n(!0),l(t).then(()=>{g("AWAITING_PASSWORDLESS_CODE")}).catch(d=>{(d==null?void 0:d.status)===422?a(d.message):(d==null?void 0:d.privyErrorCode)==="allowlist_rejected"?g("ALLOWLIST_REJECTION_SCREEN"):a("Issue submitting phone number"),n(!1)})},b="Get started without a wallet.";return i?b=i:s?b="Easily connect a phone number":f||(b="Get started quickly with your phone"),ni(wu,{children:[ni(gu,{stacked:e.stacked,children:[ni(bu,{standalone:e.stacked,children:[oo(Tr,{}),oo("input",{id:"phone-number-input",type:"tel",placeholder:"555 555 5555",onChange:d=>{o(d.target.value)},onKeyUp:d=>{d.key==="Enter"&&y()},value:t,autoComplete:"tel"})]}),e.stacked?null:oo(yu,{disabled:r||!p,onClick:y,children:r?oo(ct,{}):"Submit"})]}),oo(vu,{fail:!!i,children:b}),e.stacked?oo(J,{loading:r,loadingText:null,disabled:r||!p,onClick:y,children:"Submit"}):null]})},gu=Ar.div`
|
|
1170
1170
|
display: flex;
|
|
1171
1171
|
border: 1px solid var(--privy-color-foreground-4);
|
|
1172
1172
|
width: 100%;
|
|
@@ -1354,7 +1354,7 @@ Resources:
|
|
|
1354
1354
|
@media (max-width: 440px) {
|
|
1355
1355
|
margin-top: 4px;
|
|
1356
1356
|
}
|
|
1357
|
-
`;import{Fragment as ii,jsx as Y,jsxs as Tt}from"react/jsx-runtime";var Bl=()=>{let{app:e}=w(),t=(e==null?void 0:e.loginMethods.email)??!1,o=(e==null?void 0:e.loginMethods.sms)??!1,r=(e==null?void 0:e.loginMethods.wallet)??!1,n=(e==null?void 0:e.loginMethods.google)??!1,i=(e==null?void 0:e.loginMethods.twitter)??!1,a=(e==null?void 0:e.loginMethods.discord)??!1,s=(e==null?void 0:e.loginMethods.github)??!1,l=(e==null?void 0:e.loginMethods.apple)??!1,c=r&&(e==null?void 0:e.appearance.showWalletLoginFirst)?0:1,[
|
|
1357
|
+
`;import{Fragment as ii,jsx as Y,jsxs as Tt}from"react/jsx-runtime";var Bl=()=>{let{app:e}=w(),t=(e==null?void 0:e.loginMethods.email)??!1,o=(e==null?void 0:e.loginMethods.sms)??!1,r=(e==null?void 0:e.loginMethods.wallet)??!1,n=(e==null?void 0:e.loginMethods.google)??!1,i=(e==null?void 0:e.loginMethods.twitter)??!1,a=(e==null?void 0:e.loginMethods.discord)??!1,s=(e==null?void 0:e.loginMethods.github)??!1,l=(e==null?void 0:e.loginMethods.apple)??!1,c=r&&(e==null?void 0:e.appearance.showWalletLoginFirst)?0:1,[g,f]=Wu(c),p=g==0,y=g==1,b=r,d=t||o,h=b!==d;return Tt(ii,{children:[Y(_,{},"header"),e!=null&&e.appearance.logo?Y(Ou,{hasOnlyOneSection:h,hasTerms:!!((e==null?void 0:e.legal.privacyPolicyUrl)||(e==null?void 0:e.legal.termsAndConditionsUrl)),children:Y(Ll,{})}):null,Tt(Du,{reverse:!(e!=null&&e.appearance.showWalletLoginFirst),children:[b&&Y(Ru,{active:p,onClick:()=>f(0),isOnlySection:!d}),d&&Y(Iu,{active:y,onClick:()=>f(1),email:t,sms:o,google:n,twitter:i,discord:a,github:s,apple:l,isOnlySection:!b})]}),e&&Y(Ls,{app:e}),Y(B,{protectedByPrivy:!0})]})};function Ru(e){return Tt(Gl,{active:e.active,onClick:e.onClick,isOnlySection:e.isOnlySection,children:[Y(Fl,{active:e.active,children:Y("h4",{children:"Connect Wallet"})}),e.active&&Tt(ii,{children:[Y(Br,{}),Y(Fr,{})]})]})}function Iu(e){let t=e.google||e.discord||e.github||e.twitter&&!Dl||e.apple,o=e.email?"Email":"Phone";return Tt(Gl,{active:e.active,onClick:e.onClick,isOnlySection:e.isOnlySection,children:[e.isOnlySection?null:Y(Fl,{active:e.active,children:Y("h4",{children:t?`${o} & Social`:o})}),e.active&&e.email&&Y(Pr,{}),e.active&&e.sms&&!e.email&&Y(kr,{}),e.active&&t&&Y(Mu,{google:e.google,twitter:e.twitter&&!Dl,discord:e.discord,github:e.github,apple:e.apple})]})}function Mu(e){return Tt(ii,{children:[Tt(Nu,{children:[Y(Ul,{}),Y("p",{children:" Or "}),Y(Ul,{})]}),Y(Il,{showGoogle:e.google,showDiscord:e.discord,showGithub:e.github,showTwitter:e.twitter,showApple:e.apple})]})}var Fl=no.div`
|
|
1358
1358
|
font-weight: ${e=>e.active?600:500};
|
|
1359
1359
|
color: ${e=>e.active?"var(--privy-color-foreground)":"var(--privy-color-foreground-2)"};
|
|
1360
1360
|
display: flex;
|
|
@@ -1413,7 +1413,7 @@ Resources:
|
|
|
1413
1413
|
}
|
|
1414
1414
|
`,Du=no(he)`
|
|
1415
1415
|
flex-direction: ${e=>e.reverse?"column-reverse":"column"};
|
|
1416
|
-
`;import{Fragment as Uu,jsx as io,jsxs as Bu}from"react/jsx-runtime";var Hl=()=>{let{app:e}=w();return Bu(Uu,{children:[io(_,{},"header"),io(Ue,{title:"Connect your email",description:`Add your email to your ${e==null?void 0:e.name} account`,icon:io(Sr,{})}),io(he,{children:io(Pr,{stacked:!0})}),io(B,{protectedByPrivy:!0})]})};import{Fragment as Fu,jsx as ao,jsxs as Gu}from"react/jsx-runtime";var Vl=()=>{let{app:e}=w();return Gu(Fu,{children:[ao(_,{},"header"),ao(Ue,{title:"Connect your phone",description:`Add your number to your ${e==null?void 0:e.name} account`,icon:ao(Tr,{})}),ao(he,{children:ao(kr,{stacked:!0})}),ao(B,{protectedByPrivy:!0})]})};import{Fragment as Hu,jsx as To,jsxs as $l}from"react/jsx-runtime";var jl=()=>{let{linkingHint:e}=P(),{app:t}=w(),o=e?`Select the wallet with ${fe(e)} and follow the instructions to reconnect your wallet${t!=null&&t.name?` to ${t.name}.`:"."}`:`Link a wallet to your ${t==null?void 0:t.name} account`;return $l(Hu,{children:[To(_,{},"header"),To(dt,{title:`${e?"Reconnect":"Connect"} your wallet`,description:o}),$l(he,{children:[To(Br,{}),To(Fr,{})]}),To(B,{protectedByPrivy:!0})]})};import{jsx as ql,jsxs as Vu}from"react/jsx-runtime";var zl=({style:e,...t})=>Vu("svg",{width:"164",height:"164",viewBox:"0 0 164 164",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"26px",width:"26px",...e},...t,children:[ql("circle",{cx:"82",cy:"82",r:"80",stroke:"#EC6351","stroke-width":"4","stroke-linecap":"round"}),ql("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M81.9999 100.788C93.3288 100.788 102.513 91.6043 102.513 80.2754C102.513 68.9465 93.3288 59.7626 81.9999 59.7626C70.671 59.7626 61.4871 68.9465 61.4871 80.2754C61.4871 91.6043 70.671 100.788 81.9999 100.788ZM88.3236 71.8304C88.9093 71.2446 89.8591 71.2446 90.4449 71.8304C91.0307 72.4161 91.0307 73.3659 90.4449 73.9517L84.121 80.2756L90.445 86.5996C91.0308 87.1854 91.0308 88.1351 90.445 88.7209C89.8592 89.3067 88.9095 89.3067 88.3237 88.7209L81.9997 82.3969L75.6756 88.7209C75.0899 89.3067 74.1401 89.3067 73.5543 88.7209C72.9685 88.1351 72.9685 87.1854 73.5543 86.5996L79.8783 80.2756L73.5544 73.9517C72.9686 73.3659 72.9686 72.4161 73.5544 71.8304C74.1402 71.2446 75.09 71.2446 75.6758 71.8304L81.9997 78.1543L88.3236 71.8304Z",fill:"#EC6351"})]});import{Fragment as $u,jsx as so,jsxs as Zl}from"react/jsx-runtime";var Kl=()=>{let{closePrivyModal:e}=P(),{navigate:t}=w();return Zl($u,{children:[so(_,{},"header"),so(zl,{style:{width:"160px",height:"160px",margin:"0 auto 20px"}}),so(dt,{title:"Could not connect with wallet",description:"Please check that Phantom multichain is enabled and try again.",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center"}}),Zl(he,{children:[so(J,{onClick:()=>t("LANDING"),children:"Try again"}),so(fs,{onClick:()=>e(),children:"Cancel"})]}),so(B,{protectedByPrivy:!0})]})};import{useEffect as Jl,useState as Yl}from"react";import si from"styled-components";import{Fragment as Ku,jsx as At,jsxs as Gr}from"react/jsx-runtime";var Ql={google:{name:"Google",component:Nr},discord:{name:"Discord",component:Rr},github:{name:"Github",component:Ir},twitter:{name:"Twitter",component:Or},apple:{name:"Apple",component:Wr}},ju=e=>e.charAt(0).toUpperCase()+e.slice(1),ai=()=>{let e=new URL(window.location.href);e.searchParams.delete("privy_oauth_code"),e.searchParams.delete("privy_oauth_provider"),e.searchParams.delete("privy_oauth_state"),window.history.pushState({},"",e)},Xl=()=>{var W;let{ready:e,user:t,authenticated:o}=N(),{data:r,setModalData:n,navigate:i}=w(),{getAuthMeta:a,initLoginWithOAuth:s,loginWithOAuth:l,closePrivyModal:c}=P(),[
|
|
1416
|
+
`;import{Fragment as Uu,jsx as io,jsxs as Bu}from"react/jsx-runtime";var Hl=()=>{let{app:e}=w();return Bu(Uu,{children:[io(_,{},"header"),io(Ue,{title:"Connect your email",description:`Add your email to your ${e==null?void 0:e.name} account`,icon:io(Sr,{})}),io(he,{children:io(Pr,{stacked:!0})}),io(B,{protectedByPrivy:!0})]})};import{Fragment as Fu,jsx as ao,jsxs as Gu}from"react/jsx-runtime";var Vl=()=>{let{app:e}=w();return Gu(Fu,{children:[ao(_,{},"header"),ao(Ue,{title:"Connect your phone",description:`Add your number to your ${e==null?void 0:e.name} account`,icon:ao(Tr,{})}),ao(he,{children:ao(kr,{stacked:!0})}),ao(B,{protectedByPrivy:!0})]})};import{Fragment as Hu,jsx as To,jsxs as $l}from"react/jsx-runtime";var jl=()=>{let{linkingHint:e}=P(),{app:t}=w(),o=e?`Select the wallet with ${fe(e)} and follow the instructions to reconnect your wallet${t!=null&&t.name?` to ${t.name}.`:"."}`:`Link a wallet to your ${t==null?void 0:t.name} account`;return $l(Hu,{children:[To(_,{},"header"),To(dt,{title:`${e?"Reconnect":"Connect"} your wallet`,description:o}),$l(he,{children:[To(Br,{}),To(Fr,{})]}),To(B,{protectedByPrivy:!0})]})};import{jsx as ql,jsxs as Vu}from"react/jsx-runtime";var zl=({style:e,...t})=>Vu("svg",{width:"164",height:"164",viewBox:"0 0 164 164",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"26px",width:"26px",...e},...t,children:[ql("circle",{cx:"82",cy:"82",r:"80",stroke:"#EC6351","stroke-width":"4","stroke-linecap":"round"}),ql("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M81.9999 100.788C93.3288 100.788 102.513 91.6043 102.513 80.2754C102.513 68.9465 93.3288 59.7626 81.9999 59.7626C70.671 59.7626 61.4871 68.9465 61.4871 80.2754C61.4871 91.6043 70.671 100.788 81.9999 100.788ZM88.3236 71.8304C88.9093 71.2446 89.8591 71.2446 90.4449 71.8304C91.0307 72.4161 91.0307 73.3659 90.4449 73.9517L84.121 80.2756L90.445 86.5996C91.0308 87.1854 91.0308 88.1351 90.445 88.7209C89.8592 89.3067 88.9095 89.3067 88.3237 88.7209L81.9997 82.3969L75.6756 88.7209C75.0899 89.3067 74.1401 89.3067 73.5543 88.7209C72.9685 88.1351 72.9685 87.1854 73.5543 86.5996L79.8783 80.2756L73.5544 73.9517C72.9686 73.3659 72.9686 72.4161 73.5544 71.8304C74.1402 71.2446 75.09 71.2446 75.6758 71.8304L81.9997 78.1543L88.3236 71.8304Z",fill:"#EC6351"})]});import{Fragment as $u,jsx as so,jsxs as Zl}from"react/jsx-runtime";var Kl=()=>{let{closePrivyModal:e}=P(),{navigate:t}=w();return Zl($u,{children:[so(_,{},"header"),so(zl,{style:{width:"160px",height:"160px",margin:"0 auto 20px"}}),so(dt,{title:"Could not connect with wallet",description:"Please check that Phantom multichain is enabled and try again.",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center"}}),Zl(he,{children:[so(J,{onClick:()=>t("LANDING"),children:"Try again"}),so(fs,{onClick:()=>e(),children:"Cancel"})]}),so(B,{protectedByPrivy:!0})]})};import{useEffect as Jl,useState as Yl}from"react";import si from"styled-components";import{Fragment as Ku,jsx as At,jsxs as Gr}from"react/jsx-runtime";var Ql={google:{name:"Google",component:Nr},discord:{name:"Discord",component:Rr},github:{name:"Github",component:Ir},twitter:{name:"Twitter",component:Or},apple:{name:"Apple",component:Wr}},ju=e=>e.charAt(0).toUpperCase()+e.slice(1),ai=()=>{let e=new URL(window.location.href);e.searchParams.delete("privy_oauth_code"),e.searchParams.delete("privy_oauth_provider"),e.searchParams.delete("privy_oauth_state"),window.history.pushState({},"",e)},Xl=()=>{var W;let{ready:e,user:t,authenticated:o}=N(),{data:r,setModalData:n,navigate:i}=w(),{getAuthMeta:a,initLoginWithOAuth:s,loginWithOAuth:l,closePrivyModal:c}=P(),[g,f]=Yl(!1),[p,y]=Yl(void 0),b=((W=a())==null?void 0:W.provider)||"google",d=Ql[b].name,h=Ql[b].component;Jl(()=>{!e||l().then(()=>{ai(),f(!0)}).catch(I=>{let A={retryable:!1,message:"Authentication failed."};I.message.includes("Another user has already linked this")?A.detail="This account has already been linked to another user.":I.message==="Invalid code during oauth flow."?(A.retryable=!0,A.detail="Something went wrong. Try again."):I.message==="User denied confirmation during OAuth flow"&&(A.detail=`Retry and check ${ju(b)} to finish connecting your account.`,A.retryable=!0),ai(),y(A)})},[e]),Jl(()=>{var G;if(!(o&&g&&t))return;if(((G=r==null?void 0:r.login)==null?void 0:G.promptCreatePrivyWalletFlow)&&!t.wallet){let $=setTimeout(()=>{n({createWallet:{onSuccess:()=>{},onFailure:ne=>console.error(ne),callAuthOnSuccessOnClose:!0}}),i("EMBEDDED_WALLET_SCREEN")},_e-500);return()=>clearTimeout($)}else{let $=setTimeout(c,_e);return()=>clearTimeout($)}},[o,g,t]);let v=g?`Successfully connected with ${d}`:p?p.message:`Verifying connection to ${d}`,S="";return g?S="You\u2019re good to go!":p?S=p.detail:S="Just a few moments more",Gr(Ku,{children:[At(_,{}),Gr(qu,{children:[At(Zu,{children:Gr("div",{children:[At(sr,{success:g,fail:!!p}),At(h,{style:{width:"38px",height:"38px"}})]})}),Gr(zu,{children:[At("h3",{children:v}),At("p",{children:S})]}),At(me,{onClick:()=>{ai(),s(b),y(void 0)},invisible:g||!(p!=null&&p.retryable),disabled:!g&&!(p!=null&&p.retryable),children:"Retry"})]})]})},qu=si.div`
|
|
1417
1417
|
display: flex;
|
|
1418
1418
|
flex-direction: column;
|
|
1419
1419
|
align-items: center;
|
|
@@ -1518,7 +1518,7 @@ Resources:
|
|
|
1518
1518
|
color: var(--privy-color-foreground-3);
|
|
1519
1519
|
text-align: right;
|
|
1520
1520
|
width: 100%;
|
|
1521
|
-
`;import{EtherscanProvider as s2,InfuraProvider as nc}from"@ethersproject/providers";async function ic(e,t,o,r){return r=Object.assign({chainId:1},r),lc(r),(await o.rpc({address:t,accessToken:e,request:{method:"eth_populateTransactionRequest",params:[r]}})).response.data}async function ac(e,t,o,r){r=Object.assign({chainId:1},r),lc(r);let i=(await o.rpc({address:t,accessToken:e,request:{method:"eth_signTransaction",params:[r]}})).response.data,s=await(await l2(r.chainId,i)).wait();return p2(s)}function l2(e,t){return new nc(e,gt).sendTransaction(t)}async function sc(e){return await new nc(e.chainId||1,gt).estimateGas(e)}async function di(){return await new s2(1,$i).getEtherPrice()}function lc(e){let t=["gasLimit","gasPrice","value","maxPriorityFeePerGas","maxFeePerGas"];for(let o of t){let r=e[o];if(!(typeof r>"u")&&!c2(r))throw new Error(`Transaction request property '${o}' must be a valid number, bigint, or hex string representing a quantity`)}if(typeof e.chainId!="number")throw new Error("Transaction request property 'chainId' must be a number")}function c2(e){let t=typeof e=="number",o=typeof e=="bigint",r=typeof e=="string"&&d2(e);return t||o||r}function d2(e){return/^-?0x[a-f0-9]+$/i.test(e)}function p2(e){return{to:e.to,from:e.from,contractAddress:e.contractAddress,transactionIndex:e.transactionIndex,root:e.root,logsBloom:e.logsBloom,blockHash:e.blockHash,transactionHash:e.transactionHash,logs:e.logs,blockNumber:e.blockNumber,confirmations:e.confirmations,byzantium:e.byzantium,type:e.type,status:e.status,gasUsed:e.gasUsed.toHexString(),cumulativeGasUsed:e.cumulativeGasUsed.toHexString(),effectiveGasPrice:e.effectiveGasPrice.toHexString()}}function cc(e){return e.to&&e.data?"CONTRACT_CALL":e.to&&e.value?"SEND_ETH":"UNKNOWN"}import{Fragment as mc,jsx as M,jsxs as oe}from"react/jsx-runtime";var f2=(e,t)=>(t*parseFloat(dc(e))).toFixed(2),ut=(e,t=8)=>parseFloat(dc(e)).toFixed(t).replace(/0+$/,"").replace(/\.$/,""),lo=(e,t)=>{let o=u2(e);return`https://${o.name==="homestead"?"www":o.name}.etherscan.io/address/${t}`},m2=e=>{switch(e.txnFamily){case"SEND_ETH":return M(h2,{from:e.wallet.address,to:e.txn.to,value:e.txn.value,txn:e.txn});case"CONTRACT_CALL":return M(g2,{from:e.wallet.address,to:e.txn.to,data:e.txn.data,txn:e.txn});default:return M("div",{children:"Unsupported transaction."})}},h2=e=>{let[t,o]=pt(void 0),[r,n]=pt(null);return ko(()=>{di().then(o)},[]),ko(()=>{sc(e.txn).then(i=>{n(i.toBigInt())})},[e.txn]),oe(xs,{children:[oe(b2,{children:["$",t?f2(e.value,t):"--"]}),oe(v2,{children:[ut(e.value)," ETH"]}),oe(Vr,{collapsible:!0,children:[M(ke,{label:"From",children:M("a",{href:lo(e.txn.chainId||1,e.from),target:"_blank",children:fe(e.from)})}),M(ke,{label:"Destination",children:M("a",{href:lo(e.txn.chainId||1,e.to),target:"_blank",children:fe(e.to)})}),M(ke,{label:"Fees",children:oe("span",{children:[r!==null?`~${ut(r)}`:"--"," ETH"]})}),M(ke,{label:"Total",children:oe("span",{children:["~",ut(e.value)+ut(r??0)," ETH"]})}),M(li,{ethToUsd:t})]})]})},g2=e=>oe(Vr,{children:[M(ke,{label:"From",children:M("a",{href:lo(e.txn.chainId||1,e.from),target:"_blank",children:fe(e.from)})}),M(ke,{label:"Contract",children:M("a",{href:lo(e.txn.chainId||1,e.to),target:"_blank",children:fe(e.to)})})]}),y2=e=>{let[t,o]=pt(void 0);return ko(()=>{di().then(o)},[]),oe(mc,{children:[M(_,{onClose:e.onClose}),oe(uc,{children:[oe("div",{children:[M(te,{title:"Transaction complete!",description:"You're all set."}),oe(Vr,{children:[M(ke,{label:"From",children:M("a",{href:lo(e.txn.chainId||1,e.receipt.from),target:"_blank",children:fe(e.receipt.from)})}),M(ke,{label:"Destination",children:M("a",{href:lo(e.txn.chainId||1,e.receipt.to),target:"_blank",children:fe(e.receipt.to)})}),M(ke,{label:"Amount",children:oe("span",{children:[ut(e.txn.value||0)," ETH"]})}),M(ke,{label:"Fees",children:oe("span",{children:[ut(e.receipt.gasUsed)," ETH"]})}),M(ke,{label:"Total",children:oe("span",{children:[ut(e.txn.value||0)+ut(e.receipt.gasUsed??0)," ","ETH"]})}),M(li,{ethToUsd:t})]})]}),M("div",{children:M(fc,{loading:!1,onClick:e.onClose,children:"All Done"})})]})]})},pc=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,closePrivyModal:n}=P(),{navigate:i,data:a}=w(),{transactionRequest:s,onSuccess:l,onFailure:c,uiOptions:
|
|
1521
|
+
`;import{EtherscanProvider as s2,InfuraProvider as nc}from"@ethersproject/providers";async function ic(e,t,o,r){return r=Object.assign({chainId:1},r),lc(r),(await o.rpc({address:t,accessToken:e,request:{method:"eth_populateTransactionRequest",params:[r]}})).response.data}async function ac(e,t,o,r){r=Object.assign({chainId:1},r),lc(r);let i=(await o.rpc({address:t,accessToken:e,request:{method:"eth_signTransaction",params:[r]}})).response.data,s=await(await l2(r.chainId,i)).wait();return p2(s)}function l2(e,t){return new nc(e,gt).sendTransaction(t)}async function sc(e){return await new nc(e.chainId||1,gt).estimateGas(e)}async function di(){return await new s2(1,$i).getEtherPrice()}function lc(e){let t=["gasLimit","gasPrice","value","maxPriorityFeePerGas","maxFeePerGas"];for(let o of t){let r=e[o];if(!(typeof r>"u")&&!c2(r))throw new Error(`Transaction request property '${o}' must be a valid number, bigint, or hex string representing a quantity`)}if(typeof e.chainId!="number")throw new Error("Transaction request property 'chainId' must be a number")}function c2(e){let t=typeof e=="number",o=typeof e=="bigint",r=typeof e=="string"&&d2(e);return t||o||r}function d2(e){return/^-?0x[a-f0-9]+$/i.test(e)}function p2(e){return{to:e.to,from:e.from,contractAddress:e.contractAddress,transactionIndex:e.transactionIndex,root:e.root,logsBloom:e.logsBloom,blockHash:e.blockHash,transactionHash:e.transactionHash,logs:e.logs,blockNumber:e.blockNumber,confirmations:e.confirmations,byzantium:e.byzantium,type:e.type,status:e.status,gasUsed:e.gasUsed.toHexString(),cumulativeGasUsed:e.cumulativeGasUsed.toHexString(),effectiveGasPrice:e.effectiveGasPrice.toHexString()}}function cc(e){return e.to&&e.data?"CONTRACT_CALL":e.to&&e.value?"SEND_ETH":"UNKNOWN"}import{Fragment as mc,jsx as M,jsxs as oe}from"react/jsx-runtime";var f2=(e,t)=>(t*parseFloat(dc(e))).toFixed(2),ut=(e,t=8)=>parseFloat(dc(e)).toFixed(t).replace(/0+$/,"").replace(/\.$/,""),lo=(e,t)=>{let o=u2(e);return`https://${o.name==="homestead"?"www":o.name}.etherscan.io/address/${t}`},m2=e=>{switch(e.txnFamily){case"SEND_ETH":return M(h2,{from:e.wallet.address,to:e.txn.to,value:e.txn.value,txn:e.txn});case"CONTRACT_CALL":return M(g2,{from:e.wallet.address,to:e.txn.to,data:e.txn.data,txn:e.txn});default:return M("div",{children:"Unsupported transaction."})}},h2=e=>{let[t,o]=pt(void 0),[r,n]=pt(null);return ko(()=>{di().then(o)},[]),ko(()=>{sc(e.txn).then(i=>{n(i.toBigInt())})},[e.txn]),oe(xs,{children:[oe(b2,{children:["$",t?f2(e.value,t):"--"]}),oe(v2,{children:[ut(e.value)," ETH"]}),oe(Vr,{collapsible:!0,children:[M(ke,{label:"From",children:M("a",{href:lo(e.txn.chainId||1,e.from),target:"_blank",children:fe(e.from)})}),M(ke,{label:"Destination",children:M("a",{href:lo(e.txn.chainId||1,e.to),target:"_blank",children:fe(e.to)})}),M(ke,{label:"Fees",children:oe("span",{children:[r!==null?`~${ut(r)}`:"--"," ETH"]})}),M(ke,{label:"Total",children:oe("span",{children:["~",ut(e.value)+ut(r??0)," ETH"]})}),M(li,{ethToUsd:t})]})]})},g2=e=>oe(Vr,{children:[M(ke,{label:"From",children:M("a",{href:lo(e.txn.chainId||1,e.from),target:"_blank",children:fe(e.from)})}),M(ke,{label:"Contract",children:M("a",{href:lo(e.txn.chainId||1,e.to),target:"_blank",children:fe(e.to)})})]}),y2=e=>{let[t,o]=pt(void 0);return ko(()=>{di().then(o)},[]),oe(mc,{children:[M(_,{onClose:e.onClose}),oe(uc,{children:[oe("div",{children:[M(te,{title:"Transaction complete!",description:"You're all set."}),oe(Vr,{children:[M(ke,{label:"From",children:M("a",{href:lo(e.txn.chainId||1,e.receipt.from),target:"_blank",children:fe(e.receipt.from)})}),M(ke,{label:"Destination",children:M("a",{href:lo(e.txn.chainId||1,e.receipt.to),target:"_blank",children:fe(e.receipt.to)})}),M(ke,{label:"Amount",children:oe("span",{children:[ut(e.txn.value||0)," ETH"]})}),M(ke,{label:"Fees",children:oe("span",{children:[ut(e.receipt.gasUsed)," ETH"]})}),M(ke,{label:"Total",children:oe("span",{children:[ut(e.txn.value||0)+ut(e.receipt.gasUsed??0)," ","ETH"]})}),M(li,{ethToUsd:t})]})]}),M("div",{children:M(fc,{loading:!1,onClick:e.onClose,children:"All Done"})})]})]})},pc=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,closePrivyModal:n}=P(),{navigate:i,data:a}=w(),{transactionRequest:s,onSuccess:l,onFailure:c,uiOptions:g}=a.sendTransaction,[f,p]=pt(null),[y,b]=pt(""),[d,h]=pt(!1),[v,S]=pt(!1),[W,I]=pt(s);ko(()=>{e||(i("LANDING"),c(new Error("User must be authenticated before transacting with a Privy wallet")))},[e]);let A=K(o);ko(()=>{async function re(){let D=await t();return!D||!r||!A?W:ic(D,A.address,r,W)}re().then(I,D=>{h(!0),Vs(D)?b(D.message):(b("There was an error preparing transaction"),console.error(D))})},[r]);let G=cc(W),$={title:g.title||G==="SEND_ETH"?"Send ETH":"Submit transaction",description:g.description||"Confirm the details of the transaction",buttonText:g.buttonText||"Submit"},ne=()=>{v||(f?l(f):c(new Error(y||"User exited the modal before submitting the transaction")),n({shouldCallAuthOnSuccess:!1}))};return f!==null?M(y2,{txn:W,onClose:ne,receipt:f}):oe(mc,{children:[M(_,{onClose:ne}),oe(uc,{children:[oe("div",{children:[M(Ue,{title:$.title,description:$.description}),A?M(m2,{wallet:A,txn:W,txnFamily:G}):null]}),oe("div",{children:[M(w2,{children:y}),M(fc,{disabled:d||v,loading:!r||v,loadingText:v?"Submitting (may take a few minutes)...":"Loading...",onClick:async()=>{S(!0);let re=await t();if(re&&!v&&A)try{let D=await ac(re,A.address,r,W);p(D),b("")}catch(D){b(D.reason||"An error has occurred, please try again.")}finally{S(!1)}},children:$.buttonText})]})]})]})},uc=Wo.div`
|
|
1522
1522
|
display: flex;
|
|
1523
1523
|
height: 100%;
|
|
1524
1524
|
flex-direction: column;
|
|
@@ -1544,7 +1544,7 @@ Resources:
|
|
|
1544
1544
|
margin-top: 4px;
|
|
1545
1545
|
`,fc=Wo(J)`
|
|
1546
1546
|
transition: color 350ms ease, background-color 350ms ease;
|
|
1547
|
-
`;import{useEffect as pi,useState as Ro}from"react";import fi from"styled-components";import{Fragment as gc,jsx as $e,jsxs as Io}from"react/jsx-runtime";var C2=({setTitle:e,setError:t})=>{let{walletConnectors:o}=N(),{activeStatus:r}=P();return Io(gc,{children:[$e(J,{onClick:()=>{if(!o||!r)return;t(!1),e("Update your active wallet");let n=o.walletConnectors.find(i=>i.address===r.address);n&&(n.connect({showPrompt:!0}).catch(i=>{console.error(i)}),n.proxyProvider.on("accountsChanged",i=>{i.length>0&&i[0]!==r.address&&(e("You selected the wrong wallet"),t(!0))}))},children:"Open MetaMask"})," "]})},hc=()=>{var d,
|
|
1547
|
+
`;import{useEffect as pi,useState as Ro}from"react";import fi from"styled-components";import{Fragment as gc,jsx as $e,jsxs as Io}from"react/jsx-runtime";var C2=({setTitle:e,setError:t})=>{let{walletConnectors:o}=N(),{activeStatus:r}=P();return Io(gc,{children:[$e(J,{onClick:()=>{if(!o||!r)return;t(!1),e("Update your active wallet");let n=o.walletConnectors.find(i=>i.address===r.address);n&&(n.connect({showPrompt:!0}).catch(i=>{console.error(i)}),n.proxyProvider.on("accountsChanged",i=>{i.length>0&&i[0]!==r.address&&(e("You selected the wrong wallet"),t(!0))}))},children:"Open MetaMask"})," "]})},hc=()=>{var d,h;let[e,t]=Ro(!1),[o,r]=Ro(""),[n,i]=Ro(!1),[a,s]=Ro("Update your active wallet"),{walletConnectors:l}=N(),{activeStatus:c,closePrivyModal:g}=P(),[f,p]=Ro(!1);pi(()=>{(async()=>await Xi())().then(async S=>{S||p(!0)}),setTimeout(()=>{p(!0)},3e4)},[f]),pi(()=>{var S;if(!c)return;let v=(S=l==null?void 0:l.activeWalletConnector)==null?void 0:S.address;c.error?r(c.error):c.success&&c.address===v&&(r(""),t(!0))},[c]),pi(()=>{if(e){s("Wallet updated successfully");let v=setTimeout(g,_e);return()=>clearTimeout(v)}},[e]);let y=()=>e?Io(ui,{children:[$e("span",{children:fe(c==null?void 0:c.address)})," is now active."]}):c!=null&&c.address?Io(ui,{children:["Please connect and select the wallet"," ",$e("span",{children:fe(c.address)})," in MetaMask."]}):$e(ui,{children:"Please connect and select the right wallet in MetaMask"}),b=((d=c==null?void 0:c.walletBranding)==null?void 0:d.icon)||((h=hr[(c==null?void 0:c.walletType)||"metamask"])==null?void 0:h.component)||"";return Io(gc,{children:[$e(_,{},"header"),$e(Nn,{walletLogo:b,success:e,fail:!!o||n}),Io(x2,{children:[$e("h3",{children:a}),o&&$e(E2,{children:o}),y()]}),f&&$e(C2,{setTitle:s,setError:i}),!f&&$e(ve,{})]})},E2=fi.div`
|
|
1548
1548
|
color: var(--privy-color-error);
|
|
1549
1549
|
`,x2=fi.div`
|
|
1550
1550
|
display: flex;
|
|
@@ -1556,7 +1556,7 @@ Resources:
|
|
|
1556
1556
|
font-weight: 600;
|
|
1557
1557
|
font-size: 14px;
|
|
1558
1558
|
}
|
|
1559
|
-
`;import{useEffect as _2,useState as yc}from"react";import Mo,{css as S2}from"styled-components";import{Fragment as W2,jsx as ft,jsxs as $r}from"react/jsx-runtime";var bc=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,closePrivyModal:n,createAnalyticsEvent:i}=P(),{navigate:a,data:s}=w(),[l,c]=yc(!1),[
|
|
1559
|
+
`;import{useEffect as _2,useState as yc}from"react";import Mo,{css as S2}from"styled-components";import{Fragment as W2,jsx as ft,jsxs as $r}from"react/jsx-runtime";var bc=()=>{let{authenticated:e,getAccessToken:t,user:o}=N(),{walletProxy:r,closePrivyModal:n,createAnalyticsEvent:i}=P(),{navigate:a,data:s}=w(),[l,c]=yc(!1),[g,f]=yc("");_2(()=>{e||(a("LANDING"),b(new Error("User must be authenticated before signing with a Privy wallet")))},[e]);let{message:p,onSuccess:y,onFailure:b,uiOptions:d}=s.signMessage,h=K(o),v=!r,S={title:d.title||"Sign message",description:d.description||"Signing this message will not cost you any fees.",buttonText:d.buttonText||"Sign and continue"};return $r(W2,{children:[ft(_,{onClose:()=>n({shouldCallAuthOnSuccess:!1})}),$r(L2,{children:[$r("div",{children:[ft(te,{title:S.title,description:S.description}),ft(P2,{children:p}),ft(T2,{fail:!0,children:g})]}),ft(k2,{success:l,loading:v,disabled:l,onClick:async()=>{let W=await t();if(W&&!v&&h)try{i("embedded_wallet_sign_message_started",{walletAddress:h.address});let{signature:I}=await r.sign({accessToken:W,address:h==null?void 0:h.address,message:p});f(""),y(I),i("embedded_wallet_sign_message_completed",{walletAddress:h.address}),c(!0),setTimeout(()=>{n({shouldCallAuthOnSuccess:!1})},_e)}catch(I){f("An error has occurred, please try again."),b(I)}},children:l?$r(A2,{children:[ft(Kt,{style:{height:"0.9rem",width:"0.9rem"},strokeWidth:2})," ",ft("span",{children:"Success"})]}):S.buttonText})]}),ft(B,{protectedByPrivy:!0})]})},L2=Mo.div`
|
|
1560
1560
|
display: flex;
|
|
1561
1561
|
height: 100%;
|
|
1562
1562
|
flex-direction: column;
|
|
@@ -1973,4 +1973,4 @@ Resources:
|
|
|
1973
1973
|
align-items: center;
|
|
1974
1974
|
justify-content: center;
|
|
1975
1975
|
height: 100%;
|
|
1976
|
-
`;import co from"tinycolor2";var Sc="#FFFFFF",$2="#000000",j2=Sc,q2="#1E1E1D";function z2(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 Wt(e,t){let o=Math.max(0,Math.min(1,e.toHsl().l+t));return co({...e.toHsl(),l:o})}function Lc({backgroundTheme:e,accentHex:t,successHex:o="#51BA81",errorHex:r="#EC6351",whiteHex:n=Sc,blackHex:i=$2}){let a;switch(e){case"light":a=j2;break;case"dark":a=q2;break;default:a=e;break}let s=co(a),l=co(t),c=co(o),h=co(r),f=z2(s.getLuminance()),p=Wt(s,f==="light"?-.04:.11),y=Wt(s,f==="light"?-.88:.87),b=Wt(s,f==="light"?-.77:.75),d=Wt(s,f==="light"?-.43:.45).desaturate(f==="light"?60:20),g=Wt(s,f==="light"?-.13:.25).desaturate(f==="light"?60:20),v=Wt(l,.15),S=Wt(l,-.06),W=co(l.getLuminance()>.5?i:n);return{colorScheme:f,background:s.toHslString(),background2:p.toHslString(),foreground:y.toHslString(),foreground2:b.toHslString(),foreground3:d.toHslString(),foreground4:g.toHslString(),accent:l.toHslString(),accentLight:v.toHslString(),accentDark:S.toHslString(),foregroundAccent:W.toHslString(),success:c.toHslString(),error:h.toHslString()}}var Pc={appearance:{theme:"light",accentColor:"#676FFF"}};function hi(e,t){var i,a,s,l,c,h,f,p,y,b,d,g,v,S;let o=((i=t==null?void 0:t.loginMethods)==null?void 0:i.includes("email"))??e.emailAuth,r=((a=t==null?void 0:t.loginMethods)==null?void 0:a.includes("sms"))??e.smsAuth;return o&&r&&(console.warn("Enabling both email and SMS passwordless is not currently supported. Disabling SMS."),r=!1),{id:e.id,name:e.name,allowlistConfig:e.allowlistConfig,appearance:{logo:((s=t==null?void 0:t.appearance)==null?void 0:s.logo)??e.logoUrl,palette:Lc({backgroundTheme:((l=t==null?void 0:t.appearance)==null?void 0:l.theme)??Pc.appearance.theme,accentHex:((c=t==null?void 0:t.appearance)==null?void 0:c.accentColor)??e.accentColor??Pc.appearance.accentColor}),showWalletLoginFirst:((h=t==null?void 0:t.appearance)==null?void 0:h.showWalletLoginFirst)??e.showWalletLoginFirst},loginMethods:{wallet:((f=t==null?void 0:t.loginMethods)==null?void 0:f.includes("wallet"))??e.walletAuth,email:o,sms:r,google:((p=t==null?void 0:t.loginMethods)==null?void 0:p.includes("google"))??e.googleOAuth,twitter:((y=t==null?void 0:t.loginMethods)==null?void 0:y.includes("twitter"))??e.twitterOAuth,discord:((b=t==null?void 0:t.loginMethods)==null?void 0:b.includes("discord"))??e.discordOAuth,github:((d=t==null?void 0:t.loginMethods)==null?void 0:d.includes("github"))??e.githubOAuth,apple:((g=t==null?void 0:t.loginMethods)==null?void 0:g.includes("apple"))??e.appleOAuth},legal:{termsAndConditionsUrl:((v=t==null?void 0:t.legal)==null?void 0:v.termsAndConditionsUrl)??e.termsAndConditionsUrl,privacyPolicyUrl:((S=t==null?void 0:t.legal)==null?void 0:S.privacyPolicyUrl)??e.privacyPolicyUrl}}}import{useRef as Z2,useEffect as K2}from"react";var jr=class{constructor(){this.callbacks={}}enqueue(t,o){this.callbacks[t]=o}dequeue(t,o){let r=this.callbacks[o];if(!r)throw new Error(`cannot dequeue ${t} event: no event found for id ${o}`);switch(delete this.callbacks[o],t){case"privy:iframe:ready":return r;case"privy:wallet:create":return r;case"privy:wallet:connect":return r;case"privy:wallet:sign":return r;case"privy:wallet:recover":return r;case"privy:wallet:rpc":return r;default:throw new Error(`invalid wallet event type ${t}`)}}};import{jsx as X2}from"react/jsx-runtime";var J2=function(e){return()=>`id-${e++}`}(0);function Y2(e){return typeof e.event=="string"&&/^privy:.+/.test(e.event)}function po(e){return e.error!==void 0}var Rt=new jr;function uo(e,t,o){let r=o.contentWindow;if(!r)throw new Error("iframe not initialized");return new Promise((n,i)=>{let a=J2();Rt.enqueue(a,{resolve:n,reject:i}),r.postMessage({id:a,event:e,data:t},"*")})}function Q2(e){switch(e.event){case"privy:iframe:ready":let t=Rt.dequeue(e.event,e.id);return po(e)?t.reject(new Xe(e.error.type,e.error.message)):t.resolve(e.data);case"privy:wallet:create":let o=Rt.dequeue(e.event,e.id);return po(e)?o.reject(new Xe(e.error.type,e.error.message)):o.resolve(e.data);case"privy:wallet:connect":let r=Rt.dequeue(e.event,e.id);return po(e)?r.reject(new Xe(e.error.type,e.error.message)):r.resolve(e.data);case"privy:wallet:sign":let n=Rt.dequeue(e.event,e.id);return po(e)?n.reject(new Xe(e.error.type,e.error.message)):n.resolve(e.data);case"privy:wallet:recover":let i=Rt.dequeue(e.event,e.id);return po(e)?i.reject(new Xe(e.error.type,e.error.message)):i.resolve(e.data);case"privy:wallet:rpc":let a=Rt.dequeue(e.event,e.id);return po(e)?a.reject(new Xe(e.error.type,e.error.message)):a.resolve(e.data)}}function Tc(e){let t=Z2(null);return K2(()=>{let o=t.current;if(!o)return;function r(s){s&&s.origin===e.origin&&Y2(s.data)&&Q2(s.data)}let n={create(s){return uo("privy:wallet:create",s,o)},connect(s){return uo("privy:wallet:connect",s,o)},sign(s){return uo("privy:wallet:sign",s,o)},recover(s){return uo("privy:wallet:recover",s,o)},rpc(s){return uo("privy:wallet:rpc",s,o)}};window.addEventListener("message",r);let i=()=>e.onLoad(n),a=(...s)=>{console.error("privy iframe failed to load: ",...s),e.onLoadFailed()};return Yi(()=>uo("privy:iframe:ready",{},o)).then(i,a),()=>window.removeEventListener("message",r)},[t.current]),X2("iframe",{ref:t,width:"0",height:"0",style:{display:"none",height:"0px",width:"0px"},src:$o(e.origin,`/apps/${e.appId}/embedded-wallets`)})}import{jsx as No,jsxs as Ac}from"react/jsx-runtime";function t0(e){return typeof e=="string"&&e.length===25}var Oo;function o0(){if(!Oo){let e=q.get(Nt);return Promise.resolve(e||null)}return Oo.getAccessToken()}var r0=()=>{let t=new URLSearchParams(window.location.search).get("privy_token");!t||q.put(mo,t)},n0=e=>{if(!t0(e.appId))throw new C("Cannot initialize the Privy provider with an invalid Privy app ID");return Oo||(Oo=new vo({appId:e.appId,apiUrl:e.apiUrl||Uo})),No(i0,{...e,client:Oo})},i0=e=>{let t=e.client,[o,r]=pe(!1),[n,i]=pe(!1),[a,s]=pe(!1),[l,c]=pe(null),[h,f]=pe(!1),[p,y]=pe(null),[b,d]=pe(!1),[g,v]=pe(null),[S,W]=pe({status:"disconnected",connectError:null,connectRetry:x}),[I,A]=pe(null),[G,$]=pe(null),[ne,re]=pe({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,appleOAuth:!1,termsAndConditionsUrl:null,privacyPolicyUrl:null}),[D,V]=pe(hi(ne,e.config)),[H,j]=pe(!1),[Ee,ae]=pe({}),se=m=>{m&&y(m),r(!0),t.createAnalyticsEvent("modal_open",{initialScreen:m})},je=m=>{let u=e.createPrivyWalletOnLogin===!0;ae({login:{promptCreatePrivyWalletFlow:u}}),u&&j(!0),se(m)};gi(()=>{async function m(){let u=await t.getServerConfig();re(u),t.connectors.initialize();let k=z();r0();let U=await t.getAuthenticatedUser();s(!!U),c(U),i(!0),k&&U&&d(!0),fo()}m()},[t]),gi(()=>{let m=hi(ne,e.config);V(m)},[e.config,ne]);let z=()=>{let m=new URLSearchParams(window.location.search),u=m.get("privy_oauth_code"),k=m.get("privy_oauth_state"),U=m.get("privy_oauth_provider");return u&&k&&U?(t.startAuthFlow(new rt(U,u,k)),je("AWAITING_OAUTH_SCREEN"),!0):!1},ue=m=>{W(u=>({...u,status:"connecting",connectError:null})),m.promptConnect().then(()=>{W(u=>({...u,status:"connected",connectError:null}))}).catch(u=>{u instanceof We?console.error(u.cause?u.cause:u.message):console.error(u),W(k=>({...k,status:"disconnected",connectError:u}))})},fo=()=>{let u=new URLSearchParams(window.location.search).get("privy_wallet_client");if(!u)return;if(u==="phantom"&&!at()&&je("LOGIN_FAILED_SCREEN"),!t.connectors)throw new C("Connector not initialized");let k=new nt(t.connectors,u);t.startAuthFlow(k),ue(k),se("AWAITING_CONNECTION")};gi(()=>{n&&a&&l===null&&t.getAuthenticatedUser().then(c)},[n,a,l,t]);let qr=()=>{d(!0),se("LINK_WALLET_SCREEN")},yi=async(m,u)=>{let k=t.connectors.getConnectorByAddress(u);if(!k)return A(u),qr(),m;v({address:u,walletType:k.walletType,walletBranding:k.walletBranding,success:!1}),se("SETTING_ACTIVE_WALLET");try{let U=await t.setActiveWallet(u,m);return v({address:u,walletType:k.walletType,walletBranding:k.walletBranding,success:!0}),U}catch(U){U instanceof C&&U.message==="Error setting the active wallet."&&(A(u),qr()),v({address:u,walletType:k.walletType,walletBranding:k.walletBranding,success:!1,error:U.message})}return m},kc={ready:n,authenticated:a,user:l,walletConnectors:t.connectors,linkWallet:qr,linkEmail:()=>{d(!0),se("LINK_EMAIL_SCREEN")},linkPhone:()=>{d(!0),se("LINK_PHONE_SCREEN")},linkGoogle:async()=>{await It.initLoginWithOAuth("google")},linkTwitter:async()=>{await It.initLoginWithOAuth("twitter")},linkDiscord:async()=>{await It.initLoginWithOAuth("discord")},linkGithub:async()=>{await It.initLoginWithOAuth("github")},linkApple:async()=>{await It.initLoginWithOAuth("apple")},login:()=>{if(n&&a){console.warn("Attempted to log in, but user is already logged in. Use a `link` helper instead.");return}je()},logout:async()=>{await t.logout(),c(null),s(!1),y(null),d(!1),r(!1)},getAccessToken:()=>t.getAccessToken(),getEthereumProvider:()=>t.connectors.getEthereumProvider(),getEthersProvider:()=>new e0(new wt(t.connectors.getEthereumProvider())),getWeb3jsProvider:()=>new Go(t.connectors.getEthereumProvider()),unlinkWallet:async m=>{let u=await t.unlinkWallet(m);c(u);let k=u.linkedAccounts.filter(U=>U.type==="wallet");if(u&&k&&k.length>0){let U=k[0];u=await yi(u,U.address)}return c(u),u},unlinkEmail:async m=>{let u=await t.unlinkEmail(m);return c(u),u},unlinkPhone:async m=>{let u=await t.unlinkPhone(m);return c(u),u},unlinkGoogle:async m=>{let u=await t.unlinkOAuth("google",m);return c(u),u},unlinkTwitter:async m=>{let u=await t.unlinkOAuth("twitter",m);return c(u),u},unlinkDiscord:async m=>{let u=await t.unlinkOAuth("discord",m);return c(u),u},unlinkGithub:async m=>{let u=await t.unlinkOAuth("github",m);return c(u),u},unlinkApple:async m=>{let u=await t.unlinkOAuth("apple",m);return c(u),u},setActiveWallet:async m=>{if(!l)return;let u=await yi(l,m);u&&c(u)},forkSession:()=>t.forkSession(),createWallet:()=>new Promise((m,u)=>{if(!a||!l){u(new Error("User must be authenticated before creating a Privy wallet"));return}if(K(l)){u(new Error("Only one Privy wallet per user is currently allowed"));return}j(!0),ae({createWallet:{onSuccess:m,onFailure:u,callAuthOnSuccessOnClose:!1}}),se("EMBEDDED_WALLET_SCREEN")}),signMessage:(m,u)=>new Promise((k,U)=>{if(!a||!l){U(new Error("User must be authenticated before signing with a Privy wallet"));return}if(!K(l)){U(new Error("Must have a Privy wallet before signing"));return}if(typeof m!="string"||m.length<1){U(new Error("Message must be a non-empty string"));return}j(!0);let Zr={message:m,onSuccess:k,onFailure:U,uiOptions:u||{}},Kr={onCompleteNavigateTo:"EMBEDDED_WALLET_SIGN_REQUEST_SCREEN",onFailure:U};ae({signMessage:Zr,connectWallet:Kr}),se("EMBEDDED_WALLET_CONNECTING_SCREEN")}),sendTransaction:(m,u)=>new Promise(async(k,U)=>{if(!a||!l){U(new Error("User must be authenticated before signing with a Privy wallet"));return}if(!K(l)){U(new Error("Must have a Privy wallet before signing"));return}j(!0);let Zr={transactionRequest:m,onSuccess:k,onFailure:U,uiOptions:u||{}},Kr={onCompleteNavigateTo:"EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN",onFailure:U};ae({connectWallet:Kr,sendTransaction:Zr}),se("EMBEDDED_WALLET_CONNECTING_SCREEN")}),exportWallet:()=>new Promise((m,u)=>{if(!a||!l){u(new Error("User must be authenticated before exporting their Privy wallet"));return}if(!K(l)){u(new Error("Must have a Privy wallet before exporting"));return}j(!0);let U={onCompleteNavigateTo:"EMBEDDED_WALLET_KEY_EXPORT_SCREEN",onFailure:u},zr={appId:e.appId,origin:t.apiUrl,onSuccess:m,onFailure:u};ae({keyExport:zr,connectWallet:U}),se("EMBEDDED_WALLET_CONNECTING_SCREEN")})},It=(()=>({isLinking:b,linkingHint:I,activeStatus:g,walletConnectionStatus:S,getAuthFlow:()=>t.authFlow,getAuthMeta:()=>{var m;return(m=t.authFlow)==null?void 0:m.meta},closePrivyModal:(m={shouldCallAuthOnSuccess:!0})=>{var k;let u=n&&a&&l;m.shouldCallAuthOnSuccess&&u&&((k=e.onSuccess)==null||k.call(e,l,h)),t.authFlow=void 0,A(null),y(null),d(!1),v(null),f(!1),r(!1),t.createAnalyticsEvent("modal_closed")},initLoginWithWallet:(m,u)=>{if(!t.connectors)throw new C("Connector not initialized");m||(m="metamask");let k=new nt(t.connectors,m,u);t.startAuthFlow(k),W({status:"connecting",connectError:null,connectRetry:()=>{ue(k)}}),ue(k)},loginWithWallet:async()=>{if(!(t.authFlow instanceof nt))throw new C("Must initialize SIWE flow first.");let m,u;b?(m=await t.link(),m&&(m=bo(m))):{user:m,isNewUser:u}=await t.authenticate(),c(m||l||null),f(u||!1),s(!0)},initLoginWithOAuth:async m=>{t.startAuthFlow(new rt(m));let u=await t.authFlow.getAuthorizationUrl();u&&u.url&&window.location.assign(u.url)},loginWithOAuth:async()=>{if(!(t.authFlow instanceof rt))throw new C("Must initialize OAuth flow before calling loginWithOAuth");let m,u;n&&a?m=await t.link():{user:m,isNewUser:u}=await t.authenticate(),c(m),f(u||!1),s(!0)},initLoginWithEmail:async m=>{let u=new mt(m);t.startAuthFlow(u),await u.sendCodeEmail()},initLoginWithSms:async m=>{let u=new ht(m);t.startAuthFlow(u),await u.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 mt)t.authFlow.meta.emailCode=m.trim();else if(t.authFlow instanceof ht)t.authFlow.meta.smsCode=m.trim();else throw new C("Must initialize a passwordless code flow first");let u,k;b?u=await t.link():{user:u,isNewUser:k}=await t.authenticate(),c(u||l||null),f(k||!1),s(!0)},refreshUser:async()=>{let m=await t.getAuthenticatedUser();return c(m),m},walletProxy:G,createAnalyticsEvent:(m,u,k)=>t.createAnalyticsEvent(m,u,k)}))();return Ac(_n.Provider,{value:kc,children:[e.children,Ac(xn.Provider,{value:It,children:[No(wc,{theme:{...D.appearance.palette||{}}}),No(ia,{appConfig:D,data:Ee,setModalData:ae,initialScreen:p,visible:o,authenticated:a,children:o&&No(_c,{})}),H&&No(Tc,{appId:e.appId,origin:t.apiUrl,onLoad:$,onLoadFailed:()=>null})]})]})};export{wt as AsExternalProvider,yo as ConnectorManager,vo as PrivyClient,n0 as PrivyProvider,Re as PrivyProxyProvider,Jr as VERSION,Ie as WalletConnector,o0 as getAccessToken,N as usePrivy};
|
|
1976
|
+
`;import co from"tinycolor2";var Sc="#FFFFFF",$2="#000000",j2=Sc,q2="#1E1E1D";function z2(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 Wt(e,t){let o=Math.max(0,Math.min(1,e.toHsl().l+t));return co({...e.toHsl(),l:o})}function Lc({backgroundTheme:e,accentHex:t,successHex:o="#51BA81",errorHex:r="#EC6351",whiteHex:n=Sc,blackHex:i=$2}){let a;switch(e){case"light":a=j2;break;case"dark":a=q2;break;default:a=e;break}let s=co(a),l=co(t),c=co(o),g=co(r),f=z2(s.getLuminance()),p=Wt(s,f==="light"?-.04:.11),y=Wt(s,f==="light"?-.88:.87),b=Wt(s,f==="light"?-.77:.75),d=Wt(s,f==="light"?-.43:.45).desaturate(f==="light"?60:20),h=Wt(s,f==="light"?-.13:.25).desaturate(f==="light"?60:20),v=Wt(l,.15),S=Wt(l,-.06),W=co(l.getLuminance()>.5?i:n);return{colorScheme:f,background:s.toHslString(),background2:p.toHslString(),foreground:y.toHslString(),foreground2:b.toHslString(),foreground3:d.toHslString(),foreground4:h.toHslString(),accent:l.toHslString(),accentLight:v.toHslString(),accentDark:S.toHslString(),foregroundAccent:W.toHslString(),success:c.toHslString(),error:g.toHslString()}}var Pc={appearance:{theme:"light",accentColor:"#676FFF"}};function hi(e,t){var f,p,y,b,d,h;let o,r,n,i,a,s,l,c;if(t!=null&&t.loginMethods?(o=t.loginMethods.includes("email"),r=t.loginMethods.includes("sms"),n=t.loginMethods.includes("wallet"),i=t.loginMethods.includes("google"),a=t.loginMethods.includes("twitter"),s=t.loginMethods.includes("discord"),l=t.loginMethods.includes("github"),c=t.loginMethods.includes("apple")):(o=e.emailAuth,r=e.smsAuth,n=e.walletAuth,i=e.googleOAuth,a=e.twitterOAuth,s=e.discordOAuth,l=e.githubOAuth,c=e.appleOAuth),o&&r&&(console.warn("Enabling both email and SMS passwordless is not currently supported. Disabling SMS."),r=!1),!o&&!r&&[i,a,s,l,c].some(v=>v))throw new Error("To enable social logins you must also enable either SMS or Email login");if(![o,r,i,a,s,l,c].some(v=>v))throw new Error("You must enable at least one login method");return{id:e.id,name:e.name,allowlistConfig:e.allowlistConfig,appearance:{logo:((f=t==null?void 0:t.appearance)==null?void 0:f.logo)??e.logoUrl,palette:Lc({backgroundTheme:((p=t==null?void 0:t.appearance)==null?void 0:p.theme)??Pc.appearance.theme,accentHex:((y=t==null?void 0:t.appearance)==null?void 0:y.accentColor)??e.accentColor??Pc.appearance.accentColor}),showWalletLoginFirst:((b=t==null?void 0:t.appearance)==null?void 0:b.showWalletLoginFirst)??e.showWalletLoginFirst},loginMethods:{wallet:n,email:o,sms:r,google:i,twitter:a,discord:s,github:l,apple:c},legal:{termsAndConditionsUrl:((d=t==null?void 0:t.legal)==null?void 0:d.termsAndConditionsUrl)??e.termsAndConditionsUrl,privacyPolicyUrl:((h=t==null?void 0:t.legal)==null?void 0:h.privacyPolicyUrl)??e.privacyPolicyUrl}}}import{useRef as Z2,useEffect as K2}from"react";var jr=class{constructor(){this.callbacks={}}enqueue(t,o){this.callbacks[t]=o}dequeue(t,o){let r=this.callbacks[o];if(!r)throw new Error(`cannot dequeue ${t} event: no event found for id ${o}`);switch(delete this.callbacks[o],t){case"privy:iframe:ready":return r;case"privy:wallet:create":return r;case"privy:wallet:connect":return r;case"privy:wallet:sign":return r;case"privy:wallet:recover":return r;case"privy:wallet:rpc":return r;default:throw new Error(`invalid wallet event type ${t}`)}}};import{jsx as X2}from"react/jsx-runtime";var J2=function(e){return()=>`id-${e++}`}(0);function Y2(e){return typeof e.event=="string"&&/^privy:.+/.test(e.event)}function po(e){return e.error!==void 0}var Rt=new jr;function uo(e,t,o){let r=o.contentWindow;if(!r)throw new Error("iframe not initialized");return new Promise((n,i)=>{let a=J2();Rt.enqueue(a,{resolve:n,reject:i}),r.postMessage({id:a,event:e,data:t},"*")})}function Q2(e){switch(e.event){case"privy:iframe:ready":let t=Rt.dequeue(e.event,e.id);return po(e)?t.reject(new Xe(e.error.type,e.error.message)):t.resolve(e.data);case"privy:wallet:create":let o=Rt.dequeue(e.event,e.id);return po(e)?o.reject(new Xe(e.error.type,e.error.message)):o.resolve(e.data);case"privy:wallet:connect":let r=Rt.dequeue(e.event,e.id);return po(e)?r.reject(new Xe(e.error.type,e.error.message)):r.resolve(e.data);case"privy:wallet:sign":let n=Rt.dequeue(e.event,e.id);return po(e)?n.reject(new Xe(e.error.type,e.error.message)):n.resolve(e.data);case"privy:wallet:recover":let i=Rt.dequeue(e.event,e.id);return po(e)?i.reject(new Xe(e.error.type,e.error.message)):i.resolve(e.data);case"privy:wallet:rpc":let a=Rt.dequeue(e.event,e.id);return po(e)?a.reject(new Xe(e.error.type,e.error.message)):a.resolve(e.data)}}function Tc(e){let t=Z2(null);return K2(()=>{let o=t.current;if(!o)return;function r(s){s&&s.origin===e.origin&&Y2(s.data)&&Q2(s.data)}let n={create(s){return uo("privy:wallet:create",s,o)},connect(s){return uo("privy:wallet:connect",s,o)},sign(s){return uo("privy:wallet:sign",s,o)},recover(s){return uo("privy:wallet:recover",s,o)},rpc(s){return uo("privy:wallet:rpc",s,o)}};window.addEventListener("message",r);let i=()=>e.onLoad(n),a=(...s)=>{console.error("privy iframe failed to load: ",...s),e.onLoadFailed()};return Yi(()=>uo("privy:iframe:ready",{},o)).then(i,a),()=>window.removeEventListener("message",r)},[t.current]),X2("iframe",{ref:t,width:"0",height:"0",style:{display:"none",height:"0px",width:"0px"},src:$o(e.origin,`/apps/${e.appId}/embedded-wallets`)})}import{jsx as No,jsxs as Ac}from"react/jsx-runtime";function t0(e){return typeof e=="string"&&e.length===25}var Oo;function o0(){if(!Oo){let e=q.get(Nt);return Promise.resolve(e||null)}return Oo.getAccessToken()}var r0=()=>{let t=new URLSearchParams(window.location.search).get("privy_token");!t||q.put(mo,t)},n0=e=>{if(!t0(e.appId))throw new C("Cannot initialize the Privy provider with an invalid Privy app ID");return Oo||(Oo=new vo({appId:e.appId,apiUrl:e.apiUrl||Uo})),No(i0,{...e,client:Oo})},i0=e=>{let t=e.client,[o,r]=pe(!1),[n,i]=pe(!1),[a,s]=pe(!1),[l,c]=pe(null),[g,f]=pe(!1),[p,y]=pe(null),[b,d]=pe(!1),[h,v]=pe(null),[S,W]=pe({status:"disconnected",connectError:null,connectRetry:x}),[I,A]=pe(null),[G,$]=pe(null),[ne,re]=pe({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,appleOAuth:!1,termsAndConditionsUrl:null,privacyPolicyUrl:null}),[D,V]=pe(hi(ne,e.config)),[H,j]=pe(!1),[Ee,ae]=pe({}),se=m=>{m&&y(m),r(!0),t.createAnalyticsEvent("modal_open",{initialScreen:m})},je=m=>{let u=e.createPrivyWalletOnLogin===!0;ae({login:{promptCreatePrivyWalletFlow:u}}),u&&j(!0),se(m)};gi(()=>{async function m(){let u=await t.getServerConfig();re(u),t.connectors.initialize();let k=z();r0();let U=await t.getAuthenticatedUser();s(!!U),c(U),i(!0),k&&U&&d(!0),fo()}m()},[t]),gi(()=>{let m=hi(ne,e.config);V(m)},[e.config,ne]);let z=()=>{let m=new URLSearchParams(window.location.search),u=m.get("privy_oauth_code"),k=m.get("privy_oauth_state"),U=m.get("privy_oauth_provider");return u&&k&&U?(t.startAuthFlow(new rt(U,u,k)),je("AWAITING_OAUTH_SCREEN"),!0):!1},ue=m=>{W(u=>({...u,status:"connecting",connectError:null})),m.promptConnect().then(()=>{W(u=>({...u,status:"connected",connectError:null}))}).catch(u=>{u instanceof We?console.error(u.cause?u.cause:u.message):console.error(u),W(k=>({...k,status:"disconnected",connectError:u}))})},fo=()=>{let u=new URLSearchParams(window.location.search).get("privy_wallet_client");if(!u)return;if(u==="phantom"&&!at()&&je("LOGIN_FAILED_SCREEN"),!t.connectors)throw new C("Connector not initialized");let k=new nt(t.connectors,u);t.startAuthFlow(k),ue(k),se("AWAITING_CONNECTION")};gi(()=>{n&&a&&l===null&&t.getAuthenticatedUser().then(c)},[n,a,l,t]);let qr=()=>{d(!0),se("LINK_WALLET_SCREEN")},yi=async(m,u)=>{let k=t.connectors.getConnectorByAddress(u);if(!k)return A(u),qr(),m;v({address:u,walletType:k.walletType,walletBranding:k.walletBranding,success:!1}),se("SETTING_ACTIVE_WALLET");try{let U=await t.setActiveWallet(u,m);return v({address:u,walletType:k.walletType,walletBranding:k.walletBranding,success:!0}),U}catch(U){U instanceof C&&U.message==="Error setting the active wallet."&&(A(u),qr()),v({address:u,walletType:k.walletType,walletBranding:k.walletBranding,success:!1,error:U.message})}return m},kc={ready:n,authenticated:a,user:l,walletConnectors:t.connectors,linkWallet:qr,linkEmail:()=>{d(!0),se("LINK_EMAIL_SCREEN")},linkPhone:()=>{d(!0),se("LINK_PHONE_SCREEN")},linkGoogle:async()=>{await It.initLoginWithOAuth("google")},linkTwitter:async()=>{await It.initLoginWithOAuth("twitter")},linkDiscord:async()=>{await It.initLoginWithOAuth("discord")},linkGithub:async()=>{await It.initLoginWithOAuth("github")},linkApple:async()=>{await It.initLoginWithOAuth("apple")},login:()=>{if(n&&a){console.warn("Attempted to log in, but user is already logged in. Use a `link` helper instead.");return}je()},logout:async()=>{await t.logout(),c(null),s(!1),y(null),d(!1),r(!1)},getAccessToken:()=>t.getAccessToken(),getEthereumProvider:()=>t.connectors.getEthereumProvider(),getEthersProvider:()=>new e0(new wt(t.connectors.getEthereumProvider())),getWeb3jsProvider:()=>new Go(t.connectors.getEthereumProvider()),unlinkWallet:async m=>{let u=await t.unlinkWallet(m);c(u);let k=u.linkedAccounts.filter(U=>U.type==="wallet");if(u&&k&&k.length>0){let U=k[0];u=await yi(u,U.address)}return c(u),u},unlinkEmail:async m=>{let u=await t.unlinkEmail(m);return c(u),u},unlinkPhone:async m=>{let u=await t.unlinkPhone(m);return c(u),u},unlinkGoogle:async m=>{let u=await t.unlinkOAuth("google",m);return c(u),u},unlinkTwitter:async m=>{let u=await t.unlinkOAuth("twitter",m);return c(u),u},unlinkDiscord:async m=>{let u=await t.unlinkOAuth("discord",m);return c(u),u},unlinkGithub:async m=>{let u=await t.unlinkOAuth("github",m);return c(u),u},unlinkApple:async m=>{let u=await t.unlinkOAuth("apple",m);return c(u),u},setActiveWallet:async m=>{if(!l)return;let u=await yi(l,m);u&&c(u)},forkSession:()=>t.forkSession(),createWallet:()=>new Promise((m,u)=>{if(!a||!l){u(new Error("User must be authenticated before creating a Privy wallet"));return}if(K(l)){u(new Error("Only one Privy wallet per user is currently allowed"));return}j(!0),ae({createWallet:{onSuccess:m,onFailure:u,callAuthOnSuccessOnClose:!1}}),se("EMBEDDED_WALLET_SCREEN")}),signMessage:(m,u)=>new Promise((k,U)=>{if(!a||!l){U(new Error("User must be authenticated before signing with a Privy wallet"));return}if(!K(l)){U(new Error("Must have a Privy wallet before signing"));return}if(typeof m!="string"||m.length<1){U(new Error("Message must be a non-empty string"));return}j(!0);let Zr={message:m,onSuccess:k,onFailure:U,uiOptions:u||{}},Kr={onCompleteNavigateTo:"EMBEDDED_WALLET_SIGN_REQUEST_SCREEN",onFailure:U};ae({signMessage:Zr,connectWallet:Kr}),se("EMBEDDED_WALLET_CONNECTING_SCREEN")}),sendTransaction:(m,u)=>new Promise(async(k,U)=>{if(!a||!l){U(new Error("User must be authenticated before signing with a Privy wallet"));return}if(!K(l)){U(new Error("Must have a Privy wallet before signing"));return}j(!0);let Zr={transactionRequest:m,onSuccess:k,onFailure:U,uiOptions:u||{}},Kr={onCompleteNavigateTo:"EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN",onFailure:U};ae({connectWallet:Kr,sendTransaction:Zr}),se("EMBEDDED_WALLET_CONNECTING_SCREEN")}),exportWallet:()=>new Promise((m,u)=>{if(!a||!l){u(new Error("User must be authenticated before exporting their Privy wallet"));return}if(!K(l)){u(new Error("Must have a Privy wallet before exporting"));return}j(!0);let U={onCompleteNavigateTo:"EMBEDDED_WALLET_KEY_EXPORT_SCREEN",onFailure:u},zr={appId:e.appId,origin:t.apiUrl,onSuccess:m,onFailure:u};ae({keyExport:zr,connectWallet:U}),se("EMBEDDED_WALLET_CONNECTING_SCREEN")})},It=(()=>({isLinking:b,linkingHint:I,activeStatus:h,walletConnectionStatus:S,getAuthFlow:()=>t.authFlow,getAuthMeta:()=>{var m;return(m=t.authFlow)==null?void 0:m.meta},closePrivyModal:(m={shouldCallAuthOnSuccess:!0})=>{var k;let u=n&&a&&l;m.shouldCallAuthOnSuccess&&u&&((k=e.onSuccess)==null||k.call(e,l,g)),t.authFlow=void 0,A(null),y(null),d(!1),v(null),f(!1),r(!1),t.createAnalyticsEvent("modal_closed")},initLoginWithWallet:(m,u)=>{if(!t.connectors)throw new C("Connector not initialized");m||(m="metamask");let k=new nt(t.connectors,m,u);t.startAuthFlow(k),W({status:"connecting",connectError:null,connectRetry:()=>{ue(k)}}),ue(k)},loginWithWallet:async()=>{if(!(t.authFlow instanceof nt))throw new C("Must initialize SIWE flow first.");let m,u;b?(m=await t.link(),m&&(m=bo(m))):{user:m,isNewUser:u}=await t.authenticate(),c(m||l||null),f(u||!1),s(!0)},initLoginWithOAuth:async m=>{t.startAuthFlow(new rt(m));let u=await t.authFlow.getAuthorizationUrl();u&&u.url&&window.location.assign(u.url)},loginWithOAuth:async()=>{if(!(t.authFlow instanceof rt))throw new C("Must initialize OAuth flow before calling loginWithOAuth");let m,u;n&&a?m=await t.link():{user:m,isNewUser:u}=await t.authenticate(),c(m),f(u||!1),s(!0)},initLoginWithEmail:async m=>{let u=new mt(m);t.startAuthFlow(u),await u.sendCodeEmail()},initLoginWithSms:async m=>{let u=new ht(m);t.startAuthFlow(u),await u.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 mt)t.authFlow.meta.emailCode=m.trim();else if(t.authFlow instanceof ht)t.authFlow.meta.smsCode=m.trim();else throw new C("Must initialize a passwordless code flow first");let u,k;b?u=await t.link():{user:u,isNewUser:k}=await t.authenticate(),c(u||l||null),f(k||!1),s(!0)},refreshUser:async()=>{let m=await t.getAuthenticatedUser();return c(m),m},walletProxy:G,createAnalyticsEvent:(m,u,k)=>t.createAnalyticsEvent(m,u,k)}))();return Ac(_n.Provider,{value:kc,children:[e.children,Ac(xn.Provider,{value:It,children:[No(wc,{theme:{...D.appearance.palette||{}}}),No(ia,{appConfig:D,data:Ee,setModalData:ae,initialScreen:p,visible:o,authenticated:a,children:o&&No(_c,{})}),H&&No(Tc,{appId:e.appId,origin:t.apiUrl,onLoad:$,onLoadFailed:()=>null})]})]})};export{wt as AsExternalProvider,yo as ConnectorManager,vo as PrivyClient,n0 as PrivyProvider,Re as PrivyProxyProvider,Jr as VERSION,Ie as WalletConnector,o0 as getAccessToken,N as usePrivy};
|