@magic-sdk/provider 29.0.0 → 29.0.1-canary.3ad7748.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -2,5 +2,5 @@
2
2
  - Extension \`${t.name}\` supports version(s) \`${n}\``:n||(e+=`
3
3
  - Extension \`${t.name}\` does not support ${E.platform} environments.`)}),new $(N.SDKErrorCode.IncompatibleExtensions,e)}function Ve(r){let e=t=>{let n=t+1,o=n%10,s=n%100;return o===1&&s!==11?`${n}st`:o===2&&s!==12?`${n}nd`:o===3&&s!==13?`${n}rd`:`${n}th`};return new $(N.SDKErrorCode.InvalidArgument,`Invalid ${e(r.argument)} argument given to \`${r.procedure}\`.
4
4
  Expected: \`${r.expected}\`
5
- Received: \`${r.received}\``)}function Jr(){return new D(N.SDKWarningCode.DuplicateIframe,"Duplicate iframes found.")}function He(){return new D(N.SDKWarningCode.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 Be(){return new D(N.SDKWarningCode.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 \`${E.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function Xe(r){let{method:e,removalVersions:t,useInstead:n}=r,o=t[E.sdkName],s=n?` Use \`${n}\` instead.`:"",i=`\`${e}\` will be removed from \`${E.sdkName}\` in version \`${o}\`.${s}`;return new D(N.SDKWarningCode.DeprecationNotice,i)}var p=require("@magic-sdk/types");var K=require("@magic-sdk/types");function*Gr(){let r=0;for(;;)r<Number.MAX_SAFE_INTEGER?yield++r:r=0}var Kr=Gr();function ye(){return Kr.next().value}var St=Symbol("Payload pre-processed by Magic SDK");function Mt(r){return Object.defineProperty(r,St,{value:!0,enumerable:!1}),r}function jr(r){return!!r[St]}function B(r){var e,t,n;return jr(r)||(r.jsonrpc=(e=r.jsonrpc)!=null?e:"2.0",r.id=ye(),r.method=(t=r.method)!=null?t:"noop",r.params=(n=r.params)!=null?n:[],Mt(r)),r}function h(r,e=[]){return Mt({params:e,method:r,jsonrpc:"2.0",id:ye()})}var G=class{constructor(e){e instanceof G?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Ue(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}}};var Te=require("@magic-sdk/types");var Ct=Yt(At()),ve=class extends Ct.default{};function ce(){let r=new ve;return{emitter:r,createChainingEmitterMethod:(n,o)=>(...s)=>(r[n].apply(r,s),o),createBoundEmitterMethod:n=>(...o)=>r[n].apply(r,o)}}var $t=Symbol("isPromiEvent");function Ye(r){return!!r[$t]}function P(r){let e=Ie(r),{createBoundEmitterMethod:t,createChainingEmitterMethod:n}=ce(),o=Symbol("Promise.then"),s=Symbol("Promise.catch"),i=Symbol("Promise.finally"),a=(u,m)=>(...M)=>{let T=m[u].apply(m,M);return c(T)},c=u=>Object.assign(u,{[$t]:!0,[o]:u[o]||u.then,[s]:u[s]||u.catch,[i]:u[i]||u.finally,then:a(o,u),catch:a(s,u),finally:a(i,u),on:n("on",u),once:n("once",u),addListener:n("addListener",u),off:n("off",u),removeListener:n("removeListener",u),removeAllListeners:n("removeAllListeners",u),emit:t("emit"),eventNames:t("eventNames"),listeners:t("listeners"),listenerCount:t("listenerCount")}),d=c(e.then(u=>(d.emit("done",u),d.emit("settled"),u),u=>{throw d.emit("error",u),d.emit("settled"),u}));return d.on(Te.UserEventsOnReceived.ClosedByUser,()=>{d.emit(Te.UserEventsEmit.ClosedByUser)}),d}function Ie(r){return new Promise((e,t)=>{let n=r(e,t);Promise.resolve(n).catch(t)})}var v=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!K.routeToMagicMethods.includes(e.method))return P((i,a)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(i).catch(a)});let t=this.overlay.post(K.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,B(e)),n=P((s,i)=>{t.then(a=>{if(o(),a.hasError)i(new L(a.payload.error));else if(a.hasResult)s(a.payload.result);else throw Ge()}).catch(a=>{o(),i(a)})}),o=this.overlay.on(K.MagicIncomingWindowMessage.MAGIC_HANDLE_EVENT,s=>{var a;let{response:i}=s.data;if(i.id===e.id&&((a=i.result)==null?void 0:a.event)){let{event:c,params:d=[]}=i.result;n.emit(c,...d)}});return n}createIntermediaryEvent(e,t){return o=>{let s=h(K.MagicPayloadMethod.IntermediaryEvent,[{payloadId:t,eventType:e,args:o}]);this.request(s)}}};function Qe(r,e){let[t]=r.split(".").map(Number);return t>=e}var Br={"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"},be=class extends v{loginWithMagicLink(e){let t=E.sdkName==="@magic-sdk/react-native"||E.sdkName==="@magic-sdk/react-native-bare"||E.sdkName==="@magic-sdk/react-native-expo";if(t&&Qe(E.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Xe({method:"auth.loginWithMagicLink()",removalVersions:Br,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:n,showUI:o=!0,redirectURI:s,overrides:i,lifespan:a}=e,c=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithMagicLinkTestMode:p.MagicPayloadMethod.LoginWithMagicLink,[{email:n,showUI:o,redirectURI:s,overrides:i,lifespan:a}]);return this.request(c)}loginWithSMS(e){let{phoneNumber:t,showUI:n=!0,lifespan:o}=e,s=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithSmsTestMode:p.MagicPayloadMethod.LoginWithSms,[{phoneNumber:t,showUI:n,lifespan:o}]),i=this.request(s);return!n&&i&&(i.on(p.LoginWithSmsOTPEventEmit.VerifySmsOtp,a=>{this.createIntermediaryEvent(p.LoginWithSmsOTPEventEmit.VerifySmsOtp,s.id)(a)}),i.on(p.LoginWithSmsOTPEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.LoginWithSmsOTPEventEmit.Cancel,s.id)()})),i}loginWithEmailOTP(e){let{email:t,showUI:n,deviceCheckUI:o,overrides:s,lifespan:i}=e,a=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithEmailOTPTestMode:p.MagicPayloadMethod.LoginWithEmailOTP,[{email:t,showUI:n,deviceCheckUI:o,overrides:s,lifespan:i}]),c=this.request(a);return!o&&c&&c.on(p.DeviceVerificationEventEmit.Retry,()=>{this.createIntermediaryEvent(p.DeviceVerificationEventEmit.Retry,a.id)()}),!n&&c&&(c.on(p.LoginWithEmailOTPEventEmit.VerifyEmailOtp,d=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.VerifyEmailOtp,a.id)(d)}),c.on(p.LoginWithEmailOTPEventEmit.VerifyMFACode,d=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.VerifyMFACode,a.id)(d)}),c.on(p.LoginWithEmailOTPEventEmit.LostDevice,()=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.LostDevice,a.id)()}),c.on(p.LoginWithEmailOTPEventEmit.VerifyRecoveryCode,d=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.VerifyRecoveryCode,a.id)(d)}),c.on(p.LoginWithEmailOTPEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.Cancel,a.id)()})),c}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:n}=e||{},o=t!=null?t:"";if(!t&&E.platform==="web"){o=window.location.search;let i=window.location.origin+window.location.pathname;window.history.replaceState(null,"",i)}let s=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithCredentialTestMode:p.MagicPayloadMethod.LoginWithCredential,[o,n]);return this.request(s)}setAuthorizationToken(e){let t=h(p.MagicPayloadMethod.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:n=!0}=e,o=h(this.sdk.testMode?p.MagicPayloadMethod.UpdateEmailTestMode:p.MagicPayloadMethod.UpdateEmail,[{email:t,showUI:n}]),s=this.request(o);return n||(s.on(p.RecencyCheckEventEmit.Retry,()=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.Retry,o.id)()}),s.on(p.RecencyCheckEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.Cancel,o.id)()}),s.on(p.RecencyCheckEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.VerifyEmailOtp,o.id)(i)}),s.on(p.RecencyCheckEventEmit.VerifyMFACode,i=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.VerifyMFACode,o.id)(i)}),s.on(p.UpdateEmailEventEmit.RetryWithNewEmail,i=>{this.createIntermediaryEvent(p.UpdateEmailEventEmit.RetryWithNewEmail,o.id)(i)}),s.on(p.UpdateEmailEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.UpdateEmailEventEmit.Cancel,o.id)()}),s.on(p.UpdateEmailEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(p.UpdateEmailEventEmit.VerifyEmailOtp,o.id)(i)})),s}};var l=require("@magic-sdk/types");var Z={};ut(Z,{clear:()=>Xr,getItem:()=>w,iterate:()=>Ze,key:()=>Yr,keys:()=>Qr,length:()=>zr,removeItem:()=>q,setItem:()=>C});var Pe;function j(r){return(...e)=>g(this,null,function*(){return Pe||(Pe=yield E.configureStorage()),yield Pe.ready(),Pe[r](...e)})}var w=j("getItem"),C=j("setItem"),q=j("removeItem"),Xr=j("clear"),zr=j("length"),Yr=j("key"),Qr=j("keys"),Ze=j("iterate");function et(){let r=window.crypto.getRandomValues(new Uint8Array(16));r[6]=r[6]&15|64,r[8]=r[8]&191|128;let e="";return e+=r[0].toString(16),e+=r[1].toString(16),e+=r[2].toString(16),e+=r[3].toString(16),e+="-",e+=r[4].toString(16),e+=r[5].toString(16),e+="-",e+=r[6].toString(16),e+=r[7].toString(16),e+="-",e+=r[8].toString(16),e+=r[9].toString(16),e+="-",e+=r[10].toString(16),e+=r[11].toString(16),e+=r[12].toString(16),e+=r[13].toString(16),e+=r[14].toString(16),e+=r[15].toString(16),e}var we="STORE_KEY_PRIVATE_KEY",le="STORE_KEY_PUBLIC_JWK",Ot="ECDSA",Zr="P-256",en={name:Ot,namedCurve:Zr};function ee(){let r=typeof window!="undefined"&&!!window.crypto,e=r&&!!window.crypto.subtle;return r&&e}function tn(){q(le),q(we)}function tt(){return g(this,null,function*(){let r=yield rn();if(!r){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:e}=window.crypto,t=yield w(we);if(!t||!e){console.info("unable to find private key or webcrypto unsupported");return}let n={iat:Math.floor(new Date().getTime()/1e3),jti:et()},o={typ:"dpop+jwt",alg:"ES256",jwk:r},s={protected:Lt(JSON.stringify(o)),claims:Lt(JSON.stringify(n))},i=sn(`${s.protected}.${s.claims}`),a={name:Ot,hash:{name:"SHA-256"}},c=an(new Uint8Array(yield e.sign(a,t,i)));return`${s.protected}.${s.claims}.${c}`})}function rn(){return g(this,null,function*(){if(!ee()){console.info("webcrypto is not supported");return}return(yield w(le))||(yield nn()),w(le)})}function nn(){return g(this,null,function*(){let{subtle:r}=window.crypto,e=yield r.generateKey(en,!1,["sign"]),t=yield r.exportKey("jwk",e.publicKey);yield C(we,e.privateKey),yield C(le,t)})}function Lt(r){return _t(on(r))}function sn(r){return new TextEncoder().encode(r)}function _t(r){return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function on(r){return encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16)))}function an(r){let e="";return r.forEach(t=>{e+=String.fromCharCode(t)}),_t(e)}var rt="ds",nt="ek",st="iv",ot="AES-GCM",cn=256;function xe(){return g(this,null,function*(){let r=[];yield Ze((e,t,n)=>{t.startsWith(`${rt}_`)&&r.push(t)});for(let e of r)yield q(e)})}function kt(r){let e="",t=new Uint8Array(r),n=t.byteLength;for(let o=0;o<n;o++)e+=String.fromCharCode(t[o]);return window.btoa(e)}function Dt(r){let e=window.atob(r),t=e.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);return n.buffer}function ln(){return g(this,null,function*(){if(!ee()){console.info("webcrypto is not supported");return}let{crypto:r}=window,e=yield w(st);return e||r.getRandomValues(new Uint8Array(12))})}function dn(){return g(this,null,function*(){if(!ee()){console.info("webcrypto is not supported");return}let{subtle:r}=window.crypto,e=yield w(nt);return e||(yield r.generateKey({name:ot,length:cn},!1,["encrypt","decrypt"]))})}function qt(r,e){return g(this,null,function*(){let t=yield ln(),n=yield dn();if(!t||!n||!r)return;let o=Dt(r),{subtle:s}=window.crypto,i=yield s.encrypt({name:ot,iv:t},n,o),a=kt(i);yield C(`${rt}_${e}`,a),yield C(nt,n),yield C(st,t)})}function Ut(r){return g(this,null,function*(){let e=yield w(`${rt}_${r}`),t=yield w(st),n=yield w(nt);if(!t||!e||!n||!ee())return;let{subtle:o}=window.crypto,s=yield o.decrypt({name:ot,iv:t},n,Dt(e));return kt(s)})}function Se(r,e){return e?new URL(r,e):new URL(r)}var Me=class extends v{constructor(){super(...arguments);this.localForageIsLoggedInKey="magic_auth_is_logged_in";this.userLoggedOutCallbacks=[]}getIdToken(t){let n=h(this.sdk.testMode?l.MagicPayloadMethod.GetIdTokenTestMode:l.MagicPayloadMethod.GetIdToken,[t]);return this.request(n)}generateIdToken(t){let n=h(this.sdk.testMode?l.MagicPayloadMethod.GenerateIdTokenTestMode:l.MagicPayloadMethod.GenerateIdToken,[t]);return this.request(n)}getInfo(){let t=h(l.MagicPayloadMethod.GetInfo,[]);return this.request(t)}isLoggedIn(){return P((t,n)=>g(this,null,function*(){try{let o=!1;this.sdk.useStorageCache&&(o=(yield w(this.localForageIsLoggedInKey))==="true",o&&t(!0));let s=h(this.sdk.testMode?l.MagicPayloadMethod.IsLoggedInTestMode:l.MagicPayloadMethod.IsLoggedIn),i=yield this.request(s);this.sdk.useStorageCache&&(i?C(this.localForageIsLoggedInKey,!0):q(this.localForageIsLoggedInKey),o&&!i&&this.emitUserLoggedOut(!0)),t(i)}catch(o){n(o)}}))}logout(){return q(this.localForageIsLoggedInKey),xe(),P((t,n)=>g(this,null,function*(){try{let o=h(this.sdk.testMode?l.MagicPayloadMethod.LogoutTestMode:l.MagicPayloadMethod.Logout),s=yield this.request(o);this.sdk.useStorageCache&&this.emitUserLoggedOut(s),t(s)}catch(o){n(o)}}))}requestInfoWithUI(t){let n=h(l.MagicPayloadMethod.RequestUserInfoWithUI,t?[t]:[]);return this.request(n)}showSettings(t){let{showUI:n=!0}=t||{},o=h(this.sdk.testMode?l.MagicPayloadMethod.UserSettingsTestMode:l.MagicPayloadMethod.UserSettings,[t]),s=this.request(o);return!n&&s&&(s.on(l.RecoveryFactorEventEmit.SendNewPhoneNumber,i=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.SendNewPhoneNumber,o.id)(i)}),s.on(l.RecoveryFactorEventEmit.SendOtpCode,i=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.SendOtpCode,o.id)(i)}),s.on(l.RecoveryFactorEventEmit.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.StartEditPhoneNumber,o.id)()}),s.on(l.RecoveryFactorEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.Cancel,o.id)()}),s.on(l.RecencyCheckEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(l.RecencyCheckEventEmit.VerifyEmailOtp,o.id)(i)})),s}recoverAccount(t){let{email:n,showUI:o}=t,s=h(this.sdk.testMode?l.MagicPayloadMethod.RecoverAccountTestMode:l.MagicPayloadMethod.RecoverAccount,[{email:n,showUI:o}]),i=this.request(s);return!o&&i&&(i.on(l.RecoverAccountEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.Cancel,s.id)()}),i.on(l.RecoverAccountEventEmit.ResendSms,()=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.ResendSms,s.id)()}),i.on(l.RecoverAccountEventEmit.VerifyOtp,a=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.VerifyOtp,s.id)(a)}),i.on(l.RecoverAccountEventEmit.UpdateEmail,a=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.UpdateEmail,s.id)(a)}),i.on(l.UpdateEmailEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.UpdateEmailEventEmit.Cancel,s.id)()}),i.on(l.UpdateEmailEventEmit.RetryWithNewEmail,a=>{this.createIntermediaryEvent(l.UpdateEmailEventEmit.RetryWithNewEmail,s.id)(a)}),i.on(l.UpdateEmailEventEmit.VerifyEmailOtp,a=>{this.createIntermediaryEvent(l.UpdateEmailEventEmit.VerifyEmailOtp,s.id)(a)})),i}revealPrivateKey(){let t=h(l.MagicPayloadMethod.RevealPK);return this.request(t)}onUserLoggedOut(t){this.userLoggedOutCallbacks.push(t)}enableMFA(t){let{showUI:n=!0}=t,o=h(l.MagicPayloadMethod.EnableMFA,[{showUI:n}]),s=this.request(o);return!n&&s&&(s.on(l.EnableMFAEventEmit.VerifyMFACode,i=>{this.createIntermediaryEvent(l.EnableMFAEventEmit.VerifyMFACode,o.id)(i)}),s.on(l.EnableMFAEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.EnableMFAEventEmit.Cancel,o.id)()})),s}disableMFA(t){let{showUI:n=!0}=t,o=h(l.MagicPayloadMethod.DisableMFA,[{showUI:n}]),s=this.request(o);return!n&&s&&(s.on(l.DisableMFAEventEmit.VerifyMFACode,i=>{this.createIntermediaryEvent(l.DisableMFAEventEmit.VerifyMFACode,o.id)(i)}),s.on(l.DisableMFAEventEmit.LostDevice,i=>{this.createIntermediaryEvent(l.DisableMFAEventEmit.LostDevice,o.id)(i)}),s.on(l.DisableMFAEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.DisableMFAEventEmit.Cancel,o.id)()})),s}emitUserLoggedOut(t){this.userLoggedOutCallbacks.forEach(n=>{n(t)})}};var U=require("@magic-sdk/types");var Ne=class extends v{connectWithUI(e){let t=P((n,o)=>g(this,null,function*(){try{let s=h(U.MagicPayloadMethod.Login,[W({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),i=this.request(s);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:c,callback:d})=>{i.on(c,()=>d(s.id))}),i.on("id-token-created",c=>{t.emit("id-token-created",c)});let a=yield i;a.error&&o(a),n(a)}catch(s){o(s)}}));return t}showUI(e){return this.request(h(U.MagicPayloadMethod.ShowUI,[e]))}showAddress(){return this.request(h(U.MagicPayloadMethod.ShowAddress))}showSendTokensUI(){return this.request(h(U.MagicPayloadMethod.ShowSendTokensUI))}showOnRamp(){return this.request(h(U.MagicPayloadMethod.ShowOnRamp))}showNFTs(){return this.request(h(U.MagicPayloadMethod.ShowNFTs))}showBalances(){return this.request(h(U.MagicPayloadMethod.ShowBalances))}sendGaslessTransaction(e,t){return this.request(h(U.MagicPayloadMethod.SendGaslessTransaction,[e,t]))}};var A=require("@magic-sdk/types");var Ae=class extends v{constructor(){super(...arguments);this.eventListeners=[];this.enabledWallets={};this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(A.LocalStorageKeys.PROVIDER),localStorage.removeItem(A.LocalStorageKeys.ADDRESS),localStorage.removeItem(A.LocalStorageKeys.CHAIN_ID),this.isConnected=!1}requestOverride(t){if(t.method===A.MagicPayloadMethod.Login)return this.resetThirdPartyWalletState(),super.request(t);if(t.method===A.MagicPayloadMethod.GetInfo)return this.getInfo(t);if(t.method===A.MagicPayloadMethod.IsLoggedIn)return this.isLoggedIn(t);if(t.method===A.MagicPayloadMethod.Logout)return this.logout(t);switch(localStorage.getItem(A.LocalStorageKeys.PROVIDER)){case"web3modal":return this.web3modalRequest(t);default:return this.resetThirdPartyWalletState(),super.request(t)}}isLoggedIn(t){switch(localStorage.getItem(A.LocalStorageKeys.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(t)}}getInfo(t){switch(localStorage.getItem(A.LocalStorageKeys.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(t)}}logout(t){let n=localStorage.getItem(A.LocalStorageKeys.PROVIDER);switch(this.resetThirdPartyWalletState(),n){case"web3modal":return this.web3modalLogout();default:return super.request(t)}}web3modalRequest(t){return P((n,o)=>{this.sdk.web3modal.modal.getWalletProvider().request(t).then(n).catch(o)})}web3modalIsLoggedIn(){return P(t=>{let n=this.sdk.web3modal.modal.getStatus();if(n==="connected"&&t(!0),n==="disconnected"&&(this.resetThirdPartyWalletState(),t(!1)),n==="reconnecting"){let o=this.sdk.web3modal.modal.subscribeProvider(({status:s})=>{s==="connected"&&(o(),t(!0)),s==="disconnected"&&(o(),this.resetThirdPartyWalletState(),t(!1))})}})}formatWeb3modalGetInfoResponse(){var o;let t=(o=this.sdk.web3modal.modal.getWalletInfo())==null?void 0:o.name,n=this.sdk.web3modal.modal.getAddress();return{publicAddress:n,email:null,issuer:`did:ethr:${n}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:t||"web3modal"}}web3modalGetInfo(){return P((t,n)=>{let o=this.sdk.web3modal.modal.getStatus();if(o==="connected"&&t(this.formatWeb3modalGetInfoResponse()),o==="disconnected"&&(this.resetThirdPartyWalletState(),n("Magic RPC Error: [-32603] Internal error: User denied account access.")),o==="reconnecting"){let s=this.sdk.web3modal.modal.subscribeProvider(({status:i})=>{i==="connected"&&(s(),t(this.formatWeb3modalGetInfoResponse())),i==="disconnected"&&(s(),this.resetThirdPartyWalletState(),n("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return P(t=>g(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(n){console.error(n)}t(!0)}))}};var de=require("@magic-sdk/types");var{createBoundEmitterMethod:Ce,createChainingEmitterMethod:te}=ce(),$e=class extends v{constructor(){super(...arguments);this.isMagic=!0;this.on=te("on",this);this.once=te("once",this);this.addListener=te("addListener",this);this.off=te("off",this);this.removeListener=te("removeListener",this);this.removeAllListeners=te("removeAllListeners",this);this.emit=Ce("emit");this.eventNames=Ce("eventNames");this.listeners=Ce("listeners");this.listenerCount=Ce("listenerCount")}sendAsync(t,n){if(!n)throw Ve({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:n===null?"null":typeof n});if(Array.isArray(t))this.overlay.post(de.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,t.map(o=>{let s=B(o);return this.prefixPayloadMethodForTestMode(s),s})).then(o=>{n(null,o.map(s=>X(W({},s.payload),{error:s.hasError?new L(s.payload.error):null})))});else{let o=B(t);this.prefixPayloadMethodForTestMode(o),this.overlay.post(de.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,o).then(s=>{n(s.hasError?new L(s.payload.error):null,s.payload)})}}send(t,n){if(typeof t=="string"){let s=h(t,Array.isArray(n)?n:[]);return this.request(s)}if(Array.isArray(t)||!!n){this.sendAsync(t,n);return}let o=He();return o.log(),new G(t).applyError({code:-32603,message:o.rawMessage}).payload}enable(){let t=h(de.MagicPayloadMethod.Login);return this.request(t)}request(t){return this.prefixPayloadMethodForTestMode(t),super.request(t)}prefixPayloadMethodForTestMode(t){let n="testMode/eth/";this.sdk.testMode&&(t.method=`${n}${t.method}`)}};var Ft=["request","overlay","sdk"];function un(r){let e=Object.getPrototypeOf(r),t=[e];for(;e!==v.prototype;)e=Object.getPrototypeOf(e),t.push(e);return t}var Le=class extends v{constructor(){super(void 0);this.__sdk_access_field_descriptors__=new Map;this.__is_initialized__=!1;this.utils={createPromiEvent:P,isPromiEvent:Ye,encodeJSON:ie,decodeJSON:qe,createJsonRpcRequestPayload:h,standardizeJsonRpcRequestPayload:B,storage:Z};let t=[this,...un(this)];Ft.forEach(n=>{let o=t.map(c=>Object.getOwnPropertyDescriptor(c,n)),s=o.findIndex(c=>!!c),i=s>0,a=o[s];a&&(this.__sdk_access_field_descriptors__.set(n,{descriptor:a,isPrototypeField:i}),Object.defineProperty(this,n,{configurable:!0,get:()=>{throw Ke(n)}}))})}init(t){this.__is_initialized__||(Ft.forEach(n=>{if(this.__sdk_access_field_descriptors__.has(n)){let{descriptor:o,isPrototypeField:s}=this.__sdk_access_field_descriptors__.get(n);s?delete this[n]:Object.defineProperty(this,n,o)}}),this.sdk=t,this.__is_initialized__=!0)}createDeprecationWarning(t){let{method:n,removalVersion:o,useInstead:s}=t,i=s?` Use \`${s}\` instead.`:"",a=`\`${n}\` will be removed from this Extension in version \`${o}\`.${i}`;return new Q(this,"DEPRECATION_NOTICE",a)}createWarning(t,n){return new Q(this,t,n)}createError(t,n,o){return new H(this,t,n,o)}},it=class extends Le{},O=class extends Le{};O.Internal=it,O.Anonymous="anonymous extension";var F=require("@magic-sdk/types");var Oe=class extends v{purchase(e){let t=h(F.MagicPayloadMethod.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,n=h(F.MagicPayloadMethod.NFTCheckout,[X(W({},e),{walletProvider:t?"web3modal":"magic"})]),o=this.request(n);return t&&(o.on(F.NftCheckoutIntermediaryEvents.Initiated,s=>g(this,null,function*(){try{let i=yield this.request({method:"eth_sendTransaction",params:[s]});this.createIntermediaryEvent(F.NftCheckoutIntermediaryEvents.Success,n.id)(i)}catch(i){this.createIntermediaryEvent(F.NftCheckoutIntermediaryEvents.Failure,n.id)()}})),o.on(F.NftCheckoutIntermediaryEvents.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),o.emit("disconnect")})),o}transfer(e){let t=h(F.MagicPayloadMethod.NFTTransfer,[e]);return this.request(t)}};function Wt(r){return r.compat&&r.compat[E.sdkName]!=null?typeof r.compat[E.sdkName]=="string"?bt(Pt(E.version),r.compat[E.sdkName]):!!r.compat[E.sdkName]:!0}function pn(r,e,t){return!e&&!t?`${r}_eth_mainnet`:t?`${r}_${JSON.stringify(t)}`:e?typeof e=="string"?`${r}_eth_${e}`:`${r}_${e.rpcUrl}_${e.chainId}_${e.chainType}`:`${r}_unknown`}function mn(r){var o;let e=(o=r==null?void 0:r.extensions)!=null?o:[],t={},n=[];if(Array.isArray(e)?e.forEach(s=>{Wt(s)?(s.init(this),(s.name||s.name!==O.Anonymous)&&(this[s.name]=s),s instanceof O.Internal&&(Y(s.config)||(t[s.name]=s.config))):n.push(s)}):Object.keys(e).forEach(s=>{if(Wt(e[s])){e[s].init(this);let i=e[s];this[s]=i,i instanceof O.Internal&&(Y(i.config)||(t[e[s].name]=i.config))}else n.push(e[s])}),n.length)throw je(n);return t}var pe=class{constructor(e,t){this.apiKey=e;var i;if(!e)throw We();E.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Be().log();let{defaultEndpoint:n,version:o}=E;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=Se((i=t==null?void 0:t.endpoint)!=null?i:n).origin,this.auth=new be(this),this.user=new Me(this),this.wallet=new Ne(this),this.nft=new Oe(this),this.thirdPartyWallets=new Ae(this),this.rpcProvider=new $e(this);let s=mn.call(this,t);this.parameters=ie(X(W({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:Se(this.endpoint).host,sdk:xt[E.sdkName],version:o,ext:Y(s)?void 0:s,locale:(t==null?void 0:t.locale)||"en_US"},E.bundleId?{bundleId:E.bundleId}:{}),{meta:t==null?void 0:t.meta})),this.networkHash=pn(this.apiKey,t==null?void 0:t.network,Y(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!pe.__overlays__.has(this.parameters)){let e=new E.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),pe.__overlays__.set(this.parameters,e)}return pe.__overlays__.get(this.parameters)}preload(){return g(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},ue=pe;ue.__overlays__=new Map;var V=require("@magic-sdk/types");function hn(r,e){return e&&Array.isArray(r)?r.find(t=>t.id===e):r}function En(r,e){var o;let t=(o=e.data.response)==null?void 0:o.id,n=hn(r,t);if(t&&n){let s=new G(n).applyResult(e.data.response.result).applyError(e.data.response.error);return{id:t,response:s}}return{}}function fn(r,e,t){return g(this,null,function*(){var a;let n=yield w("rt"),o;if(E.platform==="web")try{o=(a=yield w("jwt"))!=null?a:yield tt()}catch(c){console.error("webcrypto error",c)}let s={msgType:r,payload:e};o&&(s.jwt=o),o&&n&&(s.rt=n);let i=yield Ut(t);return i&&(s.deviceShare=i),s})}function gn(r){return g(this,null,function*(){!r.data.rt||(yield C("rt",r.data.rt))})}var _e=class{constructor(e,t,n){this.endpoint=e;this.parameters=t;this.networkHash=n;this.messageHandlers=new Set;this.isConnectedToInternet=!0;this.checkIsReadyForRequest=this.waitForReady(),this.isReadyForRequest=!1,this.listen()}post(e,t){return g(this,null,function*(){return Ie((n,o)=>g(this,null,function*(){if(!this.isConnectedToInternet){let u=Je();o(u)}this.isReadyForRequest||(yield this.waitForReady());let s=[],i=Array.isArray(t)?t.map(u=>u.id):[],a=yield fn(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(a);let c=u=>m=>{var at;let{id:M,response:T}=En(t,m);if(gn(m),((at=T==null?void 0:T.payload.error)==null?void 0:at.message)==="User denied account access.")xe();else if(m.data.deviceShare){let{deviceShare:Jt}=m.data;qt(Jt,this.networkHash)}M&&T&&Array.isArray(t)&&i.includes(M)?(s.push(T),s.length===t.length&&(u(),n(s))):M&&T&&!Array.isArray(t)&&M===t.id&&(u(),n(T))},d=this.on(V.MagicIncomingWindowMessage.MAGIC_HANDLE_RESPONSE,c(()=>d()))}))})}on(e,t){let n=t.bind(window),o=s=>{s.data.msgType===`${e}-${this.parameters}`&&n(s)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{let t=this.on(V.MagicIncomingWindowMessage.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()});setTimeout(()=>{this.isReadyForRequest=!0,e(),t()},15e3)})}listen(){this.on(V.MagicIncomingWindowMessage.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(V.MagicIncomingWindowMessage.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(V.MagicIncomingWindowMessage.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new D(V.SDKWarningCode.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};
5
+ Received: \`${r.received}\``)}function Jr(){return new D(N.SDKWarningCode.DuplicateIframe,"Duplicate iframes found.")}function He(){return new D(N.SDKWarningCode.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 Be(){return new D(N.SDKWarningCode.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 \`${E.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function Xe(r){let{method:e,removalVersions:t,useInstead:n}=r,o=t[E.sdkName],s=n?` Use \`${n}\` instead.`:"",i=`\`${e}\` will be removed from \`${E.sdkName}\` in version \`${o}\`.${s}`;return new D(N.SDKWarningCode.DeprecationNotice,i)}var p=require("@magic-sdk/types");var K=require("@magic-sdk/types");function*Gr(){let r=0;for(;;)r<Number.MAX_SAFE_INTEGER?yield++r:r=0}var Kr=Gr();function ye(){return Kr.next().value}var St=Symbol("Payload pre-processed by Magic SDK");function Mt(r){return Object.defineProperty(r,St,{value:!0,enumerable:!1}),r}function jr(r){return!!r[St]}function B(r){var e,t,n;return jr(r)||(r.jsonrpc=(e=r.jsonrpc)!=null?e:"2.0",r.id=ye(),r.method=(t=r.method)!=null?t:"noop",r.params=(n=r.params)!=null?n:[],Mt(r)),r}function h(r,e=[]){return Mt({params:e,method:r,jsonrpc:"2.0",id:ye()})}var G=class{constructor(e){e instanceof G?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Ue(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}}};var Te=require("@magic-sdk/types");var Ct=Yt(At()),ve=class extends Ct.default{};function ce(){let r=new ve;return{emitter:r,createChainingEmitterMethod:(n,o)=>(...s)=>(r[n].apply(r,s),o),createBoundEmitterMethod:n=>(...o)=>r[n].apply(r,o)}}var $t=Symbol("isPromiEvent");function Ye(r){return!!r[$t]}function P(r){let e=Ie(r),{createBoundEmitterMethod:t,createChainingEmitterMethod:n}=ce(),o=Symbol("Promise.then"),s=Symbol("Promise.catch"),i=Symbol("Promise.finally"),a=(u,m)=>(...M)=>{let T=m[u].apply(m,M);return c(T)},c=u=>Object.assign(u,{[$t]:!0,[o]:u[o]||u.then,[s]:u[s]||u.catch,[i]:u[i]||u.finally,then:a(o,u),catch:a(s,u),finally:a(i,u),on:n("on",u),once:n("once",u),addListener:n("addListener",u),off:n("off",u),removeListener:n("removeListener",u),removeAllListeners:n("removeAllListeners",u),emit:t("emit"),eventNames:t("eventNames"),listeners:t("listeners"),listenerCount:t("listenerCount")}),d=c(e.then(u=>(d.emit("done",u),d.emit("settled"),u),u=>{throw d.emit("error",u),d.emit("settled"),u}));return d.on(Te.UserEventsOnReceived.ClosedByUser,()=>{d.emit(Te.UserEventsEmit.ClosedByUser)}),d}function Ie(r){return new Promise((e,t)=>{let n=r(e,t);Promise.resolve(n).catch(t)})}var v=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){if(this.sdk.thirdPartyWallets.isConnected&&!K.routeToMagicMethods.includes(e.method))return P((i,a)=>{this.sdk.thirdPartyWallets.requestOverride(e).then(i).catch(a)});let t=this.overlay.post(K.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,B(e)),n=P((s,i)=>{t.then(a=>{if(o(),a.hasError)i(new L(a.payload.error));else if(a.hasResult)s(a.payload.result);else throw Ge()}).catch(a=>{o(),i(a)})}),o=this.overlay.on(K.MagicIncomingWindowMessage.MAGIC_HANDLE_EVENT,s=>{var a;let{response:i}=s.data;if(i.id===e.id&&((a=i.result)==null?void 0:a.event)){let{event:c,params:d=[]}=i.result;n.emit(c,...d)}});return n}createIntermediaryEvent(e,t){return o=>{let s=h(K.MagicPayloadMethod.IntermediaryEvent,[{payloadId:t,eventType:e,args:o}]);this.request(s)}}};function Qe(r,e){let[t]=r.split(".").map(Number);return t>=e}var Br={"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"},be=class extends v{loginWithMagicLink(e){let t=E.sdkName==="@magic-sdk/react-native"||E.sdkName==="@magic-sdk/react-native-bare"||E.sdkName==="@magic-sdk/react-native-expo";if(t&&Qe(E.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&Xe({method:"auth.loginWithMagicLink()",removalVersions:Br,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:n,showUI:o=!0,redirectURI:s,overrides:i,lifespan:a}=e,c=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithMagicLinkTestMode:p.MagicPayloadMethod.LoginWithMagicLink,[{email:n,showUI:o,redirectURI:s,overrides:i,lifespan:a}]);return this.request(c)}loginWithSMS(e){let{phoneNumber:t,showUI:n=!0,lifespan:o}=e,s=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithSmsTestMode:p.MagicPayloadMethod.LoginWithSms,[{phoneNumber:t,showUI:n,lifespan:o}]),i=this.request(s);return!n&&i&&(i.on(p.LoginWithSmsOTPEventEmit.VerifySmsOtp,a=>{this.createIntermediaryEvent(p.LoginWithSmsOTPEventEmit.VerifySmsOtp,s.id)(a)}),i.on(p.LoginWithSmsOTPEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.LoginWithSmsOTPEventEmit.Cancel,s.id)()})),i}loginWithEmailOTP(e){let{email:t,showUI:n,deviceCheckUI:o,overrides:s,lifespan:i}=e,a=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithEmailOTPTestMode:p.MagicPayloadMethod.LoginWithEmailOTP,[{email:t,showUI:n,deviceCheckUI:o,overrides:s,lifespan:i}]),c=this.request(a);return!o&&c&&c.on(p.DeviceVerificationEventEmit.Retry,()=>{this.createIntermediaryEvent(p.DeviceVerificationEventEmit.Retry,a.id)()}),!n&&c&&(c.on(p.LoginWithEmailOTPEventEmit.VerifyEmailOtp,d=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.VerifyEmailOtp,a.id)(d)}),c.on(p.LoginWithEmailOTPEventEmit.VerifyMFACode,d=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.VerifyMFACode,a.id)(d)}),c.on(p.LoginWithEmailOTPEventEmit.LostDevice,()=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.LostDevice,a.id)()}),c.on(p.LoginWithEmailOTPEventEmit.VerifyRecoveryCode,d=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.VerifyRecoveryCode,a.id)(d)}),c.on(p.LoginWithEmailOTPEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.LoginWithEmailOTPEventEmit.Cancel,a.id)()})),c}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:n}=e||{},o=t!=null?t:"";if(!t&&E.platform==="web"){o=window.location.search;let i=window.location.origin+window.location.pathname;window.history.replaceState(null,"",i)}let s=h(this.sdk.testMode?p.MagicPayloadMethod.LoginWithCredentialTestMode:p.MagicPayloadMethod.LoginWithCredential,[o,n]);return this.request(s)}setAuthorizationToken(e){let t=h(p.MagicPayloadMethod.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:n=!0}=e,o=h(this.sdk.testMode?p.MagicPayloadMethod.UpdateEmailTestMode:p.MagicPayloadMethod.UpdateEmail,[{email:t,showUI:n}]),s=this.request(o);return n||(s.on(p.RecencyCheckEventEmit.Retry,()=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.Retry,o.id)()}),s.on(p.RecencyCheckEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.Cancel,o.id)()}),s.on(p.RecencyCheckEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.VerifyEmailOtp,o.id)(i)}),s.on(p.RecencyCheckEventEmit.VerifyMFACode,i=>{this.createIntermediaryEvent(p.RecencyCheckEventEmit.VerifyMFACode,o.id)(i)}),s.on(p.UpdateEmailEventEmit.RetryWithNewEmail,i=>{this.createIntermediaryEvent(p.UpdateEmailEventEmit.RetryWithNewEmail,o.id)(i)}),s.on(p.UpdateEmailEventEmit.Cancel,()=>{this.createIntermediaryEvent(p.UpdateEmailEventEmit.Cancel,o.id)()}),s.on(p.UpdateEmailEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(p.UpdateEmailEventEmit.VerifyEmailOtp,o.id)(i)})),s}};var l=require("@magic-sdk/types");var Z={};ut(Z,{clear:()=>Xr,getItem:()=>w,iterate:()=>Ze,key:()=>Yr,keys:()=>Qr,length:()=>zr,removeItem:()=>q,setItem:()=>C});var Pe;function j(r){return(...e)=>g(this,null,function*(){return Pe||(Pe=yield E.configureStorage()),yield Pe.ready(),Pe[r](...e)})}var w=j("getItem"),C=j("setItem"),q=j("removeItem"),Xr=j("clear"),zr=j("length"),Yr=j("key"),Qr=j("keys"),Ze=j("iterate");function et(){let r=window.crypto.getRandomValues(new Uint8Array(16));r[6]=r[6]&15|64,r[8]=r[8]&191|128;let e="";return e+=r[0].toString(16),e+=r[1].toString(16),e+=r[2].toString(16),e+=r[3].toString(16),e+="-",e+=r[4].toString(16),e+=r[5].toString(16),e+="-",e+=r[6].toString(16),e+=r[7].toString(16),e+="-",e+=r[8].toString(16),e+=r[9].toString(16),e+="-",e+=r[10].toString(16),e+=r[11].toString(16),e+=r[12].toString(16),e+=r[13].toString(16),e+=r[14].toString(16),e+=r[15].toString(16),e}var we="STORE_KEY_PRIVATE_KEY",le="STORE_KEY_PUBLIC_JWK",Ot="ECDSA",Zr="P-256",en={name:Ot,namedCurve:Zr};function ee(){let r=typeof window!="undefined"&&!!window.crypto,e=r&&!!window.crypto.subtle;return r&&e}function tn(){q(le),q(we)}function tt(){return g(this,null,function*(){let r=yield rn();if(!r){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:e}=window.crypto,t=yield w(we);if(!t||!e){console.info("unable to find private key or webcrypto unsupported");return}let n={iat:Math.floor(new Date().getTime()/1e3),jti:et()},o={typ:"dpop+jwt",alg:"ES256",jwk:r},s={protected:Lt(JSON.stringify(o)),claims:Lt(JSON.stringify(n))},i=sn(`${s.protected}.${s.claims}`),a={name:Ot,hash:{name:"SHA-256"}},c=an(new Uint8Array(yield e.sign(a,t,i)));return`${s.protected}.${s.claims}.${c}`})}function rn(){return g(this,null,function*(){if(!ee()){console.info("webcrypto is not supported");return}return(yield w(le))||(yield nn()),w(le)})}function nn(){return g(this,null,function*(){let{subtle:r}=window.crypto,e=yield r.generateKey(en,!1,["sign"]),t=yield r.exportKey("jwk",e.publicKey);yield C(we,e.privateKey),yield C(le,t)})}function Lt(r){return _t(on(r))}function sn(r){return new TextEncoder().encode(r)}function _t(r){return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function on(r){return encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16)))}function an(r){let e="";return r.forEach(t=>{e+=String.fromCharCode(t)}),_t(e)}var rt="ds",nt="ek",st="iv",ot="AES-GCM",cn=256;function xe(){return g(this,null,function*(){let r=[];yield Ze((e,t,n)=>{t.startsWith(`${rt}_`)&&r.push(t)});for(let e of r)yield q(e)})}function kt(r){let e="",t=new Uint8Array(r),n=t.byteLength;for(let o=0;o<n;o++)e+=String.fromCharCode(t[o]);return window.btoa(e)}function Dt(r){let e=window.atob(r),t=e.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);return n.buffer}function ln(){return g(this,null,function*(){if(!ee()){console.info("webcrypto is not supported");return}let{crypto:r}=window,e=yield w(st);return e||r.getRandomValues(new Uint8Array(12))})}function dn(){return g(this,null,function*(){if(!ee()){console.info("webcrypto is not supported");return}let{subtle:r}=window.crypto,e=yield w(nt);return e||(yield r.generateKey({name:ot,length:cn},!1,["encrypt","decrypt"]))})}function qt(r,e){return g(this,null,function*(){let t=yield ln(),n=yield dn();if(!t||!n||!r)return;let o=Dt(r),{subtle:s}=window.crypto,i=yield s.encrypt({name:ot,iv:t},n,o),a=kt(i);yield C(`${rt}_${e}`,a),yield C(nt,n),yield C(st,t)})}function Ut(r){return g(this,null,function*(){let e=yield w(`${rt}_${r}`),t=yield w(st),n=yield w(nt);if(!t||!e||!n||!ee())return;let{subtle:o}=window.crypto,s=yield o.decrypt({name:ot,iv:t},n,Dt(e));return kt(s)})}function Se(r,e){return e?new URL(r,e):new URL(r)}var Me=class extends v{constructor(){super(...arguments);this.localForageIsLoggedInKey="magic_auth_is_logged_in";this.userLoggedOutCallbacks=[]}getIdToken(t){let n=h(this.sdk.testMode?l.MagicPayloadMethod.GetIdTokenTestMode:l.MagicPayloadMethod.GetIdToken,[t]);return this.request(n)}generateIdToken(t){let n=h(this.sdk.testMode?l.MagicPayloadMethod.GenerateIdTokenTestMode:l.MagicPayloadMethod.GenerateIdToken,[t]);return this.request(n)}getInfo(){let t=h(l.MagicPayloadMethod.GetInfo,[]);return this.request(t)}isLoggedIn(){return P((t,n)=>g(this,null,function*(){try{let o=!1;this.sdk.useStorageCache&&(o=(yield w(this.localForageIsLoggedInKey))==="true",o&&t(!0));let s=h(this.sdk.testMode?l.MagicPayloadMethod.IsLoggedInTestMode:l.MagicPayloadMethod.IsLoggedIn),i=yield this.request(s);this.sdk.useStorageCache&&(i?C(this.localForageIsLoggedInKey,!0):q(this.localForageIsLoggedInKey),o&&!i&&this.emitUserLoggedOut(!0)),t(i)}catch(o){n(o)}}))}logout(){return q(this.localForageIsLoggedInKey),xe(),P((t,n)=>g(this,null,function*(){try{let o=h(this.sdk.testMode?l.MagicPayloadMethod.LogoutTestMode:l.MagicPayloadMethod.Logout),s=yield this.request(o);this.sdk.useStorageCache&&this.emitUserLoggedOut(s),t(s)}catch(o){n(o)}}))}requestInfoWithUI(t){let n=h(l.MagicPayloadMethod.RequestUserInfoWithUI,t?[t]:[]);return this.request(n)}showSettings(t){let{showUI:n=!0}=t||{},o=h(this.sdk.testMode?l.MagicPayloadMethod.UserSettingsTestMode:l.MagicPayloadMethod.UserSettings,[t]),s=this.request(o);return!n&&s&&(s.on(l.RecoveryFactorEventEmit.SendNewPhoneNumber,i=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.SendNewPhoneNumber,o.id)(i)}),s.on(l.RecoveryFactorEventEmit.SendOtpCode,i=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.SendOtpCode,o.id)(i)}),s.on(l.RecoveryFactorEventEmit.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.StartEditPhoneNumber,o.id)()}),s.on(l.RecoveryFactorEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.RecoveryFactorEventEmit.Cancel,o.id)()}),s.on(l.RecencyCheckEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(l.RecencyCheckEventEmit.VerifyEmailOtp,o.id)(i)})),s}recoverAccount(t){let{email:n,showUI:o}=t,s=h(this.sdk.testMode?l.MagicPayloadMethod.RecoverAccountTestMode:l.MagicPayloadMethod.RecoverAccount,[{email:n,showUI:o}]),i=this.request(s);return!o&&i&&(i.on(l.RecoverAccountEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.Cancel,s.id)()}),i.on(l.RecoverAccountEventEmit.ResendSms,()=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.ResendSms,s.id)()}),i.on(l.RecoverAccountEventEmit.VerifyOtp,a=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.VerifyOtp,s.id)(a)}),i.on(l.RecoverAccountEventEmit.UpdateEmail,a=>{this.createIntermediaryEvent(l.RecoverAccountEventEmit.UpdateEmail,s.id)(a)}),i.on(l.UpdateEmailEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.UpdateEmailEventEmit.Cancel,s.id)()}),i.on(l.UpdateEmailEventEmit.RetryWithNewEmail,a=>{this.createIntermediaryEvent(l.UpdateEmailEventEmit.RetryWithNewEmail,s.id)(a)}),i.on(l.UpdateEmailEventEmit.VerifyEmailOtp,a=>{this.createIntermediaryEvent(l.UpdateEmailEventEmit.VerifyEmailOtp,s.id)(a)})),i}revealPrivateKey(){let t=h(l.MagicPayloadMethod.RevealPK);return this.request(t)}onUserLoggedOut(t){this.userLoggedOutCallbacks.push(t)}enableMFA(t){let{showUI:n=!0}=t,o=h(l.MagicPayloadMethod.EnableMFA,[{showUI:n}]),s=this.request(o);return!n&&s&&(s.on(l.EnableMFAEventEmit.VerifyMFACode,i=>{this.createIntermediaryEvent(l.EnableMFAEventEmit.VerifyMFACode,o.id)(i)}),s.on(l.EnableMFAEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.EnableMFAEventEmit.Cancel,o.id)()})),s}disableMFA(t){let{showUI:n=!0}=t,o=h(l.MagicPayloadMethod.DisableMFA,[{showUI:n}]),s=this.request(o);return!n&&s&&(s.on(l.DisableMFAEventEmit.VerifyMFACode,i=>{this.createIntermediaryEvent(l.DisableMFAEventEmit.VerifyMFACode,o.id)(i)}),s.on(l.DisableMFAEventEmit.LostDevice,i=>{this.createIntermediaryEvent(l.DisableMFAEventEmit.LostDevice,o.id)(i)}),s.on(l.DisableMFAEventEmit.Cancel,()=>{this.createIntermediaryEvent(l.DisableMFAEventEmit.Cancel,o.id)()})),s}emitUserLoggedOut(t){this.userLoggedOutCallbacks.forEach(n=>{n(t)})}};var U=require("@magic-sdk/types");var Ne=class extends v{connectWithUI(e){let t=P((n,o)=>g(this,null,function*(){try{let s=h(U.MagicPayloadMethod.Login,[W({enabledWallets:this.sdk.thirdPartyWallets.enabledWallets},e)]),i=this.request(s);this.sdk.thirdPartyWallets.eventListeners.forEach(({event:c,callback:d})=>{i.on(c,()=>d(s.id))}),i.on("id-token-created",c=>{t.emit("id-token-created",c)});let a=yield i;a.error&&o(a),n(a)}catch(s){o(s)}}));return t}showUI(e){return this.request(h(U.MagicPayloadMethod.ShowUI,[e]))}showAddress(){return this.request(h(U.MagicPayloadMethod.ShowAddress))}showSendTokensUI(){return this.request(h(U.MagicPayloadMethod.ShowSendTokensUI))}showOnRamp(){return this.request(h(U.MagicPayloadMethod.ShowOnRamp))}showNFTs(){return this.request(h(U.MagicPayloadMethod.ShowNFTs))}showBalances(){return this.request(h(U.MagicPayloadMethod.ShowBalances))}sendGaslessTransaction(e,t){return this.request(h(U.MagicPayloadMethod.SendGaslessTransaction,[e,t]))}};var A=require("@magic-sdk/types");var Ae=class extends v{constructor(){super(...arguments);this.eventListeners=[];this.enabledWallets={};this.isConnected=!1}resetThirdPartyWalletState(){localStorage.removeItem(A.LocalStorageKeys.PROVIDER),localStorage.removeItem(A.LocalStorageKeys.ADDRESS),localStorage.removeItem(A.LocalStorageKeys.CHAIN_ID),this.isConnected=!1}requestOverride(t){if(t.method===A.MagicPayloadMethod.Login)return this.resetThirdPartyWalletState(),super.request(t);if(t.method===A.MagicPayloadMethod.GetInfo)return this.getInfo(t);if(t.method===A.MagicPayloadMethod.IsLoggedIn)return this.isLoggedIn(t);if(t.method===A.MagicPayloadMethod.Logout)return this.logout(t);switch(localStorage.getItem(A.LocalStorageKeys.PROVIDER)){case"web3modal":return this.web3modalRequest(t);default:return this.resetThirdPartyWalletState(),super.request(t)}}isLoggedIn(t){switch(localStorage.getItem(A.LocalStorageKeys.PROVIDER)){case"web3modal":return this.web3modalIsLoggedIn();default:return this.resetThirdPartyWalletState(),super.request(t)}}getInfo(t){switch(localStorage.getItem(A.LocalStorageKeys.PROVIDER)){case"web3modal":return this.web3modalGetInfo();default:return this.resetThirdPartyWalletState(),super.request(t)}}logout(t){let n=localStorage.getItem(A.LocalStorageKeys.PROVIDER);switch(this.resetThirdPartyWalletState(),n){case"web3modal":return this.web3modalLogout();default:return super.request(t)}}web3modalRequest(t){return P((n,o)=>{this.sdk.web3modal.modal.getWalletProvider().request(t).then(n).catch(o)})}web3modalIsLoggedIn(){return P(t=>{let n=this.sdk.web3modal.modal.getStatus();if(n==="connected"&&t(!0),n==="disconnected"&&(this.resetThirdPartyWalletState(),t(!1)),n==="reconnecting"){let o=this.sdk.web3modal.modal.subscribeProvider(({status:s})=>{s==="connected"&&(o(),t(!0)),s==="disconnected"&&(o(),this.resetThirdPartyWalletState(),t(!1))})}})}formatWeb3modalGetInfoResponse(){var o;let t=(o=this.sdk.web3modal.modal.getWalletInfo())==null?void 0:o.name,n=this.sdk.web3modal.modal.getAddress();return{publicAddress:n,email:null,issuer:`did:ethr:${n}`,phoneNumber:null,isMfaEnabled:!1,recoveryFactors:[],walletType:t||"web3modal"}}web3modalGetInfo(){return P((t,n)=>{let o=this.sdk.web3modal.modal.getStatus();if(o==="connected"&&t(this.formatWeb3modalGetInfoResponse()),o==="disconnected"&&(this.resetThirdPartyWalletState(),n("Magic RPC Error: [-32603] Internal error: User denied account access.")),o==="reconnecting"){let s=this.sdk.web3modal.modal.subscribeProvider(({status:i})=>{i==="connected"&&(s(),t(this.formatWeb3modalGetInfoResponse())),i==="disconnected"&&(s(),this.resetThirdPartyWalletState(),n("Magic RPC Error: [-32603] Internal error: User denied account access."))})}})}web3modalLogout(){return P(t=>g(this,null,function*(){try{yield this.sdk.web3modal.modal.disconnect()}catch(n){console.error(n)}t(!0)}))}};var de=require("@magic-sdk/types");var{createBoundEmitterMethod:Ce,createChainingEmitterMethod:te}=ce(),$e=class extends v{constructor(){super(...arguments);this.isMagic=!0;this.on=te("on",this);this.once=te("once",this);this.addListener=te("addListener",this);this.off=te("off",this);this.removeListener=te("removeListener",this);this.removeAllListeners=te("removeAllListeners",this);this.emit=Ce("emit");this.eventNames=Ce("eventNames");this.listeners=Ce("listeners");this.listenerCount=Ce("listenerCount")}sendAsync(t,n){if(!n)throw Ve({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:n===null?"null":typeof n});if(Array.isArray(t))this.overlay.post(de.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,t.map(o=>{let s=B(o);return this.prefixPayloadMethodForTestMode(s),s})).then(o=>{n(null,o.map(s=>X(W({},s.payload),{error:s.hasError?new L(s.payload.error):null})))});else{let o=B(t);this.prefixPayloadMethodForTestMode(o),this.overlay.post(de.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,o).then(s=>{n(s.hasError?new L(s.payload.error):null,s.payload)})}}send(t,n){if(typeof t=="string"){let s=h(t,Array.isArray(n)?n:[]);return this.request(s)}if(Array.isArray(t)||!!n){this.sendAsync(t,n);return}let o=He();return o.log(),new G(t).applyError({code:-32603,message:o.rawMessage}).payload}enable(){let t=h(de.MagicPayloadMethod.Login);return this.request(t)}request(t){return this.prefixPayloadMethodForTestMode(t),super.request(t)}prefixPayloadMethodForTestMode(t){let n="testMode/eth/";this.sdk.testMode&&(t.method=`${n}${t.method}`)}};var Ft=["request","overlay","sdk"];function un(r){let e=Object.getPrototypeOf(r),t=[e];for(;e!==v.prototype;)e=Object.getPrototypeOf(e),t.push(e);return t}var Le=class extends v{constructor(){super(void 0);this.__sdk_access_field_descriptors__=new Map;this.__is_initialized__=!1;this.utils={createPromiEvent:P,isPromiEvent:Ye,encodeJSON:ie,decodeJSON:qe,createJsonRpcRequestPayload:h,standardizeJsonRpcRequestPayload:B,storage:Z};let t=[this,...un(this)];Ft.forEach(n=>{let o=t.map(c=>Object.getOwnPropertyDescriptor(c,n)),s=o.findIndex(c=>!!c),i=s>0,a=o[s];a&&(this.__sdk_access_field_descriptors__.set(n,{descriptor:a,isPrototypeField:i}),Object.defineProperty(this,n,{configurable:!0,get:()=>{throw Ke(n)}}))})}init(t){this.__is_initialized__||(Ft.forEach(n=>{if(this.__sdk_access_field_descriptors__.has(n)){let{descriptor:o,isPrototypeField:s}=this.__sdk_access_field_descriptors__.get(n);s?delete this[n]:Object.defineProperty(this,n,o)}}),this.sdk=t,this.__is_initialized__=!0)}createDeprecationWarning(t){let{method:n,removalVersion:o,useInstead:s}=t,i=s?` Use \`${s}\` instead.`:"",a=`\`${n}\` will be removed from this Extension in version \`${o}\`.${i}`;return new Q(this,"DEPRECATION_NOTICE",a)}createWarning(t,n){return new Q(this,t,n)}createError(t,n,o){return new H(this,t,n,o)}},it=class extends Le{},O=class extends Le{};O.Internal=it,O.Anonymous="anonymous extension";var F=require("@magic-sdk/types");var Oe=class extends v{purchase(e){let t=h(F.MagicPayloadMethod.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=this.sdk.thirdPartyWallets.isConnected,n=h(F.MagicPayloadMethod.NFTCheckout,[X(W({},e),{walletProvider:t?"web3modal":"magic"})]),o=this.request(n);return t&&(o.on(F.NftCheckoutIntermediaryEvents.Initiated,s=>g(this,null,function*(){try{let i=yield this.request({method:"eth_sendTransaction",params:[s]});this.createIntermediaryEvent(F.NftCheckoutIntermediaryEvents.Success,n.id)(i)}catch(i){this.createIntermediaryEvent(F.NftCheckoutIntermediaryEvents.Failure,n.id)()}})),o.on(F.NftCheckoutIntermediaryEvents.Disconnect,()=>{this.sdk.thirdPartyWallets.resetThirdPartyWalletState(),o.emit("disconnect")})),o}transfer(e){let t=h(F.MagicPayloadMethod.NFTTransfer,[e]);return this.request(t)}};function Wt(r){return r.compat&&r.compat[E.sdkName]!=null?typeof r.compat[E.sdkName]=="string"?bt(Pt(E.version),r.compat[E.sdkName]):!!r.compat[E.sdkName]:!0}function pn(r,e,t){return!e&&!t?`${r}_eth_mainnet`:t?`${r}_${JSON.stringify(t)}`:e?typeof e=="string"?`${r}_eth_${e}`:`${r}_${e.rpcUrl}_${e.chainId}_${e.chainType}`:`${r}_unknown`}function mn(r){var o;let e=(o=r==null?void 0:r.extensions)!=null?o:[],t={},n=[];if(Array.isArray(e)?e.forEach(s=>{Wt(s)?(s.init(this),(s.name||s.name!==O.Anonymous)&&(this[s.name]=s),s instanceof O.Internal&&(Y(s.config)||(t[s.name]=s.config))):n.push(s)}):Object.keys(e).forEach(s=>{if(Wt(e[s])){e[s].init(this);let i=e[s];this[s]=i,i instanceof O.Internal&&(Y(i.config)||(t[e[s].name]=i.config))}else n.push(e[s])}),n.length)throw je(n);return t}var pe=class{constructor(e,t){this.apiKey=e;var i;if(!e)throw We();E.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Be().log();let{defaultEndpoint:n,version:o}=E;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=Se((i=t==null?void 0:t.endpoint)!=null?i:n).origin,this.auth=new be(this),this.user=new Me(this),this.wallet=new Ne(this),this.nft=new Oe(this),this.thirdPartyWallets=new Ae(this),this.rpcProvider=new $e(this);let s=mn.call(this,t);this.parameters=ie(X(W({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:Se(this.endpoint).host,sdk:xt[E.sdkName],version:o,ext:Y(s)?void 0:s,locale:(t==null?void 0:t.locale)||"en_US"},E.bundleId?{bundleId:E.bundleId}:{}),{meta:t==null?void 0:t.meta})),this.networkHash=pn(this.apiKey,t==null?void 0:t.network,Y(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!pe.__overlays__.has(this.parameters)){let e=new E.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),pe.__overlays__.set(this.parameters,e)}return pe.__overlays__.get(this.parameters)}preload(){return g(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},ue=pe;ue.__overlays__=new Map;var V=require("@magic-sdk/types");function hn(r,e){return e&&Array.isArray(r)?r.find(t=>t.id===e):r}function En(r,e){var o;let t=(o=e.data.response)==null?void 0:o.id,n=hn(r,t);if(t&&n){let s=new G(n).applyResult(e.data.response.result).applyError(e.data.response.error);return{id:t,response:s}}return{}}function fn(r,e,t){return g(this,null,function*(){var a;let n=yield w("rt"),o;if(E.platform==="web")try{o=(a=yield w("jwt"))!=null?a:yield tt()}catch(c){console.error("webcrypto error",c)}let s={msgType:r,payload:e};o&&(s.jwt=o),o&&n&&(s.rt=n);let i=yield Ut(t);return i&&(s.deviceShare=i),s})}function gn(r){return g(this,null,function*(){!r.data.rt||(yield C("rt",r.data.rt))})}var _e=class{constructor(e,t,n){this.endpoint=e;this.parameters=t;this.networkHash=n;this.messageHandlers=new Set;this.isConnectedToInternet=!0;this.checkIsReadyForRequest=this.waitForReady(),this.isReadyForRequest=!1,this.listen()}post(e,t){return g(this,null,function*(){return Ie((n,o)=>g(this,null,function*(){if(!this.isConnectedToInternet){let u=Je();o(u)}this.isReadyForRequest||(yield this.waitForReady());let s=[],i=Array.isArray(t)?t.map(u=>u.id):[],a=yield fn(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(a);let c=u=>m=>{var at;let{id:M,response:T}=En(t,m);if(gn(m),((at=T==null?void 0:T.payload.error)==null?void 0:at.message)==="User denied account access.")xe();else if(m.data.deviceShare){let{deviceShare:Jt}=m.data;qt(Jt,this.networkHash)}M&&T&&Array.isArray(t)&&i.includes(M)?(s.push(T),s.length===t.length&&(u(),n(s))):M&&T&&!Array.isArray(t)&&M===t.id&&(u(),n(T))},d=this.on(V.MagicIncomingWindowMessage.MAGIC_HANDLE_RESPONSE,c(()=>d()))}))})}on(e,t){let n=t.bind(window),o=s=>{s.data.msgType===`${e}-${this.parameters}`&&n(s)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{let t=this.on(V.MagicIncomingWindowMessage.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()})})}listen(){this.on(V.MagicIncomingWindowMessage.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(V.MagicIncomingWindowMessage.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(V.MagicIncomingWindowMessage.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new D(V.SDKWarningCode.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};
6
6
  //# sourceMappingURL=index.js.map