@imtbl/passport 2.7.3 → 2.7.4-alpha.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.
@@ -371,11 +371,10 @@ function _e(n){throw new Error("Node.js process "+n+" is not supported by JSPM c
371
371
  height=${r},
372
372
  top=${a},
373
373
  left=${i}
374
- `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var xe="Confirm this transaction",ke=720,Me=480,wt=1e3;var B=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let i=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";r=`${r}?${i}`;}return r}requestConfirmation(e,t,r,i){return new Promise((a,s)=>{let o=({data:d,origin:l})=>{if(!(l!==this.config.passportDomain||d.eventType!==Z))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Z,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";r===He.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:r,chainID:i}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,r){return new Promise((i,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==Z))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Z,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...r?{messageType:r}:{}});this.showConfirmationScreen(o,s,i);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=ae({url:this.getHref("loading"),title:xe,width:e?.width||Me,height:e?.height||ke}),this.overlay=new b(this.config.popupOverlayOptions);}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new b(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=ae({url:this.getHref("loading"),title:xe,width:this.popupOptions?.width||Me,height:this.popupOptions?.height||ke});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let i=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(i,wt),this.overlay.update(()=>this.recreateConfirmationWindow(e,i));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=ae({url:e,title:xe,width:this.popupOptions?.width||Me,height:this.popupOptions?.height||ke}),this.timer=setInterval(t,wt);}catch{}}};var w=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(e,t){if(!this.overlay){let r=document.createElement("div");r.innerHTML=it(),document.body.insertAdjacentElement("beforeend",r);let i=document.querySelector(`#${W}`);i&&i.appendChild(e),r.addEventListener("click",t),this.overlay=r;}}};var mi=660,ui=440,gi="16px",It="passport-embedded-login-keyframes",St="passport-embedded-login-iframe",H=class n{config;constructor(e){this.config=e;}getHref=()=>`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${getDetail(Detail.RUNTIME_ID)}`;static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(It))return;let e=document.createElement("style");e.id=It,e.textContent=`
374
+ `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var xe="Confirm this transaction",ke=720,Me=480,wt=1e3;var B=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let i=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";r=`${r}?${i}`;}return r}requestConfirmation(e,t,r,i){return new Promise((a,s)=>{let o=({data:d,origin:l})=>{if(!(l!==this.config.passportDomain||d.eventType!==Z))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Z,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";r===He.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:r,chainID:i}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,r){return new Promise((i,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==Z))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Z,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...r?{messageType:r}:{}});this.showConfirmationScreen(o,s,i);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=ae({url:this.getHref("loading"),title:xe,width:e?.width||Me,height:e?.height||ke}),this.overlay=new b(this.config.popupOverlayOptions);}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new b(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=ae({url:this.getHref("loading"),title:xe,width:this.popupOptions?.width||Me,height:this.popupOptions?.height||ke});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let i=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(i,wt),this.overlay.update(()=>this.recreateConfirmationWindow(e,i));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=ae({url:e,title:xe,width:this.popupOptions?.width||Me,height:this.popupOptions?.height||ke}),this.timer=setInterval(t,wt);}catch{}}};var w=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(e,t){if(!this.overlay){let r=document.createElement("div");r.innerHTML=it(),document.body.insertAdjacentElement("beforeend",r);let i=document.querySelector(`#${W}`);i&&i.appendChild(e),r.addEventListener("click",t),this.overlay=r;}}};var mi=560,ui=440,gi="16px",It="passport-embedded-login-keyframes",St="passport-embedded-login-iframe",H=class n{config;constructor(e){this.config=e;}getHref=()=>`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${getDetail(Detail.RUNTIME_ID)}`;static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(It))return;let e=document.createElement("style");e.id=It,e.textContent=`
375
375
  @keyframes passportEmbeddedLoginPromptPopBounceIn {
376
376
  0% {
377
377
  opacity: 0.5;
378
- transform: scale(0.9);
379
378
  }
380
379
  50% {
381
380
  opacity: 1;
@@ -405,7 +404,7 @@ function _e(n){throw new Error("Node.js process "+n+" is not supported by JSPM c
405
404
  opacity: 1;
406
405
  }
407
406
  }
408
- `,document.head.appendChild(e);};getEmbeddedLoginIFrame=()=>{let e=document.createElement("iframe");return e.id=St,e.src=this.getHref(),e.style.height="100vh",e.style.width="100vw",e.style.maxHeight=`${mi}px`,e.style.maxWidth=`${ui}px`,e.style.borderRadius=gi,e.style.opacity="0",e.style.transform="scale(0.9)",e.style.animation="passportEmbeddedLoginPromptPopBounceIn 0.8s ease 0.2s forwards",n.appendIFrameStylesIfNeeded(),e};displayEmbeddedLoginPrompt(){return new Promise((e,t)=>{let r=this.getEmbeddedLoginIFrame(),i=({data:a,origin:s})=>{if(!(s!==this.config.authenticationDomain||a.eventType!==Pt))switch(a.messageType){case"login_method_selected":{let o=a.payload;window.removeEventListener("message",i),w.remove(),e(o);break}case"login_prompt_error":{window.removeEventListener("message",i),w.remove(),t(new Error("Error during embedded login prompt",{cause:a.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",i),w.remove(),t(new Error("Popup closed by user"));break}default:window.removeEventListener("message",i),w.remove(),t(new Error(`Unsupported message type: ${a.messageType}`));break}};window.addEventListener("message",i),w.appendOverlay(r,()=>{window.removeEventListener("message",i),w.remove(),t(new Error("Popup closed by user"));});})}};var Ne=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(Ne||{});var U=class{emitter=new EventEmitter;emit(e,...t){this.emitter.emit(e,...t);}on(e,t){this.emitter.on(e,t);}removeListener(e,t){this.emitter.removeListener(e,t);}};var kt=1,_i=1,Pi=2,Mt="02",wi="",Nt=`tuple(
407
+ `,document.head.appendChild(e);};getEmbeddedLoginIFrame=()=>{let e=document.createElement("iframe");return e.id=St,e.src=this.getHref(),e.style.height="100vh",e.style.width="100vw",e.style.maxHeight=`${mi}px`,e.style.maxWidth=`${ui}px`,e.style.borderRadius=gi,e.style.opacity="0",e.style.transform="scale(0.6)",e.style.animation="passportEmbeddedLoginPromptPopBounceIn 1s ease forwards",n.appendIFrameStylesIfNeeded(),e};displayEmbeddedLoginPrompt(){return new Promise((e,t)=>{let r=this.getEmbeddedLoginIFrame(),i=({data:a,origin:s})=>{if(!(s!==this.config.authenticationDomain||a.eventType!==Pt))switch(a.messageType){case"login_method_selected":{let o=a.payload;window.removeEventListener("message",i),w.remove(),e(o);break}case"login_prompt_error":{window.removeEventListener("message",i),w.remove(),t(new Error("Error during embedded login prompt",{cause:a.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",i),w.remove(),t(new Error("Popup closed by user"));break}default:window.removeEventListener("message",i),w.remove(),t(new Error(`Unsupported message type: ${a.messageType}`));break}};window.addEventListener("message",i),w.appendOverlay(r,()=>{window.removeEventListener("message",i),w.remove(),t(new Error("Popup closed by user"));});})}};var Ne=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(Ne||{});var U=class{emitter=new EventEmitter;emit(e,...t){this.emitter.emit(e,...t);}on(e,t){this.emitter.on(e,t);}removeListener(e,t){this.emitter.removeListener(e,t);}};var kt=1,_i=1,Pi=2,Mt="02",wi="",Nt=`tuple(
409
408
  bool delegateCall,
410
409
  bool revertOnError,
411
410
  uint256 gasLimit,
@@ -397,11 +397,10 @@ function pe(i){return "code"in i&&"message"in i}var g=class extends Error{type;c
397
397
  height=${r},
398
398
  top=${a},
399
399
  left=${n}
400
- `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var Ee="Confirm this transaction",ye=720,Re=480,dt=1e3;var k=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((a,s)=>{let o=({data:d,origin:l})=>{if(!(l!==this.config.passportDomain||d.eventType!==G))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";r===Ie__namespace.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:r,chainID:n}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,r){return new Promise((n,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==G))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),n({confirmed:!0});break}case"message_rejected":{this.closeWindow(),n({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...r?{messageType:r}:{}});this.showConfirmationScreen(o,s,n);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:e?.width||Re,height:e?.height||ye}),this.overlay=new _(this.config.popupOverlayOptions);}catch(t){let r=t instanceof Error?t.message:String(t);metrics.trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new _(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,dt),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=z({url:e,title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye}),this.timer=setInterval(t,dt);}catch{}}};var T=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(e,t){if(!this.overlay){let r=document.createElement("div");r.innerHTML=Ve(),document.body.insertAdjacentElement("beforeend",r);let n=document.querySelector(`#${L}`);n&&n.appendChild(e),r.addEventListener("click",t),this.overlay=r;}}};var Dr=660,Ur=440,Gr="16px",pt="passport-embedded-login-keyframes",mt="passport-embedded-login-iframe",M=class i{config;constructor(e){this.config=e;}getHref=()=>`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${metrics.getDetail(metrics.Detail.RUNTIME_ID)}`;static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(pt))return;let e=document.createElement("style");e.id=pt,e.textContent=`
400
+ `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var Ee="Confirm this transaction",ye=720,Re=480,dt=1e3;var k=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((a,s)=>{let o=({data:d,origin:l})=>{if(!(l!==this.config.passportDomain||d.eventType!==G))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";r===Ie__namespace.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:r,chainID:n}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,r){return new Promise((n,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==G))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),n({confirmed:!0});break}case"message_rejected":{this.closeWindow(),n({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...r?{messageType:r}:{}});this.showConfirmationScreen(o,s,n);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:e?.width||Re,height:e?.height||ye}),this.overlay=new _(this.config.popupOverlayOptions);}catch(t){let r=t instanceof Error?t.message:String(t);metrics.trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new _(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,dt),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=z({url:e,title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye}),this.timer=setInterval(t,dt);}catch{}}};var T=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(e,t){if(!this.overlay){let r=document.createElement("div");r.innerHTML=Ve(),document.body.insertAdjacentElement("beforeend",r);let n=document.querySelector(`#${L}`);n&&n.appendChild(e),r.addEventListener("click",t),this.overlay=r;}}};var Dr=560,Ur=440,Gr="16px",pt="passport-embedded-login-keyframes",mt="passport-embedded-login-iframe",M=class i{config;constructor(e){this.config=e;}getHref=()=>`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${metrics.getDetail(metrics.Detail.RUNTIME_ID)}`;static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(pt))return;let e=document.createElement("style");e.id=pt,e.textContent=`
401
401
  @keyframes passportEmbeddedLoginPromptPopBounceIn {
402
402
  0% {
403
403
  opacity: 0.5;
404
- transform: scale(0.9);
405
404
  }
406
405
  50% {
407
406
  opacity: 1;
@@ -431,7 +430,7 @@ function pe(i){return "code"in i&&"message"in i}var g=class extends Error{type;c
431
430
  opacity: 1;
432
431
  }
433
432
  }
434
- `,document.head.appendChild(e);};getEmbeddedLoginIFrame=()=>{let e=document.createElement("iframe");return e.id=mt,e.src=this.getHref(),e.style.height="100vh",e.style.width="100vw",e.style.maxHeight=`${Dr}px`,e.style.maxWidth=`${Ur}px`,e.style.borderRadius=Gr,e.style.opacity="0",e.style.transform="scale(0.9)",e.style.animation="passportEmbeddedLoginPromptPopBounceIn 0.8s ease 0.2s forwards",i.appendIFrameStylesIfNeeded(),e};displayEmbeddedLoginPrompt(){return new Promise((e,t)=>{let r=this.getEmbeddedLoginIFrame(),n=({data:a,origin:s})=>{if(!(s!==this.config.authenticationDomain||a.eventType!==ct))switch(a.messageType){case"login_method_selected":{let o=a.payload;window.removeEventListener("message",n),T.remove(),e(o);break}case"login_prompt_error":{window.removeEventListener("message",n),T.remove(),t(new Error("Error during embedded login prompt",{cause:a.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));break}default:window.removeEventListener("message",n),T.remove(),t(new Error(`Unsupported message type: ${a.messageType}`));break}};window.addEventListener("message",n),T.appendOverlay(r,()=>{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));});})}};var Ce=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(Ce||{});var b=class{emitter=new events.EventEmitter;emit(e,...t){this.emitter.emit(e,...t);}on(e,t){this.emitter.on(e,t);}removeListener(e,t){this.emitter.removeListener(e,t);}};var ft=1,Kr=1,Xr=2,Et="02",Jr="",yt=`tuple(
433
+ `,document.head.appendChild(e);};getEmbeddedLoginIFrame=()=>{let e=document.createElement("iframe");return e.id=mt,e.src=this.getHref(),e.style.height="100vh",e.style.width="100vw",e.style.maxHeight=`${Dr}px`,e.style.maxWidth=`${Ur}px`,e.style.borderRadius=Gr,e.style.opacity="0",e.style.transform="scale(0.6)",e.style.animation="passportEmbeddedLoginPromptPopBounceIn 1s ease forwards",i.appendIFrameStylesIfNeeded(),e};displayEmbeddedLoginPrompt(){return new Promise((e,t)=>{let r=this.getEmbeddedLoginIFrame(),n=({data:a,origin:s})=>{if(!(s!==this.config.authenticationDomain||a.eventType!==ct))switch(a.messageType){case"login_method_selected":{let o=a.payload;window.removeEventListener("message",n),T.remove(),e(o);break}case"login_prompt_error":{window.removeEventListener("message",n),T.remove(),t(new Error("Error during embedded login prompt",{cause:a.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));break}default:window.removeEventListener("message",n),T.remove(),t(new Error(`Unsupported message type: ${a.messageType}`));break}};window.addEventListener("message",n),T.appendOverlay(r,()=>{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));});})}};var Ce=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(Ce||{});var b=class{emitter=new events.EventEmitter;emit(e,...t){this.emitter.emit(e,...t);}on(e,t){this.emitter.on(e,t);}removeListener(e,t){this.emitter.removeListener(e,t);}};var ft=1,Kr=1,Xr=2,Et="02",Jr="",yt=`tuple(
435
434
  bool delegateCall,
436
435
  bool revertOnError,
437
436
  uint256 gasLimit,
@@ -371,11 +371,10 @@ function pe(i){return "code"in i&&"message"in i}var g=class extends Error{type;c
371
371
  height=${r},
372
372
  top=${a},
373
373
  left=${n}
374
- `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var Ee="Confirm this transaction",ye=720,Re=480,dt=1e3;var k=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((a,s)=>{let o=({data:d,origin:l})=>{if(!(l!==this.config.passportDomain||d.eventType!==G))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";r===Ie.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:r,chainID:n}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,r){return new Promise((n,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==G))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),n({confirmed:!0});break}case"message_rejected":{this.closeWindow(),n({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...r?{messageType:r}:{}});this.showConfirmationScreen(o,s,n);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:e?.width||Re,height:e?.height||ye}),this.overlay=new _(this.config.popupOverlayOptions);}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new _(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,dt),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=z({url:e,title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye}),this.timer=setInterval(t,dt);}catch{}}};var T=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(e,t){if(!this.overlay){let r=document.createElement("div");r.innerHTML=Ve(),document.body.insertAdjacentElement("beforeend",r);let n=document.querySelector(`#${L}`);n&&n.appendChild(e),r.addEventListener("click",t),this.overlay=r;}}};var Dr=660,Ur=440,Gr="16px",pt="passport-embedded-login-keyframes",mt="passport-embedded-login-iframe",M=class i{config;constructor(e){this.config=e;}getHref=()=>`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${getDetail(Detail.RUNTIME_ID)}`;static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(pt))return;let e=document.createElement("style");e.id=pt,e.textContent=`
374
+ `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var Ee="Confirm this transaction",ye=720,Re=480,dt=1e3;var k=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((a,s)=>{let o=({data:d,origin:l})=>{if(!(l!==this.config.passportDomain||d.eventType!==G))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";r===Ie.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:r,chainID:n}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,r){return new Promise((n,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==G))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:G,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),n({confirmed:!0});break}case"message_rejected":{this.closeWindow(),n({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...r?{messageType:r}:{}});this.showConfirmationScreen(o,s,n);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:e?.width||Re,height:e?.height||ye}),this.overlay=new _(this.config.popupOverlayOptions);}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new _(this.config.popupOverlayOptions,!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=z({url:this.getHref("loading"),title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,dt),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=z({url:e,title:Ee,width:this.popupOptions?.width||Re,height:this.popupOptions?.height||ye}),this.timer=setInterval(t,dt);}catch{}}};var T=class{static overlay;static onCloseListener;static closeButton;static remove(){this.onCloseListener&&this.closeButton?.removeEventListener?.("click",this.onCloseListener),this.overlay?.remove(),this.closeButton=void 0,this.onCloseListener=void 0,this.overlay=void 0;}static appendOverlay(e,t){if(!this.overlay){let r=document.createElement("div");r.innerHTML=Ve(),document.body.insertAdjacentElement("beforeend",r);let n=document.querySelector(`#${L}`);n&&n.appendChild(e),r.addEventListener("click",t),this.overlay=r;}}};var Dr=560,Ur=440,Gr="16px",pt="passport-embedded-login-keyframes",mt="passport-embedded-login-iframe",M=class i{config;constructor(e){this.config=e;}getHref=()=>`${this.config.authenticationDomain}/im-embedded-login-prompt?client_id=${this.config.oidcConfiguration.clientId}&rid=${getDetail(Detail.RUNTIME_ID)}`;static appendIFrameStylesIfNeeded=()=>{if(document.getElementById(pt))return;let e=document.createElement("style");e.id=pt,e.textContent=`
375
375
  @keyframes passportEmbeddedLoginPromptPopBounceIn {
376
376
  0% {
377
377
  opacity: 0.5;
378
- transform: scale(0.9);
379
378
  }
380
379
  50% {
381
380
  opacity: 1;
@@ -405,7 +404,7 @@ function pe(i){return "code"in i&&"message"in i}var g=class extends Error{type;c
405
404
  opacity: 1;
406
405
  }
407
406
  }
408
- `,document.head.appendChild(e);};getEmbeddedLoginIFrame=()=>{let e=document.createElement("iframe");return e.id=mt,e.src=this.getHref(),e.style.height="100vh",e.style.width="100vw",e.style.maxHeight=`${Dr}px`,e.style.maxWidth=`${Ur}px`,e.style.borderRadius=Gr,e.style.opacity="0",e.style.transform="scale(0.9)",e.style.animation="passportEmbeddedLoginPromptPopBounceIn 0.8s ease 0.2s forwards",i.appendIFrameStylesIfNeeded(),e};displayEmbeddedLoginPrompt(){return new Promise((e,t)=>{let r=this.getEmbeddedLoginIFrame(),n=({data:a,origin:s})=>{if(!(s!==this.config.authenticationDomain||a.eventType!==ct))switch(a.messageType){case"login_method_selected":{let o=a.payload;window.removeEventListener("message",n),T.remove(),e(o);break}case"login_prompt_error":{window.removeEventListener("message",n),T.remove(),t(new Error("Error during embedded login prompt",{cause:a.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));break}default:window.removeEventListener("message",n),T.remove(),t(new Error(`Unsupported message type: ${a.messageType}`));break}};window.addEventListener("message",n),T.appendOverlay(r,()=>{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));});})}};var Ce=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(Ce||{});var b=class{emitter=new EventEmitter;emit(e,...t){this.emitter.emit(e,...t);}on(e,t){this.emitter.on(e,t);}removeListener(e,t){this.emitter.removeListener(e,t);}};var ft=1,Kr=1,Xr=2,Et="02",Jr="",yt=`tuple(
407
+ `,document.head.appendChild(e);};getEmbeddedLoginIFrame=()=>{let e=document.createElement("iframe");return e.id=mt,e.src=this.getHref(),e.style.height="100vh",e.style.width="100vw",e.style.maxHeight=`${Dr}px`,e.style.maxWidth=`${Ur}px`,e.style.borderRadius=Gr,e.style.opacity="0",e.style.transform="scale(0.6)",e.style.animation="passportEmbeddedLoginPromptPopBounceIn 1s ease forwards",i.appendIFrameStylesIfNeeded(),e};displayEmbeddedLoginPrompt(){return new Promise((e,t)=>{let r=this.getEmbeddedLoginIFrame(),n=({data:a,origin:s})=>{if(!(s!==this.config.authenticationDomain||a.eventType!==ct))switch(a.messageType){case"login_method_selected":{let o=a.payload;window.removeEventListener("message",n),T.remove(),e(o);break}case"login_prompt_error":{window.removeEventListener("message",n),T.remove(),t(new Error("Error during embedded login prompt",{cause:a.payload}));break}case"login_prompt_closed":{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));break}default:window.removeEventListener("message",n),T.remove(),t(new Error(`Unsupported message type: ${a.messageType}`));break}};window.addEventListener("message",n),T.appendOverlay(r,()=>{window.removeEventListener("message",n),T.remove(),t(new Error("Popup closed by user"));});})}};var Ce=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(Ce||{});var b=class{emitter=new EventEmitter;emit(e,...t){this.emitter.emit(e,...t);}on(e,t){this.emitter.on(e,t);}removeListener(e,t){this.emitter.removeListener(e,t);}};var ft=1,Kr=1,Xr=2,Et="02",Jr="",yt=`tuple(
409
408
  bool delegateCall,
410
409
  bool revertOnError,
411
410
  uint256 gasLimit,
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@imtbl/passport",
3
3
  "description": "Passport module for Immutable SDK",
4
- "version": "2.7.3",
4
+ "version": "2.7.4-alpha.0",
5
5
  "author": "Immutable",
6
6
  "bugs": "https://github.com/immutable/ts-immutable-sdk/issues",
7
7
  "dependencies": {
8
8
  "@0xsequence/abi": "^2.0.25",
9
9
  "@0xsequence/core": "^2.0.25",
10
- "@imtbl/config": "2.7.3",
11
- "@imtbl/generated-clients": "2.7.3",
12
- "@imtbl/metrics": "2.7.3",
13
- "@imtbl/toolkit": "2.7.3",
14
- "@imtbl/x-client": "2.7.3",
15
- "@imtbl/x-provider": "2.7.3",
10
+ "@imtbl/config": "2.7.4-alpha.0",
11
+ "@imtbl/generated-clients": "2.7.4-alpha.0",
12
+ "@imtbl/metrics": "2.7.4-alpha.0",
13
+ "@imtbl/toolkit": "2.7.4-alpha.0",
14
+ "@imtbl/x-client": "2.7.4-alpha.0",
15
+ "@imtbl/x-provider": "2.7.4-alpha.0",
16
16
  "@magic-ext/oidc": "12.0.5",
17
17
  "@magic-sdk/provider": "^29.0.5",
18
18
  "@metamask/detect-provider": "^2.0.0",