diff --git a/docs/index.md b/docs/index.md index d8bc7478..cfd28854 100644 --- a/docs/index.md +++ b/docs/index.md @@ -56,7 +56,7 @@ - [generateAddress](#generateaddress) - [computeLedgerHash](#computeledgerhash) - [API Events](#api-events) - - [ledgerClosed](#ledgerclosed) + - [ledger](#ledger) - [error](#error) @@ -575,8 +575,8 @@ validatedLedger | object | Information about the fully-validated ledger with the *validatedLedger.* age | integer | The time since the ledger was closed, in seconds. *validatedLedger.* baseFeeXRP | number | Base fee, in XRP. This may be represented in scientific notation such as 1e-05 for 0.00005. *validatedLedger.* hash | string | Unique hash for the ledger, as an uppercase hexadecimal string. -*validatedLedger.* reserveBaseXRP | integer | Minimum amount of XRP (not drops) necessary for every account to keep in reserve. -*validatedLedger.* reserveIncrementXRP | integer | Amount of XRP (not drops) added to the account reserve for each object an account is responsible for in the ledger. +*validatedLedger.* reserveBaseXRP | integer | Minimum amount of XRP necessary for every account to keep in reserve. +*validatedLedger.* reserveIncrementXRP | integer | Amount of XRP added to the account reserve for each object an account is responsible for in the ledger. *validatedLedger.* ledgerVersion | integer | Identifying sequence number of this ledger version. validationQuorum | number | Minimum number of trusted validations required in order to validate a ledger version. Some circumstances may cause the server to require more validations. load | object | *Optional* *(Admin only)* Detailed information about the current load state of the server. @@ -3311,7 +3311,7 @@ return api.computeLedgerHash(ledger); # API Events -## ledgerClosed +## ledger This event is emitted whenever a new ledger version is validated on the connected server. @@ -3319,12 +3319,11 @@ This event is emitted whenever a new ledger version is validated on the connecte Name | Type | Description ---- | ---- | ----------- -feeBase | integer | Base fee, in drops. -feeReference | integer | Cost of the 'reference transaction' in 'fee units'. +baseFeeXRP | [value](#value) | Base fee, in XRP. ledgerHash | string | Unique hash of the ledger that was closed, as hex. ledgerTimestamp | date-time string | The time at which this ledger closed. -reserveBase | integer | The minimum reserve, in drops of XRP, that is required for an account. -reserveIncrement | integer | The increase in account reserve that is added for each item the account owns, such as offers or trust lines. +reserveBaseXRP | [value](#value) | The minimum reserve, in drops of XRP, that is required for an account. +reserveIncrementXRP | [value](#value) | The increase in account reserve that is added for each item the account owns, such as offers or trust lines. transactionCount | integer | Number of new transactions included in this ledger. ledgerVersion | integer | Ledger version of the ledger that closed. validatedLedgerVersions | string | Range of ledgers that the server has available. This may be discontiguous. @@ -3332,7 +3331,7 @@ validatedLedgerVersions | string | Range of ledgers that the server has availabl ### Example ```javascript -api.on('ledgerClosed', ledger => { +api.on('ledger', ledger => { console.log(JSON.stringify(ledger, null, 2)); }); ``` @@ -3340,13 +3339,12 @@ api.on('ledgerClosed', ledger => { ```json { - "feeBase": 10, - "feeReference": 10, + "baseFeeXRP": "0.00001", "ledgerVersion": 14804627, "ledgerHash": "9141FA171F2C0CE63E609466AF728FF66C12F7ACD4B4B50B0947A7F3409D593A", "ledgerTimestamp": "2015-07-23T05:50:40.000Z", - "reserveBase": 20000000, - "reserveIncrement": 5000000, + "reserveBaseXRP": "20", + "reserveIncrementXRP": "5", "transactionCount": 19, "validatedLedgerVersions": "13983423-14804627" } diff --git a/docs/src/events.md.ejs b/docs/src/events.md.ejs index b05f81ab..0f18811c 100644 --- a/docs/src/events.md.ejs +++ b/docs/src/events.md.ejs @@ -1,22 +1,22 @@ # API Events -## ledgerClosed +## ledger This event is emitted whenever a new ledger version is validated on the connected server. ### Return Value -<%- renderSchema('output/ledger-closed.json') %> +<%- renderSchema('output/ledger-event.json') %> ### Example ```javascript -api.on('ledgerClosed', ledger => { +api.on('ledger', ledger => { console.log(JSON.stringify(ledger, null, 2)); }); ``` -<%- renderFixture('responses/ledger-closed.json') %> +<%- renderFixture('responses/ledger-event.json') %> ## error diff --git a/src/common/schema-validator.js b/src/common/schema-validator.js index 1d6234c9..9c5bc14c 100644 --- a/src/common/schema-validator.js +++ b/src/common/schema-validator.js @@ -61,7 +61,7 @@ function loadSchemas() { require('./schemas/output/get-orders.json'), require('./schemas/output/order-change.json'), require('./schemas/output/prepare.json'), - require('./schemas/output/ledger-closed.json'), + require('./schemas/output/ledger-event.json'), require('./schemas/output/get-paths.json'), require('./schemas/output/get-server-info.json'), require('./schemas/output/get-settings.json'), diff --git a/src/common/schemas/output/get-server-info.json b/src/common/schemas/output/get-server-info.json index 3ffd4489..e2cdfbaf 100644 --- a/src/common/schemas/output/get-server-info.json +++ b/src/common/schemas/output/get-server-info.json @@ -93,12 +93,12 @@ "reserveBaseXRP": { "type": "integer", "minimum": 0, - "description": "Minimum amount of XRP (not drops) necessary for every account to keep in reserve." + "description": "Minimum amount of XRP necessary for every account to keep in reserve." }, "reserveIncrementXRP": { "type": "integer", "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 added to the account reserve for each object an account is responsible for in the ledger." }, "ledgerVersion": { "type": "integer", diff --git a/src/common/schemas/output/ledger-closed.json b/src/common/schemas/output/ledger-event.json similarity index 65% rename from src/common/schemas/output/ledger-closed.json rename to src/common/schemas/output/ledger-event.json index d047b954..b5effd6c 100644 --- a/src/common/schemas/output/ledger-closed.json +++ b/src/common/schemas/output/ledger-event.json @@ -1,18 +1,12 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "title": "ledgerClosed", - "description": "A ledgerClosed event message", + "title": "ledgerEvent", + "description": "A ledger event message", "type": "object", "properties": { - "feeBase": { - "type": "integer", - "minimum": 0, - "description": "Base fee, in drops." - }, - "feeReference": { - "type": "integer", - "minimum": 0, - "description": "Cost of the 'reference transaction' in 'fee units'." + "baseFeeXRP": { + "$ref": "value", + "description": "Base fee, in XRP." }, "ledgerHash": { "$ref": "hash256", @@ -27,14 +21,12 @@ "format": "date-time", "description": "The time at which this ledger closed." }, - "reserveBase": { - "type": "integer", - "minimum": 0, + "reserveBaseXRP": { + "$ref": "value", "description": "The minimum reserve, in drops of XRP, that is required for an account." }, - "reserveIncrement": { - "type": "integer", - "minimum": 0, + "reserveIncrementXRP": { + "$ref": "value", "description": "The increase in account reserve that is added for each item the account owns, such as offers or trust lines." }, "transactionCount": { @@ -48,7 +40,7 @@ } }, "addtionalProperties": false, - "required": ["feeBase", "feeReference", "ledgerHash", "ledgerTimestamp", - "reserveBase", "reserveIncrement", "transactionCount", + "required": ["baseFeeXRP", "ledgerHash", "ledgerTimestamp", + "reserveBaseXRP", "reserveIncrementXRP", "transactionCount", "ledgerVersion", "validatedLedgerVersions"] } diff --git a/src/index.js b/src/index.js index 895bc846..4ae30557 100644 --- a/src/index.js +++ b/src/index.js @@ -82,7 +82,7 @@ class RippleAPI extends EventEmitter { if (servers.length === 1) { this.connection = new RestrictedConnection(servers[0], options); this.connection.on('ledgerClosed', message => { - this.emit('ledgerClosed', server.formatLedgerClose(message)); + this.emit('ledger', server.formatLedgerClose(message)); }); this.connection.on('error', (type, info) => { this.emit('error', type, info); diff --git a/src/server/server.js b/src/server/server.js index 0b30a66f..0d2ace19 100644 --- a/src/server/server.js +++ b/src/server/server.js @@ -30,13 +30,12 @@ function getFee(): Promise { function formatLedgerClose(ledgerClose: Object): Object { return { - feeBase: ledgerClose.fee_base, - feeReference: ledgerClose.fee_ref, + baseFeeXRP: common.dropsToXrp(ledgerClose.fee_base), ledgerHash: ledgerClose.ledger_hash, ledgerVersion: ledgerClose.ledger_index, ledgerTimestamp: common.rippleTimeToISO8601(ledgerClose.ledger_time), - reserveBase: ledgerClose.reserve_base, - reserveIncrement: ledgerClose.reserve_inc, + reserveBaseXRP: common.dropsToXrp(ledgerClose.reserve_base), + reserveIncrementXRP: common.dropsToXrp(ledgerClose.reserve_inc), transactionCount: ledgerClose.txn_count, validatedLedgerVersions: ledgerClose.validated_ledgers }; diff --git a/test/api-test.js b/test/api-test.js index f4399a07..34dcaf28 100644 --- a/test/api-test.js +++ b/test/api-test.js @@ -896,9 +896,9 @@ describe('RippleAPI', function() { }); - it('ledgerClosed', function(done) { - this.api.on('ledgerClosed', message => { - checkResult(responses.ledgerClosed, 'ledgerClosed', message); + it('ledger event', function(done) { + this.api.on('ledger', message => { + checkResult(responses.ledgerEvent, 'ledgerEvent', message); done(); }); closeLedger(this.api.connection); diff --git a/test/fixtures/responses/index.js b/test/fixtures/responses/index.js index b1a6e80c..334536df 100644 --- a/test/fixtures/responses/index.js +++ b/test/fixtures/responses/index.js @@ -77,5 +77,5 @@ module.exports = { sign: require('./sign.json'), signSuspended: require('./sign-suspended.json'), submit: require('./submit.json'), - ledgerClosed: require('./ledger-closed.json') + ledgerEvent: require('./ledger-event.json') }; diff --git a/test/fixtures/responses/ledger-closed.json b/test/fixtures/responses/ledger-event.json similarity index 71% rename from test/fixtures/responses/ledger-closed.json rename to test/fixtures/responses/ledger-event.json index e3915702..4fba4c40 100644 --- a/test/fixtures/responses/ledger-closed.json +++ b/test/fixtures/responses/ledger-event.json @@ -1,11 +1,10 @@ { - "feeBase": 10, - "feeReference": 10, + "baseFeeXRP": "0.00001", "ledgerVersion": 14804627, "ledgerHash": "9141FA171F2C0CE63E609466AF728FF66C12F7ACD4B4B50B0947A7F3409D593A", "ledgerTimestamp": "2015-07-23T05:50:40.000Z", - "reserveBase": 20000000, - "reserveIncrement": 5000000, + "reserveBaseXRP": "20", + "reserveIncrementXRP": "5", "transactionCount": 19, "validatedLedgerVersions": "13983423-14804627" } diff --git a/test/setup-api.js b/test/setup-api.js index 124d9fa0..f981de1a 100644 --- a/test/setup-api.js +++ b/test/setup-api.js @@ -25,7 +25,7 @@ function setupMockRippledConnection(testcase, port, done) { testcase.mockRippled = createMockRippled(port); testcase.api = new RippleAPI({servers: ['ws://localhost:' + port]}); testcase.api.connect().then(() => { - testcase.api.once('ledgerClosed', () => done()); + testcase.api.once('ledger', () => done()); testcase.api.connection._ws.emit('message', JSON.stringify(ledgerClosed)); }).catch(done); }