magic-sdk 29.0.0 → 29.0.1-canary.3ad7748.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 Se(Ie.IncompatibleExtensions,t)}function Bo(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 Se(Ie.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
4
4
  Expected: \`${e.expected}\`
5
- Received: \`${e.received}\``)}function cn(){return new Fe(we.DuplicateIframe,"Duplicate iframes found.")}function Go(){return new Fe(we.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 Vo(){return new Fe(we.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 jo(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 Fe(we.DeprecationNotice,m)}function*Ho(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var qo=Ho();function ln(){return qo.next().value}var un=Symbol("Payload pre-processed by Magic SDK");function dn(e){return Object.defineProperty(e,un,{value:!0,enumerable:!1}),e}function Ko(e){return!!e[un]}function vt(e){var t,r,i;return Ko(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=ln(),e.method=(r=e.method)!=null?r:"noop",e.params=(i=e.params)!=null?i:[],dn(e)),e}function G(e,t=[]){return dn({params:t,method:e,jsonrpc:"2.0",id:ln()})}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):Do(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}}},Yo=Bi(Gi()),Xo=class extends Yo.default{};function fn(){let e=new Xo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var hn=Symbol("isPromiEvent");function Bt(e){return!!e[hn]}function _e(e){let t=mn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=fn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),f=(E,N)=>(..._)=>{let O=N[E].apply(N,_);return v(O)},v=E=>Object.assign(E,{[hn]:!0,[a]:E[a]||E.then,[s]:E[s]||E.catch,[m]:E[m]||E.finally,then:f(a,E),catch:f(s,E),finally:f(m,E),on:i("on",E),once:i("once",E),addListener:i("addListener",E),off:i("off",E),removeListener:i("removeListener",E),removeAllListeners:i("removeAllListeners",E),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),y=v(t.then(E=>(y.emit("done",E),y.emit("settled"),E),E=>{throw y.emit("error",E),y.emit("settled"),E}));return y.on(st.ClosedByUser,()=>{y.emit(at.ClosedByUser)}),y}function mn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Le=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!$t.includes(e.method))return _e((a,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(a).catch(s)});let t=this.overlay.post(Re.MAGIC_HANDLE_REQUEST,vt(e)),r=_e((a,s)=>{t.then(m=>{if(i(),m.hasError)s(new je(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw Fo()}).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:v=[]}=m.result;r.emit(f,...v)}});return r}createIntermediaryEvent(e,t){return r=>{let i=G(L.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function zo(e,t){let[r]=e.split(".").map(Number);return r>=t}var Jo={"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"},Qo=class extends Le{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&&zo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&jo({method:"auth.loginWithMagicLink()",removalVersions:Jo,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:m}=e,f=G(this.sdk.testMode?L.LoginWithMagicLinkTestMode:L.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?L.LoginWithSmsTestMode:L.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?L.LoginWithEmailOTPTestMode:L.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),f=this.request(m);return!i&&f&&f.on(Je.Retry,()=>{this.createIntermediaryEvent(Je.Retry,m.id)()}),!r&&f&&(f.on(de.VerifyEmailOtp,v=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(v)}),f.on(de.VerifyMFACode,v=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(v)}),f.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),f.on(de.VerifyRecoveryCode,v=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(v)}),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?L.LoginWithCredentialTestMode:L.LoginWithCredential,[i,r]);return this.request(a)}setAuthorizationToken(e){let t=G(L.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,i=G(this.sdk.testMode?L.UpdateEmailTestMode:L.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={};ki(pn,{clear:()=>Zo,getItem:()=>me,iterate:()=>vn,key:()=>ta,keys:()=>ra,length:()=>ea,removeItem:()=>yt,setItem:()=>Te});var dt;function Me(e){return(...t)=>Z(this,null,function*(){return dt||(dt=yield Y.configureStorage()),yield dt.ready(),dt[e](...t)})}var me=Me("getItem"),Te=Me("setItem"),yt=Me("removeItem"),Zo=Me("clear"),ea=Me("length"),ta=Me("key"),ra=Me("keys"),vn=Me("iterate");function na(){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 yn="STORE_KEY_PRIVATE_KEY",xt="STORE_KEY_PUBLIC_JWK",En="ECDSA",ia="P-256",oa={name:En,namedCurve:ia};function wt(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function aa(){return Z(this,null,function*(){let e=yield sa();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield me(yn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let i={iat:Math.floor(new Date().getTime()/1e3),jti:na()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:Zr(JSON.stringify(a)),claims:Zr(JSON.stringify(i))},m=la(`${s.protected}.${s.claims}`),f={name:En,hash:{name:"SHA-256"}},v=da(new Uint8Array(yield t.sign(f,r,m)));return`${s.protected}.${s.claims}.${v}`})}function sa(){return Z(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}return(yield me(xt))||(yield ca()),me(xt)})}function ca(){return Z(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(oa,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield Te(yn,t.privateKey),yield Te(xt,r)})}function Zr(e){return gn(ua(e))}function la(e){return new TextEncoder().encode(e)}function gn(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function ua(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function da(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),gn(t)}var Gt="ds",Vt="ek",jt="iv",Ht="AES-GCM",fa=256;function _n(){return Z(this,null,function*(){let e=[];yield vn((t,r,i)=>{r.startsWith(`${Gt}_`)&&e.push(r)});for(let t of e)yield yt(t)})}function In(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 wn(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 ha(){return Z(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield me(jt))||e.getRandomValues(new Uint8Array(12))})}function ma(){return Z(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield me(Vt))||(yield e.generateKey({name:Ht,length:fa},!1,["encrypt","decrypt"]))})}function pa(e,t){return Z(this,null,function*(){let r=yield ha(),i=yield ma();if(!r||!i||!e)return;let a=wn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Ht,iv:r},i,a),f=In(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||!wt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Ht,iv:r},i,wn(t));return In(s)})}function rt(e,t){return t?new URL(e,t):new URL(e)}var ya=class extends Le{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=G(this.sdk.testMode?L.GetIdTokenTestMode:L.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=G(this.sdk.testMode?L.GenerateIdTokenTestMode:L.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=G(L.GetInfo,[]);return this.request(e)}isLoggedIn(){return _e((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?L.IsLoggedInTestMode:L.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),_n(),_e((e,t)=>Z(this,null,function*(){try{let r=G(this.sdk.testMode?L.LogoutTestMode:L.Logout),i=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),e(i)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=G(L.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=G(this.sdk.testMode?L.UserSettingsTestMode:L.UserSettings,[e]),i=this.request(r);return!t&&i&&(i.on(ve.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(ve.SendNewPhoneNumber,r.id)(a)}),i.on(ve.SendOtpCode,a=>{this.createIntermediaryEvent(ve.SendOtpCode,r.id)(a)}),i.on(ve.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(ve.StartEditPhoneNumber,r.id)()}),i.on(ve.Cancel,()=>{this.createIntermediaryEvent(ve.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?L.RecoverAccountTestMode:L.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(L.RevealPK);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=G(L.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(L.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)})}},Ea=class extends Le{connectWithUI(e){let t=_e((r,i)=>Z(this,null,function*(){try{let a=G(L.Login,[gt({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:f,callback:v})=>{s.on(f,()=>v(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(L.ShowUI,[e]))}showAddress(){return this.request(G(L.ShowAddress))}showSendTokensUI(){return this.request(G(L.ShowSendTokensUI))}showOnRamp(){return this.request(G(L.ShowOnRamp))}showNFTs(){return this.request(G(L.ShowNFTs))}showBalances(){return this.request(G(L.ShowBalances))}sendGaslessTransaction(e,t){return this.request(G(L.SendGaslessTransaction,[e,t]))}},ga=class extends Le{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===L.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===L.GetInfo)return this.getInfo(e);if(e.method===L.IsLoggedIn)return this.isLoggedIn(e);if(e.method===L.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 _e((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return _e(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 _e((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 _e(e=>Z(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)}))}},{createBoundEmitterMethod:ft,createChainingEmitterMethod:Ge}=fn(),_a=class extends Le{constructor(){super(...arguments),this.isMagic=!0,this.on=Ge("on",this),this.once=Ge("once",this),this.addListener=Ge("addListener",this),this.off=Ge("off",this),this.removeListener=Ge("removeListener",this),this.removeAllListeners=Ge("removeAllListeners",this),this.emit=ft("emit"),this.eventNames=ft("eventNames"),this.listeners=ft("listeners"),this.listenerCount=ft("listenerCount")}sendAsync(e,t){if(!t)throw Bo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Re.MAGIC_HANDLE_REQUEST,e.map(r=>{let i=vt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>Ft(gt({},i.payload),{error:i.hasError?new je(i.payload.error):null})))});else{let r=vt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Re.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=Go();return r.log(),new Wt(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=G(L.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 Ia(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Le.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var Rn=class extends Le{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:_e,isPromiEvent:Bt,encodeJSON:on,decodeJSON:Co,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:vt,storage:pn};let e=[this,...Ia(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 ko(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 pt(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new pt(this,e,t)}createError(e,t,r){return new _t(this,e,t,r)}},wa=class extends Rn{},xe=class extends Rn{};xe.Internal=wa,xe.Anonymous="anonymous extension";var Ra=class extends Le{purchase(e){let t=G(L.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(L.NFTCheckout,[Ft(gt({},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(L.NFTTransfer,[e]);return this.request(t)}};function tn(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?Ro(Oo(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function ba(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||s.name!==xe.Anonymous)&&(this[s.name]=s),s instanceof xe.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 xe.Internal&&(mt(m.config)||(i[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw Wo(a);return i}var ht=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw xo();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Vo().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=rt((r=t==null?void 0:t.endpoint)!=null?r:i).origin,this.auth=new Qo(this),this.user=new ya(this),this.wallet=new Ea(this),this.nft=new Ra(this),this.thirdPartyWallets=new ga(this),this.rpcProvider=new _a(this);let s=Sa.call(this,t);this.parameters=on(Ft(gt({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:rt(this.endpoint).host,sdk:Uo[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=ba(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.checkIsReadyForRequest})}},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 aa()}catch(v){console.error("webcrypto error",v)}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))})}var bn=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.messageHandlers=new Set,this.isConnectedToInternet=!0,this.checkIsReadyForRequest=this.waitForReady(),this.isReadyForRequest=!1,this.listen()}post(e,t){return Z(this,null,function*(){return mn((r,i)=>Z(this,null,function*(){if(!this.isConnectedToInternet){let y=It();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=>E=>{var N;let{id:_,response:O}=Oa(t,E);if(Ta(E),((N=O==null?void 0:O.payload.error)==null?void 0:N.message)==="User denied account access.")_n();else if(E.data.deviceShare){let{deviceShare:M}=E.data;pa(M,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))},v=this.on(he.MAGIC_HANDLE_RESPONSE,f(()=>v()))}))})}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(he.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()});setTimeout(()=>{this.isReadyForRequest=!0,e(),t()},15e3)})}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 Fe(we.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var Kt={};_r(Kt,{AuthEventOnReceived:()=>Cr,DeepLinkPage:()=>br,DeviceVerificationEventEmit:()=>Je,DeviceVerificationEventOnReceived:()=>Tr,DisableMFAEventEmit:()=>be,DisableMFAEventOnReceived:()=>$r,EnableMFAEventEmit:()=>$e,EnableMFAEventOnReceived:()=>Dr,EthChainType:()=>Ur,Extension:()=>xe,ExtensionError:()=>_t,ExtensionWarning:()=>pt,FarcasterLoginEventEmit:()=>Pr,LocalStorageKeys:()=>ge,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Nr,LoginWithMagicLinkEventEmit:()=>Sr,LoginWithMagicLinkEventOnReceived:()=>Ar,LoginWithSmsOTPEventEmit:()=>De,LoginWithSmsOTPEventOnReceived:()=>Or,MagicIncomingWindowMessage:()=>he,MagicOutgoingWindowMessage:()=>Re,MagicPayloadMethod:()=>L,NftCheckoutIntermediaryEvents:()=>Ue,RPCError:()=>je,RPCErrorCode:()=>Be,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Lr,RecoverAccountEventEmit:()=>ye,RecoverAccountEventOnReceived:()=>kr,RecoveryFactorEventEmit:()=>ve,RecoveryFactorEventOnReceived:()=>xr,RecoveryMethodType:()=>Fr,SDKError:()=>Se,SDKErrorCode:()=>Ie,SDKWarning:()=>Fe,SDKWarningCode:()=>we,ThirdPartyWalletEvents:()=>Rr,UiEventsEmit:()=>Br,UpdateEmailEventEmit:()=>ne,UpdateEmailEventOnReceived:()=>Mr,UserEventsEmit:()=>at,UserEventsOnReceived:()=>st,WalletEventOnReceived:()=>Wr,isPromiEvent:()=>Bt,routeToMagicMethods:()=>$t});var St=wr(An()),Xt=wr(Nn());var La={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function Ma(e){for(let[t,r]of Object.entries(La))e.style[t]=r}function Ca(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var Tn=1e3,Ln=60*Tn,Pa=15*Tn,Da=2*Ln,$a=60*Ln,bt=class extends bn{constructor(){super(...arguments);this.activeElement=null;this.lastPingTime=Date.now();this.intervalTimer=null;this.timeoutTimer=null}getIframeSrc(){return rt(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}init(){this.test="hello",this.iframe=new Promise(r=>{let i=()=>{if(Ca(encodeURIComponent(this.parameters)))cn().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=rt(this.endpoint).host,a.title="Secure Modal",a.src=this.getIframeSrc(),a.allow="clipboard-read; clipboard-write",Ma(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",()=>Ee(this,null,function*(){yield this.startHeartBeat()}))}),window.addEventListener("message",r=>{var i;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.msgType.includes(he.MAGIC_PONG)&&(this.lastPingTime=Date.now()),r.data.response=(i=r.data.response)!=null?i:{};for(let s of this.messageHandlers.values())s(r)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}showOverlay(){return Ee(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 Ee(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 Ee(this,null,function*(){let i=yield this.iframe;if(i&&i.contentWindow)i.contentWindow.postMessage(r,this.endpoint);else throw It()})}heartBeatCheck(){this.intervalTimer=setInterval(()=>Ee(this,null,function*(){let r={msgType:`${Re.MAGIC_PING}-${this.parameters}`,payload:[]};yield this._post(r),Date.now()-this.lastPingTime>Pa&&(yield this.reloadIframe(),this.lastPingTime=Date.now())}),Da)}startHeartBeat(){return Ee(this,null,function*(){(yield this.iframe)&&(this.timeoutTimer=setTimeout(()=>this.heartBeatCheck(),$a))})}stopHeartBeat(){this.timeoutTimer&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null),this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}reloadIframe(){return Ee(this,null,function*(){let r=yield this.iframe;if(r)r.src=this.getIframeSrc();else throw It()})}};var Ua=Object.assign(sn(qt,{platform:"web",sdkName:"magic-sdk",version:"29.0.0",defaultEndpoint:"https://auth.magic.link/",ViewController:bt,configureStorage:()=>Ee(void 0,null,function*(){let e=St.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Xt),yield e.setDriver([St.default.INDEXEDDB,St.default.LOCALSTORAGE,Xt._driver]),e})}),Er({},Kt)),xa=Ua;return Li(Fa);})();
5
+ Received: \`${e.received}\``)}function cn(){return new Fe(we.DuplicateIframe,"Duplicate iframes found.")}function Go(){return new Fe(we.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 Vo(){return new Fe(we.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 jo(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 Fe(we.DeprecationNotice,m)}function*Ho(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var qo=Ho();function ln(){return qo.next().value}var un=Symbol("Payload pre-processed by Magic SDK");function dn(e){return Object.defineProperty(e,un,{value:!0,enumerable:!1}),e}function Ko(e){return!!e[un]}function vt(e){var t,r,i;return Ko(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=ln(),e.method=(r=e.method)!=null?r:"noop",e.params=(i=e.params)!=null?i:[],dn(e)),e}function G(e,t=[]){return dn({params:t,method:e,jsonrpc:"2.0",id:ln()})}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):Do(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}}},Yo=Bi(Gi()),Xo=class extends Yo.default{};function fn(){let e=new Xo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var hn=Symbol("isPromiEvent");function Bt(e){return!!e[hn]}function _e(e){let t=mn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=fn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),f=(E,N)=>(..._)=>{let O=N[E].apply(N,_);return v(O)},v=E=>Object.assign(E,{[hn]:!0,[a]:E[a]||E.then,[s]:E[s]||E.catch,[m]:E[m]||E.finally,then:f(a,E),catch:f(s,E),finally:f(m,E),on:i("on",E),once:i("once",E),addListener:i("addListener",E),off:i("off",E),removeListener:i("removeListener",E),removeAllListeners:i("removeAllListeners",E),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),y=v(t.then(E=>(y.emit("done",E),y.emit("settled"),E),E=>{throw y.emit("error",E),y.emit("settled"),E}));return y.on(st.ClosedByUser,()=>{y.emit(at.ClosedByUser)}),y}function mn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Le=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!$t.includes(e.method))return _e((a,s)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(a).catch(s)});let t=this.overlay.post(Re.MAGIC_HANDLE_REQUEST,vt(e)),r=_e((a,s)=>{t.then(m=>{if(i(),m.hasError)s(new je(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw Fo()}).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:v=[]}=m.result;r.emit(f,...v)}});return r}createIntermediaryEvent(e,t){return r=>{let i=G(L.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function zo(e,t){let[r]=e.split(".").map(Number);return r>=t}var Jo={"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"},Qo=class extends Le{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&&zo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&jo({method:"auth.loginWithMagicLink()",removalVersions:Jo,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:m}=e,f=G(this.sdk.testMode?L.LoginWithMagicLinkTestMode:L.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?L.LoginWithSmsTestMode:L.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?L.LoginWithEmailOTPTestMode:L.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),f=this.request(m);return!i&&f&&f.on(Je.Retry,()=>{this.createIntermediaryEvent(Je.Retry,m.id)()}),!r&&f&&(f.on(de.VerifyEmailOtp,v=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(v)}),f.on(de.VerifyMFACode,v=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(v)}),f.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),f.on(de.VerifyRecoveryCode,v=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(v)}),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?L.LoginWithCredentialTestMode:L.LoginWithCredential,[i,r]);return this.request(a)}setAuthorizationToken(e){let t=G(L.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,i=G(this.sdk.testMode?L.UpdateEmailTestMode:L.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={};ki(pn,{clear:()=>Zo,getItem:()=>me,iterate:()=>vn,key:()=>ta,keys:()=>ra,length:()=>ea,removeItem:()=>yt,setItem:()=>Te});var dt;function Me(e){return(...t)=>Z(this,null,function*(){return dt||(dt=yield Y.configureStorage()),yield dt.ready(),dt[e](...t)})}var me=Me("getItem"),Te=Me("setItem"),yt=Me("removeItem"),Zo=Me("clear"),ea=Me("length"),ta=Me("key"),ra=Me("keys"),vn=Me("iterate");function na(){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 yn="STORE_KEY_PRIVATE_KEY",xt="STORE_KEY_PUBLIC_JWK",En="ECDSA",ia="P-256",oa={name:En,namedCurve:ia};function wt(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function aa(){return Z(this,null,function*(){let e=yield sa();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield me(yn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let i={iat:Math.floor(new Date().getTime()/1e3),jti:na()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:Zr(JSON.stringify(a)),claims:Zr(JSON.stringify(i))},m=la(`${s.protected}.${s.claims}`),f={name:En,hash:{name:"SHA-256"}},v=da(new Uint8Array(yield t.sign(f,r,m)));return`${s.protected}.${s.claims}.${v}`})}function sa(){return Z(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}return(yield me(xt))||(yield ca()),me(xt)})}function ca(){return Z(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(oa,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield Te(yn,t.privateKey),yield Te(xt,r)})}function Zr(e){return gn(ua(e))}function la(e){return new TextEncoder().encode(e)}function gn(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function ua(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function da(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),gn(t)}var Gt="ds",Vt="ek",jt="iv",Ht="AES-GCM",fa=256;function _n(){return Z(this,null,function*(){let e=[];yield vn((t,r,i)=>{r.startsWith(`${Gt}_`)&&e.push(r)});for(let t of e)yield yt(t)})}function In(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 wn(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 ha(){return Z(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield me(jt))||e.getRandomValues(new Uint8Array(12))})}function ma(){return Z(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield me(Vt))||(yield e.generateKey({name:Ht,length:fa},!1,["encrypt","decrypt"]))})}function pa(e,t){return Z(this,null,function*(){let r=yield ha(),i=yield ma();if(!r||!i||!e)return;let a=wn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Ht,iv:r},i,a),f=In(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||!wt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Ht,iv:r},i,wn(t));return In(s)})}function rt(e,t){return t?new URL(e,t):new URL(e)}var ya=class extends Le{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=G(this.sdk.testMode?L.GetIdTokenTestMode:L.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=G(this.sdk.testMode?L.GenerateIdTokenTestMode:L.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=G(L.GetInfo,[]);return this.request(e)}isLoggedIn(){return _e((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?L.IsLoggedInTestMode:L.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),_n(),_e((e,t)=>Z(this,null,function*(){try{let r=G(this.sdk.testMode?L.LogoutTestMode:L.Logout),i=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),e(i)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=G(L.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=G(this.sdk.testMode?L.UserSettingsTestMode:L.UserSettings,[e]),i=this.request(r);return!t&&i&&(i.on(ve.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(ve.SendNewPhoneNumber,r.id)(a)}),i.on(ve.SendOtpCode,a=>{this.createIntermediaryEvent(ve.SendOtpCode,r.id)(a)}),i.on(ve.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(ve.StartEditPhoneNumber,r.id)()}),i.on(ve.Cancel,()=>{this.createIntermediaryEvent(ve.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?L.RecoverAccountTestMode:L.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(L.RevealPK);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=G(L.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(L.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)})}},Ea=class extends Le{connectWithUI(e){let t=_e((r,i)=>Z(this,null,function*(){try{let a=G(L.Login,[gt({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:f,callback:v})=>{s.on(f,()=>v(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(L.ShowUI,[e]))}showAddress(){return this.request(G(L.ShowAddress))}showSendTokensUI(){return this.request(G(L.ShowSendTokensUI))}showOnRamp(){return this.request(G(L.ShowOnRamp))}showNFTs(){return this.request(G(L.ShowNFTs))}showBalances(){return this.request(G(L.ShowBalances))}sendGaslessTransaction(e,t){return this.request(G(L.SendGaslessTransaction,[e,t]))}},ga=class extends Le{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===L.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===L.GetInfo)return this.getInfo(e);if(e.method===L.IsLoggedIn)return this.isLoggedIn(e);if(e.method===L.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 _e((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return _e(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 _e((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 _e(e=>Z(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)}))}},{createBoundEmitterMethod:ft,createChainingEmitterMethod:Ge}=fn(),_a=class extends Le{constructor(){super(...arguments),this.isMagic=!0,this.on=Ge("on",this),this.once=Ge("once",this),this.addListener=Ge("addListener",this),this.off=Ge("off",this),this.removeListener=Ge("removeListener",this),this.removeAllListeners=Ge("removeAllListeners",this),this.emit=ft("emit"),this.eventNames=ft("eventNames"),this.listeners=ft("listeners"),this.listenerCount=ft("listenerCount")}sendAsync(e,t){if(!t)throw Bo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Re.MAGIC_HANDLE_REQUEST,e.map(r=>{let i=vt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>Ft(gt({},i.payload),{error:i.hasError?new je(i.payload.error):null})))});else{let r=vt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Re.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=Go();return r.log(),new Wt(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=G(L.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 Ia(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Le.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var Rn=class extends Le{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:_e,isPromiEvent:Bt,encodeJSON:on,decodeJSON:Co,createJsonRpcRequestPayload:G,standardizeJsonRpcRequestPayload:vt,storage:pn};let e=[this,...Ia(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 ko(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 pt(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new pt(this,e,t)}createError(e,t,r){return new _t(this,e,t,r)}},wa=class extends Rn{},xe=class extends Rn{};xe.Internal=wa,xe.Anonymous="anonymous extension";var Ra=class extends Le{purchase(e){let t=G(L.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=G(L.NFTCheckout,[Ft(gt({},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(L.NFTTransfer,[e]);return this.request(t)}};function tn(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?Ro(Oo(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function ba(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||s.name!==xe.Anonymous)&&(this[s.name]=s),s instanceof xe.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 xe.Internal&&(mt(m.config)||(i[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw Wo(a);return i}var ht=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw xo();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Vo().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=rt((r=t==null?void 0:t.endpoint)!=null?r:i).origin,this.auth=new Qo(this),this.user=new ya(this),this.wallet=new Ea(this),this.nft=new Ra(this),this.thirdPartyWallets=new ga(this),this.rpcProvider=new _a(this);let s=Sa.call(this,t);this.parameters=on(Ft(gt({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:rt(this.endpoint).host,sdk:Uo[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=ba(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.checkIsReadyForRequest})}},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 aa()}catch(v){console.error("webcrypto error",v)}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))})}var bn=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.messageHandlers=new Set,this.isConnectedToInternet=!0,this.checkIsReadyForRequest=this.waitForReady(),this.isReadyForRequest=!1,this.listen()}post(e,t){return Z(this,null,function*(){return mn((r,i)=>Z(this,null,function*(){if(!this.isConnectedToInternet){let y=It();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=>E=>{var N;let{id:_,response:O}=Oa(t,E);if(Ta(E),((N=O==null?void 0:O.payload.error)==null?void 0:N.message)==="User denied account access.")_n();else if(E.data.deviceShare){let{deviceShare:M}=E.data;pa(M,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))},v=this.on(he.MAGIC_HANDLE_RESPONSE,f(()=>v()))}))})}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(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 Fe(we.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var Kt={};_r(Kt,{AuthEventOnReceived:()=>Cr,DeepLinkPage:()=>br,DeviceVerificationEventEmit:()=>Je,DeviceVerificationEventOnReceived:()=>Tr,DisableMFAEventEmit:()=>be,DisableMFAEventOnReceived:()=>$r,EnableMFAEventEmit:()=>$e,EnableMFAEventOnReceived:()=>Dr,EthChainType:()=>Ur,Extension:()=>xe,ExtensionError:()=>_t,ExtensionWarning:()=>pt,FarcasterLoginEventEmit:()=>Pr,LocalStorageKeys:()=>ge,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Nr,LoginWithMagicLinkEventEmit:()=>Sr,LoginWithMagicLinkEventOnReceived:()=>Ar,LoginWithSmsOTPEventEmit:()=>De,LoginWithSmsOTPEventOnReceived:()=>Or,MagicIncomingWindowMessage:()=>he,MagicOutgoingWindowMessage:()=>Re,MagicPayloadMethod:()=>L,NftCheckoutIntermediaryEvents:()=>Ue,RPCError:()=>je,RPCErrorCode:()=>Be,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Lr,RecoverAccountEventEmit:()=>ye,RecoverAccountEventOnReceived:()=>kr,RecoveryFactorEventEmit:()=>ve,RecoveryFactorEventOnReceived:()=>xr,RecoveryMethodType:()=>Fr,SDKError:()=>Se,SDKErrorCode:()=>Ie,SDKWarning:()=>Fe,SDKWarningCode:()=>we,ThirdPartyWalletEvents:()=>Rr,UiEventsEmit:()=>Br,UpdateEmailEventEmit:()=>ne,UpdateEmailEventOnReceived:()=>Mr,UserEventsEmit:()=>at,UserEventsOnReceived:()=>st,WalletEventOnReceived:()=>Wr,isPromiEvent:()=>Bt,routeToMagicMethods:()=>$t});var St=wr(An()),Xt=wr(Nn());var La={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function Ma(e){for(let[t,r]of Object.entries(La))e.style[t]=r}function Ca(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var Tn=1e3,Ln=60*Tn,Pa=15*Tn,Da=2*Ln,$a=60*Ln,bt=class extends bn{constructor(){super(...arguments);this.activeElement=null;this.lastPingTime=Date.now();this.intervalTimer=null;this.timeoutTimer=null}getIframeSrc(){return rt(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}init(){this.test="hello",this.iframe=new Promise(r=>{let i=()=>{if(Ca(encodeURIComponent(this.parameters)))cn().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=rt(this.endpoint).host,a.title="Secure Modal",a.src=this.getIframeSrc(),a.allow="clipboard-read; clipboard-write",Ma(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",()=>Ee(this,null,function*(){yield this.startHeartBeat()}))}),window.addEventListener("message",r=>{var i;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.msgType.includes(he.MAGIC_PONG)&&(this.lastPingTime=Date.now()),r.data.response=(i=r.data.response)!=null?i:{};for(let s of this.messageHandlers.values())s(r)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}showOverlay(){return Ee(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 Ee(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 Ee(this,null,function*(){let i=yield this.iframe;if(i&&i.contentWindow)i.contentWindow.postMessage(r,this.endpoint);else throw It()})}heartBeatCheck(){this.intervalTimer=setInterval(()=>Ee(this,null,function*(){let r={msgType:`${Re.MAGIC_PING}-${this.parameters}`,payload:[]};yield this._post(r),Date.now()-this.lastPingTime>Pa&&(yield this.reloadIframe(),this.lastPingTime=Date.now())}),Da)}startHeartBeat(){return Ee(this,null,function*(){(yield this.iframe)&&(this.timeoutTimer=setTimeout(()=>this.heartBeatCheck(),$a))})}stopHeartBeat(){this.timeoutTimer&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null),this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}reloadIframe(){return Ee(this,null,function*(){let r=yield this.iframe;if(r)r.src=this.getIframeSrc();else throw It()})}};var Ua=Object.assign(sn(qt,{platform:"web",sdkName:"magic-sdk",version:"29.0.0",defaultEndpoint:"https://auth.magic.link/",ViewController:bt,configureStorage:()=>Ee(void 0,null,function*(){let e=St.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Xt),yield e.setDriver([St.default.INDEXEDDB,St.default.LOCALSTORAGE,Xt._driver]),e})}),Er({},Kt)),xa=Ua;return Li(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.0",
3
+ "version": "29.0.1-canary.3ad7748.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.0",
33
- "@magic-sdk/provider": "^29.0.0",
32
+ "@magic-sdk/commons": "25.0.1-canary.3ad7748.0",
33
+ "@magic-sdk/provider": "29.0.1-canary.3ad7748.0",
34
34
  "@magic-sdk/types": "^24.18.0",
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": "18b136a121154eee987e6bcc7e766bf38e40ad94"
43
+ "gitHead": "3ad774823dc5178d1bc19d8fdbb4b0b77ffb6ef5"
44
44
  }