function generateCode() { let v_flags = 0 if (clawbackSlider.checked) {v_flags+=64} if (lockSlider.checked) {v_flags+=2} if (authTokensSlider.checked) {v_flags +=4} if (txrSlider.checked) {v_flags += 32} if (tradeSlider.checked) {v_flags += 16} if (escrowSlider.checked) {v_flags+=8} const mptHexString = xrpl.convertStringToHex(metadataTextArea.value) let v_codeBlock = "{\n \"TransactionType\": \"MPTokenIssuanceCreate\",\n \"Account\": \"" + accountField.value + "\",\n \"AssetScale\": 2, \n \"MaximumAmount\": \"" + maximumAmountField.value + "\",\n \"TransferFee\": " + transferFeeField.value + ",\n \"Flags\": " + v_flags + ",\n \"MPTokenMetadata\": \"" + mptHexString + "\"\n}" codeTextArea.value = v_codeBlock } // ****************************************************** // ************* Get the Preferred Network ************** // ****************************************************** function getNet() { let net if (document.getElementById("tn").checked) net = "wss://s.altnet.rippletest.net:51233" if (document.getElementById("dn").checked) net = "wss://s.devnet.rippletest.net:51233" return net } // End of getNet() // ******************************************************* // ************* Get Account ***************************** // ******************************************************* async function getAccount() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + net + '....' //-------------------------------This uses the default faucet for Testnet/Devnet. let faucetHost = null codeTextArea.value = results await client.connect() results += '\nConnected, funding wallet.' // ----------------------------------------Create and fund a test account wallet. const my_wallet = (await client.fundWallet(null, { faucetHost })).wallet results += '\nGot a wallet.' // ------------------------------------------------------Get the current balance. const my_balance = (await client.getXrpBalance(my_wallet.address)) accountField.value = my_wallet.address seedField.value = my_wallet.seed results += '\nAccount created.' codeTextArea.value = results client.disconnect() } // End of getAccount() // ******************************************************* // ************ Get Account from Seed ******************** // ******************************************************* async function getAccountFromSeed() { let net = getNet() const client = new xrpl.Client(net) results = 'Connecting to ' + getNet() + '....' await client.connect() results += '\nConnected, finding wallets.\n' codeTextArea.value = results // --------------------------------------------------Find the test account wallet. const my_wallet = xrpl.Wallet.fromSeed(seedField.value) // -------------------------------------------------------Get the current balance. accountField.value = my_wallet.address seedField.value = my_wallet.seed client.disconnect() } // End of getAccountFromSeed() // ******************************************************* // *************** Send Transaction ********************** // ******************************************************* async function sendTransaction() { let v_flags = 0 if (clawbackSlider.checked) {v_flags+=64} if (lockSlider.checked) {v_flags+=2} if (authTokensSlider.checked) {v_flags +=4} if (txrSlider.checked) {v_flags += 32} if (tradeSlider.checked) {v_flags += 16} if (escrowSlider.checked) {v_flags+=8} results = 'Connecting to ' + getNet() + '....' console.log(results) let net = getNet() const my_wallet = xrpl.Wallet.fromSeed(seedField.value) const client = new xrpl.Client(net) await client.connect() const metadataHexString = xrpl.convertStringToHex(metadataTextArea.value) const transactionJson = { "TransactionType": "MPTokenIssuanceCreate", "Account": accountField.value, "AssetScale": parseInt(assetScaleField.value), "MaximumAmount": maximumAmountField.value, "TransferFee": parseInt(transferFeeField.value), "Flags": v_flags, "MPTokenMetadata": metadataHexString } const tx = await client.submitAndWait(transactionJson, { wallet: my_wallet} ) if (document.getElementById("tn").checked) { codeTextArea.value += "\n Success! Ledger Index: " + tx.result.ledger_index + "\nSee https://testnet.xrpl.org/ledgers/" + tx.result.ledger_index } else { codeTextArea.value += "\n Success! Ledger Index: " + tx.result.ledger_index + "\nSee https://devnet.xrpl.org/ledgers/" + tx.result.ledger_index } urlField.value = "https://devnet.xrpl.org/ledgers/" + tx.result.ledger_index }