lint.
This commit is contained in:
parent
dccfc91974
commit
afeb1d1d34
@ -8,7 +8,7 @@
|
|||||||
"noarg": true,
|
"noarg": true,
|
||||||
"shadow": "inner",
|
"shadow": "inner",
|
||||||
"undef": true,
|
"undef": true,
|
||||||
"unused": true,
|
"unused": "vars",
|
||||||
|
|
||||||
"boss": true,
|
"boss": true,
|
||||||
"expr": true,
|
"expr": true,
|
||||||
@ -21,10 +21,11 @@
|
|||||||
"-W018": true,
|
"-W018": true,
|
||||||
"-W064": true,
|
"-W064": true,
|
||||||
"-W086": true,
|
"-W086": true,
|
||||||
"+W032": true,
|
"-W032": true,
|
||||||
|
"-W021": true,
|
||||||
|
|
||||||
"browser": false,
|
"browser": true,
|
||||||
"browserify": false,
|
"browserify": true,
|
||||||
"node": true,
|
"node": true,
|
||||||
"nonstandard": true,
|
"nonstandard": true,
|
||||||
"typed": true,
|
"typed": true,
|
||||||
|
|||||||
@ -6,8 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var constants = bcoin.protocol.constants;
|
|
||||||
var networks = bcoin.protocol.network;
|
var networks = bcoin.protocol.network;
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
@ -146,7 +144,7 @@ Address.toBase58 = function toBase58(hash, type, version, network) {
|
|||||||
p.writeU8(prefix);
|
p.writeU8(prefix);
|
||||||
if (version != null) {
|
if (version != null) {
|
||||||
p.writeU8(version);
|
p.writeU8(version);
|
||||||
p.writeU8(0)
|
p.writeU8(0);
|
||||||
}
|
}
|
||||||
p.writeBytes(hash);
|
p.writeBytes(hash);
|
||||||
p.writeChecksum();
|
p.writeChecksum();
|
||||||
@ -162,7 +160,7 @@ Address.toBase58 = function toBase58(hash, type, version, network) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Address.parseBase58 = function parseBase58(address) {
|
Address.parseBase58 = function parseBase58(address) {
|
||||||
var i, prefix, type, version, hash, network;
|
var i, prefix, type, version, hash, network, p;
|
||||||
|
|
||||||
if (!Buffer.isBuffer(address))
|
if (!Buffer.isBuffer(address))
|
||||||
address = utils.fromBase58(address);
|
address = utils.fromBase58(address);
|
||||||
@ -222,7 +220,7 @@ Address.fromBase58 = function fromBase58(address) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Address.parseScript = function parseScript(script) {
|
Address.parseScript = function parseScript(script) {
|
||||||
var program;
|
var program, hash;
|
||||||
|
|
||||||
if (script.isWitnessProgram()) {
|
if (script.isWitnessProgram()) {
|
||||||
program = script.getWitnessProgram();
|
program = script.getWitnessProgram();
|
||||||
|
|||||||
@ -8,6 +8,8 @@
|
|||||||
* Entered into the public domain by Vincent Rijmen.
|
* Entered into the public domain by Vincent Rijmen.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* jshint latedef: false */
|
||||||
|
|
||||||
var assert = require('assert');
|
var assert = require('assert');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -6,13 +6,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
var network = bcoin.protocol.network;
|
|
||||||
var BufferWriter = require('./writer');
|
|
||||||
var BufferReader = require('./reader');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a full block.
|
* Represents a full block.
|
||||||
@ -39,7 +35,7 @@ var BufferReader = require('./reader');
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function Block(data) {
|
function Block(data) {
|
||||||
var i, tx;
|
var i;
|
||||||
|
|
||||||
if (!(this instanceof Block))
|
if (!(this instanceof Block))
|
||||||
return new Block(data);
|
return new Block(data);
|
||||||
|
|||||||
@ -43,7 +43,7 @@ function Bloom(size, n, tweak, update) {
|
|||||||
this.reset();
|
this.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tweak == null || tweak == -1)
|
if (tweak == null || tweak === -1)
|
||||||
tweak = (Math.random() * 0x100000000) >>> 0;
|
tweak = (Math.random() * 0x100000000) >>> 0;
|
||||||
|
|
||||||
if (update == null || update === -1)
|
if (update == null || update === -1)
|
||||||
@ -248,7 +248,7 @@ RollingFilter.prototype.reset = function reset() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
RollingFilter.prototype.add = function add(val, enc) {
|
RollingFilter.prototype.add = function add(val, enc) {
|
||||||
var i, j, hash, bits, pos, pos1, pos2, bit, oct;
|
var i, hash, bits, pos, pos1, pos2, bit, oct;
|
||||||
var m1, m2, v1, v2, mhi, mlo;
|
var m1, m2, v1, v2, mhi, mlo;
|
||||||
|
|
||||||
if (typeof val === 'string')
|
if (typeof val === 'string')
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var DUMMY = new Buffer([0]);
|
var DUMMY = new Buffer([0]);
|
||||||
@ -112,7 +111,7 @@ BST.prototype.insert = function insert(key, value) {
|
|||||||
BST.prototype.remove = function remove(key) {
|
BST.prototype.remove = function remove(key) {
|
||||||
var current = this.root;
|
var current = this.root;
|
||||||
var left = false;
|
var left = false;
|
||||||
var parent, use;
|
var cmp, parent, use;
|
||||||
|
|
||||||
if (typeof key === 'string')
|
if (typeof key === 'string')
|
||||||
key = new Buffer(key, 'ascii');
|
key = new Buffer(key, 'ascii');
|
||||||
@ -426,8 +425,6 @@ BST.prototype.get = function get(key, options, callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
BST.prototype.put = function put(key, value, options, callback) {
|
BST.prototype.put = function put(key, value, options, callback) {
|
||||||
var item;
|
|
||||||
|
|
||||||
if (!callback) {
|
if (!callback) {
|
||||||
callback = options;
|
callback = options;
|
||||||
options = null;
|
options = null;
|
||||||
@ -449,8 +446,6 @@ BST.prototype.put = function put(key, value, options, callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
BST.prototype.del = function del(key, options, callback) {
|
BST.prototype.del = function del(key, options, callback) {
|
||||||
var item;
|
|
||||||
|
|
||||||
if (!callback) {
|
if (!callback) {
|
||||||
callback = options;
|
callback = options;
|
||||||
options = null;
|
options = null;
|
||||||
@ -690,7 +685,7 @@ Iterator.prototype.seek = function seek(key) {
|
|||||||
this.index += 1;
|
this.index += 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
Iterator.prototype._end = function end(callback) {
|
Iterator.prototype._end = function end() {
|
||||||
if (!this.tree)
|
if (!this.tree)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@ -348,7 +348,7 @@ Chain.prototype._preload = function _preload(callback) {
|
|||||||
stream.on('data', function(data) {
|
stream.on('data', function(data) {
|
||||||
var blocks = [];
|
var blocks = [];
|
||||||
var need = 80 - buf.size;
|
var need = 80 - buf.size;
|
||||||
var lastEntry, block, data, entry;
|
var i, lastEntry, block, entry;
|
||||||
|
|
||||||
while (data.length >= need) {
|
while (data.length >= need) {
|
||||||
buf.data.push(data.slice(0, need));
|
buf.data.push(data.slice(0, need));
|
||||||
@ -441,7 +441,7 @@ Chain.prototype._verifyContext = function _verifyContext(block, prev, callback)
|
|||||||
if (err)
|
if (err)
|
||||||
return callback(err);
|
return callback(err);
|
||||||
|
|
||||||
self._checkDuplicates(block, prev, function(err, result) {
|
self._checkDuplicates(block, prev, function(err) {
|
||||||
if (err)
|
if (err)
|
||||||
return callback(err);
|
return callback(err);
|
||||||
|
|
||||||
|
|||||||
@ -445,7 +445,6 @@ ChainDB.prototype.get = function get(hash, callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ChainDB.prototype.save = function save(entry, block, connect, callback) {
|
ChainDB.prototype.save = function save(entry, block, connect, callback) {
|
||||||
var self = this;
|
|
||||||
var batch, hash, height;
|
var batch, hash, height;
|
||||||
|
|
||||||
callback = utils.ensure(callback);
|
callback = utils.ensure(callback);
|
||||||
@ -515,7 +514,6 @@ ChainDB.prototype.getTip = function getTip(callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ChainDB.prototype.connect = function connect(entry, block, callback) {
|
ChainDB.prototype.connect = function connect(entry, block, callback) {
|
||||||
var self = this;
|
|
||||||
var batch = this.db.batch();
|
var batch = this.db.batch();
|
||||||
var hash = new Buffer(entry.hash, 'hex');
|
var hash = new Buffer(entry.hash, 'hex');
|
||||||
|
|
||||||
@ -725,8 +723,6 @@ ChainDB.prototype.has = function has(height, callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ChainDB.prototype.saveBlock = function saveBlock(block, batch, connect, callback) {
|
ChainDB.prototype.saveBlock = function saveBlock(block, batch, connect, callback) {
|
||||||
var i, j, tx, hash, addresses, address;
|
|
||||||
|
|
||||||
if (this.options.spv)
|
if (this.options.spv)
|
||||||
return utils.nextTick(callback);
|
return utils.nextTick(callback);
|
||||||
|
|
||||||
@ -748,7 +744,6 @@ ChainDB.prototype.saveBlock = function saveBlock(block, batch, connect, callback
|
|||||||
|
|
||||||
ChainDB.prototype.removeBlock = function removeBlock(hash, batch, callback) {
|
ChainDB.prototype.removeBlock = function removeBlock(hash, batch, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var i, tx;
|
|
||||||
|
|
||||||
if (this.options.spv)
|
if (this.options.spv)
|
||||||
return utils.nextTick(callback);
|
return utils.nextTick(callback);
|
||||||
@ -1133,6 +1128,10 @@ ChainDB.prototype.getCoinsByAddress = function getCoinsByAddress(addresses, call
|
|||||||
coins = coins.concat(coin);
|
coins = coins.concat(coin);
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
}, function(err) {
|
||||||
|
if (err)
|
||||||
|
return callback(err);
|
||||||
|
return callback(null, coins);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1250,8 +1249,6 @@ ChainDB.prototype._ensureBlock = function _ensureBlock(hash, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
ChainDB.prototype._ensureHistory = function _ensureHistory(hash, callback) {
|
ChainDB.prototype._ensureHistory = function _ensureHistory(hash, callback) {
|
||||||
var self = this;
|
|
||||||
|
|
||||||
if (hash instanceof bcoin.block)
|
if (hash instanceof bcoin.block)
|
||||||
return utils.asyncify(callback)(null, hash);
|
return utils.asyncify(callback)(null, hash);
|
||||||
|
|
||||||
@ -1429,7 +1426,7 @@ ChainDB.prototype.isSpentTX = function isSpentTX(hash, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
ChainDB.prototype._pruneBlock = function _pruneBlock(block, batch, callback) {
|
ChainDB.prototype._pruneBlock = function _pruneBlock(block, batch, callback) {
|
||||||
var futureHeight, i, j, key, tx, input;
|
var futureHeight, key;
|
||||||
|
|
||||||
if (this.options.spv)
|
if (this.options.spv)
|
||||||
return callback();
|
return callback();
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
|
|
||||||
|
|||||||
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
|
||||||
var constants = bcoin.protocol.constants;
|
|
||||||
var BufferReader = require('./reader');
|
var BufferReader = require('./reader');
|
||||||
var BufferWriter = require('./writer');
|
var BufferWriter = require('./writer');
|
||||||
|
|
||||||
|
|||||||
@ -6,9 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var utils = bcoin.utils;
|
|
||||||
var assert = utils.assert;
|
|
||||||
var constants = bcoin.protocol.constants;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A collections of {@link Coins} objects.
|
* A collections of {@link Coins} objects.
|
||||||
|
|||||||
@ -6,9 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A block object which is essentially a "placeholder"
|
* A block object which is essentially a "placeholder"
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var elliptic = require('elliptic');
|
var elliptic = require('elliptic');
|
||||||
|
var bn = require('bn.js');
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var crypto, secp256k1;
|
var crypto, secp256k1;
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
|
||||||
var fs;
|
var fs;
|
||||||
|
|
||||||
if (!utils.isBrowser)
|
if (!utils.isBrowser)
|
||||||
|
|||||||
@ -589,8 +589,6 @@ HDPrivateKey.prototype.deriveAccount44 = function deriveAccount44(accountIndex)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
HDPrivateKey.prototype.derivePurpose45 = function derivePurpose45() {
|
HDPrivateKey.prototype.derivePurpose45 = function derivePurpose45() {
|
||||||
var child;
|
|
||||||
|
|
||||||
if (this instanceof HDPublicKey) {
|
if (this instanceof HDPublicKey) {
|
||||||
assert(this.isPurpose45(), 'Cannot derive purpose 45.');
|
assert(this.isPurpose45(), 'Cannot derive purpose 45.');
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@ -69,19 +69,18 @@ HTTPBase.prototype._init = function _init() {
|
|||||||
|
|
||||||
HTTPBase.prototype._initIO = function _initIO() {
|
HTTPBase.prototype._initIO = function _initIO() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var io;
|
var IOServer;
|
||||||
|
|
||||||
return;
|
|
||||||
try {
|
try {
|
||||||
io = require('socket.io');
|
IOServer = require('socket.io');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!io)
|
if (!IOServer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.io = new io.Server();
|
this.io = new IOServer();
|
||||||
|
|
||||||
this.io.attach(this.server);
|
this.io.attach(this.server);
|
||||||
|
|
||||||
@ -494,10 +493,6 @@ function parsePath(req) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function escape(str) {
|
|
||||||
return encodeURIComponent(str).replace(/%20/g, '+');
|
|
||||||
}
|
|
||||||
|
|
||||||
function unescape(str) {
|
function unescape(str) {
|
||||||
try {
|
try {
|
||||||
str = decodeURIComponent(str).replace(/\+/g, ' ');
|
str = decodeURIComponent(str).replace(/\+/g, ' ');
|
||||||
|
|||||||
@ -43,19 +43,18 @@ utils.inherits(HTTPClient, EventEmitter);
|
|||||||
|
|
||||||
HTTPClient.prototype._init = function _init() {
|
HTTPClient.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var io;
|
var IOClient;
|
||||||
|
|
||||||
return;
|
|
||||||
try {
|
try {
|
||||||
io = require('socket.io');
|
IOClient = require('socket.io-client');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!io)
|
if (!IOClient)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.socket = new io.Socket(this.uri);
|
this.socket = new IOClient(this.uri);
|
||||||
|
|
||||||
this.socket.on('error', function(err) {
|
this.socket.on('error', function(err) {
|
||||||
self.emit('error', err);
|
self.emit('error', err);
|
||||||
@ -325,7 +324,6 @@ HTTPClient.prototype._getWallet = function getWallet(id, callback) {
|
|||||||
|
|
||||||
HTTPClient.prototype.getWallet = function getWallet(id, passphrase, callback) {
|
HTTPClient.prototype.getWallet = function getWallet(id, passphrase, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var provider;
|
|
||||||
|
|
||||||
return this._getWallet(id, function(err, json) {
|
return this._getWallet(id, function(err, json) {
|
||||||
if (err)
|
if (err)
|
||||||
|
|||||||
@ -5,6 +5,8 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* jshint -W069 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @module request
|
* @module request
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -385,7 +385,7 @@ HTTPServer.prototype._init = function _init() {
|
|||||||
var now = req.options.now;
|
var now = req.options.now;
|
||||||
var age = req.options.age;
|
var age = req.options.age;
|
||||||
|
|
||||||
self.walletdb.zapWallet(id, now, age, function(err, wallet) {
|
self.walletdb.zapWallet(id, now, age, function(err) {
|
||||||
if (err)
|
if (err)
|
||||||
return next(err);
|
return next(err);
|
||||||
|
|
||||||
@ -427,9 +427,6 @@ HTTPServer.prototype._init = function _init() {
|
|||||||
if (err)
|
if (err)
|
||||||
return next(err);
|
return next(err);
|
||||||
|
|
||||||
if (!json)
|
|
||||||
return send(404);
|
|
||||||
|
|
||||||
send(200, { success: true });
|
send(200, { success: true });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -592,7 +589,7 @@ HTTPServer.prototype._init = function _init() {
|
|||||||
this.post('/broadcast', function(req, res, next, send) {
|
this.post('/broadcast', function(req, res, next, send) {
|
||||||
self.pool.sendTX(req.options.tx, function(err) {
|
self.pool.sendTX(req.options.tx, function(err) {
|
||||||
if (err)
|
if (err)
|
||||||
return callback(err);
|
return next(err);
|
||||||
|
|
||||||
send(200, {
|
send(200, {
|
||||||
success: true
|
success: true
|
||||||
|
|||||||
@ -180,7 +180,7 @@ Input.prototype.getAddress = function getAddress() {
|
|||||||
* @returns {Hash} hash
|
* @returns {Hash} hash
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Input.prototype.getHash = function getHash(enc) {
|
Input.prototype.getHash = function getHash() {
|
||||||
var address = this.getAddress();
|
var address = this.getAddress();
|
||||||
if (!address)
|
if (!address)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -167,7 +167,7 @@ KeyPair.parseSecret = function parseSecret(secret) {
|
|||||||
var data = utils.fromBase58(secret);
|
var data = utils.fromBase58(secret);
|
||||||
var p = new BufferReader(data, true);
|
var p = new BufferReader(data, true);
|
||||||
var compressed = false;
|
var compressed = false;
|
||||||
var prefix, type, privateKey;
|
var i, prefix, type, privateKey;
|
||||||
|
|
||||||
prefix = p.readU8();
|
prefix = p.readU8();
|
||||||
|
|
||||||
|
|||||||
@ -8,9 +8,6 @@
|
|||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var networks = bcoin.protocol.network;
|
|
||||||
var BufferWriter = require('./writer');
|
|
||||||
var BufferReader = require('./reader');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a key ring which amounts to an address. Used for {@link Wallet}.
|
* Represents a key ring which amounts to an address. Used for {@link Wallet}.
|
||||||
|
|||||||
@ -68,7 +68,7 @@ function ldb(options) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ldb.getName = function getName(db) {
|
ldb.getName = function getName(db) {
|
||||||
var ext;
|
var name, ext;
|
||||||
|
|
||||||
if (!db)
|
if (!db)
|
||||||
db = bcoin.db || 'leveldb';
|
db = bcoin.db || 'leveldb';
|
||||||
|
|||||||
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bn = require('bn.js');
|
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
@ -21,6 +20,7 @@ var BufferReader = require('./reader');
|
|||||||
var VerifyError = bcoin.errors.VerifyError;
|
var VerifyError = bcoin.errors.VerifyError;
|
||||||
var pad32 = utils.pad32;
|
var pad32 = utils.pad32;
|
||||||
var DUMMY = new Buffer([0]);
|
var DUMMY = new Buffer([0]);
|
||||||
|
var ptrSize;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a mempool.
|
* Represents a mempool.
|
||||||
@ -227,9 +227,7 @@ Mempool.prototype.destroy = function destroy(callback) {
|
|||||||
|
|
||||||
Mempool.prototype.addBlock = function addBlock(block, callback, force) {
|
Mempool.prototype.addBlock = function addBlock(block, callback, force) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var txs = [];
|
|
||||||
var unlock = this._lock(addBlock, [block, callback], force);
|
var unlock = this._lock(addBlock, [block, callback], force);
|
||||||
var entry;
|
|
||||||
|
|
||||||
if (!unlock)
|
if (!unlock)
|
||||||
return;
|
return;
|
||||||
@ -238,7 +236,6 @@ Mempool.prototype.addBlock = function addBlock(block, callback, force) {
|
|||||||
|
|
||||||
utils.forEachSerial(block.txs.slice().reverse(), function(tx, next) {
|
utils.forEachSerial(block.txs.slice().reverse(), function(tx, next) {
|
||||||
var hash = tx.hash('hex');
|
var hash = tx.hash('hex');
|
||||||
var copy;
|
|
||||||
|
|
||||||
if (tx.isCoinbase())
|
if (tx.isCoinbase())
|
||||||
return next();
|
return next();
|
||||||
@ -334,7 +331,7 @@ Mempool.prototype.limitMempoolSize = function limitMempoolSize(entryHash, callba
|
|||||||
if (err)
|
if (err)
|
||||||
return callback(err);
|
return callback(err);
|
||||||
|
|
||||||
utils.forEachSerial(function(entry, next) {
|
utils.forEachSerial(entries, function(entry, next) {
|
||||||
if (self.getSize() <= self.maxSize)
|
if (self.getSize() <= self.maxSize)
|
||||||
return callback(null, trimmed);
|
return callback(null, trimmed);
|
||||||
|
|
||||||
@ -623,7 +620,7 @@ Mempool.prototype.addTX = function addTX(tx, callback, force) {
|
|||||||
var lockFlags = constants.flags.STANDARD_LOCKTIME_FLAGS;
|
var lockFlags = constants.flags.STANDARD_LOCKTIME_FLAGS;
|
||||||
var hash = tx.hash('hex');
|
var hash = tx.hash('hex');
|
||||||
var ret = {};
|
var ret = {};
|
||||||
var now, entry;
|
var entry;
|
||||||
|
|
||||||
var unlock = this._lock(addTX, [tx, callback], force);
|
var unlock = this._lock(addTX, [tx, callback], force);
|
||||||
if (!unlock)
|
if (!unlock)
|
||||||
@ -840,7 +837,7 @@ Mempool.prototype.removeUnchecked = function removeUnchecked(entry, limit, callb
|
|||||||
|
|
||||||
callback = utils.wrap(callback, unlock);
|
callback = utils.wrap(callback, unlock);
|
||||||
|
|
||||||
this.fillAllHistory(entry.tx, function(err, tx) {
|
this.fillAllHistory(entry.tx, function(err) {
|
||||||
if (err)
|
if (err)
|
||||||
return callback(err);
|
return callback(err);
|
||||||
|
|
||||||
@ -1061,7 +1058,7 @@ Mempool.prototype.countAncestors = function countAncestors(tx, callback) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
var max = 0;
|
var max = 0;
|
||||||
|
|
||||||
utils.forEachSerial(tx.inputs, function(input, next, i) {
|
utils.forEachSerial(tx.inputs, function(input, next) {
|
||||||
var count = 0;
|
var count = 0;
|
||||||
self.getTX(input.prevout.hash, function(err, tx) {
|
self.getTX(input.prevout.hash, function(err, tx) {
|
||||||
if (err)
|
if (err)
|
||||||
@ -1099,7 +1096,7 @@ Mempool.prototype.countAncestors = function countAncestors(tx, callback) {
|
|||||||
|
|
||||||
Mempool.prototype.storeOrphan = function storeOrphan(tx) {
|
Mempool.prototype.storeOrphan = function storeOrphan(tx) {
|
||||||
var prevout = {};
|
var prevout = {};
|
||||||
var i, hash, batch, input, prev;
|
var i, hash, input, prev;
|
||||||
|
|
||||||
if (tx.getSize() > 5000) {
|
if (tx.getSize() > 5000) {
|
||||||
bcoin.debug('Ignoring large orphan: %s', tx.rhash);
|
bcoin.debug('Ignoring large orphan: %s', tx.rhash);
|
||||||
@ -1434,7 +1431,7 @@ Mempool.prototype.isDoubleSpend = function isDoubleSpend(tx, callback) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate bitcoinj-style confidence.
|
* Calculate bitcoinj-style confidence.
|
||||||
* @see https://github.com/bitcoinj/bitcoinj/blob/master/core/src/main/java/org/bitcoinj/core/TransactionConfidence.java
|
* @see http://bit.ly/1OVQwlO
|
||||||
* @param {TX|Hash} hash
|
* @param {TX|Hash} hash
|
||||||
* @param {Function} callback - Returns [Error, Number].
|
* @param {Function} callback - Returns [Error, Number].
|
||||||
*/
|
*/
|
||||||
@ -1513,7 +1510,6 @@ Mempool.prototype.getConfidence = function getConfidence(hash, callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Mempool.prototype._addUnchecked = function _addUnchecked(entry, callback) {
|
Mempool.prototype._addUnchecked = function _addUnchecked(entry, callback) {
|
||||||
var self = this;
|
|
||||||
var tx = entry.tx;
|
var tx = entry.tx;
|
||||||
var hash = tx.hash('hex');
|
var hash = tx.hash('hex');
|
||||||
var i, addresses, address, input, output, key, coin, batch;
|
var i, addresses, address, input, output, key, coin, batch;
|
||||||
@ -1579,7 +1575,7 @@ Mempool.prototype._addUnchecked = function _addUnchecked(entry, callback) {
|
|||||||
|
|
||||||
Mempool.prototype._removeUnchecked = function _removeUnchecked(hash, limit, callback) {
|
Mempool.prototype._removeUnchecked = function _removeUnchecked(hash, limit, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var batch, i, addresses, output, tx;
|
var batch, i, addresses, tx;
|
||||||
|
|
||||||
if (hash.tx)
|
if (hash.tx)
|
||||||
hash = hash.tx.hash('hex');
|
hash = hash.tx.hash('hex');
|
||||||
@ -1642,7 +1638,8 @@ Mempool.prototype._removeUnchecked = function _removeUnchecked(hash, limit, call
|
|||||||
return callback(err);
|
return callback(err);
|
||||||
|
|
||||||
utils.forEachSerial(tx.outputs, function(output, next, i) {
|
utils.forEachSerial(tx.outputs, function(output, next, i) {
|
||||||
key = hash + '/' + i;
|
var key = hash + '/' + i;
|
||||||
|
var address;
|
||||||
|
|
||||||
if (output.script.isUnspendable())
|
if (output.script.isUnspendable())
|
||||||
return next();
|
return next();
|
||||||
@ -1718,9 +1715,9 @@ Mempool.prototype.memUsageAccurate = function memUsageAccurate(tx) {
|
|||||||
|
|
||||||
Mempool.prototype.memUsageBitcoind = function memUsageBitcoind(tx) {
|
Mempool.prototype.memUsageBitcoind = function memUsageBitcoind(tx) {
|
||||||
var mem = 0;
|
var mem = 0;
|
||||||
var i, input;
|
var i, j, input;
|
||||||
|
|
||||||
mem += mallocUsage(tx.inputs.length)
|
mem += mallocUsage(tx.inputs.length);
|
||||||
mem += mallocUsage(tx.outputs.length);
|
mem += mallocUsage(tx.outputs.length);
|
||||||
|
|
||||||
for (i = 0; i < tx.inputs.length; i++)
|
for (i = 0; i < tx.inputs.length; i++)
|
||||||
@ -1908,7 +1905,7 @@ MempoolEntry.prototype.isFree = function isFree(height) {
|
|||||||
* @const {Number}
|
* @const {Number}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var ptrSize = (process.platform == null
|
ptrSize = (process.platform == null
|
||||||
|| process.platform === 'x64'
|
|| process.platform === 'x64'
|
||||||
|| process.platform === 'ia64'
|
|| process.platform === 'ia64'
|
||||||
|| process.platform === 'arm') ? 8 : 4;
|
|| process.platform === 'arm') ? 8 : 4;
|
||||||
|
|||||||
@ -165,7 +165,6 @@ MerkleBlock.prototype.verifyPartial = function verifyPartial() {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
MerkleBlock.prototype.extractTree = function extractTree() {
|
MerkleBlock.prototype.extractTree = function extractTree() {
|
||||||
var self = this;
|
|
||||||
var hashes = this.hashes;
|
var hashes = this.hashes;
|
||||||
var flags = this.flags;
|
var flags = this.flags;
|
||||||
var bitsUsed = 0;
|
var bitsUsed = 0;
|
||||||
@ -221,9 +220,9 @@ MerkleBlock.prototype.extractTree = function extractTree() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (p = 0; p < bits.length; p++)
|
for (p = 0; p < bits.length; p++)
|
||||||
bits[p] = (flags[p / 8 | 0] & (1 << (p % 8))) !== 0;
|
bits[p] = +((flags[p / 8 | 0] & (1 << (p % 8))) !== 0);
|
||||||
|
|
||||||
if (totalTX == 0)
|
if (totalTX === 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (totalTX > constants.block.MAX_SIZE / 60)
|
if (totalTX > constants.block.MAX_SIZE / 60)
|
||||||
@ -247,7 +246,7 @@ MerkleBlock.prototype.extractTree = function extractTree() {
|
|||||||
if (((bitsUsed + 7) / 8 | 0) !== ((bits.length + 7) / 8 | 0))
|
if (((bitsUsed + 7) / 8 | 0) !== ((bits.length + 7) / 8 | 0))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (hashUsed != hashes.length)
|
if (hashUsed !== hashes.length)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -315,8 +315,6 @@ Miner.prototype.createBlock = function createBlock(version, callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Miner.prototype.mineBlock = function mineBlock(version, callback) {
|
Miner.prototype.mineBlock = function mineBlock(version, callback) {
|
||||||
var self = this;
|
|
||||||
|
|
||||||
if (typeof version === 'function') {
|
if (typeof version === 'function') {
|
||||||
callback = version;
|
callback = version;
|
||||||
version = null;
|
version = null;
|
||||||
|
|||||||
@ -6,12 +6,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
var Script = bcoin.script;
|
var Script = bcoin.script;
|
||||||
var Witness = bcoin.witness;
|
|
||||||
var opcodes = constants.opcodes;
|
var opcodes = constants.opcodes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -363,7 +361,7 @@ MTX.prototype.createSignature = function createSignature(index, prev, key, type,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
MTX.prototype.signInput = function signInput(index, addr, type) {
|
MTX.prototype.signInput = function signInput(index, addr, type) {
|
||||||
var input, prev, signature, index, signatures, i;
|
var input, prev, signature, keyIndex, signatures, i;
|
||||||
var len, m, n, keys, vector, dummy, version;
|
var len, m, n, keys, vector, dummy, version;
|
||||||
|
|
||||||
if (typeof index !== 'number')
|
if (typeof index !== 'number')
|
||||||
@ -500,25 +498,25 @@ MTX.prototype.signInput = function signInput(index, addr, type) {
|
|||||||
|
|
||||||
// Find the key index so we can place
|
// Find the key index so we can place
|
||||||
// the signature in the same index.
|
// the signature in the same index.
|
||||||
index = utils.indexOf(keys, addr.publicKey);
|
keyIndex = utils.indexOf(keys, addr.publicKey);
|
||||||
|
|
||||||
// Our public key is not in the prev_out
|
// Our public key is not in the prev_out
|
||||||
// script. We tried to sign a transaction
|
// script. We tried to sign a transaction
|
||||||
// that is not redeemable by us.
|
// that is not redeemable by us.
|
||||||
if (index === -1)
|
if (keyIndex === -1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Offset key index by one to turn it into
|
// Offset key index by one to turn it into
|
||||||
// "sig index". Accounts for OP_0 byte at
|
// "sig index". Accounts for OP_0 byte at
|
||||||
// the start.
|
// the start.
|
||||||
index++;
|
keyIndex++;
|
||||||
|
|
||||||
// Add our signature to the correct slot
|
// Add our signature to the correct slot
|
||||||
// and increment the total number of
|
// and increment the total number of
|
||||||
// signatures.
|
// signatures.
|
||||||
if (index < len && signatures < m) {
|
if (keyIndex < len && signatures < m) {
|
||||||
if (Script.isZero(vector[index])) {
|
if (Script.isZero(vector[keyIndex])) {
|
||||||
vector[index] = signature;
|
vector[keyIndex] = signature;
|
||||||
signatures++;
|
signatures++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -558,7 +556,6 @@ MTX.prototype.signInput = function signInput(index, addr, type) {
|
|||||||
|
|
||||||
MTX.prototype.isSigned = function isSigned() {
|
MTX.prototype.isSigned = function isSigned() {
|
||||||
var i, input, prev, vector, m, len, j;
|
var i, input, prev, vector, m, len, j;
|
||||||
var total = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < this.inputs.length; i++) {
|
for (i = 0; i < this.inputs.length; i++) {
|
||||||
input = this.inputs[i];
|
input = this.inputs[i];
|
||||||
@ -946,7 +943,7 @@ MTX.prototype.selectCoins = function selectCoins(coins, options) {
|
|||||||
var index = 0;
|
var index = 0;
|
||||||
var tx = this.clone();
|
var tx = this.clone();
|
||||||
var outputValue = tx.getOutputValue();
|
var outputValue = tx.getOutputValue();
|
||||||
var tryFree, i, size, change, fee, min, output;
|
var tryFree, i, size, change, fee, min, output, err;
|
||||||
|
|
||||||
if (!options)
|
if (!options)
|
||||||
options = {};
|
options = {};
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
|
var constants = bcoin.protocol.constants;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var BufferWriter = require('./writer');
|
var BufferWriter = require('./writer');
|
||||||
var Framer = bcoin.protocol.framer;
|
var Framer = bcoin.protocol.framer;
|
||||||
|
|||||||
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
@ -314,7 +313,6 @@ Peer.prototype.createSocket = function createSocket(port, host) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Peer.prototype.announce = function announce(items) {
|
Peer.prototype.announce = function announce(items) {
|
||||||
var self = this;
|
|
||||||
var inv = [];
|
var inv = [];
|
||||||
var headers = [];
|
var headers = [];
|
||||||
var i, item;
|
var i, item;
|
||||||
@ -364,7 +362,6 @@ Peer.prototype.announce = function announce(items) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Peer.prototype.sendInv = function sendInv(items) {
|
Peer.prototype.sendInv = function sendInv(items) {
|
||||||
var self = this;
|
|
||||||
var inv = [];
|
var inv = [];
|
||||||
var i, item, chunk;
|
var i, item, chunk;
|
||||||
|
|
||||||
@ -392,7 +389,6 @@ Peer.prototype.sendInv = function sendInv(items) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Peer.prototype.sendHeaders = function sendHeaders(items) {
|
Peer.prototype.sendHeaders = function sendHeaders(items) {
|
||||||
var self = this;
|
|
||||||
var headers = [];
|
var headers = [];
|
||||||
var i, item, chunk;
|
var i, item, chunk;
|
||||||
|
|
||||||
@ -893,7 +889,7 @@ Peer.prototype._handleGetUTXOs = function _handleGetUTXOs(payload) {
|
|||||||
if (payload.prevout.length > 15)
|
if (payload.prevout.length > 15)
|
||||||
return done();
|
return done();
|
||||||
|
|
||||||
utils.forEachSerial(payload.prevout, function(prevout, next, i) {
|
utils.forEachSerial(payload.prevout, function(prevout, next) {
|
||||||
var hash = prevout.hash;
|
var hash = prevout.hash;
|
||||||
var index = prevout.index;
|
var index = prevout.index;
|
||||||
|
|
||||||
@ -1079,6 +1075,7 @@ Peer.prototype._handleGetBlocks = function _handleGetBlocks(payload) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Peer.prototype._handleVersion = function _handleVersion(payload) {
|
Peer.prototype._handleVersion = function _handleVersion(payload) {
|
||||||
|
var self = this;
|
||||||
var version = payload.version;
|
var version = payload.version;
|
||||||
var services = payload.services;
|
var services = payload.services;
|
||||||
|
|
||||||
@ -1451,7 +1448,7 @@ Peer.prototype._handleGetAddr = function _handleGetAddr() {
|
|||||||
var hosts = {};
|
var hosts = {};
|
||||||
var items = [];
|
var items = [];
|
||||||
var ts = utils.now() - (process.uptime() | 0);
|
var ts = utils.now() - (process.uptime() | 0);
|
||||||
var i, seed, peer;
|
var i, seed;
|
||||||
|
|
||||||
if (this.pool.options.selfish)
|
if (this.pool.options.selfish)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -74,7 +74,6 @@ var VerifyError = bcoin.errors.VerifyError;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function Pool(options) {
|
function Pool(options) {
|
||||||
var self = this;
|
|
||||||
var seeds;
|
var seeds;
|
||||||
|
|
||||||
if (!(this instanceof Pool))
|
if (!(this instanceof Pool))
|
||||||
@ -219,6 +218,7 @@ Pool.prototype.open = function open(callback) {
|
|||||||
|
|
||||||
Pool.prototype.connect = function connect() {
|
Pool.prototype.connect = function connect() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
var i;
|
||||||
|
|
||||||
assert(this.loaded, 'Pool is not loaded.');
|
assert(this.loaded, 'Pool is not loaded.');
|
||||||
|
|
||||||
@ -257,7 +257,6 @@ Pool.prototype.connect = function connect() {
|
|||||||
|
|
||||||
Pool.prototype._init = function _init() {
|
Pool.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var i;
|
|
||||||
|
|
||||||
if (this.mempool) {
|
if (this.mempool) {
|
||||||
this.mempool.on('bad orphan', function(tx) {
|
this.mempool.on('bad orphan', function(tx) {
|
||||||
@ -725,12 +724,12 @@ Pool.prototype._handleHeaders = function _handleHeaders(headers, peer, callback)
|
|||||||
var hash = header.hash('hex');
|
var hash = header.hash('hex');
|
||||||
|
|
||||||
if (last && header.prevBlock !== last) {
|
if (last && header.prevBlock !== last) {
|
||||||
peer.sendReject(block, 'invalid', 'bad-prevblk', 100);
|
peer.sendReject(header, 'invalid', 'bad-prevblk', 100);
|
||||||
return next(new Error('Bad header chain.'));
|
return next(new Error('Bad header chain.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!header.verify(ret)) {
|
if (!header.verify(ret)) {
|
||||||
peer.sendReject(block, 'invalid', ret.reason, 100);
|
peer.sendReject(header, 'invalid', ret.reason, 100);
|
||||||
self.rejects.add(header.hash());
|
self.rejects.add(header.hash());
|
||||||
return next(new VerifyError(header, 'invalid', ret.reason, ret.score));
|
return next(new VerifyError(header, 'invalid', ret.reason, ret.score));
|
||||||
}
|
}
|
||||||
@ -997,7 +996,7 @@ Pool.prototype._createPeer = function _createPeer(options) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
peer.on('notfound', function(items) {
|
peer.on('notfound', function(items) {
|
||||||
var i, item;
|
var i, item, req;
|
||||||
|
|
||||||
for (i = 0; i < items.length; i++) {
|
for (i = 0; i < items.length; i++) {
|
||||||
item = items[i];
|
item = items[i];
|
||||||
@ -1223,8 +1222,6 @@ Pool.prototype._addPeer = function _addPeer() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
peer.once('ack', function() {
|
peer.once('ack', function() {
|
||||||
var i;
|
|
||||||
|
|
||||||
if (self.destroyed)
|
if (self.destroyed)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -1289,8 +1286,6 @@ Pool.prototype._removePeer = function _removePeer(peer) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Pool.prototype.watch = function watch(data) {
|
Pool.prototype.watch = function watch(data) {
|
||||||
var self = this;
|
|
||||||
|
|
||||||
if (Buffer.isBuffer(data))
|
if (Buffer.isBuffer(data))
|
||||||
data = data.toString('hex');
|
data = data.toString('hex');
|
||||||
|
|
||||||
@ -1317,8 +1312,6 @@ Pool.prototype.watch = function watch(data) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Pool.prototype.unwatch = function unwatch(data) {
|
Pool.prototype.unwatch = function unwatch(data) {
|
||||||
var self = this;
|
|
||||||
|
|
||||||
if (Buffer.isBuffer(data))
|
if (Buffer.isBuffer(data))
|
||||||
data = data.toString('hex');
|
data = data.toString('hex');
|
||||||
|
|
||||||
@ -1868,7 +1861,6 @@ Pool.prototype.getUTXOs = function getUTXOs(utxos, callback) {
|
|||||||
|
|
||||||
Pool.prototype.fillHistory = function fillHistory(tx, callback) {
|
Pool.prototype.fillHistory = function fillHistory(tx, callback) {
|
||||||
var utxos = [];
|
var utxos = [];
|
||||||
var reqs = [];
|
|
||||||
var i, input;
|
var i, input;
|
||||||
|
|
||||||
for (i = 0; i < tx.inputs.length; i++) {
|
for (i = 0; i < tx.inputs.length; i++) {
|
||||||
@ -1965,7 +1957,7 @@ Pool.prototype._getRandom = function _getRandom(seeds, uniq) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Pool.prototype.setSeeds = function setSeeds(seeds) {
|
Pool.prototype.setSeeds = function setSeeds(seeds) {
|
||||||
var i, seed;
|
var i;
|
||||||
|
|
||||||
this.seeds = [];
|
this.seeds = [];
|
||||||
this.hosts = {};
|
this.hosts = {};
|
||||||
@ -2358,9 +2350,6 @@ BroadcastItem.prototype.addCallback = function addCallback(callback) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
BroadcastItem.prototype.start = function start() {
|
BroadcastItem.prototype.start = function start() {
|
||||||
var self = this;
|
|
||||||
var i;
|
|
||||||
|
|
||||||
assert(!this.timeout, 'Already started.');
|
assert(!this.timeout, 'Already started.');
|
||||||
assert(!this.pool.inv.map[this.hash], 'Already started.');
|
assert(!this.pool.inv.map[this.hash], 'Already started.');
|
||||||
|
|
||||||
@ -2429,7 +2418,6 @@ BroadcastItem.prototype.finish = function finish(err) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
BroadcastItem.prototype.send = function send(peer, witness) {
|
BroadcastItem.prototype.send = function send(peer, witness) {
|
||||||
var self = this;
|
|
||||||
var data;
|
var data;
|
||||||
|
|
||||||
if (!this.msg) {
|
if (!this.msg) {
|
||||||
|
|||||||
@ -837,10 +837,9 @@ Framer.witnessTX = function _witnessTX(tx, writer) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Framer.script = function _script(script, writer) {
|
Framer.script = function _script(script, writer) {
|
||||||
|
var p = new BufferWriter(writer);
|
||||||
var data;
|
var data;
|
||||||
|
|
||||||
p = new BufferWriter(writer);
|
|
||||||
|
|
||||||
if (script.encode)
|
if (script.encode)
|
||||||
data = script.encode();
|
data = script.encode();
|
||||||
else
|
else
|
||||||
@ -979,7 +978,7 @@ Framer.extendedTX = function extendedTX(tx, saveCoins, writer) {
|
|||||||
var index = tx.index;
|
var index = tx.index;
|
||||||
var changeIndex = tx.changeIndex != null ? tx.changeIndex : -1;
|
var changeIndex = tx.changeIndex != null ? tx.changeIndex : -1;
|
||||||
var p = new BufferWriter(writer);
|
var p = new BufferWriter(writer);
|
||||||
var i, input, tmp;
|
var i, input;
|
||||||
|
|
||||||
if (height === -1)
|
if (height === -1)
|
||||||
height = 0x7fffffff;
|
height = 0x7fffffff;
|
||||||
@ -1141,7 +1140,7 @@ Framer.reject = function reject(details, writer) {
|
|||||||
var ccode = details.ccode;
|
var ccode = details.ccode;
|
||||||
|
|
||||||
if (typeof ccode === 'string')
|
if (typeof ccode === 'string')
|
||||||
ccode = constants.reject[ccode.toUpperCase()]
|
ccode = constants.reject[ccode.toUpperCase()];
|
||||||
|
|
||||||
if (!ccode)
|
if (!ccode)
|
||||||
ccode = constants.reject.INVALID;
|
ccode = constants.reject.INVALID;
|
||||||
@ -1293,7 +1292,7 @@ Framer.getUTXOs = function getUTXOs(data, writer) {
|
|||||||
|
|
||||||
Framer.UTXOs = function UTXOs(data, writer) {
|
Framer.UTXOs = function UTXOs(data, writer) {
|
||||||
var p = new BufferWriter(writer);
|
var p = new BufferWriter(writer);
|
||||||
var i, j, coin, height, index, map;
|
var i, coin, height, map;
|
||||||
|
|
||||||
if (!data.map) {
|
if (!data.map) {
|
||||||
assert(data.hits);
|
assert(data.hits);
|
||||||
@ -1515,7 +1514,7 @@ Framer.block.size = function blockSize(block) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Framer.tx.size = function txSize(tx) {
|
Framer.tx.size = function txSize(tx) {
|
||||||
var writer = new BufferWriter()
|
var writer = new BufferWriter();
|
||||||
Framer.renderTX(tx, false, writer);
|
Framer.renderTX(tx, false, writer);
|
||||||
return writer.written;
|
return writer.written;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var utils = require('../utils');
|
var utils = require('../utils');
|
||||||
var assert = utils.assert;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @module network
|
* @module network
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('../env');
|
var bcoin = require('../env');
|
||||||
|
var bn = require('bn.js');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var utils = require('../utils');
|
var utils = require('../utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
@ -181,7 +182,6 @@ Parser.parseMempool = function parseMempool(p) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Parser.parseSubmitOrder = function parseSubmitOrder(p) {
|
Parser.parseSubmitOrder = function parseSubmitOrder(p) {
|
||||||
var hash, tx;
|
|
||||||
p = new BufferReader(p);
|
p = new BufferReader(p);
|
||||||
return {
|
return {
|
||||||
hash: p.readHash('hex'),
|
hash: p.readHash('hex'),
|
||||||
@ -206,7 +206,6 @@ Parser.parseCheckOrder = function parseCheckOrder(p) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Parser.parseReply = function parseReply(p) {
|
Parser.parseReply = function parseReply(p) {
|
||||||
var hash, code, publicKey;
|
|
||||||
p = new BufferReader(p);
|
p = new BufferReader(p);
|
||||||
return {
|
return {
|
||||||
hash: p.readHash('hex'),
|
hash: p.readHash('hex'),
|
||||||
@ -403,7 +402,7 @@ Parser.parseGetUTXOs = function parseGetUTXOs(p) {
|
|||||||
|
|
||||||
Parser.parseUTXOs = function parseUTXOs(p) {
|
Parser.parseUTXOs = function parseUTXOs(p) {
|
||||||
var chainHeight, tip, map, count, coins;
|
var chainHeight, tip, map, count, coins;
|
||||||
var coin, version, height, i, hits, ch, j;
|
var coin, version, height, i, hits, j;
|
||||||
|
|
||||||
p = new BufferReader(p);
|
p = new BufferReader(p);
|
||||||
|
|
||||||
@ -1245,7 +1244,7 @@ Parser.parseAlert = function parseAlert(p) {
|
|||||||
var version, relayUntil, expiration, id, cancel;
|
var version, relayUntil, expiration, id, cancel;
|
||||||
var cancels, count, i, minVer, maxVer, subVers;
|
var cancels, count, i, minVer, maxVer, subVers;
|
||||||
var priority, comment, statusBar, reserved;
|
var priority, comment, statusBar, reserved;
|
||||||
var payload;
|
var payload, signature;
|
||||||
|
|
||||||
p = new BufferReader(p);
|
p = new BufferReader(p);
|
||||||
|
|
||||||
|
|||||||
@ -123,7 +123,7 @@ Witness.prototype.getInputType = function getInputType() {
|
|||||||
* @returns {String|null}
|
* @returns {String|null}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Witness.prototype.getInputAddress = function getInputAddress(network) {
|
Witness.prototype.getInputAddress = function getInputAddress() {
|
||||||
return bcoin.address.fromWitness(this);
|
return bcoin.address.fromWitness(this);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -251,7 +251,7 @@ Witness.fromRaw = function fromRaw(data, enc) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Witness.fromString = function fromString(items) {
|
Witness.fromString = function fromString(items) {
|
||||||
var result;
|
var i, result;
|
||||||
|
|
||||||
if (!Array.isArray(items)) {
|
if (!Array.isArray(items)) {
|
||||||
if (typeof items !== 'string')
|
if (typeof items !== 'string')
|
||||||
@ -991,7 +991,7 @@ Script.prototype.execute = function execute(stack, flags, tx, index, version) {
|
|||||||
var op, val, v1, v2, v3;
|
var op, val, v1, v2, v3;
|
||||||
var n, n1, n2, n3;
|
var n, n1, n2, n3;
|
||||||
var res, key, sig, type, subscript, hash;
|
var res, key, sig, type, subscript, hash;
|
||||||
var keys, i, j, m, ikey, isig;
|
var i, j, m, ikey, isig;
|
||||||
var locktime;
|
var locktime;
|
||||||
|
|
||||||
if (flags == null)
|
if (flags == null)
|
||||||
@ -1829,7 +1829,7 @@ Script.bool = function bool(value) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Script.num = function num(value, flags, size) {
|
Script.num = function num(value, flags, size) {
|
||||||
var result, n;
|
var result;
|
||||||
|
|
||||||
assert(Buffer.isBuffer(value));
|
assert(Buffer.isBuffer(value));
|
||||||
|
|
||||||
@ -3472,6 +3472,8 @@ Script.prototype.getScripthashSigops = function getScripthashSigops(input) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Script.witnessSigops = function witnessSigops(program, witness, flags) {
|
Script.witnessSigops = function witnessSigops(program, witness, flags) {
|
||||||
|
var redeem;
|
||||||
|
|
||||||
if (flags == null)
|
if (flags == null)
|
||||||
flags = constants.flags.STANDARD_VERIFY_FLAGS;
|
flags = constants.flags.STANDARD_VERIFY_FLAGS;
|
||||||
|
|
||||||
@ -3599,7 +3601,7 @@ Script.fromString = function fromString(code) {
|
|||||||
if (op[0] === '\'') {
|
if (op[0] === '\'') {
|
||||||
assert(op[op.length - 1] === '\'', 'Unknown opcode.');
|
assert(op[op.length - 1] === '\'', 'Unknown opcode.');
|
||||||
op = op.slice(1, -1);
|
op = op.slice(1, -1);
|
||||||
op = new Buffer(op, 'ascii')
|
op = new Buffer(op, 'ascii');
|
||||||
p.writeBytes(Script.encode([op]));
|
p.writeBytes(Script.encode([op]));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,6 @@
|
|||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An object which handles "adjusted time". This may not
|
* An object which handles "adjusted time". This may not
|
||||||
|
|||||||
@ -6,13 +6,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
var Script = bcoin.script;
|
var Script = bcoin.script;
|
||||||
var Stack = bcoin.stack;
|
var Stack = bcoin.stack;
|
||||||
var BufferReader = require('./reader');
|
|
||||||
var BufferWriter = require('./writer');
|
var BufferWriter = require('./writer');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -925,7 +923,7 @@ TX.prototype.hasCoins = function hasCoins() {
|
|||||||
|
|
||||||
TX.prototype.fillCoins = function fillCoins(coins) {
|
TX.prototype.fillCoins = function fillCoins(coins) {
|
||||||
var total = 0;
|
var total = 0;
|
||||||
var inputs, txs, key, i, input, prevout;
|
var key, i, input, prevout;
|
||||||
|
|
||||||
if ((coins instanceof bcoin.coin) || (coins instanceof bcoin.tx))
|
if ((coins instanceof bcoin.coin) || (coins instanceof bcoin.tx))
|
||||||
coins = [coins];
|
coins = [coins];
|
||||||
@ -1369,7 +1367,7 @@ TX.prototype.checkInputs = function checkInputs(spendHeight, ret) {
|
|||||||
value = this.getOutputValue();
|
value = this.getOutputValue();
|
||||||
|
|
||||||
if (value > total) {
|
if (value > total) {
|
||||||
ret.reason = 'bad-txns-in-belowout'
|
ret.reason = 'bad-txns-in-belowout';
|
||||||
ret.score = 100;
|
ret.score = 100;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1906,7 +1904,7 @@ TX.fromRaw = function fromRaw(data, enc) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
TX.prototype.toExtended = function toExtended(saveCoins, enc) {
|
TX.prototype.toExtended = function toExtended(saveCoins, enc) {
|
||||||
var data;
|
var data, tmp;
|
||||||
|
|
||||||
if (typeof saveCoins === 'string') {
|
if (typeof saveCoins === 'string') {
|
||||||
tmp = saveCoins;
|
tmp = saveCoins;
|
||||||
@ -1932,6 +1930,8 @@ TX.prototype.toExtended = function toExtended(saveCoins, enc) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
TX.parseExtended = function parseExtended(data, saveCoins, enc) {
|
TX.parseExtended = function parseExtended(data, saveCoins, enc) {
|
||||||
|
var tmp;
|
||||||
|
|
||||||
if (typeof saveCoins === 'string') {
|
if (typeof saveCoins === 'string') {
|
||||||
tmp = saveCoins;
|
tmp = saveCoins;
|
||||||
saveCoins = enc;
|
saveCoins = enc;
|
||||||
|
|||||||
@ -22,7 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var bn = require('bn.js');
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var assert = bcoin.utils.assert;
|
var assert = bcoin.utils.assert;
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
@ -75,6 +74,7 @@ TXDB.prototype._lock = function _lock(func, args, force) {
|
|||||||
|
|
||||||
TXDB.prototype._loadFilter = function loadFilter(callback) {
|
TXDB.prototype._loadFilter = function loadFilter(callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
var i;
|
||||||
|
|
||||||
if (!this.filter)
|
if (!this.filter)
|
||||||
return callback();
|
return callback();
|
||||||
@ -612,7 +612,7 @@ TXDB.prototype._removeSpenders = function removeSpenders(hash, ref, callback) {
|
|||||||
if (tx.ts !== 0)
|
if (tx.ts !== 0)
|
||||||
return callback(null, false);
|
return callback(null, false);
|
||||||
|
|
||||||
if (ref.ts === 0 && ref.ps < ts.ps)
|
if (ref.ts === 0 && ref.ps < tx.ps)
|
||||||
return callback(null, false);
|
return callback(null, false);
|
||||||
|
|
||||||
utils.forEachSerial(tx.outputs, function(output, next, i) {
|
utils.forEachSerial(tx.outputs, function(output, next, i) {
|
||||||
@ -1089,6 +1089,7 @@ TXDB.prototype._unconfirm = function unconfirm(tx, map, callback, force) {
|
|||||||
|
|
||||||
TXDB.prototype.getHistoryHashes = function getHistoryHashes(address, callback) {
|
TXDB.prototype.getHistoryHashes = function getHistoryHashes(address, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
var txs = [];
|
||||||
|
|
||||||
if (typeof address === 'function') {
|
if (typeof address === 'function') {
|
||||||
callback = address;
|
callback = address;
|
||||||
@ -1137,6 +1138,7 @@ TXDB.prototype.getHistoryHashes = function getHistoryHashes(address, callback) {
|
|||||||
|
|
||||||
TXDB.prototype.getUnconfirmedHashes = function getUnconfirmedHashes(address, callback) {
|
TXDB.prototype.getUnconfirmedHashes = function getUnconfirmedHashes(address, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
var txs = [];
|
||||||
|
|
||||||
if (typeof address === 'function') {
|
if (typeof address === 'function') {
|
||||||
callback = address;
|
callback = address;
|
||||||
@ -1186,6 +1188,7 @@ TXDB.prototype.getUnconfirmedHashes = function getUnconfirmedHashes(address, cal
|
|||||||
|
|
||||||
TXDB.prototype.getCoinHashes = function getCoinHashes(address, callback) {
|
TXDB.prototype.getCoinHashes = function getCoinHashes(address, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
var coins = [];
|
||||||
|
|
||||||
if (typeof address === 'function') {
|
if (typeof address === 'function') {
|
||||||
callback = address;
|
callback = address;
|
||||||
@ -1667,7 +1670,6 @@ TXDB.prototype.getBalance = function getBalance(address, callback) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
var confirmed = 0;
|
var confirmed = 0;
|
||||||
var unconfirmed = 0;
|
var unconfirmed = 0;
|
||||||
var i;
|
|
||||||
|
|
||||||
if (typeof address === 'function') {
|
if (typeof address === 'function') {
|
||||||
callback = address;
|
callback = address;
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
var url = require('url');
|
var url = require('url');
|
||||||
var querystring = require('querystring');
|
var querystring = require('querystring');
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
|
var assert = utils.assert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse a bitcoin URI.
|
* Parse a bitcoin URI.
|
||||||
|
|||||||
@ -5,6 +5,8 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* global gc */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @exports utils
|
* @exports utils
|
||||||
*/
|
*/
|
||||||
@ -903,7 +905,7 @@ utils.isIP = function isIP(ip) {
|
|||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
utils.isMapped = function isMapped(ip, version) {
|
utils.isMapped = function isMapped(ip) {
|
||||||
var i;
|
var i;
|
||||||
|
|
||||||
if (!Buffer.isBuffer(ip))
|
if (!Buffer.isBuffer(ip))
|
||||||
@ -2588,6 +2590,8 @@ utils.binaryRemove = function binaryRemove(items, item, compare) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
utils.global = (function() {
|
utils.global = (function() {
|
||||||
|
/* global self */
|
||||||
|
|
||||||
if (this)
|
if (this)
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
|
|||||||
@ -1008,12 +1008,11 @@ Wallet.prototype.syncOutputDepth = function syncOutputDepth(tx) {
|
|||||||
/**
|
/**
|
||||||
* Get a redeem script or witness script by hash.
|
* Get a redeem script or witness script by hash.
|
||||||
* @param {Hash} hash - Can be a ripemd160 or a sha256.
|
* @param {Hash} hash - Can be a ripemd160 or a sha256.
|
||||||
* @param {Number} prefix - See {@link network.address.prefixes}.
|
|
||||||
* @returns {Script}
|
* @returns {Script}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Wallet.prototype.getRedeem = function getRedeem(hash, prefix) {
|
Wallet.prototype.getRedeem = function getRedeem(hash) {
|
||||||
var addr, address;
|
var address;
|
||||||
|
|
||||||
if (typeof hash === 'string')
|
if (typeof hash === 'string')
|
||||||
hash = new Buffer(hash, 'hex');
|
hash = new Buffer(hash, 'hex');
|
||||||
@ -1056,7 +1055,6 @@ Wallet.prototype.zap = function zap(now, age, callback) {
|
|||||||
Wallet.prototype.scan = function scan(getByAddress, callback) {
|
Wallet.prototype.scan = function scan(getByAddress, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var res = false;
|
var res = false;
|
||||||
var i;
|
|
||||||
|
|
||||||
return this._scan({}, getByAddress, function(err, depth, txs) {
|
return this._scan({}, getByAddress, function(err, depth, txs) {
|
||||||
if (err)
|
if (err)
|
||||||
|
|||||||
@ -5,6 +5,8 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* jshint worker: true */
|
||||||
|
|
||||||
var bcoin, env;
|
var bcoin, env;
|
||||||
|
|
||||||
if (typeof importScripts !== 'undefined') {
|
if (typeof importScripts !== 'undefined') {
|
||||||
|
|||||||
@ -8,12 +8,12 @@
|
|||||||
var bcoin = require('./env');
|
var bcoin = require('./env');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var constants = bcoin.protocol.constants;
|
|
||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var global = utils.global;
|
var global = utils.global;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var BufferWriter = require('./writer');
|
var BufferWriter = require('./writer');
|
||||||
var BufferReader = require('./reader');
|
var BufferReader = require('./reader');
|
||||||
|
var jobs;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A worker pool.
|
* A worker pool.
|
||||||
@ -644,7 +644,7 @@ Master.listen = function listen(id, options) {
|
|||||||
* @const {Object}
|
* @const {Object}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var jobs = {};
|
jobs = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute tx.verify() on worker.
|
* Execute tx.verify() on worker.
|
||||||
@ -710,7 +710,7 @@ Framer.prototype.packet = function packet(job, name, items) {
|
|||||||
p.writeU32(payload.length);
|
p.writeU32(payload.length);
|
||||||
p.writeBytes(payload);
|
p.writeBytes(payload);
|
||||||
return p.render();
|
return p.render();
|
||||||
}
|
};
|
||||||
|
|
||||||
Framer.prototype.body = function body(name, items) {
|
Framer.prototype.body = function body(name, items) {
|
||||||
var p = new BufferWriter();
|
var p = new BufferWriter();
|
||||||
|
|||||||
@ -37,7 +37,8 @@
|
|||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"secp256k1": "3.0.0",
|
"secp256k1": "3.0.0",
|
||||||
"socket.io": "1.4.5"
|
"socket.io": "1.4.6",
|
||||||
|
"socket.io-client": "1.4.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"browserify": "13.0.0",
|
"browserify": "13.0.0",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user