UNPKG

@privy-io/cross-app-connect

Version:

Privy cross app wallet connectors for wagmi and RainbowKit

2 lines (1 loc) 774 B
import{generateKeyPair as e,recoverSharedSecret as r}from"./crypto.mjs";import{triggerPopup as t}from"./triggerPopup.mjs";import"@noble/curves/secp256k1";import"@scure/base";import"buffer";import"fflate";async function s({providerAppId:s,providerUrl:a,connectionOpts:p}){let o=new URL(`${a}/cross-app/connect`),{privateKey:i,publicKey:c}=e();o.searchParams.set("requester_public_key",c),o.searchParams.set("connect","true"),o.searchParams.set("provider_app_id",s),o.searchParams.set("requester_origin",window.location.origin),o.searchParams.set("smart_wallet_mode",p?.smartWalletMode?"true":"false");let{address:m,providerPublicKey:n,exp:l}=await t(o);return{address:m,sharedSecret:r({privateKey:i,publicKey:n}),publicKey:c,exp:l}}export{s as sendConnectionRequestToPopup};