@magic-sdk/provider 31.3.0-canary.970.20051429848.0 → 32.0.0-canary.979.20831511014.0

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/es/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- var zt=Object.create;var Ne=Object.defineProperty;var Yt=Object.getOwnPropertyDescriptor;var Qt=Object.getOwnPropertyNames;var Zt=Object.getPrototypeOf,er=Object.prototype.hasOwnProperty;var tr=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),rr=(r,e)=>{for(var t in e)Ne(r,t,{get:e[t],enumerable:!0})},nr=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Qt(e))!er.call(r,n)&&n!==t&&Ne(r,n,{get:()=>e[n],enumerable:!(s=Yt(e,n))||s.enumerable});return r};var sr=(r,e,t)=>(t=r!=null?zt(Zt(r)):{},nr(e||!r||!r.__esModule?Ne(t,"default",{value:r,enumerable:!0}):t,r));var Nt=tr((us,ke)=>{"use strict";var mn=Object.prototype.hasOwnProperty,I="~";function ne(){}Object.create&&(ne.prototype=Object.create(null),new ne().__proto__||(I=!1));function hn(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function Ct(r,e,t,s,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new hn(t,s||r,n),i=I?I+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],o]:r._events[i].push(o):(r._events[i]=o,r._eventsCount++),r}function Ee(r,e){--r._eventsCount===0?r._events=new ne:delete r._events[e]}function v(){this._events=new ne,this._eventsCount=0}v.prototype.eventNames=function(){var e=[],t,s;if(this._eventsCount===0)return e;for(s in t=this._events)mn.call(t,s)&&e.push(I?s.slice(1):s);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};v.prototype.listeners=function(e){var t=I?I+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var n=0,o=s.length,i=new Array(o);n<o;n++)i[n]=s[n].fn;return i};v.prototype.listenerCount=function(e){var t=I?I+e:e,s=this._events[t];return s?s.fn?1:s.length:0};v.prototype.emit=function(e,t,s,n,o,i){var a=I?I+e:e;if(!this._events[a])return!1;var c=this._events[a],d=arguments.length,l,u;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,s),!0;case 4:return c.fn.call(c.context,t,s,n),!0;case 5:return c.fn.call(c.context,t,s,n,o),!0;case 6:return c.fn.call(c.context,t,s,n,o,i),!0}for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c.fn.apply(c.context,l)}else{var P=c.length,w;for(u=0;u<P;u++)switch(c[u].once&&this.removeListener(e,c[u].fn,void 0,!0),d){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,t);break;case 3:c[u].fn.call(c[u].context,t,s);break;case 4:c[u].fn.call(c[u].context,t,s,n);break;default:if(!l)for(w=1,l=new Array(d-1);w<d;w++)l[w-1]=arguments[w];c[u].fn.apply(c[u].context,l)}}return!0};v.prototype.on=function(e,t,s){return Ct(this,e,t,s,!1)};v.prototype.once=function(e,t,s){return Ct(this,e,t,s,!0)};v.prototype.removeListener=function(e,t,s,n){var o=I?I+e:e;if(!this._events[o])return this;if(!t)return Ee(this,o),this;var i=this._events[o];if(i.fn)i.fn===t&&(!n||i.once)&&(!s||i.context===s)&&Ee(this,o);else{for(var a=0,c=[],d=i.length;a<d;a++)(i[a].fn!==t||n&&!i[a].once||s&&i[a].context!==s)&&c.push(i[a]);c.length?this._events[o]=c.length===1?c[0]:c:Ee(this,o)}return this};v.prototype.removeAllListeners=function(e){var t;return e?(t=I?I+e:e,this._events[t]&&Ee(this,t)):(this._events=new ne,this._eventsCount=0),this};v.prototype.off=v.prototype.removeListener;v.prototype.addListener=v.prototype.on;v.prefixed=I;v.EventEmitter=v;typeof ke<"u"&&(ke.exports=v)});function or(r){let e={exports:{}};return r(e,e.exports),e.exports}var ir=Number.MAX_SAFE_INTEGER||9007199254740991;var $e={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:ir,MAX_SAFE_COMPONENT_LENGTH:16},ar=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{},h=ar,Z=or(function(r,e){let{MAX_SAFE_COMPONENT_LENGTH:t}=$e,s=(e=r.exports={}).re=[],n=e.src=[],o=e.t={},i=0,a=(c,d,l)=>{let u=i++;h(u,d),o[c]=u,n[u]=d,s[u]=new RegExp(d,l?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION",`(${n[o.NUMERICIDENTIFIER]})\\.(${n[o.NUMERICIDENTIFIER]})\\.(${n[o.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${n[o.NUMERICIDENTIFIERLOOSE]})\\.(${n[o.NUMERICIDENTIFIERLOOSE]})\\.(${n[o.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${n[o.NUMERICIDENTIFIER]}|${n[o.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${n[o.NUMERICIDENTIFIERLOOSE]}|${n[o.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${n[o.PRERELEASEIDENTIFIER]}(?:\\.${n[o.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${n[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[o.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD",`(?:\\+(${n[o.BUILDIDENTIFIER]}(?:\\.${n[o.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${n[o.MAINVERSION]}${n[o.PRERELEASE]}?${n[o.BUILD]}?`),a("FULL",`^${n[o.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${n[o.MAINVERSIONLOOSE]}${n[o.PRERELEASELOOSE]}?${n[o.BUILD]}?`),a("LOOSE",`^${n[o.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",`${n[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),a("XRANGEIDENTIFIER",`${n[o.NUMERICIDENTIFIER]}|x|X|\\*`),a("XRANGEPLAIN",`[v=\\s]*(${n[o.XRANGEIDENTIFIER]})(?:\\.(${n[o.XRANGEIDENTIFIER]})(?:\\.(${n[o.XRANGEIDENTIFIER]})(?:${n[o.PRERELEASE]})?${n[o.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${n[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[o.XRANGEIDENTIFIERLOOSE]})(?:${n[o.PRERELEASELOOSE]})?${n[o.BUILD]}?)?)?`),a("XRANGE",`^${n[o.GTLT]}\\s*${n[o.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${n[o.GTLT]}\\s*${n[o.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`),a("COERCERTL",n[o.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${n[o.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",a("TILDE",`^${n[o.LONETILDE]}${n[o.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${n[o.LONETILDE]}${n[o.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${n[o.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",a("CARET",`^${n[o.LONECARET]}${n[o.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${n[o.LONECARET]}${n[o.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${n[o.GTLT]}\\s*(${n[o.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${n[o.GTLT]}\\s*(${n[o.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${n[o.GTLT]}\\s*(${n[o.LOOSEPLAIN]}|${n[o.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${n[o.XRANGEPLAIN]})\\s+-\\s+(${n[o.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${n[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[o.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}),ze=/^[0-9]+$/,ot=(r,e)=>{let t=ze.test(r),s=ze.test(e);return t&&s&&(r=+r,e=+e),r===e?0:t&&!s?-1:s&&!t?1:r<e?-1:1},cr=(r,e)=>ot(e,r),lr={compareIdentifiers:ot,rcompareIdentifiers:cr},{MAX_LENGTH:Ye,MAX_SAFE_INTEGER:oe}=$e,{re:Qe,t:Ze}=Z,{compareIdentifiers:X}=lr,M=class r{constructor(e,t){if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof r){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>Ye)throw new TypeError(`version is longer than ${Ye} characters`);h("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let s=e.trim().match(t.loose?Qe[Ze.LOOSE]:Qe[Ze.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>oe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>oe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>oe||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let o=+n;if(o>=0&&o<oe)return o}return n}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(h("SemVer.compare",this.version,this.options,e),!(e instanceof r)){if(typeof e=="string"&&e===this.version)return 0;e=new r(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof r||(e=new r(e,this.options)),X(this.major,e.major)||X(this.minor,e.minor)||X(this.patch,e.patch)}comparePre(e){if(e instanceof r||(e=new r(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let s=this.prerelease[t],n=e.prerelease[t];if(h("prerelease compare",t,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s!==n)return X(s,n)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let s=this.build[t],n=e.build[t];if(h("prerelease compare",t,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s!==n)return X(s,n)}while(++t)}inc(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t),this.inc("pre",t);break;case"major":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let s=this.prerelease.length;for(;--s>=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);s===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}},dr=(r,e,t)=>new M(r,t).compare(new M(e,t)),J=dr,ur=(r,e,t)=>J(r,e,t)===0,pr=ur,mr=(r,e,t)=>J(r,e,t)!==0,hr=mr,Er=(r,e,t)=>J(r,e,t)>0,fr=Er,gr=(r,e,t)=>J(r,e,t)>=0,yr=gr,Rr=(r,e,t)=>J(r,e,t)<0,vr=Rr,Tr=(r,e,t)=>J(r,e,t)<=0,Ir=Tr,br=(r,e,t,s)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return pr(r,t,s);case"!=":return hr(r,t,s);case">":return fr(r,t,s);case">=":return yr(r,t,s);case"<":return vr(r,t,s);case"<=":return Ir(r,t,s);default:throw new TypeError(`Invalid operator: ${e}`)}},Ae=br,z=Symbol("SemVer ANY"),Y=class r{static get ANY(){return z}constructor(e,t){if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}h("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===z?this.value="":this.value=this.operator+this.semver.version,h("comp",this)}parse(e){let t=this.options.loose?et[tt.COMPARATORLOOSE]:et[tt.COMPARATOR],s=e.match(t);if(!s)throw new TypeError(`Invalid comparator: ${e}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new M(s[2],this.options.loose):this.semver=z}toString(){return this.value}test(e){if(h("Comparator.test",e,this.options.loose),this.semver===z||e===z)return!0;if(typeof e=="string")try{e=new M(e,this.options)}catch{return!1}return Ae(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""||new Q(e.value,t).test(this.value);if(e.operator==="")return e.value===""||new Q(this.value,t).test(e.semver);let s=!(this.operator!==">="&&this.operator!==">"||e.operator!==">="&&e.operator!==">"),n=!(this.operator!=="<="&&this.operator!=="<"||e.operator!=="<="&&e.operator!=="<"),o=this.semver.version===e.semver.version,i=!(this.operator!==">="&&this.operator!=="<="||e.operator!==">="&&e.operator!=="<="),a=Ae(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),c=Ae(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return s||n||o&&i||a||c}},{re:et,t:tt}=Z,Q=class r{constructor(e,t){if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof Y)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let{loose:t}=this.options;e=e.trim();let s=t?y[E.HYPHENRANGELOOSE]:y[E.HYPHENRANGE];e=e.replace(s,kr(this.options.includePrerelease)),h("hyphen replace",e),e=e.replace(y[E.COMPARATORTRIM],Pr),h("comparator trim",e,y[E.COMPARATORTRIM]),e=(e=(e=e.replace(y[E.TILDETRIM],wr)).replace(y[E.CARETTRIM],Sr)).split(/\s+/).join(" ");let n=t?y[E.COMPARATORLOOSE]:y[E.COMPARATOR];return e.split(" ").map(o=>xr(o,this.options)).join(" ").split(/\s+/).map(o=>_r(o,this.options)).filter(this.options.loose?o=>!!o.match(n):()=>!0).map(o=>new Y(o,this.options))}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(s=>rt(s,t)&&e.set.some(n=>rt(n,t)&&s.every(o=>n.every(i=>o.intersects(i,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new M(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(Dr(this.set[t],e,this.options))return!0;return!1}},{re:y,t:E,comparatorTrimReplace:Pr,tildeTrimReplace:wr,caretTrimReplace:Sr}=Z,rt=(r,e)=>{let t=!0,s=r.slice(),n=s.pop();for(;t&&s.length;)t=s.every(o=>n.intersects(o,e)),n=s.pop();return t},xr=(r,e)=>(h("comp",r,e),r=Nr(r,e),h("caret",r),r=Mr(r,e),h("tildes",r),r=$r(r,e),h("xrange",r),r=Or(r,e),h("stars",r),r),T=r=>!r||r.toLowerCase()==="x"||r==="*",Mr=(r,e)=>r.trim().split(/\s+/).map(t=>Cr(t,e)).join(" "),Cr=(r,e)=>{let t=e.loose?y[E.TILDELOOSE]:y[E.TILDE];return r.replace(t,(s,n,o,i,a)=>{let c;return h("tilde",r,s,n,o,i,a),T(n)?c="":T(o)?c=`>=${n}.0.0 <${+n+1}.0.0-0`:T(i)?c=`>=${n}.${o}.0 <${n}.${+o+1}.0-0`:a?(h("replaceTilde pr",a),c=`>=${n}.${o}.${i}-${a} <${n}.${+o+1}.0-0`):c=`>=${n}.${o}.${i} <${n}.${+o+1}.0-0`,h("tilde return",c),c})},Nr=(r,e)=>r.trim().split(/\s+/).map(t=>Ar(t,e)).join(" "),Ar=(r,e)=>{h("caret",r,e);let t=e.loose?y[E.CARETLOOSE]:y[E.CARET],s=e.includePrerelease?"-0":"";return r.replace(t,(n,o,i,a,c)=>{let d;return h("caret",r,n,o,i,a,c),T(o)?d="":T(i)?d=`>=${o}.0.0${s} <${+o+1}.0.0-0`:T(a)?d=o==="0"?`>=${o}.${i}.0${s} <${o}.${+i+1}.0-0`:`>=${o}.${i}.0${s} <${+o+1}.0.0-0`:c?(h("replaceCaret pr",c),d=o==="0"?i==="0"?`>=${o}.${i}.${a}-${c} <${o}.${i}.${+a+1}-0`:`>=${o}.${i}.${a}-${c} <${o}.${+i+1}.0-0`:`>=${o}.${i}.${a}-${c} <${+o+1}.0.0-0`):(h("no pr"),d=o==="0"?i==="0"?`>=${o}.${i}.${a}${s} <${o}.${i}.${+a+1}-0`:`>=${o}.${i}.${a}${s} <${o}.${+i+1}.0-0`:`>=${o}.${i}.${a} <${+o+1}.0.0-0`),h("caret return",d),d})},$r=(r,e)=>(h("replaceXRanges",r,e),r.split(/\s+/).map(t=>Lr(t,e)).join(" ")),Lr=(r,e)=>{r=r.trim();let t=e.loose?y[E.XRANGELOOSE]:y[E.XRANGE];return r.replace(t,(s,n,o,i,a,c)=>{h("xRange",r,s,n,o,i,a,c);let d=T(o),l=d||T(i),u=l||T(a),P=u;return n==="="&&P&&(n=""),c=e.includePrerelease?"-0":"",d?s=n===">"||n==="<"?"<0.0.0-0":"*":n&&P?(l&&(i=0),a=0,n===">"?(n=">=",l?(o=+o+1,i=0,a=0):(i=+i+1,a=0)):n==="<="&&(n="<",l?o=+o+1:i=+i+1),n==="<"&&(c="-0"),s=`${n+o}.${i}.${a}${c}`):l?s=`>=${o}.0.0${c} <${+o+1}.0.0-0`:u&&(s=`>=${o}.${i}.0${c} <${o}.${+i+1}.0-0`),h("xRange return",s),s})},Or=(r,e)=>(h("replaceStars",r,e),r.trim().replace(y[E.STAR],"")),_r=(r,e)=>(h("replaceGTE0",r,e),r.trim().replace(y[e.includePrerelease?E.GTE0PRE:E.GTE0],"")),kr=r=>(e,t,s,n,o,i,a,c,d,l,u,P,w)=>`${t=T(s)?"":T(n)?`>=${s}.0.0${r?"-0":""}`:T(o)?`>=${s}.${n}.0${r?"-0":""}`:i?`>=${t}`:`>=${t}${r?"-0":""}`} ${c=T(d)?"":T(l)?`<${+d+1}.0.0-0`:T(u)?`<${d}.${+l+1}.0-0`:P?`<=${d}.${l}.${u}-${P}`:r?`<${d}.${l}.${+u+1}-0`:`<=${c}`}`.trim(),Dr=(r,e,t)=>{for(let s=0;s<r.length;s++)if(!r[s].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let s=0;s<r.length;s++)if(h(r[s].semver),r[s].semver!==Y.ANY&&r[s].semver.prerelease.length>0){let n=r[s].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0},it=(r,e,t)=>{try{e=new Q(e,t)}catch{return!1}return e.test(r)};var{MAX_LENGTH:qr}=$e,{re:nt,t:st}=Z,Ur=(r,e)=>{if(e&&typeof e=="object"||(e={loose:!!e,includePrerelease:!1}),r instanceof M)return r;if(typeof r!="string"||r.length>qr||!(e.loose?nt[st.LOOSE]:nt[st.FULL]).test(r))return null;try{return new M(r,e)}catch{return null}},Fr=Ur,{re:ie,t:ae}=Z,at=(r,e)=>{if(r instanceof M)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;let t=null;if((e=e||{}).rtl){let s;for(;(s=ie[ae.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)t&&s.index+s[0].length===t.index+t[0].length||(t=s),ie[ae.COERCERTL].lastIndex=s.index+s[1].length+s[2].length;ie[ae.COERCERTL].lastIndex=-1}else t=r.match(ie[ae.COERCE]);return t===null?null:Fr(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};function Wr(r){return String.fromCharCode(parseInt(r.slice(1),16))}function Jr(r){return`%${`00${r.charCodeAt(0).toString(16)}`.slice(-2)}`}function Gr(r){return btoa(encodeURIComponent(r).replace(/%[0-9A-F]{2}/g,Wr))}function Kr(r){return decodeURIComponent(Array.from(atob(r),Jr).join(""))}function ce(r){return Gr(JSON.stringify(r))}function ct(r){return JSON.parse(Kr(r))}import{RPCErrorCode as Xr,SDKErrorCode as G,SDKWarningCode as ue}from"@magic-sdk/types";import{MagicPayloadMethod as Vr,RPCErrorCode as jr}from"@magic-sdk/types";function N(r){return typeof r>"u"}function Br(r){return r===null}function le(r){return Br(r)||N(r)}function Fn(r){return le(r)?!1:!N(r.jsonrpc)&&!N(r.id)&&!N(r.method)&&!N(r.params)}function lt(r){return le(r)?!1:!N(r.jsonrpc)&&!N(r.id)&&(!N(r.result)||!N(r.error))}function Wn(r){return le(r)?!1:typeof r=="string"&&Object.values(Vr).includes(r)}function dt(r){return le(r)?!1:typeof r=="number"&&Object.values(jr).includes(r)}function ee(r){if(!r)return!0;for(let e in r)if(Object.hasOwnProperty.call(r,e))return!1;return!0}var m={};function Hr(r,e){return Object.assign(m,e),r}var ut={"magic-sdk":"magic-sdk","@magic-sdk/react-native":"magic-sdk-rn","@magic-sdk/react-native-bare":"magic-sdk-rn-bare","@magic-sdk/react-native-expo":"magic-sdk-rn-expo"};var $=class r extends Error{constructor(t,s){super(`Magic SDK Error: [${t}] ${s}`);this.code=t;this.rawMessage=s;Object.setPrototypeOf(this,r.prototype)}__proto__=Error},U=class r extends Error{__proto__=Error;code;rawMessage;data;constructor(e){super();let t=Number(e?.code);this.rawMessage=e?.message||"Internal error",this.code=dt(t)?t:Xr.InternalError,this.message=`Magic RPC Error: [${this.code}] ${this.rawMessage}`,this.data=e?.data||void 0,Object.setPrototypeOf(this,r.prototype)}},L=class{constructor(e,t){this.code=e;this.rawMessage=t;this.message=`Magic SDK Warning: [${e}] ${t}`}message;log(){console.warn(this.message)}},de=class r extends Error{constructor(t,s,n,o){super(`Magic Extension Error (${t.name}): [${s}] ${n}`);this.code=s;this.rawMessage=n;this.data=o;Object.setPrototypeOf(this,r.prototype)}__proto__=Error},te=class{constructor(e,t,s){this.code=t;this.rawMessage=s;this.message=`Magic Extension Warning (${e.name}): [${t}] ${s}`}message;log(){console.warn(this.message)}};function pt(){return new $(G.MissingApiKey,"Please provide an API key that you acquired from the Magic developer dashboard.")}function mt(){return new $(G.ModalNotReady,"Modal is not ready")}function ht(){return new $(G.MalformedResponse,"Response from the Magic iframe is malformed.")}function Et(r){return new $(G.ExtensionNotInitialized,`Extensions must be initialized with a Magic SDK instance before \`Extension.${r}\` can be accessed. Do not invoke \`Extension.${r}\` inside an extension constructor.`)}function ft(r){let e=`Some extensions are incompatible with \`${m.sdkName}@${m.version}\`:`;return r.filter(t=>typeof t.compat<"u"&&t.compat!==null).forEach(t=>{let s=t.compat[m.sdkName];typeof s=="string"?e+=`
2
- - Extension \`${t.name}\` supports version(s) \`${s}\``:s||(e+=`
3
- - Extension \`${t.name}\` does not support ${m.platform} environments.`)}),new $(G.IncompatibleExtensions,e)}function gt(r){let e=t=>{let s=t+1,n=s%10,o=s%100;return n===1&&o!==11?`${s}st`:n===2&&o!==12?`${s}nd`:n===3&&o!==13?`${s}rd`:`${s}th`};return new $(G.InvalidArgument,`Invalid ${e(r.argument)} argument given to \`${r.procedure}\`.
1
+ var Qt=Object.create;var $e=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.getPrototypeOf,rr=Object.prototype.hasOwnProperty;var nr=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),sr=(r,e)=>{for(var t in e)$e(r,t,{get:e[t],enumerable:!0})},ir=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of er(e))!rr.call(r,s)&&s!==t&&$e(r,s,{get:()=>e[s],enumerable:!(n=Zt(e,s))||n.enumerable});return r};var or=(r,e,t)=>(t=r!=null?Qt(tr(r)):{},ir(e||!r||!r.__esModule?$e(t,"default",{value:r,enumerable:!0}):t,r));var At=nr((ps,De)=>{"use strict";var En=Object.prototype.hasOwnProperty,I="~";function ne(){}Object.create&&(ne.prototype=Object.create(null),new ne().__proto__||(I=!1));function gn(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function Nt(r,e,t,n,s){if(typeof t!="function")throw new TypeError("The listener must be a function");var i=new gn(t,n||r,s),o=I?I+e:e;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function fe(r,e){--r._eventsCount===0?r._events=new ne:delete r._events[e]}function T(){this._events=new ne,this._eventsCount=0}T.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)En.call(t,n)&&e.push(I?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};T.prototype.listeners=function(e){var t=I?I+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};T.prototype.listenerCount=function(e){var t=I?I+e:e,n=this._events[t];return n?n.fn?1:n.length:0};T.prototype.emit=function(e,t,n,s,i,o){var a=I?I+e:e;if(!this._events[a])return!1;var c=this._events[a],d=arguments.length,l,u;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,s),!0;case 5:return c.fn.call(c.context,t,n,s,i),!0;case 6:return c.fn.call(c.context,t,n,s,i,o),!0}for(u=1,l=new Array(d-1);u<d;u++)l[u-1]=arguments[u];c.fn.apply(c.context,l)}else{var b=c.length,w;for(u=0;u<b;u++)switch(c[u].once&&this.removeListener(e,c[u].fn,void 0,!0),d){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,t);break;case 3:c[u].fn.call(c[u].context,t,n);break;case 4:c[u].fn.call(c[u].context,t,n,s);break;default:if(!l)for(w=1,l=new Array(d-1);w<d;w++)l[w-1]=arguments[w];c[u].fn.apply(c[u].context,l)}}return!0};T.prototype.on=function(e,t,n){return Nt(this,e,t,n,!1)};T.prototype.once=function(e,t,n){return Nt(this,e,t,n,!0)};T.prototype.removeListener=function(e,t,n,s){var i=I?I+e:e;if(!this._events[i])return this;if(!t)return fe(this,i),this;var o=this._events[i];if(o.fn)o.fn===t&&(!s||o.once)&&(!n||o.context===n)&&fe(this,i);else{for(var a=0,c=[],d=o.length;a<d;a++)(o[a].fn!==t||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:fe(this,i)}return this};T.prototype.removeAllListeners=function(e){var t;return e?(t=I?I+e:e,this._events[t]&&fe(this,t)):(this._events=new ne,this._eventsCount=0),this};T.prototype.off=T.prototype.removeListener;T.prototype.addListener=T.prototype.on;T.prefixed=I;T.EventEmitter=T;typeof De<"u"&&(De.exports=T)});function ar(r){let e={exports:{}};return r(e,e.exports),e.exports}var cr=Number.MAX_SAFE_INTEGER||9007199254740991;var Oe={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:cr,MAX_SAFE_COMPONENT_LENGTH:16},lr=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{},m=lr,Z=ar(function(r,e){let{MAX_SAFE_COMPONENT_LENGTH:t}=Oe,n=(e=r.exports={}).re=[],s=e.src=[],i=e.t={},o=0,a=(c,d,l)=>{let u=o++;m(u,d),i[c]=u,s[u]=d,n[u]=new RegExp(d,l?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION",`(${s[i.NUMERICIDENTIFIER]})\\.(${s[i.NUMERICIDENTIFIER]})\\.(${s[i.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${s[i.NUMERICIDENTIFIERLOOSE]})\\.(${s[i.NUMERICIDENTIFIERLOOSE]})\\.(${s[i.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${s[i.NUMERICIDENTIFIER]}|${s[i.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${s[i.NUMERICIDENTIFIERLOOSE]}|${s[i.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${s[i.PRERELEASEIDENTIFIER]}(?:\\.${s[i.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${s[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[i.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD",`(?:\\+(${s[i.BUILDIDENTIFIER]}(?:\\.${s[i.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${s[i.MAINVERSION]}${s[i.PRERELEASE]}?${s[i.BUILD]}?`),a("FULL",`^${s[i.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${s[i.MAINVERSIONLOOSE]}${s[i.PRERELEASELOOSE]}?${s[i.BUILD]}?`),a("LOOSE",`^${s[i.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",`${s[i.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),a("XRANGEIDENTIFIER",`${s[i.NUMERICIDENTIFIER]}|x|X|\\*`),a("XRANGEPLAIN",`[v=\\s]*(${s[i.XRANGEIDENTIFIER]})(?:\\.(${s[i.XRANGEIDENTIFIER]})(?:\\.(${s[i.XRANGEIDENTIFIER]})(?:${s[i.PRERELEASE]})?${s[i.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:${s[i.PRERELEASELOOSE]})?${s[i.BUILD]}?)?)?`),a("XRANGE",`^${s[i.GTLT]}\\s*${s[i.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${s[i.GTLT]}\\s*${s[i.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`),a("COERCERTL",s[i.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${s[i.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",a("TILDE",`^${s[i.LONETILDE]}${s[i.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${s[i.LONETILDE]}${s[i.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${s[i.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",a("CARET",`^${s[i.LONECARET]}${s[i.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${s[i.LONECARET]}${s[i.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${s[i.GTLT]}\\s*(${s[i.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${s[i.GTLT]}\\s*(${s[i.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${s[i.GTLT]}\\s*(${s[i.LOOSEPLAIN]}|${s[i.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${s[i.XRANGEPLAIN]})\\s+-\\s+(${s[i.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${s[i.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[i.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}),Qe=/^[0-9]+$/,at=(r,e)=>{let t=Qe.test(r),n=Qe.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:r<e?-1:1},dr=(r,e)=>at(e,r),ur={compareIdentifiers:at,rcompareIdentifiers:dr},{MAX_LENGTH:Ze,MAX_SAFE_INTEGER:oe}=Oe,{re:et,t:tt}=Z,{compareIdentifiers:X}=ur,x=class r{constructor(e,t){if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof r){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>Ze)throw new TypeError(`version is longer than ${Ze} characters`);m("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let n=e.trim().match(t.loose?et[tt.LOOSE]:et[tt.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>oe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>oe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>oe||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<oe)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(m("SemVer.compare",this.version,this.options,e),!(e instanceof r)){if(typeof e=="string"&&e===this.version)return 0;e=new r(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof r||(e=new r(e,this.options)),X(this.major,e.major)||X(this.minor,e.minor)||X(this.patch,e.patch)}comparePre(e){if(e instanceof r||(e=new r(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let n=this.prerelease[t],s=e.prerelease[t];if(m("prerelease compare",t,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n!==s)return X(n,s)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let n=this.build[t],s=e.build[t];if(m("prerelease compare",t,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n!==s)return X(n,s)}while(++t)}inc(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t),this.inc("pre",t);break;case"major":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let n=this.prerelease.length;for(;--n>=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);n===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}},pr=(r,e,t)=>new x(r,t).compare(new x(e,t)),F=pr,hr=(r,e,t)=>F(r,e,t)===0,mr=hr,Er=(r,e,t)=>F(r,e,t)!==0,gr=Er,fr=(r,e,t)=>F(r,e,t)>0,yr=fr,Rr=(r,e,t)=>F(r,e,t)>=0,vr=Rr,Tr=(r,e,t)=>F(r,e,t)<0,Pr=Tr,Ir=(r,e,t)=>F(r,e,t)<=0,br=Ir,wr=(r,e,t,n)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return mr(r,t,n);case"!=":return gr(r,t,n);case">":return yr(r,t,n);case">=":return vr(r,t,n);case"<":return Pr(r,t,n);case"<=":return br(r,t,n);default:throw new TypeError(`Invalid operator: ${e}`)}},Le=wr,z=Symbol("SemVer ANY"),Y=class r{static get ANY(){return z}constructor(e,t){if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}m("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===z?this.value="":this.value=this.operator+this.semver.version,m("comp",this)}parse(e){let t=this.options.loose?rt[nt.COMPARATORLOOSE]:rt[nt.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new x(n[2],this.options.loose):this.semver=z}toString(){return this.value}test(e){if(m("Comparator.test",e,this.options.loose),this.semver===z||e===z)return!0;if(typeof e=="string")try{e=new x(e,this.options)}catch{return!1}return Le(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""||new Q(e.value,t).test(this.value);if(e.operator==="")return e.value===""||new Q(this.value,t).test(e.semver);let n=!(this.operator!==">="&&this.operator!==">"||e.operator!==">="&&e.operator!==">"),s=!(this.operator!=="<="&&this.operator!=="<"||e.operator!=="<="&&e.operator!=="<"),i=this.semver.version===e.semver.version,o=!(this.operator!==">="&&this.operator!=="<="||e.operator!==">="&&e.operator!=="<="),a=Le(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),c=Le(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return n||s||i&&o||a||c}},{re:rt,t:nt}=Z,Q=class r{constructor(e,t){if(t&&typeof t=="object"||(t={loose:!!t,includePrerelease:!1}),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof Y)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let{loose:t}=this.options;e=e.trim();let n=t?R[E.HYPHENRANGELOOSE]:R[E.HYPHENRANGE];e=e.replace(n,Dr(this.options.includePrerelease)),m("hyphen replace",e),e=e.replace(R[E.COMPARATORTRIM],Mr),m("comparator trim",e,R[E.COMPARATORTRIM]),e=(e=(e=e.replace(R[E.TILDETRIM],Sr)).replace(R[E.CARETTRIM],xr)).split(/\s+/).join(" ");let s=t?R[E.COMPARATORLOOSE]:R[E.COMPARATOR];return e.split(" ").map(i=>Cr(i,this.options)).join(" ").split(/\s+/).map(i=>qr(i,this.options)).filter(this.options.loose?i=>!!i.match(s):()=>!0).map(i=>new Y(i,this.options))}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(n=>st(n,t)&&e.set.some(s=>st(s,t)&&n.every(i=>s.every(o=>i.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new x(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(Wr(this.set[t],e,this.options))return!0;return!1}},{re:R,t:E,comparatorTrimReplace:Mr,tildeTrimReplace:Sr,caretTrimReplace:xr}=Z,st=(r,e)=>{let t=!0,n=r.slice(),s=n.pop();for(;t&&n.length;)t=n.every(i=>s.intersects(i,e)),s=n.pop();return t},Cr=(r,e)=>(m("comp",r,e),r=$r(r,e),m("caret",r),r=Nr(r,e),m("tildes",r),r=Or(r,e),m("xrange",r),r=kr(r,e),m("stars",r),r),P=r=>!r||r.toLowerCase()==="x"||r==="*",Nr=(r,e)=>r.trim().split(/\s+/).map(t=>Ar(t,e)).join(" "),Ar=(r,e)=>{let t=e.loose?R[E.TILDELOOSE]:R[E.TILDE];return r.replace(t,(n,s,i,o,a)=>{let c;return m("tilde",r,n,s,i,o,a),P(s)?c="":P(i)?c=`>=${s}.0.0 <${+s+1}.0.0-0`:P(o)?c=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:a?(m("replaceTilde pr",a),c=`>=${s}.${i}.${o}-${a} <${s}.${+i+1}.0-0`):c=`>=${s}.${i}.${o} <${s}.${+i+1}.0-0`,m("tilde return",c),c})},$r=(r,e)=>r.trim().split(/\s+/).map(t=>Lr(t,e)).join(" "),Lr=(r,e)=>{m("caret",r,e);let t=e.loose?R[E.CARETLOOSE]:R[E.CARET],n=e.includePrerelease?"-0":"";return r.replace(t,(s,i,o,a,c)=>{let d;return m("caret",r,s,i,o,a,c),P(i)?d="":P(o)?d=`>=${i}.0.0${n} <${+i+1}.0.0-0`:P(a)?d=i==="0"?`>=${i}.${o}.0${n} <${i}.${+o+1}.0-0`:`>=${i}.${o}.0${n} <${+i+1}.0.0-0`:c?(m("replaceCaret pr",c),d=i==="0"?o==="0"?`>=${i}.${o}.${a}-${c} <${i}.${o}.${+a+1}-0`:`>=${i}.${o}.${a}-${c} <${i}.${+o+1}.0-0`:`>=${i}.${o}.${a}-${c} <${+i+1}.0.0-0`):(m("no pr"),d=i==="0"?o==="0"?`>=${i}.${o}.${a}${n} <${i}.${o}.${+a+1}-0`:`>=${i}.${o}.${a}${n} <${i}.${+o+1}.0-0`:`>=${i}.${o}.${a} <${+i+1}.0.0-0`),m("caret return",d),d})},Or=(r,e)=>(m("replaceXRanges",r,e),r.split(/\s+/).map(t=>_r(t,e)).join(" ")),_r=(r,e)=>{r=r.trim();let t=e.loose?R[E.XRANGELOOSE]:R[E.XRANGE];return r.replace(t,(n,s,i,o,a,c)=>{m("xRange",r,n,s,i,o,a,c);let d=P(i),l=d||P(o),u=l||P(a),b=u;return s==="="&&b&&(s=""),c=e.includePrerelease?"-0":"",d?n=s===">"||s==="<"?"<0.0.0-0":"*":s&&b?(l&&(o=0),a=0,s===">"?(s=">=",l?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):s==="<="&&(s="<",l?i=+i+1:o=+o+1),s==="<"&&(c="-0"),n=`${s+i}.${o}.${a}${c}`):l?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:u&&(n=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),m("xRange return",n),n})},kr=(r,e)=>(m("replaceStars",r,e),r.trim().replace(R[E.STAR],"")),qr=(r,e)=>(m("replaceGTE0",r,e),r.trim().replace(R[e.includePrerelease?E.GTE0PRE:E.GTE0],"")),Dr=r=>(e,t,n,s,i,o,a,c,d,l,u,b,w)=>`${t=P(n)?"":P(s)?`>=${n}.0.0${r?"-0":""}`:P(i)?`>=${n}.${s}.0${r?"-0":""}`:o?`>=${t}`:`>=${t}${r?"-0":""}`} ${c=P(d)?"":P(l)?`<${+d+1}.0.0-0`:P(u)?`<${d}.${+l+1}.0-0`:b?`<=${d}.${l}.${u}-${b}`:r?`<${d}.${l}.${+u+1}-0`:`<=${c}`}`.trim(),Wr=(r,e,t)=>{for(let n=0;n<r.length;n++)if(!r[n].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let n=0;n<r.length;n++)if(m(r[n].semver),r[n].semver!==Y.ANY&&r[n].semver.prerelease.length>0){let s=r[n].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0},ct=(r,e,t)=>{try{e=new Q(e,t)}catch{return!1}return e.test(r)};var{MAX_LENGTH:Ur}=Oe,{re:it,t:ot}=Z,Fr=(r,e)=>{if(e&&typeof e=="object"||(e={loose:!!e,includePrerelease:!1}),r instanceof x)return r;if(typeof r!="string"||r.length>Ur||!(e.loose?it[ot.LOOSE]:it[ot.FULL]).test(r))return null;try{return new x(r,e)}catch{return null}},Jr=Fr,{re:ae,t:ce}=Z,lt=(r,e)=>{if(r instanceof x)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;let t=null;if((e=e||{}).rtl){let n;for(;(n=ae[ce.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)t&&n.index+n[0].length===t.index+t[0].length||(t=n),ae[ce.COERCERTL].lastIndex=n.index+n[1].length+n[2].length;ae[ce.COERCERTL].lastIndex=-1}else t=r.match(ae[ce.COERCE]);return t===null?null:Jr(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};function Gr(r){return String.fromCharCode(parseInt(r.slice(1),16))}function Kr(r){return`%${`00${r.charCodeAt(0).toString(16)}`.slice(-2)}`}function jr(r){return btoa(encodeURIComponent(r).replace(/%[0-9A-F]{2}/g,Gr))}function Vr(r){return decodeURIComponent(Array.from(atob(r),Kr).join(""))}function le(r){return jr(JSON.stringify(r))}function dt(r){return JSON.parse(Vr(r))}import{RPCErrorCode as Yr,SDKErrorCode as G,SDKWarningCode as pe}from"@magic-sdk/types";import{MagicPayloadMethod as Br,RPCErrorCode as Hr}from"@magic-sdk/types";function N(r){return typeof r>"u"}function Xr(r){return r===null}function de(r){return Xr(r)||N(r)}function Fn(r){return de(r)?!1:!N(r.jsonrpc)&&!N(r.id)&&!N(r.method)&&!N(r.params)}function ut(r){return de(r)?!1:!N(r.jsonrpc)&&!N(r.id)&&(!N(r.result)||!N(r.error))}function Jn(r){return de(r)?!1:typeof r=="string"&&Object.values(Br).includes(r)}function pt(r){return de(r)?!1:typeof r=="number"&&Object.values(Hr).includes(r)}function ee(r){if(!r)return!0;for(let e in r)if(Object.hasOwnProperty.call(r,e))return!1;return!0}var h={};function zr(r,e){return Object.assign(h,e),r}var ht={"magic-sdk":"magic-sdk","@magic-sdk/react-native":"magic-sdk-rn","@magic-sdk/react-native-bare":"magic-sdk-rn-bare","@magic-sdk/react-native-expo":"magic-sdk-rn-expo"};var $=class r extends Error{constructor(t,n){super(`Magic SDK Error: [${t}] ${n}`);this.code=t;this.rawMessage=n;Object.setPrototypeOf(this,r.prototype)}__proto__=Error},J=class r extends Error{__proto__=Error;code;rawMessage;data;constructor(e){super();let t=Number(e?.code);this.rawMessage=e?.message||"Internal error",this.code=pt(t)?t:Yr.InternalError,this.message=`Magic RPC Error: [${this.code}] ${this.rawMessage}`,this.data=e?.data||void 0,Object.setPrototypeOf(this,r.prototype)}},L=class{constructor(e,t){this.code=e;this.rawMessage=t;this.message=`Magic SDK Warning: [${e}] ${t}`}message;log(){console.warn(this.message)}},ue=class r extends Error{constructor(t,n,s,i){super(`Magic Extension Error (${t.name}): [${n}] ${s}`);this.code=n;this.rawMessage=s;this.data=i;Object.setPrototypeOf(this,r.prototype)}__proto__=Error},te=class{constructor(e,t,n){this.code=t;this.rawMessage=n;this.message=`Magic Extension Warning (${e.name}): [${t}] ${n}`}message;log(){console.warn(this.message)}};function mt(){return new $(G.MissingApiKey,"Please provide an API key that you acquired from the Magic developer dashboard.")}function he(){return new $(G.ModalNotReady,"Modal is not ready")}function Et(){return new $(G.MalformedResponse,"Response from the Magic iframe is malformed.")}function gt(r){return new $(G.ExtensionNotInitialized,`Extensions must be initialized with a Magic SDK instance before \`Extension.${r}\` can be accessed. Do not invoke \`Extension.${r}\` inside an extension constructor.`)}function ft(r){let e=`Some extensions are incompatible with \`${h.sdkName}@${h.version}\`:`;return r.filter(t=>typeof t.compat<"u"&&t.compat!==null).forEach(t=>{let n=t.compat[h.sdkName];typeof n=="string"?e+=`
2
+ - Extension \`${t.name}\` supports version(s) \`${n}\``:n||(e+=`
3
+ - Extension \`${t.name}\` does not support ${h.platform} environments.`)}),new $(G.IncompatibleExtensions,e)}function yt(r){let e=t=>{let n=t+1,s=n%10,i=n%100;return s===1&&i!==11?`${n}st`:s===2&&i!==12?`${n}nd`:s===3&&i!==13?`${n}rd`:`${n}th`};return new $(G.InvalidArgument,`Invalid ${e(r.argument)} argument given to \`${r.procedure}\`.
4
4
  Expected: \`${r.expected}\`
5
- Received: \`${r.received}\``)}function Hn(){return new L(ue.DuplicateIframe,"Duplicate iframes found.")}function yt(){return new L(ue.SyncWeb3Method,"Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead.")}function Rt(){return new L(ue.ReactNativeEndpointConfiguration,`CUSTOM DOMAINS ARE NOT SUPPORTED WHEN USING MAGIC SDK WITH REACT NATIVE! The \`endpoint\` parameter SHOULD NOT be provided. The Magic \`<iframe>\` is automatically wrapped by a WebView pointed at \`${m.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function vt(r){let{method:e,removalVersions:t,useInstead:s}=r,n=t[m.sdkName],o=s?` Use \`${s}\` instead.`:"",i=`\`${e}\` will be removed from \`${m.sdkName}\` in version \`${n}\`.${o}`;return new L(ue.DeprecationNotice,i)}import{MagicPayloadMethod as x,DeviceVerificationEventEmit as _t,LoginWithEmailOTPEventEmit as C,UpdateEmailEventEmit as V,RecencyCheckEventEmit as _,LoginWithSmsOTPEventEmit as ge}from"@magic-sdk/types";import{MagicOutgoingWindowMessage as gn,MagicIncomingWindowMessage as yn,MagicPayloadMethod as Rn,routeToMagicMethods as vn}from"@magic-sdk/types";import{RPCErrorCode as un}from"@magic-sdk/types";function*zr(){let r=0;for(;;)r<Number.MAX_SAFE_INTEGER?yield++r:r=0}var Yr=zr();function Qr(){return Math.floor(Math.random()*1e5)+1}function Le(){return m.sdkName==="@magic-sdk/react-native-bare"||m.sdkName==="@magic-sdk/react-native-expo"?Qr():Yr.next().value}var me={};rr(me,{clear:()=>Zr,getItem:()=>R,iterate:()=>Oe,key:()=>tn,keys:()=>rn,length:()=>en,removeItem:()=>A,setItem:()=>S});var pe;function O(r){return async(...e)=>(pe||(pe=await m.configureStorage()),await pe.ready(),pe[r](...e))}var R=O("getItem"),S=O("setItem"),A=O("removeItem"),Zr=O("clear"),en=O("length"),tn=O("key"),rn=O("keys"),Oe=O("iterate");function Tt(){let r=window.crypto.getRandomValues(new Uint8Array(16));r[6]=r[6]&15|64,r[8]=r[8]&191|128;let e="";return e+=r[0].toString(16),e+=r[1].toString(16),e+=r[2].toString(16),e+=r[3].toString(16),e+="-",e+=r[4].toString(16),e+=r[5].toString(16),e+="-",e+=r[6].toString(16),e+=r[7].toString(16),e+="-",e+=r[8].toString(16),e+=r[9].toString(16),e+="-",e+=r[10].toString(16),e+=r[11].toString(16),e+=r[12].toString(16),e+=r[13].toString(16),e+=r[14].toString(16),e+=r[15].toString(16),e}var _e="STORE_KEY_PRIVATE_KEY",he="STORE_KEY_PUBLIC_JWK",bt="ECDSA",nn="P-256",sn={name:bt,namedCurve:nn};function re(){let r=typeof window<"u"&&!!window.crypto,e=r&&!!window.crypto.subtle;return r&&e}function Pt(){A(he),A(_e)}async function wt(){let r=await on();if(!r){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:e}=window.crypto,t=await R(_e);if(!t||!e){console.info("unable to find private key or webcrypto unsupported");return}let s={iat:Math.floor(new Date().getTime()/1e3),jti:Tt()},o={protected:It(JSON.stringify({typ:"dpop+jwt",alg:"ES256",jwk:r})),claims:It(JSON.stringify(s))},i=cn(`${o.protected}.${o.claims}`),a={name:bt,hash:{name:"SHA-256"}},c=dn(new Uint8Array(await e.sign(a,t,i)));return`${o.protected}.${o.claims}.${c}`}async function on(){if(!re()){console.info("webcrypto is not supported");return}return await R(he)||await an(),R(he)}async function an(){let{subtle:r}=window.crypto,e=await r.generateKey(sn,!1,["sign"]),t=await r.exportKey("jwk",e.publicKey);await S(_e,e.privateKey),await S(he,t)}function It(r){return St(ln(r))}function cn(r){return new TextEncoder().encode(r)}function St(r){return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function ln(r){return encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(t,s)=>String.fromCharCode(parseInt(s,16)))}function dn(r){let e="";return r.forEach(t=>{e+=String.fromCharCode(t)}),St(e)}var xt=Symbol("Payload pre-processed by Magic SDK");function Mt(r){return Object.defineProperty(r,xt,{value:!0,enumerable:!1}),r}function pn(r){return!!r[xt]}function F(r){return pn(r)||(r.jsonrpc=r.jsonrpc??"2.0",r.id=Le(),r.method=r.method??"noop",r.params=r.params??[],Mt(r)),r}function p(r,e=[]){return Mt({params:e,method:r,jsonrpc:"2.0",id:Le()})}var K=class r{_jsonrpc;_id;_result;_error;constructor(e){e instanceof r?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):lt(e)?(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=e.result,this._error=e.error):(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=void 0,this._error=void 0)}applyError(e){return this._error=e,this}applyResult(e){return this._result=e,this}get hasError(){return this._error?.code===un.DpopInvalidated&&Pt(),typeof this._error<"u"&&this._error!==null}get hasResult(){return typeof this._result<"u"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}};import{UserEventsEmit as En,UserEventsOnReceived as fn}from"@magic-sdk/types";var At=sr(Nt()),De=class extends At.default{};function fe(){let r=new De;return{emitter:r,createChainingEmitterMethod:(s,n)=>(...o)=>(r[s].apply(r,o),n),createBoundEmitterMethod:s=>(...n)=>r[s].apply(r,n)}}var $t=Symbol("isPromiEvent");function Lt(r){return!!r[$t]}function b(r){let e=qe(r),{createBoundEmitterMethod:t,createChainingEmitterMethod:s}=fe(),n=Symbol("Promise.then"),o=Symbol("Promise.catch"),i=Symbol("Promise.finally"),a=(l,u)=>(...P)=>{let w=u[l].apply(u,P);return c(w)},c=l=>Object.assign(l,{[$t]:!0,[n]:l[n]||l.then,[o]:l[o]||l.catch,[i]:l[i]||l.finally,then:a(n,l),catch:a(o,l),finally:a(i,l),on:s("on",l),once:s("once",l),addListener:s("addListener",l),off:s("off",l),removeListener:s("removeListener",l),removeAllListeners:s("removeAllListeners",l),emit:t("emit"),eventNames:t("eventNames"),listeners:t("listeners"),listenerCount:t("listenerCount")}),d=c(e.then(l=>(d.emit("done",l),d.emit("settled"),l),l=>{throw d.emit("error",l),d.emit("settled"),l}));return d.on(fn.ClosedByUser,()=>{d.emit(En.ClosedByUser)}),d}function qe(r){return new Promise((e,t)=>{let s=r(e,t);Promise.resolve(s).catch(t)})}var f=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!vn.includes(e.method))return b((i,a)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(i).catch(a)});let t=this.overlay.post(gn.MAGIC_HANDLE_REQUEST,F(e)),s=b((o,i)=>{t.then(a=>{if(n(),a.hasError)i(new U(a.payload.error));else if(a.hasResult)o(a.payload.result);else throw ht()}).catch(a=>{n(),i(a)})}),n=this.overlay.on(yn.MAGIC_HANDLE_EVENT,o=>{let{response:i}=o.data;if(i.id===e.id&&i.result?.event){let{event:a,params:c=[]}=i.result;s.emit(a,...c)}});return s}createIntermediaryEvent(e,t){return n=>{let o=p(Rn.IntermediaryEvent,[{payloadId:t,eventType:e,args:n}]);this.request(o)}}};function Ot(r,e){let[t]=r.split(".").map(Number);return t>=e}var Tn={"magic-sdk":"v18.0.0","@magic-sdk/react-native":"v14.0.0","@magic-sdk/react-native-bare":"v19.0.0","@magic-sdk/react-native-expo":"v19.0.0"},ye=class extends f{loginWithMagicLink(e){let t=m.sdkName==="@magic-sdk/react-native"||m.sdkName==="@magic-sdk/react-native-bare"||m.sdkName==="@magic-sdk/react-native-expo";if(t&&Ot(m.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utilize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&vt({method:"auth.loginWithMagicLink()",removalVersions:Tn,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:s,showUI:n=!0,redirectURI:o,overrides:i,lifespan:a}=e,c=p(this.sdk.testMode?x.LoginWithMagicLinkTestMode:x.LoginWithMagicLink,[{email:s,showUI:n,redirectURI:o,overrides:i,lifespan:a}]);return this.request(c)}loginWithSMS(e){let{phoneNumber:t,showUI:s=!0,lifespan:n}=e,o=p(this.sdk.testMode?x.LoginWithSmsTestMode:x.LoginWithSms,[{phoneNumber:t,showUI:s,lifespan:n}]),i=this.request(o);return!s&&i&&(i.on(ge.VerifySmsOtp,a=>{this.createIntermediaryEvent(ge.VerifySmsOtp,o.id)(a)}),i.on(ge.Cancel,()=>{this.createIntermediaryEvent(ge.Cancel,o.id)()})),i}loginWithEmailOTP(e){let{email:t,showUI:s,deviceCheckUI:n,overrides:o,lifespan:i}=e,a=p(this.sdk.testMode?x.LoginWithEmailOTPTestMode:x.LoginWithEmailOTP,[{email:t,showUI:s,deviceCheckUI:n,overrides:o,lifespan:i}]),c=this.request(a);return!n&&c&&c.on(_t.Retry,()=>{this.createIntermediaryEvent(_t.Retry,a.id)()}),!s&&c&&(c.on(C.VerifyEmailOtp,d=>{this.createIntermediaryEvent(C.VerifyEmailOtp,a.id)(d)}),c.on(C.VerifyMFACode,d=>{this.createIntermediaryEvent(C.VerifyMFACode,a.id)(d)}),c.on(C.LostDevice,()=>{this.createIntermediaryEvent(C.LostDevice,a.id)()}),c.on(C.VerifyRecoveryCode,d=>{this.createIntermediaryEvent(C.VerifyRecoveryCode,a.id)(d)}),c.on(C.Cancel,()=>{this.createIntermediaryEvent(C.Cancel,a.id)()})),c}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:s}=e||{},n=t??"";if(!t&&m.platform==="web"){n=window.location.search;let i=window.location.origin+window.location.pathname;window.history.replaceState(null,"",i)}let o=p(this.sdk.testMode?x.LoginWithCredentialTestMode:x.LoginWithCredential,[n,s]);return this.request(o)}setAuthorizationToken(e){let t=p(x.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:s=!0}=e,n=p(this.sdk.testMode?x.UpdateEmailTestMode:x.UpdateEmail,[{email:t,showUI:s}]),o=this.request(n);return s||(o.on(_.Retry,()=>{this.createIntermediaryEvent(_.Retry,n.id)()}),o.on(_.Cancel,()=>{this.createIntermediaryEvent(_.Cancel,n.id)()}),o.on(_.VerifyEmailOtp,i=>{this.createIntermediaryEvent(_.VerifyEmailOtp,n.id)(i)}),o.on(_.VerifyMFACode,i=>{this.createIntermediaryEvent(_.VerifyMFACode,n.id)(i)}),o.on(V.RetryWithNewEmail,i=>{this.createIntermediaryEvent(V.RetryWithNewEmail,n.id)(i)}),o.on(V.Cancel,()=>{this.createIntermediaryEvent(V.Cancel,n.id)()}),o.on(V.VerifyEmailOtp,i=>{this.createIntermediaryEvent(V.VerifyEmailOtp,n.id)(i)})),o}};import{MagicPayloadMethod as g,EnableMFAEventEmit as ve,DisableMFAEventEmit as j,RecencyCheckEventEmit as Ft,RecoveryFactorEventEmit as k,RecoverAccountEventEmit as D,UpdateEmailEventEmit as B}from"@magic-sdk/types";var Ue="ds",Fe="ek",We="iv",Je="AES-GCM",In=256;async function Re(){let r=[];await Oe((e,t,s)=>{t.startsWith(`${Ue}_`)&&r.push(t)});for(let e of r)await A(e)}function kt(r){let e="",t=new Uint8Array(r),s=t.byteLength;for(let n=0;n<s;n++)e+=String.fromCharCode(t[n]);return window.btoa(e)}function Dt(r){let e=window.atob(r),t=e.length,s=new Uint8Array(t);for(let n=0;n<t;n++)s[n]=e.charCodeAt(n);return s.buffer}async function bn(){if(!re()){console.info("webcrypto is not supported");return}let{crypto:r}=window,e=await R(We);return e||r.getRandomValues(new Uint8Array(12))}async function Pn(){if(!re()){console.info("webcrypto is not supported");return}let{subtle:r}=window.crypto,e=await R(Fe);return e||await r.generateKey({name:Je,length:In},!1,["encrypt","decrypt"])}async function qt(r,e){let t=await bn(),s=await Pn();if(!t||!s||!r)return;let n=Dt(r),{subtle:o}=window.crypto,i=await o.encrypt({name:Je,iv:t},s,n),a=kt(i);await S(`${Ue}_${e}`,a),await S(Fe,s),await S(We,t)}async function Ut(r){let e=await R(`${Ue}_${r}`),t=await R(We),s=await R(Fe);if(!t||!e||!s||!re())return;let{subtle:n}=window.crypto,o=await n.decrypt({name:Je,iv:t},s,Dt(e));return kt(o)}function Ge(r,e){return e?new URL(r,e):new URL(r)}var Te=class extends f{getIdToken(e){let t=p(this.sdk.testMode?g.GetIdTokenTestMode:g.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=p(this.sdk.testMode?g.GenerateIdTokenTestMode:g.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=p(g.GetInfo,[]);return this.request(e)}isLoggedIn(){return b(async(e,t)=>{try{let s=!1;this.sdk.useStorageCache&&(s=await R(this.localForageIsLoggedInKey)==="true",s&&e(!0));let n=p(this.sdk.testMode?g.IsLoggedInTestMode:g.IsLoggedIn),o=await this.request(n);this.sdk.useStorageCache&&(o?S(this.localForageIsLoggedInKey,!0):A(this.localForageIsLoggedInKey),s&&!o&&this.emitUserLoggedOut(!0)),e(o)}catch(s){t(s)}})}logout(){return A(this.localForageIsLoggedInKey),Re(),b(async(e,t)=>{try{let s=p(this.sdk.testMode?g.LogoutTestMode:g.Logout),n=await this.request(s);this.sdk.useStorageCache&&this.emitUserLoggedOut(n),e(n)}catch(s){t(s)}})}requestInfoWithUI(e){let t=p(g.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},s=p(this.sdk.testMode?g.UserSettingsTestMode:g.UserSettings,[e]),n=this.request(s);return!t&&n&&(n.on(k.SendNewPhoneNumber,o=>{this.createIntermediaryEvent(k.SendNewPhoneNumber,s.id)(o)}),n.on(k.SendOtpCode,o=>{this.createIntermediaryEvent(k.SendOtpCode,s.id)(o)}),n.on(k.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(k.StartEditPhoneNumber,s.id)()}),n.on(k.Cancel,()=>{this.createIntermediaryEvent(k.Cancel,s.id)()}),n.on(Ft.VerifyEmailOtp,o=>{this.createIntermediaryEvent(Ft.VerifyEmailOtp,s.id)(o)})),n}recoverAccount(e){let{email:t,showUI:s}=e,n=p(this.sdk.testMode?g.RecoverAccountTestMode:g.RecoverAccount,[{email:t,showUI:s}]),o=this.request(n);return!s&&o&&(o.on(D.Cancel,()=>{this.createIntermediaryEvent(D.Cancel,n.id)()}),o.on(D.ResendSms,()=>{this.createIntermediaryEvent(D.ResendSms,n.id)()}),o.on(D.VerifyOtp,i=>{this.createIntermediaryEvent(D.VerifyOtp,n.id)(i)}),o.on(D.UpdateEmail,i=>{this.createIntermediaryEvent(D.UpdateEmail,n.id)(i)}),o.on(B.Cancel,()=>{this.createIntermediaryEvent(B.Cancel,n.id)()}),o.on(B.RetryWithNewEmail,i=>{this.createIntermediaryEvent(B.RetryWithNewEmail,n.id)(i)}),o.on(B.VerifyEmailOtp,i=>{this.createIntermediaryEvent(B.VerifyEmailOtp,n.id)(i)})),o}revealEVMPrivateKey(){let e=p(g.RevealPK,[{chain:"ETH"}]);return this.request(e)}revealPrivateKey(){throw new Error("revealPrivateKey() has been decommissioned. For EVM chains, use `user.revealEVMPrivateKey()` instead. For non-EVM chains, use `[extension].revealPrivateKey()` instead.")}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,s=p(g.EnableMFA,[{showUI:t}]),n=this.request(s);return!t&&n&&(n.on(ve.VerifyMFACode,o=>{this.createIntermediaryEvent(ve.VerifyMFACode,s.id)(o)}),n.on(ve.Cancel,()=>{this.createIntermediaryEvent(ve.Cancel,s.id)()})),n}disableMFA(e){let{showUI:t=!0}=e,s=p(g.DisableMFA,[{showUI:t}]),n=this.request(s);return!t&&n&&(n.on(j.VerifyMFACode,o=>{this.createIntermediaryEvent(j.VerifyMFACode,s.id)(o)}),n.on(j.LostDevice,o=>{this.createIntermediaryEvent(j.LostDevice,s.id)(o)}),n.on(j.Cancel,()=>{this.createIntermediaryEvent(j.Cancel,s.id)()})),n}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}localForageIsLoggedInKey="magic_auth_is_logged_in";userLoggedOutCallbacks=[]};import{MagicPayloadMethod as q}from"@magic-sdk/types";var Ie=class extends f{connectWithUI(e){let t=b(async(s,n)=>{try{let o=p(q.Login,[{enabledWallets:this.sdk.thirdPartyWallets.enabledWallets,...e}]),i=this.request(o);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:c,callback:d})=>{i.on(c,()=>d(o.id))}),i.on("id-token-created",c=>{t.emit("id-token-created",c)});let a=await i;a.error&&n(a),s(a)}catch(o){n(o)}});return t}showUI(e){return this.request(p(q.ShowUI,[e]))}showAddress(){return this.request(p(q.ShowAddress))}showSendTokensUI(){return this.request(p(q.ShowSendTokensUI))}showOnRamp(){return this.request(p(q.ShowOnRamp))}showNFTs(){return this.request(p(q.ShowNFTs))}showBalances(){return this.request(p(q.ShowBalances))}sendGaslessTransaction(e,t){return this.request(p(q.SendGaslessTransaction,[e,t]))}};import{LocalStorageKeys as W,MagicPayloadMethod as be}from"@magic-sdk/types";var Pe=class extends f{eventListeners=[];enabledWallets={};isConnected=!1;resetThirdPartyWalletState(){localStorage.removeItem(W.PROVIDER),localStorage.removeItem(W.ADDRESS),localStorage.removeItem(W.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===be.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===be.GetInfo)return this.getInfo(e);if(e.method===be.IsLoggedIn)return this.isLoggedIn(e);if(e.method===be.Logout)return this.logout(e);switch(localStorage.getItem(W.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(W.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(W.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(W.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return b((t,s)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(s)})}web3modalIsLoggedIn(){return b(e=>{let t=this.sdk.web3modal.modal.getStatus();if(t==="connected"&&e(!0),t==="disconnected"&&(this.resetThirdPartyWalletState(),e(!1)),t==="reconnecting"){let s=this.sdk.web3modal.modal.subscribeProvider(({status:n})=>{n==="connected"&&(s(),e(!0)),n==="disconnected"&&(s(),this.resetThirdPartyWalletState(),e(!1))})}})}formatWeb3modalGetInfoResponse(){let e=this.sdk.web3modal.modal.getWalletInfo()?.name,t=this.sdk.web3modal.modal.getAddress();return{publicAddress:t,email:null,issuer:`did:ethr:${t}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:e||"web3modal",firstLoginAt:null}}web3modalGetInfo(){return b((e,t)=>{let s=this.sdk.web3modal.modal.getStatus();if(s==="connected"&&e(this.formatWeb3modalGetInfoResponse()),s==="disconnected"&&(this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access.")),s==="reconnecting"){let n=this.sdk.web3modal.modal.subscribeProvider(({status:o})=>{o==="connected"&&(n(),e(this.formatWeb3modalGetInfoResponse())),o==="disconnected"&&(n(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return b(async e=>{try{await this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)})}};import{MagicOutgoingWindowMessage as Wt,MagicPayloadMethod as wn}from"@magic-sdk/types";var{createBoundEmitterMethod:we,createChainingEmitterMethod:H}=fe(),Se=class extends f{isMagic=!0;sendAsync(e,t){if(!t)throw gt({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Wt.MAGIC_HANDLE_REQUEST,e.map(s=>{let n=F(s);return this.prefixPayloadMethodForTestMode(n),n})).then(s=>{t(null,s.map(n=>({...n.payload,error:n.hasError?new U(n.payload.error):null})))});else{let s=F(e);this.prefixPayloadMethodForTestMode(s),this.overlay.post(Wt.MAGIC_HANDLE_REQUEST,s).then(n=>{t(n.hasError?new U(n.payload.error):null,n.payload)})}}send(e,t){if(typeof e=="string"){let n=p(e,Array.isArray(t)?t:[]);return this.request(n)}if(Array.isArray(e)||t){this.sendAsync(e,t);return}let s=yt();return s.log(),new K(e).applyError({code:-32603,message:s.rawMessage}).payload}enable(){let e=p(wn.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}on=H("on",this);once=H("once",this);addListener=H("addListener",this);off=H("off",this);removeListener=H("removeListener",this);removeAllListeners=H("removeAllListeners",this);emit=we("emit");eventNames=we("eventNames");listeners=we("listeners");listenerCount=we("listenerCount")};import{MagicPayloadMethod as Ke,NftCheckoutIntermediaryEvents as xe}from"@magic-sdk/types";var Me=class extends f{purchase(e){let t=p(Ke.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,s=p(Ke.NFTCheckout,[{...e,walletProvider:t?"web3modal":"magic"}]),n=this.request(s);return t&&(n.on(xe.Initiated,async o=>{try{let i=await this.request({method:"eth_sendTransaction",params:[o]});this.createIntermediaryEvent(xe.Success,s.id)(i)}catch{this.createIntermediaryEvent(xe.Failure,s.id)()}}),n.on(xe.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),n.emit("disconnect")})),n}transfer(e){let t=p(Ke.NFTTransfer,[e]);return this.request(t)}};function Jt(r){return r.compat&&r.compat[m.sdkName]!=null?typeof r.compat[m.sdkName]=="string"?it(at(m.version),r.compat[m.sdkName]):!!r.compat[m.sdkName]:!0}function Sn(r,e,t){return!e&&!t?`${r}_eth_mainnet`:t?`${r}_${JSON.stringify(t)}`:e?typeof e=="string"?`${r}_eth_${e}`:`${r}_${e.rpcUrl}_${e.chainId}_${e.chainType}`:`${r}_unknown`}function xn(r){let e=r?.extensions??[],t={},s=[];if(Array.isArray(e)?e.forEach(n=>{Jt(n)?(n.init(this),n.name&&(this[n.name]=n),ee(n.config)||(t[n.name]=n.config)):s.push(n)}):Object.keys(e).forEach(n=>{if(Jt(e[n])){e[n].init(this);let o=e[n];this[n]=o,ee(o.config)||(t[e[n].name]=o.config)}else s.push(e[n])}),s.length)throw ft(s);return t}var Ve=class r{constructor(e,t){this.apiKey=e;if(!e)throw pt();m.platform==="react-native"&&t?.endpoint&&Rt().log();let{defaultEndpoint:s,version:n}=m;this.testMode=!!t?.testMode,this.useStorageCache=!!t?.useStorageCache,this.endpoint=Ge(t?.endpoint??s).origin,this.auth=new ye(this),this.user=new Te(this),this.wallet=new Ie(this),this.nft=new Me(this),this.thirdPartyWallets=new Pe(this),this.rpcProvider=new Se(this);let o=xn.call(this,t);this.parameters=ce({API_KEY:this.apiKey,DOMAIN_ORIGIN:typeof window<"u"&&window?.location?window?.location.origin:"",ETH_NETWORK:t?.network,host:Ge(this.endpoint).host,sdk:ut[m.sdkName],version:n,ext:ee(o)?void 0:o,locale:t?.locale||"en_US",authConfig:t?.authConfig?{...t.authConfig}:void 0,...m.bundleId?{bundleId:m.bundleId}:{},meta:t?.meta}),this.networkHash=Sn(this.apiKey,t?.network,ee(o)?void 0:o),t?.deferPreload||this.preload()}static __overlays__=new Map;endpoint;parameters;networkHash;testMode;useStorageCache;auth;user;wallet;nft;thirdPartyWallets;rpcProvider;get overlay(){if(!r.__overlays__.has(this.parameters)){let e=new m.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),r.__overlays__.set(this.parameters,e)}return r.__overlays__.get(this.parameters)}async preload(){await this.overlay.waitForReady()}};import{MagicIncomingWindowMessage as se,MagicOutgoingWindowMessage as Cn,SDKWarningCode as Nn}from"@magic-sdk/types";function Mn(r,e){return e&&Array.isArray(r)?r.find(t=>t.id===e):r}function Gt(r,e){let t=e.data.response?.id,s=Mn(r,t);if(t&&s){let n=new K(s).applyResult(e.data.response.result).applyError(e.data.response.error);return{id:t,response:n}}return{}}function Kt(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{r(...s)},e)}}var An=1e3,jt=60*An,Vt=5*jt,$n=60*jt,je=class{constructor(e,t,s){this.endpoint=e;this.parameters=t;this.networkHash=s;this.listen()}isReadyForRequest=!1;messageHandlers=new Set;isConnectedToInternet=!0;lastPongTime=null;heartbeatIntervalTimer=null;heartbeatDebounce=Kt(()=>{this.endpoint==="https://auth.magic.link/"&&this.heartBeatCheck()},$n);async post(e,t){return qe(async(s,n)=>{if(!this.isConnectedToInternet){let l=mt();n(l)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let o=[],i=Array.isArray(t)?t.map(l=>l.id):[],a=await this.createMagicRequest(`${e}-${this.parameters}`,t,this.networkHash);await this._post(a);let c=l=>u=>{let{id:P,response:w}=Gt(t,u);if(this.persistMagicEventRefreshToken(u),w?.payload.error?.message==="User denied account access.")Re();else if(u.data.deviceShare){let{deviceShare:Xt}=u.data;qt(Xt,this.networkHash)}P&&w&&Array.isArray(t)&&i.includes(P)?(o.push(w),o.length===t.length&&(l(),s(o))):P&&w&&!Array.isArray(t)&&P===t.id&&(l(),s(w))},d=this.on(se.MAGIC_HANDLE_RESPONSE,c(()=>d()))})}on(e,t){let s=t.bind(window),n=o=>{o.data.msgType===`${e}-${this.parameters}`&&s(o)};return this.messageHandlers.add(n),()=>this.messageHandlers.delete(n)}waitForReady(){return new Promise(e=>{let t=this.on(se.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(se.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(se.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(se.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new L(Nn.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=async()=>{let s={msgType:`${Cn.MAGIC_PING}-${this.parameters}`,payload:[]};await this._post(s)};this.heartbeatIntervalTimer=setInterval(async()=>{if(this.lastPongTime){if(Date.now()-this.lastPongTime>Vt*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}await t(),e=!1},Vt)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}async persistMagicEventRefreshToken(e){e.data.rt&&await S("rt",e.data.rt)}async createMagicRequest(e,t,s){let n={msgType:e,payload:t},o=await this.getRT(),i=await this.getJWT(),a=await this.getDecryptedDeviceShare(s);return i&&(n.jwt=i),i&&o&&(n.rt=o),a&&(n.deviceShare=a),n}async getJWT(){if(m.platform==="web")try{let e=await R("jwt");return e||await wt()}catch(e){return console.error("webcrypto error",e),null}else return null}async getRT(){return await R("rt")}async getDecryptedDeviceShare(e){return await Ut(e)}};import{MagicPayloadMethod as Bt}from"@magic-sdk/types";var Ht=["request","overlay","sdk"];function Ln(r){let e=Object.getPrototypeOf(r),t=[e];for(;e!==f.prototype;)e=Object.getPrototypeOf(e),t.push(e);return t}var Be=class extends f{compat;__sdk_access_field_descriptors__=new Map;__is_initialized__=!1;utils={createPromiEvent:b,isPromiEvent:Lt,encodeJSON:ce,decodeJSON:ct,createJsonRpcRequestPayload:p,standardizeJsonRpcRequestPayload:F,storage:me};constructor(){super(void 0);let e=[this,...Ln(this)];Ht.forEach(t=>{let s=e.map(a=>Object.getOwnPropertyDescriptor(a,t)),n=s.findIndex(a=>!!a),o=n>0,i=s[n];i&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:i,isPrototypeField:o}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Et(t)}}))})}init(e){this.__is_initialized__||(Ht.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:s,isPrototypeField:n}=this.__sdk_access_field_descriptors__.get(t);n?delete this[t]:Object.defineProperty(this,t,s)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:s,useInstead:n}=e,o=n?` Use \`${n}\` instead.`:"",i=`\`${t}\` will be removed from this Extension in version \`${s}\`.${o}`;return new te(this,"DEPRECATION_NOTICE",i)}createWarning(e,t){return new te(this,e,t)}createError(e,t,s){return new de(this,e,t,s)}},Ce=class extends Be{},He=class{static Internal=Ce},Xe=class extends Ce{constructor(t){super();this.config=t;this.chain=t.chainType}chain;getPublicAddress(){return this.request(this.utils.createJsonRpcRequestPayload(Bt.GetMultichainPublicAddress,[{chain:this.chain}]))}revealPrivateKey(){return this.request(this.utils.createJsonRpcRequestPayload(Bt.RevealPK,[{chain:this.chain}]))}};export{He as Extension,de as MagicExtensionError,te as MagicExtensionWarning,U as MagicRPCError,$ as MagicSDKError,L as MagicSDKWarning,Xe as MultichainExtension,Ve as SDKBase,_e as STORE_KEY_PRIVATE_KEY,he as STORE_KEY_PUBLIC_JWK,De as TypedEmitter,je as ViewController,Pt as clearKeys,vt as createDeprecationWarning,Hn as createDuplicateIframeWarning,Et as createExtensionNotInitializedError,ft as createIncompatibleExtensionsError,gt as createInvalidArgumentError,wt as createJwt,ht as createMalformedResponseError,pt as createMissingApiKeyError,mt as createModalNotReadyError,b as createPromiEvent,qe as createPromise,Rt as createReactNativeEndpointConfigurationWarning,Hr as createSDK,yt as createSynchronousWeb3MethodWarning,fe as createTypedEmitter,Ge as createURL,ct as decodeJSON,ce as encodeJSON,Le as getPayloadId,ee as isEmpty,dt as isJsonRpcErrorCode,Fn as isJsonRpcRequestPayload,lt as isJsonRpcResponsePayload,Wn as isMagicPayloadMethod,Ot as isMajorVersionAtLeast,Lt as isPromiEvent,re as isWebCryptoSupported,me as storage,Tt as uuid};
5
+ Received: \`${r.received}\``)}function Xn(){return new L(pe.DuplicateIframe,"Duplicate iframes found.")}function Rt(){return new L(pe.SyncWeb3Method,"Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead.")}function vt(){return new L(pe.ReactNativeEndpointConfiguration,`CUSTOM DOMAINS ARE NOT SUPPORTED WHEN USING MAGIC SDK WITH REACT NATIVE! The \`endpoint\` parameter SHOULD NOT be provided. The Magic \`<iframe>\` is automatically wrapped by a WebView pointed at \`${h.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function Tt(r){let{method:e,removalVersions:t,useInstead:n}=r,s=t[h.sdkName],i=n?` Use \`${n}\` instead.`:"",o=`\`${e}\` will be removed from \`${h.sdkName}\` in version \`${s}\`.${i}`;return new L(pe.DeprecationNotice,o)}import{MagicPayloadMethod as S,DeviceVerificationEventEmit as kt,LoginWithEmailOTPEventEmit as C,UpdateEmailEventEmit as j,RecencyCheckEventEmit as _,LoginWithSmsOTPEventEmit as Re}from"@magic-sdk/types";import{MagicOutgoingWindowMessage as Rn,MagicIncomingWindowMessage as vn,MagicPayloadMethod as Tn,routeToMagicMethods as Pn}from"@magic-sdk/types";import{RPCErrorCode as hn}from"@magic-sdk/types";function*Qr(){let r=0;for(;;)r<Number.MAX_SAFE_INTEGER?yield++r:r=0}var Zr=Qr();function en(){return Math.floor(Math.random()*1e5)+1}function _e(){return h.sdkName==="@magic-sdk/react-native-bare"||h.sdkName==="@magic-sdk/react-native-expo"?en():Zr.next().value}var Ee={};sr(Ee,{clear:()=>tn,getItem:()=>v,iterate:()=>ke,key:()=>nn,keys:()=>sn,length:()=>rn,removeItem:()=>A,setItem:()=>M});var me;function O(r){return async(...e)=>(me||(me=await h.configureStorage()),await me.ready(),me[r](...e))}var v=O("getItem"),M=O("setItem"),A=O("removeItem"),tn=O("clear"),rn=O("length"),nn=O("key"),sn=O("keys"),ke=O("iterate");function Pt(){let r=window.crypto.getRandomValues(new Uint8Array(16));r[6]=r[6]&15|64,r[8]=r[8]&191|128;let e="";return e+=r[0].toString(16),e+=r[1].toString(16),e+=r[2].toString(16),e+=r[3].toString(16),e+="-",e+=r[4].toString(16),e+=r[5].toString(16),e+="-",e+=r[6].toString(16),e+=r[7].toString(16),e+="-",e+=r[8].toString(16),e+=r[9].toString(16),e+="-",e+=r[10].toString(16),e+=r[11].toString(16),e+=r[12].toString(16),e+=r[13].toString(16),e+=r[14].toString(16),e+=r[15].toString(16),e}var qe="STORE_KEY_PRIVATE_KEY",ge="STORE_KEY_PUBLIC_JWK",bt="ECDSA",on="P-256",an={name:bt,namedCurve:on};function re(){let r=typeof window<"u"&&!!window.crypto,e=r&&!!window.crypto.subtle;return r&&e}function wt(){A(ge),A(qe)}async function Mt(){let r=await cn();if(!r){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:e}=window.crypto,t=await v(qe);if(!t||!e){console.info("unable to find private key or webcrypto unsupported");return}let n={iat:Math.floor(new Date().getTime()/1e3),jti:Pt()},i={protected:It(JSON.stringify({typ:"dpop+jwt",alg:"ES256",jwk:r})),claims:It(JSON.stringify(n))},o=dn(`${i.protected}.${i.claims}`),a={name:bt,hash:{name:"SHA-256"}},c=pn(new Uint8Array(await e.sign(a,t,o)));return`${i.protected}.${i.claims}.${c}`}async function cn(){if(!re()){console.info("webcrypto is not supported");return}return await v(ge)||await ln(),v(ge)}async function ln(){let{subtle:r}=window.crypto,e=await r.generateKey(an,!1,["sign"]),t=await r.exportKey("jwk",e.publicKey);await M(qe,e.privateKey),await M(ge,t)}function It(r){return St(un(r))}function dn(r){return new TextEncoder().encode(r)}function St(r){return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function un(r){return encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16)))}function pn(r){let e="";return r.forEach(t=>{e+=String.fromCharCode(t)}),St(e)}var xt=Symbol("Payload pre-processed by Magic SDK");function Ct(r){return Object.defineProperty(r,xt,{value:!0,enumerable:!1}),r}function mn(r){return!!r[xt]}function W(r){return mn(r)||(r.jsonrpc=r.jsonrpc??"2.0",r.id=_e(),r.method=r.method??"noop",r.params=r.params??[],Ct(r)),r}function p(r,e=[]){return Ct({params:e,method:r,jsonrpc:"2.0",id:_e()})}var K=class r{_jsonrpc;_id;_result;_error;constructor(e){e instanceof r?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):ut(e)?(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=e.result,this._error=e.error):(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=void 0,this._error=void 0)}applyError(e){return this._error=e,this}applyResult(e){return this._result=e,this}get hasError(){return this._error?.code===hn.DpopInvalidated&&wt(),typeof this._error<"u"&&this._error!==null}get hasResult(){return typeof this._result<"u"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}};import{UserEventsEmit as fn,UserEventsOnReceived as yn}from"@magic-sdk/types";var $t=or(At()),We=class extends $t.default{};function ye(){let r=new We;return{emitter:r,createChainingEmitterMethod:(n,s)=>(...i)=>(r[n].apply(r,i),s),createBoundEmitterMethod:n=>(...s)=>r[n].apply(r,s)}}var Lt=Symbol("isPromiEvent");function Ot(r){return!!r[Lt]}function g(r){let e=se(r),{createBoundEmitterMethod:t,createChainingEmitterMethod:n}=ye(),s=Symbol("Promise.then"),i=Symbol("Promise.catch"),o=Symbol("Promise.finally"),a=(l,u)=>(...b)=>{let w=u[l].apply(u,b);return c(w)},c=l=>Object.assign(l,{[Lt]:!0,[s]:l[s]||l.then,[i]:l[i]||l.catch,[o]:l[o]||l.finally,then:a(s,l),catch:a(i,l),finally:a(o,l),on:n("on",l),once:n("once",l),addListener:n("addListener",l),off:n("off",l),removeListener:n("removeListener",l),removeAllListeners:n("removeAllListeners",l),emit:t("emit"),eventNames:t("eventNames"),listeners:t("listeners"),listenerCount:t("listenerCount")}),d=c(e.then(l=>(d.emit("done",l),d.emit("settled"),l),l=>{throw d.emit("error",l),d.emit("settled"),l}));return d.on(yn.ClosedByUser,()=>{d.emit(fn.ClosedByUser)}),d}function se(r){return new Promise((e,t)=>{let n=r(e,t);Promise.resolve(n).catch(t)})}var f=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){return this.sdk.thirdPartyWallets.isConnected&&!Pn.includes(e.method)?this.requestThirdPartyWallets(e):this.requestOverlay(e)}requestThirdPartyWallets(e){return g((n,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(n).catch(s)})}requestOverlay(e){let t=this.overlay.post(Rn.MAGIC_HANDLE_REQUEST,W(e)),n=g((i,o)=>{t.then(a=>{if(s(),a.hasError)o(new J(a.payload.error));else if(a.hasResult)i(a.payload.result);else throw Et()}).catch(a=>{s(),o(a)})}),s=this.overlay.on(vn.MAGIC_HANDLE_EVENT,i=>{let{response:o}=i.data;if(o.id===e.id&&o.result?.event){let{event:a,params:c=[]}=o.result;n.emit(a,...c)}});return n}createIntermediaryEvent(e,t){return s=>{let i=p(Tn.IntermediaryEvent,[{payloadId:t,eventType:e,args:s}]);this.request(i)}}};function _t(r,e){let[t]=r.split(".").map(Number);return t>=e}var In={"magic-sdk":"v18.0.0","@magic-sdk/react-native":"v14.0.0","@magic-sdk/react-native-bare":"v19.0.0","@magic-sdk/react-native-expo":"v19.0.0"},ve=class extends f{loginWithMagicLink(e){let t=h.sdkName==="@magic-sdk/react-native"||h.sdkName==="@magic-sdk/react-native-bare"||h.sdkName==="@magic-sdk/react-native-expo";if(t&&_t(h.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utilize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Tt({method:"auth.loginWithMagicLink()",removalVersions:In,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:n,showUI:s=!0,redirectURI:i,overrides:o,lifespan:a}=e,c=p(this.sdk.testMode?S.LoginWithMagicLinkTestMode:S.LoginWithMagicLink,[{email:n,showUI:s,redirectURI:i,overrides:o,lifespan:a}]);return this.request(c)}loginWithSMS(e){let{phoneNumber:t,showUI:n=!0,lifespan:s}=e,i=p(this.sdk.testMode?S.LoginWithSmsTestMode:S.LoginWithSms,[{phoneNumber:t,showUI:n,lifespan:s}]),o=this.request(i);return!n&&o&&(o.on(Re.VerifySmsOtp,a=>{this.createIntermediaryEvent(Re.VerifySmsOtp,i.id)(a)}),o.on(Re.Cancel,()=>{this.createIntermediaryEvent(Re.Cancel,i.id)()})),o}loginWithEmailOTP(e){let{email:t,showUI:n,deviceCheckUI:s,overrides:i,lifespan:o}=e,a=p(this.sdk.testMode?S.LoginWithEmailOTPTestMode:S.LoginWithEmailOTP,[{email:t,showUI:n,deviceCheckUI:s,overrides:i,lifespan:o}]),c=this.request(a);return!s&&c&&c.on(kt.Retry,()=>{this.createIntermediaryEvent(kt.Retry,a.id)()}),!n&&c&&(c.on(C.VerifyEmailOtp,d=>{this.createIntermediaryEvent(C.VerifyEmailOtp,a.id)(d)}),c.on(C.VerifyMFACode,d=>{this.createIntermediaryEvent(C.VerifyMFACode,a.id)(d)}),c.on(C.LostDevice,()=>{this.createIntermediaryEvent(C.LostDevice,a.id)()}),c.on(C.VerifyRecoveryCode,d=>{this.createIntermediaryEvent(C.VerifyRecoveryCode,a.id)(d)}),c.on(C.Cancel,()=>{this.createIntermediaryEvent(C.Cancel,a.id)()})),c}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:n}=e||{},s=t??"";if(!t&&h.platform==="web"){s=window.location.search;let o=window.location.origin+window.location.pathname;window.history.replaceState(null,"",o)}let i=p(this.sdk.testMode?S.LoginWithCredentialTestMode:S.LoginWithCredential,[s,n]);return this.request(i)}setAuthorizationToken(e){let t=p(S.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:n=!0}=e,s=p(this.sdk.testMode?S.UpdateEmailTestMode:S.UpdateEmail,[{email:t,showUI:n}]),i=this.request(s);return n||(i.on(_.Retry,()=>{this.createIntermediaryEvent(_.Retry,s.id)()}),i.on(_.Cancel,()=>{this.createIntermediaryEvent(_.Cancel,s.id)()}),i.on(_.VerifyEmailOtp,o=>{this.createIntermediaryEvent(_.VerifyEmailOtp,s.id)(o)}),i.on(_.VerifyMFACode,o=>{this.createIntermediaryEvent(_.VerifyMFACode,s.id)(o)}),i.on(j.RetryWithNewEmail,o=>{this.createIntermediaryEvent(j.RetryWithNewEmail,s.id)(o)}),i.on(j.Cancel,()=>{this.createIntermediaryEvent(j.Cancel,s.id)()}),i.on(j.VerifyEmailOtp,o=>{this.createIntermediaryEvent(j.VerifyEmailOtp,s.id)(o)})),i}};import{MagicPayloadMethod as y,EnableMFAEventEmit as Pe,DisableMFAEventEmit as V,RecencyCheckEventEmit as Ft,RecoveryFactorEventEmit as k,RecoverAccountEventEmit as q,UpdateEmailEventEmit as B}from"@magic-sdk/types";var Ue="ds",Fe="ek",Je="iv",Ge="AES-GCM",bn=256;async function Te(){let r=[];await ke((e,t,n)=>{t.startsWith(`${Ue}_`)&&r.push(t)});for(let e of r)await A(e)}function qt(r){let e="",t=new Uint8Array(r),n=t.byteLength;for(let s=0;s<n;s++)e+=String.fromCharCode(t[s]);return window.btoa(e)}function Dt(r){let e=window.atob(r),t=e.length,n=new Uint8Array(t);for(let s=0;s<t;s++)n[s]=e.charCodeAt(s);return n.buffer}async function wn(){if(!re()){console.info("webcrypto is not supported");return}let{crypto:r}=window,e=await v(Je);return e||r.getRandomValues(new Uint8Array(12))}async function Mn(){if(!re()){console.info("webcrypto is not supported");return}let{subtle:r}=window.crypto,e=await v(Fe);return e||await r.generateKey({name:Ge,length:bn},!1,["encrypt","decrypt"])}async function Wt(r,e){let t=await wn(),n=await Mn();if(!t||!n||!r)return;let s=Dt(r),{subtle:i}=window.crypto,o=await i.encrypt({name:Ge,iv:t},n,s),a=qt(o);await M(`${Ue}_${e}`,a),await M(Fe,n),await M(Je,t)}async function Ut(r){let e=await v(`${Ue}_${r}`),t=await v(Je),n=await v(Fe);if(!t||!e||!n||!re())return;let{subtle:s}=window.crypto,i=await s.decrypt({name:Ge,iv:t},n,Dt(e));return qt(i)}function Ke(r,e){return e?new URL(r,e):new URL(r)}var Ie=class extends f{getIdToken(e){let t=p(this.sdk.testMode?y.GetIdTokenTestMode:y.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=p(this.sdk.testMode?y.GenerateIdTokenTestMode:y.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=p(y.GetInfo,[]);return this.request(e)}isLoggedIn(){return g(async(e,t)=>{try{let n=!1;this.sdk.useStorageCache&&(n=await v(this.localForageIsLoggedInKey)==="true",n&&e(!0));let s=p(this.sdk.testMode?y.IsLoggedInTestMode:y.IsLoggedIn),i=await this.request(s);this.sdk.useStorageCache&&(i?M(this.localForageIsLoggedInKey,!0):A(this.localForageIsLoggedInKey),n&&!i&&this.emitUserLoggedOut(!0)),e(i)}catch(n){t(n)}})}logout(){return A(this.localForageIsLoggedInKey),Te(),g(async(e,t)=>{try{let n=p(this.sdk.testMode?y.LogoutTestMode:y.Logout),s=await this.request(n);this.sdk.useStorageCache&&this.emitUserLoggedOut(s),e(s)}catch(n){t(n)}})}requestInfoWithUI(e){let t=p(y.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},n=p(this.sdk.testMode?y.UserSettingsTestMode:y.UserSettings,[e]),s=this.request(n);return!t&&s&&(s.on(k.SendNewPhoneNumber,i=>{this.createIntermediaryEvent(k.SendNewPhoneNumber,n.id)(i)}),s.on(k.SendOtpCode,i=>{this.createIntermediaryEvent(k.SendOtpCode,n.id)(i)}),s.on(k.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(k.StartEditPhoneNumber,n.id)()}),s.on(k.Cancel,()=>{this.createIntermediaryEvent(k.Cancel,n.id)()}),s.on(Ft.VerifyEmailOtp,i=>{this.createIntermediaryEvent(Ft.VerifyEmailOtp,n.id)(i)})),s}recoverAccount(e){let{email:t,showUI:n}=e,s=p(this.sdk.testMode?y.RecoverAccountTestMode:y.RecoverAccount,[{email:t,showUI:n}]),i=this.request(s);return!n&&i&&(i.on(q.Cancel,()=>{this.createIntermediaryEvent(q.Cancel,s.id)()}),i.on(q.ResendSms,()=>{this.createIntermediaryEvent(q.ResendSms,s.id)()}),i.on(q.VerifyOtp,o=>{this.createIntermediaryEvent(q.VerifyOtp,s.id)(o)}),i.on(q.UpdateEmail,o=>{this.createIntermediaryEvent(q.UpdateEmail,s.id)(o)}),i.on(B.Cancel,()=>{this.createIntermediaryEvent(B.Cancel,s.id)()}),i.on(B.RetryWithNewEmail,o=>{this.createIntermediaryEvent(B.RetryWithNewEmail,s.id)(o)}),i.on(B.VerifyEmailOtp,o=>{this.createIntermediaryEvent(B.VerifyEmailOtp,s.id)(o)})),i}revealEVMPrivateKey(){let e=p(y.RevealPK,[{chain:"ETH"}]);return this.request(e)}revealPrivateKey(){throw new Error("revealPrivateKey() has been decommissioned. For EVM chains, use `user.revealEVMPrivateKey()` instead. For non-EVM chains, use `[extension].revealPrivateKey()` instead.")}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,n=p(y.EnableMFA,[{showUI:t}]),s=this.request(n);return!t&&s&&(s.on(Pe.VerifyMFACode,i=>{this.createIntermediaryEvent(Pe.VerifyMFACode,n.id)(i)}),s.on(Pe.Cancel,()=>{this.createIntermediaryEvent(Pe.Cancel,n.id)()})),s}disableMFA(e){let{showUI:t=!0}=e,n=p(y.DisableMFA,[{showUI:t}]),s=this.request(n);return!t&&s&&(s.on(V.VerifyMFACode,i=>{this.createIntermediaryEvent(V.VerifyMFACode,n.id)(i)}),s.on(V.LostDevice,i=>{this.createIntermediaryEvent(V.LostDevice,n.id)(i)}),s.on(V.Cancel,()=>{this.createIntermediaryEvent(V.Cancel,n.id)()})),s}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}localForageIsLoggedInKey="magic_auth_is_logged_in";userLoggedOutCallbacks=[]};import{MagicPayloadMethod as D}from"@magic-sdk/types";var be=class extends f{connectWithUI(e){let t=g(async(n,s)=>{try{let i=p(D.Login,[{enabledWallets:this.sdk.thirdPartyWallets.enabledWallets,...e}]),o=this.request(i);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:c,callback:d})=>{o.on(c,()=>d(i.id))}),o.on("id-token-created",c=>{t.emit("id-token-created",c)});let a=await o;a.error&&s(a),n(a)}catch(i){s(i)}});return t}showUI(e){return this.request(p(D.ShowUI,[e]))}showAddress(){return this.request(p(D.ShowAddress))}showSendTokensUI(){return this.request(p(D.ShowSendTokensUI))}showOnRamp(){return this.request(p(D.ShowOnRamp))}showNFTs(){return this.request(p(D.ShowNFTs))}showBalances(){return this.request(p(D.ShowBalances))}sendGaslessTransaction(e,t){return this.request(p(D.SendGaslessTransaction,[e,t]))}};import{LocalStorageKeys as U,MagicPayloadMethod as we}from"@magic-sdk/types";var Me=class extends f{eventListeners=[];enabledWallets={};isConnected=!1;resetThirdPartyWalletState(){localStorage.removeItem(U.PROVIDER),localStorage.removeItem(U.ADDRESS),localStorage.removeItem(U.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===we.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===we.GetInfo)return this.getInfo(e);if(e.method===we.IsLoggedIn)return this.isLoggedIn(e);if(e.method===we.Logout)return this.logout(e);switch(localStorage.getItem(U.PROVIDER)){case"web3modal":return this.web3modalRequest(e);case"magic-widget":return this.magicWidgetRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(U.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();case"magic-widget":return super.requestOverlay(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(U.PROVIDER)){case"web3modal":return this.web3modalGetInfo();case"magic-widget":return super.requestOverlay(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(U.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();case"magic-widget":return this.magicWidgetLogout(e);default:return super.request(e)}}web3modalRequest(e){return g((t,n)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(n)})}web3modalIsLoggedIn(){return g(e=>{let t=this.sdk.web3modal.modal.getStatus();if(t==="connected"&&e(!0),t==="disconnected"&&(this.resetThirdPartyWalletState(),e(!1)),t==="reconnecting"){let n=this.sdk.web3modal.modal.subscribeProvider(({status:s})=>{s==="connected"&&(n(),e(!0)),s==="disconnected"&&(n(),this.resetThirdPartyWalletState(),e(!1))})}})}formatWeb3modalGetInfoResponse(){let e=this.sdk.web3modal.modal.getWalletInfo()?.name,t=this.sdk.web3modal.modal.getAddress();return{publicAddress:t,email:null,issuer:`did:ethr:${t}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:e||"web3modal",firstLoginAt:null}}web3modalGetInfo(){return g((e,t)=>{let n=this.sdk.web3modal.modal.getStatus();if(n==="connected"&&e(this.formatWeb3modalGetInfoResponse()),n==="disconnected"&&(this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access.")),n==="reconnecting"){let s=this.sdk.web3modal.modal.subscribeProvider(({status:i})=>{i==="connected"&&(s(),e(this.formatWeb3modalGetInfoResponse())),i==="disconnected"&&(s(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return g(async e=>{try{await this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)})}magicWidgetRequest(e){return e.method?.startsWith("eth_")||["personal_sign"].includes(e.method)?g((s,i)=>{this.sdk.magicWidget.walletRequest(e).then(s).catch(o=>i(new J(o)))}):super.requestOverlay(e)}magicWidgetLogout(e){return g(async t=>{try{this.sdk.magicWidget.clearConnectedState()}catch(n){console.error(n)}return super.requestOverlay(e)})}handleIframeThirdPartyWalletRequest(e){this.magicWidgetRequest(e.payload).then(t=>{this.overlay.postThirdPartyWalletResponse({id:e.payload.id,jsonrpc:"2.0",result:t})}).catch(t=>{this.overlay.postThirdPartyWalletResponse({id:e.payload.id,jsonrpc:"2.0",error:{code:t.code||-32603,message:t.message||"Internal error",data:t.data}})})}};import{MagicPayloadMethod as Sn}from"@magic-sdk/types";var{createBoundEmitterMethod:Se,createChainingEmitterMethod:H}=ye(),xe=class extends f{isMagic=!0;sendAsync(e,t){if(!t)throw yt({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e)){let s=e.map(i=>W(i)).map(i=>this.request(i).then(o=>({jsonrpc:i.jsonrpc??"2.0",id:i.id??null,result:o,error:null})).catch(o=>({jsonrpc:i.jsonrpc??"2.0",id:i.id??null,error:o})));Promise.all(s).then(i=>{t(null,i)})}else this.request(W(e)).then(n=>{t(null,{jsonrpc:e.jsonrpc??"2.0",id:e.id??null,result:n,error:null})}).catch(n=>{t(n,{jsonrpc:e.jsonrpc??"2.0",id:e.id??null,error:n})})}send(e,t){if(typeof e=="string"){let s=p(e,Array.isArray(t)?t:[]);return this.request(s)}if(Array.isArray(e)||t){this.sendAsync(e,t);return}let n=Rt();return n.log(),new K(e).applyError({code:-32603,message:n.rawMessage}).payload}enable(){let e=p(Sn.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}on=H("on",this);once=H("once",this);addListener=H("addListener",this);off=H("off",this);removeListener=H("removeListener",this);removeAllListeners=H("removeAllListeners",this);emit=Se("emit");eventNames=Se("eventNames");listeners=Se("listeners");listenerCount=Se("listenerCount")};import{MagicPayloadMethod as je,NftCheckoutIntermediaryEvents as Ce}from"@magic-sdk/types";var Ne=class extends f{purchase(e){let t=p(je.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,n=p(je.NFTCheckout,[{...e,walletProvider:t?"web3modal":"magic"}]),s=this.request(n);return t&&(s.on(Ce.Initiated,async i=>{try{let o=await this.request({method:"eth_sendTransaction",params:[i]});this.createIntermediaryEvent(Ce.Success,n.id)(o)}catch{this.createIntermediaryEvent(Ce.Failure,n.id)()}}),s.on(Ce.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),s.emit("disconnect")})),s}transfer(e){let t=p(je.NFTTransfer,[e]);return this.request(t)}};function Jt(r){return r.compat&&r.compat[h.sdkName]!=null?typeof r.compat[h.sdkName]=="string"?ct(lt(h.version),r.compat[h.sdkName]):!!r.compat[h.sdkName]:!0}function xn(r,e,t){return!e&&!t?`${r}_eth_mainnet`:t?`${r}_${JSON.stringify(t)}`:e?typeof e=="string"?`${r}_eth_${e}`:`${r}_${e.rpcUrl}_${e.chainId}_${e.chainType}`:`${r}_unknown`}function Cn(r){let e=r?.extensions??[],t={},n=[];if(Array.isArray(e)?e.forEach(s=>{Jt(s)?(s.init(this),s.name&&(this[s.name]=s),ee(s.config)||(t[s.name]=s.config)):n.push(s)}):Object.keys(e).forEach(s=>{if(Jt(e[s])){e[s].init(this);let i=e[s];this[s]=i,ee(i.config)||(t[e[s].name]=i.config)}else n.push(e[s])}),n.length)throw ft(n);return t}var Ve=class r{constructor(e,t){this.apiKey=e;if(!e)throw mt();h.platform==="react-native"&&t?.endpoint&&vt().log();let{defaultEndpoint:n,version:s}=h;this.testMode=!!t?.testMode,this.useStorageCache=!!t?.useStorageCache,this.endpoint=Ke(t?.endpoint??n).origin,this.auth=new ve(this),this.user=new Ie(this),this.wallet=new be(this),this.nft=new Ne(this),this.thirdPartyWallets=new Me(this),this.rpcProvider=new xe(this);let i=Cn.call(this,t);this.parameters=le({API_KEY:this.apiKey,DOMAIN_ORIGIN:typeof window<"u"&&window?.location?window?.location.origin:"",ETH_NETWORK:t?.network,host:Ke(this.endpoint).host,sdk:ht[h.sdkName],version:s,ext:ee(i)?void 0:i,locale:t?.locale||"en_US",authConfig:t?.authConfig?{...t.authConfig}:void 0,...h.bundleId?{bundleId:h.bundleId}:{},meta:t?.meta}),this.networkHash=xn(this.apiKey,t?.network,ee(i)?void 0:i),t?.deferPreload||this.preload()}static __overlays__=new Map;endpoint;parameters;networkHash;testMode;useStorageCache;auth;user;wallet;nft;thirdPartyWallets;rpcProvider;get overlay(){if(!r.__overlays__.has(this.parameters)){let e=new h.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),e.onThirdPartyWalletRequest(t=>this.thirdPartyWallets.handleIframeThirdPartyWalletRequest(t)),r.__overlays__.set(this.parameters,e)}return r.__overlays__.get(this.parameters)}async preload(){await this.overlay.waitForReady()}};import{MagicIncomingWindowMessage as ie,MagicOutgoingWindowMessage as Be,SDKWarningCode as An}from"@magic-sdk/types";function Nn(r,e){return e&&Array.isArray(r)?r.find(t=>t.id===e):r}function Gt(r,e){let t=e.data.response?.id,n=Nn(r,t);if(t&&n){let s=new K(n).applyResult(e.data.response.result).applyError(e.data.response.error);return{id:t,response:s}}return{}}async function Kt(r,e,t){let n=await v("rt"),s;if(h.platform==="web")try{s=await v("jwt")??await Mt()}catch(a){console.error("webcrypto error",a)}let i={msgType:r,payload:e};s&&(i.jwt=s),s&&n&&(i.rt=n);let o=await Ut(t);return o&&(i.deviceShare=o),i}async function jt(r){r.data.rt&&await M("rt",r.data.rt)}function Vt(r,e){let t=null;return function(...n){t&&clearTimeout(t),t=setTimeout(()=>{r(...n)},e)}}var $n=1e3,Ht=60*$n,Bt=5*Ht,Ln=60*Ht,He=class{constructor(e,t,n){this.endpoint=e;this.parameters=t;this.networkHash=n;this.listen()}isReadyForRequest=!1;messageHandlers=new Set;isConnectedToInternet=!0;lastPongTime=null;heartbeatIntervalTimer=null;heartbeatDebounce=Vt(()=>{this.endpoint==="https://auth.magic.link/"&&this.heartBeatCheck()},Ln);thirdPartyWalletRequestHandler=()=>{};async post(e,t){return se(async(n,s)=>{if(!this.isConnectedToInternet){let l=he();s(l)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let i=[],o=Array.isArray(t)?t.map(l=>l.id):[],a=await Kt(`${e}-${this.parameters}`,t,this.networkHash);await this._post(a);let c=l=>u=>{let{id:b,response:w}=Gt(t,u);if(jt(u),w?.payload.error?.message==="User denied account access.")Te();else if(u.data.deviceShare){let{deviceShare:Yt}=u.data;Wt(Yt,this.networkHash)}b&&w&&Array.isArray(t)&&o.includes(b)?(i.push(w),i.length===t.length&&(l(),n(i))):b&&w&&!Array.isArray(t)&&b===t.id&&(l(),n(w))},d=this.on(ie.MAGIC_HANDLE_RESPONSE,c(()=>d()))})}async postThirdPartyWalletResponse(e){return se(async(t,n)=>{if(!this.isConnectedToInternet){let i=he();n(i)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let s={msgType:`${Be.MAGIC_THIRD_PARTY_WALLET_RESPONSE}-${this.parameters}`,response:e};await this._post(s),t()})}async postThirdPartyWalletUpdate(e){return se(async(t,n)=>{if(!this.isConnectedToInternet){let i=he();n(i)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let s={msgType:`${Be.MAGIC_THIRD_PARTY_WALLET_UPDATE}-${this.parameters}`,details:e};await this._post(s),t()})}on(e,t){let n=t.bind(window),s=i=>{i.data.msgType===`${e}-${this.parameters}`&&n(i)};return this.messageHandlers.add(s),()=>this.messageHandlers.delete(s)}waitForReady(){return new Promise(e=>{let t=this.on(ie.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}onThirdPartyWalletRequest(e){this.thirdPartyWalletRequestHandler=e}listen(){this.on(ie.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(ie.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(ie.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new L(An.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=async()=>{let n={msgType:`${Be.MAGIC_PING}-${this.parameters}`,payload:[]};await this._post(n)};this.heartbeatIntervalTimer=setInterval(async()=>{if(this.lastPongTime){if(Date.now()-this.lastPongTime>Bt*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}await t(),e=!1},Bt)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}};import{MagicPayloadMethod as Xt}from"@magic-sdk/types";var zt=["request","overlay","sdk"];function On(r){let e=Object.getPrototypeOf(r),t=[e];for(;e!==f.prototype;)e=Object.getPrototypeOf(e),t.push(e);return t}var Xe=class extends f{compat;__sdk_access_field_descriptors__=new Map;__is_initialized__=!1;utils={createPromiEvent:g,isPromiEvent:Ot,encodeJSON:le,decodeJSON:dt,createJsonRpcRequestPayload:p,standardizeJsonRpcRequestPayload:W,storage:Ee};constructor(){super(void 0);let e=[this,...On(this)];zt.forEach(t=>{let n=e.map(a=>Object.getOwnPropertyDescriptor(a,t)),s=n.findIndex(a=>!!a),i=s>0,o=n[s];o&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:o,isPrototypeField:i}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw gt(t)}}))})}init(e){this.__is_initialized__||(zt.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:n,isPrototypeField:s}=this.__sdk_access_field_descriptors__.get(t);s?delete this[t]:Object.defineProperty(this,t,n)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:n,useInstead:s}=e,i=s?` Use \`${s}\` instead.`:"",o=`\`${t}\` will be removed from this Extension in version \`${n}\`.${i}`;return new te(this,"DEPRECATION_NOTICE",o)}createWarning(e,t){return new te(this,e,t)}createError(e,t,n){return new ue(this,e,t,n)}},Ae=class extends Xe{},ze=class{static Internal=Ae},Ye=class extends Ae{constructor(t){super();this.config=t;this.chain=t.chainType}chain;getPublicAddress(){return this.request(this.utils.createJsonRpcRequestPayload(Xt.GetMultichainPublicAddress,[{chain:this.chain}]))}revealPrivateKey(){return this.request(this.utils.createJsonRpcRequestPayload(Xt.RevealPK,[{chain:this.chain}]))}};export{ze as Extension,ue as MagicExtensionError,te as MagicExtensionWarning,J as MagicRPCError,$ as MagicSDKError,L as MagicSDKWarning,Ye as MultichainExtension,Ve as SDKBase,qe as STORE_KEY_PRIVATE_KEY,ge as STORE_KEY_PUBLIC_JWK,We as TypedEmitter,He as ViewController,wt as clearKeys,Tt as createDeprecationWarning,Xn as createDuplicateIframeWarning,gt as createExtensionNotInitializedError,ft as createIncompatibleExtensionsError,yt as createInvalidArgumentError,Mt as createJwt,Et as createMalformedResponseError,mt as createMissingApiKeyError,he as createModalNotReadyError,g as createPromiEvent,se as createPromise,vt as createReactNativeEndpointConfigurationWarning,zr as createSDK,Rt as createSynchronousWeb3MethodWarning,ye as createTypedEmitter,Ke as createURL,dt as decodeJSON,le as encodeJSON,_e as getPayloadId,ee as isEmpty,pt as isJsonRpcErrorCode,Fn as isJsonRpcRequestPayload,ut as isJsonRpcResponsePayload,Jn as isMagicPayloadMethod,_t as isMajorVersionAtLeast,Ot as isPromiEvent,re as isWebCryptoSupported,Ee as storage,Pt as uuid};
6
6
  //# sourceMappingURL=index.mjs.map