@privy-io/cross-app-connect
Version:
Privy cross app wallet connectors for wagmi and RainbowKit
2 lines (1 loc) • 751 B
JavaScript
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:i}){let p=new URL(a),{privateKey:o,publicKey:c}=e();p.searchParams.set("requester_public_key",c),p.searchParams.set("connect","true"),p.searchParams.set("provider_app_id",s),p.searchParams.set("requester_origin",window.location.origin),p.searchParams.set("smart_wallet_mode",i?.smartWalletMode?"true":"false");let{address:m,providerPublicKey:l,exp:n}=await t(p);return{address:m,sharedSecret:r({privateKey:o,publicKey:l}),publicKey:c,exp:n}}export{s as sendConnectionRequestToPopup};