magic-sdk 28.16.0-canary.826.11477339303.0 → 28.16.0-canary.826.11478226542.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/magic.js +1 -1
  2. package/package.json +5 -5
package/dist/magic.js CHANGED
@@ -2,5 +2,5 @@
2
2
  - Extension \`${r.name}\` supports version(s) \`${o}\``:o||(t+=`
3
3
  - Extension \`${r.name}\` does not support ${Y.platform} environments.`)}),new Re(ge.IncompatibleExtensions,t)}function Bo(e){let t=r=>{let o=r+1,a=o%10,s=o%100;return a===1&&s!==11?`${o}st`:a===2&&s!==12?`${o}nd`:a===3&&s!==13?`${o}rd`:`${o}th`};return new Re(ge.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
4
4
  Expected: \`${e.expected}\`
5
- Received: \`${e.received}\``)}function ln(){return new $e(Ee.DuplicateIframe,"Duplicate iframes found.")}function Wo(){return new $e(Ee.SyncWeb3Method,"Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead.")}function Go(){return new $e(Ee.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 et(e){let{method:t,removalVersions:r,useInstead:o}=e,a=r[Y.sdkName],s=o?` Use \`${o}\` instead.`:"",m=`\`${t}\` will be removed from \`${Y.sdkName}\` in version \`${a}\`.${s}`;return new $e(Ee.DeprecationNotice,m)}function*Vo(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var jo=Vo();function cn(){return jo.next().value}var un=Symbol("Payload pre-processed by Magic SDK");function fn(e){return Object.defineProperty(e,un,{value:!0,enumerable:!1}),e}function qo(e){return!!e[un]}function gt(e){var t,r,o;return qo(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=cn(),e.method=(r=e.method)!=null?r:"noop",e.params=(o=e.params)!=null?o:[],fn(e)),e}function B(e,t=[]){return fn({params:t,method:e,jsonrpc:"2.0",id:cn()})}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):Po(e)?(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=e.result,this._error=e.error):(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=void 0,this._error=void 0)}applyError(e){return this._error=e,this}applyResult(e){return this._result=e,this}get hasError(){return typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},Ko=Bi(Wi()),Ho=class extends Ko.default{};function dn(){let e=new Ho;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...o)=>(e[t].apply(e,o),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var hn=Symbol("isPromiEvent");function Wt(e){return!!e[hn]}function nt(e){let t=mn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:o}=dn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),d=(g,T)=>(..._)=>{let N=T[g].apply(T,_);return p(N)},p=g=>Object.assign(g,{[hn]:!0,[a]:g[a]||g.then,[s]:g[s]||g.catch,[m]:g[m]||g.finally,then:d(a,g),catch:d(s,g),finally:d(m,g),on:o("on",g),once:o("once",g),addListener:o("addListener",g),off:o("off",g),removeListener:o("removeListener",g),removeAllListeners:o("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(ct.ClosedByUser,()=>{y.emit(lt.ClosedByUser)}),y}function mn(e){return new Promise((t,r)=>{let o=e(t,r);Promise.resolve(o).catch(r)})}var De=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(_e.MAGIC_HANDLE_REQUEST,gt(e)),r=nt((a,s)=>{t.then(m=>{if(o(),m.hasError)s(new Ve(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw xo()}).catch(m=>{o(),s(m)})}),o=this.overlay.on(me.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:d,params:p=[]}=m.result;r.emit(d,...p)}});return r}createIntermediaryEvent(e,t){return r=>{let o=B(O.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(o)}}};function Yo(e,t){let[r]=e.split(".").map(Number);return r>=t}var tt={"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"},Xo=class extends De{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&&Yo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&et({method:"auth.loginWithMagicLink()",removalVersions:tt,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:o=!0,redirectURI:a,overrides:s,lifespan:m}=e,d=B(this.sdk.testMode?O.LoginWithMagicLinkTestMode:O.LoginWithMagicLink,[{email:r,showUI:o,redirectURI:a,overrides:s,lifespan:m}]);return this.request(d)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:o}=e,a=B(this.sdk.testMode?O.LoginWithSmsTestMode:O.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:o}]),s=this.request(a);return!r&&s&&(s.on(Ce.VerifySmsOtp,m=>{this.createIntermediaryEvent(Ce.VerifySmsOtp,a.id)(m)}),s.on(Ce.Cancel,()=>{this.createIntermediaryEvent(Ce.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}=e,m=B(this.sdk.testMode?O.LoginWithEmailOTPTestMode:O.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}]),d=this.request(m);return!o&&d&&d.on(ze.Retry,()=>{this.createIntermediaryEvent(ze.Retry,m.id)()}),!r&&d&&(d.on(de.VerifyEmailOtp,p=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(p)}),d.on(de.VerifyMFACode,p=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(p)}),d.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),d.on(de.VerifyRecoveryCode,p=>{this.createIntermediaryEvent(de.LostDevice,m.id)(p)}),d.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,m.id)()})),d}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},o=t!=null?t:"";if(!t&&Y.platform==="web"){o=window.location.search;let s=window.location.origin+window.location.pathname;window.history.replaceState(null,"",s)}let a=B(this.sdk.testMode?O.LoginWithCredentialTestMode:O.LoginWithCredential,[o,r]);return this.request(a)}setAuthorizationToken(e){let t=B(O.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,o=B(this.sdk.testMode?O.UpdateEmailTestMode:O.UpdateEmail,[{email:t,showUI:r}]),a=this.request(o);return r||(a.on(ue.Retry,()=>{this.createIntermediaryEvent(ue.Retry,o.id)()}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,o.id)()}),a.on(ue.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,o.id)(s)}),a.on(ue.VerifyMFACode,s=>{this.createIntermediaryEvent(ue.VerifyMFACode,o.id)(s)}),a.on(Ie.RetryWithNewEmail,s=>{this.createIntermediaryEvent(Ie.RetryWithNewEmail,o.id)(s)}),a.on(Ie.Cancel,()=>{this.createIntermediaryEvent(Ie.Cancel,o.id)()}),a.on(Ie.VerifyEmailOtp,s=>{this.createIntermediaryEvent(Ie.VerifyEmailOtp,o.id)(s)})),a}},vn={};Fi(vn,{clear:()=>zo,getItem:()=>se,iterate:()=>pn,key:()=>Qo,keys:()=>Zo,length:()=>Jo,removeItem:()=>Ge,setItem:()=>ye});var ht;function Te(e){return(...t)=>X(this,null,function*(){return ht||(ht=yield Y.configureStorage()),yield ht.ready(),ht[e](...t)})}var se=Te("getItem"),ye=Te("setItem"),Ge=Te("removeItem"),zo=Te("clear"),Jo=Te("length"),Qo=Te("key"),Zo=Te("keys"),pn=Te("iterate");function ea(){let e=window.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&191|128;let t="";return t+=e[0].toString(16),t+=e[1].toString(16),t+=e[2].toString(16),t+=e[3].toString(16),t+="-",t+=e[4].toString(16),t+=e[5].toString(16),t+="-",t+=e[6].toString(16),t+=e[7].toString(16),t+="-",t+=e[8].toString(16),t+=e[9].toString(16),t+="-",t+=e[10].toString(16),t+=e[11].toString(16),t+=e[12].toString(16),t+=e[13].toString(16),t+=e[14].toString(16),t+=e[15].toString(16),t}var yn="STORE_KEY_PRIVATE_KEY",Ut="STORE_KEY_PUBLIC_JWK",gn="ECDSA",ta="P-256",ra={name:gn,namedCurve:ta};function wt(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function na(){return X(this,null,function*(){let e=yield ia();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield se(yn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let o={iat:Math.floor(new Date().getTime()/1e3),jti:ea()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:Zr(JSON.stringify(a)),claims:Zr(JSON.stringify(o))},m=aa(`${s.protected}.${s.claims}`),d={name:gn,hash:{name:"SHA-256"}},p=la(new Uint8Array(yield t.sign(d,r,m)));return`${s.protected}.${s.claims}.${p}`})}function ia(){return X(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}return(yield se(Ut))||(yield oa()),se(Ut)})}function oa(){return X(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(ra,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield ye(yn,t.privateKey),yield ye(Ut,r)})}function Zr(e){return En(sa(e))}function aa(e){return new TextEncoder().encode(e)}function En(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function sa(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function la(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),En(t)}var Gt="ds",Vt="ek",jt="iv",qt="AES-GCM",ca=256;function Kt(){return X(this,null,function*(){let e=[];yield pn((t,r,o)=>{r.startsWith(`${Gt}_`)&&e.push(r)});for(let t of e)yield Ge(t)})}function _n(e){let t="",r=new Uint8Array(e),o=r.byteLength;for(let a=0;a<o;a++)t+=String.fromCharCode(r[a]);return window.btoa(t)}function In(e){let t=window.atob(e),r=t.length,o=new Uint8Array(r);for(let a=0;a<r;a++)o[a]=t.charCodeAt(a);return o.buffer}function ua(){return X(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield se(jt))||e.getRandomValues(new Uint8Array(12))})}function fa(){return X(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield se(Vt))||(yield e.generateKey({name:qt,length:ca},!1,["encrypt","decrypt"]))})}function da(e,t){return X(this,null,function*(){let r=yield ua(),o=yield fa();if(!r||!o||!e)return;let a=In(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:qt,iv:r},o,a),d=_n(m);yield ye(`${Gt}_${t}`,d),yield ye(Vt,o),yield ye(jt,r)})}function ha(e){return X(this,null,function*(){let t=yield se(`${Gt}_${e}`),r=yield se(jt),o=yield se(Vt);if(!r||!t||!o||!wt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:qt,iv:r},o,In(t));return _n(s)})}function it(e,t){return t?new URL(e,t):new URL(e)}var ma=class extends De{constructor(){super(...arguments),this.localForageKey="mc_active_wallet",this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=B(this.sdk.testMode?O.GetIdTokenTestMode:O.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=B(this.sdk.testMode?O.GenerateIdTokenTestMode:O.GenerateIdToken,[e]);return this.request(t)}getInfo(){return X(this,null,function*(){let e=yield se(this.localForageKey),t=B(O.GetInfo,[{walletType:e}]);return this.request(t)})}isLoggedIn(){return nt((e,t)=>X(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield se(this.localForageIsLoggedInKey))==="true",r&&e(!0));let o=B(this.sdk.testMode?O.IsLoggedInTestMode:O.IsLoggedIn),a=yield this.request(o);this.sdk.useStorageCache&&(a?ye(this.localForageIsLoggedInKey,!0):Ge(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return Ge(this.localForageKey),Ge(this.localForageIsLoggedInKey),Kt(),nt((e,t)=>X(this,null,function*(){try{let r=B(this.sdk.testMode?O.LogoutTestMode:O.Logout),o=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(o),e(o)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=B(O.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=B(this.sdk.testMode?O.UserSettingsTestMode:O.UserSettings,[e]),o=this.request(r);return!t&&o&&(o.on(be.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(be.SendNewPhoneNumber,r.id)(a)}),o.on(be.SendOtpCode,a=>{this.createIntermediaryEvent(be.SendOtpCode,r.id)(a)}),o.on(be.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(be.StartEditPhoneNumber,r.id)()}),o.on(ue.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,r.id)(a)})),o}recoverAccount(e){let t=B(this.sdk.testMode?O.RecoverAccountTestMode:O.RecoverAccount,[e]);return this.request(t)}revealPrivateKey(){let e=B(O.RevealPK);return this.request(e)}getMetadata(){et({method:"user.getMetadata()",removalVersions:tt,useInstead:"user.getInfo()"}).log();let e=B(this.sdk.testMode?O.GetMetadataTestMode:O.GetMetadata);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=B(O.EnableMFA,[{showUI:t}]),o=this.request(r);return!t&&o&&(o.on(Le.VerifyMFACode,a=>{this.createIntermediaryEvent(Le.VerifyMFACode,r.id)(a)}),o.on(Le.Cancel,()=>{this.createIntermediaryEvent(Le.Cancel,r.id)()})),o}disableMFA(e){let{showUI:t=!0}=e,r=B(O.DisableMFA,[{showUI:t}]),o=this.request(r);return!t&&o&&(o.on(we.VerifyMFACode,a=>{this.createIntermediaryEvent(we.VerifyMFACode,r.id)(a)}),o.on(we.LostDevice,a=>{this.createIntermediaryEvent(we.LostDevice,r.id)(a)}),o.on(we.Cancel,()=>{this.createIntermediaryEvent(we.Cancel,r.id)()})),o}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},va=class extends De{constructor(){super(...arguments),this.localForageKey="mc_active_wallet"}connectWithUI(){let e=nt((t,r)=>X(this,null,function*(){try{if(this.isMetaMaskBrowser()&&(yield this.isWalletEnabled(fe.MetaMask))){let d=yield this.autoConnectIfWalletBrowser(fe.MetaMask);t(d);return}if(this.isCoinbaseWalletBrowser()&&(yield this.isWalletEnabled(fe.CoinbaseWallet))){let d=yield this.autoConnectIfWalletBrowser(fe.CoinbaseWallet);t(d);return}let o=this.getUserEnv(),a=B(O.Login,[o]),s=this.request(a);s.on(ke.WalletSelected,d=>this.handleWalletSelected(Ft(xt({},d),{payloadId:a.id}))),s.on("id-token-created",d=>{e.emit("id-token-created",d)});let m=yield s;m.error&&r(m),t(m)}catch(o){r(o)}}));return e}showUI(e){return this.request(B(O.ShowUI,[e]))}showAddress(){return this.request(B(O.ShowAddress))}showSendTokensUI(){return this.request(B(O.ShowSendTokensUI))}showOnRamp(){return this.request(B(O.ShowOnRamp))}showNFTs(){return this.request(B(O.ShowNFTs))}showBalances(){return this.request(B(O.ShowBalances))}sendGaslessTransaction(e,t){return this.request(B(O.SendGaslessTransaction,[e,t]))}getInfo(){return X(this,null,function*(){et({method:"wallet.getInfo()",removalVersions:tt,useInstead:"user.getInfo()"}).log();let e=yield se(this.localForageKey),t=B(O.GetInfo,[{walletType:e}]);return this.request(t)})}disconnect(){et({method:"wallet.disconnect()",removalVersions:tt,useInstead:"user.logout()"}).log(),Ge(this.localForageKey),Kt();let e=B(O.Disconnect);return this.request(e)}requestUserInfoWithUI(e){et({method:"wallet.requestUserInfoWithUI()",removalVersions:tt,useInstead:"user.requestUserInfoWithUI()"}).log();let t=B(O.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}getProvider(){return X(this,null,function*(){switch(yield se(this.localForageKey)){case fe.MetaMask:return this.getMetaMaskProvider();case fe.CoinbaseWallet:return this.getCoinbaseProvider();default:return this.sdk.rpcProvider}})}isMetaMaskInstalled(){var e,t,r;return((e=window.ethereum)==null?void 0:e.isMetaMask)||!!((r=(t=window.ethereum)==null?void 0:t.providers)!=null&&r.find(o=>o==null?void 0:o.isMetaMask))}isMetaMaskBrowser(){return this.isMobile()&&this.isMetaMaskInstalled()}getMetaMaskProvider(){var e,t;return((t=(e=window.ethereum)==null?void 0:e.providers)==null?void 0:t.find(r=>r==null?void 0:r.isMetaMask))||window.ethereum}connectToMetaMask(){if(this.isMobile()&&!this.isMetaMaskInstalled()){let e=`https://metamask.app.link/dapp/${window.location.href.replace(/(^\w+:|^)\/\//,"")}`;window.location.href=e}return this.getMetaMaskProvider().request({method:"eth_requestAccounts"})}isCoinbaseWalletInstalled(){var e,t,r;return((e=window.ethereum)==null?void 0:e.isCoinbaseWallet)||!!((r=(t=window.ethereum)==null?void 0:t.providers)!=null&&r.find(o=>o==null?void 0:o.isCoinbaseWallet))}isCoinbaseWalletBrowser(){var e;return!!((e=window.ethereum)!=null&&e.isCoinbaseBrowser)}getCoinbaseProvider(){var e,t;return((t=(e=window.ethereum)==null?void 0:e.providers)==null?void 0:t.find(r=>r==null?void 0:r.isCoinbaseWallet))||window.ethereum}connectToCoinbaseWallet(){if(this.isMobile()&&!this.isCoinbaseWalletBrowser()){let e=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(window.location.href)}`;window.location.href=e}return this.getCoinbaseProvider().request({method:"eth_requestAccounts"})}isMobile(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Silk|Opera Mini/i.test(navigator.userAgent)}getUserEnv(){return{env:{isMetaMaskInstalled:this.isMetaMaskInstalled(),isCoinbaseWalletInstalled:this.isCoinbaseWalletInstalled()}}}connectToThirdPartyWallet(e){switch(e){case fe.MetaMask:return this.connectToMetaMask();case fe.CoinbaseWallet:return this.connectToCoinbaseWallet();default:throw new Error(`Invalid provider: ${e}. Must be one of "metamask" or "coinbase_wallet".`)}}isWalletEnabled(e){let t=B("mc_is_wallet_enabled",[{wallet:e}]);return this.request(t)}handleWalletSelected(e){return X(this,null,function*(){try{let t=yield this.connectToThirdPartyWallet(e.wallet);yield ye(this.localForageKey,e.wallet),this.createIntermediaryEvent(ke.WalletConnected,e.payloadId)(t)}catch(t){console.error(t),this.createIntermediaryEvent(ke.WalletRejected,e.payloadId)()}})}autoConnectIfWalletBrowser(e){return X(this,null,function*(){let t;e===fe.MetaMask&&(t=yield this.getMetaMaskProvider().request({method:"eth_requestAccounts"})),e===fe.CoinbaseWallet&&(t=yield this.getCoinbaseProvider().request({method:"eth_requestAccounts"})),yield ye(this.localForageKey,e);let r=B(O.AutoConnect,[{wallet:e,address:t}]);return this.request(r)})}},{createBoundEmitterMethod:mt,createChainingEmitterMethod:Be}=dn(),pa=class extends De{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 Bo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(_e.MAGIC_HANDLE_REQUEST,e.map(r=>{let o=gt(r);return this.prefixPayloadMethodForTestMode(o),o})).then(r=>{t(null,r.map(o=>Ft(xt({},o.payload),{error:o.hasError?new Ve(o.payload.error):null})))});else{let r=gt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(_e.MAGIC_HANDLE_REQUEST,r).then(o=>{t(o.hasError?new Ve(o.payload.error):null,o.payload)})}}send(e,t){if(typeof e=="string"){let o=B(e,Array.isArray(t)?t:[]);return this.request(o)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=Wo();return r.log(),new Bt(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=B(O.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}},en=["request","overlay","sdk"];function ya(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==De.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var wn=class extends De{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:nt,isPromiEvent:Wt,encodeJSON:on,decodeJSON:Co,createJsonRpcRequestPayload:B,standardizeJsonRpcRequestPayload:gt,storage:vn};let e=[this,...ya(this)];en.forEach(t=>{let r=e.map(m=>Object.getOwnPropertyDescriptor(m,t)),o=r.findIndex(m=>!!m),a=o>0,s=r[o];s&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:s,isPrototypeField:a}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Fo(t)}}))})}init(e){this.__is_initialized__||(en.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:o}=this.__sdk_access_field_descriptors__.get(t);o?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:o}=e,a=o?` Use \`${o}\` 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 _t(this,e,t,r)}},ga=class extends wn{},Pe=class extends wn{};Pe.Internal=ga,Pe.Anonymous="anonymous extension";var Ea=class extends De{purchase(e){let t=B(O.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=B(O.NFTCheckout,[e]);return this.request(t)}transfer(e){let t=B(O.NFTTransfer,[e]);return this.request(t)}};function tn(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?wo(So(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function _a(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 Ia(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],o={},a=[];if(Array.isArray(r)?r.forEach(s=>{tn(s)?(s.init(this),(s.name||s.name!==Pe.Anonymous)&&(this[s.name]=s),s instanceof Pe.Internal&&(pt(s.config)||(o[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(tn(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof Pe.Internal&&(pt(m.config)||(o[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw ko(a);return o}var vt=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw Uo();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Go().log();let{defaultEndpoint:o,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:o).origin,this.auth=new Xo(this),this.user=new ma(this),this.wallet=new va(this),this.nft=new Ea(this),this.rpcProvider=new pa(this);let s=Ia.call(this,t);this.parameters=on(Ft(xt({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:Do[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=_a(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 X(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},Ht=vt;Ht.__overlays__=new Map;function wa(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function ba(e,t){var r;let o=(r=t.data.response)==null?void 0:r.id,a=wa(e,o);if(o&&a){let s=new Bt(a).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:o,response:s}}return{}}function Ra(e,t,r){return X(this,null,function*(){var o;let a=yield se("rt"),s;if(Y.platform==="web")try{s=(o=yield se("jwt"))!=null?o:yield na()}catch(p){console.error("webcrypto error",p)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let d=yield ha(r);return d&&(m.deviceShare=d),m})}function Aa(e){return X(this,null,function*(){!e.data.rt||(yield ye("rt",e.data.rt))})}var bn=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.messageHandlers=new Set,this.isConnectedToInternet=!0,this.checkIsReadyForRequest=this.waitForReady(),this.isReadyForRequest=!1,this.listen()}post(e,t){return X(this,null,function*(){return mn((r,o)=>X(this,null,function*(){if(!this.isConnectedToInternet){let y=It();o(y)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(y=>y.id):[],m=yield Ra(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let d=y=>g=>{var T;let{id:_,response:N}=ba(t,g);if(Aa(g),((T=N==null?void 0:N.payload.error)==null?void 0:T.message)==="User denied account access.")Kt();else if(g.data.deviceShare){let{deviceShare:C}=g.data;da(C,this.networkHash)}_&&N&&Array.isArray(t)&&s.includes(_)?(a.push(N),a.length===t.length&&(y(),r(a))):_&&N&&!Array.isArray(t)&&_===t.id&&(y(),r(N))},p=this.on(me.MAGIC_HANDLE_RESPONSE,d(()=>p()))}))})}on(e,t){let r=t.bind(window),o=a=>{a.data.msgType===`${e}-${this.parameters}`&&r(a)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{let t=this.on(me.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()});setTimeout(()=>{this.isReadyForRequest=!0,e(),t()},15e3)})}listen(){this.on(me.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(me.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(me.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new $e(Ee.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var Yt={};Ir(Yt,{AuthEventOnReceived:()=>Lr,DeepLinkPage:()=>Rr,DeviceVerificationEventEmit:()=>ze,DeviceVerificationEventOnReceived:()=>Mr,DisableMFAEventEmit:()=>we,DisableMFAEventOnReceived:()=>Dr,EnableMFAEventEmit:()=>Le,EnableMFAEventOnReceived:()=>$r,EthChainType:()=>Ur,Events:()=>ke,Extension:()=>Pe,ExtensionError:()=>_t,ExtensionWarning:()=>yt,FarcasterLoginEventEmit:()=>Pr,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Tr,LoginWithMagicLinkEventEmit:()=>Ar,LoginWithMagicLinkEventOnReceived:()=>Sr,LoginWithSmsOTPEventEmit:()=>Ce,LoginWithSmsOTPEventOnReceived:()=>Nr,MagicIncomingWindowMessage:()=>me,MagicOutgoingWindowMessage:()=>_e,MagicPayloadMethod:()=>O,NftCheckoutIntermediaryEvents:()=>kr,RPCError:()=>Ve,RPCErrorCode:()=>Fe,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Or,RecoveryFactorEventEmit:()=>be,RecoveryFactorEventOnReceived:()=>xr,RecoveryMethodType:()=>Fr,SDKError:()=>Re,SDKErrorCode:()=>ge,SDKWarning:()=>$e,SDKWarningCode:()=>Ee,UiEventsEmit:()=>Wr,UpdateEmailEventEmit:()=>Ie,UpdateEmailEventOnReceived:()=>Cr,UserEventsEmit:()=>lt,UserEventsOnReceived:()=>ct,WalletEventOnReceived:()=>Br,Wallets:()=>fe,isPromiEvent:()=>Wt});var At=br(An()),zt=br(Nn());var Sa={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647",opacity:"0"};function Na(e){for(let[t,r]of Object.entries(Sa))e.style[t]=r}function Ta(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var Tn=1e3,Mn=60*Tn,Ma=15*Tn,Oa=2*Mn,Ca=60*Mn,Rt=class extends bn{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 o=()=>{if(Ta(encodeURIComponent(this.parameters)))ln().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",Na(a),document.body.appendChild(a),r(a)}};["loaded","interactive","complete"].includes(document.readyState)?o():window.addEventListener("load",o,!1)}),this.iframe.then(r=>{r instanceof HTMLIFrameElement&&r.addEventListener("load",()=>pe(this,null,function*(){yield this.startHeartBeat()}))}),window.addEventListener("message",r=>{var o;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.msgType.includes(me.MAGIC_PONG)&&(this.lastPingTime=Date.now()),r.data.response=(o=r.data.response)!=null?o:{};for(let s of this.messageHandlers.values())s(r)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}showOverlay(){return pe(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",r.style.opacity="1",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return pe(this,null,function*(){var o;let r=yield this.iframe;r.style.visibility="hidden",r.style.opacity="0",(o=this.activeElement)!=null&&o.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return pe(this,null,function*(){let o=yield this.iframe;if(o&&o.contentWindow)o.contentWindow.postMessage(r,this.endpoint);else throw It()})}heartBeatCheck(){this.intervalTimer=setInterval(()=>pe(this,null,function*(){let r={msgType:`${_e.MAGIC_PING}-${this.parameters}`,payload:[]};yield this._post(r),Date.now()-this.lastPingTime>Ma&&(yield this.reloadIframe(),this.lastPingTime=Date.now())}),Oa)}startHeartBeat(){return pe(this,null,function*(){(yield this.iframe)&&(this.timeoutTimer=setTimeout(()=>this.heartBeatCheck(),Ca))})}stopHeartBeat(){this.timeoutTimer&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null),this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}reloadIframe(){return pe(this,null,function*(){let r=yield this.iframe;if(r)r.src=this.getIframeSrc();else throw It()})}};var La=Object.assign(sn(Ht,{platform:"web",sdkName:"magic-sdk",version:"28.15.0",defaultEndpoint:"https://auth.magic.link/",ViewController:Rt,configureStorage:()=>pe(void 0,null,function*(){let e=At.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(zt),yield e.setDriver([At.default.INDEXEDDB,At.default.LOCALSTORAGE,zt._driver]),e})}),Er({},Yt)),Pa=La;return Mi($a);})();
5
+ Received: \`${e.received}\``)}function ln(){return new $e(Ee.DuplicateIframe,"Duplicate iframes found.")}function Wo(){return new $e(Ee.SyncWeb3Method,"Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead.")}function Go(){return new $e(Ee.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 et(e){let{method:t,removalVersions:r,useInstead:o}=e,a=r[Y.sdkName],s=o?` Use \`${o}\` instead.`:"",m=`\`${t}\` will be removed from \`${Y.sdkName}\` in version \`${a}\`.${s}`;return new $e(Ee.DeprecationNotice,m)}function*Vo(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var jo=Vo();function cn(){return jo.next().value}var un=Symbol("Payload pre-processed by Magic SDK");function fn(e){return Object.defineProperty(e,un,{value:!0,enumerable:!1}),e}function qo(e){return!!e[un]}function gt(e){var t,r,o;return qo(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=cn(),e.method=(r=e.method)!=null?r:"noop",e.params=(o=e.params)!=null?o:[],fn(e)),e}function B(e,t=[]){return fn({params:t,method:e,jsonrpc:"2.0",id:cn()})}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):Po(e)?(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=e.result,this._error=e.error):(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=void 0,this._error=void 0)}applyError(e){return this._error=e,this}applyResult(e){return this._result=e,this}get hasError(){return typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},Ko=Bi(Wi()),Ho=class extends Ko.default{};function dn(){let e=new Ho;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...o)=>(e[t].apply(e,o),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var hn=Symbol("isPromiEvent");function Wt(e){return!!e[hn]}function nt(e){let t=mn(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:o}=dn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),d=(g,T)=>(..._)=>{let N=T[g].apply(T,_);return p(N)},p=g=>Object.assign(g,{[hn]:!0,[a]:g[a]||g.then,[s]:g[s]||g.catch,[m]:g[m]||g.finally,then:d(a,g),catch:d(s,g),finally:d(m,g),on:o("on",g),once:o("once",g),addListener:o("addListener",g),off:o("off",g),removeListener:o("removeListener",g),removeAllListeners:o("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(ct.ClosedByUser,()=>{y.emit(lt.ClosedByUser)}),y}function mn(e){return new Promise((t,r)=>{let o=e(t,r);Promise.resolve(o).catch(r)})}var De=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(_e.MAGIC_HANDLE_REQUEST,gt(e)),r=nt((a,s)=>{t.then(m=>{if(o(),m.hasError)s(new Ve(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw xo()}).catch(m=>{o(),s(m)})}),o=this.overlay.on(me.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:d,params:p=[]}=m.result;r.emit(d,...p)}});return r}createIntermediaryEvent(e,t){return r=>{let o=B(O.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(o)}}};function Yo(e,t){let[r]=e.split(".").map(Number);return r>=t}var tt={"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"},Xo=class extends De{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&&Yo(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&et({method:"auth.loginWithMagicLink()",removalVersions:tt,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:o=!0,redirectURI:a,overrides:s,lifespan:m}=e,d=B(this.sdk.testMode?O.LoginWithMagicLinkTestMode:O.LoginWithMagicLink,[{email:r,showUI:o,redirectURI:a,overrides:s,lifespan:m}]);return this.request(d)}loginWithSMS(e){let{phoneNumber:t,showUI:r=!0,lifespan:o}=e,a=B(this.sdk.testMode?O.LoginWithSmsTestMode:O.LoginWithSms,[{phoneNumber:t,showUI:r,lifespan:o}]),s=this.request(a);return!r&&s&&(s.on(Ce.VerifySmsOtp,m=>{this.createIntermediaryEvent(Ce.VerifySmsOtp,a.id)(m)}),s.on(Ce.Cancel,()=>{this.createIntermediaryEvent(Ce.Cancel,a.id)()})),s}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}=e,m=B(this.sdk.testMode?O.LoginWithEmailOTPTestMode:O.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}]),d=this.request(m);return!o&&d&&d.on(ze.Retry,()=>{this.createIntermediaryEvent(ze.Retry,m.id)()}),!r&&d&&(d.on(de.VerifyEmailOtp,p=>{this.createIntermediaryEvent(de.VerifyEmailOtp,m.id)(p)}),d.on(de.VerifyMFACode,p=>{this.createIntermediaryEvent(de.VerifyMFACode,m.id)(p)}),d.on(de.LostDevice,()=>{this.createIntermediaryEvent(de.LostDevice,m.id)()}),d.on(de.VerifyRecoveryCode,p=>{this.createIntermediaryEvent(de.VerifyRecoveryCode,m.id)(p)}),d.on(de.Cancel,()=>{this.createIntermediaryEvent(de.Cancel,m.id)()})),d}loginWithCredential(e){let{credentialOrQueryString:t,lifespan:r}=e||{},o=t!=null?t:"";if(!t&&Y.platform==="web"){o=window.location.search;let s=window.location.origin+window.location.pathname;window.history.replaceState(null,"",s)}let a=B(this.sdk.testMode?O.LoginWithCredentialTestMode:O.LoginWithCredential,[o,r]);return this.request(a)}setAuthorizationToken(e){let t=B(O.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,o=B(this.sdk.testMode?O.UpdateEmailTestMode:O.UpdateEmail,[{email:t,showUI:r}]),a=this.request(o);return r||(a.on(ue.Retry,()=>{this.createIntermediaryEvent(ue.Retry,o.id)()}),a.on(ue.Cancel,()=>{this.createIntermediaryEvent(ue.Cancel,o.id)()}),a.on(ue.VerifyEmailOtp,s=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,o.id)(s)}),a.on(ue.VerifyMFACode,s=>{this.createIntermediaryEvent(ue.VerifyMFACode,o.id)(s)}),a.on(Ie.RetryWithNewEmail,s=>{this.createIntermediaryEvent(Ie.RetryWithNewEmail,o.id)(s)}),a.on(Ie.Cancel,()=>{this.createIntermediaryEvent(Ie.Cancel,o.id)()}),a.on(Ie.VerifyEmailOtp,s=>{this.createIntermediaryEvent(Ie.VerifyEmailOtp,o.id)(s)})),a}},vn={};Fi(vn,{clear:()=>zo,getItem:()=>se,iterate:()=>pn,key:()=>Qo,keys:()=>Zo,length:()=>Jo,removeItem:()=>Ge,setItem:()=>ye});var ht;function Te(e){return(...t)=>X(this,null,function*(){return ht||(ht=yield Y.configureStorage()),yield ht.ready(),ht[e](...t)})}var se=Te("getItem"),ye=Te("setItem"),Ge=Te("removeItem"),zo=Te("clear"),Jo=Te("length"),Qo=Te("key"),Zo=Te("keys"),pn=Te("iterate");function ea(){let e=window.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&191|128;let t="";return t+=e[0].toString(16),t+=e[1].toString(16),t+=e[2].toString(16),t+=e[3].toString(16),t+="-",t+=e[4].toString(16),t+=e[5].toString(16),t+="-",t+=e[6].toString(16),t+=e[7].toString(16),t+="-",t+=e[8].toString(16),t+=e[9].toString(16),t+="-",t+=e[10].toString(16),t+=e[11].toString(16),t+=e[12].toString(16),t+=e[13].toString(16),t+=e[14].toString(16),t+=e[15].toString(16),t}var yn="STORE_KEY_PRIVATE_KEY",Ut="STORE_KEY_PUBLIC_JWK",gn="ECDSA",ta="P-256",ra={name:gn,namedCurve:ta};function wt(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function na(){return X(this,null,function*(){let e=yield ia();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield se(yn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let o={iat:Math.floor(new Date().getTime()/1e3),jti:ea()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:Zr(JSON.stringify(a)),claims:Zr(JSON.stringify(o))},m=aa(`${s.protected}.${s.claims}`),d={name:gn,hash:{name:"SHA-256"}},p=la(new Uint8Array(yield t.sign(d,r,m)));return`${s.protected}.${s.claims}.${p}`})}function ia(){return X(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}return(yield se(Ut))||(yield oa()),se(Ut)})}function oa(){return X(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(ra,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield ye(yn,t.privateKey),yield ye(Ut,r)})}function Zr(e){return En(sa(e))}function aa(e){return new TextEncoder().encode(e)}function En(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function sa(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function la(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),En(t)}var Gt="ds",Vt="ek",jt="iv",qt="AES-GCM",ca=256;function Kt(){return X(this,null,function*(){let e=[];yield pn((t,r,o)=>{r.startsWith(`${Gt}_`)&&e.push(r)});for(let t of e)yield Ge(t)})}function _n(e){let t="",r=new Uint8Array(e),o=r.byteLength;for(let a=0;a<o;a++)t+=String.fromCharCode(r[a]);return window.btoa(t)}function In(e){let t=window.atob(e),r=t.length,o=new Uint8Array(r);for(let a=0;a<r;a++)o[a]=t.charCodeAt(a);return o.buffer}function ua(){return X(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield se(jt))||e.getRandomValues(new Uint8Array(12))})}function fa(){return X(this,null,function*(){if(!wt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield se(Vt))||(yield e.generateKey({name:qt,length:ca},!1,["encrypt","decrypt"]))})}function da(e,t){return X(this,null,function*(){let r=yield ua(),o=yield fa();if(!r||!o||!e)return;let a=In(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:qt,iv:r},o,a),d=_n(m);yield ye(`${Gt}_${t}`,d),yield ye(Vt,o),yield ye(jt,r)})}function ha(e){return X(this,null,function*(){let t=yield se(`${Gt}_${e}`),r=yield se(jt),o=yield se(Vt);if(!r||!t||!o||!wt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:qt,iv:r},o,In(t));return _n(s)})}function it(e,t){return t?new URL(e,t):new URL(e)}var ma=class extends De{constructor(){super(...arguments),this.localForageKey="mc_active_wallet",this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=B(this.sdk.testMode?O.GetIdTokenTestMode:O.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=B(this.sdk.testMode?O.GenerateIdTokenTestMode:O.GenerateIdToken,[e]);return this.request(t)}getInfo(){return X(this,null,function*(){let e=yield se(this.localForageKey),t=B(O.GetInfo,[{walletType:e}]);return this.request(t)})}isLoggedIn(){return nt((e,t)=>X(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield se(this.localForageIsLoggedInKey))==="true",r&&e(!0));let o=B(this.sdk.testMode?O.IsLoggedInTestMode:O.IsLoggedIn),a=yield this.request(o);this.sdk.useStorageCache&&(a?ye(this.localForageIsLoggedInKey,!0):Ge(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return Ge(this.localForageKey),Ge(this.localForageIsLoggedInKey),Kt(),nt((e,t)=>X(this,null,function*(){try{let r=B(this.sdk.testMode?O.LogoutTestMode:O.Logout),o=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(o),e(o)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=B(O.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let{showUI:t=!0}=e||{},r=B(this.sdk.testMode?O.UserSettingsTestMode:O.UserSettings,[e]),o=this.request(r);return!t&&o&&(o.on(be.SendNewPhoneNumber,a=>{this.createIntermediaryEvent(be.SendNewPhoneNumber,r.id)(a)}),o.on(be.SendOtpCode,a=>{this.createIntermediaryEvent(be.SendOtpCode,r.id)(a)}),o.on(be.StartEditPhoneNumber,()=>{this.createIntermediaryEvent(be.StartEditPhoneNumber,r.id)()}),o.on(ue.VerifyEmailOtp,a=>{this.createIntermediaryEvent(ue.VerifyEmailOtp,r.id)(a)})),o}recoverAccount(e){let t=B(this.sdk.testMode?O.RecoverAccountTestMode:O.RecoverAccount,[e]);return this.request(t)}revealPrivateKey(){let e=B(O.RevealPK);return this.request(e)}getMetadata(){et({method:"user.getMetadata()",removalVersions:tt,useInstead:"user.getInfo()"}).log();let e=B(this.sdk.testMode?O.GetMetadataTestMode:O.GetMetadata);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(e){let{showUI:t=!0}=e,r=B(O.EnableMFA,[{showUI:t}]),o=this.request(r);return!t&&o&&(o.on(Le.VerifyMFACode,a=>{this.createIntermediaryEvent(Le.VerifyMFACode,r.id)(a)}),o.on(Le.Cancel,()=>{this.createIntermediaryEvent(Le.Cancel,r.id)()})),o}disableMFA(e){let{showUI:t=!0}=e,r=B(O.DisableMFA,[{showUI:t}]),o=this.request(r);return!t&&o&&(o.on(we.VerifyMFACode,a=>{this.createIntermediaryEvent(we.VerifyMFACode,r.id)(a)}),o.on(we.LostDevice,a=>{this.createIntermediaryEvent(we.LostDevice,r.id)(a)}),o.on(we.Cancel,()=>{this.createIntermediaryEvent(we.Cancel,r.id)()})),o}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},va=class extends De{constructor(){super(...arguments),this.localForageKey="mc_active_wallet"}connectWithUI(){let e=nt((t,r)=>X(this,null,function*(){try{if(this.isMetaMaskBrowser()&&(yield this.isWalletEnabled(fe.MetaMask))){let d=yield this.autoConnectIfWalletBrowser(fe.MetaMask);t(d);return}if(this.isCoinbaseWalletBrowser()&&(yield this.isWalletEnabled(fe.CoinbaseWallet))){let d=yield this.autoConnectIfWalletBrowser(fe.CoinbaseWallet);t(d);return}let o=this.getUserEnv(),a=B(O.Login,[o]),s=this.request(a);s.on(ke.WalletSelected,d=>this.handleWalletSelected(Ft(xt({},d),{payloadId:a.id}))),s.on("id-token-created",d=>{e.emit("id-token-created",d)});let m=yield s;m.error&&r(m),t(m)}catch(o){r(o)}}));return e}showUI(e){return this.request(B(O.ShowUI,[e]))}showAddress(){return this.request(B(O.ShowAddress))}showSendTokensUI(){return this.request(B(O.ShowSendTokensUI))}showOnRamp(){return this.request(B(O.ShowOnRamp))}showNFTs(){return this.request(B(O.ShowNFTs))}showBalances(){return this.request(B(O.ShowBalances))}sendGaslessTransaction(e,t){return this.request(B(O.SendGaslessTransaction,[e,t]))}getInfo(){return X(this,null,function*(){et({method:"wallet.getInfo()",removalVersions:tt,useInstead:"user.getInfo()"}).log();let e=yield se(this.localForageKey),t=B(O.GetInfo,[{walletType:e}]);return this.request(t)})}disconnect(){et({method:"wallet.disconnect()",removalVersions:tt,useInstead:"user.logout()"}).log(),Ge(this.localForageKey),Kt();let e=B(O.Disconnect);return this.request(e)}requestUserInfoWithUI(e){et({method:"wallet.requestUserInfoWithUI()",removalVersions:tt,useInstead:"user.requestUserInfoWithUI()"}).log();let t=B(O.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}getProvider(){return X(this,null,function*(){switch(yield se(this.localForageKey)){case fe.MetaMask:return this.getMetaMaskProvider();case fe.CoinbaseWallet:return this.getCoinbaseProvider();default:return this.sdk.rpcProvider}})}isMetaMaskInstalled(){var e,t,r;return((e=window.ethereum)==null?void 0:e.isMetaMask)||!!((r=(t=window.ethereum)==null?void 0:t.providers)!=null&&r.find(o=>o==null?void 0:o.isMetaMask))}isMetaMaskBrowser(){return this.isMobile()&&this.isMetaMaskInstalled()}getMetaMaskProvider(){var e,t;return((t=(e=window.ethereum)==null?void 0:e.providers)==null?void 0:t.find(r=>r==null?void 0:r.isMetaMask))||window.ethereum}connectToMetaMask(){if(this.isMobile()&&!this.isMetaMaskInstalled()){let e=`https://metamask.app.link/dapp/${window.location.href.replace(/(^\w+:|^)\/\//,"")}`;window.location.href=e}return this.getMetaMaskProvider().request({method:"eth_requestAccounts"})}isCoinbaseWalletInstalled(){var e,t,r;return((e=window.ethereum)==null?void 0:e.isCoinbaseWallet)||!!((r=(t=window.ethereum)==null?void 0:t.providers)!=null&&r.find(o=>o==null?void 0:o.isCoinbaseWallet))}isCoinbaseWalletBrowser(){var e;return!!((e=window.ethereum)!=null&&e.isCoinbaseBrowser)}getCoinbaseProvider(){var e,t;return((t=(e=window.ethereum)==null?void 0:e.providers)==null?void 0:t.find(r=>r==null?void 0:r.isCoinbaseWallet))||window.ethereum}connectToCoinbaseWallet(){if(this.isMobile()&&!this.isCoinbaseWalletBrowser()){let e=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(window.location.href)}`;window.location.href=e}return this.getCoinbaseProvider().request({method:"eth_requestAccounts"})}isMobile(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Silk|Opera Mini/i.test(navigator.userAgent)}getUserEnv(){return{env:{isMetaMaskInstalled:this.isMetaMaskInstalled(),isCoinbaseWalletInstalled:this.isCoinbaseWalletInstalled()}}}connectToThirdPartyWallet(e){switch(e){case fe.MetaMask:return this.connectToMetaMask();case fe.CoinbaseWallet:return this.connectToCoinbaseWallet();default:throw new Error(`Invalid provider: ${e}. Must be one of "metamask" or "coinbase_wallet".`)}}isWalletEnabled(e){let t=B("mc_is_wallet_enabled",[{wallet:e}]);return this.request(t)}handleWalletSelected(e){return X(this,null,function*(){try{let t=yield this.connectToThirdPartyWallet(e.wallet);yield ye(this.localForageKey,e.wallet),this.createIntermediaryEvent(ke.WalletConnected,e.payloadId)(t)}catch(t){console.error(t),this.createIntermediaryEvent(ke.WalletRejected,e.payloadId)()}})}autoConnectIfWalletBrowser(e){return X(this,null,function*(){let t;e===fe.MetaMask&&(t=yield this.getMetaMaskProvider().request({method:"eth_requestAccounts"})),e===fe.CoinbaseWallet&&(t=yield this.getCoinbaseProvider().request({method:"eth_requestAccounts"})),yield ye(this.localForageKey,e);let r=B(O.AutoConnect,[{wallet:e,address:t}]);return this.request(r)})}},{createBoundEmitterMethod:mt,createChainingEmitterMethod:Be}=dn(),pa=class extends De{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 Bo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(_e.MAGIC_HANDLE_REQUEST,e.map(r=>{let o=gt(r);return this.prefixPayloadMethodForTestMode(o),o})).then(r=>{t(null,r.map(o=>Ft(xt({},o.payload),{error:o.hasError?new Ve(o.payload.error):null})))});else{let r=gt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(_e.MAGIC_HANDLE_REQUEST,r).then(o=>{t(o.hasError?new Ve(o.payload.error):null,o.payload)})}}send(e,t){if(typeof e=="string"){let o=B(e,Array.isArray(t)?t:[]);return this.request(o)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=Wo();return r.log(),new Bt(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=B(O.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}},en=["request","overlay","sdk"];function ya(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==De.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var wn=class extends De{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:nt,isPromiEvent:Wt,encodeJSON:on,decodeJSON:Co,createJsonRpcRequestPayload:B,standardizeJsonRpcRequestPayload:gt,storage:vn};let e=[this,...ya(this)];en.forEach(t=>{let r=e.map(m=>Object.getOwnPropertyDescriptor(m,t)),o=r.findIndex(m=>!!m),a=o>0,s=r[o];s&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:s,isPrototypeField:a}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Fo(t)}}))})}init(e){this.__is_initialized__||(en.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:r,isPrototypeField:o}=this.__sdk_access_field_descriptors__.get(t);o?delete this[t]:Object.defineProperty(this,t,r)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:r,useInstead:o}=e,a=o?` Use \`${o}\` 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 _t(this,e,t,r)}},ga=class extends wn{},Pe=class extends wn{};Pe.Internal=ga,Pe.Anonymous="anonymous extension";var Ea=class extends De{purchase(e){let t=B(O.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=B(O.NFTCheckout,[e]);return this.request(t)}transfer(e){let t=B(O.NFTTransfer,[e]);return this.request(t)}};function tn(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?wo(So(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function _a(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 Ia(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],o={},a=[];if(Array.isArray(r)?r.forEach(s=>{tn(s)?(s.init(this),(s.name||s.name!==Pe.Anonymous)&&(this[s.name]=s),s instanceof Pe.Internal&&(pt(s.config)||(o[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(tn(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof Pe.Internal&&(pt(m.config)||(o[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw ko(a);return o}var vt=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw Uo();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Go().log();let{defaultEndpoint:o,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:o).origin,this.auth=new Xo(this),this.user=new ma(this),this.wallet=new va(this),this.nft=new Ea(this),this.rpcProvider=new pa(this);let s=Ia.call(this,t);this.parameters=on(Ft(xt({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:Do[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=_a(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 X(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},Ht=vt;Ht.__overlays__=new Map;function wa(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function ba(e,t){var r;let o=(r=t.data.response)==null?void 0:r.id,a=wa(e,o);if(o&&a){let s=new Bt(a).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:o,response:s}}return{}}function Ra(e,t,r){return X(this,null,function*(){var o;let a=yield se("rt"),s;if(Y.platform==="web")try{s=(o=yield se("jwt"))!=null?o:yield na()}catch(p){console.error("webcrypto error",p)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let d=yield ha(r);return d&&(m.deviceShare=d),m})}function Aa(e){return X(this,null,function*(){!e.data.rt||(yield ye("rt",e.data.rt))})}var bn=class{constructor(e,t,r){this.endpoint=e,this.parameters=t,this.networkHash=r,this.messageHandlers=new Set,this.isConnectedToInternet=!0,this.checkIsReadyForRequest=this.waitForReady(),this.isReadyForRequest=!1,this.listen()}post(e,t){return X(this,null,function*(){return mn((r,o)=>X(this,null,function*(){if(!this.isConnectedToInternet){let y=It();o(y)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(y=>y.id):[],m=yield Ra(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let d=y=>g=>{var T;let{id:_,response:N}=ba(t,g);if(Aa(g),((T=N==null?void 0:N.payload.error)==null?void 0:T.message)==="User denied account access.")Kt();else if(g.data.deviceShare){let{deviceShare:C}=g.data;da(C,this.networkHash)}_&&N&&Array.isArray(t)&&s.includes(_)?(a.push(N),a.length===t.length&&(y(),r(a))):_&&N&&!Array.isArray(t)&&_===t.id&&(y(),r(N))},p=this.on(me.MAGIC_HANDLE_RESPONSE,d(()=>p()))}))})}on(e,t){let r=t.bind(window),o=a=>{a.data.msgType===`${e}-${this.parameters}`&&r(a)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{let t=this.on(me.MAGIC_OVERLAY_READY,()=>{this.isReadyForRequest=!0,e(),t()});setTimeout(()=>{this.isReadyForRequest=!0,e(),t()},15e3)})}listen(){this.on(me.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(me.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()}),this.on(me.MAGIC_SEND_PRODUCT_ANNOUNCEMENT,e=>{e.data.response.result.product_announcement&&new $e(Ee.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var Yt={};Ir(Yt,{AuthEventOnReceived:()=>Lr,DeepLinkPage:()=>Rr,DeviceVerificationEventEmit:()=>ze,DeviceVerificationEventOnReceived:()=>Mr,DisableMFAEventEmit:()=>we,DisableMFAEventOnReceived:()=>Dr,EnableMFAEventEmit:()=>Le,EnableMFAEventOnReceived:()=>$r,EthChainType:()=>Ur,Events:()=>ke,Extension:()=>Pe,ExtensionError:()=>_t,ExtensionWarning:()=>yt,FarcasterLoginEventEmit:()=>Pr,LoginWithEmailOTPEventEmit:()=>de,LoginWithEmailOTPEventOnReceived:()=>Tr,LoginWithMagicLinkEventEmit:()=>Ar,LoginWithMagicLinkEventOnReceived:()=>Sr,LoginWithSmsOTPEventEmit:()=>Ce,LoginWithSmsOTPEventOnReceived:()=>Nr,MagicIncomingWindowMessage:()=>me,MagicOutgoingWindowMessage:()=>_e,MagicPayloadMethod:()=>O,NftCheckoutIntermediaryEvents:()=>kr,RPCError:()=>Ve,RPCErrorCode:()=>Fe,RecencyCheckEventEmit:()=>ue,RecencyCheckEventOnReceived:()=>Or,RecoveryFactorEventEmit:()=>be,RecoveryFactorEventOnReceived:()=>xr,RecoveryMethodType:()=>Fr,SDKError:()=>Re,SDKErrorCode:()=>ge,SDKWarning:()=>$e,SDKWarningCode:()=>Ee,UiEventsEmit:()=>Wr,UpdateEmailEventEmit:()=>Ie,UpdateEmailEventOnReceived:()=>Cr,UserEventsEmit:()=>lt,UserEventsOnReceived:()=>ct,WalletEventOnReceived:()=>Br,Wallets:()=>fe,isPromiEvent:()=>Wt});var At=br(An()),zt=br(Nn());var Sa={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647",opacity:"0"};function Na(e){for(let[t,r]of Object.entries(Sa))e.style[t]=r}function Ta(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var Tn=1e3,Mn=60*Tn,Ma=15*Tn,Oa=2*Mn,Ca=60*Mn,Rt=class extends bn{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 o=()=>{if(Ta(encodeURIComponent(this.parameters)))ln().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",Na(a),document.body.appendChild(a),r(a)}};["loaded","interactive","complete"].includes(document.readyState)?o():window.addEventListener("load",o,!1)}),this.iframe.then(r=>{r instanceof HTMLIFrameElement&&r.addEventListener("load",()=>pe(this,null,function*(){yield this.startHeartBeat()}))}),window.addEventListener("message",r=>{var o;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.msgType.includes(me.MAGIC_PONG)&&(this.lastPingTime=Date.now()),r.data.response=(o=r.data.response)!=null?o:{};for(let s of this.messageHandlers.values())s(r)}}),window.addEventListener("beforeunload",()=>{this.stopHeartBeat()})}showOverlay(){return pe(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",r.style.opacity="1",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return pe(this,null,function*(){var o;let r=yield this.iframe;r.style.visibility="hidden",r.style.opacity="0",(o=this.activeElement)!=null&&o.focus&&this.activeElement.focus(),this.activeElement=null})}_post(r){return pe(this,null,function*(){let o=yield this.iframe;if(o&&o.contentWindow)o.contentWindow.postMessage(r,this.endpoint);else throw It()})}heartBeatCheck(){this.intervalTimer=setInterval(()=>pe(this,null,function*(){let r={msgType:`${_e.MAGIC_PING}-${this.parameters}`,payload:[]};yield this._post(r),Date.now()-this.lastPingTime>Ma&&(yield this.reloadIframe(),this.lastPingTime=Date.now())}),Oa)}startHeartBeat(){return pe(this,null,function*(){(yield this.iframe)&&(this.timeoutTimer=setTimeout(()=>this.heartBeatCheck(),Ca))})}stopHeartBeat(){this.timeoutTimer&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null),this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}reloadIframe(){return pe(this,null,function*(){let r=yield this.iframe;if(r)r.src=this.getIframeSrc();else throw It()})}};var La=Object.assign(sn(Ht,{platform:"web",sdkName:"magic-sdk",version:"28.15.0",defaultEndpoint:"https://auth.magic.link/",ViewController:Rt,configureStorage:()=>pe(void 0,null,function*(){let e=At.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(zt),yield e.setDriver([At.default.INDEXEDDB,At.default.LOCALSTORAGE,zt._driver]),e})}),Er({},Yt)),Pa=La;return Mi($a);})();
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.16.0-canary.826.11477339303.0",
3
+ "version": "28.16.0-canary.826.11478226542.0",
4
4
  "description": "Passwordless authentication for the web.",
5
5
  "author": "Magic Labs <team@magic.link> (https://magic.link/)",
6
6
  "license": "MIT",
@@ -29,9 +29,9 @@
29
29
  ]
30
30
  },
31
31
  "dependencies": {
32
- "@magic-sdk/commons": "24.15.0-canary.826.11477339303.0",
33
- "@magic-sdk/provider": "28.15.0-canary.826.11477339303.0",
34
- "@magic-sdk/types": "24.13.0-canary.826.11477339303.0",
32
+ "@magic-sdk/commons": "24.15.0-canary.826.11478226542.0",
33
+ "@magic-sdk/provider": "28.15.0-canary.826.11478226542.0",
34
+ "@magic-sdk/types": "24.13.0-canary.826.11478226542.0",
35
35
  "localforage": "^1.7.4"
36
36
  },
37
37
  "devDependencies": {
@@ -40,5 +40,5 @@
40
40
  "@babel/runtime": "^7.9.6",
41
41
  "localforage-driver-memory": "^1.0.5"
42
42
  },
43
- "gitHead": "233e501510ac2d9d6db0668af20f8fc2dada0461"
43
+ "gitHead": "7579cd493cf23124f99a9a131cdd6941bbb4a741"
44
44
  }