@magic-sdk/provider 20.0.0 → 20.0.1-canary.522b998.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/es/index.js +1 -1
- package/dist/es/index.js.map +2 -2
- package/dist/es/index.mjs +1 -1
- package/dist/es/index.mjs.map +2 -2
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
- Extension \`${t.name}\` supports version(s) \`${r}\``:r||(e+=`
|
|
3
3
|
- Extension \`${t.name}\` does not support ${m.platform} environments.`)}),new C(x.SDKErrorCode.IncompatibleExtensions,e)}function Fe(n){let e=t=>{let r=t+1,o=r%10,s=r%100;return o===1&&s!==11?`${r}st`:o===2&&s!==12?`${r}nd`:o===3&&s!==13?`${r}rd`:`${r}th`};return new C(x.SDKErrorCode.InvalidArgument,`Invalid ${e(n.argument)} argument given to \`${n.procedure}\`.
|
|
4
4
|
Expected: \`${n.expected}\`
|
|
5
|
-
Received: \`${n.received}\``)}function $n(){return new F(x.SDKWarningCode.DuplicateIframe,"Duplicate iframes found.")}function Ge(){return new F(x.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 Ke(){return new F(x.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 \`${m.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function N(n){let{method:e,removalVersions:t,useInstead:r}=n,o=t[m.sdkName],s=r?` Use \`${r}\` instead.`:"",a=`\`${e}\` will be removed from \`${m.sdkName}\` in version \`${o}\`.${s}`;return new F(x.SDKWarningCode.DeprecationNotice,a)}var y=require("@magic-sdk/types");var H=require("@magic-sdk/types");function*An(){let n=0;for(;;)n<Number.MAX_SAFE_INTEGER?yield++n:n=0}var Cn=An();function ge(){return Cn.next().value}var gt=Symbol("Payload pre-processed by Magic SDK");function yt(n){return Object.defineProperty(n,gt,{value:!0,enumerable:!1}),n}function Sn(n){return!!n[gt]}function K(n){var e,t,r;return Sn(n)||(n.jsonrpc=(e=n.jsonrpc)!=null?e:"2.0",n.id=ge(),n.method=(t=n.method)!=null?t:"noop",n.params=(r=n.params)!=null?r:[],yt(n)),n}function d(n,e=[]){return yt({params:e,method:n,jsonrpc:"2.0",id:ge()})}var W=class{constructor(e){e instanceof W?(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 typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}};var Tt=kt(vt()),Re=class extends Tt.default{};function oe(){let n=new Re;return{emitter:n,createChainingEmitterMethod:(r,o)=>(...s)=>(n[r].apply(n,s),o),createBoundEmitterMethod:r=>(...o)=>n[r].apply(n,o)}}var It=Symbol("isPromiEvent");function Be(n){return!!n[It]}function j(n){let e=ve(n),{createBoundEmitterMethod:t,createChainingEmitterMethod:r}=oe(),o=Symbol("Promise.then"),s=Symbol("Promise.catch"),a=Symbol("Promise.finally"),i=(u,p)=>(...M)=>{let q=p[u].apply(p,M);return c(q)},c=u=>Object.assign(u,{[It]:!0,[o]:u[o]||u.then,[s]:u[s]||u.catch,[a]:u[a]||u.finally,then:i(o,u),catch:i(s,u),finally:i(a,u),on:r("on",u),once:r("once",u),addListener:r("addListener",u),off:r("off",u),removeListener:r("removeListener",u),removeAllListeners:r("removeAllListeners",u),emit:t("emit"),eventNames:t("eventNames"),listeners:t("listeners"),listenerCount:t("listenerCount")}),l=c(e.then(u=>(l.emit("done",u),l.emit("settled"),u),u=>{throw l.emit("error",u),l.emit("settled"),u}));return l}function ve(n){return new Promise((e,t)=>{let r=n(e,t);Promise.resolve(r).catch(t)})}var w=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(H.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,K(e)),r=j((s,a)=>{t.then(i=>{if(o(),i.hasError)a(new S(i.payload.error));else if(i.hasResult)s(i.payload.result);else throw We()}).catch(i=>{o(),a(i)})}),o=this.overlay.on(H.MagicIncomingWindowMessage.MAGIC_HANDLE_EVENT,s=>{var i;let{response:a}=s.data;if(a.id===e.id&&((i=a.result)==null?void 0:i.event)){let{event:c,params:l=[]}=a.result;r.emit(c,...l)}});return r}createIntermediaryEvent(e,t){return o=>{let s=d(H.MagicPayloadMethod.IntermediaryEvent,[{payloadId:t,eventType:e,args:o}]);this.request(s)}}};function Ve(n,e){let[t]=n.split(".").map(Number);return t>=e}var $={"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"},Te=class extends w{loginWithMagicLink(e){let t=m.sdkName==="@magic-sdk/react-native"||m.sdkName==="@magic-sdk/react-native-bare"||m.sdkName==="@magic-sdk/react-native-expo";if(t&&Ve(m.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");N({method:"auth.loginWithMagicLink()",removalVersions:$,useInstead:t?"@magic-ext/auth auth.loginWithEmailOTP()":"@magic-ext/auth auth.loginWithMagicLink()"}).log();let{email:r,showUI:o=!0,redirectURI:s}=e,a=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithMagicLinkTestMode:y.MagicPayloadMethod.LoginWithMagicLink,[{email:r,showUI:o,redirectURI:s}]);return this.request(a)}loginWithSMS(e){N({method:"auth.loginWithSMS()",removalVersions:$,useInstead:"@magic-ext/auth auth.loginWithSMS()"}).log();let{phoneNumber:t}=e,r=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithSmsTestMode:y.MagicPayloadMethod.LoginWithSms,[{phoneNumber:t,showUI:!0}]);return this.request(r)}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:o}=e,s=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithEmailOTPTestMode:y.MagicPayloadMethod.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:o}]),a=this.request(s);return!o&&a&&a.on(y.DeviceVerificationEventEmit.Retry,()=>{this.createIntermediaryEvent(y.DeviceVerificationEventEmit.Retry,s.id)()}),!r&&a&&(a.on(y.LoginWithEmailOTPEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(y.LoginWithEmailOTPEventEmit.VerifyEmailOtp,s.id)(i)}),a.on(y.LoginWithEmailOTPEventEmit.Cancel,()=>{this.createIntermediaryEvent(y.LoginWithEmailOTPEventEmit.Cancel,s.id)()})),a}loginWithCredential(e){N({method:"auth.loginWithCredential()",removalVersions:$,useInstead:"@magic-ext/auth auth.loginWithCredential()"}).log();let t=e!=null?e:"";if(!e&&m.platform==="web"){t=window.location.search;let o=window.location.origin+window.location.pathname;window.history.replaceState(null,"",o)}let r=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithCredentialTestMode:y.MagicPayloadMethod.LoginWithCredential,[t]);return this.request(r)}setAuthorizationToken(e){N({method:"auth.setAuthorizationToken()",removalVersions:$,useInstead:"@magic-ext/auth auth.setAuthorizationToken()"}).log();let t=d(y.MagicPayloadMethod.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){N({method:"auth.updateEmailWithUI()",removalVersions:$,useInstead:"@magic-ext/auth auth.updateEmailWithUI()"}).log();let{email:t,showUI:r=!0}=e,o=d(this.sdk.testMode?y.MagicPayloadMethod.UpdateEmailTestMode:y.MagicPayloadMethod.UpdateEmail,[{email:t,showUI:r}]);return this.request(o)}};var R=require("@magic-sdk/types");var z={};tt(z,{clear:()=>_n,getItem:()=>A,iterate:()=>Wn,key:()=>qn,keys:()=>Dn,length:()=>kn,removeItem:()=>J,setItem:()=>k});var Ie;function U(n){return(...e)=>f(this,null,function*(){return Ie||(Ie=yield m.configureStorage()),yield Ie.ready(),Ie[n](...e)})}var A=U("getItem"),k=U("setItem"),J=U("removeItem"),_n=U("clear"),kn=U("length"),qn=U("key"),Dn=U("keys"),Wn=U("iterate");var be=class extends w{constructor(){super(...arguments);this.localForageKey="mc_active_wallet"}getIdToken(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.GetIdTokenTestMode:R.MagicPayloadMethod.GetIdToken,[t]);return this.request(r)}generateIdToken(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.GenerateIdTokenTestMode:R.MagicPayloadMethod.GenerateIdToken,[t]);return this.request(r)}getInfo(){return f(this,null,function*(){let t=yield A(this.localForageKey),r=d(R.MagicPayloadMethod.GetInfo,[{walletType:t}]);return this.request(r)})}isLoggedIn(){let t=d(this.sdk.testMode?R.MagicPayloadMethod.IsLoggedInTestMode:R.MagicPayloadMethod.IsLoggedIn);return this.request(t)}logout(){J(this.localForageKey);let t=d(this.sdk.testMode?R.MagicPayloadMethod.LogoutTestMode:R.MagicPayloadMethod.Logout);return this.request(t)}requestInfoWithUI(t){let r=d(R.MagicPayloadMethod.RequestUserInfoWithUI,t?[t]:[]);return this.request(r)}showSettings(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.UserSettingsTestMode:R.MagicPayloadMethod.UserSettings,[t]);return this.request(r)}recoverAccount(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.RecoverAccountTestMode:R.MagicPayloadMethod.RecoverAccount,[t]);return this.request(r)}getMetadata(){N({method:"user.getMetadata()",removalVersions:$,useInstead:"user.getInfo()"}).log();let t=d(this.sdk.testMode?R.MagicPayloadMethod.GetMetadataTestMode:R.MagicPayloadMethod.GetMetadata);return this.request(t)}updateEmail(t){N({method:"user.updateEmail()",removalVersions:$,useInstead:"auth.updateEmailWithUI()"}).log();let{email:r,showUI:o=!0}=t,s=d(this.sdk.testMode?R.MagicPayloadMethod.UpdateEmailTestMode:R.MagicPayloadMethod.UpdateEmail,[{email:r,showUI:o}]);return this.request(s)}};var E=require("@magic-sdk/types");function Pe(n,e){return e?new URL(n,e):new URL(n)}function Xe(){let n=window.crypto.getRandomValues(new Uint8Array(16));n[6]=n[6]&15|64,n[8]=n[8]&191|128;let e="";return e+=n[0].toString(16),e+=n[1].toString(16),e+=n[2].toString(16),e+=n[3].toString(16),e+="-",e+=n[4].toString(16),e+=n[5].toString(16),e+="-",e+=n[6].toString(16),e+=n[7].toString(16),e+="-",e+=n[8].toString(16),e+=n[9].toString(16),e+="-",e+=n[10].toString(16),e+=n[11].toString(16),e+=n[12].toString(16),e+=n[13].toString(16),e+=n[14].toString(16),e+=n[15].toString(16),e}var we="STORE_KEY_PRIVATE_KEY",ie="STORE_KEY_PUBLIC_JWK",He="ECDSA",Pt="P-256",Un={name:He,namedCurve:Pt},Jn={name:He,namedCurve:Pt};function Fn(){J(ie),J(we)}function ze(){return f(this,null,function*(){let n=yield Gn();if(!n){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:e}=window.crypto,t=yield A(we);if(!t||!e){console.info("unable to find private key or webcrypto unsupported");return}let r={iat:Math.floor(new Date().getTime()/1e3),jti:Xe()},o={typ:"dpop+jwt",alg:"ES256",jwk:n},s={protected:bt(JSON.stringify(o)),claims:bt(JSON.stringify(r))},a=Bn(`${s.protected}.${s.claims}`),i={name:He,hash:{name:"SHA-256"}},c=Xn(new Uint8Array(yield e.sign(i,t,a)));return`${s.protected}.${s.claims}.${c}`})}function Gn(){return f(this,null,function*(){if(!jn()){console.info("webcrypto is not supported");return}return(yield A(ie))||(yield Kn()),A(ie)})}function Kn(){return f(this,null,function*(){let n=null,{subtle:e}=window.crypto,t=yield e.generateKey(Un,!0,["sign"]),r=yield e.exportKey("jwk",t.privateKey);n=yield e.exportKey("jwk",t.publicKey);let o=yield e.importKey("jwk",r,Jn,!1,["sign"]);yield k(we,o),yield k(ie,n)})}function jn(){let n=typeof window!="undefined"&&!!window.crypto,e=n&&!!window.crypto.subtle;return n&&e}function bt(n){return wt(Vn(n))}function Bn(n){return new TextEncoder().encode(n)}function wt(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function Vn(n){return encodeURIComponent(n).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function Xn(n){let e="";return n.forEach(t=>{e+=String.fromCharCode(t)}),wt(e)}var Me=class extends w{constructor(){super(...arguments);this.localForageKey="mc_active_wallet"}connectWithUI(){let t=j((r,o)=>f(this,null,function*(){try{if(this.isMetaMaskBrowser()&&(yield this.isWalletEnabled(E.Wallets.MetaMask))){let l=yield this.autoConnectIfWalletBrowser(E.Wallets.MetaMask);r(l);return}if(this.isCoinbaseWalletBrowser()&&(yield this.isWalletEnabled(E.Wallets.CoinbaseWallet))){let l=yield this.autoConnectIfWalletBrowser(E.Wallets.CoinbaseWallet);r(l);return}let s=this.getUserEnv(),a=d(E.MagicPayloadMethod.Login,[s]),i=this.request(a);i.on(E.Events.WalletSelected,l=>this.handleWalletSelected(de(B({},l),{payloadId:a.id}))),i.on("id-token-created",l=>{t.emit("id-token-created",l)});let c=yield i;c.error&&o(c),r(c)}catch(s){o(s)}}));return t}showUI(){return this.request(d(E.MagicPayloadMethod.ShowUI))}showAddress(){return this.request(d(E.MagicPayloadMethod.ShowAddress))}showSendTokensUI(){return this.request(d(E.MagicPayloadMethod.ShowSendTokensUI))}showOnRamp(){return this.request(d(E.MagicPayloadMethod.ShowOnRamp))}showNFTs(){return this.request(d(E.MagicPayloadMethod.ShowNFTs))}showBalances(){return this.request(d(E.MagicPayloadMethod.ShowBalances))}sendGaslessTransaction(t,r){return this.request(d(E.MagicPayloadMethod.SendGaslessTransaction,[[t,r]]))}getInfo(){return f(this,null,function*(){N({method:"wallet.getInfo()",removalVersions:$,useInstead:"user.getInfo()"}).log();let t=yield A(this.localForageKey),r=d(E.MagicPayloadMethod.GetInfo,[{walletType:t}]);return this.request(r)})}disconnect(){N({method:"wallet.disconnect()",removalVersions:$,useInstead:"user.logout()"}).log(),J(this.localForageKey);let t=d(E.MagicPayloadMethod.Disconnect);return this.request(t)}requestUserInfoWithUI(t){N({method:"wallet.requestUserInfoWithUI()",removalVersions:$,useInstead:"user.requestUserInfoWithUI()"}).log();let r=d(E.MagicPayloadMethod.RequestUserInfoWithUI,t?[t]:[]);return this.request(r)}getProvider(){return f(this,null,function*(){switch(yield A(this.localForageKey)){case E.Wallets.MetaMask:return this.getMetaMaskProvider();case E.Wallets.CoinbaseWallet:return this.getCoinbaseProvider();default:return this.sdk.rpcProvider}})}isMetaMaskInstalled(){var t,r,o;return((t=window.ethereum)==null?void 0:t.isMetaMask)||!!((o=(r=window.ethereum)==null?void 0:r.providers)!=null&&o.find(s=>s==null?void 0:s.isMetaMask))}isMetaMaskBrowser(){return this.isMobile()&&this.isMetaMaskInstalled()}getMetaMaskProvider(){var t,r;return((r=(t=window.ethereum)==null?void 0:t.providers)==null?void 0:r.find(o=>o==null?void 0:o.isMetaMask))||window.ethereum}connectToMetaMask(){if(this.isMobile()&&!this.isMetaMaskInstalled()){let t=`https://metamask.app.link/dapp/${window.location.href.replace(/(^\w+:|^)\/\//,"")}`;window.location.href=t}return this.getMetaMaskProvider().request({method:"eth_requestAccounts"})}isCoinbaseWalletInstalled(){var t,r,o;return((t=window.ethereum)==null?void 0:t.isCoinbaseWallet)||!!((o=(r=window.ethereum)==null?void 0:r.providers)!=null&&o.find(s=>s==null?void 0:s.isCoinbaseWallet))}isCoinbaseWalletBrowser(){var t;return!!((t=window.ethereum)!=null&&t.isCoinbaseBrowser)}getCoinbaseProvider(){var t,r;return((r=(t=window.ethereum)==null?void 0:t.providers)==null?void 0:r.find(o=>o==null?void 0:o.isCoinbaseWallet))||window.ethereum}connectToCoinbaseWallet(){if(this.isMobile()&&!this.isCoinbaseWalletBrowser()){let r=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(window.location.href)}`;window.location.href=r}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(t){switch(t){case E.Wallets.MetaMask:return this.connectToMetaMask();case E.Wallets.CoinbaseWallet:return this.connectToCoinbaseWallet();default:throw new Error(`Invalid provider: ${t}. Must be one of "metamask" or "coinbase_wallet".`)}}isWalletEnabled(t){let r=d("mc_is_wallet_enabled",[{wallet:t}]);return this.request(r)}handleWalletSelected(t){return f(this,null,function*(){try{let r=yield this.connectToThirdPartyWallet(t.wallet);yield k(this.localForageKey,t.wallet),this.createIntermediaryEvent(E.Events.WalletConnected,t.payloadId)(r)}catch(r){console.error(r),this.createIntermediaryEvent(E.Events.WalletRejected,t.payloadId)()}})}autoConnectIfWalletBrowser(t){return f(this,null,function*(){let r;t===E.Wallets.MetaMask&&(r=yield this.getMetaMaskProvider().request({method:"eth_requestAccounts"})),t===E.Wallets.CoinbaseWallet&&(r=yield this.getCoinbaseProvider().request({method:"eth_requestAccounts"})),yield k(this.localForageKey,t);let o=d(E.MagicPayloadMethod.AutoConnect,[{wallet:t,address:r}]);return this.request(o)})}};var ae=require("@magic-sdk/types");var{createBoundEmitterMethod:xe,createChainingEmitterMethod:Y}=oe(),Ne=class extends w{constructor(){super(...arguments);this.isMagic=!0;this.on=Y("on",this);this.once=Y("once",this);this.addListener=Y("addListener",this);this.off=Y("off",this);this.removeListener=Y("removeListener",this);this.removeAllListeners=Y("removeAllListeners",this);this.emit=xe("emit");this.eventNames=xe("eventNames");this.listeners=xe("listeners");this.listenerCount=xe("listenerCount")}sendAsync(t,r){if(!r)throw Fe({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:r===null?"null":typeof r});if(Array.isArray(t))this.overlay.post(ae.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,t.map(o=>{let s=K(o);return this.prefixPayloadMethodForTestMode(s),s})).then(o=>{r(null,o.map(s=>de(B({},s.payload),{error:s.hasError?new S(s.payload.error):null})))});else{let o=K(t);this.prefixPayloadMethodForTestMode(o),this.overlay.post(ae.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,o).then(s=>{r(s.hasError?new S(s.payload.error):null,s.payload)})}}send(t,r){if(typeof t=="string"){let s=d(t,Array.isArray(r)?r:[]);return this.request(s)}if(Array.isArray(t)||!!r){this.sendAsync(t,r);return}let o=Ge();return o.log(),new W(t).applyError({code:-32603,message:o.rawMessage}).payload}enable(){let t=d(ae.MagicPayloadMethod.Login);return this.request(t)}request(t){return this.prefixPayloadMethodForTestMode(t),super.request(t)}prefixPayloadMethodForTestMode(t){let r="testMode/eth/";this.sdk.testMode&&(t.method=`${r}${t.method}`)}};var Mt=["request","overlay","sdk"];function Hn(n){let e=Object.getPrototypeOf(n),t=[e];for(;e!==w.prototype;)e=Object.getPrototypeOf(e),t.push(e);return t}var $e=class extends w{constructor(){super(void 0);this.__sdk_access_field_descriptors__=new Map;this.__is_initialized__=!1;this.utils={createPromiEvent:j,isPromiEvent:Be,encodeJSON:ne,decodeJSON:_e,createJsonRpcRequestPayload:d,standardizeJsonRpcRequestPayload:K,storage:z};let t=[this,...Hn(this)];Mt.forEach(r=>{let o=t.map(c=>Object.getOwnPropertyDescriptor(c,r)),s=o.findIndex(c=>!!c),a=s>0,i=o[s];i&&(this.__sdk_access_field_descriptors__.set(r,{descriptor:i,isPrototypeField:a}),Object.defineProperty(this,r,{configurable:!0,get:()=>{throw Ue(r)}}))})}init(t){this.__is_initialized__||(Mt.forEach(r=>{if(this.__sdk_access_field_descriptors__.has(r)){let{descriptor:o,isPrototypeField:s}=this.__sdk_access_field_descriptors__.get(r);s?delete this[r]:Object.defineProperty(this,r,o)}}),this.sdk=t,this.__is_initialized__=!0)}createDeprecationWarning(t){let{method:r,removalVersion:o,useInstead:s}=t,a=s?` Use \`${s}\` instead.`:"",i=`\`${r}\` will be removed from this Extension in version \`${o}\`.${a}`;return new X(this,"DEPRECATION_NOTICE",i)}createWarning(t,r){return new X(this,t,r)}createError(t,r,o){return new G(this,t,r,o)}},Ye=class extends $e{},L=class extends $e{};L.Internal=Ye,L.Anonymous="anonymous extension";var Ae=require("@magic-sdk/types");var Ce=class extends w{purchase(e){let t=d(Ae.MagicPayloadMethod.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=d(Ae.MagicPayloadMethod.NFTCheckout,[e]);return this.request(t)}transfer(e){let t=d(Ae.MagicPayloadMethod.NFTTransfer,[e]);return this.request(t)}};function xt(n){return n.compat&&n.compat[m.sdkName]!=null?typeof n.compat[m.sdkName]=="string"?mt(ht(m.version),n.compat[m.sdkName]):!!n.compat[m.sdkName]:!0}function zn(n){var o;let e=(o=n==null?void 0:n.extensions)!=null?o:[],t={},r=[];if(Array.isArray(e)?e.forEach(s=>{xt(s)?(s.init(this),(s.name||s.name!==L.Anonymous)&&(this[s.name]=s),s instanceof L.Internal&&(re(s.config)||(t[s.name]=s.config))):r.push(s)}):Object.keys(e).forEach(s=>{if(xt(e[s])){e[s].init(this);let a=e[s];this[s]=a,a instanceof L.Internal&&(re(a.config)||(t[e[s].name]=a.config))}else r.push(e[s])}),r.length)throw Je(r);return t}var le=class{constructor(e,t){this.apiKey=e;var a;if(!e)throw De();m.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Ke().log();let{defaultEndpoint:r,version:o}=m;this.testMode=!!(t!=null&&t.testMode),this.endpoint=Pe((a=t==null?void 0:t.endpoint)!=null?a:r).origin,this.auth=new Te(this),this.user=new be(this),this.wallet=new Me(this),this.nft=new Ce(this),this.rpcProvider=new Ne(this);let s=zn.call(this,t);this.parameters=ne(B({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:Pe(this.endpoint).host,sdk:ft[m.sdkName],version:o,ext:re(s)?void 0:s,locale:(t==null?void 0:t.locale)||"en_US"},m.bundleId?{bundleId:m.bundleId}:{}))}get overlay(){if(!le.__overlays__.has(this.parameters)){let e=new m.ViewController(this.endpoint,this.parameters);e.init(),le.__overlays__.set(this.parameters,e)}return le.__overlays__.get(this.parameters)}preload(){return f(this,null,function*(){yield this.overlay.ready})}},ce=le;ce.__overlays__=new Map;var ue=require("@magic-sdk/types");function Yn(n,e){return e&&Array.isArray(n)?n.find(t=>t.id===e):n}function Zn(n,e){var o;let t=(o=e.data.response)==null?void 0:o.id,r=Yn(n,t);if(t&&r){let s=new W(r).applyResult(e.data.response.result).applyError(e.data.response.error);return{id:t,response:s}}return{}}function Qn(n,e){return f(this,null,function*(){let t=yield A("rt"),r;if(m.platform==="web")try{r=yield ze()}catch(o){console.error("webcrypto error",o)}return r?t?{msgType:n,payload:e,jwt:r,rt:t}:{msgType:n,payload:e,jwt:r}:{msgType:n,payload:e}})}function er(n){return f(this,null,function*(){!n.data.rt||(yield k("rt",n.data.rt))})}var Se=class{constructor(e,t){this.endpoint=e;this.parameters=t;this.messageHandlers=new Set;this.ready=this.waitForReady(),this.listen()}post(e,t){return f(this,null,function*(){return ve(r=>f(this,null,function*(){yield this.ready;let o=[],s=Array.isArray(t)?t.map(l=>l.id):[],a=yield Qn(`${e}-${this.parameters}`,t);yield this._post(a);let i=l=>u=>{let{id:p,response:M}=Zn(t,u);er(u),p&&M&&Array.isArray(t)&&s.includes(p)?(o.push(M),o.length===t.length&&(l(),r(o))):p&&M&&!Array.isArray(t)&&p===t.id&&(l(),r(M))},c=this.on(ue.MagicIncomingWindowMessage.MAGIC_HANDLE_RESPONSE,i(()=>c()))}))})}on(e,t){let r=t.bind(window),o=s=>{s.data.msgType===`${e}-${this.parameters}`&&r(s)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{this.on(ue.MagicIncomingWindowMessage.MAGIC_OVERLAY_READY,()=>e())})}listen(){this.on(ue.MagicIncomingWindowMessage.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(ue.MagicIncomingWindowMessage.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()})}};
|
|
5
|
+
Received: \`${n.received}\``)}function $n(){return new F(x.SDKWarningCode.DuplicateIframe,"Duplicate iframes found.")}function Ge(){return new F(x.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 Ke(){return new F(x.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 \`${m.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function N(n){let{method:e,removalVersions:t,useInstead:r}=n,o=t[m.sdkName],s=r?` Use \`${r}\` instead.`:"",a=`\`${e}\` will be removed from \`${m.sdkName}\` in version \`${o}\`.${s}`;return new F(x.SDKWarningCode.DeprecationNotice,a)}var y=require("@magic-sdk/types");var H=require("@magic-sdk/types");function*An(){let n=0;for(;;)n<Number.MAX_SAFE_INTEGER?yield++n:n=0}var Cn=An();function ge(){return Cn.next().value}var gt=Symbol("Payload pre-processed by Magic SDK");function yt(n){return Object.defineProperty(n,gt,{value:!0,enumerable:!1}),n}function Sn(n){return!!n[gt]}function K(n){var e,t,r;return Sn(n)||(n.jsonrpc=(e=n.jsonrpc)!=null?e:"2.0",n.id=ge(),n.method=(t=n.method)!=null?t:"noop",n.params=(r=n.params)!=null?r:[],yt(n)),n}function d(n,e=[]){return yt({params:e,method:n,jsonrpc:"2.0",id:ge()})}var W=class{constructor(e){e instanceof W?(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 typeof this._error!="undefined"&&this._error!==null}get hasResult(){return typeof this._result!="undefined"}get payload(){return{jsonrpc:this._jsonrpc,id:this._id,result:this._result,error:this._error}}};var Tt=kt(vt()),Re=class extends Tt.default{};function oe(){let n=new Re;return{emitter:n,createChainingEmitterMethod:(r,o)=>(...s)=>(n[r].apply(n,s),o),createBoundEmitterMethod:r=>(...o)=>n[r].apply(n,o)}}var It=Symbol("isPromiEvent");function Be(n){return!!n[It]}function j(n){let e=ve(n),{createBoundEmitterMethod:t,createChainingEmitterMethod:r}=oe(),o=Symbol("Promise.then"),s=Symbol("Promise.catch"),a=Symbol("Promise.finally"),i=(u,p)=>(...M)=>{let q=p[u].apply(p,M);return c(q)},c=u=>Object.assign(u,{[It]:!0,[o]:u[o]||u.then,[s]:u[s]||u.catch,[a]:u[a]||u.finally,then:i(o,u),catch:i(s,u),finally:i(a,u),on:r("on",u),once:r("once",u),addListener:r("addListener",u),off:r("off",u),removeListener:r("removeListener",u),removeAllListeners:r("removeAllListeners",u),emit:t("emit"),eventNames:t("eventNames"),listeners:t("listeners"),listenerCount:t("listenerCount")}),l=c(e.then(u=>(l.emit("done",u),l.emit("settled"),u),u=>{throw l.emit("error",u),l.emit("settled"),u}));return l}function ve(n){return new Promise((e,t)=>{let r=n(e,t);Promise.resolve(r).catch(t)})}var w=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(H.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,K(e)),r=j((s,a)=>{t.then(i=>{if(o(),i.hasError)a(new S(i.payload.error));else if(i.hasResult)s(i.payload.result);else throw We()}).catch(i=>{o(),a(i)})}),o=this.overlay.on(H.MagicIncomingWindowMessage.MAGIC_HANDLE_EVENT,s=>{var i;let{response:a}=s.data;if(a.id===e.id&&((i=a.result)==null?void 0:i.event)){let{event:c,params:l=[]}=a.result;r.emit(c,...l)}});return r}createIntermediaryEvent(e,t){return o=>{let s=d(H.MagicPayloadMethod.IntermediaryEvent,[{payloadId:t,eventType:e,args:o}]);this.request(s)}}};function Ve(n,e){let[t]=n.split(".").map(Number);return t>=e}var $={"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"},Te=class extends w{loginWithMagicLink(e){let t=m.sdkName==="@magic-sdk/react-native"||m.sdkName==="@magic-sdk/react-native-bare"||m.sdkName==="@magic-sdk/react-native-expo";if(t&&Ve(m.version,19))throw new Error("loginWithMagicLink() is deprecated for this package, please utlize a passcode method like loginWithSMS or loginWithEmailOTP instead.");N({method:"auth.loginWithMagicLink()",removalVersions:$,useInstead:t?"@magic-ext/auth auth.loginWithEmailOTP()":"@magic-ext/auth auth.loginWithMagicLink()"}).log();let{email:r,showUI:o=!0,redirectURI:s}=e,a=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithMagicLinkTestMode:y.MagicPayloadMethod.LoginWithMagicLink,[{email:r,showUI:o,redirectURI:s}]);return this.request(a)}loginWithSMS(e){N({method:"auth.loginWithSMS()",removalVersions:$,useInstead:"@magic-ext/auth auth.loginWithSMS()"}).log();let{phoneNumber:t}=e,r=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithSmsTestMode:y.MagicPayloadMethod.LoginWithSms,[{phoneNumber:t,showUI:!0}]);return this.request(r)}loginWithEmailOTP(e){let{email:t,showUI:r,deviceCheckUI:o}=e,s=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithEmailOTPTestMode:y.MagicPayloadMethod.LoginWithEmailOTP,[{email:t,showUI:r,deviceCheckUI:o}]),a=this.request(s);return!o&&a&&a.on(y.DeviceVerificationEventEmit.Retry,()=>{this.createIntermediaryEvent(y.DeviceVerificationEventEmit.Retry,s.id)()}),!r&&a&&(a.on(y.LoginWithEmailOTPEventEmit.VerifyEmailOtp,i=>{this.createIntermediaryEvent(y.LoginWithEmailOTPEventEmit.VerifyEmailOtp,s.id)(i)}),a.on(y.LoginWithEmailOTPEventEmit.Cancel,()=>{this.createIntermediaryEvent(y.LoginWithEmailOTPEventEmit.Cancel,s.id)()})),a}loginWithCredential(e){N({method:"auth.loginWithCredential()",removalVersions:$,useInstead:"@magic-ext/auth auth.loginWithCredential()"}).log();let t=e!=null?e:"";if(!e&&m.platform==="web"){t=window.location.search;let o=window.location.origin+window.location.pathname;window.history.replaceState(null,"",o)}let r=d(this.sdk.testMode?y.MagicPayloadMethod.LoginWithCredentialTestMode:y.MagicPayloadMethod.LoginWithCredential,[t]);return this.request(r)}setAuthorizationToken(e){N({method:"auth.setAuthorizationToken()",removalVersions:$,useInstead:"@magic-ext/auth auth.setAuthorizationToken()"}).log();let t=d(y.MagicPayloadMethod.SetAuthorizationToken,[{jwt:e}]);return this.request(t)}updateEmailWithUI(e){N({method:"auth.updateEmailWithUI()",removalVersions:$,useInstead:"@magic-ext/auth auth.updateEmailWithUI()"}).log();let{email:t,showUI:r=!0}=e,o=d(this.sdk.testMode?y.MagicPayloadMethod.UpdateEmailTestMode:y.MagicPayloadMethod.UpdateEmail,[{email:t,showUI:r}]);return this.request(o)}};var R=require("@magic-sdk/types");var z={};tt(z,{clear:()=>_n,getItem:()=>A,iterate:()=>Wn,key:()=>qn,keys:()=>Dn,length:()=>kn,removeItem:()=>J,setItem:()=>k});var Ie;function U(n){return(...e)=>f(this,null,function*(){return Ie||(Ie=yield m.configureStorage()),yield Ie.ready(),Ie[n](...e)})}var A=U("getItem"),k=U("setItem"),J=U("removeItem"),_n=U("clear"),kn=U("length"),qn=U("key"),Dn=U("keys"),Wn=U("iterate");var be=class extends w{constructor(){super(...arguments);this.localForageKey="mc_active_wallet"}getIdToken(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.GetIdTokenTestMode:R.MagicPayloadMethod.GetIdToken,[t]);return this.request(r)}generateIdToken(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.GenerateIdTokenTestMode:R.MagicPayloadMethod.GenerateIdToken,[t]);return this.request(r)}getInfo(){return f(this,null,function*(){let t=yield A(this.localForageKey),r=d(R.MagicPayloadMethod.GetInfo,[{walletType:t}]);return this.request(r)})}isLoggedIn(){let t=d(this.sdk.testMode?R.MagicPayloadMethod.IsLoggedInTestMode:R.MagicPayloadMethod.IsLoggedIn);return this.request(t)}logout(){J(this.localForageKey);let t=d(this.sdk.testMode?R.MagicPayloadMethod.LogoutTestMode:R.MagicPayloadMethod.Logout);return this.request(t)}requestInfoWithUI(t){let r=d(R.MagicPayloadMethod.RequestUserInfoWithUI,t?[t]:[]);return this.request(r)}showSettings(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.UserSettingsTestMode:R.MagicPayloadMethod.UserSettings,[t]);return this.request(r)}recoverAccount(t){let r=d(this.sdk.testMode?R.MagicPayloadMethod.RecoverAccountTestMode:R.MagicPayloadMethod.RecoverAccount,[t]);return this.request(r)}getMetadata(){N({method:"user.getMetadata()",removalVersions:$,useInstead:"user.getInfo()"}).log();let t=d(this.sdk.testMode?R.MagicPayloadMethod.GetMetadataTestMode:R.MagicPayloadMethod.GetMetadata);return this.request(t)}updateEmail(t){N({method:"user.updateEmail()",removalVersions:$,useInstead:"auth.updateEmailWithUI()"}).log();let{email:r,showUI:o=!0}=t,s=d(this.sdk.testMode?R.MagicPayloadMethod.UpdateEmailTestMode:R.MagicPayloadMethod.UpdateEmail,[{email:r,showUI:o}]);return this.request(s)}};var E=require("@magic-sdk/types");function Pe(n,e){return e?new URL(n,e):new URL(n)}function Xe(){let n=window.crypto.getRandomValues(new Uint8Array(16));n[6]=n[6]&15|64,n[8]=n[8]&191|128;let e="";return e+=n[0].toString(16),e+=n[1].toString(16),e+=n[2].toString(16),e+=n[3].toString(16),e+="-",e+=n[4].toString(16),e+=n[5].toString(16),e+="-",e+=n[6].toString(16),e+=n[7].toString(16),e+="-",e+=n[8].toString(16),e+=n[9].toString(16),e+="-",e+=n[10].toString(16),e+=n[11].toString(16),e+=n[12].toString(16),e+=n[13].toString(16),e+=n[14].toString(16),e+=n[15].toString(16),e}var we="STORE_KEY_PRIVATE_KEY",ie="STORE_KEY_PUBLIC_JWK",He="ECDSA",Pt="P-256",Un={name:He,namedCurve:Pt},Jn={name:He,namedCurve:Pt};function Fn(){J(ie),J(we)}function ze(){return f(this,null,function*(){let n=yield Gn();if(!n){console.info("unable to create public key or webcrypto is unsupported");return}let{subtle:e}=window.crypto,t=yield A(we);if(!t||!e){console.info("unable to find private key or webcrypto unsupported");return}let r={iat:Math.floor(new Date().getTime()/1e3),jti:Xe()},o={typ:"dpop+jwt",alg:"ES256",jwk:n},s={protected:bt(JSON.stringify(o)),claims:bt(JSON.stringify(r))},a=Bn(`${s.protected}.${s.claims}`),i={name:He,hash:{name:"SHA-256"}},c=Xn(new Uint8Array(yield e.sign(i,t,a)));return`${s.protected}.${s.claims}.${c}`})}function Gn(){return f(this,null,function*(){if(!jn()){console.info("webcrypto is not supported");return}return(yield A(ie))||(yield Kn()),A(ie)})}function Kn(){return f(this,null,function*(){let n=null,{subtle:e}=window.crypto,t=yield e.generateKey(Un,!0,["sign"]),r=yield e.exportKey("jwk",t.privateKey);n=yield e.exportKey("jwk",t.publicKey);let o=yield e.importKey("jwk",r,Jn,!1,["sign"]);yield k(we,o),yield k(ie,n)})}function jn(){let n=typeof window!="undefined"&&!!window.crypto,e=n&&!!window.crypto.subtle;return n&&e}function bt(n){return wt(Vn(n))}function Bn(n){return new TextEncoder().encode(n)}function wt(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function Vn(n){return encodeURIComponent(n).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}function Xn(n){let e="";return n.forEach(t=>{e+=String.fromCharCode(t)}),wt(e)}var Me=class extends w{constructor(){super(...arguments);this.localForageKey="mc_active_wallet"}connectWithUI(){let t=j((r,o)=>f(this,null,function*(){try{if(this.isMetaMaskBrowser()&&(yield this.isWalletEnabled(E.Wallets.MetaMask))){let l=yield this.autoConnectIfWalletBrowser(E.Wallets.MetaMask);r(l);return}if(this.isCoinbaseWalletBrowser()&&(yield this.isWalletEnabled(E.Wallets.CoinbaseWallet))){let l=yield this.autoConnectIfWalletBrowser(E.Wallets.CoinbaseWallet);r(l);return}let s=this.getUserEnv(),a=d(E.MagicPayloadMethod.Login,[s]),i=this.request(a);i.on(E.Events.WalletSelected,l=>this.handleWalletSelected(de(B({},l),{payloadId:a.id}))),i.on("id-token-created",l=>{t.emit("id-token-created",l)});let c=yield i;c.error&&o(c),r(c)}catch(s){o(s)}}));return t}showUI(){return this.request(d(E.MagicPayloadMethod.ShowUI))}showAddress(){return this.request(d(E.MagicPayloadMethod.ShowAddress))}showSendTokensUI(){return this.request(d(E.MagicPayloadMethod.ShowSendTokensUI))}showOnRamp(){return this.request(d(E.MagicPayloadMethod.ShowOnRamp))}showNFTs(){return this.request(d(E.MagicPayloadMethod.ShowNFTs))}showBalances(){return this.request(d(E.MagicPayloadMethod.ShowBalances))}sendGaslessTransaction(t,r){return this.request(d(E.MagicPayloadMethod.SendGaslessTransaction,[t,r]))}getInfo(){return f(this,null,function*(){N({method:"wallet.getInfo()",removalVersions:$,useInstead:"user.getInfo()"}).log();let t=yield A(this.localForageKey),r=d(E.MagicPayloadMethod.GetInfo,[{walletType:t}]);return this.request(r)})}disconnect(){N({method:"wallet.disconnect()",removalVersions:$,useInstead:"user.logout()"}).log(),J(this.localForageKey);let t=d(E.MagicPayloadMethod.Disconnect);return this.request(t)}requestUserInfoWithUI(t){N({method:"wallet.requestUserInfoWithUI()",removalVersions:$,useInstead:"user.requestUserInfoWithUI()"}).log();let r=d(E.MagicPayloadMethod.RequestUserInfoWithUI,t?[t]:[]);return this.request(r)}getProvider(){return f(this,null,function*(){switch(yield A(this.localForageKey)){case E.Wallets.MetaMask:return this.getMetaMaskProvider();case E.Wallets.CoinbaseWallet:return this.getCoinbaseProvider();default:return this.sdk.rpcProvider}})}isMetaMaskInstalled(){var t,r,o;return((t=window.ethereum)==null?void 0:t.isMetaMask)||!!((o=(r=window.ethereum)==null?void 0:r.providers)!=null&&o.find(s=>s==null?void 0:s.isMetaMask))}isMetaMaskBrowser(){return this.isMobile()&&this.isMetaMaskInstalled()}getMetaMaskProvider(){var t,r;return((r=(t=window.ethereum)==null?void 0:t.providers)==null?void 0:r.find(o=>o==null?void 0:o.isMetaMask))||window.ethereum}connectToMetaMask(){if(this.isMobile()&&!this.isMetaMaskInstalled()){let t=`https://metamask.app.link/dapp/${window.location.href.replace(/(^\w+:|^)\/\//,"")}`;window.location.href=t}return this.getMetaMaskProvider().request({method:"eth_requestAccounts"})}isCoinbaseWalletInstalled(){var t,r,o;return((t=window.ethereum)==null?void 0:t.isCoinbaseWallet)||!!((o=(r=window.ethereum)==null?void 0:r.providers)!=null&&o.find(s=>s==null?void 0:s.isCoinbaseWallet))}isCoinbaseWalletBrowser(){var t;return!!((t=window.ethereum)!=null&&t.isCoinbaseBrowser)}getCoinbaseProvider(){var t,r;return((r=(t=window.ethereum)==null?void 0:t.providers)==null?void 0:r.find(o=>o==null?void 0:o.isCoinbaseWallet))||window.ethereum}connectToCoinbaseWallet(){if(this.isMobile()&&!this.isCoinbaseWalletBrowser()){let r=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(window.location.href)}`;window.location.href=r}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(t){switch(t){case E.Wallets.MetaMask:return this.connectToMetaMask();case E.Wallets.CoinbaseWallet:return this.connectToCoinbaseWallet();default:throw new Error(`Invalid provider: ${t}. Must be one of "metamask" or "coinbase_wallet".`)}}isWalletEnabled(t){let r=d("mc_is_wallet_enabled",[{wallet:t}]);return this.request(r)}handleWalletSelected(t){return f(this,null,function*(){try{let r=yield this.connectToThirdPartyWallet(t.wallet);yield k(this.localForageKey,t.wallet),this.createIntermediaryEvent(E.Events.WalletConnected,t.payloadId)(r)}catch(r){console.error(r),this.createIntermediaryEvent(E.Events.WalletRejected,t.payloadId)()}})}autoConnectIfWalletBrowser(t){return f(this,null,function*(){let r;t===E.Wallets.MetaMask&&(r=yield this.getMetaMaskProvider().request({method:"eth_requestAccounts"})),t===E.Wallets.CoinbaseWallet&&(r=yield this.getCoinbaseProvider().request({method:"eth_requestAccounts"})),yield k(this.localForageKey,t);let o=d(E.MagicPayloadMethod.AutoConnect,[{wallet:t,address:r}]);return this.request(o)})}};var ae=require("@magic-sdk/types");var{createBoundEmitterMethod:xe,createChainingEmitterMethod:Y}=oe(),Ne=class extends w{constructor(){super(...arguments);this.isMagic=!0;this.on=Y("on",this);this.once=Y("once",this);this.addListener=Y("addListener",this);this.off=Y("off",this);this.removeListener=Y("removeListener",this);this.removeAllListeners=Y("removeAllListeners",this);this.emit=xe("emit");this.eventNames=xe("eventNames");this.listeners=xe("listeners");this.listenerCount=xe("listenerCount")}sendAsync(t,r){if(!r)throw Fe({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:r===null?"null":typeof r});if(Array.isArray(t))this.overlay.post(ae.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,t.map(o=>{let s=K(o);return this.prefixPayloadMethodForTestMode(s),s})).then(o=>{r(null,o.map(s=>de(B({},s.payload),{error:s.hasError?new S(s.payload.error):null})))});else{let o=K(t);this.prefixPayloadMethodForTestMode(o),this.overlay.post(ae.MagicOutgoingWindowMessage.MAGIC_HANDLE_REQUEST,o).then(s=>{r(s.hasError?new S(s.payload.error):null,s.payload)})}}send(t,r){if(typeof t=="string"){let s=d(t,Array.isArray(r)?r:[]);return this.request(s)}if(Array.isArray(t)||!!r){this.sendAsync(t,r);return}let o=Ge();return o.log(),new W(t).applyError({code:-32603,message:o.rawMessage}).payload}enable(){let t=d(ae.MagicPayloadMethod.Login);return this.request(t)}request(t){return this.prefixPayloadMethodForTestMode(t),super.request(t)}prefixPayloadMethodForTestMode(t){let r="testMode/eth/";this.sdk.testMode&&(t.method=`${r}${t.method}`)}};var Mt=["request","overlay","sdk"];function Hn(n){let e=Object.getPrototypeOf(n),t=[e];for(;e!==w.prototype;)e=Object.getPrototypeOf(e),t.push(e);return t}var $e=class extends w{constructor(){super(void 0);this.__sdk_access_field_descriptors__=new Map;this.__is_initialized__=!1;this.utils={createPromiEvent:j,isPromiEvent:Be,encodeJSON:ne,decodeJSON:_e,createJsonRpcRequestPayload:d,standardizeJsonRpcRequestPayload:K,storage:z};let t=[this,...Hn(this)];Mt.forEach(r=>{let o=t.map(c=>Object.getOwnPropertyDescriptor(c,r)),s=o.findIndex(c=>!!c),a=s>0,i=o[s];i&&(this.__sdk_access_field_descriptors__.set(r,{descriptor:i,isPrototypeField:a}),Object.defineProperty(this,r,{configurable:!0,get:()=>{throw Ue(r)}}))})}init(t){this.__is_initialized__||(Mt.forEach(r=>{if(this.__sdk_access_field_descriptors__.has(r)){let{descriptor:o,isPrototypeField:s}=this.__sdk_access_field_descriptors__.get(r);s?delete this[r]:Object.defineProperty(this,r,o)}}),this.sdk=t,this.__is_initialized__=!0)}createDeprecationWarning(t){let{method:r,removalVersion:o,useInstead:s}=t,a=s?` Use \`${s}\` instead.`:"",i=`\`${r}\` will be removed from this Extension in version \`${o}\`.${a}`;return new X(this,"DEPRECATION_NOTICE",i)}createWarning(t,r){return new X(this,t,r)}createError(t,r,o){return new G(this,t,r,o)}},Ye=class extends $e{},L=class extends $e{};L.Internal=Ye,L.Anonymous="anonymous extension";var Ae=require("@magic-sdk/types");var Ce=class extends w{purchase(e){let t=d(Ae.MagicPayloadMethod.NFTPurchase,[e]);return this.request(t)}checkout(e){let t=d(Ae.MagicPayloadMethod.NFTCheckout,[e]);return this.request(t)}transfer(e){let t=d(Ae.MagicPayloadMethod.NFTTransfer,[e]);return this.request(t)}};function xt(n){return n.compat&&n.compat[m.sdkName]!=null?typeof n.compat[m.sdkName]=="string"?mt(ht(m.version),n.compat[m.sdkName]):!!n.compat[m.sdkName]:!0}function zn(n){var o;let e=(o=n==null?void 0:n.extensions)!=null?o:[],t={},r=[];if(Array.isArray(e)?e.forEach(s=>{xt(s)?(s.init(this),(s.name||s.name!==L.Anonymous)&&(this[s.name]=s),s instanceof L.Internal&&(re(s.config)||(t[s.name]=s.config))):r.push(s)}):Object.keys(e).forEach(s=>{if(xt(e[s])){e[s].init(this);let a=e[s];this[s]=a,a instanceof L.Internal&&(re(a.config)||(t[e[s].name]=a.config))}else r.push(e[s])}),r.length)throw Je(r);return t}var le=class{constructor(e,t){this.apiKey=e;var a;if(!e)throw De();m.platform==="react-native"&&(t==null?void 0:t.endpoint)&&Ke().log();let{defaultEndpoint:r,version:o}=m;this.testMode=!!(t!=null&&t.testMode),this.endpoint=Pe((a=t==null?void 0:t.endpoint)!=null?a:r).origin,this.auth=new Te(this),this.user=new be(this),this.wallet=new Me(this),this.nft=new Ce(this),this.rpcProvider=new Ne(this);let s=zn.call(this,t);this.parameters=ne(B({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:Pe(this.endpoint).host,sdk:ft[m.sdkName],version:o,ext:re(s)?void 0:s,locale:(t==null?void 0:t.locale)||"en_US"},m.bundleId?{bundleId:m.bundleId}:{}))}get overlay(){if(!le.__overlays__.has(this.parameters)){let e=new m.ViewController(this.endpoint,this.parameters);e.init(),le.__overlays__.set(this.parameters,e)}return le.__overlays__.get(this.parameters)}preload(){return f(this,null,function*(){yield this.overlay.ready})}},ce=le;ce.__overlays__=new Map;var ue=require("@magic-sdk/types");function Yn(n,e){return e&&Array.isArray(n)?n.find(t=>t.id===e):n}function Zn(n,e){var o;let t=(o=e.data.response)==null?void 0:o.id,r=Yn(n,t);if(t&&r){let s=new W(r).applyResult(e.data.response.result).applyError(e.data.response.error);return{id:t,response:s}}return{}}function Qn(n,e){return f(this,null,function*(){let t=yield A("rt"),r;if(m.platform==="web")try{r=yield ze()}catch(o){console.error("webcrypto error",o)}return r?t?{msgType:n,payload:e,jwt:r,rt:t}:{msgType:n,payload:e,jwt:r}:{msgType:n,payload:e}})}function er(n){return f(this,null,function*(){!n.data.rt||(yield k("rt",n.data.rt))})}var Se=class{constructor(e,t){this.endpoint=e;this.parameters=t;this.messageHandlers=new Set;this.ready=this.waitForReady(),this.listen()}post(e,t){return f(this,null,function*(){return ve(r=>f(this,null,function*(){yield this.ready;let o=[],s=Array.isArray(t)?t.map(l=>l.id):[],a=yield Qn(`${e}-${this.parameters}`,t);yield this._post(a);let i=l=>u=>{let{id:p,response:M}=Zn(t,u);er(u),p&&M&&Array.isArray(t)&&s.includes(p)?(o.push(M),o.length===t.length&&(l(),r(o))):p&&M&&!Array.isArray(t)&&p===t.id&&(l(),r(M))},c=this.on(ue.MagicIncomingWindowMessage.MAGIC_HANDLE_RESPONSE,i(()=>c()))}))})}on(e,t){let r=t.bind(window),o=s=>{s.data.msgType===`${e}-${this.parameters}`&&r(s)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{this.on(ue.MagicIncomingWindowMessage.MAGIC_OVERLAY_READY,()=>e())})}listen(){this.on(ue.MagicIncomingWindowMessage.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(ue.MagicIncomingWindowMessage.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()})}};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|