@privy-io/cross-app-connect
Version:
Privy cross app wallet connectors for wagmi and RainbowKit
3 lines (2 loc) • 893 B
JavaScript
import{trigger as e}from"@privy-io/popup";import{TWO_MINUTES_IN_MS as t}from"./constants.mjs";async function r({url:r,timeout:o=t}){let a=e({location:r.href});if(!a)throw Error("");return new Promise(((e,t)=>{let r,n=setTimeout((()=>{t(Error(`Authorization request timed out after ${o} ms.`)),s()}),o);function s(){a?.close(),window.removeEventListener("message",m)}let i=setInterval((()=>{a?.closed&&!r&&(s(),clearInterval(i),clearTimeout(n),t(Error("User rejected request")))}),300);function m(o){o.data&&("PRIVY_CROSS_APP_CONNECT_RESPONSE"===o.data.type&&(e(o.data),a?.close()),"PRIVY_CROSS_APP_ACTION_ERROR"===o.data.type&&(clearTimeout(n),t(Error(o.data.error)),s()),"PRIVY_OAUTH_USE_BROADCAST_CHANNEL"===o.data.type&&((r=new BroadcastChannel("popup-privy-oauth")).onmessage=m))}window.addEventListener("message",m)}))}export{r as triggerPopup};
//# sourceMappingURL=triggerPopup.mjs.map