fix memos format

This commit is contained in:
jonathanlei
2022-11-06 17:44:15 -08:00
parent 1372701ee7
commit 0f92626ebc

View File

@@ -1,48 +1,48 @@
async function wait_for_seq(network_url, address) { async function wait_for_seq(network_url, address) {
const api = new xrpl.Client(network_url) const api = new xrpl.Client(network_url);
await api.connect() await api.connect();
let response; let response;
while (true) { while (true) {
try { try {
response = await api.request({ response = await api.request({
command: "account_info", command: "account_info",
account: address, account: address,
ledger_index: "validated" ledger_index: "validated",
}) });
break break;
} catch(e) { } catch (e) {
await new Promise(resolve => setTimeout(resolve, 1000)) await new Promise((resolve) => setTimeout(resolve, 1000));
} }
} }
console.log(response) console.log(response);
$("#sequence").html('<h3>Sequence Number</h3> '+response.result.account_data.Sequence) $("#sequence").html(
"<h3>Sequence Number</h3> " + response.result.account_data.Sequence
);
$("#balance").html( $("#balance").html(
"<h3>Balance</h3> " + "<h3>Balance</h3> " +
(Number(response.result.account_data.Balance) * 0.000001).toLocaleString( (Number(response.result.account_data.Balance) * 0.000001).toLocaleString(
"en" "en"
) + ) +
" XRP" " XRP"
) );
api.disconnect() api.disconnect();
} }
function rippleTestNetCredentials(url, altnet_name) { function rippleTestNetCredentials(url, altnet_name) {
const credentials = $("#your-credentials");
const credentials = $('#your-credentials') const address = $("#address");
const address = $('#address') const secret = $("#secret");
const secret = $('#secret') const balance = $("#balance");
const balance = $('#balance') const sequence = $("#sequence");
const sequence = $('#sequence') const loader = $("#loader");
const loader = $('#loader')
//reset the fields initially and for re-generation //reset the fields initially and for re-generation
credentials.hide() credentials.hide();
address.html('') address.html("");
secret.html('') secret.html("");
balance.html('') balance.html("");
sequence.html('') sequence.html("");
loader.css('display', 'inline') loader.css("display", "inline");
// generate the test wallet // generate the test wallet
const test_wallet = xrpl.Wallet.generate(); const test_wallet = xrpl.Wallet.generate();
@@ -50,61 +50,94 @@ function rippleTestNetCredentials(url, altnet_name) {
//call the alt-net and get key generations //call the alt-net and get key generations
$.ajax({ $.ajax({
url: url, url: url,
type: 'POST', type: "POST",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
data: JSON.stringify({ data: JSON.stringify({
destination: test_wallet.address, destination: test_wallet.address,
memos: [ memos: [
{ {
Memo: { data: xrpl.convertStringToHex("xrpl.org-faucet"),
MemoData: xrpl.convertStringToHex("xrpl.org-faucet"),
},
}, },
], ],
}), }),
success: function(data) { success: function (data) {
//hide the loader and show results //hide the loader and show results
loader.hide(); loader.hide();
credentials.hide().html('<h2>Your '+altnet_name+' Credentials</h2>').fadeIn('fast') credentials
address.hide().html('<h3>Address</h3> ' + .hide()
test_wallet.address).fadeIn('fast') .html("<h2>Your " + altnet_name + " Credentials</h2>")
secret.hide().html('<h3>Secret</h3> ' + .fadeIn("fast");
test_wallet.seed).fadeIn('fast') address
// TODO: currently the faucet api doesn't return balance unless the account is generated server side, need to make upates when faucet repo is updated. .hide()
balance.hide().html('<h3>Balance</h3> ' + .html("<h3>Address</h3> " + test_wallet.address)
Number(data.amount).toLocaleString('en') + ' XRP').fadeIn('fast') .fadeIn("fast");
sequence.html('<h3>Sequence</h3> <img class="throbber" src="assets/img/xrp-loader-96.png"> Waiting...').fadeIn('fast') secret
if (altnet_name=="Testnet") { .hide()
wait_for_seq("wss://s.altnet.rippletest.net:51233", test_wallet.address) .html("<h3>Secret</h3> " + test_wallet.seed)
} else if (altnet_name=="NFT-Devnet") { .fadeIn("fast");
wait_for_seq("wss://xls20-sandbox.rippletest.net:51233", test_wallet.address) // TODO: currently the faucet api doesn't return balance unless the account is generated server side, need to make upates when faucet repo is updated.
balance
.hide()
.html(
"<h3>Balance</h3> " +
Number(data.amount).toLocaleString("en") +
" XRP"
)
.fadeIn("fast");
sequence
.html(
'<h3>Sequence</h3> <img class="throbber" src="assets/img/xrp-loader-96.png"> Waiting...'
)
.fadeIn("fast");
if (altnet_name == "Testnet") {
wait_for_seq(
"wss://s.altnet.rippletest.net:51233",
test_wallet.address
);
} else if (altnet_name == "NFT-Devnet") {
wait_for_seq(
"wss://xls20-sandbox.rippletest.net:51233",
test_wallet.address
);
} else { } else {
wait_for_seq("wss://s.devnet.rippletest.net:51233", test_wallet.address) wait_for_seq(
"wss://s.devnet.rippletest.net:51233",
test_wallet.address
);
} }
}, },
error: function() { error: function () {
loader.hide(); loader.hide();
alert("There was an error with the "+altnet_name+" faucet. Please try again."); alert(
} "There was an error with the " +
}) altnet_name +
" faucet. Please try again."
);
},
});
} }
$(document).ready(function() { $(document).ready(function () {
function testnet_click(evt) { function testnet_click(evt) {
rippleTestNetCredentials("https://faucet.altnet.rippletest.net/accounts", rippleTestNetCredentials(
"Testnet") "https://faucet.altnet.rippletest.net/accounts",
"Testnet"
);
} }
function devnet_click(evt) { function devnet_click(evt) {
rippleTestNetCredentials("https://faucet.devnet.rippletest.net/accounts", rippleTestNetCredentials(
"Devnet") "https://faucet.devnet.rippletest.net/accounts",
"Devnet"
);
} }
function nftnet_click(evt) { function nftnet_click(evt) {
rippleTestNetCredentials("https://faucet-nft.ripple.com/accounts", rippleTestNetCredentials(
"NFT-Devnet") "https://faucet-nft.ripple.com/accounts",
"NFT-Devnet"
);
} }
$('#testnet-creds-button').click(testnet_click) $("#testnet-creds-button").click(testnet_click);
$('#devnet-creds-button').click(devnet_click) $("#devnet-creds-button").click(devnet_click);
$('#nftnet-creds-button').click(nftnet_click) $("#nftnet-creds-button").click(nftnet_click);
}) });