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