From b50f8cc2bb87ae369756488bea072833b66a5973 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 10 Aug 2016 18:58:40 -0700 Subject: [PATCH] rpc: getaddednodeinfo. --- lib/bcoin/http/rpc.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/lib/bcoin/http/rpc.js b/lib/bcoin/http/rpc.js index d8d0f40b..fefff9a7 100644 --- a/lib/bcoin/http/rpc.js +++ b/lib/bcoin/http/rpc.js @@ -412,9 +412,38 @@ RPC.prototype.disconnectnode = function disconnectnode(args, callback) { }; RPC.prototype.getaddednodeinfo = function getaddednodeinfo(args, callback) { + var out = []; + var i, peer, peers; + if (args.help || args.length < 1 || args.length > 2) return callback(new RPCError('getaddednodeinfo dummy ( "node" )')); - callback(new Error('Not implemented.')); + + if (args.length === 2) { + peer = this.pool.getPeer(String(args[1])); + if (!peer) + return callback(new RPCError('Node has not been added.')); + peers = [peer]; + } else { + peers = this.pool.peers.all; + } + + for (i = 0; i < peers.length; i++) { + peer = peers[i]; + out.push({ + addednode: peer.hostname, + connected: peer.connected, + addresses: [ + { + address: peer.hostname, + connected: peer.type !== bcoin.peer.types.LEECH + ? 'outbound' + : 'inbound' + } + ] + }); + } + + callback(null, out); }; RPC.prototype.getconnectioncount = function getconnectioncount(args, callback) {