Rename server info response fields

This commit is contained in:
Chris Clark
2015-11-16 12:49:44 -08:00
parent c1bf1fd211
commit 420413268d
3 changed files with 32 additions and 17 deletions

View File

@@ -12,7 +12,7 @@
"pattern": "[0-9,-]+", "pattern": "[0-9,-]+",
"description": "Range expression indicating the sequence numbers of the ledger versions the local rippled has in its database. It is possible to be a disjoint sequence, e.g. “2500-5000,32570-7695432”." "description": "Range expression indicating the sequence numbers of the ledger versions the local rippled has in its database. It is possible to be a disjoint sequence, e.g. “2500-5000,32570-7695432”."
}, },
"hostid": { "hostID": {
"type": "string", "type": "string",
"description": "On an admin request, returns the hostname of the server running the rippled instance; otherwise, returns a unique four letter word." "description": "On an admin request, returns the hostname of the server running the rippled instance; otherwise, returns a unique four letter word."
}, },
@@ -42,7 +42,7 @@
"properties": { "properties": {
"convergeTimeS": { "convergeTimeS": {
"type": "number", "type": "number",
"description": "The time it took to reach a consensus for the last ledger closing." "description": "The time it took to reach a consensus for the last ledger closing, in seconds."
}, },
"proposers": { "proposers": {
"type": "integer", "type": "integer",
@@ -82,7 +82,7 @@
"minimum": 0, "minimum": 0,
"description": "The time since the ledger was closed, in seconds." "description": "The time since the ledger was closed, in seconds."
}, },
"baseFeeXrp": { "baseFeeXRP": {
"type": "number", "type": "number",
"description": "Base fee, in XRP. This may be represented in scientific notation such as 1e-05 for 0.00005." "description": "Base fee, in XRP. This may be represented in scientific notation such as 1e-05 for 0.00005."
}, },
@@ -90,30 +90,30 @@
"$ref": "hash256", "$ref": "hash256",
"description": "Unique hash for the ledger, as an uppercase hexadecimal string." "description": "Unique hash for the ledger, as an uppercase hexadecimal string."
}, },
"reserveBaseXrp": { "reserveBaseXRP": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"description": "Minimum amount of XRP (not drops) necessary for every account to keep in reserve." "description": "Minimum amount of XRP (not drops) necessary for every account to keep in reserve."
}, },
"reserveIncXrp": { "reserveIncrementXRP": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"description": "Amount of XRP (not drops) added to the account reserve for each object an account is responsible for in the ledger." "description": "Amount of XRP (not drops) added to the account reserve for each object an account is responsible for in the ledger."
}, },
"seq": { "ledgerVersion": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,
"description": "Identifying sequence number of this ledger version." "description": "Identifying sequence number of this ledger version."
} }
}, },
"additionalProperties": false, "additionalProperties": false,
"required": ["age", "baseFeeXrp", "hash", "reserveBaseXrp", "reserveIncXrp", "seq"] "required": ["age", "baseFeeXRP", "hash", "reserveBaseXRP", "reserveIncrementXRP", "ledgerVersion"]
}, },
"validationQuorum": { "validationQuorum": {
"type": "number", "type": "number",
"description": "Minimum number of trusted validations required in order to validate a ledger version. Some circumstances may cause the server to require more validations." "description": "Minimum number of trusted validations required in order to validate a ledger version. Some circumstances may cause the server to require more validations."
} }
}, },
"required": ["buildVersion", "completeLedgers", "hostid", "ioLatencyMs", "lastClose", "loadFactor", "peers", "pubkeyNode", "serverState", "validatedLedger", "validationQuorum"], "required": ["buildVersion", "completeLedgers", "hostID", "ioLatencyMs", "lastClose", "loadFactor", "peers", "pubkeyNode", "serverState", "validatedLedger", "validationQuorum"],
"additionalProperties": false "additionalProperties": false
} }

View File

@@ -32,16 +32,31 @@ export type GetServerInfoResponse = {
validationQuorum: number validationQuorum: number
} }
function renameKeys(object, mapping) {
_.forEach(mapping, (to, from) => {
object[to] = object[from];
delete object[from];
});
}
function getServerInfo(connection: Connection): Promise<GetServerInfoResponse> { function getServerInfo(connection: Connection): Promise<GetServerInfoResponse> {
return connection.request({command: 'server_info'}).then(response => return connection.request({command: 'server_info'}).then(response => {
convertKeysFromSnakeCaseToCamelCase(response.info) const info = convertKeysFromSnakeCaseToCamelCase(response.info);
); renameKeys(info, {hostid: 'hostID'});
renameKeys(info.validatedLedger, {
baseFeeXrp: 'baseFeeXRP',
reserveBaseXrp: 'reserveBaseXRP',
reserveIncXrp: 'reserveIncrementXRP',
seq: 'ledgerVersion'
});
return info;
});
} }
function computeFeeFromServerInfo(cushion: number, function computeFeeFromServerInfo(cushion: number,
serverInfo: GetServerInfoResponse serverInfo: GetServerInfoResponse
): number { ): number {
return (Number(serverInfo.validatedLedger.baseFeeXrp) return (Number(serverInfo.validatedLedger.baseFeeXRP)
* Number(serverInfo.loadFactor) * cushion).toString(); * Number(serverInfo.loadFactor) * cushion).toString();
} }

View File

@@ -1,7 +1,7 @@
{ {
"buildVersion": "0.24.0-rc1", "buildVersion": "0.24.0-rc1",
"completeLedgers": "32570-6595042", "completeLedgers": "32570-6595042",
"hostid": "ARTS", "hostID": "ARTS",
"ioLatencyMs": 1, "ioLatencyMs": 1,
"lastClose": { "lastClose": {
"convergeTimeS": 2.007, "convergeTimeS": 2.007,
@@ -13,11 +13,11 @@
"serverState": "full", "serverState": "full",
"validatedLedger": { "validatedLedger": {
"age": 5, "age": 5,
"baseFeeXrp": 0.00001, "baseFeeXRP": 0.00001,
"hash": "4482DEE5362332F54A4036ED57EE1767C9F33CF7CE5A6670355C16CECE381D46", "hash": "4482DEE5362332F54A4036ED57EE1767C9F33CF7CE5A6670355C16CECE381D46",
"reserveBaseXrp": 20, "reserveBaseXRP": 20,
"reserveIncXrp": 5, "reserveIncrementXRP": 5,
"seq": 6595042 "ledgerVersion": 6595042
}, },
"validationQuorum": 3 "validationQuorum": 3
} }