// ******************************************************* // ******************** Send XRP ************************* // ******************************************************* async function sendXRP() { const net = getNet() const client = new xrpl.Client(net) await client.connect() let results = `===Connected to ${net}.===\n\nSending XRP.\n` resultField.value = results try { const wallet = xrpl.Wallet.fromSeed(accountSeedField.value) const sendAmount = amountField.value // -------------------------------------------------------- Prepare transaction const prepared_tx = await client.autofill({ TransactionType: 'Payment', Account: wallet.address, Amount: xrpl.xrpToDrops(sendAmount), Destination: destinationField.value, }) // ------------------------------------------------- Sign prepared instructions const signed = wallet.sign(prepared_tx) // -------------------------------------------------------- Submit signed blob const tx = await client.submitAndWait(signed.tx_blob) results += JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2) resultField.value = results xrpBalanceField.value = await client.getXrpBalance(wallet.address) } catch (error) { console.error('Error sending transaction:', error) results += `\nError: ${error.message}\n` resultField.value = results throw error // Re-throw the error to be handled by the caller } finally { // Disconnect from the client await xrplClient.disconnect() } } // End of sendXRP()