magic-sdk 29.0.1-canary.860.13689285716.0 → 29.0.1-canary.860.13689524404.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/magic.js CHANGED
@@ -8,5 +8,5 @@ ${E}`),e.finish(L=>{b(sa(L))})}return{flushController:r,add:p,upsert:p,stop:i.un
8
8
  - Extension \`${r.name}\` supports version(s) \`${n}\``:n||(t+=`
9
9
  - Extension \`${r.name}\` does not support ${ee.platform} environments.`)}),new rt(Ke.IncompatibleExtensions,t)}function Hf(e){let t=r=>{let n=r+1,o=n%10,i=n%100;return o===1&&i!==11?`${n}st`:o===2&&i!==12?`${n}nd`:o===3&&i!==13?`${n}rd`:`${n}th`};return new rt(Ke.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
10
10
  Expected: \`${e.expected}\`
11
- Received: \`${e.received}\``)}function tc(){return new Nt(He.DuplicateIframe,"Duplicate iframes found.")}function Yf(){return new Nt(He.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 qf(){return new Nt(He.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 \`${ee.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function zf(e){let{method:t,removalVersions:r,useInstead:n}=e,o=r[ee.sdkName],i=n?` Use \`${n}\` instead.`:"",a=`\`${t}\` will be removed from \`${ee.sdkName}\` in version \`${o}\`.${i}`;return new Nt(He.DeprecationNotice,a)}function*Xf(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Jf=Xf();function rc(){return Jf.next().value}var nc=Symbol("Payload pre-processed by Magic SDK");function oc(e){return Object.defineProperty(e,nc,{value:!0,enumerable:!1}),e}function Qf(e){return!!e[nc]}function Pn(e){var t,r,n;return Qf(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=rc(),e.method=(r=e.method)!=null?r:"noop",e.params=(n=e.params)!=null?n:[],oc(e)),e}function H(e,t=[]){return oc({params:t,method:e,jsonrpc:"2.0",id:rc()})}var oi=class{constructor(e){e instanceof oi?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Ff(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}}},Zf=Hd(Yd()),ep=class extends Zf.default{};function ic(){let e=new ep;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...n)=>(e[t].apply(e,n),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var sc=Symbol("isPromiEvent");function ii(e){return!!e[sc]}function Ve(e){let t=ac(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:n}=ic(),o=Symbol("Promise.then"),i=Symbol("Promise.catch"),a=Symbol("Promise.finally"),l=(d,y)=>(...E)=>{let S=y[d].apply(y,E);return u(S)},u=d=>Object.assign(d,{[sc]:!0,[o]:d[o]||d.then,[i]:d[i]||d.catch,[a]:d[a]||d.finally,then:l(o,d),catch:l(i,d),finally:l(a,d),on:n("on",d),once:n("once",d),addListener:n("addListener",d),off:n("off",d),removeListener:n("removeListener",d),removeAllListeners:n("removeAllListeners",d),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),p=u(t.then(d=>(p.emit("done",d),p.emit("settled"),d),d=>{throw p.emit("error",d),p.emit("settled"),d}));return p.on(Gr.ClosedByUser,()=>{p.emit(Br.ClosedByUser)}),p}function ac(e){return new Promise((t,r)=>{let n=e(t,r);Promise.resolve(n).catch(r)})}var pt=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!Qn.includes(e.method))return Ve((o,i)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(o).catch(i)});let t=this.overlay.post(Et.MAGIC_HANDLE_REQUEST,Pn(e)),r=Ve((o,i)=>{t.then(a=>{if(n(),a.hasError)i(new or(a.payload.error));else if(a.hasResult)o(a.payload.result);else throw Wf()}).catch(a=>{n(),i(a)})}),n=this.overlay.on(Be.MAGIC_HANDLE_EVENT,o=>{var i;let{response:a}=o.data;if(a.id===e.id&&((i=a.result)==null?void 0:i.event)){let{event:l,params:u=[]}=a.result;r.emit(l,...u)}});return r}createIntermediaryEvent(e,t){return r=>{let n=H(P.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(n)}}};function tp(e,t){let[r]=e.split(".").map(Number);return r>=t}var rp={"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"},np=class extends pt{loginWithMagicLink(e){let t=ee.sdkName==="@magic-sdk/react-native"||ee.sdkName==="@magic-sdk/react-native-bare"||ee.sdkName==="@magic-sdk/react-native-expo";if(t&&tp(ee.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&zf({method:"auth.loginWithMagicLink()",removalVersions:rp,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:n=!0,redirectURI:o,overrides:i,lifespan:a}=e,l=H(this.sdk.testMode?P.LoginWithMagicLinkTestMode:P.LoginWithMagicLink,[{email:r,showUI:n,redirectURI:o,overrides:i,lifespan:a}]);return this.request(l)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:n}=e,o=H(this.sdk.testMode?P.LoginWithSmsTestMode:P.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:n}]),i=this.request(o);return!r&&i&&(i.on(yt.VerifySmsOtp,a=>{this.createIntermediaryEvent(yt.VerifySmsOtp,o.id)(a)}),i.on(yt.Cancel,()=>{this.createIntermediaryEvent(yt.Cancel,o.id)()})),i}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:n,overrides:o,lifespan:i}=e,a=H(this.sdk.testMode?P.LoginWithEmailOTPTestMode:P.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:n,overrides:o,lifespan:i}]),l=this.request(a);return!n&&l&&l.on(fr.Retry,()=>{this.createIntermediaryEvent(fr.Retry,a.id)()}),!r&&l&&(l.on(Te.VerifyEmailOtp,u=>{this.createIntermediaryEvent(Te.VerifyEmailOtp,a.id)(u)}),l.on(Te.VerifyMFACode,u=>{this.createIntermediaryEvent(Te.VerifyMFACode,a.id)(u)}),l.on(Te.LostDevice,()=>{this.createIntermediaryEvent(Te.LostDevice,a.id)()}),l.on(Te.VerifyRecoveryCode,u=>{this.createIntermediaryEvent(Te.VerifyRecoveryCode,a.id)(u)}),l.on(Te.Cancel,()=>{this.createIntermediaryEvent(Te.Cancel,a.id)()})),l}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},n=t!=null?t:"";if(!t&&ee.platform==="web"){n=window.location.search;let i=window.location.origin+window.location.pathname;window.history.replaceState(null,"",i)}let o=H(this.sdk.testMode?P.LoginWithCredentialTestMode:P.LoginWithCredential,[n,r]);return this.request(o)}setAuthorizationToken(e){let t=H(P.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,n=H(this.sdk.testMode?P.UpdateEmailTestMode:P.UpdateEmail,[{email:t,showUI:r}]),o=this.request(n);return r||(o.on(_e.Retry,()=>{this.createIntermediaryEvent(_e.Retry,n.id)()}),o.on(_e.Cancel,()=>{this.createIntermediaryEvent(_e.Cancel,n.id)()}),o.on(_e.VerifyEmailOtp,i=>{this.createIntermediaryEvent(_e.VerifyEmailOtp,n.id)(i)}),o.on(_e.VerifyMFACode,i=>{this.createIntermediaryEvent(_e.VerifyMFACode,n.id)(i)}),o.on(de.RetryWithNewEmail,i=>{this.createIntermediaryEvent(de.RetryWithNewEmail,n.id)(i)}),o.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,n.id)()}),o.on(de.VerifyEmailOtp,i=>{this.createIntermediaryEvent(de.VerifyEmailOtp,n.id)(i)})),o}},cc={};Vd(cc,{clear:()=>op,getItem:()=>Me,iterate:()=>lc,key:()=>sp,keys:()=>ap,length:()=>ip,removeItem:()=>kn,setItem:()=>ft});var An;function mt(e){return(...t)=>ie(this,null,function*(){return An||(An=yield ee.configureStorage()),yield An.ready(),An[e](...t)})}var Me=mt("getItem"),ft=mt("setItem"),kn=mt("removeItem"),op=mt("clear"),ip=mt("length"),sp=mt("key"),ap=mt("keys"),lc=mt("iterate");function cp(){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 uc="STORE_KEY_PRIVATE_KEY",Zo="STORE_KEY_PUBLIC_JWK",dc="ECDSA",lp="P-256",up={name:dc,namedCurve:lp};function Un(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function dp(){return ie(this,null,function*(){let e=yield fp();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield Me(uc);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let n={iat:Math.floor(new Date().getTime()/1e3),jti:cp()},o={typ:"dpop+jwt",alg:"ES256",jwk:e},i={protected:Ya(JSON.stringify(o)),claims:Ya(JSON.stringify(n))},a=mp(`${i.protected}.${i.claims}`),l={name:dc,hash:{name:"SHA-256"}},u=gp(new Uint8Array(yield t.sign(l,r,a)));return`${i.protected}.${i.claims}.${u}`})}function fp(){return ie(this,null,function*(){if(!Un()){console.info("webcrypto is not supported");return}return(yield Me(Zo))||(yield pp()),Me(Zo)})}function pp(){return ie(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(up,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield ft(uc,t.privateKey),yield ft(Zo,r)})}function Ya(e){return fc(hp(e))}function mp(e){return new TextEncoder().encode(e)}function fc(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function hp(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function gp(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),fc(t)}var si="ds",ai="ek",ci="iv",li="AES-GCM",Ep=256;function pc(){return ie(this,null,function*(){let e=[];yield lc((t,r,n)=>{r.startsWith(`${si}_`)&&e.push(r)});for(let t of e)yield kn(t)})}function mc(e){let t="",r=new Uint8Array(e),n=r.byteLength;for(let o=0;o<n;o++)t+=String.fromCharCode(r[o]);return window.btoa(t)}function hc(e){let t=window.atob(e),r=t.length,n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t.charCodeAt(o);return n.buffer}function yp(){return ie(this,null,function*(){if(!Un()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield Me(ci))||e.getRandomValues(new Uint8Array(12))})}function vp(){return ie(this,null,function*(){if(!Un()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield Me(ai))||(yield e.generateKey({name:li,length:Ep},!1,["encrypt","decrypt"]))})}function _p(e,t){return ie(this,null,function*(){let r=yield yp(),n=yield vp();if(!r||!n||!e)return;let o=hc(e),{subtle:i}=window.crypto,a=yield i.encrypt({name:li,iv:r},n,o),l=mc(a);yield ft(`${si}_${t}`,l),yield ft(ai,n),yield ft(ci,r)})}function Sp(e){return ie(this,null,function*(){let t=yield Me(`${si}_${e}`),r=yield Me(ci),n=yield Me(ai);if(!r||!t||!n||!Un())return;let{subtle:o}=window.crypto,i=yield o.decrypt({name:li,iv:r},n,hc(t));return mc(i)})}function Dr(e,t){return t?new URL(e,t):new URL(e)}var bp=class extends pt{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=H(this.sdk.testMode?P.GetIdTokenTestMode:P.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=H(this.sdk.testMode?P.GenerateIdTokenTestMode:P.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=H(P.GetInfo,[]);return this.request(e)}isLoggedIn(){return Ve((e,t)=>ie(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield Me(this.localForageIsLoggedInKey))==="true",r&&e(!0));let n=H(this.sdk.testMode?P.IsLoggedInTestMode:P.IsLoggedIn),o=yield this.request(n);this.sdk.useStorageCache&&(o?ft(this.localForageIsLoggedInKey,!0):kn(this.localForageIsLoggedInKey),r&&!o&&this.emitUserLoggedOut(!0)),e(o)}catch(r){t(r)}}))}logout(){return kn(this.localForageIsLoggedInKey),pc(),Ve((e,t)=>ie(this,null,function*(){try{let r=H(this.sdk.testMode?P.LogoutTestMode:P.Logout),n=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(n),e(n)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=H(P.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=H(this.sdk.testMode?P.UserSettingsTestMode:P.UserSettings,[e]),n=this.request(r);return!t&&n&&(n.on(ke.SendNewPhoneNumber,o=>{this.createIntermediaryEvent(ke.SendNewPhoneNumber,r.id)(o)}),n.on(ke.SendOtpCode,o=>{this.createIntermediaryEvent(ke.SendOtpCode,r.id)(o)}),n.on(ke.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(ke.StartEditPhoneNumber,r.id)()}),n.on(ke.Cancel,()=>{this.createIntermediaryEvent(ke.Cancel,r.id)()}),n.on(_e.VerifyEmailOtp,o=>{this.createIntermediaryEvent(_e.VerifyEmailOtp,r.id)(o)})),n}recoverAccount(e){let{email:t,showUI:r}=e,n=H(this.sdk.testMode?P.RecoverAccountTestMode:P.RecoverAccount,[{email:t,showUI:r}]),o=this.request(n);return!r&&o&&(o.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,n.id)()}),o.on(De.ResendSms,()=>{this.createIntermediaryEvent(De.ResendSms,n.id)()}),o.on(De.VerifyOtp,i=>{this.createIntermediaryEvent(De.VerifyOtp,n.id)(i)}),o.on(De.UpdateEmail,i=>{this.createIntermediaryEvent(De.UpdateEmail,n.id)(i)}),o.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,n.id)()}),o.on(de.RetryWithNewEmail,i=>{this.createIntermediaryEvent(de.RetryWithNewEmail,n.id)(i)}),o.on(de.VerifyEmailOtp,i=>{this.createIntermediaryEvent(de.VerifyEmailOtp,n.id)(i)})),o}revealPrivateKey(){let e=H(P.RevealPK);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=H(P.EnableMFA,[{showUI:t}]),n=this.request(r);return!t&&n&&(n.on(vt.VerifyMFACode,o=>{this.createIntermediaryEvent(vt.VerifyMFACode,r.id)(o)}),n.on(vt.Cancel,()=>{this.createIntermediaryEvent(vt.Cancel,r.id)()})),n}disableMFA(e){let{showUI:t=!0}=e,r=H(P.DisableMFA,[{showUI:t}]),n=this.request(r);return!t&&n&&(n.on(Ye.VerifyMFACode,o=>{this.createIntermediaryEvent(Ye.VerifyMFACode,r.id)(o)}),n.on(Ye.LostDevice,o=>{this.createIntermediaryEvent(Ye.LostDevice,r.id)(o)}),n.on(Ye.Cancel,()=>{this.createIntermediaryEvent(Ye.Cancel,r.id)()})),n}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},Ip=class extends pt{connectWithUI(e){let t=Ve((r,n)=>ie(this,null,function*(){try{let o=H(P.Login,[nr({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),i=this.request(o);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:l,callback:u})=>{i.on(l,()=>u(o.id))}),i.on("id-token-created",l=>{t.emit("id-token-created",l)});let a=yield i;a.error&&n(a),r(a)}catch(o){n(o)}}));return t}showUI(e){return this.request(H(P.ShowUI,[e]))}showAddress(){return this.request(H(P.ShowAddress))}showSendTokensUI(){return this.request(H(P.ShowSendTokensUI))}showOnRamp(){return this.request(H(P.ShowOnRamp))}showNFTs(){return this.request(H(P.ShowNFTs))}showBalances(){return this.request(H(P.ShowBalances))}sendGaslessTransaction(e,t){return this.request(H(P.SendGaslessTransaction,[e,t]))}},Tp=class extends pt{constructor(){super(...arguments),this.eventListeners=[],this.enabledWallets={},this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(Fe.PROVIDER),localStorage.removeItem(Fe.ADDRESS),localStorage.removeItem(Fe.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===P.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===P.GetInfo)return this.getInfo(e);if(e.method===P.IsLoggedIn)return this.isLoggedIn(e);if(e.method===P.Logout)return this.logout(e);switch(localStorage.getItem(Fe.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(Fe.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(Fe.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(Fe.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return Ve((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return Ve(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:n})=>{n==="connected"&&(r(),e(!0)),n==="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 Ve((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 n=this.sdk.web3modal.modal.subscribeProvider(({status:o})=>{o==="connected"&&(n(),e(this.formatWeb3modalGetInfoResponse())),o==="disconnected"&&(n(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return Ve(e=>ie(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)}))}},{createBoundEmitterMethod:Cn,createChainingEmitterMethod:tr}=ic(),Rp=class extends pt{constructor(){super(...arguments),this.isMagic=!0,this.on=tr("on",this),this.once=tr("once",this),this.addListener=tr("addListener",this),this.off=tr("off",this),this.removeListener=tr("removeListener",this),this.removeAllListeners=tr("removeAllListeners",this),this.emit=Cn("emit"),this.eventNames=Cn("eventNames"),this.listeners=Cn("listeners"),this.listenerCount=Cn("listenerCount")}sendAsync(e,t){if(!t)throw Hf({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Et.MAGIC_HANDLE_REQUEST,e.map(r=>{let n=Pn(r);return this.prefixPayloadMethodForTestMode(n),n})).then(r=>{t(null,r.map(n=>ti(nr({},n.payload),{error:n.hasError?new or(n.payload.error):null})))});else{let r=Pn(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Et.MAGIC_HANDLE_REQUEST,r).then(n=>{t(n.hasError?new or(n.payload.error):null,n.payload)})}}send(e,t){if(typeof e=="string"){let n=H(e,Array.isArray(t)?t:[]);return this.request(n)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=Yf();return r.log(),new oi(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=H(P.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}`)}},qa=["request","overlay","sdk"];function wp(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==pt.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var gc=class extends pt{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Ve,isPromiEvent:ii,encodeJSON:Qa,decodeJSON:$f,createJsonRpcRequestPayload:H,standardizeJsonRpcRequestPayload:Pn,storage:cc};let e=[this,...wp(this)];qa.forEach(t=>{let r=e.map(a=>Object.getOwnPropertyDescriptor(a,t)),n=r.findIndex(a=>!!a),o=n>0,i=r[n];i&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:i,isPrototypeField:o}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Vf(t)}}))})}init(e){this.__is_initialized__||(qa.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:n}=this.__sdk_access_field_descriptors__.get(t);n?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:n}=e,o=n?` Use \`${n}\` instead.`:"",i=`\`${t}\` will be removed from this Extension in version \`${r}\`.${o}`;return new Mn(this,"DEPRECATION_NOTICE",i)}createWarning(e,t){return new Mn(this,e,t)}createError(e,t,r){return new $n(this,e,t,r)}},xp=class extends gc{},Ct=class extends gc{};Ct.Internal=xp,Ct.Anonymous="anonymous extension";var Op=class extends pt{purchase(e){let t=H(P.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=H(P.NFTCheckout,[ti(nr({},e),{walletProvider:t?"web3modal":"magic"})]),n=this.request(r);return t&&(n.on(_t.Initiated,o=>ie(this,null,function*(){try{let i=yield this.request({method:"eth_sendTransaction",params:[o]});this.createIntermediaryEvent(_t.Success,r.id)(i)}catch(i){this.createIntermediaryEvent(_t.Failure,r.id)()}})),n.on(_t.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),n.emit("disconnect")})),n}transfer(e){let t=H(P.NFTTransfer,[e]);return this.request(t)}},Ap=["log","debug","info","warn","error"];Rn.init({clientToken:"pube2f71cb15fa207650d3c38c76cee479e",site:"datadoghq.com",service:"mandrake",version:"29.0.0",forwardErrorsToLogs:!0,usePartitionedCrossSiteSessionCookie:!0,sessionSampleRate:100,useSecureSessionCookie:!0});var ir=Cp(),Qo;function Cp(){if(!Qo){let e=Rn.logger;Qo=new Proxy(e,{get(t,r){return Ap.includes(r)?(n,o,i,a)=>{let l=nr(nr({},{}),o);r==="log"?t.log(n,l,i,a):t[r](n,l),console.log("Magic SDK Log:",n)}:t[r]}})}return Qo}function za(e){return e.compat&&e.compat[ee.sdkName]!=null?typeof e.compat[ee.sdkName]=="string"?Of(Lf(ee.version),e.compat[ee.sdkName]):!!e.compat[ee.sdkName]:!0}function Np(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 Lp(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],n={},o=[];if(Array.isArray(r)?r.forEach(i=>{za(i)?(i.init(this),(i.name||i.name!==Ct.Anonymous)&&(this[i.name]=i),i instanceof Ct.Internal&&(Ln(i.config)||(n[i.name]=i.config))):o.push(i)}):Object.keys(r).forEach(i=>{if(za(r[i])){r[i].init(this);let a=r[i];this[i]=a,a instanceof Ct.Internal&&(Ln(a.config)||(n[r[i].name]=a.config))}else o.push(r[i])}),o.length)throw Kf(o);return n}var ei,Fn,Nn=class{constructor(e,t){this.apiKey=e;var r;if(ei=performance.now(),ir.log("Magic SDK initialization started",{apiKey:e}),Fn=setTimeout(()=>{ir.error("Magic SDK initialization takes more than 30s")},3e4),!e)throw jf();ee.platform==="react-native"&&(t==null?void 0:t.endpoint)&&qf().log();let{defaultEndpoint:n,version:o}=ee;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=Dr((r=t==null?void 0:t.endpoint)!=null?r:n).origin,this.auth=new np(this),this.user=new bp(this),this.wallet=new Ip(this),this.nft=new Op(this),this.thirdPartyWallets=new Tp(this),this.rpcProvider=new Rp(this);let i=Lp.call(this,t);this.parameters=Qa(ti(nr({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:Dr(this.endpoint).host,sdk:Gf[ee.sdkName],version:o,ext:Ln(i)?void 0:i,locale:(t==null?void 0:t.locale)||"en_US"},ee.bundleId?{bundleId:ee.bundleId}:{}),{meta:t==null?void 0:t.meta})),this.networkHash=Np(this.apiKey,t==null?void 0:t.network,Ln(i)?void 0:i),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!Nn.__overlays__.has(this.parameters)){let e=new ee.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),Nn.__overlays__.set(this.parameters,e)}return Nn.__overlays__.get(this.parameters)}preload(){return ie(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},ui=Nn;ui.__overlays__=new Map;function Mp(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function Pp(e,t){var r;let n=(r=t.data.response)==null?void 0:r.id,o=Mp(e,n);if(n&&o){let i=new oi(o).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:n,response:i}}return{}}function kp(e,t,r){return ie(this,null,function*(){var n;let o=yield Me("rt"),i;if(ee.platform==="web")try{i=(n=yield Me("jwt"))!=null?n:yield dp()}catch(u){console.error("webcrypto error",u)}let a={msgType:e,payload:t};i&&(a.jwt=i),i&&o&&(a.rt=o);let l=yield Sp(r);return l&&(a.deviceShare=l),a})}function Dp(e){return ie(this,null,function*(){!e.data.rt||(yield ft("rt",e.data.rt))})}var Ec=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 ie(this,null,function*(){return ac((r,n)=>ie(this,null,function*(){if(!this.isConnectedToInternet){let p=ni();n(p)}this.isReadyForRequest||(ir.warn("Request is pending for overlay being ready",{duration:performance.now()-ei}),yield this.waitForReady());let o=[],i=Array.isArray(t)?t.map(p=>p.id):[],a=yield kp(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(a);let l=p=>d=>{var y;let{id:E,response:S}=Pp(t,d);if(Dp(d),((y=S==null?void 0:S.payload.error)==null?void 0:y.message)==="User denied account access.")pc();else if(d.data.deviceShare){let{deviceShare:b}=d.data;_p(b,this.networkHash)}E&&S&&Array.isArray(t)&&i.includes(E)?(o.push(S),o.length===t.length&&(p(),r(o))):E&&S&&!Array.isArray(t)&&E===t.id&&(p(),r(S))},u=this.on(Be.MAGIC_HANDLE_RESPONSE,l(()=>u()))}))})}on(e,t){let r=t.bind(window),n=o=>{o.data.msgType===`${e}-${this.parameters}`&&r(o)};return this.messageHandlers.add(n),()=>this.messageHandlers.delete(n)}waitForReady(){return new Promise(e=>{let t=this.on(Be.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),clearTimeout(Fn),ir.warn("Magic Overlay is ready for requests",{duration:performance.now()-ei}),t()})})}listen(){this.on(Be.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(Be.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(Be.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new Nt(He.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var di={};Ui(di,{AuthEventOnReceived:()=>Xi,DeepLinkPage:()=>ji,DeviceVerificationEventEmit:()=>fr,DeviceVerificationEventOnReceived:()=>Yi,DisableMFAEventEmit:()=>Ye,DisableMFAEventOnReceived:()=>Zi,EnableMFAEventEmit:()=>vt,EnableMFAEventOnReceived:()=>Qi,EthChainType:()=>es,Extension:()=>Ct,ExtensionError:()=>$n,ExtensionWarning:()=>Mn,FarcasterLoginEventEmit:()=>Ji,LocalStorageKeys:()=>Fe,LoginWithEmailOTPEventEmit:()=>Te,LoginWithEmailOTPEventOnReceived:()=>Hi,LoginWithMagicLinkEventEmit:()=>Wi,LoginWithMagicLinkEventOnReceived:()=>Vi,LoginWithSmsOTPEventEmit:()=>yt,LoginWithSmsOTPEventOnReceived:()=>Ki,MagicIncomingWindowMessage:()=>Be,MagicOutgoingWindowMessage:()=>Et,MagicPayloadMethod:()=>P,NftCheckoutIntermediaryEvents:()=>_t,RPCError:()=>or,RPCErrorCode:()=>kt,RecencyCheckEventEmit:()=>_e,RecencyCheckEventOnReceived:()=>qi,RecoverAccountEventEmit:()=>De,RecoverAccountEventOnReceived:()=>ns,RecoveryFactorEventEmit:()=>ke,RecoveryFactorEventOnReceived:()=>ts,RecoveryMethodType:()=>rs,SDKError:()=>rt,SDKErrorCode:()=>Ke,SDKWarning:()=>Nt,SDKWarningCode:()=>He,ThirdPartyWalletEvents:()=>Gi,UiEventsEmit:()=>is,UpdateEmailEventEmit:()=>de,UpdateEmailEventOnReceived:()=>zi,UserEventsEmit:()=>Br,UserEventsOnReceived:()=>Gr,WalletEventOnReceived:()=>os,isPromiEvent:()=>ii,routeToMagicMethods:()=>Qn});var jn=Bi(vc()),pi=Bi(Sc());var $p={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function Up(e){for(let[t,r]of Object.entries($p))e.style[t]=r}function Fp(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var Gn=class extends Ec{constructor(){super(...arguments);this.activeElement=null}getIframeSrc(){return Dr(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}init(){this.test="hello",this.iframe=new Promise(r=>{let n=()=>{if(Fp(encodeURIComponent(this.parameters)))tc().log();else{let o=document.createElement("iframe");o.classList.add("magic-iframe"),o.dataset.magicIframeLabel=Dr(this.endpoint).host,o.title="Secure Modal",o.src=this.getIframeSrc(),o.allow="clipboard-read; clipboard-write",Up(o),document.body.appendChild(o),r(o)}};["loaded","interactive","complete"].includes(document.readyState)?n():window.addEventListener("load",n,!1)}),window.addEventListener("message",r=>{var n;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.response=(n=r.data.response)!=null?n:{};for(let o of this.messageHandlers.values())o(r)}})}showOverlay(){return Pt(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 Pt(this,null,function*(){var n;let r=yield this.iframe;r.style.visibility="hidden",r.style.zIndex="-1",r.style.opacity="0",(n=this.activeElement)!=null&&n.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return Pt(this,null,function*(){let n=yield this.iframe;if(n&&n.contentWindow)n.contentWindow.postMessage(r,this.endpoint),ir.info("Request has been sent the iframe",{data:r}),clearTimeout(Fn);else throw ni()})}};var Bp=Object.assign(ec(ui,{platform:"web",sdkName:"magic-sdk",version:"29.0.0",defaultEndpoint:"https://auth.magic.link/",ViewController:Gn,configureStorage:()=>Pt(void 0,null,function*(){let e=jn.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(pi),yield e.setDriver([jn.default.INDEXEDDB,jn.default.LOCALSTORAGE,pi._driver]),e})}),Di({},di)),Gp=Bp;return Sl(jp);})();
11
+ Received: \`${e.received}\``)}function tc(){return new Nt(He.DuplicateIframe,"Duplicate iframes found.")}function Yf(){return new Nt(He.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 qf(){return new Nt(He.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 \`${ee.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function zf(e){let{method:t,removalVersions:r,useInstead:n}=e,o=r[ee.sdkName],i=n?` Use \`${n}\` instead.`:"",a=`\`${t}\` will be removed from \`${ee.sdkName}\` in version \`${o}\`.${i}`;return new Nt(He.DeprecationNotice,a)}function*Xf(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var Jf=Xf();function rc(){return Jf.next().value}var nc=Symbol("Payload pre-processed by Magic SDK");function oc(e){return Object.defineProperty(e,nc,{value:!0,enumerable:!1}),e}function Qf(e){return!!e[nc]}function Pn(e){var t,r,n;return Qf(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=rc(),e.method=(r=e.method)!=null?r:"noop",e.params=(n=e.params)!=null?n:[],oc(e)),e}function H(e,t=[]){return oc({params:t,method:e,jsonrpc:"2.0",id:rc()})}var oi=class{constructor(e){e instanceof oi?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Ff(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}}},Zf=Hd(Yd()),ep=class extends Zf.default{};function ic(){let e=new ep;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...n)=>(e[t].apply(e,n),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var sc=Symbol("isPromiEvent");function ii(e){return!!e[sc]}function Ve(e){let t=ac(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:n}=ic(),o=Symbol("Promise.then"),i=Symbol("Promise.catch"),a=Symbol("Promise.finally"),l=(d,y)=>(...E)=>{let S=y[d].apply(y,E);return u(S)},u=d=>Object.assign(d,{[sc]:!0,[o]:d[o]||d.then,[i]:d[i]||d.catch,[a]:d[a]||d.finally,then:l(o,d),catch:l(i,d),finally:l(a,d),on:n("on",d),once:n("once",d),addListener:n("addListener",d),off:n("off",d),removeListener:n("removeListener",d),removeAllListeners:n("removeAllListeners",d),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),p=u(t.then(d=>(p.emit("done",d),p.emit("settled"),d),d=>{throw p.emit("error",d),p.emit("settled"),d}));return p.on(Gr.ClosedByUser,()=>{p.emit(Br.ClosedByUser)}),p}function ac(e){return new Promise((t,r)=>{let n=e(t,r);Promise.resolve(n).catch(r)})}var pt=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!Qn.includes(e.method))return Ve((o,i)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(o).catch(i)});let t=this.overlay.post(Et.MAGIC_HANDLE_REQUEST,Pn(e)),r=Ve((o,i)=>{t.then(a=>{if(n(),a.hasError)i(new or(a.payload.error));else if(a.hasResult)o(a.payload.result);else throw Wf()}).catch(a=>{n(),i(a)})}),n=this.overlay.on(Be.MAGIC_HANDLE_EVENT,o=>{var i;let{response:a}=o.data;if(a.id===e.id&&((i=a.result)==null?void 0:i.event)){let{event:l,params:u=[]}=a.result;r.emit(l,...u)}});return r}createIntermediaryEvent(e,t){return r=>{let n=H(P.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(n)}}};function tp(e,t){let[r]=e.split(".").map(Number);return r>=t}var rp={"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"},np=class extends pt{loginWithMagicLink(e){let t=ee.sdkName==="@magic-sdk/react-native"||ee.sdkName==="@magic-sdk/react-native-bare"||ee.sdkName==="@magic-sdk/react-native-expo";if(t&&tp(ee.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&zf({method:"auth.loginWithMagicLink()",removalVersions:rp,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:n=!0,redirectURI:o,overrides:i,lifespan:a}=e,l=H(this.sdk.testMode?P.LoginWithMagicLinkTestMode:P.LoginWithMagicLink,[{email:r,showUI:n,redirectURI:o,overrides:i,lifespan:a}]);return this.request(l)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:n}=e,o=H(this.sdk.testMode?P.LoginWithSmsTestMode:P.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:n}]),i=this.request(o);return!r&&i&&(i.on(yt.VerifySmsOtp,a=>{this.createIntermediaryEvent(yt.VerifySmsOtp,o.id)(a)}),i.on(yt.Cancel,()=>{this.createIntermediaryEvent(yt.Cancel,o.id)()})),i}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:n,overrides:o,lifespan:i}=e,a=H(this.sdk.testMode?P.LoginWithEmailOTPTestMode:P.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:n,overrides:o,lifespan:i}]),l=this.request(a);return!n&&l&&l.on(fr.Retry,()=>{this.createIntermediaryEvent(fr.Retry,a.id)()}),!r&&l&&(l.on(Te.VerifyEmailOtp,u=>{this.createIntermediaryEvent(Te.VerifyEmailOtp,a.id)(u)}),l.on(Te.VerifyMFACode,u=>{this.createIntermediaryEvent(Te.VerifyMFACode,a.id)(u)}),l.on(Te.LostDevice,()=>{this.createIntermediaryEvent(Te.LostDevice,a.id)()}),l.on(Te.VerifyRecoveryCode,u=>{this.createIntermediaryEvent(Te.VerifyRecoveryCode,a.id)(u)}),l.on(Te.Cancel,()=>{this.createIntermediaryEvent(Te.Cancel,a.id)()})),l}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},n=t!=null?t:"";if(!t&&ee.platform==="web"){n=window.location.search;let i=window.location.origin+window.location.pathname;window.history.replaceState(null,"",i)}let o=H(this.sdk.testMode?P.LoginWithCredentialTestMode:P.LoginWithCredential,[n,r]);return this.request(o)}setAuthorizationToken(e){let t=H(P.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,n=H(this.sdk.testMode?P.UpdateEmailTestMode:P.UpdateEmail,[{email:t,showUI:r}]),o=this.request(n);return r||(o.on(_e.Retry,()=>{this.createIntermediaryEvent(_e.Retry,n.id)()}),o.on(_e.Cancel,()=>{this.createIntermediaryEvent(_e.Cancel,n.id)()}),o.on(_e.VerifyEmailOtp,i=>{this.createIntermediaryEvent(_e.VerifyEmailOtp,n.id)(i)}),o.on(_e.VerifyMFACode,i=>{this.createIntermediaryEvent(_e.VerifyMFACode,n.id)(i)}),o.on(de.RetryWithNewEmail,i=>{this.createIntermediaryEvent(de.RetryWithNewEmail,n.id)(i)}),o.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,n.id)()}),o.on(de.VerifyEmailOtp,i=>{this.createIntermediaryEvent(de.VerifyEmailOtp,n.id)(i)})),o}},cc={};Vd(cc,{clear:()=>op,getItem:()=>Me,iterate:()=>lc,key:()=>sp,keys:()=>ap,length:()=>ip,removeItem:()=>kn,setItem:()=>ft});var An;function mt(e){return(...t)=>ie(this,null,function*(){return An||(An=yield ee.configureStorage()),yield An.ready(),An[e](...t)})}var Me=mt("getItem"),ft=mt("setItem"),kn=mt("removeItem"),op=mt("clear"),ip=mt("length"),sp=mt("key"),ap=mt("keys"),lc=mt("iterate");function cp(){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 uc="STORE_KEY_PRIVATE_KEY",Zo="STORE_KEY_PUBLIC_JWK",dc="ECDSA",lp="P-256",up={name:dc,namedCurve:lp};function Un(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function dp(){return ie(this,null,function*(){let e=yield fp();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield Me(uc);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let n={iat:Math.floor(new Date().getTime()/1e3),jti:cp()},o={typ:"dpop+jwt",alg:"ES256",jwk:e},i={protected:Ya(JSON.stringify(o)),claims:Ya(JSON.stringify(n))},a=mp(`${i.protected}.${i.claims}`),l={name:dc,hash:{name:"SHA-256"}},u=gp(new Uint8Array(yield t.sign(l,r,a)));return`${i.protected}.${i.claims}.${u}`})}function fp(){return ie(this,null,function*(){if(!Un()){console.info("webcrypto is not supported");return}return(yield Me(Zo))||(yield pp()),Me(Zo)})}function pp(){return ie(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(up,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield ft(uc,t.privateKey),yield ft(Zo,r)})}function Ya(e){return fc(hp(e))}function mp(e){return new TextEncoder().encode(e)}function fc(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function hp(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function gp(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),fc(t)}var si="ds",ai="ek",ci="iv",li="AES-GCM",Ep=256;function pc(){return ie(this,null,function*(){let e=[];yield lc((t,r,n)=>{r.startsWith(`${si}_`)&&e.push(r)});for(let t of e)yield kn(t)})}function mc(e){let t="",r=new Uint8Array(e),n=r.byteLength;for(let o=0;o<n;o++)t+=String.fromCharCode(r[o]);return window.btoa(t)}function hc(e){let t=window.atob(e),r=t.length,n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t.charCodeAt(o);return n.buffer}function yp(){return ie(this,null,function*(){if(!Un()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield Me(ci))||e.getRandomValues(new Uint8Array(12))})}function vp(){return ie(this,null,function*(){if(!Un()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield Me(ai))||(yield e.generateKey({name:li,length:Ep},!1,["encrypt","decrypt"]))})}function _p(e,t){return ie(this,null,function*(){let r=yield yp(),n=yield vp();if(!r||!n||!e)return;let o=hc(e),{subtle:i}=window.crypto,a=yield i.encrypt({name:li,iv:r},n,o),l=mc(a);yield ft(`${si}_${t}`,l),yield ft(ai,n),yield ft(ci,r)})}function Sp(e){return ie(this,null,function*(){let t=yield Me(`${si}_${e}`),r=yield Me(ci),n=yield Me(ai);if(!r||!t||!n||!Un())return;let{subtle:o}=window.crypto,i=yield o.decrypt({name:li,iv:r},n,hc(t));return mc(i)})}function Dr(e,t){return t?new URL(e,t):new URL(e)}var bp=class extends pt{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=H(this.sdk.testMode?P.GetIdTokenTestMode:P.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=H(this.sdk.testMode?P.GenerateIdTokenTestMode:P.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=H(P.GetInfo,[]);return this.request(e)}isLoggedIn(){return Ve((e,t)=>ie(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield Me(this.localForageIsLoggedInKey))==="true",r&&e(!0));let n=H(this.sdk.testMode?P.IsLoggedInTestMode:P.IsLoggedIn),o=yield this.request(n);this.sdk.useStorageCache&&(o?ft(this.localForageIsLoggedInKey,!0):kn(this.localForageIsLoggedInKey),r&&!o&&this.emitUserLoggedOut(!0)),e(o)}catch(r){t(r)}}))}logout(){return kn(this.localForageIsLoggedInKey),pc(),Ve((e,t)=>ie(this,null,function*(){try{let r=H(this.sdk.testMode?P.LogoutTestMode:P.Logout),n=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(n),e(n)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=H(P.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=H(this.sdk.testMode?P.UserSettingsTestMode:P.UserSettings,[e]),n=this.request(r);return!t&&n&&(n.on(ke.SendNewPhoneNumber,o=>{this.createIntermediaryEvent(ke.SendNewPhoneNumber,r.id)(o)}),n.on(ke.SendOtpCode,o=>{this.createIntermediaryEvent(ke.SendOtpCode,r.id)(o)}),n.on(ke.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(ke.StartEditPhoneNumber,r.id)()}),n.on(ke.Cancel,()=>{this.createIntermediaryEvent(ke.Cancel,r.id)()}),n.on(_e.VerifyEmailOtp,o=>{this.createIntermediaryEvent(_e.VerifyEmailOtp,r.id)(o)})),n}recoverAccount(e){let{email:t,showUI:r}=e,n=H(this.sdk.testMode?P.RecoverAccountTestMode:P.RecoverAccount,[{email:t,showUI:r}]),o=this.request(n);return!r&&o&&(o.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,n.id)()}),o.on(De.ResendSms,()=>{this.createIntermediaryEvent(De.ResendSms,n.id)()}),o.on(De.VerifyOtp,i=>{this.createIntermediaryEvent(De.VerifyOtp,n.id)(i)}),o.on(De.UpdateEmail,i=>{this.createIntermediaryEvent(De.UpdateEmail,n.id)(i)}),o.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,n.id)()}),o.on(de.RetryWithNewEmail,i=>{this.createIntermediaryEvent(de.RetryWithNewEmail,n.id)(i)}),o.on(de.VerifyEmailOtp,i=>{this.createIntermediaryEvent(de.VerifyEmailOtp,n.id)(i)})),o}revealPrivateKey(){let e=H(P.RevealPK);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=H(P.EnableMFA,[{showUI:t}]),n=this.request(r);return!t&&n&&(n.on(vt.VerifyMFACode,o=>{this.createIntermediaryEvent(vt.VerifyMFACode,r.id)(o)}),n.on(vt.Cancel,()=>{this.createIntermediaryEvent(vt.Cancel,r.id)()})),n}disableMFA(e){let{showUI:t=!0}=e,r=H(P.DisableMFA,[{showUI:t}]),n=this.request(r);return!t&&n&&(n.on(Ye.VerifyMFACode,o=>{this.createIntermediaryEvent(Ye.VerifyMFACode,r.id)(o)}),n.on(Ye.LostDevice,o=>{this.createIntermediaryEvent(Ye.LostDevice,r.id)(o)}),n.on(Ye.Cancel,()=>{this.createIntermediaryEvent(Ye.Cancel,r.id)()})),n}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},Ip=class extends pt{connectWithUI(e){let t=Ve((r,n)=>ie(this,null,function*(){try{let o=H(P.Login,[nr({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),i=this.request(o);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:l,callback:u})=>{i.on(l,()=>u(o.id))}),i.on("id-token-created",l=>{t.emit("id-token-created",l)});let a=yield i;a.error&&n(a),r(a)}catch(o){n(o)}}));return t}showUI(e){return this.request(H(P.ShowUI,[e]))}showAddress(){return this.request(H(P.ShowAddress))}showSendTokensUI(){return this.request(H(P.ShowSendTokensUI))}showOnRamp(){return this.request(H(P.ShowOnRamp))}showNFTs(){return this.request(H(P.ShowNFTs))}showBalances(){return this.request(H(P.ShowBalances))}sendGaslessTransaction(e,t){return this.request(H(P.SendGaslessTransaction,[e,t]))}},Tp=class extends pt{constructor(){super(...arguments),this.eventListeners=[],this.enabledWallets={},this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(Fe.PROVIDER),localStorage.removeItem(Fe.ADDRESS),localStorage.removeItem(Fe.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===P.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===P.GetInfo)return this.getInfo(e);if(e.method===P.IsLoggedIn)return this.isLoggedIn(e);if(e.method===P.Logout)return this.logout(e);switch(localStorage.getItem(Fe.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(Fe.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(Fe.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(Fe.PROVIDER);switch(this.resetThirdPartyWalletState(),t){case"web3modal":return this.web3modalLogout();default:return super.request(e)}}web3modalRequest(e){return Ve((t,r)=>{this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r)})}web3modalIsLoggedIn(){return Ve(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:n})=>{n==="connected"&&(r(),e(!0)),n==="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 Ve((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 n=this.sdk.web3modal.modal.subscribeProvider(({status:o})=>{o==="connected"&&(n(),e(this.formatWeb3modalGetInfoResponse())),o==="disconnected"&&(n(),this.resetThirdPartyWalletState(),t("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return Ve(e=>ie(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(t){console.error(t)}e(!0)}))}},{createBoundEmitterMethod:Cn,createChainingEmitterMethod:tr}=ic(),Rp=class extends pt{constructor(){super(...arguments),this.isMagic=!0,this.on=tr("on",this),this.once=tr("once",this),this.addListener=tr("addListener",this),this.off=tr("off",this),this.removeListener=tr("removeListener",this),this.removeAllListeners=tr("removeAllListeners",this),this.emit=Cn("emit"),this.eventNames=Cn("eventNames"),this.listeners=Cn("listeners"),this.listenerCount=Cn("listenerCount")}sendAsync(e,t){if(!t)throw Hf({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Et.MAGIC_HANDLE_REQUEST,e.map(r=>{let n=Pn(r);return this.prefixPayloadMethodForTestMode(n),n})).then(r=>{t(null,r.map(n=>ti(nr({},n.payload),{error:n.hasError?new or(n.payload.error):null})))});else{let r=Pn(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Et.MAGIC_HANDLE_REQUEST,r).then(n=>{t(n.hasError?new or(n.payload.error):null,n.payload)})}}send(e,t){if(typeof e=="string"){let n=H(e,Array.isArray(t)?t:[]);return this.request(n)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=Yf();return r.log(),new oi(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=H(P.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}`)}},qa=["request","overlay","sdk"];function wp(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==pt.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var gc=class extends pt{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Ve,isPromiEvent:ii,encodeJSON:Qa,decodeJSON:$f,createJsonRpcRequestPayload:H,standardizeJsonRpcRequestPayload:Pn,storage:cc};let e=[this,...wp(this)];qa.forEach(t=>{let r=e.map(a=>Object.getOwnPropertyDescriptor(a,t)),n=r.findIndex(a=>!!a),o=n>0,i=r[n];i&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:i,isPrototypeField:o}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Vf(t)}}))})}init(e){this.__is_initialized__||(qa.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:n}=this.__sdk_access_field_descriptors__.get(t);n?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:n}=e,o=n?` Use \`${n}\` instead.`:"",i=`\`${t}\` will be removed from this Extension in version \`${r}\`.${o}`;return new Mn(this,"DEPRECATION_NOTICE",i)}createWarning(e,t){return new Mn(this,e,t)}createError(e,t,r){return new $n(this,e,t,r)}},xp=class extends gc{},Ct=class extends gc{};Ct.Internal=xp,Ct.Anonymous="anonymous extension";var Op=class extends pt{purchase(e){let t=H(P.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=H(P.NFTCheckout,[ti(nr({},e),{walletProvider:t?"web3modal":"magic"})]),n=this.request(r);return t&&(n.on(_t.Initiated,o=>ie(this,null,function*(){try{let i=yield this.request({method:"eth_sendTransaction",params:[o]});this.createIntermediaryEvent(_t.Success,r.id)(i)}catch(i){this.createIntermediaryEvent(_t.Failure,r.id)()}})),n.on(_t.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),n.emit("disconnect")})),n}transfer(e){let t=H(P.NFTTransfer,[e]);return this.request(t)}},Ap=["log","debug","info","warn","error"];Rn.init({clientToken:"pube2f71cb15fa207650d3c38c76cee479e",site:"datadoghq.com",service:"magic-sdk",version:"29.0.0",forwardErrorsToLogs:!0,usePartitionedCrossSiteSessionCookie:!0,sessionSampleRate:100,useSecureSessionCookie:!0});var ir=Cp(),Qo;function Cp(){if(!Qo){let e=Rn.logger;Qo=new Proxy(e,{get(t,r){return Ap.includes(r)?(n,o,i,a)=>{let l=nr(nr({},{}),o);r==="log"?t.log(n,l,i,a):t[r](n,l),console.log("Magic SDK Log:",n)}:t[r]}})}return Qo}function za(e){return e.compat&&e.compat[ee.sdkName]!=null?typeof e.compat[ee.sdkName]=="string"?Of(Lf(ee.version),e.compat[ee.sdkName]):!!e.compat[ee.sdkName]:!0}function Np(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 Lp(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],n={},o=[];if(Array.isArray(r)?r.forEach(i=>{za(i)?(i.init(this),(i.name||i.name!==Ct.Anonymous)&&(this[i.name]=i),i instanceof Ct.Internal&&(Ln(i.config)||(n[i.name]=i.config))):o.push(i)}):Object.keys(r).forEach(i=>{if(za(r[i])){r[i].init(this);let a=r[i];this[i]=a,a instanceof Ct.Internal&&(Ln(a.config)||(n[r[i].name]=a.config))}else o.push(r[i])}),o.length)throw Kf(o);return n}var ei,Fn,Nn=class{constructor(e,t){this.apiKey=e;var r;if(ei=performance.now(),ir.log("Magic SDK initialization started",{apiKey:e}),Fn=setTimeout(()=>{ir.error("Magic SDK initialization takes more than 30s")},3e4),!e)throw jf();ee.platform==="react-native"&&(t==null?void 0:t.endpoint)&&qf().log();let{defaultEndpoint:n,version:o}=ee;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=Dr((r=t==null?void 0:t.endpoint)!=null?r:n).origin,this.auth=new np(this),this.user=new bp(this),this.wallet=new Ip(this),this.nft=new Op(this),this.thirdPartyWallets=new Tp(this),this.rpcProvider=new Rp(this);let i=Lp.call(this,t);this.parameters=Qa(ti(nr({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:Dr(this.endpoint).host,sdk:Gf[ee.sdkName],version:o,ext:Ln(i)?void 0:i,locale:(t==null?void 0:t.locale)||"en_US"},ee.bundleId?{bundleId:ee.bundleId}:{}),{meta:t==null?void 0:t.meta})),this.networkHash=Np(this.apiKey,t==null?void 0:t.network,Ln(i)?void 0:i),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!Nn.__overlays__.has(this.parameters)){let e=new ee.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),Nn.__overlays__.set(this.parameters,e)}return Nn.__overlays__.get(this.parameters)}preload(){return ie(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},ui=Nn;ui.__overlays__=new Map;function Mp(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function Pp(e,t){var r;let n=(r=t.data.response)==null?void 0:r.id,o=Mp(e,n);if(n&&o){let i=new oi(o).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:n,response:i}}return{}}function kp(e,t,r){return ie(this,null,function*(){var n;let o=yield Me("rt"),i;if(ee.platform==="web")try{i=(n=yield Me("jwt"))!=null?n:yield dp()}catch(u){console.error("webcrypto error",u)}let a={msgType:e,payload:t};i&&(a.jwt=i),i&&o&&(a.rt=o);let l=yield Sp(r);return l&&(a.deviceShare=l),a})}function Dp(e){return ie(this,null,function*(){!e.data.rt||(yield ft("rt",e.data.rt))})}var Ec=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 ie(this,null,function*(){return ac((r,n)=>ie(this,null,function*(){if(!this.isConnectedToInternet){let p=ni();n(p)}this.isReadyForRequest||(ir.warn("Request is pending for overlay being ready",{duration:performance.now()-ei}),yield this.waitForReady());let o=[],i=Array.isArray(t)?t.map(p=>p.id):[],a=yield kp(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(a);let l=p=>d=>{var y;let{id:E,response:S}=Pp(t,d);if(Dp(d),((y=S==null?void 0:S.payload.error)==null?void 0:y.message)==="User denied account access.")pc();else if(d.data.deviceShare){let{deviceShare:b}=d.data;_p(b,this.networkHash)}E&&S&&Array.isArray(t)&&i.includes(E)?(o.push(S),o.length===t.length&&(p(),r(o))):E&&S&&!Array.isArray(t)&&E===t.id&&(p(),r(S))},u=this.on(Be.MAGIC_HANDLE_RESPONSE,l(()=>u()))}))})}on(e,t){let r=t.bind(window),n=o=>{o.data.msgType===`${e}-${this.parameters}`&&r(o)};return this.messageHandlers.add(n),()=>this.messageHandlers.delete(n)}waitForReady(){return new Promise(e=>{let t=this.on(Be.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),clearTimeout(Fn),ir.warn("Magic Overlay is ready for requests",{duration:performance.now()-ei}),t()})})}listen(){this.on(Be.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(Be.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(Be.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new Nt(He.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var di={};Ui(di,{AuthEventOnReceived:()=>Xi,DeepLinkPage:()=>ji,DeviceVerificationEventEmit:()=>fr,DeviceVerificationEventOnReceived:()=>Yi,DisableMFAEventEmit:()=>Ye,DisableMFAEventOnReceived:()=>Zi,EnableMFAEventEmit:()=>vt,EnableMFAEventOnReceived:()=>Qi,EthChainType:()=>es,Extension:()=>Ct,ExtensionError:()=>$n,ExtensionWarning:()=>Mn,FarcasterLoginEventEmit:()=>Ji,LocalStorageKeys:()=>Fe,LoginWithEmailOTPEventEmit:()=>Te,LoginWithEmailOTPEventOnReceived:()=>Hi,LoginWithMagicLinkEventEmit:()=>Wi,LoginWithMagicLinkEventOnReceived:()=>Vi,LoginWithSmsOTPEventEmit:()=>yt,LoginWithSmsOTPEventOnReceived:()=>Ki,MagicIncomingWindowMessage:()=>Be,MagicOutgoingWindowMessage:()=>Et,MagicPayloadMethod:()=>P,NftCheckoutIntermediaryEvents:()=>_t,RPCError:()=>or,RPCErrorCode:()=>kt,RecencyCheckEventEmit:()=>_e,RecencyCheckEventOnReceived:()=>qi,RecoverAccountEventEmit:()=>De,RecoverAccountEventOnReceived:()=>ns,RecoveryFactorEventEmit:()=>ke,RecoveryFactorEventOnReceived:()=>ts,RecoveryMethodType:()=>rs,SDKError:()=>rt,SDKErrorCode:()=>Ke,SDKWarning:()=>Nt,SDKWarningCode:()=>He,ThirdPartyWalletEvents:()=>Gi,UiEventsEmit:()=>is,UpdateEmailEventEmit:()=>de,UpdateEmailEventOnReceived:()=>zi,UserEventsEmit:()=>Br,UserEventsOnReceived:()=>Gr,WalletEventOnReceived:()=>os,isPromiEvent:()=>ii,routeToMagicMethods:()=>Qn});var jn=Bi(vc()),pi=Bi(Sc());var $p={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",opacity:"0",zIndex:"-1"};function Up(e){for(let[t,r]of Object.entries($p))e.style[t]=r}function Fp(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var Gn=class extends Ec{constructor(){super(...arguments);this.activeElement=null}getIframeSrc(){return Dr(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}init(){this.test="hello",this.iframe=new Promise(r=>{let n=()=>{if(Fp(encodeURIComponent(this.parameters)))tc().log();else{let o=document.createElement("iframe");o.classList.add("magic-iframe"),o.dataset.magicIframeLabel=Dr(this.endpoint).host,o.title="Secure Modal",o.src=this.getIframeSrc(),o.allow="clipboard-read; clipboard-write",Up(o),document.body.appendChild(o),r(o)}};["loaded","interactive","complete"].includes(document.readyState)?n():window.addEventListener("load",n,!1)}),window.addEventListener("message",r=>{var n;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.response=(n=r.data.response)!=null?n:{};for(let o of this.messageHandlers.values())o(r)}})}showOverlay(){return Pt(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 Pt(this,null,function*(){var n;let r=yield this.iframe;r.style.visibility="hidden",r.style.zIndex="-1",r.style.opacity="0",(n=this.activeElement)!=null&&n.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return Pt(this,null,function*(){let n=yield this.iframe;if(n&&n.contentWindow)n.contentWindow.postMessage(r,this.endpoint),ir.info("Request is sent to the iframe",{data:r}),clearTimeout(Fn);else throw ni()})}};var Bp=Object.assign(ec(ui,{platform:"web",sdkName:"magic-sdk",version:"29.0.0",defaultEndpoint:"https://auth.magic.link/",ViewController:Gn,configureStorage:()=>Pt(void 0,null,function*(){let e=jn.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(pi),yield e.setDriver([jn.default.INDEXEDDB,jn.default.LOCALSTORAGE,pi._driver]),e})}),Di({},di)),Gp=Bp;return Sl(jp);})();
12
12
  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.1-canary.860.13689285716.0",
3
+ "version": "29.0.1-canary.860.13689524404.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.1-canary.860.13689285716.0",
33
- "@magic-sdk/provider": "29.0.1-canary.860.13689285716.0",
32
+ "@magic-sdk/commons": "25.0.1-canary.860.13689524404.0",
33
+ "@magic-sdk/provider": "29.0.1-canary.860.13689524404.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": "6358847d671a5cc5bafd60b379fbdb6696e6edad"
43
+ "gitHead": "52ec0f8ee0d750c9695719a30848349d6f63c731"
44
44
  }