mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-22 20:55:50 +00:00
TOML checker - warn on datatype mismatch
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
const TOML_PATH = "/.well-known/xrp-ledger.toml"
|
const TOML_PATH = "/.well-known/xrp-ledger.toml"
|
||||||
const TIPS = '<p>Check if the file is actually hosted at the URL above, check your server\'s HTTP settings, and make sure your server provides the required <a href="xrp-ledger-toml.html#cors-setup">CORS header.</a></p>'
|
const TIPS = '<p>Check if the file is actually hosted at the URL above, check your server\'s HTTPS settings and certificate, and make sure your server provides the required <a href="xrp-ledger-toml.html#cors-setup">CORS header.</a></p>'
|
||||||
const CLASS_GOOD = "badge badge-success"
|
const CLASS_GOOD = "badge badge-success"
|
||||||
const CLASS_BAD = "badge badge-danger"
|
const CLASS_BAD = "badge badge-danger"
|
||||||
|
|
||||||
@@ -97,6 +97,13 @@ async function parse_xrpl_toml(data, domain) {
|
|||||||
|
|
||||||
console.log(parsed)
|
console.log(parsed)
|
||||||
|
|
||||||
|
if (parsed.hasOwnProperty("METADATA")) {
|
||||||
|
const metadata_type = makeLogEntry("Metadata section: ")
|
||||||
|
if (Array.isArray(parsed.METADATA)) {
|
||||||
|
metadata_type.resolve("Wrong type - should be table").addClass(CLASS_BAD)
|
||||||
|
} else {
|
||||||
|
metadata_type.resolve("Found").addClass(CLASS_GOOD)
|
||||||
|
|
||||||
if (parsed.METADATA.modified) {
|
if (parsed.METADATA.modified) {
|
||||||
const mod_log = makeLogEntry("Modified date: ")
|
const mod_log = makeLogEntry("Modified date: ")
|
||||||
try {
|
try {
|
||||||
@@ -105,6 +112,8 @@ async function parse_xrpl_toml(data, domain) {
|
|||||||
mod_log.resolve("INVALID").addClass(CLASS_BAD)
|
mod_log.resolve("INVALID").addClass(CLASS_BAD)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function list_entries(name, list, fields, validate) {
|
async function list_entries(name, list, fields, validate) {
|
||||||
let list_wrap = $("<p>"+name+"</p>")
|
let list_wrap = $("<p>"+name+"</p>")
|
||||||
@@ -132,6 +141,9 @@ async function parse_xrpl_toml(data, domain) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (parsed.ACCOUNTS) {
|
if (parsed.ACCOUNTS) {
|
||||||
|
if (!Array.isArray(parsed.ACCOUNTS)) {
|
||||||
|
makeLogEntry("Accounts:").resolve("Wrong type - should be table-array").addClass(CLASS_BAD)
|
||||||
|
} else {
|
||||||
list_entries("Accounts:", parsed.ACCOUNTS, ACCOUNT_FIELDS, async function(acct) {
|
list_entries("Accounts:", parsed.ACCOUNTS, ACCOUNT_FIELDS, async function(acct) {
|
||||||
if (acct.address === undefined) {return undefined}
|
if (acct.address === undefined) {return undefined}
|
||||||
let net
|
let net
|
||||||
@@ -139,19 +151,36 @@ async function parse_xrpl_toml(data, domain) {
|
|||||||
return await validate_address_domain_on_net(acct.address, domain, net)
|
return await validate_address_domain_on_net(acct.address, domain, net)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (parsed.VALIDATORS) {
|
if (parsed.VALIDATORS) {
|
||||||
|
if (!Array.isArray(parsed.VALIDATORS)) {
|
||||||
|
makeLogEntry("Validators:").resolve("Wrong type - should be table-array").addClass(CLASS_BAD)
|
||||||
|
} else {
|
||||||
list_entries("Validators:", parsed.VALIDATORS, VALIDATOR_FIELDS)
|
list_entries("Validators:", parsed.VALIDATORS, VALIDATOR_FIELDS)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (parsed.PRINCIPALS) {
|
if (parsed.PRINCIPALS) {
|
||||||
|
if (!Array.isArray(parsed.PRINCIPALS)) {
|
||||||
|
makeLogEntry("Principals:").resolve("Wrong type - should be table-array").addClass(CLASS_BAD)
|
||||||
|
} else {
|
||||||
list_entries("Principals:", parsed.PRINCIPALS, PRINCIPAL_FIELDS)
|
list_entries("Principals:", parsed.PRINCIPALS, PRINCIPAL_FIELDS)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (parsed.SERVERS) {
|
if (parsed.SERVERS) {
|
||||||
|
if (!Array.isArray(parsed.SERVERS)) {
|
||||||
|
makeLogEntry("Servers:").resolve("Wrong type - should be table-array").addClass(CLASS_BAD)
|
||||||
|
} else {
|
||||||
list_entries("Servers:", parsed.SERVERS, SERVER_FIELDS)
|
list_entries("Servers:", parsed.SERVERS, SERVER_FIELDS)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (parsed.CURRENCIES) {
|
if (parsed.CURRENCIES) {
|
||||||
|
if (!Array.isArray(parsed.CURRENCIES)) {
|
||||||
|
makeLogEntry("Currencies:").resolve("Wrong type - should be table-array").addClass(CLASS_BAD)
|
||||||
|
} else {
|
||||||
list_entries("Currencies:", parsed.CURRENCIES, CURRENCY_FIELDS)
|
list_entries("Currencies:", parsed.CURRENCIES, CURRENCY_FIELDS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const testnet = new ripple.RippleAPI({server: 'wss://s.altnet.rippletest.net:51233'})
|
const testnet = new ripple.RippleAPI({server: 'wss://s.altnet.rippletest.net:51233'})
|
||||||
testnet.connect()
|
testnet.connect()
|
||||||
|
|||||||
Reference in New Issue
Block a user