import { Transaction } from '@solana/web3.js'; function createPrivyEmbeddedWallet(privyClient, publicKey) { const secretKey = new Uint8Array(0); async function signTransaction(transaction) { try { const request = { address: publicKey.toBase58(), chainType: 'solana', method: 'signTransaction', params: { transaction }, }; const { data } = await privyClient.walletApi.rpc(request); return data.signedTransaction; } catch (error) { throw new Error( `Failed to sign transaction: ${error instanceof Error ? error.message : 'Unknown error'}` ); } } async function signAllTransactions(transactions) { try { return transactions.map((tx) => { if (tx instanceof Transaction) { tx.partialSign({ publicKey }); } return tx; }); } catch (error) { throw new Error( `Failed to sign transactions: ${error instanceof Error ? error.message : 'Unknown error'}` ); } } return { publicKey, secretKey, signTransaction, signAllTransactions, }; } export { createPrivyEmbeddedWallet };