// ******************************************************* // ******************* Broker Sale *********************** // ******************************************************* async function brokerSale() { const wallet = xrpl.Wallet.fromSeed(accountSeedField.value) const net = getNet() const client = new xrpl.Client(net) let results = `\n=== Connected. Brokering the sale. ===` resultField.value = results try { await client.connect() // Prepare transaction ------------------------------------------------------- const brokerTx = { TransactionType: 'NFTokenAcceptOffer', Account: wallet.classicAddress, NFTokenSellOffer: nftSellOfferIndexField.value, NFTokenBuyOffer: nftBuyOfferIndexField.value, NFTokenBrokerFee: brokerFeeField.value, } console.log(JSON.stringify(brokerTx, null, 2)) // Submit transaction -------------------------------------------------------- const tx = await client.submitAndWait(brokerTx, { wallet: wallet }) // Check transaction results ------------------------------------------------- results += '\n\nTransaction result:\n' + JSON.stringify(tx.result.meta.TransactionResult, null, 2) results += '\nBalance changes:\n' + JSON.stringify(xrpl.getBalanceChanges(tx.result.meta), null, 2) xrpBalanceField.value = await client.getXrpBalance(wallet.address) resultField.value += results } catch (error) { console.error('Error in broker sale:', error) results = `\n\n=== Error in broker sale: ${error.message} ===` // User friendly resultField.value += results } finally { if (client && client.isConnected()) { await client.disconnect() } } } // End of brokerSale()