UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 1.69 kB
import{useCallback as e}from"react";import{ar as a,as as t,b as r,f as s,an as n,am as o,at as i,au as l}from"./privy-provider-8kKbowq5.mjs";import{Connection as c,PublicKey as d,Transaction as m,SystemProgram as p,TransactionInstruction as u,VersionedTransaction as f,TransactionMessage as w}from"@solana/web3.js";import{getSolanaRpcEndpointForCluster as y}from"@privy-io/js-sdk-core";import{u as h}from"./internal-context-D5bEplez.mjs";var k={id:a,getBalance:({address:e,cluster:a})=>new c(y(a)).getBalance(new d(e)),createTransferTransaction:async({from:e,to:a,amount:t,cluster:r})=>{let s=new d(e),n=new m;n.add(p.transfer({fromPubkey:s,toPubkey:new d(a),lamports:t}));let o=new c(y(r)),i=await o.getLatestBlockhash();return n.recentBlockhash=i.blockhash,n.feePayer=s,{transaction:n,connection:o}},createBridgeTransactionFromRelayQuote:async({quote:e,from:a,cluster:r})=>{let s=e.steps[0]?.items?.[0];if(!s)return;let n=s.data.instructions.map((({keys:e,programId:a,data:r})=>new u({keys:e.map((({pubkey:e,isSigner:a,isWritable:t})=>({pubkey:new d(e),isSigner:a,isWritable:t}))),programId:new d(a),data:t(r,"hex")}))),o=s.data.addressLookupTableAddresses?.map((e=>new d(e))),i=new c(y(r)),l=await Promise.all((o??[]).map((async e=>i.getAddressLookupTable(e).then((e=>e.value))))),{blockhash:m}=await i.getLatestBlockhash();return{transaction:new f(new w({payerKey:new d(a),instructions:n,recentBlockhash:m}).compileToV0Message(l)),connection:i}}};const g=a=>{r("fundSolanaWallet",a);let t=s(),{setModalData:c}=n(),{openModal:d}=h();return o(k),{fundWallet:e((async(e,a)=>{c({funding:i({address:e,appConfig:t,fundWalletConfig:a,methodScreen:l})}),d(l)}),[t,c,d])}};export{k as t,g as u};