magic-sdk 28.4.1-canary.781.10404834932.0 → 28.4.1-canary.781.10405350347.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/magic.js CHANGED
@@ -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 _e(ve.IncompatibleExtensions,t)}function Mo(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 _e(ve.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
4
4
  Expected: \`${e.expected}\`
5
- Received: \`${e.received}\``)}function Zr(){return new Te(ge.DuplicateIframe,"Duplicate iframes found.")}function Lo(){return new Te(ge.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 Co(){return new Te(ge.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 ze(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 Te(ge.DeprecationNotice,m)}function*Po(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var $o=Po();function en(){return $o.next().value}var tn=Symbol("Payload pre-processed by Magic SDK");function rn(e){return Object.defineProperty(e,tn,{value:!0,enumerable:!1}),e}function Do(e){return!!e[tn]}function dt(e){var t,r,o;return Do(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=en(),e.method=(r=e.method)!=null?r:"noop",e.params=(o=e.params)!=null?o:[],rn(e)),e}function W(e,t=[]){return rn({params:t,method:e,jsonrpc:"2.0",id:en()})}var $t=class{constructor(e){e instanceof $t?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):bo(e)?(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=e.result,this._error=e.error):(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=void 0,this._error=void 0)}applyError(e){return this._error=e,this}applyResult(e){return this._result=e,this}get hasError(){return typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},xo=Mi(Li()),Uo=class extends xo.default{};function nn(){let e=new Uo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...o)=>(e[t].apply(e,o),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var on=Symbol("isPromiEvent");function Dt(e){return!!e[on]}function Ze(e){let t=an(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:o}=nn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),d=(y,O)=>(..._)=>{let N=O[y].apply(O,_);return g(N)},g=y=>Object.assign(y,{[on]:!0,[a]:y[a]||y.then,[s]:y[s]||y.catch,[m]:y[m]||y.finally,then:d(a,y),catch:d(s,y),finally:d(m,y),on:o("on",y),once:o("once",y),addListener:o("addListener",y),off:o("off",y),removeListener:o("removeListener",y),removeAllListeners:o("removeAllListeners",y),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),v=g(t.then(y=>(v.emit("done",y),v.emit("settled"),y),y=>{throw v.emit("error",y),v.emit("settled"),y}));return v.on("closed-by-user",()=>{v.emit("closed-by-user-handle")}),v}function an(e){return new Promise((t,r)=>{let o=e(t,r);Promise.resolve(o).catch(r)})}var Me=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(Ne.MAGIC_HANDLE_REQUEST,dt(e)),r=Ze((a,s)=>{t.then(m=>{if(o(),m.hasError)s(new Fe(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw No()}).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:g=[]}=m.result;r.emit(d,...g)}});return r}createIntermediaryEvent(e,t){return r=>{let o=W(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(o)}}};function ko(e,t){let[r]=e.split(".").map(Number);return r>=t}var Je={"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"},Fo=class extends Me{loginWithMagicLink(e){let t=Y.sdkName==="@magic-sdk/react-native"||Y.sdkName==="@magic-sdk/react-native-bare"||Y.sdkName==="@magic-sdk/react-native-expo";if(t&&ko(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&ze({method:"auth.loginWithMagicLink()",removalVersions:Je,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:o=!0,redirectURI:a,overrides:s,lifespan:m}=e,d=W(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:o,redirectURI:a,overrides:s,lifespan:m}]);return this.request(d)}loginWithSMS(e){let{phoneNumber:t,lifespan:r}=e,o=W(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:t,showUI:!0,lifespan:r}]);return this.request(o)}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}=e,m=W(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}]),d=this.request(m);return!o&&d&&d.on(Ke.Retry,()=>{this.createIntermediaryEvent(Ke.Retry,m.id)()}),!r&&d&&(d.on(ye.VerifyEmailOtp,g=>{this.createIntermediaryEvent(ye.VerifyEmailOtp,m.id)(g)}),d.on(ye.VerifyMFACode,g=>{this.createIntermediaryEvent(ye.VerifyMFACode,m.id)(g)}),d.on(ye.Cancel,()=>{this.createIntermediaryEvent(ye.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=W(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[o,r]);return this.request(a)}setAuthorizationToken(e){let t=W(M.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,o=W(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:t,showUI:r}]),a=this.request(o);return r||(a.on(he.Retry,()=>{this.createIntermediaryEvent(he.Retry,o.id)()}),a.on(he.Cancel,()=>{this.createIntermediaryEvent(he.Cancel,o.id)()}),a.on(he.VerifyEmailOtp,s=>{this.createIntermediaryEvent(he.VerifyEmailOtp,o.id)(s)}),a.on(he.VerifyMFACode,s=>{this.createIntermediaryEvent(he.VerifyMFACode,o.id)(s)}),a.on(Ee.RetryWithNewEmail,s=>{this.createIntermediaryEvent(Ee.RetryWithNewEmail,o.id)(s)}),a.on(Ee.Cancel,()=>{this.createIntermediaryEvent(Ee.Cancel,o.id)()}),a.on(Ee.VerifyEmailOtp,s=>{this.createIntermediaryEvent(Ee.VerifyEmailOtp,o.id)(s)})),a}},sn={};Oi(sn,{clear:()=>Wo,getItem:()=>se,iterate:()=>ln,key:()=>Go,keys:()=>jo,length:()=>Bo,removeItem:()=>ke,setItem:()=>pe});var st;function Re(e){return(...t)=>X(this,null,function*(){return st||(st=yield Y.configureStorage()),yield st.ready(),st[e](...t)})}var se=Re("getItem"),pe=Re("setItem"),ke=Re("removeItem"),Wo=Re("clear"),Bo=Re("length"),Go=Re("key"),jo=Re("keys"),ln=Re("iterate");function Vo(){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 cn="STORE_KEY_PRIVATE_KEY",Tt="STORE_KEY_PUBLIC_JWK",un="ECDSA",qo="P-256",Ko={name:un,namedCurve:qo};function pt(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function Ho(){return X(this,null,function*(){let e=yield Yo();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield se(cn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let o={iat:Math.floor(new Date().getTime()/1e3),jti:Vo()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:qr(JSON.stringify(a)),claims:qr(JSON.stringify(o))},m=zo(`${s.protected}.${s.claims}`),d={name:un,hash:{name:"SHA-256"}},g=Qo(new Uint8Array(yield t.sign(d,r,m)));return`${s.protected}.${s.claims}.${g}`})}function Yo(){return X(this,null,function*(){if(!pt()){console.info("webcrypto is not supported");return}return(yield se(Tt))||(yield Xo()),se(Tt)})}function Xo(){return X(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(Ko,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield pe(cn,t.privateKey),yield pe(Tt,r)})}function qr(e){return fn(Jo(e))}function zo(e){return new TextEncoder().encode(e)}function fn(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function Jo(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function Qo(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),fn(t)}var xt="ds",Ut="ek",kt="iv",Ft="AES-GCM",Zo=256;function Wt(){return X(this,null,function*(){let e=[];yield ln((t,r,o)=>{r.startsWith(`${xt}_`)&&e.push(r)});for(let t of e)yield ke(t)})}function dn(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 hn(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 ea(){return X(this,null,function*(){if(!pt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield se(kt))||e.getRandomValues(new Uint8Array(12))})}function ta(){return X(this,null,function*(){if(!pt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield se(Ut))||(yield e.generateKey({name:Ft,length:Zo},!1,["encrypt","decrypt"]))})}function ra(e,t){return X(this,null,function*(){let r=yield ea(),o=yield ta();if(!r||!o||!e)return;let a=hn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Ft,iv:r},o,a),d=dn(m);yield pe(`${xt}_${t}`,d),yield pe(Ut,o),yield pe(kt,r)})}function na(e){return X(this,null,function*(){let t=yield se(`${xt}_${e}`),r=yield se(kt),o=yield se(Ut);if(!r||!t||!o||!pt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Ft,iv:r},o,hn(t));return dn(s)})}function et(e,t){return t?new URL(e,t):new URL(e)}var ia=class extends Me{constructor(){super(...arguments),this.localForageKey="mc_active_wallet",this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=W(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=W(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[e]);return this.request(t)}getInfo(){return X(this,null,function*(){let e=yield se(this.localForageKey),t=W(M.GetInfo,[{walletType:e}]);return this.request(t)})}isLoggedIn(){return Ze((e,t)=>X(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield se(this.localForageIsLoggedInKey))==="true",r&&e(!0));let o=W(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=yield this.request(o);this.sdk.useStorageCache&&(a?pe(this.localForageIsLoggedInKey,!0):ke(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return ke(this.localForageKey),ke(this.localForageIsLoggedInKey),Wt(),Ze((e,t)=>X(this,null,function*(){try{let r=W(this.sdk.testMode?M.LogoutTestMode:M.Logout),o=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(o),e(o)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let t=W(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[e]);return this.request(t)}recoverAccount(e){let t=W(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[e]);return this.request(t)}revealPrivateKey(){let e=W(M.RevealPK);return this.request(e)}getMetadata(){ze({method:"user.getMetadata()",removalVersions:Je,useInstead:"user.getInfo()"}).log();let e=W(this.sdk.testMode?M.GetMetadataTestMode:M.GetMetadata);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(){let e=W(M.EnableMFA);return this.request(e)}disableMFA(){let e=W(M.DisableMFA);return this.request(e)}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},oa=class extends Me{constructor(){super(...arguments),this.localForageKey="mc_active_wallet"}connectWithUI(){let e=Ze((t,r)=>X(this,null,function*(){try{if(this.isMetaMaskBrowser()&&(yield this.isWalletEnabled(ue.MetaMask))){let d=yield this.autoConnectIfWalletBrowser(ue.MetaMask);t(d);return}if(this.isCoinbaseWalletBrowser()&&(yield this.isWalletEnabled(ue.CoinbaseWallet))){let d=yield this.autoConnectIfWalletBrowser(ue.CoinbaseWallet);t(d);return}let o=this.getUserEnv(),a=W(M.Login,[o]),s=this.request(a);s.on(De.WalletSelected,d=>this.handleWalletSelected(Lt(Mt({},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(W(M.ShowUI,[e]))}showAddress(){return this.request(W(M.ShowAddress))}showSendTokensUI(){return this.request(W(M.ShowSendTokensUI))}showOnRamp(){return this.request(W(M.ShowOnRamp))}showNFTs(){return this.request(W(M.ShowNFTs))}showBalances(){return this.request(W(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(W(M.SendGaslessTransaction,[e,t]))}getInfo(){return X(this,null,function*(){ze({method:"wallet.getInfo()",removalVersions:Je,useInstead:"user.getInfo()"}).log();let e=yield se(this.localForageKey),t=W(M.GetInfo,[{walletType:e}]);return this.request(t)})}disconnect(){ze({method:"wallet.disconnect()",removalVersions:Je,useInstead:"user.logout()"}).log(),ke(this.localForageKey),Wt();let e=W(M.Disconnect);return this.request(e)}requestUserInfoWithUI(e){ze({method:"wallet.requestUserInfoWithUI()",removalVersions:Je,useInstead:"user.requestUserInfoWithUI()"}).log();let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}getProvider(){return X(this,null,function*(){switch(yield se(this.localForageKey)){case ue.MetaMask:return this.getMetaMaskProvider();case ue.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 ue.MetaMask:return this.connectToMetaMask();case ue.CoinbaseWallet:return this.connectToCoinbaseWallet();default:throw new Error(`Invalid provider: ${e}. Must be one of "metamask" or "coinbase_wallet".`)}}isWalletEnabled(e){let t=W("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 pe(this.localForageKey,e.wallet),this.createIntermediaryEvent(De.WalletConnected,e.payloadId)(t)}catch(t){console.error(t),this.createIntermediaryEvent(De.WalletRejected,e.payloadId)()}})}autoConnectIfWalletBrowser(e){return X(this,null,function*(){let t;e===ue.MetaMask&&(t=yield this.getMetaMaskProvider().request({method:"eth_requestAccounts"})),e===ue.CoinbaseWallet&&(t=yield this.getCoinbaseProvider().request({method:"eth_requestAccounts"})),yield pe(this.localForageKey,e);let r=W(M.AutoConnect,[{wallet:e,address:t}]);return this.request(r)})}},{createBoundEmitterMethod:lt,createChainingEmitterMethod:xe}=nn(),aa=class extends Me{constructor(){super(...arguments),this.isMagic=!0,this.on=xe("on",this),this.once=xe("once",this),this.addListener=xe("addListener",this),this.off=xe("off",this),this.removeListener=xe("removeListener",this),this.removeAllListeners=xe("removeAllListeners",this),this.emit=lt("emit"),this.eventNames=lt("eventNames"),this.listeners=lt("listeners"),this.listenerCount=lt("listenerCount")}sendAsync(e,t){if(!t)throw Mo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Ne.MAGIC_HANDLE_REQUEST,e.map(r=>{let o=dt(r);return this.prefixPayloadMethodForTestMode(o),o})).then(r=>{t(null,r.map(o=>Lt(Mt({},o.payload),{error:o.hasError?new Fe(o.payload.error):null})))});else{let r=dt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Ne.MAGIC_HANDLE_REQUEST,r).then(o=>{t(o.hasError?new Fe(o.payload.error):null,o.payload)})}}send(e,t){if(typeof e=="string"){let o=W(e,Array.isArray(t)?t:[]);return this.request(o)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=Lo();return r.log(),new $t(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=W(M.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}},Kr=["request","overlay","sdk"];function sa(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Me.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var mn=class extends Me{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Ze,isPromiEvent:Dt,encodeJSON:zr,decodeJSON:Io,createJsonRpcRequestPayload:W,standardizeJsonRpcRequestPayload:dt,storage:sn};let e=[this,...sa(this)];Kr.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 Oo(t)}}))})}init(e){this.__is_initialized__||(Kr.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 ft(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new ft(this,e,t)}createError(e,t,r){return new mt(this,e,t,r)}},la=class extends mn{},Oe=class extends mn{};Oe.Internal=la,Oe.Anonymous="anonymous extension";var ca=class extends Me{purchase(e){let t=W(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=W(M.NFTCheckout,[e]);return this.request(t)}transfer(e){let t=W(M.NFTTransfer,[e]);return this.request(t)}};function Hr(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?fo(vo(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function ua(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 fa(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],o={},a=[];if(Array.isArray(r)?r.forEach(s=>{Hr(s)?(s.init(this),(s.name||s.name!==Oe.Anonymous)&&(this[s.name]=s),s instanceof Oe.Internal&&(ut(s.config)||(o[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(Hr(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof Oe.Internal&&(ut(m.config)||(o[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw To(a);return o}var ct=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw So();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Co().log();let{defaultEndpoint:o,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=et((r=t==null?void 0:t.endpoint)!=null?r:o).origin,this.auth=new Fo(this),this.user=new ia(this),this.wallet=new oa(this),this.nft=new ca(this),this.rpcProvider=new aa(this);let s=fa.call(this,t);this.parameters=zr(Lt(Mt({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:et(this.endpoint).host,sdk:Ao[Y.sdkName],version:a,ext:ut(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=ua(this.apiKey,t==null?void 0:t.network,ut(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!ct.__overlays__.has(this.parameters)){let e=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),ct.__overlays__.set(this.parameters,e)}return ct.__overlays__.get(this.parameters)}preload(){return X(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},Bt=ct;Bt.__overlays__=new Map;function da(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function ha(e,t){var r;let o=(r=t.data.response)==null?void 0:r.id,a=da(e,o);if(o&&a){let s=new $t(a).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:o,response:s}}return{}}function ma(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 Ho()}catch(g){console.error("webcrypto error",g)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let d=yield na(r);return d&&(m.deviceShare=d),m})}function pa(e){return X(this,null,function*(){!e.data.rt||(yield pe("rt",e.data.rt))})}var pn=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 an((r,o)=>X(this,null,function*(){if(!this.isConnectedToInternet){let v=Pt();o(v)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(v=>v.id):[],m=yield ma(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let d=v=>y=>{var O;let{id:_,response:N}=ha(t,y);if(pa(y),((O=N==null?void 0:N.payload.error)==null?void 0:O.message)==="User denied account access.")Wt();else if(y.data.deviceShare){let{deviceShare:L}=y.data;ra(L,this.networkHash)}_&&N&&Array.isArray(t)&&s.includes(_)?(a.push(N),a.length===t.length&&(v(),r(a))):_&&N&&!Array.isArray(t)&&_===t.id&&(v(),r(N))},g=this.on(me.MAGIC_HANDLE_RESPONSE,d(()=>g()))}))})}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 Te(ge.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var Gt={};pr(Gt,{AllowAllEvents:()=>Mr,AuthEventOnReceived:()=>Nr,DeepLinkPage:()=>yr,DeviceVerificationEventEmit:()=>Ke,DeviceVerificationEventOnReceived:()=>Rr,EthChainType:()=>Tr,Events:()=>De,Extension:()=>Oe,ExtensionError:()=>mt,ExtensionWarning:()=>ft,FarcasterLoginEventEmit:()=>Or,LoginWithEmailOTPEventEmit:()=>ye,LoginWithEmailOTPEventOnReceived:()=>br,LoginWithMagicLinkEventEmit:()=>Er,LoginWithMagicLinkEventOnReceived:()=>_r,LoginWithSmsOTPEventEmit:()=>Ir,LoginWithSmsOTPEventOnReceived:()=>wr,MagicIncomingWindowMessage:()=>me,MagicOutgoingWindowMessage:()=>Ne,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>Cr,RPCError:()=>Fe,RPCErrorCode:()=>$e,RecencyCheckEventEmit:()=>he,RecencyCheckEventOnReceived:()=>Ar,RecoveryMethodType:()=>Lr,SDKError:()=>_e,SDKErrorCode:()=>ve,SDKWarning:()=>Te,SDKWarningCode:()=>ge,UpdateEmailEventEmit:()=>Ee,UpdateEmailEventOnReceived:()=>Sr,WalletEventOnReceived:()=>Pr,Wallets:()=>ue,isPromiEvent:()=>Dt});var yt=gr(gn()),Vt=gr(En());var va={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647"};function ga(e){for(let[t,r]of Object.entries(va))e.style[t]=r}function ya(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var gt=class extends pn{constructor(){super(...arguments);this.activeElement=null}init(){this.test="hello",this.iframe=new Promise(r=>{let o=()=>{if(ya(encodeURIComponent(this.parameters)))Zr().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=et(this.endpoint).host,a.title="Secure Modal",a.src=et(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href,a.allow="clipboard-read; clipboard-write",ga(a),document.body.appendChild(a),r(a)}};["loaded","interactive","complete"].includes(document.readyState)?o():window.addEventListener("load",o,!1)}),window.addEventListener("message",r=>{var o;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.response=(o=r.data.response)!=null?o:{};for(let a of this.messageHandlers.values())a(r)}})}showOverlay(){return Pe(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return Pe(this,null,function*(){var o;let r=yield this.iframe;r.style.visibility="hidden",(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 Pt()})}};var Ea=Object.assign(Qr(Bt,{platform:"web",sdkName:"magic-sdk",version:"28.4.0",defaultEndpoint:"https://auth.magic.link/",ViewController:gt,configureStorage:()=>Pe(void 0,null,function*(){let e=yt.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Vt),yield e.setDriver([yt.default.INDEXEDDB,yt.default.LOCALSTORAGE,Vt._driver]),e})}),hr({},Gt)),_a=Ea;return Ei(Ia);})();
5
+ Received: \`${e.received}\``)}function Zr(){return new Te(ge.DuplicateIframe,"Duplicate iframes found.")}function Lo(){return new Te(ge.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 Co(){return new Te(ge.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 ze(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 Te(ge.DeprecationNotice,m)}function*Po(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var $o=Po();function en(){return $o.next().value}var tn=Symbol("Payload pre-processed by Magic SDK");function rn(e){return Object.defineProperty(e,tn,{value:!0,enumerable:!1}),e}function Do(e){return!!e[tn]}function dt(e){var t,r,o;return Do(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=en(),e.method=(r=e.method)!=null?r:"noop",e.params=(o=e.params)!=null?o:[],rn(e)),e}function W(e,t=[]){return rn({params:t,method:e,jsonrpc:"2.0",id:en()})}var $t=class{constructor(e){e instanceof $t?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):bo(e)?(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=e.result,this._error=e.error):(this._jsonrpc=e.jsonrpc,this._id=e.id,this._result=void 0,this._error=void 0)}applyError(e){return this._error=e,this}applyResult(e){return this._result=e,this}get hasError(){return typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}},xo=Mi(Li()),Uo=class extends xo.default{};function nn(){let e=new Uo;return{emitter:e,createChainingEmitterMethod:(t,r)=>(...o)=>(e[t].apply(e,o),r),createBoundEmitterMethod:t=>(...r)=>e[t].apply(e,r)}}var on=Symbol("isPromiEvent");function Dt(e){return!!e[on]}function Ze(e){let t=an(e),{createBoundEmitterMethod:r,createChainingEmitterMethod:o}=nn(),a=Symbol("Promise.then"),s=Symbol("Promise.catch"),m=Symbol("Promise.finally"),d=(y,O)=>(..._)=>{let N=O[y].apply(O,_);return g(N)},g=y=>Object.assign(y,{[on]:!0,[a]:y[a]||y.then,[s]:y[s]||y.catch,[m]:y[m]||y.finally,then:d(a,y),catch:d(s,y),finally:d(m,y),on:o("on",y),once:o("once",y),addListener:o("addListener",y),off:o("off",y),removeListener:o("removeListener",y),removeAllListeners:o("removeAllListeners",y),emit:r("emit"),eventNames:r("eventNames"),listeners:r("listeners"),listenerCount:r("listenerCount")}),v=g(t.then(y=>(v.emit("done",y),v.emit("settled"),y),y=>{throw v.emit("error",y),v.emit("settled"),y}));return v.on("closed-by-user",()=>{v.emit("closed-by-user-handle")}),v}function an(e){return new Promise((t,r)=>{let o=e(t,r);Promise.resolve(o).catch(r)})}var Me=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(Ne.MAGIC_HANDLE_REQUEST,dt(e)),r=Ze((a,s)=>{t.then(m=>{if(o(),m.hasError)s(new Fe(m.payload.error));else if(m.hasResult)a(m.payload.result);else throw No()}).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:g=[]}=m.result;r.emit(d,...g)}});return r}createIntermediaryEvent(e,t){return r=>{let o=W(M.IntermediaryEvent,[{payloadId:t,eventType:e,args:r}]);this.request(o)}}};function ko(e,t){let[r]=e.split(".").map(Number);return r>=t}var Je={"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"},Fo=class extends Me{loginWithMagicLink(e){let t=Y.sdkName==="@magic-sdk/react-native"||Y.sdkName==="@magic-sdk/react-native-bare"||Y.sdkName==="@magic-sdk/react-native-expo";if(t&&ko(Y.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");t&&ze({method:"auth.loginWithMagicLink()",removalVersions:Je,useInstead:"auth.loginWithEmailOTP()"}).log();let{email:r,showUI:o=!0,redirectURI:a,overrides:s,lifespan:m}=e,d=W(this.sdk.testMode?M.LoginWithMagicLinkTestMode:M.LoginWithMagicLink,[{email:r,showUI:o,redirectURI:a,overrides:s,lifespan:m}]);return this.request(d)}loginWithSMS(e){let{phoneNumber:t,lifespan:r}=e,o=W(this.sdk.testMode?M.LoginWithSmsTestMode:M.LoginWithSms,[{phoneNumber:t,showUI:!0,lifespan:r}]);return this.request(o)}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}=e,m=W(this.sdk.testMode?M.LoginWithEmailOTPTestMode:M.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:o,overrides:a,lifespan:s}]),d=this.request(m);return!o&&d&&d.on(Ke.Retry,()=>{this.createIntermediaryEvent(Ke.Retry,m.id)()}),!r&&d&&(d.on(ye.VerifyEmailOtp,g=>{this.createIntermediaryEvent(ye.VerifyEmailOtp,m.id)(g)}),d.on(ye.VerifyMFACode,g=>{this.createIntermediaryEvent(ye.VerifyMFACode,m.id)(g)}),d.on(ye.Cancel,()=>{this.createIntermediaryEvent(ye.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=W(this.sdk.testMode?M.LoginWithCredentialTestMode:M.LoginWithCredential,[o,r]);return this.request(a)}setAuthorizationToken(e){let t=W(M.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){let{email:t,showUI:r=!0}=e,o=W(this.sdk.testMode?M.UpdateEmailTestMode:M.UpdateEmail,[{email:t,showUI:r}]),a=this.request(o);return r||(a.on(he.Retry,()=>{this.createIntermediaryEvent(he.Retry,o.id)()}),a.on(he.Cancel,()=>{this.createIntermediaryEvent(he.Cancel,o.id)()}),a.on(he.VerifyEmailOtp,s=>{this.createIntermediaryEvent(he.VerifyEmailOtp,o.id)(s)}),a.on(he.VerifyMFACode,s=>{this.createIntermediaryEvent(he.VerifyMFACode,o.id)(s)}),a.on(Ee.RetryWithNewEmail,s=>{this.createIntermediaryEvent(Ee.RetryWithNewEmail,o.id)(s)}),a.on(Ee.Cancel,()=>{this.createIntermediaryEvent(Ee.Cancel,o.id)()}),a.on(Ee.VerifyEmailOtp,s=>{this.createIntermediaryEvent(Ee.VerifyEmailOtp,o.id)(s)})),a}},sn={};Oi(sn,{clear:()=>Wo,getItem:()=>se,iterate:()=>ln,key:()=>Go,keys:()=>jo,length:()=>Bo,removeItem:()=>ke,setItem:()=>pe});var st;function Re(e){return(...t)=>X(this,null,function*(){return st||(st=yield Y.configureStorage()),yield st.ready(),st[e](...t)})}var se=Re("getItem"),pe=Re("setItem"),ke=Re("removeItem"),Wo=Re("clear"),Bo=Re("length"),Go=Re("key"),jo=Re("keys"),ln=Re("iterate");function Vo(){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 cn="STORE_KEY_PRIVATE_KEY",Tt="STORE_KEY_PUBLIC_JWK",un="ECDSA",qo="P-256",Ko={name:un,namedCurve:qo};function pt(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function Ho(){return X(this,null,function*(){let e=yield Yo();if(!e){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:t}=window.crypto,r=yield se(cn);if(!r||!t){console.info("unable to find private key or webcrypto unsupported");return}let o={iat:Math.floor(new Date().getTime()/1e3),jti:Vo()},a={typ:"dpop+jwt",alg:"ES256",jwk:e},s={protected:qr(JSON.stringify(a)),claims:qr(JSON.stringify(o))},m=zo(`${s.protected}.${s.claims}`),d={name:un,hash:{name:"SHA-256"}},g=Qo(new Uint8Array(yield t.sign(d,r,m)));return`${s.protected}.${s.claims}.${g}`})}function Yo(){return X(this,null,function*(){if(!pt()){console.info("webcrypto is not supported");return}return(yield se(Tt))||(yield Xo()),se(Tt)})}function Xo(){return X(this,null,function*(){let{subtle:e}=window.crypto,t=yield e.generateKey(Ko,!1,["sign"]),r=yield e.exportKey("jwk",t.publicKey);yield pe(cn,t.privateKey),yield pe(Tt,r)})}function qr(e){return fn(Jo(e))}function zo(e){return new TextEncoder().encode(e)}function fn(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function Jo(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function Qo(e){let t="";return e.forEach(r=>{t+=String.fromCharCode(r)}),fn(t)}var xt="ds",Ut="ek",kt="iv",Ft="AES-GCM",Zo=256;function Wt(){return X(this,null,function*(){let e=[];yield ln((t,r,o)=>{r.startsWith(`${xt}_`)&&e.push(r)});for(let t of e)yield ke(t)})}function dn(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 hn(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 ea(){return X(this,null,function*(){if(!pt()){console.info("webcrypto is not supported");return}let{crypto:e}=window;return(yield se(kt))||e.getRandomValues(new Uint8Array(12))})}function ta(){return X(this,null,function*(){if(!pt()){console.info("webcrypto is not supported");return}let{subtle:e}=window.crypto;return(yield se(Ut))||(yield e.generateKey({name:Ft,length:Zo},!1,["encrypt","decrypt"]))})}function ra(e,t){return X(this,null,function*(){let r=yield ea(),o=yield ta();if(!r||!o||!e)return;let a=hn(e),{subtle:s}=window.crypto,m=yield s.encrypt({name:Ft,iv:r},o,a),d=dn(m);yield pe(`${xt}_${t}`,d),yield pe(Ut,o),yield pe(kt,r)})}function na(e){return X(this,null,function*(){let t=yield se(`${xt}_${e}`),r=yield se(kt),o=yield se(Ut);if(!r||!t||!o||!pt())return;let{subtle:a}=window.crypto,s=yield a.decrypt({name:Ft,iv:r},o,hn(t));return dn(s)})}function et(e,t){return t?new URL(e,t):new URL(e)}var ia=class extends Me{constructor(){super(...arguments),this.localForageKey="mc_active_wallet",this.localForageIsLoggedInKey="magic_auth_is_logged_in",this.userLoggedOutCallbacks=[]}getIdToken(e){let t=W(this.sdk.testMode?M.GetIdTokenTestMode:M.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=W(this.sdk.testMode?M.GenerateIdTokenTestMode:M.GenerateIdToken,[e]);return this.request(t)}getInfo(){return X(this,null,function*(){let e=yield se(this.localForageKey),t=W(M.GetInfo,[{walletType:e}]);return this.request(t)})}isLoggedIn(){return Ze((e,t)=>X(this,null,function*(){try{let r=!1;this.sdk.useStorageCache&&(r=(yield se(this.localForageIsLoggedInKey))==="true",r&&e(!0));let o=W(this.sdk.testMode?M.IsLoggedInTestMode:M.IsLoggedIn),a=yield this.request(o);this.sdk.useStorageCache&&(a?pe(this.localForageIsLoggedInKey,!0):ke(this.localForageIsLoggedInKey),r&&!a&&this.emitUserLoggedOut(!0)),e(a)}catch(r){t(r)}}))}logout(){return ke(this.localForageKey),ke(this.localForageIsLoggedInKey),Wt(),Ze((e,t)=>X(this,null,function*(){try{let r=W(this.sdk.testMode?M.LogoutTestMode:M.Logout),o=yield this.request(r);this.sdk.useStorageCache&&this.emitUserLoggedOut(o),e(o)}catch(r){t(r)}}))}requestInfoWithUI(e){let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}showSettings(e){let t=W(this.sdk.testMode?M.UserSettingsTestMode:M.UserSettings,[e]);return this.request(t)}recoverAccount(e){let t=W(this.sdk.testMode?M.RecoverAccountTestMode:M.RecoverAccount,[e]);return this.request(t)}revealPrivateKey(){let e=W(M.RevealPK);return this.request(e)}getMetadata(){ze({method:"user.getMetadata()",removalVersions:Je,useInstead:"user.getInfo()"}).log();let e=W(this.sdk.testMode?M.GetMetadataTestMode:M.GetMetadata);return this.request(e)}onUserLoggedOut(e){this.userLoggedOutCallbacks.push(e)}enableMFA(){let e=W(M.EnableMFA);return this.request(e)}disableMFA(){let e=W(M.DisableMFA);return this.request(e)}emitUserLoggedOut(e){this.userLoggedOutCallbacks.forEach(t=>{t(e)})}},oa=class extends Me{constructor(){super(...arguments),this.localForageKey="mc_active_wallet"}connectWithUI(){let e=Ze((t,r)=>X(this,null,function*(){try{if(this.isMetaMaskBrowser()&&(yield this.isWalletEnabled(ue.MetaMask))){let d=yield this.autoConnectIfWalletBrowser(ue.MetaMask);t(d);return}if(this.isCoinbaseWalletBrowser()&&(yield this.isWalletEnabled(ue.CoinbaseWallet))){let d=yield this.autoConnectIfWalletBrowser(ue.CoinbaseWallet);t(d);return}let o=this.getUserEnv(),a=W(M.Login,[o]),s=this.request(a);s.on(De.WalletSelected,d=>this.handleWalletSelected(Lt(Mt({},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(W(M.ShowUI,[e]))}showAddress(){return this.request(W(M.ShowAddress))}showSendTokensUI(){return this.request(W(M.ShowSendTokensUI))}showOnRamp(){return this.request(W(M.ShowOnRamp))}showNFTs(){return this.request(W(M.ShowNFTs))}showBalances(){return this.request(W(M.ShowBalances))}sendGaslessTransaction(e,t){return this.request(W(M.SendGaslessTransaction,[e,t]))}getInfo(){return X(this,null,function*(){ze({method:"wallet.getInfo()",removalVersions:Je,useInstead:"user.getInfo()"}).log();let e=yield se(this.localForageKey),t=W(M.GetInfo,[{walletType:e}]);return this.request(t)})}disconnect(){ze({method:"wallet.disconnect()",removalVersions:Je,useInstead:"user.logout()"}).log(),ke(this.localForageKey),Wt();let e=W(M.Disconnect);return this.request(e)}requestUserInfoWithUI(e){ze({method:"wallet.requestUserInfoWithUI()",removalVersions:Je,useInstead:"user.requestUserInfoWithUI()"}).log();let t=W(M.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}getProvider(){return X(this,null,function*(){switch(yield se(this.localForageKey)){case ue.MetaMask:return this.getMetaMaskProvider();case ue.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 ue.MetaMask:return this.connectToMetaMask();case ue.CoinbaseWallet:return this.connectToCoinbaseWallet();default:throw new Error(`Invalid provider: ${e}. Must be one of "metamask" or "coinbase_wallet".`)}}isWalletEnabled(e){let t=W("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 pe(this.localForageKey,e.wallet),this.createIntermediaryEvent(De.WalletConnected,e.payloadId)(t)}catch(t){console.error(t),this.createIntermediaryEvent(De.WalletRejected,e.payloadId)()}})}autoConnectIfWalletBrowser(e){return X(this,null,function*(){let t;e===ue.MetaMask&&(t=yield this.getMetaMaskProvider().request({method:"eth_requestAccounts"})),e===ue.CoinbaseWallet&&(t=yield this.getCoinbaseProvider().request({method:"eth_requestAccounts"})),yield pe(this.localForageKey,e);let r=W(M.AutoConnect,[{wallet:e,address:t}]);return this.request(r)})}},{createBoundEmitterMethod:lt,createChainingEmitterMethod:xe}=nn(),aa=class extends Me{constructor(){super(...arguments),this.isMagic=!0,this.on=xe("on",this),this.once=xe("once",this),this.addListener=xe("addListener",this),this.off=xe("off",this),this.removeListener=xe("removeListener",this),this.removeAllListeners=xe("removeAllListeners",this),this.emit=lt("emit"),this.eventNames=lt("eventNames"),this.listeners=lt("listeners"),this.listenerCount=lt("listenerCount")}sendAsync(e,t){if(!t)throw Mo({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Ne.MAGIC_HANDLE_REQUEST,e.map(r=>{let o=dt(r);return this.prefixPayloadMethodForTestMode(o),o})).then(r=>{t(null,r.map(o=>Lt(Mt({},o.payload),{error:o.hasError?new Fe(o.payload.error):null})))});else{let r=dt(e);this.prefixPayloadMethodForTestMode(r),this.overlay.post(Ne.MAGIC_HANDLE_REQUEST,r).then(o=>{t(o.hasError?new Fe(o.payload.error):null,o.payload)})}}send(e,t){if(typeof e=="string"){let o=W(e,Array.isArray(t)?t:[]);return this.request(o)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let r=Lo();return r.log(),new $t(e).applyError({code:-32603,message:r.rawMessage}).payload}enable(){let e=W(M.Login);return this.request(e)}request(e){return this.prefixPayloadMethodForTestMode(e),super.request(e)}prefixPayloadMethodForTestMode(e){let t="testMode/eth/";this.sdk.testMode&&(e.method=`${t}${e.method}`)}},Kr=["request","overlay","sdk"];function sa(e){let t=Object.getPrototypeOf(e),r=[t];for(;t!==Me.prototype;)t=Object.getPrototypeOf(t),r.push(t);return r}var mn=class extends Me{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Ze,isPromiEvent:Dt,encodeJSON:zr,decodeJSON:Io,createJsonRpcRequestPayload:W,standardizeJsonRpcRequestPayload:dt,storage:sn};let e=[this,...sa(this)];Kr.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 Oo(t)}}))})}init(e){this.__is_initialized__||(Kr.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 ft(this,"DEPRECATION_NOTICE",s)}createWarning(e,t){return new ft(this,e,t)}createError(e,t,r){return new mt(this,e,t,r)}},la=class extends mn{},Oe=class extends mn{};Oe.Internal=la,Oe.Anonymous="anonymous extension";var ca=class extends Me{purchase(e){let t=W(M.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=W(M.NFTCheckout,[e]);return this.request(t)}transfer(e){let t=W(M.NFTTransfer,[e]);return this.request(t)}};function Hr(e){return e.compat&&e.compat[Y.sdkName]!=null?typeof e.compat[Y.sdkName]=="string"?fo(vo(Y.version),e.compat[Y.sdkName]):!!e.compat[Y.sdkName]:!0}function ua(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 fa(e){var t;let r=(t=e==null?void 0:e.extensions)!=null?t:[],o={},a=[];if(Array.isArray(r)?r.forEach(s=>{Hr(s)?(s.init(this),(s.name||s.name!==Oe.Anonymous)&&(this[s.name]=s),s instanceof Oe.Internal&&(ut(s.config)||(o[s.name]=s.config))):a.push(s)}):Object.keys(r).forEach(s=>{if(Hr(r[s])){r[s].init(this);let m=r[s];this[s]=m,m instanceof Oe.Internal&&(ut(m.config)||(o[r[s].name]=m.config))}else a.push(r[s])}),a.length)throw To(a);return o}var ct=class{constructor(e,t){this.apiKey=e;var r;if(!e)throw So();Y.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Co().log();let{defaultEndpoint:o,version:a}=Y;this.testMode=!!(t!=null&&t.testMode),this.useStorageCache=!!(t!=null&&t.useStorageCache),this.endpoint=et((r=t==null?void 0:t.endpoint)!=null?r:o).origin,this.auth=new Fo(this),this.user=new ia(this),this.wallet=new oa(this),this.nft=new ca(this),this.rpcProvider=new aa(this);let s=fa.call(this,t);this.parameters=zr(Lt(Mt({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:et(this.endpoint).host,sdk:Ao[Y.sdkName],version:a,ext:ut(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=ua(this.apiKey,t==null?void 0:t.network,ut(s)?void 0:s),t!=null&&t.deferPreload||this.preload()}get overlay(){if(!ct.__overlays__.has(this.parameters)){let e=new Y.ViewController(this.endpoint,this.parameters,this.networkHash);e.init(),ct.__overlays__.set(this.parameters,e)}return ct.__overlays__.get(this.parameters)}preload(){return X(this,null,function*(){yield this.overlay.checkIsReadyForRequest})}},Bt=ct;Bt.__overlays__=new Map;function da(e,t){return t&&Array.isArray(e)?e.find(r=>r.id===t):e}function ha(e,t){var r;let o=(r=t.data.response)==null?void 0:r.id,a=da(e,o);if(o&&a){let s=new $t(a).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:o,response:s}}return{}}function ma(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 Ho()}catch(g){console.error("webcrypto error",g)}let m={msgType:e,payload:t};s&&(m.jwt=s),s&&a&&(m.rt=a);let d=yield na(r);return d&&(m.deviceShare=d),m})}function pa(e){return X(this,null,function*(){!e.data.rt||(yield pe("rt",e.data.rt))})}var pn=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 an((r,o)=>X(this,null,function*(){if(!this.isConnectedToInternet){let v=Pt();o(v)}this.isReadyForRequest||(yield this.waitForReady());let a=[],s=Array.isArray(t)?t.map(v=>v.id):[],m=yield ma(`${e}-${this.parameters}`,t,this.networkHash);yield this._post(m);let d=v=>y=>{var O;let{id:_,response:N}=ha(t,y);if(pa(y),((O=N==null?void 0:N.payload.error)==null?void 0:O.message)==="User denied account access.")Wt();else if(y.data.deviceShare){let{deviceShare:L}=y.data;ra(L,this.networkHash)}_&&N&&Array.isArray(t)&&s.includes(_)?(a.push(N),a.length===t.length&&(v(),r(a))):_&&N&&!Array.isArray(t)&&_===t.id&&(v(),r(N))},g=this.on(me.MAGIC_HANDLE_RESPONSE,d(()=>g()))}))})}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 Te(ge.ProductAnnouncement,e.data.response.result.product_announcement).log()})}};var Gt={};pr(Gt,{AuthEventOnReceived:()=>Nr,DeepLinkPage:()=>yr,DeviceVerificationEventEmit:()=>Ke,DeviceVerificationEventOnReceived:()=>Rr,EthChainType:()=>Tr,Events:()=>De,Extension:()=>Oe,ExtensionError:()=>mt,ExtensionWarning:()=>ft,FarcasterLoginEventEmit:()=>Or,LoginWithEmailOTPEventEmit:()=>ye,LoginWithEmailOTPEventOnReceived:()=>br,LoginWithMagicLinkEventEmit:()=>Er,LoginWithMagicLinkEventOnReceived:()=>_r,LoginWithSmsOTPEventEmit:()=>Ir,LoginWithSmsOTPEventOnReceived:()=>wr,MagicIncomingWindowMessage:()=>me,MagicOutgoingWindowMessage:()=>Ne,MagicPayloadMethod:()=>M,NftCheckoutIntermediaryEvents:()=>Cr,RPCError:()=>Fe,RPCErrorCode:()=>$e,RecencyCheckEventEmit:()=>he,RecencyCheckEventOnReceived:()=>Ar,RecoveryMethodType:()=>Lr,SDKError:()=>_e,SDKErrorCode:()=>ve,SDKWarning:()=>Te,SDKWarningCode:()=>ge,UpdateEmailEventEmit:()=>Ee,UpdateEmailEventOnReceived:()=>Sr,UserEvents:()=>Mr,WalletEventOnReceived:()=>Pr,Wallets:()=>ue,isPromiEvent:()=>Dt});var yt=gr(gn()),Vt=gr(En());var va={display:"block",visibility:"hidden",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647"};function ga(e){for(let[t,r]of Object.entries(va))e.style[t]=r}function ya(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(r=>r.src.includes(e)))}var gt=class extends pn{constructor(){super(...arguments);this.activeElement=null}init(){this.test="hello",this.iframe=new Promise(r=>{let o=()=>{if(ya(encodeURIComponent(this.parameters)))Zr().log();else{let a=document.createElement("iframe");a.classList.add("magic-iframe"),a.dataset.magicIframeLabel=et(this.endpoint).host,a.title="Secure Modal",a.src=et(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href,a.allow="clipboard-read; clipboard-write",ga(a),document.body.appendChild(a),r(a)}};["loaded","interactive","complete"].includes(document.readyState)?o():window.addEventListener("load",o,!1)}),window.addEventListener("message",r=>{var o;if(r.origin===this.endpoint&&r.data&&r.data.msgType&&this.messageHandlers.size){r.data.response=(o=r.data.response)!=null?o:{};for(let a of this.messageHandlers.values())a(r)}})}showOverlay(){return Pe(this,null,function*(){let r=yield this.iframe;r.style.visibility="visible",this.activeElement=document.activeElement,r.focus()})}hideOverlay(){return Pe(this,null,function*(){var o;let r=yield this.iframe;r.style.visibility="hidden",(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 Pt()})}};var Ea=Object.assign(Qr(Bt,{platform:"web",sdkName:"magic-sdk",version:"28.4.0",defaultEndpoint:"https://auth.magic.link/",ViewController:gt,configureStorage:()=>Pe(void 0,null,function*(){let e=yt.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Vt),yield e.setDriver([yt.default.INDEXEDDB,yt.default.LOCALSTORAGE,Vt._driver]),e})}),hr({},Gt)),_a=Ea;return Ei(Ia);})();
6
6
  if (Magic && Magic.default != null) { Magic = Object.assign(Magic.default, Magic); delete Magic.default; }
@@ -32,7 +32,7 @@ declare const Magic: import("@magic-sdk/provider").WithExtensions<SDKBase> & {
32
32
  AuthEventOnReceived: typeof publicAPI.AuthEventOnReceived;
33
33
  FarcasterLoginEventEmit: typeof publicAPI.FarcasterLoginEventEmit;
34
34
  EthChainType: typeof publicAPI.EthChainType;
35
- AllowAllEvents: typeof publicAPI.AllowAllEvents;
35
+ UserEvents: typeof publicAPI.UserEvents;
36
36
  RecoveryMethodType: typeof publicAPI.RecoveryMethodType;
37
37
  NftCheckoutIntermediaryEvents: typeof publicAPI.NftCheckoutIntermediaryEvents;
38
38
  WalletEventOnReceived: typeof publicAPI.WalletEventOnReceived;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "magic-sdk",
3
- "version": "28.4.1-canary.781.10404834932.0",
3
+ "version": "28.4.1-canary.781.10405350347.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.4.1-canary.781.10404834932.0",
33
- "@magic-sdk/provider": "28.4.1-canary.781.10404834932.0",
34
- "@magic-sdk/types": "24.2.1-canary.781.10404834932.0",
32
+ "@magic-sdk/commons": "24.4.1-canary.781.10405350347.0",
33
+ "@magic-sdk/provider": "28.4.1-canary.781.10405350347.0",
34
+ "@magic-sdk/types": "24.2.1-canary.781.10405350347.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": "d5b581ab4640eaac1b671e3e8880958b131cfd3f"
43
+ "gitHead": "c70954d3a0c234d54d0b799c6485b39d4c3ae94f"
44
44
  }