From 58cc01b6d3460e8c11f569719f7bf0f2affcce26 Mon Sep 17 00:00:00 2001 From: wilsonianb Date: Thu, 9 Jul 2015 12:27:36 -0700 Subject: [PATCH] Handle validations subscription messages --- src/core/remote.js | 13 +++++++++++++ test/remote-test.js | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/core/remote.js b/src/core/remote.js index 7b9c2f7b..80202f7e 100644 --- a/src/core/remote.js +++ b/src/core/remote.js @@ -505,6 +505,9 @@ Remote.prototype._handleMessage = function(message, server) { case 'path_find': this._handlePathFind(message, server); break; + case 'validationReceived': + this._handleValidationReceived(message, server); + break; default: if (this.trace) { log.info(message.type + ': ', message); @@ -557,6 +560,16 @@ Remote.prototype._handleLedgerClosed = function(message, server) { } }; +/** + * Handle server validation_received event + * + * @param {Object} message + */ + +Remote.prototype._handleValidationReceived = function(message, server) { + this.emit('validation_received', message, server); +}; + /** * Handle server server_status event * diff --git a/test/remote-test.js b/test/remote-test.js index 91750f4d..58e5a85a 100644 --- a/test/remote-test.js +++ b/test/remote-test.js @@ -618,6 +618,25 @@ describe('Remote', function() { remote._servers[0].emit('message', message); remote._servers[0].emit('connect'); }); + it('Handle server message -- validation received', function() { + const message = { + type: 'validationReceived', + ledger_hash: + '96D9E225F10C22D5047B87597939F94024F4180609227D1EB7E9D1CE9A428620', + validation_public_key: + 'n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C', + signature: + '304402207E221CF0679B1A52BC07C4B97C56B93392F8BB53DFB52B821828118A740' + + '9F3E302202669AD632D9CD288B20A0A98DBC50DD3961EC50B95B138A9DCBDC11506' + + 'F63646' + }; + + remote.once('validation_received', function(l) { + assert.deepEqual(l, message); + }); + remote._servers[0].emit('message', message); + remote._servers[0].emit('connect'); + }); it('Handle server message -- transaction', function() { const message = require('./fixtures/transaction');