refactor: cleanup.
This commit is contained in:
parent
df23810b0c
commit
2899219033
@ -1231,7 +1231,7 @@ ChainDB.prototype.scan = function scan(start, filter, iter) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
yield iter(entry, txs);
|
yield* iter(entry, txs);
|
||||||
entry = yield entry.getNext();
|
entry = yield entry.getNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -285,7 +285,7 @@ RPC.prototype.execute = function execute(json) {
|
|||||||
return this.getmemory(json.params);
|
return this.getmemory(json.params);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return callback(new Error('Method not found: ' + json.method + '.'));
|
throw new Error('Method not found: ' + json.method + '.');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -432,7 +432,7 @@ RPC.prototype.getaddednodeinfo = function getaddednodeinfo(args) {
|
|||||||
addr = NetworkAddress.fromHostname(host, this.network);
|
addr = NetworkAddress.fromHostname(host, this.network);
|
||||||
peer = this.pool.peers.get(addr);
|
peer = this.pool.peers.get(addr);
|
||||||
if (!peer)
|
if (!peer)
|
||||||
return callback(new RPCError('Node has not been added.'));
|
return Promise.reject(new RPCError('Node has not been added.'));
|
||||||
peers = [peer];
|
peers = [peer];
|
||||||
} else {
|
} else {
|
||||||
peers = this.pool.peers.all;
|
peers = this.pool.peers.all;
|
||||||
@ -842,7 +842,7 @@ RPC.prototype.getblockhash = function getblockhash(args) {
|
|||||||
entry = yield this.chain.db.get(height);
|
entry = yield this.chain.db.get(height);
|
||||||
|
|
||||||
if (!entry)
|
if (!entry)
|
||||||
return callback(new RPCError('Not found.'));
|
throw new RPCError('Not found.');
|
||||||
|
|
||||||
return entry.rhash;
|
return entry.rhash;
|
||||||
}, this);
|
}, this);
|
||||||
@ -934,10 +934,10 @@ RPC.prototype._blockToJSON = function _blockToJSON(entry, block, txDetails) {
|
|||||||
}, this);
|
}, this);
|
||||||
};
|
};
|
||||||
|
|
||||||
RPC.prototype.getchaintips = function getchaintips(args, callback) {
|
RPC.prototype.getchaintips = function getchaintips(args) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var i, tips, orphans, prevs, result;
|
var i, tips, orphans, prevs, result;
|
||||||
var orphan, entires, entry, main, fork;
|
var orphan, entries, entry, main, fork;
|
||||||
|
|
||||||
if (args.help || args.length !== 0)
|
if (args.help || args.length !== 0)
|
||||||
throw new RPCError('getchaintips');
|
throw new RPCError('getchaintips');
|
||||||
@ -1211,7 +1211,6 @@ RPC.prototype.gettxout = function gettxout(args) {
|
|||||||
|
|
||||||
RPC.prototype.gettxoutproof = function gettxoutproof(args) {
|
RPC.prototype.gettxoutproof = function gettxoutproof(args) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var self = this;
|
|
||||||
var uniq = {};
|
var uniq = {};
|
||||||
var i, txids, block, hash, last, tx, coins;
|
var i, txids, block, hash, last, tx, coins;
|
||||||
|
|
||||||
@ -1281,7 +1280,7 @@ RPC.prototype.gettxoutproof = function gettxoutproof(args) {
|
|||||||
RPC.prototype.verifytxoutproof = function verifytxoutproof(args) {
|
RPC.prototype.verifytxoutproof = function verifytxoutproof(args) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var res = [];
|
var res = [];
|
||||||
var i, block, hash;
|
var i, block, hash, entry;
|
||||||
|
|
||||||
if (args.help || args.length !== 1)
|
if (args.help || args.length !== 1)
|
||||||
throw new RPCError('verifytxoutproof "proof"');
|
throw new RPCError('verifytxoutproof "proof"');
|
||||||
@ -1323,7 +1322,7 @@ RPC.prototype.gettxoutsetinfo = function gettxoutsetinfo(args) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
RPC.prototype.verifychain = function verifychain(args, callback) {
|
RPC.prototype.verifychain = function verifychain(args) {
|
||||||
if (args.help || args.length > 2)
|
if (args.help || args.length > 2)
|
||||||
return Promise.reject(new RPCError('verifychain ( checklevel numblocks )'));
|
return Promise.reject(new RPCError('verifychain ( checklevel numblocks )'));
|
||||||
|
|
||||||
@ -1522,7 +1521,7 @@ RPC.prototype.getblocktemplate = function getblocktemplate(args) {
|
|||||||
if (opt.mode != null) {
|
if (opt.mode != null) {
|
||||||
mode = opt.mode;
|
mode = opt.mode;
|
||||||
if (mode !== 'template' && mode !== 'proposal')
|
if (mode !== 'template' && mode !== 'proposal')
|
||||||
return callback(new RPCError('Invalid mode.'));
|
throw new RPCError('Invalid mode.');
|
||||||
}
|
}
|
||||||
|
|
||||||
lpid = opt.longpollid;
|
lpid = opt.longpollid;
|
||||||
@ -1905,13 +1904,13 @@ RPC.prototype._hashps = function _hashps(lookup, height) {
|
|||||||
|
|
||||||
pb = this.chain.tip;
|
pb = this.chain.tip;
|
||||||
if (height >= 0 && height < this.chain.tip.height)
|
if (height >= 0 && height < this.chain.tip.height)
|
||||||
pb = yield this.chain.db.get(height, callback);
|
pb = yield this.chain.db.get(height);
|
||||||
|
|
||||||
if (!pb)
|
if (!pb)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (lookup <= 0)
|
if (lookup <= 0)
|
||||||
lookup = pb.height % self.network.pow.retargetInterval + 1;
|
lookup = pb.height % this.network.pow.retargetInterval + 1;
|
||||||
|
|
||||||
if (lookup > pb.height)
|
if (lookup > pb.height)
|
||||||
lookup = pb.height;
|
lookup = pb.height;
|
||||||
@ -1987,6 +1986,7 @@ RPC.prototype.generate = function generate(args) {
|
|||||||
RPC.prototype._generate = function _generate(numblocks) {
|
RPC.prototype._generate = function _generate(numblocks) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var hashes = [];
|
var hashes = [];
|
||||||
|
var i, block;
|
||||||
|
|
||||||
for (i = 0; i < numblocks; i++) {
|
for (i = 0; i < numblocks; i++) {
|
||||||
block = yield this.miner.mineBlock();
|
block = yield this.miner.mineBlock();
|
||||||
@ -2261,7 +2261,7 @@ RPC.prototype._signrawtransaction = function signrawtransaction(merged, txs, arg
|
|||||||
secret = k[i];
|
secret = k[i];
|
||||||
|
|
||||||
if (!utils.isBase58(secret))
|
if (!utils.isBase58(secret))
|
||||||
return callback(new RPCError('Invalid parameter'));
|
throw new RPCError('Invalid parameter');
|
||||||
|
|
||||||
key = bcoin.keyring.fromSecret(secret);
|
key = bcoin.keyring.fromSecret(secret);
|
||||||
keyMap[key.getPublicKey('hex')] = key;
|
keyMap[key.getPublicKey('hex')] = key;
|
||||||
@ -2277,7 +2277,7 @@ RPC.prototype._signrawtransaction = function signrawtransaction(merged, txs, arg
|
|||||||
prev = prevout[i];
|
prev = prevout[i];
|
||||||
|
|
||||||
if (!prev)
|
if (!prev)
|
||||||
return callback(new RPCError('Invalid parameter'));
|
throw new RPCError('Invalid parameter');
|
||||||
|
|
||||||
hash = toHash(prev.txid);
|
hash = toHash(prev.txid);
|
||||||
index = prev.vout;
|
index = prev.vout;
|
||||||
@ -2288,7 +2288,7 @@ RPC.prototype._signrawtransaction = function signrawtransaction(merged, txs, arg
|
|||||||
|| !utils.isNumber(index)
|
|| !utils.isNumber(index)
|
||||||
|| index < 0
|
|| index < 0
|
||||||
|| !utils.isHex(script)) {
|
|| !utils.isHex(script)) {
|
||||||
return callback(new RPCError('Invalid parameter'));
|
throw new RPCError('Invalid parameter');
|
||||||
}
|
}
|
||||||
|
|
||||||
script = bcoin.script.fromRaw(script, 'hex');
|
script = bcoin.script.fromRaw(script, 'hex');
|
||||||
@ -2330,12 +2330,12 @@ RPC.prototype._signrawtransaction = function signrawtransaction(merged, txs, arg
|
|||||||
parts = args[3].split('|');
|
parts = args[3].split('|');
|
||||||
type = constants.hashType[parts[0]];
|
type = constants.hashType[parts[0]];
|
||||||
if (type == null)
|
if (type == null)
|
||||||
return callback(new RPCError('Invalid parameter'));
|
throw new RPCError('Invalid parameter');
|
||||||
if (parts.length > 2)
|
if (parts.length > 2)
|
||||||
return callback(new RPCError('Invalid parameter'));
|
throw new RPCError('Invalid parameter');
|
||||||
if (parts.length === 2) {
|
if (parts.length === 2) {
|
||||||
if (parts[1] !== 'ANYONECANPAY')
|
if (parts[1] !== 'ANYONECANPAY')
|
||||||
return callback(new RPCError('Invalid parameter'));
|
throw new RPCError('Invalid parameter');
|
||||||
type |= constants.hashType.ANYONECANPAY;
|
type |= constants.hashType.ANYONECANPAY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2522,7 +2522,7 @@ RPC.prototype.validateaddress = function validateaddress(args) {
|
|||||||
|
|
||||||
json = {
|
json = {
|
||||||
isvalid: true,
|
isvalid: true,
|
||||||
address: address.toBase58(self.network),
|
address: address.toBase58(this.network),
|
||||||
scriptPubKey: address.toScript().toJSON(),
|
scriptPubKey: address.toScript().toJSON(),
|
||||||
ismine: path ? true : false,
|
ismine: path ? true : false,
|
||||||
iswatchonly: false
|
iswatchonly: false
|
||||||
@ -2764,7 +2764,7 @@ RPC.prototype.addmultisigaddress = function addmultisigaddress(args) {
|
|||||||
Promise.reject(new Error('Not implemented.'));
|
Promise.reject(new Error('Not implemented.'));
|
||||||
};
|
};
|
||||||
|
|
||||||
RPC.prototype.addwitnessaddress = function addwitnessaddress(args, callback) {
|
RPC.prototype.addwitnessaddress = function addwitnessaddress(args) {
|
||||||
if (args.help || args.length < 1 || args.length > 1)
|
if (args.help || args.length < 1 || args.length > 1)
|
||||||
return Promise.reject(new RPCError('addwitnessaddress "address"'));
|
return Promise.reject(new RPCError('addwitnessaddress "address"'));
|
||||||
// Unlikely to be implemented.
|
// Unlikely to be implemented.
|
||||||
@ -2950,7 +2950,7 @@ RPC.prototype.getaddressesbyaccount = function getaddressesbyaccount(args) {
|
|||||||
|
|
||||||
for (i = 0; i < paths.length; i++) {
|
for (i = 0; i < paths.length; i++) {
|
||||||
path = paths[i];
|
path = paths[i];
|
||||||
addrs.push(path.toAddress().toBase58(self.network));
|
addrs.push(path.toAddress().toBase58(this.network));
|
||||||
}
|
}
|
||||||
|
|
||||||
return addrs;
|
return addrs;
|
||||||
@ -3113,7 +3113,7 @@ RPC.prototype.getreceivedbyaddress = function getreceivedbyaddress(args) {
|
|||||||
}, this);
|
}, this);
|
||||||
};
|
};
|
||||||
|
|
||||||
RPC.prototype._toWalletTX = function _toWalletTX(tx, callback) {
|
RPC.prototype._toWalletTX = function _toWalletTX(tx) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var i, det, receive, member, sent, received, json, details;
|
var i, det, receive, member, sent, received, json, details;
|
||||||
|
|
||||||
@ -3192,7 +3192,7 @@ RPC.prototype._toWalletTX = function _toWalletTX(tx, callback) {
|
|||||||
}, this);
|
}, this);
|
||||||
};
|
};
|
||||||
|
|
||||||
RPC.prototype.gettransaction = function gettransaction(args, callback) {
|
RPC.prototype.gettransaction = function gettransaction(args) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var hash, tx;
|
var hash, tx;
|
||||||
|
|
||||||
@ -3337,11 +3337,7 @@ RPC.prototype.importwallet = function importwallet(args) {
|
|||||||
if (parts.length < 4)
|
if (parts.length < 4)
|
||||||
throw new RPCError('Malformed wallet.');
|
throw new RPCError('Malformed wallet.');
|
||||||
|
|
||||||
try {
|
secret = bcoin.keyring.fromSecret(parts[0]);
|
||||||
secret = bcoin.keyring.fromSecret(parts[0]);
|
|
||||||
} catch (e) {
|
|
||||||
return callback(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
time = +parts[1];
|
time = +parts[1];
|
||||||
label = parts[2];
|
label = parts[2];
|
||||||
@ -3591,7 +3587,7 @@ RPC.prototype._listReceived = function _listReceived(minconf, empty, account) {
|
|||||||
RPC.prototype.listsinceblock = function listsinceblock(args) {
|
RPC.prototype.listsinceblock = function listsinceblock(args) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var block, conf, out, highest;
|
var block, conf, out, highest;
|
||||||
var i, height, txs, tx;
|
var i, height, txs, tx, json;
|
||||||
|
|
||||||
if (args.help) {
|
if (args.help) {
|
||||||
throw new RPCError('listsinceblock'
|
throw new RPCError('listsinceblock'
|
||||||
@ -3789,10 +3785,10 @@ RPC.prototype.listunspent = function listunspent(args) {
|
|||||||
hash = bcoin.address.getHash(address, 'hex');
|
hash = bcoin.address.getHash(address, 'hex');
|
||||||
|
|
||||||
if (!hash)
|
if (!hash)
|
||||||
return callback(new RPCError('Invalid address.'));
|
throw new RPCError('Invalid address.');
|
||||||
|
|
||||||
if (addresses[hash])
|
if (addresses[hash])
|
||||||
return callback(new RPCError('Duplicate address.'));
|
throw new RPCError('Duplicate address.');
|
||||||
|
|
||||||
addresses[hash] = true;
|
addresses[hash] = true;
|
||||||
}
|
}
|
||||||
@ -3857,7 +3853,7 @@ RPC.prototype.lockunspent = function lockunspent(args) {
|
|||||||
if (args.length === 1) {
|
if (args.length === 1) {
|
||||||
if (unlock)
|
if (unlock)
|
||||||
this.wallet.tx.unlockCoins();
|
this.wallet.tx.unlockCoins();
|
||||||
return callback(null, true);
|
return Promise.resolve(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
outputs = toArray(args[1]);
|
outputs = toArray(args[1]);
|
||||||
@ -4036,7 +4032,7 @@ RPC.prototype.settxfee = function settxfee(args) {
|
|||||||
|
|
||||||
RPC.prototype.signmessage = function signmessage(args) {
|
RPC.prototype.signmessage = function signmessage(args) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var address, msg, sig;
|
var address, msg, sig, ring;
|
||||||
|
|
||||||
if (args.help || args.length !== 2)
|
if (args.help || args.length !== 2)
|
||||||
throw new RPCError('signmessage "bitcoinaddress" "message"');
|
throw new RPCError('signmessage "bitcoinaddress" "message"');
|
||||||
@ -4282,7 +4278,13 @@ function reverseEndian(data) {
|
|||||||
|
|
||||||
function writeFile(file, data) {
|
function writeFile(file, data) {
|
||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
fs.writeFile(file, out, utils.P(resolve, reject));
|
fs.writeFile(file, data, utils.P(resolve, reject));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function readFile(file, enc) {
|
||||||
|
return new Promise(function(resolve, reject) {
|
||||||
|
fs.readFile(file, enc, utils.P(resolve, reject));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1338,13 +1338,13 @@ ClientSocket.prototype.scan = function scan(start) {
|
|||||||
if (this.chain.db.options.prune)
|
if (this.chain.db.options.prune)
|
||||||
return Promise.reject(new Error('Cannot scan in pruned mode.'));
|
return Promise.reject(new Error('Cannot scan in pruned mode.'));
|
||||||
|
|
||||||
return this.chain.db.scan(start, this.filter, function(entry, txs) {
|
return this.chain.db.scan(start, this.filter, function *(entry, txs) {
|
||||||
for (i = 0; i < txs.length; i++)
|
for (i = 0; i < txs.length; i++)
|
||||||
txs[i] = txs[i].toJSON();
|
txs[i] = txs[i].toJSON();
|
||||||
|
|
||||||
self.emit('block tx', entry.toJSON(), txs);
|
self.emit('block tx', entry.toJSON(), txs);
|
||||||
|
|
||||||
return Promise.resolve(null);
|
yield utils.wait();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1741,7 +1741,6 @@ Pool.prototype.broadcast = function broadcast(msg) {
|
|||||||
|
|
||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
item.addCallback(utils.P(resolve, reject));
|
item.addCallback(utils.P(resolve, reject));
|
||||||
return item;
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1876,7 +1875,7 @@ Pool.prototype.isIgnored = function isIgnored(addr) {
|
|||||||
|
|
||||||
Pool.prototype.getIP = function getIP() {
|
Pool.prototype.getIP = function getIP() {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var request, ip, res;
|
var request, res, ip;
|
||||||
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
throw new Error('Could not find IP.');
|
throw new Error('Could not find IP.');
|
||||||
@ -1910,7 +1909,7 @@ Pool.prototype.getIP = function getIP() {
|
|||||||
|
|
||||||
Pool.prototype.getIP2 = function getIP2() {
|
Pool.prototype.getIP2 = function getIP2() {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var request, ip;
|
var request, res, ip;
|
||||||
|
|
||||||
if (utils.isBrowser)
|
if (utils.isBrowser)
|
||||||
throw new Error('Could not find IP.');
|
throw new Error('Could not find IP.');
|
||||||
|
|||||||
@ -545,7 +545,7 @@ WalletDB.prototype.save = function save(wallet) {
|
|||||||
* @param {Function} callback
|
* @param {Function} callback
|
||||||
*/
|
*/
|
||||||
|
|
||||||
WalletDB.prototype.auth = function auth(wid, token, callback) {
|
WalletDB.prototype.auth = function auth(wid, token) {
|
||||||
return spawn(function *() {
|
return spawn(function *() {
|
||||||
var wallet = yield this.get(wid);
|
var wallet = yield this.get(wid);
|
||||||
if (!wallet)
|
if (!wallet)
|
||||||
@ -1011,8 +1011,8 @@ WalletDB.prototype.rescan = function rescan(chaindb, height) {
|
|||||||
this.logger.info('Scanning for %d addresses.', hashes.length);
|
this.logger.info('Scanning for %d addresses.', hashes.length);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
yield chaindb.scan(height, hashes, function(block, txs) {
|
yield chaindb.scan(height, hashes, function *(block, txs) {
|
||||||
return self.addBlock(block, txs, true);
|
yield self.addBlock(block, txs, true);
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
unlock();
|
unlock();
|
||||||
|
|||||||
@ -530,7 +530,7 @@ Worker.prototype.destroy = function destroy() {
|
|||||||
Worker.prototype._execute = function _execute(method, args, timeout, callback) {
|
Worker.prototype._execute = function _execute(method, args, timeout, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var job = this.uid;
|
var job = this.uid;
|
||||||
var event, timer, callback;
|
var event, timer;
|
||||||
|
|
||||||
if (++this.uid === 0x100000000)
|
if (++this.uid === 0x100000000)
|
||||||
this.uid = 0;
|
this.uid = 0;
|
||||||
|
|||||||
@ -248,9 +248,9 @@ describe('Chain', function() {
|
|||||||
var total = 0;
|
var total = 0;
|
||||||
c(walletdb.getAddressHashes(), function(err, hashes) {
|
c(walletdb.getAddressHashes(), function(err, hashes) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
c(chain.db.scan(null, hashes, function(block, txs) {
|
c(chain.db.scan(null, hashes, function *(block, txs) {
|
||||||
total += txs.length;
|
total += txs.length;
|
||||||
return Promise.resolve(null);
|
yield utils.wait();
|
||||||
}), function(err) {
|
}), function(err) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
assert.equal(total, 25);
|
assert.equal(total, 25);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user