magic-sdk 16.1.1-canary.494.4639737490.0 → 16.1.1-canary.494.4669207701.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 +3 -3
- package/dist/es/index.js +1 -1
- package/dist/es/index.js.map +3 -3
- package/dist/es/index.mjs +1 -1
- package/dist/es/index.mjs.map +3 -3
- package/dist/magic.js +1 -1
- package/package.json +4 -4
package/dist/magic.js
CHANGED
@@ -2,5 +2,5 @@
|
|
2
2
|
- Extension \`${n.name}\` supports version(s) \`${o}\``:o||(t+=`
|
3
3
|
- Extension \`${n.name}\` does not support ${z.platform} environments.`)}),new he(le.IncompatibleExtensions,t)}function Zi(e){let t=n=>{let o=n+1,s=o%10,c=o%100;return s===1&&c!==11?`${o}st`:s===2&&c!==12?`${o}nd`:s===3&&c!==13?`${o}rd`:`${o}th`};return new he(le.InvalidArgument,`Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
|
4
4
|
Expected: \`${e.expected}\`
|
5
|
-
Received: \`${e.received}\``)}function wr(){return new Ye(Te.DuplicateIframe,"Duplicate iframes found.")}function eo(){return new Ye(Te.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 to(){return new Ye(Te.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 \`${z.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function*ro(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var no=ro();function Ar(){return no.next().value}var Sr=Symbol("Payload pre-processed by Magic SDK");function Nr(e){return Object.defineProperty(e,Sr,{value:!0,enumerable:!1}),e}function io(e){return!!e[Sr]}function et(e){var t,n,o;return io(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=Ar(),e.method=(n=e.method)!=null?n:"noop",e.params=(o=e.params)!=null?o:[],Nr(e)),e}function V(e,t=[]){return Nr({params:t,method:e,jsonrpc:"2.0",id:Ar()})}var It=class{constructor(e){e instanceof It?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Ki(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}}},oo=ei(ti()),ao=class extends oo.default{};function Tr(){let e=new ao;return{emitter:e,createChainingEmitterMethod:(t,n)=>(...o)=>(e[t].apply(e,o),n),createBoundEmitterMethod:t=>(...n)=>e[t].apply(e,n)}}var Or=Symbol("isPromiEvent");function bt(e){return!!e[Or]}function Lr(e){let t=Mr(e),{createBoundEmitterMethod:n,createChainingEmitterMethod:o}=Tr(),s=Symbol("Promise.then"),c=Symbol("Promise.catch"),g=Symbol("Promise.finally"),p=(y,N)=>(...I)=>{let T=N[y].apply(N,I);return m(T)},m=y=>Object.assign(y,{[Or]:!0,[s]:y[s]||y.then,[c]:y[c]||y.catch,[g]:y[g]||y.finally,then:p(s,y),catch:p(c,y),finally:p(g,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:n("emit"),eventNames:n("eventNames"),listeners:n("listeners"),listenerCount:n("listenerCount")}),v=m(t.then(y=>(v.emit("done",y),v.emit("settled"),y),y=>{throw v.emit("error",y),v.emit("settled"),y}));return v}function Mr(e){return new Promise((t,n)=>{let o=e(t,n);Promise.resolve(o).catch(n)})}var we=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,et(e)),n=Lr((s,c)=>{t.then(g=>{if(o(),g.hasError)c(new Re(g.payload.error));else if(g.hasResult)s(g.payload.result);else throw zi()}).catch(g=>{o(),c(g)})}),o=this.overlay.on(fe.MAGIC_HANDLE_EVENT,s=>{var c;let{response:g}=s.data;if(g.id===e.id&&((c=g.result)==null?void 0:c.event)){let{event:p,params:m=[]}=g.result;n.emit(p,...m)}});return n}createIntermediaryEvent(e,t){return n=>{let o=V(x.IntermediaryEvent,[{payloadId:t,eventType:e,args:n}]);this.request(o)}}},so=class extends we{loginWithMagicLink(e){let{email:t,showUI:n=!0,redirectURI:o}=e,s=V(this.sdk.testMode?x.LoginWithMagicLinkTestMode:x.LoginWithMagicLink,[{email:t,showUI:n,redirectURI:o}]);return this.request(s)}loginWithSMS(e){let{phoneNumber:t}=e,n=V(this.sdk.testMode?x.LoginWithSmsTestMode:x.LoginWithSms,[{phoneNumber:t,showUI:!0}]);return this.request(n)}loginWithEmailOTP(e){let{email:t,showUI:n}=e,o=V(this.sdk.testMode?x.LoginWithEmailOTPTestMode:x.LoginWithEmailOTP,[{email:t,showUI:n}]);if(!n){let s=this.request(o);return s&&(s.on("verify-email-otp",c=>{this.createIntermediaryEvent("verify-email-otp",o.id)(c)}),s.on("cancel",()=>{this.createIntermediaryEvent("cancel",o.id)()})),s}return this.request(o)}loginWithCredential(e){let t=e!=null?e:"";if(!e&&z.platform==="web"){t=window.location.search;let o=window.location.origin+window.location.pathname;window.history.replaceState(null,"",o)}let n=V(this.sdk.testMode?x.LoginWithCredentialTestMode:x.LoginWithCredential,[t]);return this.request(n)}},$r={};Qn($r,{clear:()=>uo,getItem:()=>je,iterate:()=>ho,key:()=>lo,keys:()=>fo,length:()=>co,removeItem:()=>Et,setItem:()=>tt});var ze;function ye(e){return(...t)=>de(this,null,function*(){return ze||(ze=yield z.configureStorage()),yield ze.ready(),ze[e](...t)})}var je=ye("getItem"),tt=ye("setItem"),Et=ye("removeItem"),uo=ye("clear"),co=ye("length"),lo=ye("key"),fo=ye("keys"),ho=ye("iterate");function po(){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 Rt="STORE_KEY_PRIVATE_KEY",rt="STORE_KEY_PUBLIC_JWK",wt="ECDSA",Pr="P-256",mo={name:wt,namedCurve:Pr},vo={name:wt,namedCurve:Pr};function Cr(){Et(rt),Et(Rt)}function go(){return de(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,n=yield je(Rt);if(!n||!t){console.info("unable to find private key or webcrypto unsupported");return}let o={iat:Math.floor(new Date().getTime()/1e3),jti:po()},s={typ:"dpop+jwt",alg:"ES256",jwk:e},c={protected:pr(JSON.stringify(s)),claims:pr(JSON.stringify(o))},g=Io(`${c.protected}.${c.claims}`),p={name:wt,hash:{name:"SHA-256"}},m=Ro(new Uint8Array(yield t.sign(p,n,g)));return`${c.protected}.${c.claims}.${m}`})}function yo(){return de(this,null,function*(){if(!_o()){console.info("webcrypto is not supported");return}return(yield je(rt))||(yield Eo()),je(rt)})}function Eo(){return de(this,null,function*(){let e=null,{subtle:t}=window.crypto,n=yield t.generateKey(mo,!0,["sign"]),o=yield t.exportKey("jwk",n.privateKey);e=yield t.exportKey("jwk",n.publicKey);let s=yield t.importKey("jwk",o,vo,!1,["sign"]);yield tt(Rt,s),yield tt(rt,e)})}function _o(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function pr(e){return Dr(bo(e))}function Io(e){return new TextEncoder().encode(e)}function Dr(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function bo(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16)))}function Ro(e){let t="";return e.forEach(n=>{t+=String.fromCharCode(n)}),Dr(t)}var wo=class extends we{getIdToken(e){let t=V(this.sdk.testMode?x.GetIdTokenTestMode:x.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=V(this.sdk.testMode?x.GenerateIdTokenTestMode:x.GenerateIdToken,[e]);return this.request(t)}getMetadata(){let e=V(this.sdk.testMode?x.GetMetadataTestMode:x.GetMetadata);return this.request(e)}updateEmail(e){let{email:t,showUI:n=!0}=e,o=V(this.sdk.testMode?x.UpdateEmailTestMode:x.UpdateEmail,[{email:t,showUI:n}]);return this.request(o)}isLoggedIn(){if(!navigator.onLine)return Promise.reject(new Re({message:"User is not connected to the internet",code:ge.InvalidRequest}));let e=V(this.sdk.testMode?x.IsLoggedInTestMode:x.IsLoggedIn);return this.request(e)}logout(){Cr();let e=V(this.sdk.testMode?x.LogoutTestMode:x.Logout);return this.request(e)}showSettings(){let e=V(this.sdk.testMode?x.UserSettingsTestMode:x.UserSettings);return this.request(e)}updatePhoneNumber(){let e=V(this.sdk.testMode?x.UpdatePhoneNumberTestMode:x.UpdatePhoneNumber);return this.request(e)}recoverAccount(e){let t=V(this.sdk.testMode?x.RecoverAccountTestMode:x.RecoverAccount,[e]);return this.request(t)}},Ao=class extends we{connectWithUI(){let e=V(x.RequestAccounts);return this.request(e)}showUI(){let e=V(x.ShowUI);return this.request(e)}getInfo(){let e=V(x.GetInfo);return this.request(e)}requestUserInfoWithUI(e){let t=V(x.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}disconnect(){Cr();let e=V(x.Disconnect);return this.request(e)}},{createBoundEmitterMethod:Je,createChainingEmitterMethod:Oe}=Tr(),So=class extends we{constructor(){super(...arguments),this.isMagic=!0,this.on=Oe("on",this),this.once=Oe("once",this),this.addListener=Oe("addListener",this),this.off=Oe("off",this),this.removeListener=Oe("removeListener",this),this.removeAllListeners=Oe("removeAllListeners",this),this.emit=Je("emit"),this.eventNames=Je("eventNames"),this.listeners=Je("listeners"),this.listenerCount=Je("listenerCount")}sendAsync(e,t){if(!t)throw Zi({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,e.map(n=>{let o=et(n);return this.prefixPayloadMethodForTestMode(o),o})).then(n=>{t(null,n.map(o=>zn(yr({},o.payload),{error:o.hasError?new Re(o.payload.error):null})))});else{let n=et(e);this.prefixPayloadMethodForTestMode(n),this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,n).then(o=>{t(o.hasError?new Re(o.payload.error):null,o.payload)})}}send(e,t){if(typeof e=="string"){let o=V(e,Array.isArray(t)?t:[]);return this.request(o)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let n=eo();return n.log(),new It(e).applyError({code:-32603,message:n.rawMessage}).payload}enable(){let e=V("eth_accounts");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}`)}};function ke(e,t){return t?new URL(e,t):new URL(e)}var mr=["request","overlay","sdk"];function No(e){let t=Object.getPrototypeOf(e),n=[t];for(;t!==we.prototype;)t=Object.getPrototypeOf(t),n.push(t);return n}var xr=class extends we{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Lr,isPromiEvent:bt,encodeJSON:_r,decodeJSON:Yi,createJsonRpcRequestPayload:V,standardizeJsonRpcRequestPayload:et,storage:$r};let e=[this,...No(this)];mr.forEach(t=>{let n=e.map(g=>Object.getOwnPropertyDescriptor(g,t)),o=n.findIndex(g=>!!g),s=o>0,c=n[o];c&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:c,isPrototypeField:s}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Ji(t)}}))})}init(e){this.__is_initialized__||(mr.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:n,isPrototypeField:o}=this.__sdk_access_field_descriptors__.get(t);o?delete this[t]:Object.defineProperty(this,t,n)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:n,useInstead:o}=e,s=o?` Use \`${o}\` instead.`:"",c=`\`${t}\` will be removed from this Extension in version \`${n}\`.${s}`;return new Ze(this,"DEPRECATION_NOTICE",c)}createWarning(e,t){return new Ze(this,e,t)}createError(e,t,n){return new it(this,e,t,n)}},To=class extends xr{},be=class extends xr{};be.Internal=To,be.Anonymous="anonymous extension";var Oo=class extends we{purchase(e){let t=V(x.NFTPurchase,[e]);return this.request(t)}};function vr(e){return e.compat&&e.compat[z.sdkName]!=null?typeof e.compat[z.sdkName]=="string"?Di(Fi(z.version),e.compat[z.sdkName]):!!e.compat[z.sdkName]:!0}function Lo(e){var t;let n=(t=e==null?void 0:e.extensions)!=null?t:[],o={},s=[];if(Array.isArray(n)?n.forEach(c=>{vr(c)?(c.init(this),(c.name||c.name!==be.Anonymous)&&(this[c.name]=c),c instanceof be.Internal&&(yt(c.config)||(o[c.name]=c.config))):s.push(c)}):Object.keys(n).forEach(c=>{if(vr(n[c])){n[c].init(this);let g=n[c];this[c]=g,g instanceof be.Internal&&(yt(g.config)||(o[n[c].name]=g.config))}else s.push(n[c])}),s.length)throw Qi(s);return o}var Qe=class{constructor(e,t){this.apiKey=e;var n;if(!e)throw qi();z.platform==="react-native"&&(t==null?void 0:t.endpoint)&&to().log();let{defaultEndpoint:o,version:s}=z;this.testMode=!!(t!=null&&t.testMode),this.endpoint=ke((n=t==null?void 0:t.endpoint)!=null?n:o).origin,this.auth=new so(this),this.user=new wo(this),this.wallet=new Ao(this),this.nft=new Oo(this),this.rpcProvider=new So(this);let c=Lo.call(this,t);this.parameters=_r(yr({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:ke(this.endpoint).host,sdk:Xi[z.sdkName],version:s,ext:yt(c)?void 0:c,locale:(t==null?void 0:t.locale)||"en_US"},z.bundleId?{bundleId:z.bundleId}:{}))}get overlay(){if(!Qe.__overlays__.has(this.parameters)){let e=new z.ViewController(this.endpoint,this.parameters);e.init(),Qe.__overlays__.set(this.parameters,e)}return Qe.__overlays__.get(this.parameters)}preload(){return de(this,null,function*(){yield this.overlay.ready})}},At=Qe;At.__overlays__=new Map;function Mo(e,t){return t&&Array.isArray(e)?e.find(n=>n.id===t):e}function $o(e,t){var n;let o=(n=t.data.response)==null?void 0:n.id,s=Mo(e,o);if(o&&s){let c=new It(s).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:o,response:c}}return{}}function Po(e,t){return de(this,null,function*(){let n=yield je("rt"),o;if(z.platform==="web")try{o=yield go()}catch(s){console.error("webcrypto error",s)}return o?n?{msgType:e,payload:t,jwt:o,rt:n}:{msgType:e,payload:t,jwt:o}:{msgType:e,payload:t}})}function Co(e){return de(this,null,function*(){!e.data.rt||(yield tt("rt",e.data.rt))})}var Ur=class{constructor(e,t){this.endpoint=e,this.parameters=t,this.messageHandlers=new Set,this.ready=this.waitForReady(),this.listen()}post(e,t){return de(this,null,function*(){return Mr(n=>de(this,null,function*(){yield this.ready;let o=[],s=Array.isArray(t)?t.map(m=>m.id):[],c=yield Po(`${e}-${this.parameters}`,t);yield this._post(c);let g=m=>v=>{let{id:y,response:N}=$o(t,v);Co(v),y&&N&&Array.isArray(t)&&s.includes(y)?(o.push(N),o.length===t.length&&(m(),n(o))):y&&N&&!Array.isArray(t)&&y===t.id&&(m(),n(N))},p=this.on(fe.MAGIC_HANDLE_RESPONSE,g(()=>p()))}))})}on(e,t){let n=t.bind(window),o=s=>{s.data.msgType===`${e}-${this.parameters}`&&n(s)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{this.on(fe.MAGIC_OVERLAY_READY,()=>e())})}listen(){this.on(fe.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(fe.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()})}};var St={};Zt(St,{EthChainType:()=>rr,Extension:()=>be,ExtensionError:()=>it,ExtensionWarning:()=>Ze,MagicIncomingWindowMessage:()=>fe,MagicOutgoingWindowMessage:()=>Ie,MagicPayloadMethod:()=>x,RPCError:()=>Re,RPCErrorCode:()=>ge,SDKError:()=>he,SDKErrorCode:()=>le,SDKWarning:()=>Ye,SDKWarningCode:()=>Te,isPromiEvent:()=>bt});var st=tr(Fr()),Tt=tr(jr());var Do={display:"none",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647"};function xo(e){for(let[t,n]of Object.entries(Do))e.style[t]=n}function Uo(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(n=>n.src.includes(e)))}var at=class extends Ur{constructor(){super(...arguments);this.activeElement=null}init(){this.test="hello",this.iframe=new Promise(n=>{let o=()=>{if(Uo(encodeURIComponent(this.parameters)))wr().log();else{let s=document.createElement("iframe");s.classList.add("magic-iframe"),s.dataset.magicIframeLabel=ke(this.endpoint).host,s.title="Secure Modal",s.src=ke(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href,xo(s),document.body.appendChild(s),n(s)}};["loaded","interactive","complete"].includes(document.readyState)?o():window.addEventListener("load",o,!1)}),window.addEventListener("message",n=>{var o;if(n.origin===this.endpoint&&n.data&&n.data.msgType&&this.messageHandlers.size){n.data.response=(o=n.data.response)!=null?o:{};for(let s of this.messageHandlers.values())s(n)}})}showOverlay(){return Ne(this,null,function*(){let n=yield this.iframe;n.style.display="block",this.activeElement=document.activeElement,n.focus()})}hideOverlay(){return Ne(this,null,function*(){var o;let n=yield this.iframe;n.style.display="none",(o=this.activeElement)!=null&&o.focus&&this.activeElement.focus(),this.activeElement=null})}_post(n){return Ne(this,null,function*(){let o=yield this.iframe;if(o&&o.contentWindow)o.contentWindow.postMessage(n,this.endpoint);else throw Rr()})}};var Bo=Object.assign(br(At,{platform:"web",sdkName:"magic-sdk",version:"16.1.0",defaultEndpoint:"https://auth.magic.link/",ViewController:at,configureStorage:()=>Ne(void 0,null,function*(){let e=st.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Tt),yield e.setDriver([st.default.INDEXEDDB,st.default.LOCALSTORAGE,Tt._driver]),e})}),Jt({},St)),Fo=Bo;return kn(Go);})();
|
5
|
+
Received: \`${e.received}\``)}function wr(){return new Ye(Te.DuplicateIframe,"Duplicate iframes found.")}function eo(){return new Ye(Te.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 to(){return new Ye(Te.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 \`${z.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`)}function*ro(){let e=0;for(;;)e<Number.MAX_SAFE_INTEGER?yield++e:e=0}var no=ro();function Ar(){return no.next().value}var Sr=Symbol("Payload pre-processed by Magic SDK");function Nr(e){return Object.defineProperty(e,Sr,{value:!0,enumerable:!1}),e}function io(e){return!!e[Sr]}function et(e){var t,n,o;return io(e)||(e.jsonrpc=(t=e.jsonrpc)!=null?t:"2.0",e.id=Ar(),e.method=(n=e.method)!=null?n:"noop",e.params=(o=e.params)!=null?o:[],Nr(e)),e}function V(e,t=[]){return Nr({params:t,method:e,jsonrpc:"2.0",id:Ar()})}var It=class{constructor(e){e instanceof It?(this._jsonrpc=e.payload.jsonrpc,this._id=e.payload.id,this._result=e.payload.result,this._error=e.payload.error):Ki(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}}},oo=ei(ti()),ao=class extends oo.default{};function Tr(){let e=new ao;return{emitter:e,createChainingEmitterMethod:(t,n)=>(...o)=>(e[t].apply(e,o),n),createBoundEmitterMethod:t=>(...n)=>e[t].apply(e,n)}}var Or=Symbol("isPromiEvent");function bt(e){return!!e[Or]}function Lr(e){let t=Mr(e),{createBoundEmitterMethod:n,createChainingEmitterMethod:o}=Tr(),s=Symbol("Promise.then"),c=Symbol("Promise.catch"),g=Symbol("Promise.finally"),p=(y,N)=>(...I)=>{let T=N[y].apply(N,I);return m(T)},m=y=>Object.assign(y,{[Or]:!0,[s]:y[s]||y.then,[c]:y[c]||y.catch,[g]:y[g]||y.finally,then:p(s,y),catch:p(c,y),finally:p(g,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:n("emit"),eventNames:n("eventNames"),listeners:n("listeners"),listenerCount:n("listenerCount")}),v=m(t.then(y=>(v.emit("done",y),v.emit("settled"),y),y=>{throw v.emit("error",y),v.emit("settled"),y}));return v}function Mr(e){return new Promise((t,n)=>{let o=e(t,n);Promise.resolve(o).catch(n)})}var we=class{constructor(e){this.sdk=e}get overlay(){return this.sdk.overlay}request(e){let t=this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,et(e)),n=Lr((s,c)=>{t.then(g=>{if(o(),g.hasError)c(new Re(g.payload.error));else if(g.hasResult)s(g.payload.result);else throw zi()}).catch(g=>{o(),c(g)})}),o=this.overlay.on(fe.MAGIC_HANDLE_EVENT,s=>{var c;let{response:g}=s.data;if(g.id===e.id&&((c=g.result)==null?void 0:c.event)){let{event:p,params:m=[]}=g.result;n.emit(p,...m)}});return n}createIntermediaryEvent(e,t){return n=>{let o=V(x.IntermediaryEvent,[{payloadId:t,eventType:e,args:n}]);this.request(o)}}},so=class extends we{loginWithMagicLink(e){let{email:t,showUI:n=!0,redirectURI:o}=e,s=V(this.sdk.testMode?x.LoginWithMagicLinkTestMode:x.LoginWithMagicLink,[{email:t,showUI:n,redirectURI:o}]);return this.request(s)}loginWithSMS(e){let{phoneNumber:t}=e,n=V(this.sdk.testMode?x.LoginWithSmsTestMode:x.LoginWithSms,[{phoneNumber:t,showUI:!0}]);return this.request(n)}loginWithEmailOTP(e){let{email:t,showUI:n}=e,o=V(this.sdk.testMode?x.LoginWithEmailOTPTestMode:x.LoginWithEmailOTP,[{email:t,showUI:n}]);if(!n){let s=this.request(o);return s&&(s.on("verify-email-otp",c=>{this.createIntermediaryEvent("verify-email-otp",o.id)(c)}),s.on("cancel",()=>{this.createIntermediaryEvent("cancel",o.id)()})),s}return this.request(o)}loginWithCredential(e){let t=e!=null?e:"";if(!e&&z.platform==="web"){t=window.location.search;let o=window.location.origin+window.location.pathname;window.history.replaceState(null,"",o)}let n=V(this.sdk.testMode?x.LoginWithCredentialTestMode:x.LoginWithCredential,[t]);return this.request(n)}},$r={};Qn($r,{clear:()=>uo,getItem:()=>je,iterate:()=>ho,key:()=>lo,keys:()=>fo,length:()=>co,removeItem:()=>Et,setItem:()=>tt});var ze;function ye(e){return(...t)=>de(this,null,function*(){return ze||(ze=yield z.configureStorage()),yield ze.ready(),ze[e](...t)})}var je=ye("getItem"),tt=ye("setItem"),Et=ye("removeItem"),uo=ye("clear"),co=ye("length"),lo=ye("key"),fo=ye("keys"),ho=ye("iterate");function po(){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 Rt="STORE_KEY_PRIVATE_KEY",rt="STORE_KEY_PUBLIC_JWK",wt="ECDSA",Pr="P-256",mo={name:wt,namedCurve:Pr},vo={name:wt,namedCurve:Pr};function Cr(){Et(rt),Et(Rt)}function go(){return de(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,n=yield je(Rt);if(!n||!t){console.info("unable to find private key or webcrypto unsupported");return}let o={iat:Math.floor(new Date().getTime()/1e3),jti:po()},s={typ:"dpop+jwt",alg:"ES256",jwk:e},c={protected:pr(JSON.stringify(s)),claims:pr(JSON.stringify(o))},g=Io(`${c.protected}.${c.claims}`),p={name:wt,hash:{name:"SHA-256"}},m=Ro(new Uint8Array(yield t.sign(p,n,g)));return`${c.protected}.${c.claims}.${m}`})}function yo(){return de(this,null,function*(){if(!_o()){console.info("webcrypto is not supported");return}return(yield je(rt))||(yield Eo()),je(rt)})}function Eo(){return de(this,null,function*(){let e=null,{subtle:t}=window.crypto,n=yield t.generateKey(mo,!0,["sign"]),o=yield t.exportKey("jwk",n.privateKey);e=yield t.exportKey("jwk",n.publicKey);let s=yield t.importKey("jwk",o,vo,!1,["sign"]);yield tt(Rt,s),yield tt(rt,e)})}function _o(){let e=typeof window!="undefined"&&!!window.crypto,t=e&&!!window.crypto.subtle;return e&&t}function pr(e){return Dr(bo(e))}function Io(e){return new TextEncoder().encode(e)}function Dr(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+/g,"")}function bo(e){return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,n)=>String.fromCharCode(parseInt(n,16)))}function Ro(e){let t="";return e.forEach(n=>{t+=String.fromCharCode(n)}),Dr(t)}var wo=class extends we{getIdToken(e){let t=V(this.sdk.testMode?x.GetIdTokenTestMode:x.GetIdToken,[e]);return this.request(t)}generateIdToken(e){let t=V(this.sdk.testMode?x.GenerateIdTokenTestMode:x.GenerateIdToken,[e]);return this.request(t)}getMetadata(){let e=V(this.sdk.testMode?x.GetMetadataTestMode:x.GetMetadata);return this.request(e)}updateEmail(e){let{email:t,showUI:n=!0}=e,o=V(this.sdk.testMode?x.UpdateEmailTestMode:x.UpdateEmail,[{email:t,showUI:n}]);return this.request(o)}isLoggedIn(){if(!navigator.onLine)return Promise.reject(new Re({message:"User is not connected to the internet",code:ge.InvalidRequest}));let e=V(this.sdk.testMode?x.IsLoggedInTestMode:x.IsLoggedIn);return this.request(e)}logout(){Cr();let e=V(this.sdk.testMode?x.LogoutTestMode:x.Logout);return this.request(e)}showSettings(){let e=V(this.sdk.testMode?x.UserSettingsTestMode:x.UserSettings);return this.request(e)}updatePhoneNumber(){let e=V(this.sdk.testMode?x.UpdatePhoneNumberTestMode:x.UpdatePhoneNumber);return this.request(e)}recoverAccount(e){let t=V(this.sdk.testMode?x.RecoverAccountTestMode:x.RecoverAccount,[e]);return this.request(t)}},Ao=class extends we{connectWithUI(){let e=V(x.RequestAccounts);return this.request(e)}showUI(){let e=V(x.ShowUI);return this.request(e)}getInfo(){let e=V(x.GetInfo);return this.request(e)}requestUserInfoWithUI(e){let t=V(x.RequestUserInfoWithUI,e?[e]:[]);return this.request(t)}disconnect(){Cr();let e=V(x.Disconnect);return this.request(e)}},{createBoundEmitterMethod:Je,createChainingEmitterMethod:Oe}=Tr(),So=class extends we{constructor(){super(...arguments),this.isMagic=!0,this.on=Oe("on",this),this.once=Oe("once",this),this.addListener=Oe("addListener",this),this.off=Oe("off",this),this.removeListener=Oe("removeListener",this),this.removeAllListeners=Oe("removeAllListeners",this),this.emit=Je("emit"),this.eventNames=Je("eventNames"),this.listeners=Je("listeners"),this.listenerCount=Je("listenerCount")}sendAsync(e,t){if(!t)throw Zi({procedure:"Magic.rpcProvider.sendAsync",argument:1,expected:"function",received:t===null?"null":typeof t});if(Array.isArray(e))this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,e.map(n=>{let o=et(n);return this.prefixPayloadMethodForTestMode(o),o})).then(n=>{t(null,n.map(o=>zn(yr({},o.payload),{error:o.hasError?new Re(o.payload.error):null})))});else{let n=et(e);this.prefixPayloadMethodForTestMode(n),this.overlay.post(Ie.MAGIC_HANDLE_REQUEST,n).then(o=>{t(o.hasError?new Re(o.payload.error):null,o.payload)})}}send(e,t){if(typeof e=="string"){let o=V(e,Array.isArray(t)?t:[]);return this.request(o)}if(Array.isArray(e)||!!t){this.sendAsync(e,t);return}let n=eo();return n.log(),new It(e).applyError({code:-32603,message:n.rawMessage}).payload}enable(){let e=V("eth_accounts");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}`)}};function ke(e,t){return t?new URL(e,t):new URL(e)}var mr=["request","overlay","sdk"];function No(e){let t=Object.getPrototypeOf(e),n=[t];for(;t!==we.prototype;)t=Object.getPrototypeOf(t),n.push(t);return n}var xr=class extends we{constructor(){super(void 0),this.__sdk_access_field_descriptors__=new Map,this.__is_initialized__=!1,this.utils={createPromiEvent:Lr,isPromiEvent:bt,encodeJSON:_r,decodeJSON:Yi,createJsonRpcRequestPayload:V,standardizeJsonRpcRequestPayload:et,storage:$r};let e=[this,...No(this)];mr.forEach(t=>{let n=e.map(g=>Object.getOwnPropertyDescriptor(g,t)),o=n.findIndex(g=>!!g),s=o>0,c=n[o];c&&(this.__sdk_access_field_descriptors__.set(t,{descriptor:c,isPrototypeField:s}),Object.defineProperty(this,t,{configurable:!0,get:()=>{throw Ji(t)}}))})}init(e){this.__is_initialized__||(mr.forEach(t=>{if(this.__sdk_access_field_descriptors__.has(t)){let{descriptor:n,isPrototypeField:o}=this.__sdk_access_field_descriptors__.get(t);o?delete this[t]:Object.defineProperty(this,t,n)}}),this.sdk=e,this.__is_initialized__=!0)}createDeprecationWarning(e){let{method:t,removalVersion:n,useInstead:o}=e,s=o?` Use \`${o}\` instead.`:"",c=`\`${t}\` will be removed from this Extension in version \`${n}\`.${s}`;return new Ze(this,"DEPRECATION_NOTICE",c)}createWarning(e,t){return new Ze(this,e,t)}createError(e,t,n){return new it(this,e,t,n)}},To=class extends xr{},be=class extends xr{};be.Internal=To,be.Anonymous="anonymous extension";var Oo=class extends we{purchase(e){let t=V(x.NFTPurchase,[e]);return this.request(t)}};function vr(e){return e.compat&&e.compat[z.sdkName]!=null?typeof e.compat[z.sdkName]=="string"?Di(Fi(z.version),e.compat[z.sdkName]):!!e.compat[z.sdkName]:!0}function Lo(e){var t;let n=(t=e==null?void 0:e.extensions)!=null?t:[],o={},s=[];if(Array.isArray(n)?n.forEach(c=>{vr(c)?(c.init(this),(c.name||c.name!==be.Anonymous)&&(this[c.name]=c),c instanceof be.Internal&&(yt(c.config)||(o[c.name]=c.config))):s.push(c)}):Object.keys(n).forEach(c=>{if(vr(n[c])){n[c].init(this);let g=n[c];this[c]=g,g instanceof be.Internal&&(yt(g.config)||(o[n[c].name]=g.config))}else s.push(n[c])}),s.length)throw Qi(s);return o}var Qe=class{constructor(e,t){this.apiKey=e;var n;if(!e)throw qi();z.platform==="react-native"&&(t==null?void 0:t.endpoint)&&to().log();let{defaultEndpoint:o,version:s}=z;this.testMode=!!(t!=null&&t.testMode),this.endpoint=ke((n=t==null?void 0:t.endpoint)!=null?n:o).origin,this.auth=new so(this),this.user=new wo(this),this.wallet=new Ao(this),this.nft=new Oo(this),this.rpcProvider=new So(this);let c=Lo.call(this,t);this.parameters=_r(yr({API_KEY:this.apiKey,DOMAIN_ORIGIN:window.location?window.location.origin:"",ETH_NETWORK:t==null?void 0:t.network,host:ke(this.endpoint).host,sdk:Xi[z.sdkName],version:s,ext:yt(c)?void 0:c,locale:(t==null?void 0:t.locale)||"en_US"},z.bundleId?{bundleId:z.bundleId}:{}))}get overlay(){if(!Qe.__overlays__.has(this.parameters)){let e=new z.ViewController(this.endpoint,this.parameters);e.init(),Qe.__overlays__.set(this.parameters,e)}return Qe.__overlays__.get(this.parameters)}preload(){return de(this,null,function*(){yield this.overlay.ready})}},At=Qe;At.__overlays__=new Map;function Mo(e,t){return t&&Array.isArray(e)?e.find(n=>n.id===t):e}function $o(e,t){var n;let o=(n=t.data.response)==null?void 0:n.id,s=Mo(e,o);if(o&&s){let c=new It(s).applyResult(t.data.response.result).applyError(t.data.response.error);return{id:o,response:c}}return{}}function Po(e,t){return de(this,null,function*(){let n=yield je("rt"),o;if(z.platform==="web")try{o=yield go()}catch(s){console.error("webcrypto error",s)}return o?n?{msgType:e,payload:t,jwt:o,rt:n}:{msgType:e,payload:t,jwt:o}:{msgType:e,payload:t}})}function Co(e){return de(this,null,function*(){!e.data.rt||(yield tt("rt",e.data.rt))})}var Ur=class{constructor(e,t){this.endpoint=e,this.parameters=t,this.messageHandlers=new Set,this.ready=this.waitForReady(),this.listen()}post(e,t){return de(this,null,function*(){return Mr(n=>de(this,null,function*(){yield this.ready;let o=[],s=Array.isArray(t)?t.map(m=>m.id):[],c=yield Po(`${e}-${this.parameters}`,t);yield this._post(c);let g=m=>v=>{let{id:y,response:N}=$o(t,v);Co(v),y&&N&&Array.isArray(t)&&s.includes(y)?(o.push(N),o.length===t.length&&(m(),n(o))):y&&N&&!Array.isArray(t)&&y===t.id&&(m(),n(N))},p=this.on(fe.MAGIC_HANDLE_RESPONSE,g(()=>p()))}))})}on(e,t){let n=t.bind(window),o=s=>{s.data.msgType===`${e}-${this.parameters}`&&n(s)};return this.messageHandlers.add(o),()=>this.messageHandlers.delete(o)}waitForReady(){return new Promise(e=>{this.on(fe.MAGIC_OVERLAY_READY,()=>e())})}listen(){this.on(fe.MAGIC_HIDE_OVERLAY,()=>{this.hideOverlay()}),this.on(fe.MAGIC_SHOW_OVERLAY,()=>{this.showOverlay()})}};var St={};Zt(St,{EthChainType:()=>rr,Extension:()=>be,ExtensionError:()=>it,ExtensionWarning:()=>Ze,MagicIncomingWindowMessage:()=>fe,MagicOutgoingWindowMessage:()=>Ie,MagicPayloadMethod:()=>x,RPCError:()=>Re,RPCErrorCode:()=>ge,SDKError:()=>he,SDKErrorCode:()=>le,SDKWarning:()=>Ye,SDKWarningCode:()=>Te,isPromiEvent:()=>bt});var st=tr(Fr()),Tt=tr(jr());var Do={display:"none",position:"fixed",top:"0",right:"0",width:"100%",height:"100%",borderRadius:"0",border:"none",zIndex:"2147483647"};function xo(e){for(let[t,n]of Object.entries(Do))e.style[t]=n}function Uo(e){let t=[].slice.call(document.querySelectorAll(".magic-iframe"));return Boolean(t.find(n=>n.src.includes(e)))}var at=class extends Ur{constructor(){super(...arguments);this.activeElement=null}init(){this.test="hello",this.iframe=new Promise(n=>{let o=()=>{if(Uo(encodeURIComponent(this.parameters)))wr().log();else{let s=document.createElement("iframe");s.classList.add("magic-iframe"),s.dataset.magicIframeLabel=ke(this.endpoint).host,s.title="Secure Modal",s.src=ke(`/send?params=${encodeURIComponent(this.parameters)}`,this.endpoint).href,xo(s);let c=document.body.appendChild(s);console.log("appendedIframeNode: ",c),n(s)}};["loaded","interactive","complete"].includes(document.readyState)?o():window.addEventListener("load",o,!1)}),window.addEventListener("message",n=>{var o;if(n.origin===this.endpoint&&n.data&&n.data.msgType&&this.messageHandlers.size){n.data.response=(o=n.data.response)!=null?o:{};for(let s of this.messageHandlers.values())s(n)}})}showOverlay(){return Ne(this,null,function*(){let n=yield this.iframe;n.style.display="block",this.activeElement=document.activeElement,n.focus()})}hideOverlay(){return Ne(this,null,function*(){var o;let n=yield this.iframe;n.style.display="none",(o=this.activeElement)!=null&&o.focus&&this.activeElement.focus(),this.activeElement=null})}_post(n){return Ne(this,null,function*(){let o=yield this.iframe;if(o&&o.contentWindow)o.contentWindow.postMessage(n,this.endpoint);else throw Rr()})}};var Bo=Object.assign(br(At,{platform:"web",sdkName:"magic-sdk",version:"16.1.0",defaultEndpoint:"https://auth.magic.link/",ViewController:at,configureStorage:()=>Ne(void 0,null,function*(){let e=st.default.createInstance({name:"MagicAuthLocalStorageDB",storeName:"MagicAuthLocalStorage"});return yield e.defineDriver(Tt),yield e.setDriver([st.default.INDEXEDDB,st.default.LOCALSTORAGE,Tt._driver]),e})}),Jt({},St)),Fo=Bo;return kn(Go);})();
|
6
6
|
if (Magic && Magic.default != null) { Magic = Object.assign(Magic.default, Magic); delete Magic.default; }
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "magic-sdk",
|
3
|
-
"version": "16.1.1-canary.494.
|
3
|
+
"version": "16.1.1-canary.494.4669207701.0",
|
4
4
|
"description": "Passwordless authentication for the web.",
|
5
5
|
"author": "Magic Labs <team@magic.link> (https://magic.link/)",
|
6
6
|
"license": "MIT",
|
@@ -28,8 +28,8 @@
|
|
28
28
|
]
|
29
29
|
},
|
30
30
|
"dependencies": {
|
31
|
-
"@magic-sdk/commons": "12.1.1-canary.494.
|
32
|
-
"@magic-sdk/provider": "16.1.1-canary.494.
|
31
|
+
"@magic-sdk/commons": "12.1.1-canary.494.4669207701.0",
|
32
|
+
"@magic-sdk/provider": "16.1.1-canary.494.4669207701.0",
|
33
33
|
"@magic-sdk/types": "^14.1.0",
|
34
34
|
"localforage": "^1.7.4"
|
35
35
|
},
|
@@ -39,5 +39,5 @@
|
|
39
39
|
"@babel/runtime": "^7.9.6",
|
40
40
|
"localforage-driver-memory": "^1.0.5"
|
41
41
|
},
|
42
|
-
"gitHead": "
|
42
|
+
"gitHead": "891d7759cfd281cf2c24318b96dac8747bdcae5a"
|
43
43
|
}
|