// ******************************************************* // ***************** Create TrustLine ******************** // ******************************************************* async function createTrustLine() { const net = getNet() const client = new xrpl.Client(net) await client.connect() let results = "\nConnected. Creating trust line.\n" resultField.value = results try { const wallet = xrpl.Wallet.fromSeed(accountSeedField.value) const trustSet_tx = { "TransactionType": "TrustSet", "Account": accountAddressField.value, "LimitAmount": { "currency": currencyField.value, "issuer": issuerField.value, "value": amountField.value } } const ts_prepared = await client.autofill(trustSet_tx) const ts_signed = wallet.sign(ts_prepared) resultField.value = results const ts_result = await client.submitAndWait(ts_signed.tx_blob) if (ts_result.result.meta.TransactionResult == "tesSUCCESS") { results += '\n===Trustline established between account\n' + accountAddressField.value + "\nand account\n" + issuerField.value + '.' resultField.value = results } else { results += `\n===Transaction failed: ${ts_result.result.meta.TransactionResult}` resultField.value = results } } catch (error) { console.error('Error creating trust line:', error); results += `\n===Error: ${error.message}\n` resultField.value = results throw error; // Re-throw the error to be handled by the caller } finally { // Disconnect from the client await client.disconnect(); } } //End of createTrustline() // ******************************************************* // *************** Send Issued Currency ****************** // ******************************************************* async function sendCurrency() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' resultField.value = results await client.connect() results += '\nConnected.' resultField.value = results try { const wallet = xrpl.Wallet.fromSeed(accountSeedField.value) const send_currency_tx = { "TransactionType": "Payment", "Account": wallet.address, "Amount": { "currency": currencyField.value, "value": amountField.value, "issuer": issuerField.value }, "Destination": destinationField.value } const pay_prepared = await client.autofill(send_currency_tx) const pay_signed = wallet.sign(pay_prepared) results += `\n\n===Sending ${amountField.value} ${currencyField.value} to ${destinationField.value} ...` resultField.value = results const pay_result = await client.submitAndWait(pay_signed.tx_blob) if (pay_result.result.meta.TransactionResult == "tesSUCCESS") { results += '\n===Transaction succeeded.' resultField.value = results getTokenBalance() } else { results += `\n===Transaction failed: ${pay_result.result.meta.TransactionResult}\n` 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 client.disconnect(); } } // end of sendCurrency()