rpc: error handling.

This commit is contained in:
Christopher Jeffrey 2016-08-09 13:03:22 -07:00
parent 719222b61d
commit 7490ea2b87
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -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;