magic-sdk 29.0.3-canary.865.14093472581.0 → 29.0.3-canary.865.14094288976.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 Re(_e.IncompatibleExtensions,t)}function Wo(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 Re(_e.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
4
4
  Expected: \`${e.expected}\`
5
- Received: \`${e.received}\``)}function ln(){return new xe(Ie.DuplicateIframe,"Duplicate iframes found.")}function Bo(){return new xe(Ie.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 Go(){return new xe(Ie.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 Vo(e){let{method:t,removalVersions:r,useInstead:i}=e,a=r[Y.sdkName],s=i?` Use \`${i}\` instead.`:"",m=`\`${t}\` will be removed from \`${Y.sdkName}\` in version \`${a}\`.${s}`;return new xe(Ie.DeprecationNotice,m)}function*jo(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Ho=jo();function un(){return Ho.next().value}var dn=Symbol("Payload pre-processed by Magic SDK");function fn(e){return Object.defineProperty(e,dn,{value:!0,enumerable:!1}),e}function qo(e){return!!e[dn]}function pt(e){var t,r,i;return qo(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=un(),e.method=(r=e.method)!=null?r:"noop",e.params=(i=e.params)!=null?i:[],fn(e)),e}function G(e,t=[]){return fn({params:t,method:e,jsonrpc:"2.0",id:un()})}var Wt=class{constructor(e){e instanceof Wt?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Po(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 typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},Ko=Wi(Bi()),Yo=class extends Ko.default{};function hn(){let e=new Yo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var mn=Symbol("isPromiEvent");function Bt(e){return!!e[mn]}function Ee(e){let t=vn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=hn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),f=(g,N)=>(..._)=>{let O=N[g].apply(N,_);return p(O)},p=g=>Object.assign(g,{[mn]:!0,[a]:g[a]||g.then,[s]:g[s]||g.catch,[m]:g[m]||g.finally,then:f(a,g),catch:f(s,g),finally:f(m,g),on:i("on",g),once:i("once",g),addListener:i("addListener",g),off:i("off",g),removeListener:i("removeListener",g),removeAllListeners:i("removeAllListeners",g),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),y=p(t.then(g=>(y.emit("done",g),y.emit("settled"),g),g=>{throw y.emit("error",g),y.emit("settled"),g}));return y.on(st.ClosedByUser,()=>{y.emit(at.ClosedByUser)}),y}function vn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Me=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!Dt.includes(e.method))return Ee((a,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(a).catch(s)});let t=this.overlay.post(we.MAGIC_HANDLE_REQUEST,pt(e)),r=Ee((a,s)=>{t.then(m=>{if(i(),m.hasError)s(new Ve(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw xo()}).catch(m=>{i(),s(m)})}),i=this.overlay.on(he.MAGIC_HANDLE_EVENT,a=>{var s;let{response:m}=a.data;if(m.id===e.id&&((s=m.result)==null?void 0:s.event)){let{event:f,params:p=[]}=m.result;r.emit(f,...p)}});return r}createIntermediaryEvent(e,t){return r=>{let i=G(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function Xo(e,t){let[r]=e.split(".").map(Number);return r>=t}var zo={"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"},Jo=class extends Me{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&&Xo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Vo({method:"auth.loginWithMagicLink()",removalVersions:zo,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:m}=e,f=G(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:i,redirectURI:a,overrides:s,lifespan:m}]);return this.request(f)}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(De.VerifySmsOtp,m=>{this.createIntermediaryEvent(De.VerifySmsOtp,a.id)(m)}),s.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}=e,m=G(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),f=this.request(m);return!i&&f&&f.on(ze.Retry,()=>{this.createIntermediaryEvent(ze.Retry,m.id)()}),!r&&f&&(f.on(de.VerifyEmailOtp,p=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(p)}),f.on(de.VerifyMFACode,p=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(p)}),f.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),f.on(de.VerifyRecoveryCode,p=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(p)}),f.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,m.id)()})),f}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},i=t!=null?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(ue.Retry,()=>{this.createIntermediaryEvent(ue.Retry,i.id)()}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,i.id)()}),a.on(ue.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,i.id)(s)}),a.on(ue.VerifyMFACode,s=>{this.createIntermediaryEvent(ue.VerifyMFACode,i.id)(s)}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.VerifyEmailOtp,i.id)(s)})),a}},pn={};Fi(pn,{clear:()=>Qo,getItem:()=>me,iterate:()=>yn,key:()=>ea,keys:()=>ta,length:()=>Zo,removeItem:()=>yt,setItem:()=>Te});var dt;function Le(e){return(...t)=>z(this,null,function*(){return dt||(dt=yield Y.configureStorage()),yield dt.ready(),dt[e](...t)})}var me=Le("getItem"),Te=Le("setItem"),yt=Le("removeItem"),Qo=Le("clear"),Zo=Le("length"),ea=Le("key"),ta=Le("keys"),yn=Le("iterate");function ra(){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 gn="STORE_KEY_PRIVATE_KEY",Ut="STORE_KEY_PUBLIC_JWK",En="ECDSA",na="P-256",ia={name:En,namedCurve:na};function It(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function oa(){return z(this,null,function*(){let e=yield aa();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield me(gn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let i={iat:Math.floor(new Date().getTime()/1e3),jti:ra()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:Zr(JSON.stringify(a)),claims:Zr(JSON.stringify(i))},m=ca(`${s.protected}.${s.claims}`),f={name:En,hash:{name:"SHA-256"}},p=ua(new Uint8Array(yield t.sign(f,r,m)));return`${s.protected}.${s.claims}.${p}`})}function aa(){return z(this,null,function*(){if(!It()){console.info("webcrypto is not supported");return}return(yield me(Ut))||(yield sa()),me(Ut)})}function sa(){return z(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(ia,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield Te(gn,t.privateKey),yield Te(Ut,r)})}function Zr(e){return _n(la(e))}function ca(e){return new TextEncoder().encode(e)}function _n(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function la(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function ua(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),_n(t)}var Gt="ds",Vt="ek",jt="iv",Ht="AES-GCM",da=256;function In(){return z(this,null,function*(){let e=[];yield yn((t,r,i)=>{r.startsWith(`${Gt}_`)&&e.push(r)});for(let t of e)yield yt(t)})}function wn(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 bn(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}function fa(){return z(this,null,function*(){if(!It()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield me(jt))||e.getRandomValues(new Uint8Array(12))})}function ha(){return z(this,null,function*(){if(!It()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield me(Vt))||(yield e.generateKey({name:Ht,length:da},!1,["encrypt","decrypt"]))})}function ma(e,t){return z(this,null,function*(){let r=yield fa(),i=yield ha();if(!r||!i||!e)return;let a=bn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Ht,iv:r},i,a),f=wn(m);yield Te(`${Gt}_${t}`,f),yield Te(Vt,i),yield Te(jt,r)})}function va(e){return z(this,null,function*(){let t=yield me(`${Gt}_${e}`),r=yield me(jt),i=yield me(Vt);if(!r||!t||!i||!It())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Ht,iv:r},i,bn(t));return wn(s)})}function tt(e,t){return t?new URL(e,t):new URL(e)}var pa=class extends Me{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}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 Ee((e,t)=>z(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield me(this.localForageIsLoggedInKey))==="true",r&&e(!0));let i=G(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=yield this.request(i);this.sdk.useStorageCache&&(a?Te(this.localForageIsLoggedInKey,!0):yt(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return yt(this.localForageIsLoggedInKey),In(),Ee((e,t)=>z(this,null,function*(){try{let r=G(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=yield 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(pe.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(pe.SendNewPhoneNumber,r.id)(a)}),i.on(pe.SendOtpCode,a=>{this.createIntermediaryEvent(pe.SendOtpCode,r.id)(a)}),i.on(pe.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(pe.StartEditPhoneNumber,r.id)()}),i.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,r.id)()}),i.on(ue.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ue.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(ye.Cancel,()=>{this.createIntermediaryEvent(ye.Cancel,i.id)()}),a.on(ye.ResendSms,()=>{this.createIntermediaryEvent(ye.ResendSms,i.id)()}),a.on(ye.VerifyOtp,s=>{this.createIntermediaryEvent(ye.VerifyOtp,i.id)(s)}),a.on(ye.UpdateEmail,s=>{this.createIntermediaryEvent(ye.UpdateEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.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($e.VerifyMFACode,a=>{this.createIntermediaryEvent($e.VerifyMFACode,r.id)(a)}),i.on($e.Cancel,()=>{this.createIntermediaryEvent($e.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(be.VerifyMFACode,a=>{this.createIntermediaryEvent(be.VerifyMFACode,r.id)(a)}),i.on(be.LostDevice,a=>{this.createIntermediaryEvent(be.LostDevice,r.id)(a)}),i.on(be.Cancel,()=>{this.createIntermediaryEvent(be.Cancel,r.id)()})),i}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},ya=class extends Me{connectWithUI(e){let t=Ee((r,i)=>z(this,null,function*(){try{let a=G(M.Login,[Et({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:f,callback:p})=>{s.on(f,()=>p(a.id))}),s.on("id-token-created",f=>{t.emit("id-token-created",f)});let m=yield s;m.error&&i(m),r(m)}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]))}},ga=class extends Me{constructor(){super(...arguments),this.eventListeners=[],this.enabledWallets={},this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(ge.PROVIDER),localStorage.removeItem(ge.ADDRESS),localStorage.removeItem(ge.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(ge.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(ge.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(ge.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(ge.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return Ee((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return Ee(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(){var e;let t=(e=this.sdk.web3modal.modal.getWalletInfo())==null?void 0:e.name,r=this.sdk.web3modal.modal.getAddress();return{publicAddress:r,email:null,issuer:`did:ethr:${r}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:t||"web3modal"}}web3modalGetInfo(){return Ee((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 Ee(e=>z(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)}))}},{createBoundEmitterMethod:ft,createChainingEmitterMethod:Be}=hn(),Ea=class extends Me{constructor(){super(...arguments),this.isMagic=!0,this.on=Be("on",this),this.once=Be("once",this),this.addListener=Be("addListener",this),this.off=Be("off",this),this.removeListener=Be("removeListener",this),this.removeAllListeners=Be("removeAllListeners",this),this.emit=ft("emit"),this.eventNames=ft("eventNames"),this.listeners=ft("listeners"),this.listenerCount=ft("listenerCount")}sendAsync(e,t){if(!t)throw Wo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(we.MAGIC_HANDLE_REQUEST,e.map(r=>{let i=pt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>xt(Et({},i.payload),{error:i.hasError?new Ve(i.payload.error):null})))});else{let r=pt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(we.MAGIC_HANDLE_REQUEST,r).then(i=>{t(i.hasError?new Ve(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=Bo();return r.log(),new Wt(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}`)}},en=["request","overlay","sdk"];function _a(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Me.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var Ia=class extends Me{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Ee,isPromiEvent:Bt,encodeJSON:an,decodeJSON:Lo,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:pt,storage:pn};let e=[this,..._a(this)];en.forEach(t=>{let r=e.map(m=>Object.getOwnPropertyDescriptor(m,t)),i=r.findIndex(m=>!!m),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 Fo(t)}}))})}init(e){this.__is_initialized__||(en.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 vt(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new vt(this,e,t)}createError(e,t,r){return new _t(this,e,t,r)}},wa=class extends Ia{},rt=class{};rt.Internal=wa;var ba=class extends Me{purchase(e){let t=G(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(M.NFTCheckout,[xt(Et({},e),{walletProvider:t?"web3modal":"magic"})]),i=this.request(r);return t&&(i.on(Ue.Initiated,a=>z(this,null,function*(){try{let s=yield this.request({method:"eth_sendTransaction",params:[a]});this.createIntermediaryEvent(Ue.Success,r.id)(s)}catch(s){this.createIntermediaryEvent(Ue.Failure,r.id)()}})),i.on(Ue.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),i.emit("disconnect")})),i}transfer(e){let t=G(M.NFTTransfer,[e]);return this.request(t)}};function tn(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?wo(Ao(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function Ra(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 Sa(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],i={},a=[];if(Array.isArray(r)?r.forEach(s=>{tn(s)?(s.init(this),s.name&&(this[s.name]=s),s instanceof rt.Internal&&(mt(s.config)||(i[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(tn(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof rt.Internal&&(mt(m.config)||(i[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw ko(a);return i}var ht=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw Uo();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Go().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=tt((r=t==null?void 0:t.endpoint)!=null?r:i).origin,this.auth=new Jo(this),this.user=new pa(this),this.wallet=new ya(this),this.nft=new ba(this),this.thirdPartyWallets=new ga(this),this.rpcProvider=new Ea(this);let s=Sa.call(this,t);this.parameters=an(xt(Et({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:tt(this.endpoint).host,sdk:$o[Y.sdkName],version:a,ext:mt(s)?void 0:s,locale:(t==null?void 0:t.locale)||"en_US"},Y.bundleId?{bundleId:Y.bundleId}:{}),{meta:t==null?void 0:t.meta})),this.networkHash=Ra(this.apiKey,t==null?void 0:t.network,mt(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!ht.__overlays__.has(this.parameters)){let e=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),ht.__overlays__.set(this.parameters,e)}return ht.__overlays__.get(this.parameters)}preload(){return z(this,null,function*(){yield this.overlay.waitForReady()})}},qt=ht;qt.__overlays__=new Map;function Aa(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function Oa(e,t){var r;let i=(r=t.data.response)==null?void 0:r.id,a=Aa(e,i);if(i&&a){let s=new Wt(a).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:i,response:s}}return{}}function Na(e,t,r){return z(this,null,function*(){var i;let a=yield me("rt"),s;if(Y.platform==="web")try{s=(i=yield me("jwt"))!=null?i:yield oa()}catch(p){console.error("webcrypto error",p)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let f=yield va(r);return f&&(m.deviceShare=f),m})}function Ta(e){return z(this,null,function*(){!e.data.rt||(yield Te("rt",e.data.rt))})}function Ma(e,t){let r=null;return function(...i){r&&clearTimeout(r),r=setTimeout(()=>{e(...i)},t)}}var La=1e3,Rn=60*La,rn=5*Rn,Ca=60*Rn,Sn=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.messageHandlers=new Set,this.isConnectedToInternet=!0,this.lastPongTime=null,this.heartbeatIntervalTimer=null,this.heartbeatDebounce=Ma(()=>this.heartBeatCheck(),Ca),this.isReadyForRequest=!1,this.listen()}getRelayerSrc(){return tt(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}post(e,t){return z(this,null,function*(){return vn((r,i)=>z(this,null,function*(){if(!this.isConnectedToInternet){let y=kt();i(y)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(y=>y.id):[],m=yield Na(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let f=y=>g=>{var N;let{id:_,response:O}=Oa(t,g);if(Ta(g),((N=O==null?void 0:O.payload.error)==null?void 0:N.message)==="User denied account access.")In();else if(g.data.deviceShare){let{deviceShare:L}=g.data;ma(L,this.networkHash)}_&&O&&Array.isArray(t)&&s.includes(_)?(a.push(O),a.length===t.length&&(y(),r(a))):_&&O&&!Array.isArray(t)&&_===t.id&&(y(),r(O))},p=this.on(he.MAGIC_HANDLE_RESPONSE,f(()=>p()))}))})}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 this.checkRelayerExistsInDOM()||this.init(),new Promise(e=>{let t=this.on(he.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(he.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(he.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(he.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new xe(Ie.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=()=>z(this,null,function*(){let r={msgType:`${we.MAGIC_PING}-${this.parameters}`,payload:[]};yield this._post(r)});this.heartbeatIntervalTimer=setInterval(()=>z(this,null,function*(){if(this.lastPongTime){if(Date.now()-this.lastPongTime>rn*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}yield t(),e=!1}),rn)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}};var Kt={};_r(Kt,{AuthEventOnReceived:()=>Cr,DeepLinkPage:()=>Rr,DeviceVerificationEventEmit:()=>ze,DeviceVerificationEventOnReceived:()=>Tr,DisableMFAEventEmit:()=>be,DisableMFAEventOnReceived:()=>$r,EnableMFAEventEmit:()=>$e,EnableMFAEventOnReceived:()=>Dr,EthChainType:()=>Ur,Extension:()=>rt,ExtensionError:()=>_t,ExtensionWarning:()=>vt,FarcasterLoginEventEmit:()=>Pr,LocalStorageKeys:()=>ge,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Nr,LoginWithMagicLinkEventEmit:()=>Sr,LoginWithMagicLinkEventOnReceived:()=>Ar,LoginWithSmsOTPEventEmit:()=>De,LoginWithSmsOTPEventOnReceived:()=>Or,MagicIncomingWindowMessage:()=>he,MagicOutgoingWindowMessage:()=>we,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>Ue,RPCError:()=>Ve,RPCErrorCode:()=>We,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Mr,RecoverAccountEventEmit:()=>ye,RecoverAccountEventOnReceived:()=>kr,RecoveryFactorEventEmit:()=>pe,RecoveryFactorEventOnReceived:()=>xr,RecoveryMethodType:()=>Fr,SDKError:()=>Re,SDKErrorCode:()=>_e,SDKWarning:()=>xe,SDKWarningCode:()=>Ie,ThirdPartyWalletEvents:()=>br,UiEventsEmit:()=>Br,UpdateEmailEventEmit:()=>ne,UpdateEmailEventOnReceived:()=>Lr,UserEventsEmit:()=>at,UserEventsOnReceived:()=>st,WalletEventOnReceived:()=>Wr,isPromiEvent:()=>Bt,routeToMagicMethods:()=>Dt});var Rt=wr(On()),Xt=wr(Tn());var Pa={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function Da(e){for(let[t,r]of Object.entries(Pa))e.style[t]=r}function $a(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var bt=class extends Sn{constructor(){super(...arguments);this.activeElement=null}init(){this.test="hello",this.iframe=new Promise(r=>{let i=()=>{if($a(encodeURIComponent(this.parameters)))ln().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=tt(this.endpoint).host,a.title="Secure Modal",a.src=this.getRelayerSrc(),a.allow="clipboard-read; clipboard-write",Da(a),document.body.appendChild(a),r(a)}};["loaded","interactive","complete"].includes(document.readyState)?i():window.addEventListener("load",i,!1)}),this.iframe.then(r=>{r instanceof HTMLIFrameElement&&r.addEventListener("load",()=>Ne(this,null,function*(){this.heartbeatDebounce()}))}),window.addEventListener("message",r=>{var i;if(r.origin===this.endpoint&&r.data.msgType&&(r.data.msgType.includes(he.MAGIC_PONG)&&(this.lastPongTime=Date.now()),r.data&&this.messageHandlers.size)){r.data.response=(i=r.data.response)!=null?i:{},this.stopHeartBeat();for(let a of this.messageHandlers.values())a(r)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}showOverlay(){return Ne(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",r.style.zIndex="2147483647",r.style.opacity="1",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return Ne(this,null,function*(){var i;let r=yield this.iframe;r.style.visibility="hidden",r.style.zIndex="-1",r.style.opacity="0",(i=this.activeElement)!=null&&i.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return Ne(this,null,function*(){let i=yield this.iframe;if(i&&i.contentWindow)i.contentWindow.postMessage(r,this.endpoint);else throw kt()})}checkRelayerExistsInDOM(){return!![].slice.call(document.querySelectorAll(".magic-iframe")).find(i=>i.src.includes(encodeURIComponent(this.parameters)))}reloadRelayer(){return Ne(this,null,function*(){let r=yield this.iframe;this.stopHeartBeat(),r?r.src=this.getRelayerSrc():(this.init(),console.warn("Magic SDK: Modal lost, re-initiating"))})}};var Ua=Object.assign(cn(qt,{platform:"web",sdkName:"magic-sdk",version:"29.0.2",defaultEndpoint:"https://auth.magic.link/",ViewController:bt,configureStorage:()=>Ne(void 0,null,function*(){let e=Rt.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Xt),yield e.setDriver([Rt.default.INDEXEDDB,Rt.default.LOCALSTORAGE,Xt._driver]),e})}),gr({},Kt)),xa=Ua;return Ti(Fa);})();
5
+ Received: \`${e.received}\``)}function ln(){return new xe(Ie.DuplicateIframe,"Duplicate iframes found.")}function Bo(){return new xe(Ie.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 Go(){return new xe(Ie.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 Vo(e){let{method:t,removalVersions:r,useInstead:i}=e,a=r[Y.sdkName],s=i?` Use \`${i}\` instead.`:"",m=`\`${t}\` will be removed from \`${Y.sdkName}\` in version \`${a}\`.${s}`;return new xe(Ie.DeprecationNotice,m)}function*jo(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Ho=jo();function un(){return Ho.next().value}var dn=Symbol("Payload pre-processed by Magic SDK");function fn(e){return Object.defineProperty(e,dn,{value:!0,enumerable:!1}),e}function qo(e){return!!e[dn]}function pt(e){var t,r,i;return qo(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=un(),e.method=(r=e.method)!=null?r:"noop",e.params=(i=e.params)!=null?i:[],fn(e)),e}function G(e,t=[]){return fn({params:t,method:e,jsonrpc:"2.0",id:un()})}var Wt=class{constructor(e){e instanceof Wt?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Po(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 typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},Ko=Wi(Bi()),Yo=class extends Ko.default{};function hn(){let e=new Yo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var mn=Symbol("isPromiEvent");function Bt(e){return!!e[mn]}function Ee(e){let t=vn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=hn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),f=(g,N)=>(..._)=>{let O=N[g].apply(N,_);return p(O)},p=g=>Object.assign(g,{[mn]:!0,[a]:g[a]||g.then,[s]:g[s]||g.catch,[m]:g[m]||g.finally,then:f(a,g),catch:f(s,g),finally:f(m,g),on:i("on",g),once:i("once",g),addListener:i("addListener",g),off:i("off",g),removeListener:i("removeListener",g),removeAllListeners:i("removeAllListeners",g),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),y=p(t.then(g=>(y.emit("done",g),y.emit("settled"),g),g=>{throw y.emit("error",g),y.emit("settled"),g}));return y.on(st.ClosedByUser,()=>{y.emit(at.ClosedByUser)}),y}function vn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Me=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!Dt.includes(e.method))return Ee((a,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(a).catch(s)});let t=this.overlay.post(we.MAGIC_HANDLE_REQUEST,pt(e)),r=Ee((a,s)=>{t.then(m=>{if(i(),m.hasError)s(new Ve(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw xo()}).catch(m=>{i(),s(m)})}),i=this.overlay.on(he.MAGIC_HANDLE_EVENT,a=>{var s;let{response:m}=a.data;if(m.id===e.id&&((s=m.result)==null?void 0:s.event)){let{event:f,params:p=[]}=m.result;r.emit(f,...p)}});return r}createIntermediaryEvent(e,t){return r=>{let i=G(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function Xo(e,t){let[r]=e.split(".").map(Number);return r>=t}var zo={"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"},Jo=class extends Me{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&&Xo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Vo({method:"auth.loginWithMagicLink()",removalVersions:zo,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:m}=e,f=G(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:i,redirectURI:a,overrides:s,lifespan:m}]);return this.request(f)}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(De.VerifySmsOtp,m=>{this.createIntermediaryEvent(De.VerifySmsOtp,a.id)(m)}),s.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}=e,m=G(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),f=this.request(m);return!i&&f&&f.on(ze.Retry,()=>{this.createIntermediaryEvent(ze.Retry,m.id)()}),!r&&f&&(f.on(de.VerifyEmailOtp,p=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(p)}),f.on(de.VerifyMFACode,p=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(p)}),f.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),f.on(de.VerifyRecoveryCode,p=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(p)}),f.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,m.id)()})),f}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},i=t!=null?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(ue.Retry,()=>{this.createIntermediaryEvent(ue.Retry,i.id)()}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,i.id)()}),a.on(ue.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,i.id)(s)}),a.on(ue.VerifyMFACode,s=>{this.createIntermediaryEvent(ue.VerifyMFACode,i.id)(s)}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.VerifyEmailOtp,i.id)(s)})),a}},pn={};Fi(pn,{clear:()=>Qo,getItem:()=>me,iterate:()=>yn,key:()=>ea,keys:()=>ta,length:()=>Zo,removeItem:()=>yt,setItem:()=>Te});var dt;function Le(e){return(...t)=>z(this,null,function*(){return dt||(dt=yield Y.configureStorage()),yield dt.ready(),dt[e](...t)})}var me=Le("getItem"),Te=Le("setItem"),yt=Le("removeItem"),Qo=Le("clear"),Zo=Le("length"),ea=Le("key"),ta=Le("keys"),yn=Le("iterate");function ra(){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 gn="STORE_KEY_PRIVATE_KEY",Ut="STORE_KEY_PUBLIC_JWK",En="ECDSA",na="P-256",ia={name:En,namedCurve:na};function It(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function oa(){return z(this,null,function*(){let e=yield aa();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield me(gn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let i={iat:Math.floor(new Date().getTime()/1e3),jti:ra()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:Zr(JSON.stringify(a)),claims:Zr(JSON.stringify(i))},m=ca(`${s.protected}.${s.claims}`),f={name:En,hash:{name:"SHA-256"}},p=ua(new Uint8Array(yield t.sign(f,r,m)));return`${s.protected}.${s.claims}.${p}`})}function aa(){return z(this,null,function*(){if(!It()){console.info("webcrypto is not supported");return}return(yield me(Ut))||(yield sa()),me(Ut)})}function sa(){return z(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(ia,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield Te(gn,t.privateKey),yield Te(Ut,r)})}function Zr(e){return _n(la(e))}function ca(e){return new TextEncoder().encode(e)}function _n(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function la(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function ua(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),_n(t)}var Gt="ds",Vt="ek",jt="iv",Ht="AES-GCM",da=256;function In(){return z(this,null,function*(){let e=[];yield yn((t,r,i)=>{r.startsWith(`${Gt}_`)&&e.push(r)});for(let t of e)yield yt(t)})}function wn(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 bn(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}function fa(){return z(this,null,function*(){if(!It()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield me(jt))||e.getRandomValues(new Uint8Array(12))})}function ha(){return z(this,null,function*(){if(!It()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield me(Vt))||(yield e.generateKey({name:Ht,length:da},!1,["encrypt","decrypt"]))})}function ma(e,t){return z(this,null,function*(){let r=yield fa(),i=yield ha();if(!r||!i||!e)return;let a=bn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Ht,iv:r},i,a),f=wn(m);yield Te(`${Gt}_${t}`,f),yield Te(Vt,i),yield Te(jt,r)})}function va(e){return z(this,null,function*(){let t=yield me(`${Gt}_${e}`),r=yield me(jt),i=yield me(Vt);if(!r||!t||!i||!It())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Ht,iv:r},i,bn(t));return wn(s)})}function tt(e,t){return t?new URL(e,t):new URL(e)}var pa=class extends Me{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}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 Ee((e,t)=>z(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield me(this.localForageIsLoggedInKey))==="true",r&&e(!0));let i=G(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=yield this.request(i);this.sdk.useStorageCache&&(a?Te(this.localForageIsLoggedInKey,!0):yt(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return yt(this.localForageIsLoggedInKey),In(),Ee((e,t)=>z(this,null,function*(){try{let r=G(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=yield 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(pe.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(pe.SendNewPhoneNumber,r.id)(a)}),i.on(pe.SendOtpCode,a=>{this.createIntermediaryEvent(pe.SendOtpCode,r.id)(a)}),i.on(pe.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(pe.StartEditPhoneNumber,r.id)()}),i.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,r.id)()}),i.on(ue.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ue.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(ye.Cancel,()=>{this.createIntermediaryEvent(ye.Cancel,i.id)()}),a.on(ye.ResendSms,()=>{this.createIntermediaryEvent(ye.ResendSms,i.id)()}),a.on(ye.VerifyOtp,s=>{this.createIntermediaryEvent(ye.VerifyOtp,i.id)(s)}),a.on(ye.UpdateEmail,s=>{this.createIntermediaryEvent(ye.UpdateEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.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($e.VerifyMFACode,a=>{this.createIntermediaryEvent($e.VerifyMFACode,r.id)(a)}),i.on($e.Cancel,()=>{this.createIntermediaryEvent($e.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(be.VerifyMFACode,a=>{this.createIntermediaryEvent(be.VerifyMFACode,r.id)(a)}),i.on(be.LostDevice,a=>{this.createIntermediaryEvent(be.LostDevice,r.id)(a)}),i.on(be.Cancel,()=>{this.createIntermediaryEvent(be.Cancel,r.id)()})),i}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},ya=class extends Me{connectWithUI(e){let t=Ee((r,i)=>z(this,null,function*(){try{let a=G(M.Login,[Et({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:f,callback:p})=>{s.on(f,()=>p(a.id))}),s.on("id-token-created",f=>{t.emit("id-token-created",f)});let m=yield s;m.error&&i(m),r(m)}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]))}},ga=class extends Me{constructor(){super(...arguments),this.eventListeners=[],this.enabledWallets={},this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(ge.PROVIDER),localStorage.removeItem(ge.ADDRESS),localStorage.removeItem(ge.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(ge.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(ge.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(ge.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(ge.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return Ee((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return Ee(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(){var e;let t=(e=this.sdk.web3modal.modal.getWalletInfo())==null?void 0:e.name,r=this.sdk.web3modal.modal.getAddress();return{publicAddress:r,email:null,issuer:`did:ethr:${r}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:t||"web3modal"}}web3modalGetInfo(){return Ee((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 Ee(e=>z(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)}))}},{createBoundEmitterMethod:ft,createChainingEmitterMethod:Be}=hn(),Ea=class extends Me{constructor(){super(...arguments),this.isMagic=!0,this.on=Be("on",this),this.once=Be("once",this),this.addListener=Be("addListener",this),this.off=Be("off",this),this.removeListener=Be("removeListener",this),this.removeAllListeners=Be("removeAllListeners",this),this.emit=ft("emit"),this.eventNames=ft("eventNames"),this.listeners=ft("listeners"),this.listenerCount=ft("listenerCount")}sendAsync(e,t){if(!t)throw Wo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(we.MAGIC_HANDLE_REQUEST,e.map(r=>{let i=pt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>xt(Et({},i.payload),{error:i.hasError?new Ve(i.payload.error):null})))});else{let r=pt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(we.MAGIC_HANDLE_REQUEST,r).then(i=>{t(i.hasError?new Ve(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=Bo();return r.log(),new Wt(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}`)}},en=["request","overlay","sdk"];function _a(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Me.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var Ia=class extends Me{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Ee,isPromiEvent:Bt,encodeJSON:an,decodeJSON:Lo,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:pt,storage:pn};let e=[this,..._a(this)];en.forEach(t=>{let r=e.map(m=>Object.getOwnPropertyDescriptor(m,t)),i=r.findIndex(m=>!!m),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 Fo(t)}}))})}init(e){this.__is_initialized__||(en.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 vt(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new vt(this,e,t)}createError(e,t,r){return new _t(this,e,t,r)}},wa=class extends Ia{},rt=class{};rt.Internal=wa;var ba=class extends Me{purchase(e){let t=G(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(M.NFTCheckout,[xt(Et({},e),{walletProvider:t?"web3modal":"magic"})]),i=this.request(r);return t&&(i.on(Ue.Initiated,a=>z(this,null,function*(){try{let s=yield this.request({method:"eth_sendTransaction",params:[a]});this.createIntermediaryEvent(Ue.Success,r.id)(s)}catch(s){this.createIntermediaryEvent(Ue.Failure,r.id)()}})),i.on(Ue.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),i.emit("disconnect")})),i}transfer(e){let t=G(M.NFTTransfer,[e]);return this.request(t)}};function tn(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?wo(Ao(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function Ra(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 Sa(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],i={},a=[];if(Array.isArray(r)?r.forEach(s=>{tn(s)?(s.init(this),s.name&&(this[s.name]=s),s instanceof rt.Internal&&(mt(s.config)||(i[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(tn(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof rt.Internal&&(mt(m.config)||(i[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw ko(a);return i}var ht=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw Uo();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Go().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=tt((r=t==null?void 0:t.endpoint)!=null?r:i).origin,this.auth=new Jo(this),this.user=new pa(this),this.wallet=new ya(this),this.nft=new ba(this),this.thirdPartyWallets=new ga(this),this.rpcProvider=new Ea(this);let s=Sa.call(this,t);this.parameters=an(xt(Et({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:tt(this.endpoint).host,sdk:$o[Y.sdkName],version:a,ext:mt(s)?void 0:s,locale:(t==null?void 0:t.locale)||"en_US"},Y.bundleId?{bundleId:Y.bundleId}:{}),{meta:t==null?void 0:t.meta})),this.networkHash=Ra(this.apiKey,t==null?void 0:t.network,mt(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!ht.__overlays__.has(this.parameters)){let e=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),ht.__overlays__.set(this.parameters,e)}return ht.__overlays__.get(this.parameters)}preload(){return z(this,null,function*(){yield this.overlay.waitForReady()})}},qt=ht;qt.__overlays__=new Map;function Aa(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function Oa(e,t){var r;let i=(r=t.data.response)==null?void 0:r.id,a=Aa(e,i);if(i&&a){let s=new Wt(a).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:i,response:s}}return{}}function Na(e,t,r){return z(this,null,function*(){var i;let a=yield me("rt"),s;if(Y.platform==="web")try{s=(i=yield me("jwt"))!=null?i:yield oa()}catch(p){console.error("webcrypto error",p)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let f=yield va(r);return f&&(m.deviceShare=f),m})}function Ta(e){return z(this,null,function*(){!e.data.rt||(yield Te("rt",e.data.rt))})}function Ma(e,t){let r=null;return function(...i){r&&clearTimeout(r),r=setTimeout(()=>{e(...i)},t)}}var La=1e3,Rn=60*La,rn=5*Rn,Ca=60*Rn,Sn=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.messageHandlers=new Set,this.isConnectedToInternet=!0,this.lastPongTime=null,this.heartbeatIntervalTimer=null,this.heartbeatDebounce=Ma(()=>this.heartBeatCheck(),Ca),this.isReadyForRequest=!1,this.listen()}getRelayerSrc(){return tt(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}post(e,t){return z(this,null,function*(){return vn((r,i)=>z(this,null,function*(){if(!this.isConnectedToInternet){let y=kt();i(y)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(y=>y.id):[],m=yield Na(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let f=y=>g=>{var N;let{id:_,response:O}=Oa(t,g);if(Ta(g),((N=O==null?void 0:O.payload.error)==null?void 0:N.message)==="User denied account access.")In();else if(g.data.deviceShare){let{deviceShare:L}=g.data;ma(L,this.networkHash)}_&&O&&Array.isArray(t)&&s.includes(_)?(a.push(O),a.length===t.length&&(y(),r(a))):_&&O&&!Array.isArray(t)&&_===t.id&&(y(),r(O))},p=this.on(he.MAGIC_HANDLE_RESPONSE,f(()=>p()))}))})}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 this.checkRelayerExistsInDOM()||(this.isReadyForRequest=!1,this.init()),new Promise(e=>{let t=this.on(he.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(he.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(he.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(he.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new xe(Ie.ProductAnnouncement,e.data.response.result.product_announcement).log()})}heartBeatCheck(){let e=!0,t=()=>z(this,null,function*(){let r={msgType:`${we.MAGIC_PING}-${this.parameters}`,payload:[]};yield this._post(r)});this.heartbeatIntervalTimer=setInterval(()=>z(this,null,function*(){if(this.lastPongTime){if(Date.now()-this.lastPongTime>rn*2){this.reloadRelayer(),e=!0;return}}else if(!e){this.reloadRelayer(),e=!0;return}yield t(),e=!1}),rn)}stopHeartBeat(){this.heartbeatDebounce(),this.lastPongTime=null,this.heartbeatIntervalTimer&&(clearInterval(this.heartbeatIntervalTimer),this.heartbeatIntervalTimer=null)}};var Kt={};_r(Kt,{AuthEventOnReceived:()=>Cr,DeepLinkPage:()=>Rr,DeviceVerificationEventEmit:()=>ze,DeviceVerificationEventOnReceived:()=>Tr,DisableMFAEventEmit:()=>be,DisableMFAEventOnReceived:()=>$r,EnableMFAEventEmit:()=>$e,EnableMFAEventOnReceived:()=>Dr,EthChainType:()=>Ur,Extension:()=>rt,ExtensionError:()=>_t,ExtensionWarning:()=>vt,FarcasterLoginEventEmit:()=>Pr,LocalStorageKeys:()=>ge,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Nr,LoginWithMagicLinkEventEmit:()=>Sr,LoginWithMagicLinkEventOnReceived:()=>Ar,LoginWithSmsOTPEventEmit:()=>De,LoginWithSmsOTPEventOnReceived:()=>Or,MagicIncomingWindowMessage:()=>he,MagicOutgoingWindowMessage:()=>we,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>Ue,RPCError:()=>Ve,RPCErrorCode:()=>We,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Mr,RecoverAccountEventEmit:()=>ye,RecoverAccountEventOnReceived:()=>kr,RecoveryFactorEventEmit:()=>pe,RecoveryFactorEventOnReceived:()=>xr,RecoveryMethodType:()=>Fr,SDKError:()=>Re,SDKErrorCode:()=>_e,SDKWarning:()=>xe,SDKWarningCode:()=>Ie,ThirdPartyWalletEvents:()=>br,UiEventsEmit:()=>Br,UpdateEmailEventEmit:()=>ne,UpdateEmailEventOnReceived:()=>Lr,UserEventsEmit:()=>at,UserEventsOnReceived:()=>st,WalletEventOnReceived:()=>Wr,isPromiEvent:()=>Bt,routeToMagicMethods:()=>Dt});var Rt=wr(On()),Xt=wr(Tn());var Pa={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function Da(e){for(let[t,r]of Object.entries(Pa))e.style[t]=r}function $a(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var bt=class extends Sn{constructor(){super(...arguments);this.activeElement=null}init(){this.test="hello",this.iframe=new Promise(r=>{let i=()=>{if($a(encodeURIComponent(this.parameters)))ln().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=tt(this.endpoint).host,a.title="Secure Modal",a.src=this.getRelayerSrc(),a.allow="clipboard-read; clipboard-write",Da(a),document.body.appendChild(a),r(a)}};["loaded","interactive","complete"].includes(document.readyState)?i():window.addEventListener("load",i,!1)}),this.iframe.then(r=>{r instanceof HTMLIFrameElement&&r.addEventListener("load",()=>Ne(this,null,function*(){this.heartbeatDebounce()}))}),window.addEventListener("message",r=>{var i;if(r.origin===this.endpoint&&r.data.msgType&&(r.data.msgType.includes(he.MAGIC_PONG)&&(this.lastPongTime=Date.now()),r.data&&this.messageHandlers.size)){r.data.response=(i=r.data.response)!=null?i:{},this.stopHeartBeat();for(let a of this.messageHandlers.values())a(r)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}showOverlay(){return Ne(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",r.style.zIndex="2147483647",r.style.opacity="1",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return Ne(this,null,function*(){var i;let r=yield this.iframe;r.style.visibility="hidden",r.style.zIndex="-1",r.style.opacity="0",(i=this.activeElement)!=null&&i.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return Ne(this,null,function*(){let i=yield this.iframe;if(i&&i.contentWindow)i.contentWindow.postMessage(r,this.endpoint);else throw kt()})}checkRelayerExistsInDOM(){return!![].slice.call(document.querySelectorAll(".magic-iframe")).find(i=>i.src.includes(encodeURIComponent(this.parameters)))}reloadRelayer(){return Ne(this,null,function*(){let r=yield this.iframe;this.stopHeartBeat(),r?r.src=this.getRelayerSrc():(this.init(),console.warn("Magic SDK: Modal lost, re-initiating"))})}};var Ua=Object.assign(cn(qt,{platform:"web",sdkName:"magic-sdk",version:"29.0.2",defaultEndpoint:"https://auth.magic.link/",ViewController:bt,configureStorage:()=>Ne(void 0,null,function*(){let e=Rt.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Xt),yield e.setDriver([Rt.default.INDEXEDDB,Rt.default.LOCALSTORAGE,Xt._driver]),e})}),gr({},Kt)),xa=Ua;return Ti(Fa);})();
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.0.3-canary.865.14093472581.0",
3
+ "version": "29.0.3-canary.865.14094288976.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,8 +29,8 @@
29
29
  ]
30
30
  },
31
31
  "dependencies": {
32
- "@magic-sdk/commons": "25.0.3-canary.865.14093472581.0",
33
- "@magic-sdk/provider": "29.0.3-canary.865.14093472581.0",
32
+ "@magic-sdk/commons": "25.0.3-canary.865.14094288976.0",
33
+ "@magic-sdk/provider": "29.0.3-canary.865.14094288976.0",
34
34
  "@magic-sdk/types": "^24.18.1",
35
35
  "localforage": "^1.7.4"
36
36
  },
@@ -40,5 +40,5 @@
40
40
  "@babel/runtime": "^7.9.6",
41
41
  "localforage-driver-memory": "^1.0.5"
42
42
  },
43
- "gitHead": "32375f481a9da5a2a0434413fedc4d1aa25dcd5c"
43
+ "gitHead": "54e19c8ba5c515aa658704debf0429585e3f5c2d"
44
44
  }