From 7490ea2b874792839655f632624eed021c80d564 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Tue, 9 Aug 2016 13:03:22 -0700 Subject: [PATCH] rpc: error handling. --- lib/bcoin/http/rpc.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/bcoin/http/rpc.js b/lib/bcoin/http/rpc.js index df037814..f84528c4 100644 --- a/lib/bcoin/http/rpc.js +++ b/lib/bcoin/http/rpc.js @@ -1548,10 +1548,16 @@ RPC.prototype.signrawtransaction = function signrawtransaction(args, callback) { this.node.fillCoins(merged, function(err) { if (err) return callback(err); + self.wallet.fillCoins(merged, function(err) { if (err) return callback(err); - self._signrawtransaction(merged, txs, args, callback); + + try { + self._signrawtransaction(merged, txs, args, callback); + } catch (e) { + callback(e); + } }); }); }; @@ -1737,7 +1743,11 @@ RPC.prototype._createRedeem = function _createRedeem(args, callback) { if (err) return callback(err); - script = bcoin.script.fromMultisig(m, n, keys); + try { + script = bcoin.script.fromMultisig(m, n, keys); + } catch (e) { + return next(new RPCError('Invalid parameters.')); + } if (script.toRaw().length > constants.script.MAX_PUSH) return callback(new RPCError('Redeem script exceeds size limit.')); @@ -2976,4 +2986,8 @@ function RPCError(msg) { utils.inherits(RPCError, Error); +/* + * Expose + */ + module.exports = RPC;