magic-sdk 29.1.0-canary.886.14715967630.0 → 29.1.0-canary.886.14716522031.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.
Files changed (2) hide show
  1. package/dist/magic.js +1 -1
  2. package/package.json +4 -4
package/dist/magic.js CHANGED
@@ -2,5 +2,5 @@
2
2
  - Extension \`${r.name}\` supports version(s) \`${i}\``:i||(t+=`
3
3
  - Extension \`${r.name}\` does not support ${Y.platform} environments.`)}),new Ne(Ee.IncompatibleExtensions,t)}function Pa(e){let t=r=>{let i=r+1,a=i%10,s=i%100;return a===1&&s!==11?`${i}st`:a===2&&s!==12?`${i}nd`:a===3&&s!==13?`${i}rd`:`${i}th`};return new Ne(Ee.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
4
4
  Expected: \`${e.expected}\`
5
- Received: \`${e.received}\``)}function rn(){return new Ue(_e.DuplicateIframe,"Duplicate iframes found.")}function Da(){return new Ue(_e.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 $a(){return new Ue(_e.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 \`${Y.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function Ua(e){let{method:t,removalVersions:r,useInstead:i}=e,a=r[Y.sdkName],s=i?` Use \`${i}\` instead.`:"",p=`\`${t}\` will be removed from \`${Y.sdkName}\` in version \`${a}\`.${s}`;return new Ue(_e.DeprecationNotice,p)}function*xa(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Fa=xa();function nn(){return Fa.next().value}var an=Symbol("Payload pre-processed by Magic SDK");function on(e){return Object.defineProperty(e,an,{value:!0,enumerable:!1}),e}function ka(e){return!!e[an]}function mt(e){return ka(e)||(e.jsonrpc=e.jsonrpc??"2.0",e.id=nn(),e.method=e.method??"noop",e.params=e.params??[],on(e)),e}function G(e,t=[]){return on({params:t,method:e,jsonrpc:"2.0",id:nn()})}var sn=class cn{_jsonrpc;_id;_result;_error;constructor(t){t instanceof cn?(this._jsonrpc=t.payload.jsonrpc,this._id=t.payload.id,this._result=t.payload.result,this._error=t.payload.error):Aa(t)?(this._jsonrpc=t.jsonrpc,this._id=t.id,this._result=t.result,this._error=t.error):(this._jsonrpc=t.jsonrpc,this._id=t.id,this._result=void 0,this._error=void 0)}applyError(t){return this._error=t,this}applyResult(t){return this._result=t,this}get hasError(){return 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}}},Wa=Di($i()),Ba=class extends Wa.default{};function ln(){let e=new Ba;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var un=Symbol("isPromiEvent");function kt(e){return!!e[un]}function ge(e){let t=dn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=ln(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),p=Symbol("Promise.finally"),h=(y,O)=>(...E)=>{let N=O[y].apply(O,E);return I(N)},I=y=>Object.assign(y,{[un]:!0,[a]:y[a]||y.then,[s]:y[s]||y.catch,[p]:y[p]||y.finally,then:h(a,y),catch:h(s,y),finally:h(p,y),on:i("on",y),once:i("once",y),addListener:i("addListener",y),off:i("off",y),removeListener:i("removeListener",y),removeAllListeners:i("removeAllListeners",y),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),v=I(t.then(y=>(v.emit("done",y),v.emit("settled"),y),y=>{throw v.emit("error",y),v.emit("settled"),y}));return v.on(it.ClosedByUser,()=>{v.emit(nt.ClosedByUser)}),v}function dn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Te=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!Mt.includes(e.method))return ge((a,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(a).catch(s)});let t=this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,mt(e)),r=ge((a,s)=>{t.then(p=>{if(i(),p.hasError)s(new Je(p.payload.error));else if(p.hasResult)a(p.payload.result);else throw Ma()}).catch(p=>{i(),s(p)})}),i=this.overlay.on(de.MAGIC_HANDLE_EVENT,a=>{let{response:s}=a.data;if(s.id===e.id&&s.result?.event){let{event:p,params:h=[]}=s.result;r.emit(p,...h)}});return r}createIntermediaryEvent(e,t){return r=>{let i=G(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function Ga(e,t){let[r]=e.split(".").map(Number);return r>=t}var fn={};Ci(fn,{clear:()=>Va,getItem:()=>fe,iterate:()=>hn,key:()=>Ha,keys:()=>qa,length:()=>ja,removeItem:()=>Be,setItem:()=>Ae});var ct;function Me(e){return async(...t)=>(ct||(ct=await Y.configureStorage()),await ct.ready(),ct[e](...t))}var fe=Me("getItem"),Ae=Me("setItem"),Be=Me("removeItem"),Va=Me("clear"),ja=Me("length"),Ha=Me("key"),qa=Me("keys"),hn=Me("iterate");function Qe(e,t){return t?new URL(e,t):new URL(e)}function Ka(){let e=window.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&191|128;let t="";return t+=e[0].toString(16),t+=e[1].toString(16),t+=e[2].toString(16),t+=e[3].toString(16),t+="-",t+=e[4].toString(16),t+=e[5].toString(16),t+="-",t+=e[6].toString(16),t+=e[7].toString(16),t+="-",t+=e[8].toString(16),t+=e[9].toString(16),t+="-",t+=e[10].toString(16),t+=e[11].toString(16),t+=e[12].toString(16),t+=e[13].toString(16),t+=e[14].toString(16),t+=e[15].toString(16),t}var Wt="STORE_KEY_PRIVATE_KEY",pt="STORE_KEY_PUBLIC_JWK",mn="ECDSA",Ya="P-256",Xa={name:mn,namedCurve:Ya};function yt(){let e=typeof window<"u"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function za(){Be(pt),Be(Wt)}async function Ja(){let e=await Qa();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=await fe(Wt);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let i={iat:Math.floor(new Date().getTime()/1e3),jti:Ka()},a={protected:Hr(JSON.stringify({typ:"dpop+jwt",alg:"ES256",jwk:e})),claims:Hr(JSON.stringify(i))},s=eo(`${a.protected}.${a.claims}`),p={name:mn,hash:{name:"SHA-256"}},h=ro(new Uint8Array(await t.sign(p,r,s)));return`${a.protected}.${a.claims}.${h}`}async function Qa(){if(!yt()){console.info("webcrypto is not supported");return}return await fe(pt)||await Za(),fe(pt)}async function Za(){let{subtle:e}=window.crypto,t=await e.generateKey(Xa,!1,["sign"]),r=await e.exportKey("jwk",t.publicKey);await Ae(Wt,t.privateKey),await Ae(pt,r)}function Hr(e){return pn(to(e))}function eo(e){return new TextEncoder().encode(e)}function pn(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function to(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function ro(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),pn(t)}var no={"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"},io=class extends Te{loginWithMagicLink(e){let t=Y.sdkName==="@magic-sdk/react-native"||Y.sdkName==="@magic-sdk/react-native-bare"||Y.sdkName==="@magic-sdk/react-native-expo";if(t&&Ga(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Ua({method:"auth.loginWithMagicLink()",removalVersions:no,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:p}=e,h=G(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:i,redirectURI:a,overrides:s,lifespan:p}]);return this.request(h)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:i}=e,a=G(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:i}]),s=this.request(a);return!r&&s&&(s.on(Pe.VerifySmsOtp,p=>{this.createIntermediaryEvent(Pe.VerifySmsOtp,a.id)(p)}),s.on(Pe.Cancel,()=>{this.createIntermediaryEvent(Pe.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}=e,p=G(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),h=this.request(p);return!i&&h&&h.on(Ke.Retry,()=>{this.createIntermediaryEvent(Ke.Retry,p.id)()}),!r&&h&&(h.on(le.VerifyEmailOtp,I=>{this.createIntermediaryEvent(le.VerifyEmailOtp,p.id)(I)}),h.on(le.VerifyMFACode,I=>{this.createIntermediaryEvent(le.VerifyMFACode,p.id)(I)}),h.on(le.LostDevice,()=>{this.createIntermediaryEvent(le.LostDevice,p.id)()}),h.on(le.VerifyRecoveryCode,I=>{this.createIntermediaryEvent(le.VerifyRecoveryCode,p.id)(I)}),h.on(le.Cancel,()=>{this.createIntermediaryEvent(le.Cancel,p.id)()})),h&&h.on("error",I=>{I?.code===-32603&&I?.message==="DPOP signature validation error"&&za()}),h}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},i=t??"";if(!t&&Y.platform==="web"){i=window.location.search;let s=window.location.origin+window.location.pathname;window.history.replaceState(null,"",s)}let a=G(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[i,r]);return this.request(a)}setAuthorizationToken(e){let t=G(M.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,i=G(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:t,showUI:r}]),a=this.request(i);return r||(a.on(ce.Retry,()=>{this.createIntermediaryEvent(ce.Retry,i.id)()}),a.on(ce.Cancel,()=>{this.createIntermediaryEvent(ce.Cancel,i.id)()}),a.on(ce.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ce.VerifyEmailOtp,i.id)(s)}),a.on(ce.VerifyMFACode,s=>{this.createIntermediaryEvent(ce.VerifyMFACode,i.id)(s)}),a.on(te.RetryWithNewEmail,s=>{this.createIntermediaryEvent(te.RetryWithNewEmail,i.id)(s)}),a.on(te.Cancel,()=>{this.createIntermediaryEvent(te.Cancel,i.id)()}),a.on(te.VerifyEmailOtp,s=>{this.createIntermediaryEvent(te.VerifyEmailOtp,i.id)(s)})),a}},Bt="ds",Gt="ek",Vt="iv",jt="AES-GCM",ao=256;async function vn(){let e=[];await hn((t,r,i)=>{r.startsWith(`${Bt}_`)&&e.push(r)});for(let t of e)await Be(t)}function yn(e){let t="",r=new Uint8Array(e),i=r.byteLength;for(let a=0;a<i;a++)t+=String.fromCharCode(r[a]);return window.btoa(t)}function gn(e){let t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let a=0;a<r;a++)i[a]=t.charCodeAt(a);return i.buffer}async function oo(){if(!yt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return await fe(Vt)||e.getRandomValues(new Uint8Array(12))}async function so(){if(!yt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return await fe(Gt)||await e.generateKey({name:jt,length:ao},!1,["encrypt","decrypt"])}async function co(e,t){let r=await oo(),i=await so();if(!r||!i||!e)return;let a=gn(e),{subtle:s}=window.crypto,p=await s.encrypt({name:jt,iv:r},i,a),h=yn(p);await Ae(`${Bt}_${t}`,h),await Ae(Gt,i),await Ae(Vt,r)}async function lo(e){let t=await fe(`${Bt}_${e}`),r=await fe(Vt),i=await fe(Gt);if(!r||!t||!i||!yt())return;let{subtle:a}=window.crypto,s=await a.decrypt({name:jt,iv:r},i,gn(t));return yn(s)}var uo=class extends Te{getIdToken(e){let t=G(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=G(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=G(M.GetInfo,[]);return this.request(e)}isLoggedIn(){return ge(async(e,t)=>{try{let r=!1;this.sdk.useStorageCache&&(r=await fe(this.localForageIsLoggedInKey)==="true",r&&e(!0));let i=G(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=await this.request(i);this.sdk.useStorageCache&&(a?Ae(this.localForageIsLoggedInKey,!0):Be(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}})}logout(){return Be(this.localForageIsLoggedInKey),vn(),ge(async(e,t)=>{try{let r=G(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=await this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),e(i)}catch(r){t(r)}})}requestInfoWithUI(e){let t=G(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=G(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[e]),i=this.request(r);return!t&&i&&(i.on(me.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(me.SendNewPhoneNumber,r.id)(a)}),i.on(me.SendOtpCode,a=>{this.createIntermediaryEvent(me.SendOtpCode,r.id)(a)}),i.on(me.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(me.StartEditPhoneNumber,r.id)()}),i.on(me.Cancel,()=>{this.createIntermediaryEvent(me.Cancel,r.id)()}),i.on(ce.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ce.VerifyEmailOtp,r.id)(a)})),i}recoverAccount(e){let{email:t,showUI:r}=e,i=G(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[{email:t,showUI:r}]),a=this.request(i);return!r&&a&&(a.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,i.id)()}),a.on(pe.ResendSms,()=>{this.createIntermediaryEvent(pe.ResendSms,i.id)()}),a.on(pe.VerifyOtp,s=>{this.createIntermediaryEvent(pe.VerifyOtp,i.id)(s)}),a.on(pe.UpdateEmail,s=>{this.createIntermediaryEvent(pe.UpdateEmail,i.id)(s)}),a.on(te.Cancel,()=>{this.createIntermediaryEvent(te.Cancel,i.id)()}),a.on(te.RetryWithNewEmail,s=>{this.createIntermediaryEvent(te.RetryWithNewEmail,i.id)(s)}),a.on(te.VerifyEmailOtp,s=>{this.createIntermediaryEvent(te.VerifyEmailOtp,i.id)(s)})),a}revealPrivateKey(){let e=G(M.RevealPK);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=G(M.EnableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on(De.VerifyMFACode,a=>{this.createIntermediaryEvent(De.VerifyMFACode,r.id)(a)}),i.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,r.id)()})),i}disableMFA(e){let{showUI:t=!0}=e,r=G(M.DisableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on(we.VerifyMFACode,a=>{this.createIntermediaryEvent(we.VerifyMFACode,r.id)(a)}),i.on(we.LostDevice,a=>{this.createIntermediaryEvent(we.LostDevice,r.id)(a)}),i.on(we.Cancel,()=>{this.createIntermediaryEvent(we.Cancel,r.id)()})),i}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}localForageIsLoggedInKey="magic_auth_is_logged_in";userLoggedOutCallbacks=[]},fo=class extends Te{connectWithUI(e){let t=ge(async(r,i)=>{try{let a=G(M.Login,[{enabledWallets:this.sdk.thirdPartyWallets.enabledWallets,...e}]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:h,callback:I})=>{s.on(h,()=>I(a.id))}),s.on("id-token-created",h=>{t.emit("id-token-created",h)});let p=await s;p.error&&i(p),r(p)}catch(a){i(a)}});return t}showUI(e){return this.request(G(M.ShowUI,[e]))}showAddress(){return this.request(G(M.ShowAddress))}showSendTokensUI(){return this.request(G(M.ShowSendTokensUI))}showOnRamp(){return this.request(G(M.ShowOnRamp))}showNFTs(){return this.request(G(M.ShowNFTs))}showBalances(){return this.request(G(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(G(M.SendGaslessTransaction,[e,t]))}},ho=class extends Te{eventListeners=[];enabledWallets={};isConnected=!1;resetThirdPartyWalletState(){localStorage.removeItem(ve.PROVIDER),localStorage.removeItem(ve.ADDRESS),localStorage.removeItem(ve.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===M.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===M.GetInfo)return this.getInfo(e);if(e.method===M.IsLoggedIn)return this.isLoggedIn(e);if(e.method===M.Logout)return this.logout(e);switch(localStorage.getItem(ve.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(ve.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(ve.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(ve.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return ge((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return ge(e=>{let t=this.sdk.web3modal.modal.getStatus();if(t==="connected"&&e(!0),t==="disconnected"&&(this.resetThirdPartyWalletState(),e(!1)),t==="reconnecting"){let r=this.sdk.web3modal.modal.subscribeProvider(({status:i})=>{i==="connected"&&(r(),e(!0)),i==="disconnected"&&(r(),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"}}web3modalGetInfo(){return ge((e,t)=>{let r=this.sdk.web3modal.modal.getStatus();if(r==="connected"&&e(this.formatWeb3modalGetInfoResponse()),r==="disconnected"&&(this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access.")),r==="reconnecting"){let i=this.sdk.web3modal.modal.subscribeProvider(({status:a})=>{a==="connected"&&(i(),e(this.formatWeb3modalGetInfoResponse())),a==="disconnected"&&(i(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return ge(async e=>{try{await this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)})}},{createBoundEmitterMethod:lt,createChainingEmitterMethod:We}=ln(),mo=class extends Te{isMagic=!0;sendAsync(e,t){if(!t)throw Pa({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,e.map(r=>{let i=mt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>({...i.payload,error:i.hasError?new Je(i.payload.error):null})))});else{let r=mt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,r).then(i=>{t(i.hasError?new Je(i.payload.error):null,i.payload)})}}send(e,t){if(typeof e=="string"){let i=G(e,Array.isArray(t)?t:[]);return this.request(i)}if(Array.isArray(e)||t){this.sendAsync(e,t);return}let r=Da();return r.log(),new sn(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=G(M.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=We("on",this);once=We("once",this);addListener=We("addListener",this);off=We("off",this);removeListener=We("removeListener",this);removeAllListeners=We("removeAllListeners",this);emit=lt("emit");eventNames=lt("eventNames");listeners=lt("listeners");listenerCount=lt("listenerCount")},qr=["request","overlay","sdk"];function po(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Te.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var vo=class extends Te{compat;__sdk_access_field_descriptors__=new Map;__is_initialized__=!1;utils={createPromiEvent:ge,isPromiEvent:kt,encodeJSON:zr,decodeJSON:ba,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:mt,storage:fn};constructor(){super(void 0);let e=[this,...po(this)];qr.forEach(t=>{let r=e.map(p=>Object.getOwnPropertyDescriptor(p,t)),i=r.findIndex(p=>!!p),a=i>0,s=r[i];s&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:s,isPrototypeField:a}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw La(t)}}))})}init(e){this.__is_initialized__||(qr.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:i}=this.__sdk_access_field_descriptors__.get(t);i?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:i}=e,a=i?` Use \`${i}\` instead.`:"",s=`\`${t}\` will be removed from this Extension in version \`${r}\`.${a}`;return new ht(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new ht(this,e,t)}createError(e,t,r){return new xt(this,e,t,r)}},yo=class extends vo{},vt=class{static Internal=yo},go=class extends Te{purchase(e){let t=G(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(M.NFTCheckout,[{...e,walletProvider:t?"web3modal":"magic"}]),i=this.request(r);return t&&(i.on($e.Initiated,async a=>{try{let s=await this.request({method:"eth_sendTransaction",params:[a]});this.createIntermediaryEvent($e.Success,r.id)(s)}catch{this.createIntermediaryEvent($e.Failure,r.id)()}}),i.on($e.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),i.emit("disconnect")})),i}transfer(e){let t=G(M.NFTTransfer,[e]);return this.request(t)}};function Kr(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?pa(Ea(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function Eo(e,t,r){return!t&&!r?`${e}_eth_mainnet`:r?`${e}_${JSON.stringify(r)}`:t?typeof t=="string"?`${e}_eth_${t}`:`${e}_${t.rpcUrl}_${t.chainId}_${t.chainType}`:`${e}_unknown`}function _o(e){let t=e?.extensions??[],r={},i=[];if(Array.isArray(t)?t.forEach(a=>{Kr(a)?(a.init(this),a.name&&(this[a.name]=a),a instanceof vt.Internal&&(ft(a.config)||(r[a.name]=a.config))):i.push(a)}):Object.keys(t).forEach(a=>{if(Kr(t[a])){t[a].init(this);let s=t[a];this[a]=s,s instanceof vt.Internal&&(ft(s.config)||(r[t[a].name]=s.config))}else i.push(t[a])}),i.length)throw Ca(i);return r}var En=class dt{constructor(t,r){if(this.apiKey=t,!t)throw Ta();Y.platform==="react-native"&&r?.endpoint&&$a().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!r?.testMode,this.useStorageCache=!!r?.useStorageCache,this.endpoint=Qe(r?.endpoint??i).origin,this.auth=new io(this),this.user=new uo(this),this.wallet=new fo(this),this.nft=new go(this),this.thirdPartyWallets=new ho(this),this.rpcProvider=new mo(this);let s=_o.call(this,r);this.parameters=zr({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:r?.network,host:Qe(this.endpoint).host,sdk:Na[Y.sdkName],version:a,ext:ft(s)?void 0:s,locale:r?.locale||"en_US",...Y.bundleId?{bundleId:Y.bundleId}:{},meta:r?.meta}),this.networkHash=Eo(this.apiKey,r?.network,ft(s)?void 0:s),r?.deferPreload||this.preload()}static __overlays__=new Map;endpoint;parameters;networkHash;testMode;useStorageCache;auth;user;wallet;nft;thirdPartyWallets;rpcProvider;get overlay(){if(!dt.__overlays__.has(this.parameters)){let t=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);t.init(),dt.__overlays__.set(this.parameters,t)}return dt.__overlays__.get(this.parameters)}async preload(){await this.overlay.waitForReady()}};function Io(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function wo(e,t){let r=t.data.response?.id,i=Io(e,r);if(r&&i){let a=new sn(i).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:r,response:a}}return{}}async function Ro(e,t,r){let i=await fe("rt"),a;if(Y.platform==="web")try{a=await fe("jwt")??await Ja()}catch(h){console.error("webcrypto error",h)}let s={msgType:e,payload:t};a&&(s.jwt=a),a&&i&&(s.rt=i);let p=await lo(r);return p&&(s.deviceShare=p),s}async function bo(e){e.data.rt&&await Ae("rt",e.data.rt)}function So(e,t){let r=null;return function(...i){r&&clearTimeout(r),r=setTimeout(()=>{e(...i)},t)}}var Ao=1e3,_n=60*Ao,Yr=5*_n,Oo=60*_n,In=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.listen()}isReadyForRequest=!1;messageHandlers=new Set;isConnectedToInternet=!0;lastPongTime=null;heartbeatIntervalTimer=null;heartbeatDebounce=So(()=>{this.endpoint==="https://auth.magic.link/"&&this.heartBeatCheck()},Oo);async post(e,t){return dn(async(r,i)=>{if(!this.isConnectedToInternet){let v=Ft();i(v)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let a=[],s=Array.isArray(t)?t.map(v=>v.id):[],p=await Ro(`${e}-${this.parameters}`,t,this.networkHash);await this._post(p);let h=v=>y=>{let{id:O,response:E}=wo(t,y);if(bo(y),E?.payload.error?.message==="User denied account access.")vn();else if(y.data.deviceShare){let{deviceShare:N}=y.data;co(N,this.networkHash)}O&&E&&Array.isArray(t)&&s.includes(O)?(a.push(E),a.length===t.length&&(v(),r(a))):O&&E&&!Array.isArray(t)&&O===t.id&&(v(),r(E))},I=this.on(de.MAGIC_HANDLE_RESPONSE,h(()=>I()))})}on(e,t){let r=t.bind(window),i=a=>{a.data.msgType===`${e}-${this.parameters}`&&r(a)};return this.messageHandlers.add(i),()=>this.messageHandlers.delete(i)}waitForReady(){return new Promise(e=>{let t=this.on(de.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(de.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(de.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(de.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new Ue(_e.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=async()=>{let r={msgType:`${Ie.MAGIC_PING}-${this.parameters}`,payload:[]};await this._post(r)};this.heartbeatIntervalTimer=setInterval(async()=>{if(this.lastPongTime){if(Date.now()-this.lastPongTime>Yr*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}await t(),e=!1},Yr)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}};var Ht={};mr(Ht,{AuthEventOnReceived:()=>Ar,DeepLinkPage:()=>gr,DeviceVerificationEventEmit:()=>Ke,DeviceVerificationEventOnReceived:()=>Rr,DisableMFAEventEmit:()=>we,DisableMFAEventOnReceived:()=>Tr,EnableMFAEventEmit:()=>De,EnableMFAEventOnReceived:()=>Nr,EthChainType:()=>Mr,Extension:()=>vt,ExtensionError:()=>xt,ExtensionWarning:()=>ht,FarcasterLoginEventEmit:()=>Or,LocalStorageKeys:()=>ve,LoginWithEmailOTPEventEmit:()=>le,LoginWithEmailOTPEventOnReceived:()=>wr,LoginWithMagicLinkEventEmit:()=>Er,LoginWithMagicLinkEventOnReceived:()=>_r,LoginWithSmsOTPEventEmit:()=>Pe,LoginWithSmsOTPEventOnReceived:()=>Ir,MagicIncomingWindowMessage:()=>de,MagicOutgoingWindowMessage:()=>Ie,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>$e,RPCError:()=>Je,RPCErrorCode:()=>ke,RecencyCheckEventEmit:()=>ce,RecencyCheckEventOnReceived:()=>br,RecoverAccountEventEmit:()=>pe,RecoverAccountEventOnReceived:()=>Pr,RecoveryFactorEventEmit:()=>me,RecoveryFactorEventOnReceived:()=>Lr,RecoveryMethodType:()=>Cr,SDKError:()=>Ne,SDKErrorCode:()=>Ee,SDKWarning:()=>Ue,SDKWarningCode:()=>_e,ThirdPartyWalletEvents:()=>yr,UiEventsEmit:()=>$r,UpdateEmailEventEmit:()=>te,UpdateEmailEventOnReceived:()=>Sr,UserEventsEmit:()=>nt,UserEventsOnReceived:()=>it,WalletEventOnReceived:()=>Dr,isPromiEvent:()=>kt,routeToMagicMethods:()=>Mt});var _t=vr(Rn()),Kt=vr(Sn());var No={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function To(e){for(let[t,r]of Object.entries(No))e.style[t]=r}function Mo(e){return!![].slice.call(document.querySelectorAll(".magic-iframe")).find(r=>r.src.includes(e))}var Et=class extends In{activeElement=null;iframe;relayerSrc=Qe(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href;init(){this.test="hello",this.iframe=new Promise(t=>{let r=()=>{if(Mo(encodeURIComponent(this.parameters)))rn().log();else{let i=document.createElement("iframe");i.classList.add("magic-iframe"),i.dataset.magicIframeLabel=Qe(this.endpoint).host,i.title="Secure Modal",i.src=this.relayerSrc,i.allow="clipboard-read; clipboard-write",To(i),document.body.appendChild(i),t(i)}};["loaded","interactive","complete"].includes(document.readyState)?r():window.addEventListener("load",r,!1)}),this.iframe.then(t=>{t instanceof HTMLIFrameElement&&t.addEventListener("load",async()=>{this.heartbeatDebounce()})}),window.addEventListener("message",t=>{if(t.origin===this.endpoint&&t.data.msgType&&(t.data.msgType.includes(de.MAGIC_PONG)&&(this.lastPongTime=Date.now()),t.data&&this.messageHandlers.size)){t.data.response=t.data.response??{},this.stopHeartBeat();for(let r of this.messageHandlers.values())r(t)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}async showOverlay(){let t=await this.iframe;t.style.visibility="visible",t.style.zIndex="2147483647",t.style.opacity="1",this.activeElement=document.activeElement,t.focus()}async hideOverlay(){let t=await this.iframe;t.style.visibility="hidden",t.style.zIndex="-1",t.style.opacity="0",this.activeElement?.focus&&this.activeElement.focus(),this.activeElement=null}async _post(t){let r=await this.iframe;if(r&&r.contentWindow)r.contentWindow.postMessage(t,this.endpoint);else throw Ft()}async checkRelayerExistsInDOM(){let t=await this.iframe;return!t||!t.contentWindow?!1:!![].slice.call(document.querySelectorAll(".magic-iframe")).find(i=>i.src.includes(encodeURIComponent(this.parameters)))}async reloadRelayer(){let t=await this.iframe;if(this.stopHeartBeat(),!t){this.init(),console.warn("Magic SDK: Modal lost, re-initiating");return}if(!t.contentWindow){document.body.appendChild(t),console.warn("Magic SDK: Modal did not append in the iframe, re-initiating");return}t&&(t.src=this.relayerSrc)}};var Lo=Object.assign(Qr(En,{platform:"web",sdkName:"magic-sdk",version:"29.0.5",defaultEndpoint:"https://auth.magic.link/",ViewController:Et,configureStorage:async()=>{let e=_t.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return await e.defineDriver(Kt),await e.setDriver([_t.default.INDEXEDDB,_t.default.LOCALSTORAGE,Kt._driver]),e}}),{...Ht}),Co=Lo;return Si(Po);})();
5
+ Received: \`${e.received}\``)}function rn(){return new Ue(_e.DuplicateIframe,"Duplicate iframes found.")}function Da(){return new Ue(_e.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 $a(){return new Ue(_e.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 \`${Y.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function Ua(e){let{method:t,removalVersions:r,useInstead:i}=e,a=r[Y.sdkName],s=i?` Use \`${i}\` instead.`:"",p=`\`${t}\` will be removed from \`${Y.sdkName}\` in version \`${a}\`.${s}`;return new Ue(_e.DeprecationNotice,p)}function*xa(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Fa=xa();function nn(){return Fa.next().value}var an=Symbol("Payload pre-processed by Magic SDK");function on(e){return Object.defineProperty(e,an,{value:!0,enumerable:!1}),e}function ka(e){return!!e[an]}function mt(e){return ka(e)||(e.jsonrpc=e.jsonrpc??"2.0",e.id=nn(),e.method=e.method??"noop",e.params=e.params??[],on(e)),e}function G(e,t=[]){return on({params:t,method:e,jsonrpc:"2.0",id:nn()})}var sn=class cn{_jsonrpc;_id;_result;_error;constructor(t){t instanceof cn?(this._jsonrpc=t.payload.jsonrpc,this._id=t.payload.id,this._result=t.payload.result,this._error=t.payload.error):Aa(t)?(this._jsonrpc=t.jsonrpc,this._id=t.id,this._result=t.result,this._error=t.error):(this._jsonrpc=t.jsonrpc,this._id=t.id,this._result=void 0,this._error=void 0)}applyError(t){return this._error=t,this}applyResult(t){return this._result=t,this}get hasError(){return 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}}},Wa=Di($i()),Ba=class extends Wa.default{};function ln(){let e=new Ba;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var un=Symbol("isPromiEvent");function kt(e){return!!e[un]}function ge(e){let t=dn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=ln(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),p=Symbol("Promise.finally"),h=(y,O)=>(...E)=>{let N=O[y].apply(O,E);return I(N)},I=y=>Object.assign(y,{[un]:!0,[a]:y[a]||y.then,[s]:y[s]||y.catch,[p]:y[p]||y.finally,then:h(a,y),catch:h(s,y),finally:h(p,y),on:i("on",y),once:i("once",y),addListener:i("addListener",y),off:i("off",y),removeListener:i("removeListener",y),removeAllListeners:i("removeAllListeners",y),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),v=I(t.then(y=>(v.emit("done",y),v.emit("settled"),y),y=>{throw v.emit("error",y),v.emit("settled"),y}));return v.on(it.ClosedByUser,()=>{v.emit(nt.ClosedByUser)}),v}function dn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Te=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!Mt.includes(e.method))return ge((a,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(a).catch(s)});let t=this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,mt(e)),r=ge((a,s)=>{t.then(p=>{if(i(),p.hasError)s(new Je(p.payload.error));else if(p.hasResult)a(p.payload.result);else throw Ma()}).catch(p=>{i(),s(p)})}),i=this.overlay.on(de.MAGIC_HANDLE_EVENT,a=>{let{response:s}=a.data;if(s.id===e.id&&s.result?.event){let{event:p,params:h=[]}=s.result;r.emit(p,...h)}});return r}createIntermediaryEvent(e,t){return r=>{let i=G(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function Ga(e,t){let[r]=e.split(".").map(Number);return r>=t}var fn={};Ci(fn,{clear:()=>Va,getItem:()=>fe,iterate:()=>hn,key:()=>Ha,keys:()=>qa,length:()=>ja,removeItem:()=>Be,setItem:()=>Ae});var ct;function Me(e){return async(...t)=>(ct||(ct=await Y.configureStorage()),await ct.ready(),ct[e](...t))}var fe=Me("getItem"),Ae=Me("setItem"),Be=Me("removeItem"),Va=Me("clear"),ja=Me("length"),Ha=Me("key"),qa=Me("keys"),hn=Me("iterate");function Qe(e,t){return t?new URL(e,t):new URL(e)}function Ka(){let e=window.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&191|128;let t="";return t+=e[0].toString(16),t+=e[1].toString(16),t+=e[2].toString(16),t+=e[3].toString(16),t+="-",t+=e[4].toString(16),t+=e[5].toString(16),t+="-",t+=e[6].toString(16),t+=e[7].toString(16),t+="-",t+=e[8].toString(16),t+=e[9].toString(16),t+="-",t+=e[10].toString(16),t+=e[11].toString(16),t+=e[12].toString(16),t+=e[13].toString(16),t+=e[14].toString(16),t+=e[15].toString(16),t}var Wt="STORE_KEY_PRIVATE_KEY",pt="STORE_KEY_PUBLIC_JWK",mn="ECDSA",Ya="P-256",Xa={name:mn,namedCurve:Ya};function yt(){let e=typeof window<"u"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function za(){console.log("Clearing keys"),Be(pt),Be(Wt)}async function Ja(){let e=await Qa();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=await fe(Wt);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let i={iat:Math.floor(new Date().getTime()/1e3),jti:Ka()},a={protected:Hr(JSON.stringify({typ:"dpop+jwt",alg:"ES256",jwk:e})),claims:Hr(JSON.stringify(i))},s=eo(`${a.protected}.${a.claims}`),p={name:mn,hash:{name:"SHA-256"}},h=ro(new Uint8Array(await t.sign(p,r,s)));return`${a.protected}.${a.claims}.${h}`}async function Qa(){if(!yt()){console.info("webcrypto is not supported");return}return await fe(pt)||await Za(),fe(pt)}async function Za(){let{subtle:e}=window.crypto,t=await e.generateKey(Xa,!1,["sign"]),r=await e.exportKey("jwk",t.publicKey);await Ae(Wt,t.privateKey),await Ae(pt,r)}function Hr(e){return pn(to(e))}function eo(e){return new TextEncoder().encode(e)}function pn(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function to(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function ro(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),pn(t)}var no={"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"},io=class extends Te{loginWithMagicLink(e){let t=Y.sdkName==="@magic-sdk/react-native"||Y.sdkName==="@magic-sdk/react-native-bare"||Y.sdkName==="@magic-sdk/react-native-expo";if(t&&Ga(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Ua({method:"auth.loginWithMagicLink()",removalVersions:no,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:p}=e,h=G(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:i,redirectURI:a,overrides:s,lifespan:p}]);return this.request(h)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:i}=e,a=G(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:i}]),s=this.request(a);return!r&&s&&(s.on(Pe.VerifySmsOtp,p=>{this.createIntermediaryEvent(Pe.VerifySmsOtp,a.id)(p)}),s.on(Pe.Cancel,()=>{this.createIntermediaryEvent(Pe.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}=e,p=G(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),h=this.request(p);return!i&&h&&h.on(Ke.Retry,()=>{this.createIntermediaryEvent(Ke.Retry,p.id)()}),!r&&h&&(h.on(le.VerifyEmailOtp,I=>{this.createIntermediaryEvent(le.VerifyEmailOtp,p.id)(I)}),h.on(le.VerifyMFACode,I=>{this.createIntermediaryEvent(le.VerifyMFACode,p.id)(I)}),h.on(le.LostDevice,()=>{this.createIntermediaryEvent(le.LostDevice,p.id)()}),h.on(le.VerifyRecoveryCode,I=>{this.createIntermediaryEvent(le.VerifyRecoveryCode,p.id)(I)}),h.on(le.Cancel,()=>{this.createIntermediaryEvent(le.Cancel,p.id)()})),h&&h.on("error",I=>{console.log({error:I}),I?.code===-32603&&I?.message==="DPOP signature validation error"&&za()}),h}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},i=t??"";if(!t&&Y.platform==="web"){i=window.location.search;let s=window.location.origin+window.location.pathname;window.history.replaceState(null,"",s)}let a=G(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[i,r]);return this.request(a)}setAuthorizationToken(e){let t=G(M.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,i=G(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:t,showUI:r}]),a=this.request(i);return r||(a.on(ce.Retry,()=>{this.createIntermediaryEvent(ce.Retry,i.id)()}),a.on(ce.Cancel,()=>{this.createIntermediaryEvent(ce.Cancel,i.id)()}),a.on(ce.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ce.VerifyEmailOtp,i.id)(s)}),a.on(ce.VerifyMFACode,s=>{this.createIntermediaryEvent(ce.VerifyMFACode,i.id)(s)}),a.on(te.RetryWithNewEmail,s=>{this.createIntermediaryEvent(te.RetryWithNewEmail,i.id)(s)}),a.on(te.Cancel,()=>{this.createIntermediaryEvent(te.Cancel,i.id)()}),a.on(te.VerifyEmailOtp,s=>{this.createIntermediaryEvent(te.VerifyEmailOtp,i.id)(s)})),a}},Bt="ds",Gt="ek",Vt="iv",jt="AES-GCM",ao=256;async function vn(){let e=[];await hn((t,r,i)=>{r.startsWith(`${Bt}_`)&&e.push(r)});for(let t of e)await Be(t)}function yn(e){let t="",r=new Uint8Array(e),i=r.byteLength;for(let a=0;a<i;a++)t+=String.fromCharCode(r[a]);return window.btoa(t)}function gn(e){let t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let a=0;a<r;a++)i[a]=t.charCodeAt(a);return i.buffer}async function oo(){if(!yt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return await fe(Vt)||e.getRandomValues(new Uint8Array(12))}async function so(){if(!yt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return await fe(Gt)||await e.generateKey({name:jt,length:ao},!1,["encrypt","decrypt"])}async function co(e,t){let r=await oo(),i=await so();if(!r||!i||!e)return;let a=gn(e),{subtle:s}=window.crypto,p=await s.encrypt({name:jt,iv:r},i,a),h=yn(p);await Ae(`${Bt}_${t}`,h),await Ae(Gt,i),await Ae(Vt,r)}async function lo(e){let t=await fe(`${Bt}_${e}`),r=await fe(Vt),i=await fe(Gt);if(!r||!t||!i||!yt())return;let{subtle:a}=window.crypto,s=await a.decrypt({name:jt,iv:r},i,gn(t));return yn(s)}var uo=class extends Te{getIdToken(e){let t=G(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=G(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=G(M.GetInfo,[]);return this.request(e)}isLoggedIn(){return ge(async(e,t)=>{try{let r=!1;this.sdk.useStorageCache&&(r=await fe(this.localForageIsLoggedInKey)==="true",r&&e(!0));let i=G(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=await this.request(i);this.sdk.useStorageCache&&(a?Ae(this.localForageIsLoggedInKey,!0):Be(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}})}logout(){return Be(this.localForageIsLoggedInKey),vn(),ge(async(e,t)=>{try{let r=G(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=await this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),e(i)}catch(r){t(r)}})}requestInfoWithUI(e){let t=G(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=G(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[e]),i=this.request(r);return!t&&i&&(i.on(me.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(me.SendNewPhoneNumber,r.id)(a)}),i.on(me.SendOtpCode,a=>{this.createIntermediaryEvent(me.SendOtpCode,r.id)(a)}),i.on(me.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(me.StartEditPhoneNumber,r.id)()}),i.on(me.Cancel,()=>{this.createIntermediaryEvent(me.Cancel,r.id)()}),i.on(ce.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ce.VerifyEmailOtp,r.id)(a)})),i}recoverAccount(e){let{email:t,showUI:r}=e,i=G(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[{email:t,showUI:r}]),a=this.request(i);return!r&&a&&(a.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,i.id)()}),a.on(pe.ResendSms,()=>{this.createIntermediaryEvent(pe.ResendSms,i.id)()}),a.on(pe.VerifyOtp,s=>{this.createIntermediaryEvent(pe.VerifyOtp,i.id)(s)}),a.on(pe.UpdateEmail,s=>{this.createIntermediaryEvent(pe.UpdateEmail,i.id)(s)}),a.on(te.Cancel,()=>{this.createIntermediaryEvent(te.Cancel,i.id)()}),a.on(te.RetryWithNewEmail,s=>{this.createIntermediaryEvent(te.RetryWithNewEmail,i.id)(s)}),a.on(te.VerifyEmailOtp,s=>{this.createIntermediaryEvent(te.VerifyEmailOtp,i.id)(s)})),a}revealPrivateKey(){let e=G(M.RevealPK);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=G(M.EnableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on(De.VerifyMFACode,a=>{this.createIntermediaryEvent(De.VerifyMFACode,r.id)(a)}),i.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,r.id)()})),i}disableMFA(e){let{showUI:t=!0}=e,r=G(M.DisableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on(we.VerifyMFACode,a=>{this.createIntermediaryEvent(we.VerifyMFACode,r.id)(a)}),i.on(we.LostDevice,a=>{this.createIntermediaryEvent(we.LostDevice,r.id)(a)}),i.on(we.Cancel,()=>{this.createIntermediaryEvent(we.Cancel,r.id)()})),i}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}localForageIsLoggedInKey="magic_auth_is_logged_in";userLoggedOutCallbacks=[]},fo=class extends Te{connectWithUI(e){let t=ge(async(r,i)=>{try{let a=G(M.Login,[{enabledWallets:this.sdk.thirdPartyWallets.enabledWallets,...e}]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:h,callback:I})=>{s.on(h,()=>I(a.id))}),s.on("id-token-created",h=>{t.emit("id-token-created",h)});let p=await s;p.error&&i(p),r(p)}catch(a){i(a)}});return t}showUI(e){return this.request(G(M.ShowUI,[e]))}showAddress(){return this.request(G(M.ShowAddress))}showSendTokensUI(){return this.request(G(M.ShowSendTokensUI))}showOnRamp(){return this.request(G(M.ShowOnRamp))}showNFTs(){return this.request(G(M.ShowNFTs))}showBalances(){return this.request(G(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(G(M.SendGaslessTransaction,[e,t]))}},ho=class extends Te{eventListeners=[];enabledWallets={};isConnected=!1;resetThirdPartyWalletState(){localStorage.removeItem(ve.PROVIDER),localStorage.removeItem(ve.ADDRESS),localStorage.removeItem(ve.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===M.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===M.GetInfo)return this.getInfo(e);if(e.method===M.IsLoggedIn)return this.isLoggedIn(e);if(e.method===M.Logout)return this.logout(e);switch(localStorage.getItem(ve.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(ve.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(ve.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(ve.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return ge((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return ge(e=>{let t=this.sdk.web3modal.modal.getStatus();if(t==="connected"&&e(!0),t==="disconnected"&&(this.resetThirdPartyWalletState(),e(!1)),t==="reconnecting"){let r=this.sdk.web3modal.modal.subscribeProvider(({status:i})=>{i==="connected"&&(r(),e(!0)),i==="disconnected"&&(r(),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"}}web3modalGetInfo(){return ge((e,t)=>{let r=this.sdk.web3modal.modal.getStatus();if(r==="connected"&&e(this.formatWeb3modalGetInfoResponse()),r==="disconnected"&&(this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access.")),r==="reconnecting"){let i=this.sdk.web3modal.modal.subscribeProvider(({status:a})=>{a==="connected"&&(i(),e(this.formatWeb3modalGetInfoResponse())),a==="disconnected"&&(i(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return ge(async e=>{try{await this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)})}},{createBoundEmitterMethod:lt,createChainingEmitterMethod:We}=ln(),mo=class extends Te{isMagic=!0;sendAsync(e,t){if(!t)throw Pa({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,e.map(r=>{let i=mt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>({...i.payload,error:i.hasError?new Je(i.payload.error):null})))});else{let r=mt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,r).then(i=>{t(i.hasError?new Je(i.payload.error):null,i.payload)})}}send(e,t){if(typeof e=="string"){let i=G(e,Array.isArray(t)?t:[]);return this.request(i)}if(Array.isArray(e)||t){this.sendAsync(e,t);return}let r=Da();return r.log(),new sn(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=G(M.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=We("on",this);once=We("once",this);addListener=We("addListener",this);off=We("off",this);removeListener=We("removeListener",this);removeAllListeners=We("removeAllListeners",this);emit=lt("emit");eventNames=lt("eventNames");listeners=lt("listeners");listenerCount=lt("listenerCount")},qr=["request","overlay","sdk"];function po(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Te.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var vo=class extends Te{compat;__sdk_access_field_descriptors__=new Map;__is_initialized__=!1;utils={createPromiEvent:ge,isPromiEvent:kt,encodeJSON:zr,decodeJSON:ba,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:mt,storage:fn};constructor(){super(void 0);let e=[this,...po(this)];qr.forEach(t=>{let r=e.map(p=>Object.getOwnPropertyDescriptor(p,t)),i=r.findIndex(p=>!!p),a=i>0,s=r[i];s&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:s,isPrototypeField:a}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw La(t)}}))})}init(e){this.__is_initialized__||(qr.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:i}=this.__sdk_access_field_descriptors__.get(t);i?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:i}=e,a=i?` Use \`${i}\` instead.`:"",s=`\`${t}\` will be removed from this Extension in version \`${r}\`.${a}`;return new ht(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new ht(this,e,t)}createError(e,t,r){return new xt(this,e,t,r)}},yo=class extends vo{},vt=class{static Internal=yo},go=class extends Te{purchase(e){let t=G(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(M.NFTCheckout,[{...e,walletProvider:t?"web3modal":"magic"}]),i=this.request(r);return t&&(i.on($e.Initiated,async a=>{try{let s=await this.request({method:"eth_sendTransaction",params:[a]});this.createIntermediaryEvent($e.Success,r.id)(s)}catch{this.createIntermediaryEvent($e.Failure,r.id)()}}),i.on($e.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),i.emit("disconnect")})),i}transfer(e){let t=G(M.NFTTransfer,[e]);return this.request(t)}};function Kr(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?pa(Ea(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function Eo(e,t,r){return!t&&!r?`${e}_eth_mainnet`:r?`${e}_${JSON.stringify(r)}`:t?typeof t=="string"?`${e}_eth_${t}`:`${e}_${t.rpcUrl}_${t.chainId}_${t.chainType}`:`${e}_unknown`}function _o(e){let t=e?.extensions??[],r={},i=[];if(Array.isArray(t)?t.forEach(a=>{Kr(a)?(a.init(this),a.name&&(this[a.name]=a),a instanceof vt.Internal&&(ft(a.config)||(r[a.name]=a.config))):i.push(a)}):Object.keys(t).forEach(a=>{if(Kr(t[a])){t[a].init(this);let s=t[a];this[a]=s,s instanceof vt.Internal&&(ft(s.config)||(r[t[a].name]=s.config))}else i.push(t[a])}),i.length)throw Ca(i);return r}var En=class dt{constructor(t,r){if(this.apiKey=t,!t)throw Ta();Y.platform==="react-native"&&r?.endpoint&&$a().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!r?.testMode,this.useStorageCache=!!r?.useStorageCache,this.endpoint=Qe(r?.endpoint??i).origin,this.auth=new io(this),this.user=new uo(this),this.wallet=new fo(this),this.nft=new go(this),this.thirdPartyWallets=new ho(this),this.rpcProvider=new mo(this);let s=_o.call(this,r);this.parameters=zr({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:r?.network,host:Qe(this.endpoint).host,sdk:Na[Y.sdkName],version:a,ext:ft(s)?void 0:s,locale:r?.locale||"en_US",...Y.bundleId?{bundleId:Y.bundleId}:{},meta:r?.meta}),this.networkHash=Eo(this.apiKey,r?.network,ft(s)?void 0:s),r?.deferPreload||this.preload()}static __overlays__=new Map;endpoint;parameters;networkHash;testMode;useStorageCache;auth;user;wallet;nft;thirdPartyWallets;rpcProvider;get overlay(){if(!dt.__overlays__.has(this.parameters)){let t=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);t.init(),dt.__overlays__.set(this.parameters,t)}return dt.__overlays__.get(this.parameters)}async preload(){await this.overlay.waitForReady()}};function Io(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function wo(e,t){let r=t.data.response?.id,i=Io(e,r);if(r&&i){let a=new sn(i).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:r,response:a}}return{}}async function Ro(e,t,r){let i=await fe("rt"),a;if(Y.platform==="web")try{a=await fe("jwt")??await Ja()}catch(h){console.error("webcrypto error",h)}let s={msgType:e,payload:t};a&&(s.jwt=a),a&&i&&(s.rt=i);let p=await lo(r);return p&&(s.deviceShare=p),s}async function bo(e){e.data.rt&&await Ae("rt",e.data.rt)}function So(e,t){let r=null;return function(...i){r&&clearTimeout(r),r=setTimeout(()=>{e(...i)},t)}}var Ao=1e3,_n=60*Ao,Yr=5*_n,Oo=60*_n,In=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.listen()}isReadyForRequest=!1;messageHandlers=new Set;isConnectedToInternet=!0;lastPongTime=null;heartbeatIntervalTimer=null;heartbeatDebounce=So(()=>{this.endpoint==="https://auth.magic.link/"&&this.heartBeatCheck()},Oo);async post(e,t){return dn(async(r,i)=>{if(!this.isConnectedToInternet){let v=Ft();i(v)}await this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,await this.reloadRelayer()),this.isReadyForRequest||await this.waitForReady();let a=[],s=Array.isArray(t)?t.map(v=>v.id):[],p=await Ro(`${e}-${this.parameters}`,t,this.networkHash);await this._post(p);let h=v=>y=>{let{id:O,response:E}=wo(t,y);if(bo(y),E?.payload.error?.message==="User denied account access.")vn();else if(y.data.deviceShare){let{deviceShare:N}=y.data;co(N,this.networkHash)}O&&E&&Array.isArray(t)&&s.includes(O)?(a.push(E),a.length===t.length&&(v(),r(a))):O&&E&&!Array.isArray(t)&&O===t.id&&(v(),r(E))},I=this.on(de.MAGIC_HANDLE_RESPONSE,h(()=>I()))})}on(e,t){let r=t.bind(window),i=a=>{a.data.msgType===`${e}-${this.parameters}`&&r(a)};return this.messageHandlers.add(i),()=>this.messageHandlers.delete(i)}waitForReady(){return new Promise(e=>{let t=this.on(de.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(de.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(de.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(de.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new Ue(_e.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=async()=>{let r={msgType:`${Ie.MAGIC_PING}-${this.parameters}`,payload:[]};await this._post(r)};this.heartbeatIntervalTimer=setInterval(async()=>{if(this.lastPongTime){if(Date.now()-this.lastPongTime>Yr*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}await t(),e=!1},Yr)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}};var Ht={};mr(Ht,{AuthEventOnReceived:()=>Ar,DeepLinkPage:()=>gr,DeviceVerificationEventEmit:()=>Ke,DeviceVerificationEventOnReceived:()=>Rr,DisableMFAEventEmit:()=>we,DisableMFAEventOnReceived:()=>Tr,EnableMFAEventEmit:()=>De,EnableMFAEventOnReceived:()=>Nr,EthChainType:()=>Mr,Extension:()=>vt,ExtensionError:()=>xt,ExtensionWarning:()=>ht,FarcasterLoginEventEmit:()=>Or,LocalStorageKeys:()=>ve,LoginWithEmailOTPEventEmit:()=>le,LoginWithEmailOTPEventOnReceived:()=>wr,LoginWithMagicLinkEventEmit:()=>Er,LoginWithMagicLinkEventOnReceived:()=>_r,LoginWithSmsOTPEventEmit:()=>Pe,LoginWithSmsOTPEventOnReceived:()=>Ir,MagicIncomingWindowMessage:()=>de,MagicOutgoingWindowMessage:()=>Ie,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>$e,RPCError:()=>Je,RPCErrorCode:()=>ke,RecencyCheckEventEmit:()=>ce,RecencyCheckEventOnReceived:()=>br,RecoverAccountEventEmit:()=>pe,RecoverAccountEventOnReceived:()=>Pr,RecoveryFactorEventEmit:()=>me,RecoveryFactorEventOnReceived:()=>Lr,RecoveryMethodType:()=>Cr,SDKError:()=>Ne,SDKErrorCode:()=>Ee,SDKWarning:()=>Ue,SDKWarningCode:()=>_e,ThirdPartyWalletEvents:()=>yr,UiEventsEmit:()=>$r,UpdateEmailEventEmit:()=>te,UpdateEmailEventOnReceived:()=>Sr,UserEventsEmit:()=>nt,UserEventsOnReceived:()=>it,WalletEventOnReceived:()=>Dr,isPromiEvent:()=>kt,routeToMagicMethods:()=>Mt});var _t=vr(Rn()),Kt=vr(Sn());var No={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function To(e){for(let[t,r]of Object.entries(No))e.style[t]=r}function Mo(e){return!![].slice.call(document.querySelectorAll(".magic-iframe")).find(r=>r.src.includes(e))}var Et=class extends In{activeElement=null;iframe;relayerSrc=Qe(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href;init(){this.test="hello",this.iframe=new Promise(t=>{let r=()=>{if(Mo(encodeURIComponent(this.parameters)))rn().log();else{let i=document.createElement("iframe");i.classList.add("magic-iframe"),i.dataset.magicIframeLabel=Qe(this.endpoint).host,i.title="Secure Modal",i.src=this.relayerSrc,i.allow="clipboard-read; clipboard-write",To(i),document.body.appendChild(i),t(i)}};["loaded","interactive","complete"].includes(document.readyState)?r():window.addEventListener("load",r,!1)}),this.iframe.then(t=>{t instanceof HTMLIFrameElement&&t.addEventListener("load",async()=>{this.heartbeatDebounce()})}),window.addEventListener("message",t=>{if(t.origin===this.endpoint&&t.data.msgType&&(t.data.msgType.includes(de.MAGIC_PONG)&&(this.lastPongTime=Date.now()),t.data&&this.messageHandlers.size)){t.data.response=t.data.response??{},this.stopHeartBeat();for(let r of this.messageHandlers.values())r(t)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}async showOverlay(){let t=await this.iframe;t.style.visibility="visible",t.style.zIndex="2147483647",t.style.opacity="1",this.activeElement=document.activeElement,t.focus()}async hideOverlay(){let t=await this.iframe;t.style.visibility="hidden",t.style.zIndex="-1",t.style.opacity="0",this.activeElement?.focus&&this.activeElement.focus(),this.activeElement=null}async _post(t){let r=await this.iframe;if(r&&r.contentWindow)r.contentWindow.postMessage(t,this.endpoint);else throw Ft()}async checkRelayerExistsInDOM(){let t=await this.iframe;return!t||!t.contentWindow?!1:!![].slice.call(document.querySelectorAll(".magic-iframe")).find(i=>i.src.includes(encodeURIComponent(this.parameters)))}async reloadRelayer(){let t=await this.iframe;if(this.stopHeartBeat(),!t){this.init(),console.warn("Magic SDK: Modal lost, re-initiating");return}if(!t.contentWindow){document.body.appendChild(t),console.warn("Magic SDK: Modal did not append in the iframe, re-initiating");return}t&&(t.src=this.relayerSrc)}};var Lo=Object.assign(Qr(En,{platform:"web",sdkName:"magic-sdk",version:"29.0.5",defaultEndpoint:"https://auth.magic.link/",ViewController:Et,configureStorage:async()=>{let e=_t.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return await e.defineDriver(Kt),await e.setDriver([_t.default.INDEXEDDB,_t.default.LOCALSTORAGE,Kt._driver]),e}}),{...Ht}),Co=Lo;return Si(Po);})();
6
6
  if (Magic && Magic.default != null) { Magic = Object.assign(Magic.default, Magic); delete Magic.default; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "magic-sdk",
3
- "version": "29.1.0-canary.886.14715967630.0",
3
+ "version": "29.1.0-canary.886.14716522031.0",
4
4
  "description": "Passwordless authentication for the web.",
5
5
  "author": "Magic Labs <team@magic.link> (https://magic.link/)",
6
6
  "license": "MIT",
@@ -29,10 +29,10 @@
29
29
  ]
30
30
  },
31
31
  "dependencies": {
32
- "@magic-sdk/commons": "25.1.0-canary.886.14715967630.0",
33
- "@magic-sdk/provider": "29.1.0-canary.886.14715967630.0",
32
+ "@magic-sdk/commons": "25.1.0-canary.886.14716522031.0",
33
+ "@magic-sdk/provider": "29.1.0-canary.886.14716522031.0",
34
34
  "@magic-sdk/types": "^24.18.1",
35
35
  "localforage": "^1.7.4"
36
36
  },
37
- "gitHead": "a21f45bffe328aec35542693203396c039c492a4"
37
+ "gitHead": "5b47ce1b2e23f7958c5a391e1d81796ac1651500"
38
38
  }