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