magic-sdk 28.21.1-canary.851.13063131573.0 → 28.21.1-canary.851.13079103626.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/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/es/index.js +1 -1
- package/dist/es/index.js.map +2 -2
- package/dist/es/index.mjs +1 -1
- package/dist/es/index.mjs.map +2 -2
- package/dist/magic.js +1 -1
- package/package.json +2 -2
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 Vo(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 dn(){return new Fe(we.DuplicateIframe,"Duplicate iframes found.")}function jo(){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 qo(){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 tt(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 Ko=Ho();function fn(){return Ko.next().value}var hn=Symbol("Payload pre-processed by Magic SDK");function mn(e){return Object.defineProperty(e,hn,{value:!0,enumerable:!1}),e}function Yo(e){return!!e[hn]}function gt(e){var t,r,i;return Yo(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=fn(),e.method=(r=e.method)!=null?r:"noop",e.params=(i=e.params)!=null?i:[],mn(e)),e}function W(e,t=[]){return mn({params:t,method:e,jsonrpc:"2.0",id:fn()})}var Bt=class{constructor(e){e instanceof Bt?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Uo(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}}},Xo=Vi(ji()),zo=class extends Xo.default{};function vn(){let e=new zo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var pn=Symbol("isPromiEvent");function Vt(e){return!!e[pn]}function _e(e){let t=yn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=vn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),f=(g,N)=>(..._)=>{let O=N[g].apply(N,_);return p(O)},p=g=>Object.assign(g,{[pn]:!0,[a]:g[a]||g.then,[s]:g[s]||g.catch,[m]:g[m]||g.finally,then:f(a,g),catch:f(s,g),finally:f(m,g),on:i("on",g),once:i("once",g),addListener:i("addListener",g),off:i("off",g),removeListener:i("removeListener",g),removeAllListeners:i("removeAllListeners",g),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),y=p(t.then(g=>(y.emit("done",g),y.emit("settled"),g),g=>{throw y.emit("error",g),y.emit("settled"),g}));return y.on(lt.ClosedByUser,()=>{y.emit(ct.ClosedByUser)}),y}function yn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Me=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!xt.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,gt(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 Wo()}).catch(m=>{i(),s(m)})}),i=this.overlay.on(he.MAGIC_HANDLE_EVENT,a=>{var s;let{response:m}=a.data;if(m.id===e.id&&((s=m.result)==null?void 0:s.event)){let{event:f,params:p=[]}=m.result;r.emit(f,...p)}});return r}createIntermediaryEvent(e,t){return r=>{let i=W(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function Jo(e,t){let[r]=e.split(".").map(Number);return r>=t}var rt={"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 Me{loginWithMagicLink(e){let t=Y.sdkName==="@magic-sdk/react-native"||Y.sdkName==="@magic-sdk/react-native-bare"||Y.sdkName==="@magic-sdk/react-native-expo";if(t&&Jo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&tt({method:"auth.loginWithMagicLink()",removalVersions:rt,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:m}=e,f=W(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:i,redirectURI:a,overrides:s,lifespan:m}]);return this.request(f)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:i}=e,a=W(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:i}]),s=this.request(a);return!r&&s&&(s.on(De.VerifySmsOtp,m=>{this.createIntermediaryEvent(De.VerifySmsOtp,a.id)(m)}),s.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}=e,m=W(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),f=this.request(m);return!i&&f&&f.on(Je.Retry,()=>{this.createIntermediaryEvent(Je.Retry,m.id)()}),!r&&f&&(f.on(de.VerifyEmailOtp,p=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(p)}),f.on(de.VerifyMFACode,p=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(p)}),f.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),f.on(de.VerifyRecoveryCode,p=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(p)}),f.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,m.id)()})),f}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},i=t!=null?t:"";if(!t&&Y.platform==="web"){i=window.location.search;let s=window.location.origin+window.location.pathname;window.history.replaceState(null,"",s)}let a=W(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[i,r]);return this.request(a)}setAuthorizationToken(e){let t=W(M.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,i=W(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:t,showUI:r}]),a=this.request(i);return r||(a.on(ue.Retry,()=>{this.createIntermediaryEvent(ue.Retry,i.id)()}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,i.id)()}),a.on(ue.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,i.id)(s)}),a.on(ue.VerifyMFACode,s=>{this.createIntermediaryEvent(ue.VerifyMFACode,i.id)(s)}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.VerifyEmailOtp,i.id)(s)})),a}},gn={};Gi(gn,{clear:()=>Zo,getItem:()=>me,iterate:()=>En,key:()=>ta,keys:()=>ra,length:()=>ea,removeItem:()=>Et,setItem:()=>Te});var ht;function Le(e){return(...t)=>Z(this,null,function*(){return ht||(ht=yield Y.configureStorage()),yield ht.ready(),ht[e](...t)})}var me=Le("getItem"),Te=Le("setItem"),Et=Le("removeItem"),Zo=Le("clear"),ea=Le("length"),ta=Le("key"),ra=Le("keys"),En=Le("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 _n="STORE_KEY_PRIVATE_KEY",kt="STORE_KEY_PUBLIC_JWK",In="ECDSA",ia="P-256",oa={name:In,namedCurve:ia};function bt(){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(_n);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:rn(JSON.stringify(a)),claims:rn(JSON.stringify(i))},m=la(`${s.protected}.${s.claims}`),f={name:In,hash:{name:"SHA-256"}},p=da(new Uint8Array(yield t.sign(f,r,m)));return`${s.protected}.${s.claims}.${p}`})}function sa(){return Z(this,null,function*(){if(!bt()){console.info("webcrypto is not supported");return}return(yield me(kt))||(yield ca()),me(kt)})}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(_n,t.privateKey),yield Te(kt,r)})}function rn(e){return wn(ua(e))}function la(e){return new TextEncoder().encode(e)}function wn(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)}),wn(t)}var jt="ds",qt="ek",Ht="iv",Kt="AES-GCM",fa=256;function Yt(){return Z(this,null,function*(){let e=[];yield En((t,r,i)=>{r.startsWith(`${jt}_`)&&e.push(r)});for(let t of e)yield Et(t)})}function Rn(e){let t="",r=new Uint8Array(e),i=r.byteLength;for(let a=0;a<i;a++)t+=String.fromCharCode(r[a]);return window.btoa(t)}function bn(e){let t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let a=0;a<r;a++)i[a]=t.charCodeAt(a);return i.buffer}function ha(){return Z(this,null,function*(){if(!bt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield me(Ht))||e.getRandomValues(new Uint8Array(12))})}function ma(){return Z(this,null,function*(){if(!bt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield me(qt))||(yield e.generateKey({name:Kt,length:fa},!1,["encrypt","decrypt"]))})}function va(e,t){return Z(this,null,function*(){let r=yield ha(),i=yield ma();if(!r||!i||!e)return;let a=bn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Kt,iv:r},i,a),f=Rn(m);yield Te(`${jt}_${t}`,f),yield Te(qt,i),yield Te(Ht,r)})}function pa(e){return Z(this,null,function*(){let t=yield me(`${jt}_${e}`),r=yield me(Ht),i=yield me(qt);if(!r||!t||!i||!bt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Kt,iv:r},i,bn(t));return Rn(s)})}function it(e,t){return t?new URL(e,t):new URL(e)}var ya=class extends Me{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=W(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=W(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=W(M.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=W(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=yield this.request(i);this.sdk.useStorageCache&&(a?Te(this.localForageIsLoggedInKey,!0):Et(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return Et(this.localForageIsLoggedInKey),Yt(),_e((e,t)=>Z(this,null,function*(){try{let r=W(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),e(i)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=W(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[e]),i=this.request(r);return!t&&i&&(i.on(pe.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(pe.SendNewPhoneNumber,r.id)(a)}),i.on(pe.SendOtpCode,a=>{this.createIntermediaryEvent(pe.SendOtpCode,r.id)(a)}),i.on(pe.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(pe.StartEditPhoneNumber,r.id)()}),i.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,r.id)()}),i.on(ue.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,r.id)(a)})),i}recoverAccount(e){let{email:t,showUI:r}=e,i=W(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[{email:t,showUI:r}]),a=this.request(i);return!r&&a&&(a.on(ye.Cancel,()=>{this.createIntermediaryEvent(ye.Cancel,i.id)()}),a.on(ye.ResendSms,()=>{this.createIntermediaryEvent(ye.ResendSms,i.id)()}),a.on(ye.VerifyOtp,s=>{this.createIntermediaryEvent(ye.VerifyOtp,i.id)(s)}),a.on(ye.UpdateEmail,s=>{this.createIntermediaryEvent(ye.UpdateEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.VerifyEmailOtp,i.id)(s)})),a}revealPrivateKey(){let e=W(M.RevealPK);return this.request(e)}getMetadata(){tt({method:"user.getMetadata()",removalVersions:rt,useInstead:"user.getInfo()"}).log();let e=W(this.sdk.testMode?M.GetMetadataTestMode:M.GetMetadata);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=W(M.EnableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on($e.VerifyMFACode,a=>{this.createIntermediaryEvent($e.VerifyMFACode,r.id)(a)}),i.on($e.Cancel,()=>{this.createIntermediaryEvent($e.Cancel,r.id)()})),i}disableMFA(e){let{showUI:t=!0}=e,r=W(M.DisableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on(be.VerifyMFACode,a=>{this.createIntermediaryEvent(be.VerifyMFACode,r.id)(a)}),i.on(be.LostDevice,a=>{this.createIntermediaryEvent(be.LostDevice,r.id)(a)}),i.on(be.Cancel,()=>{this.createIntermediaryEvent(be.Cancel,r.id)()})),i}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},ga=class extends Me{connectWithUI(e){let t=_e((r,i)=>Z(this,null,function*(){try{let a=W(M.Login,[It({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:f,callback:p})=>{s.on(f,()=>p(a.id))}),s.on("id-token-created",f=>{t.emit("id-token-created",f)});let m=yield s;m.error&&i(m),r(m)}catch(a){i(a)}}));return t}showUI(e){return this.request(W(M.ShowUI,[e]))}showAddress(){return this.request(W(M.ShowAddress))}showSendTokensUI(){return this.request(W(M.ShowSendTokensUI))}showOnRamp(){return this.request(W(M.ShowOnRamp))}showNFTs(){return this.request(W(M.ShowNFTs))}showBalances(){return this.request(W(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(W(M.SendGaslessTransaction,[e,t]))}getInfo(){tt({method:"wallet.getInfo()",removalVersions:rt,useInstead:"user.getInfo()"}).log();let e=W(M.GetInfo,[]);return this.request(e)}disconnect(){tt({method:"wallet.disconnect()",removalVersions:rt,useInstead:"user.logout()"}).log(),Yt();let e=W(M.Disconnect);return this.request(e)}requestUserInfoWithUI(e){tt({method:"wallet.requestUserInfoWithUI()",removalVersions:rt,useInstead:"user.requestUserInfoWithUI()"}).log();let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}},Ea=class extends Me{constructor(){super(...arguments),this.eventListeners=[],this.enabledWallets={},this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(Ee.PROVIDER),localStorage.removeItem(Ee.ADDRESS),localStorage.removeItem(Ee.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===M.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===M.GetInfo)return this.getInfo(e);if(e.method===M.IsLoggedIn)return this.isLoggedIn(e);if(e.method===M.Logout)return this.logout(e);switch(localStorage.getItem(Ee.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(Ee.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(Ee.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(Ee.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:mt,createChainingEmitterMethod:Be}=vn(),_a=class extends Me{constructor(){super(...arguments),this.isMagic=!0,this.on=Be("on",this),this.once=Be("once",this),this.addListener=Be("addListener",this),this.off=Be("off",this),this.removeListener=Be("removeListener",this),this.removeAllListeners=Be("removeAllListeners",this),this.emit=mt("emit"),this.eventNames=mt("eventNames"),this.listeners=mt("listeners"),this.listenerCount=mt("listenerCount")}sendAsync(e,t){if(!t)throw Vo({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=gt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>Wt(It({},i.payload),{error:i.hasError?new je(i.payload.error):null})))});else{let r=gt(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=W(e,Array.isArray(t)?t:[]);return this.request(i)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=jo();return r.log(),new Bt(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=W(M.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}},nn=["request","overlay","sdk"];function Ia(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Me.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var Sn=class extends Me{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:_e,isPromiEvent:Vt,encodeJSON:cn,decodeJSON:Do,createJsonRpcRequestPayload:W,standardizeJsonRpcRequestPayload:gt,storage:gn};let e=[this,...Ia(this)];nn.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 Go(t)}}))})}init(e){this.__is_initialized__||(nn.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 yt(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new yt(this,e,t)}createError(e,t,r){return new wt(this,e,t,r)}},wa=class extends Sn{},xe=class extends Sn{};xe.Internal=wa,xe.Anonymous="anonymous extension";var Ra=class extends Me{purchase(e){let t=W(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=W(M.NFTCheckout,[Wt(It({},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=W(M.NFTTransfer,[e]);return this.request(t)}};function on(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?So(To(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=>{on(s)?(s.init(this),(s.name||s.name!==xe.Anonymous)&&(this[s.name]=s),s instanceof xe.Internal&&(pt(s.config)||(i[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(on(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof xe.Internal&&(pt(m.config)||(i[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw Bo(a);return i}var vt=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw ko();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&qo().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=it((r=t==null?void 0:t.endpoint)!=null?r:i).origin,this.auth=new Qo(this),this.user=new ya(this),this.wallet=new ga(this),this.nft=new Ra(this),this.thirdPartyWallets=new Ea(this),this.rpcProvider=new _a(this);let s=Sa.call(this,t);this.parameters=cn(Wt(It({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:it(this.endpoint).host,sdk:Fo[Y.sdkName],version:a,ext:pt(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,pt(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!vt.__overlays__.has(this.parameters)){let e=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),vt.__overlays__.set(this.parameters,e)}return vt.__overlays__.get(this.parameters)}preload(){return Z(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},Xt=vt;Xt.__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 Bt(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(p){console.error("webcrypto error",p)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let f=yield pa(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 An=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 yn((r,i)=>Z(this,null,function*(){if(!this.isConnectedToInternet){let y=Rt();i(y)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(y=>y.id):[],m=yield Na(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let f=y=>g=>{var N;let{id:_,response:O}=Oa(t,g);if(Ta(g),((N=O==null?void 0:O.payload.error)==null?void 0:N.message)==="User denied account access.")Yt();else if(g.data.deviceShare){let{deviceShare:L}=g.data;va(L,this.networkHash)}_&&O&&Array.isArray(t)&&s.includes(_)?(a.push(O),a.length===t.length&&(y(),r(a))):_&&O&&!Array.isArray(t)&&_===t.id&&(y(),r(O))},p=this.on(he.MAGIC_HANDLE_RESPONSE,f(()=>p()))}))})}on(e,t){let r=t.bind(window),i=a=>{a.data.msgType===`${e}-${this.parameters}`&&r(a)};return this.messageHandlers.add(i),()=>this.messageHandlers.delete(i)}waitForReady(){return 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 zt={};Rr(zt,{AuthEventOnReceived:()=>$r,DeepLinkPage:()=>Or,DeviceVerificationEventEmit:()=>Je,DeviceVerificationEventOnReceived:()=>Cr,DisableMFAEventEmit:()=>be,DisableMFAEventOnReceived:()=>Fr,EnableMFAEventEmit:()=>$e,EnableMFAEventOnReceived:()=>xr,EthChainType:()=>kr,Extension:()=>xe,ExtensionError:()=>wt,ExtensionWarning:()=>yt,FarcasterLoginEventEmit:()=>Ur,LocalStorageKeys:()=>Ee,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Lr,LoginWithMagicLinkEventEmit:()=>Nr,LoginWithMagicLinkEventOnReceived:()=>Tr,LoginWithSmsOTPEventEmit:()=>De,LoginWithSmsOTPEventOnReceived:()=>Mr,MagicIncomingWindowMessage:()=>he,MagicOutgoingWindowMessage:()=>Re,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>Ue,RPCError:()=>je,RPCErrorCode:()=>Ge,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Pr,RecoverAccountEventEmit:()=>ye,RecoverAccountEventOnReceived:()=>Br,RecoveryFactorEventEmit:()=>pe,RecoveryFactorEventOnReceived:()=>Wr,RecoveryMethodType:()=>Gr,SDKError:()=>Se,SDKErrorCode:()=>Ie,SDKWarning:()=>Fe,SDKWarningCode:()=>we,ThirdPartyWalletEvents:()=>Ar,UiEventsEmit:()=>jr,UpdateEmailEventEmit:()=>ne,UpdateEmailEventOnReceived:()=>Dr,UserEventsEmit:()=>ct,UserEventsOnReceived:()=>lt,WalletEventOnReceived:()=>Vr,isPromiEvent:()=>Vt,routeToMagicMethods:()=>xt});var Ot=Sr(Nn()),Qt=Sr(Mn());var Ma={display:"block",visibility:"hidden",pointerEvents:"none",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647",opacity:"0"};function La(e){for(let[t,r]of Object.entries(Ma))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 Ln=1e3,Cn=60*Ln,Pa=15*Ln,Da=2*Cn,$a=60*Cn,At=class extends An{constructor(){super(...arguments);this.activeElement=null;this.lastPingTime=Date.now();this.intervalTimer=null;this.timeoutTimer=null}getIframeSrc(){return it(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}init(){this.test="hello",this.iframe=new Promise(r=>{let i=()=>{if(Ca(encodeURIComponent(this.parameters)))dn().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=it(this.endpoint).host,a.title="Secure Modal",a.src=this.getIframeSrc(),a.allow="clipboard-read; clipboard-write",La(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",()=>ge(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 ge(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",r.style.pointerEvents="auto",r.style.opacity="1",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return ge(this,null,function*(){var i;let r=yield this.iframe;r.style.visibility="hidden",r.style.pointerEvents="none",r.style.opacity="0",(i=this.activeElement)!=null&&i.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return ge(this,null,function*(){let i=yield this.iframe;if(i&&i.contentWindow)i.contentWindow.postMessage(r,this.endpoint);else throw Rt()})}heartBeatCheck(){this.intervalTimer=setInterval(()=>ge(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 ge(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 ge(this,null,function*(){let r=yield this.iframe;if(r)r.src=this.getIframeSrc();else throw Rt()})}};var Ua=Object.assign(un(Xt,{platform:"web",sdkName:"magic-sdk",version:"28.21.0",defaultEndpoint:"https://auth.magic.link/",ViewController:At,configureStorage:()=>ge(void 0,null,function*(){let e=Ot.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Qt),yield e.setDriver([Ot.default.INDEXEDDB,Ot.default.LOCALSTORAGE,Qt._driver]),e})}),Ir({},zt)),xa=Ua;return Ci(Fa);})();
|
5
|
+
Received: \`${e.received}\``)}function dn(){return new Fe(we.DuplicateIframe,"Duplicate iframes found.")}function jo(){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 qo(){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 tt(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 Ko=Ho();function fn(){return Ko.next().value}var hn=Symbol("Payload pre-processed by Magic SDK");function mn(e){return Object.defineProperty(e,hn,{value:!0,enumerable:!1}),e}function Yo(e){return!!e[hn]}function gt(e){var t,r,i;return Yo(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=fn(),e.method=(r=e.method)!=null?r:"noop",e.params=(i=e.params)!=null?i:[],mn(e)),e}function W(e,t=[]){return mn({params:t,method:e,jsonrpc:"2.0",id:fn()})}var Bt=class{constructor(e){e instanceof Bt?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Uo(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}}},Xo=Vi(ji()),zo=class extends Xo.default{};function vn(){let e=new zo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...i)=>(e[t].apply(e,i),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var pn=Symbol("isPromiEvent");function Vt(e){return!!e[pn]}function _e(e){let t=yn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:i}=vn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),f=(g,N)=>(..._)=>{let O=N[g].apply(N,_);return p(O)},p=g=>Object.assign(g,{[pn]:!0,[a]:g[a]||g.then,[s]:g[s]||g.catch,[m]:g[m]||g.finally,then:f(a,g),catch:f(s,g),finally:f(m,g),on:i("on",g),once:i("once",g),addListener:i("addListener",g),off:i("off",g),removeListener:i("removeListener",g),removeAllListeners:i("removeAllListeners",g),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),y=p(t.then(g=>(y.emit("done",g),y.emit("settled"),g),g=>{throw y.emit("error",g),y.emit("settled"),g}));return y.on(lt.ClosedByUser,()=>{y.emit(ct.ClosedByUser)}),y}function yn(e){return new Promise((t,r)=>{let i=e(t,r);Promise.resolve(i).catch(r)})}var Me=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!xt.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,gt(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 Wo()}).catch(m=>{i(),s(m)})}),i=this.overlay.on(he.MAGIC_HANDLE_EVENT,a=>{var s;let{response:m}=a.data;if(m.id===e.id&&((s=m.result)==null?void 0:s.event)){let{event:f,params:p=[]}=m.result;r.emit(f,...p)}});return r}createIntermediaryEvent(e,t){return r=>{let i=W(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(i)}}};function Jo(e,t){let[r]=e.split(".").map(Number);return r>=t}var rt={"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 Me{loginWithMagicLink(e){let t=Y.sdkName==="@magic-sdk/react-native"||Y.sdkName==="@magic-sdk/react-native-bare"||Y.sdkName==="@magic-sdk/react-native-expo";if(t&&Jo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&tt({method:"auth.loginWithMagicLink()",removalVersions:rt,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:i=!0,redirectURI:a,overrides:s,lifespan:m}=e,f=W(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:i,redirectURI:a,overrides:s,lifespan:m}]);return this.request(f)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:i}=e,a=W(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:i}]),s=this.request(a);return!r&&s&&(s.on(De.VerifySmsOtp,m=>{this.createIntermediaryEvent(De.VerifySmsOtp,a.id)(m)}),s.on(De.Cancel,()=>{this.createIntermediaryEvent(De.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}=e,m=W(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:i,overrides:a,lifespan:s}]),f=this.request(m);return!i&&f&&f.on(Je.Retry,()=>{this.createIntermediaryEvent(Je.Retry,m.id)()}),!r&&f&&(f.on(de.VerifyEmailOtp,p=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(p)}),f.on(de.VerifyMFACode,p=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(p)}),f.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),f.on(de.VerifyRecoveryCode,p=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(p)}),f.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,m.id)()})),f}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},i=t!=null?t:"";if(!t&&Y.platform==="web"){i=window.location.search;let s=window.location.origin+window.location.pathname;window.history.replaceState(null,"",s)}let a=W(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[i,r]);return this.request(a)}setAuthorizationToken(e){let t=W(M.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,i=W(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:t,showUI:r}]),a=this.request(i);return r||(a.on(ue.Retry,()=>{this.createIntermediaryEvent(ue.Retry,i.id)()}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,i.id)()}),a.on(ue.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,i.id)(s)}),a.on(ue.VerifyMFACode,s=>{this.createIntermediaryEvent(ue.VerifyMFACode,i.id)(s)}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.VerifyEmailOtp,i.id)(s)})),a}},gn={};Gi(gn,{clear:()=>Zo,getItem:()=>me,iterate:()=>En,key:()=>ta,keys:()=>ra,length:()=>ea,removeItem:()=>Et,setItem:()=>Te});var ht;function Le(e){return(...t)=>Z(this,null,function*(){return ht||(ht=yield Y.configureStorage()),yield ht.ready(),ht[e](...t)})}var me=Le("getItem"),Te=Le("setItem"),Et=Le("removeItem"),Zo=Le("clear"),ea=Le("length"),ta=Le("key"),ra=Le("keys"),En=Le("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 _n="STORE_KEY_PRIVATE_KEY",kt="STORE_KEY_PUBLIC_JWK",In="ECDSA",ia="P-256",oa={name:In,namedCurve:ia};function bt(){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(_n);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:rn(JSON.stringify(a)),claims:rn(JSON.stringify(i))},m=la(`${s.protected}.${s.claims}`),f={name:In,hash:{name:"SHA-256"}},p=da(new Uint8Array(yield t.sign(f,r,m)));return`${s.protected}.${s.claims}.${p}`})}function sa(){return Z(this,null,function*(){if(!bt()){console.info("webcrypto is not supported");return}return(yield me(kt))||(yield ca()),me(kt)})}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(_n,t.privateKey),yield Te(kt,r)})}function rn(e){return wn(ua(e))}function la(e){return new TextEncoder().encode(e)}function wn(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)}),wn(t)}var jt="ds",qt="ek",Ht="iv",Kt="AES-GCM",fa=256;function Yt(){return Z(this,null,function*(){let e=[];yield En((t,r,i)=>{r.startsWith(`${jt}_`)&&e.push(r)});for(let t of e)yield Et(t)})}function Rn(e){let t="",r=new Uint8Array(e),i=r.byteLength;for(let a=0;a<i;a++)t+=String.fromCharCode(r[a]);return window.btoa(t)}function bn(e){let t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let a=0;a<r;a++)i[a]=t.charCodeAt(a);return i.buffer}function ha(){return Z(this,null,function*(){if(!bt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield me(Ht))||e.getRandomValues(new Uint8Array(12))})}function ma(){return Z(this,null,function*(){if(!bt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield me(qt))||(yield e.generateKey({name:Kt,length:fa},!1,["encrypt","decrypt"]))})}function va(e,t){return Z(this,null,function*(){let r=yield ha(),i=yield ma();if(!r||!i||!e)return;let a=bn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Kt,iv:r},i,a),f=Rn(m);yield Te(`${jt}_${t}`,f),yield Te(qt,i),yield Te(Ht,r)})}function pa(e){return Z(this,null,function*(){let t=yield me(`${jt}_${e}`),r=yield me(Ht),i=yield me(qt);if(!r||!t||!i||!bt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Kt,iv:r},i,bn(t));return Rn(s)})}function it(e,t){return t?new URL(e,t):new URL(e)}var ya=class extends Me{constructor(){super(...arguments),this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=W(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=W(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[e]);return this.request(t)}getInfo(){let e=W(M.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=W(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=yield this.request(i);this.sdk.useStorageCache&&(a?Te(this.localForageIsLoggedInKey,!0):Et(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return Et(this.localForageIsLoggedInKey),Yt(),_e((e,t)=>Z(this,null,function*(){try{let r=W(this.sdk.testMode?M.LogoutTestMode:M.Logout),i=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(i),e(i)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=W(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[e]),i=this.request(r);return!t&&i&&(i.on(pe.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(pe.SendNewPhoneNumber,r.id)(a)}),i.on(pe.SendOtpCode,a=>{this.createIntermediaryEvent(pe.SendOtpCode,r.id)(a)}),i.on(pe.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(pe.StartEditPhoneNumber,r.id)()}),i.on(pe.Cancel,()=>{this.createIntermediaryEvent(pe.Cancel,r.id)()}),i.on(ue.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,r.id)(a)})),i}recoverAccount(e){let{email:t,showUI:r}=e,i=W(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[{email:t,showUI:r}]),a=this.request(i);return!r&&a&&(a.on(ye.Cancel,()=>{this.createIntermediaryEvent(ye.Cancel,i.id)()}),a.on(ye.ResendSms,()=>{this.createIntermediaryEvent(ye.ResendSms,i.id)()}),a.on(ye.VerifyOtp,s=>{this.createIntermediaryEvent(ye.VerifyOtp,i.id)(s)}),a.on(ye.UpdateEmail,s=>{this.createIntermediaryEvent(ye.UpdateEmail,i.id)(s)}),a.on(ne.Cancel,()=>{this.createIntermediaryEvent(ne.Cancel,i.id)()}),a.on(ne.RetryWithNewEmail,s=>{this.createIntermediaryEvent(ne.RetryWithNewEmail,i.id)(s)}),a.on(ne.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ne.VerifyEmailOtp,i.id)(s)})),a}revealPrivateKey(){let e=W(M.RevealPK);return this.request(e)}getMetadata(){tt({method:"user.getMetadata()",removalVersions:rt,useInstead:"user.getInfo()"}).log();let e=W(this.sdk.testMode?M.GetMetadataTestMode:M.GetMetadata);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=W(M.EnableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on($e.VerifyMFACode,a=>{this.createIntermediaryEvent($e.VerifyMFACode,r.id)(a)}),i.on($e.Cancel,()=>{this.createIntermediaryEvent($e.Cancel,r.id)()})),i}disableMFA(e){let{showUI:t=!0}=e,r=W(M.DisableMFA,[{showUI:t}]),i=this.request(r);return!t&&i&&(i.on(be.VerifyMFACode,a=>{this.createIntermediaryEvent(be.VerifyMFACode,r.id)(a)}),i.on(be.LostDevice,a=>{this.createIntermediaryEvent(be.LostDevice,r.id)(a)}),i.on(be.Cancel,()=>{this.createIntermediaryEvent(be.Cancel,r.id)()})),i}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},ga=class extends Me{connectWithUI(e){let t=_e((r,i)=>Z(this,null,function*(){try{let a=W(M.Login,[It({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),s=this.request(a);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:f,callback:p})=>{s.on(f,()=>p(a.id))}),s.on("id-token-created",f=>{t.emit("id-token-created",f)});let m=yield s;m.error&&i(m),r(m)}catch(a){i(a)}}));return t}showUI(e){return this.request(W(M.ShowUI,[e]))}showAddress(){return this.request(W(M.ShowAddress))}showSendTokensUI(){return this.request(W(M.ShowSendTokensUI))}showOnRamp(){return this.request(W(M.ShowOnRamp))}showNFTs(){return this.request(W(M.ShowNFTs))}showBalances(){return this.request(W(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(W(M.SendGaslessTransaction,[e,t]))}getInfo(){tt({method:"wallet.getInfo()",removalVersions:rt,useInstead:"user.getInfo()"}).log();let e=W(M.GetInfo,[]);return this.request(e)}disconnect(){tt({method:"wallet.disconnect()",removalVersions:rt,useInstead:"user.logout()"}).log(),Yt();let e=W(M.Disconnect);return this.request(e)}requestUserInfoWithUI(e){tt({method:"wallet.requestUserInfoWithUI()",removalVersions:rt,useInstead:"user.requestUserInfoWithUI()"}).log();let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}},Ea=class extends Me{constructor(){super(...arguments),this.eventListeners=[],this.enabledWallets={},this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(Ee.PROVIDER),localStorage.removeItem(Ee.ADDRESS),localStorage.removeItem(Ee.CHAIN_ID),this.isConnected=!1}requestOverride(e){if(e.method===M.Login)return this.resetThirdPartyWalletState(),super.request(e);if(e.method===M.GetInfo)return this.getInfo(e);if(e.method===M.IsLoggedIn)return this.isLoggedIn(e);if(e.method===M.Logout)return this.logout(e);switch(localStorage.getItem(Ee.PROVIDER)){case"web3modal":return this.web3modalRequest(e);default:return this.resetThirdPartyWalletState(),super.request(e)}}isLoggedIn(e){switch(localStorage.getItem(Ee.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(e)}}getInfo(e){switch(localStorage.getItem(Ee.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(e)}}logout(e){let t=localStorage.getItem(Ee.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:mt,createChainingEmitterMethod:Be}=vn(),_a=class extends Me{constructor(){super(...arguments),this.isMagic=!0,this.on=Be("on",this),this.once=Be("once",this),this.addListener=Be("addListener",this),this.off=Be("off",this),this.removeListener=Be("removeListener",this),this.removeAllListeners=Be("removeAllListeners",this),this.emit=mt("emit"),this.eventNames=mt("eventNames"),this.listeners=mt("listeners"),this.listenerCount=mt("listenerCount")}sendAsync(e,t){if(!t)throw Vo({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=gt(r);return this.prefixPayloadMethodForTestMode(i),i})).then(r=>{t(null,r.map(i=>Wt(It({},i.payload),{error:i.hasError?new je(i.payload.error):null})))});else{let r=gt(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=W(e,Array.isArray(t)?t:[]);return this.request(i)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=jo();return r.log(),new Bt(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=W(M.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}},nn=["request","overlay","sdk"];function Ia(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Me.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var Sn=class extends Me{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:_e,isPromiEvent:Vt,encodeJSON:cn,decodeJSON:Do,createJsonRpcRequestPayload:W,standardizeJsonRpcRequestPayload:gt,storage:gn};let e=[this,...Ia(this)];nn.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 Go(t)}}))})}init(e){this.__is_initialized__||(nn.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 yt(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new yt(this,e,t)}createError(e,t,r){return new wt(this,e,t,r)}},wa=class extends Sn{},xe=class extends Sn{};xe.Internal=wa,xe.Anonymous="anonymous extension";var Ra=class extends Me{purchase(e){let t=W(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,r=W(M.NFTCheckout,[Wt(It({},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=W(M.NFTTransfer,[e]);return this.request(t)}};function on(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?So(To(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=>{on(s)?(s.init(this),(s.name||s.name!==xe.Anonymous)&&(this[s.name]=s),s instanceof xe.Internal&&(pt(s.config)||(i[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(on(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof xe.Internal&&(pt(m.config)||(i[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw Bo(a);return i}var vt=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw ko();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&qo().log();let{defaultEndpoint:i,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=it((r=t==null?void 0:t.endpoint)!=null?r:i).origin,this.auth=new Qo(this),this.user=new ya(this),this.wallet=new ga(this),this.nft=new Ra(this),this.thirdPartyWallets=new Ea(this),this.rpcProvider=new _a(this);let s=Sa.call(this,t);this.parameters=cn(Wt(It({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:it(this.endpoint).host,sdk:Fo[Y.sdkName],version:a,ext:pt(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,pt(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!vt.__overlays__.has(this.parameters)){let e=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),vt.__overlays__.set(this.parameters,e)}return vt.__overlays__.get(this.parameters)}preload(){return Z(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},Xt=vt;Xt.__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 Bt(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(p){console.error("webcrypto error",p)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let f=yield pa(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 An=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 yn((r,i)=>Z(this,null,function*(){if(!this.isConnectedToInternet){let y=Rt();i(y)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(y=>y.id):[],m=yield Na(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let f=y=>g=>{var N;let{id:_,response:O}=Oa(t,g);if(Ta(g),((N=O==null?void 0:O.payload.error)==null?void 0:N.message)==="User denied account access.")Yt();else if(g.data.deviceShare){let{deviceShare:L}=g.data;va(L,this.networkHash)}_&&O&&Array.isArray(t)&&s.includes(_)?(a.push(O),a.length===t.length&&(y(),r(a))):_&&O&&!Array.isArray(t)&&_===t.id&&(y(),r(O))},p=this.on(he.MAGIC_HANDLE_RESPONSE,f(()=>p()))}))})}on(e,t){let r=t.bind(window),i=a=>{a.data.msgType===`${e}-${this.parameters}`&&r(a)};return this.messageHandlers.add(i),()=>this.messageHandlers.delete(i)}waitForReady(){return 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 zt={};Rr(zt,{AuthEventOnReceived:()=>$r,DeepLinkPage:()=>Or,DeviceVerificationEventEmit:()=>Je,DeviceVerificationEventOnReceived:()=>Cr,DisableMFAEventEmit:()=>be,DisableMFAEventOnReceived:()=>Fr,EnableMFAEventEmit:()=>$e,EnableMFAEventOnReceived:()=>xr,EthChainType:()=>kr,Extension:()=>xe,ExtensionError:()=>wt,ExtensionWarning:()=>yt,FarcasterLoginEventEmit:()=>Ur,LocalStorageKeys:()=>Ee,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Lr,LoginWithMagicLinkEventEmit:()=>Nr,LoginWithMagicLinkEventOnReceived:()=>Tr,LoginWithSmsOTPEventEmit:()=>De,LoginWithSmsOTPEventOnReceived:()=>Mr,MagicIncomingWindowMessage:()=>he,MagicOutgoingWindowMessage:()=>Re,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>Ue,RPCError:()=>je,RPCErrorCode:()=>Ge,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Pr,RecoverAccountEventEmit:()=>ye,RecoverAccountEventOnReceived:()=>Br,RecoveryFactorEventEmit:()=>pe,RecoveryFactorEventOnReceived:()=>Wr,RecoveryMethodType:()=>Gr,SDKError:()=>Se,SDKErrorCode:()=>Ie,SDKWarning:()=>Fe,SDKWarningCode:()=>we,ThirdPartyWalletEvents:()=>Ar,UiEventsEmit:()=>jr,UpdateEmailEventEmit:()=>ne,UpdateEmailEventOnReceived:()=>Dr,UserEventsEmit:()=>ct,UserEventsOnReceived:()=>lt,WalletEventOnReceived:()=>Vr,isPromiEvent:()=>Vt,routeToMagicMethods:()=>xt});var Ot=Sr(Nn()),Qt=Sr(Mn());var Ma={display:"block",visibility:"hidden",pointerEvents:"none",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"-1",opacity:"0"};function La(e){for(let[t,r]of Object.entries(Ma))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 Ln=1e3,Cn=60*Ln,Pa=15*Ln,Da=2*Cn,$a=60*Cn,At=class extends An{constructor(){super(...arguments);this.activeElement=null;this.lastPingTime=Date.now();this.intervalTimer=null;this.timeoutTimer=null}getIframeSrc(){return it(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href}init(){this.test="hello",this.iframe=new Promise(r=>{let i=()=>{if(Ca(encodeURIComponent(this.parameters)))dn().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=it(this.endpoint).host,a.title="Secure Modal",a.src=this.getIframeSrc(),a.allow="clipboard-read; clipboard-write",La(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",()=>ge(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 ge(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",r.style.pointerEvents="auto",r.style.zIndex="2147483647",r.style.opacity="1",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return ge(this,null,function*(){var i;let r=yield this.iframe;r.style.visibility="hidden",r.style.pointerEvents="none",r.style.zIndex="-1",r.style.opacity="0",(i=this.activeElement)!=null&&i.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return ge(this,null,function*(){let i=yield this.iframe;if(i&&i.contentWindow)i.contentWindow.postMessage(r,this.endpoint);else throw Rt()})}heartBeatCheck(){this.intervalTimer=setInterval(()=>ge(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 ge(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 ge(this,null,function*(){let r=yield this.iframe;if(r)r.src=this.getIframeSrc();else throw Rt()})}};var Ua=Object.assign(un(Xt,{platform:"web",sdkName:"magic-sdk",version:"28.21.0",defaultEndpoint:"https://auth.magic.link/",ViewController:At,configureStorage:()=>ge(void 0,null,function*(){let e=Ot.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Qt),yield e.setDriver([Ot.default.INDEXEDDB,Ot.default.LOCALSTORAGE,Qt._driver]),e})}),Ir({},zt)),xa=Ua;return Ci(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": "28.21.1-canary.851.
|
3
|
+
"version": "28.21.1-canary.851.13079103626.0",
|
4
4
|
"description": "Passwordless authentication for the web.",
|
5
5
|
"author": "Magic Labs <team@magic.link> (https://magic.link/)",
|
6
6
|
"license": "MIT",
|
@@ -40,5 +40,5 @@
|
|
40
40
|
"@babel/runtime": "^7.9.6",
|
41
41
|
"localforage-driver-memory": "^1.0.5"
|
42
42
|
},
|
43
|
-
"gitHead": "
|
43
|
+
"gitHead": "063bcc6cc8ce11e95bda20f5471068612550e887"
|
44
44
|
}
|