From 1d7f159139fd54265fc7eb2c980b3262c06362ec Mon Sep 17 00:00:00 2001 From: Brandon Barker Date: Mon, 17 Feb 2014 21:55:46 +0200 Subject: [PATCH] Enhanced Switch Pool functionality: if a pool doesn't exist nodeminer will attempt to add the pool and then switch to it --- lib/modules/bfgminer.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/modules/bfgminer.js b/lib/modules/bfgminer.js index d938940..e63f2fe 100644 --- a/lib/modules/bfgminer.js +++ b/lib/modules/bfgminer.js @@ -127,9 +127,11 @@ module.exports = { } if (data.POOLS && data.POOLS.length > 0) { + var poolId = -1; + data.POOLS.forEach(function (p) { if (p.URL == pool.url + ':' + pool.port) { - var poolId = p.POOL; + poolId = p.POOL; self.send('switchpool', poolId, function(error, result) { if (error) { @@ -139,7 +141,20 @@ module.exports = { callback(null, result); }); } - }) + }); + + if (poolId == -1) { + // Try add the pool to bf/c/sgminer + self.send('addpool', pool.url + ':' + pool.port + ',' + pool.workerName + ',' + pool.workerPassword, function (error, result) { + if (error) { + callback(error); + } + + if (result.STATUS && result.STATUS[0].STATUS == 'S') { + self.changePool(miner, pool, callback); + } + }); + } } }); },