refactor: drop all object literals.
This commit is contained in:
parent
2dba490d02
commit
0c90212f6d
@ -13,6 +13,7 @@ var constants = bcoin.constants;
|
|||||||
var utils = require('../utils/utils');
|
var utils = require('../utils/utils');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var VerifyError = bcoin.errors.VerifyError;
|
var VerifyError = bcoin.errors.VerifyError;
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a blockchain.
|
* Represents a blockchain.
|
||||||
@ -310,7 +311,7 @@ Chain.prototype.isGenesis = function isGenesis(block) {
|
|||||||
|
|
||||||
Chain.prototype.verify = function verify(block, prev, callback) {
|
Chain.prototype.verify = function verify(block, prev, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var ret = {};
|
var ret = new VerifyResult();
|
||||||
var i, height, ts, tx, medianTime, commitmentHash;
|
var i, height, ts, tx, medianTime, commitmentHash;
|
||||||
|
|
||||||
if (!block.verify(ret)) {
|
if (!block.verify(ret)) {
|
||||||
@ -663,7 +664,7 @@ Chain.prototype.checkInputs = function checkInputs(block, prev, state, callback)
|
|||||||
var height = prev.height + 1;
|
var height = prev.height + 1;
|
||||||
var historical = prev.isHistorical();
|
var historical = prev.isHistorical();
|
||||||
var sigops = 0;
|
var sigops = 0;
|
||||||
var ret = {};
|
var ret = new VerifyResult();
|
||||||
|
|
||||||
if (this.options.spv)
|
if (this.options.spv)
|
||||||
return callback();
|
return callback();
|
||||||
@ -1174,7 +1175,7 @@ Chain.prototype.isBusy = function isBusy() {
|
|||||||
|
|
||||||
Chain.prototype.add = function add(block, callback) {
|
Chain.prototype.add = function add(block, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var ret = {};
|
var ret;
|
||||||
|
|
||||||
assert(this.loaded);
|
assert(this.loaded);
|
||||||
|
|
||||||
@ -1183,6 +1184,8 @@ Chain.prototype.add = function add(block, callback) {
|
|||||||
if (!callback)
|
if (!callback)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
ret = new VerifyResult();
|
||||||
|
|
||||||
(function next(block, initial) {
|
(function next(block, initial) {
|
||||||
var hash = block.hash('hex');
|
var hash = block.hash('hex');
|
||||||
var prevBlock = block.prevBlock;
|
var prevBlock = block.prevBlock;
|
||||||
|
|||||||
@ -21,6 +21,7 @@ var BufferWriter = require('../utils/writer');
|
|||||||
var BufferReader = require('../utils/reader');
|
var BufferReader = require('../utils/reader');
|
||||||
var random = require('../crypto/random');
|
var random = require('../crypto/random');
|
||||||
var VerifyError = bcoin.errors.VerifyError;
|
var VerifyError = bcoin.errors.VerifyError;
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a mempool.
|
* Represents a mempool.
|
||||||
@ -521,8 +522,7 @@ Mempool.prototype.addTX = function addTX(tx, callback) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
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, entry;
|
||||||
var entry;
|
|
||||||
|
|
||||||
callback = this._lock(addTX, [tx, callback]);
|
callback = this._lock(addTX, [tx, callback]);
|
||||||
|
|
||||||
@ -533,6 +533,8 @@ Mempool.prototype.addTX = function addTX(tx, callback) {
|
|||||||
|
|
||||||
assert(!tx.mutable, 'Cannot add mutable TX to mempool.');
|
assert(!tx.mutable, 'Cannot add mutable TX to mempool.');
|
||||||
|
|
||||||
|
ret = new VerifyResult();
|
||||||
|
|
||||||
if (tx.ts !== 0) {
|
if (tx.ts !== 0) {
|
||||||
return callback(new VerifyError(tx,
|
return callback(new VerifyError(tx,
|
||||||
'alreadyknown',
|
'alreadyknown',
|
||||||
@ -799,7 +801,7 @@ Mempool.prototype.verify = function verify(entry, callback) {
|
|||||||
var flags = constants.flags.STANDARD_VERIFY_FLAGS;
|
var flags = constants.flags.STANDARD_VERIFY_FLAGS;
|
||||||
var mandatory = constants.flags.MANDATORY_VERIFY_FLAGS;
|
var mandatory = constants.flags.MANDATORY_VERIFY_FLAGS;
|
||||||
var tx = entry.tx;
|
var tx = entry.tx;
|
||||||
var ret = {};
|
var ret = new VerifyResult();
|
||||||
var fee, modFee, now, size, rejectFee, minRelayFee, minRate, count;
|
var fee, modFee, now, size, rejectFee, minRelayFee, minRate, count;
|
||||||
|
|
||||||
if (this.chain.state.hasWitness())
|
if (this.chain.state.hasWitness())
|
||||||
|
|||||||
@ -17,6 +17,7 @@ var constants = bcoin.constants;
|
|||||||
var VerifyError = bcoin.errors.VerifyError;
|
var VerifyError = bcoin.errors.VerifyError;
|
||||||
var NetworkAddress = bcoin.packets.NetworkAddress;
|
var NetworkAddress = bcoin.packets.NetworkAddress;
|
||||||
var InvItem = bcoin.invitem;
|
var InvItem = bcoin.invitem;
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A pool of peers for handling all network activity.
|
* A pool of peers for handling all network activity.
|
||||||
@ -733,8 +734,7 @@ Pool.prototype.stopSync = function stopSync() {
|
|||||||
|
|
||||||
Pool.prototype._handleHeaders = function _handleHeaders(headers, peer, callback) {
|
Pool.prototype._handleHeaders = function _handleHeaders(headers, peer, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var ret = {};
|
var ret, last;
|
||||||
var last;
|
|
||||||
|
|
||||||
callback = this._lock(_handleHeaders, [headers, peer, callback]);
|
callback = this._lock(_handleHeaders, [headers, peer, callback]);
|
||||||
|
|
||||||
@ -744,6 +744,8 @@ Pool.prototype._handleHeaders = function _handleHeaders(headers, peer, callback)
|
|||||||
if (!this.options.headers)
|
if (!this.options.headers)
|
||||||
return callback();
|
return callback();
|
||||||
|
|
||||||
|
ret = new VerifyResult();
|
||||||
|
|
||||||
this.logger.debug(
|
this.logger.debug(
|
||||||
'Received %s headers from peer (%s).',
|
'Received %s headers from peer (%s).',
|
||||||
headers.length,
|
headers.length,
|
||||||
|
|||||||
@ -12,6 +12,7 @@ var constants = bcoin.constants;
|
|||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var crypto = require('../crypto/crypto');
|
var crypto = require('../crypto/crypto');
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The class which all block-like objects inherit from.
|
* The class which all block-like objects inherit from.
|
||||||
@ -194,7 +195,7 @@ AbstractBlock.prototype.verify = function verify(ret) {
|
|||||||
|
|
||||||
AbstractBlock.prototype.verifyHeaders = function verifyHeaders(ret) {
|
AbstractBlock.prototype.verifyHeaders = function verifyHeaders(ret) {
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = {};
|
ret = new VerifyResult();
|
||||||
|
|
||||||
// Check proof of work
|
// Check proof of work
|
||||||
if (!utils.testTarget(this.hash(), this.bits)) {
|
if (!utils.testTarget(this.hash(), this.bits)) {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ var crypto = require('../crypto/crypto');
|
|||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.constants;
|
var constants = bcoin.constants;
|
||||||
var AbstractBlock = bcoin.abstractblock;
|
var AbstractBlock = bcoin.abstractblock;
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a full block.
|
* Represents a full block.
|
||||||
@ -389,7 +390,7 @@ Block.prototype._verify = function _verify(ret) {
|
|||||||
var i, tx, merkle;
|
var i, tx, merkle;
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = {};
|
ret = new VerifyResult();
|
||||||
|
|
||||||
if (!this.verifyHeaders(ret))
|
if (!this.verifyHeaders(ret))
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -14,6 +14,7 @@ var assert = utils.assert;
|
|||||||
var constants = bcoin.constants;
|
var constants = bcoin.constants;
|
||||||
var DUMMY = new Buffer([0]);
|
var DUMMY = new Buffer([0]);
|
||||||
var AbstractBlock = bcoin.abstractblock;
|
var AbstractBlock = bcoin.abstractblock;
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a merkle (filtered) block.
|
* Represents a merkle (filtered) block.
|
||||||
@ -260,12 +261,7 @@ MerkleBlock.prototype.extractTree = function extractTree() {
|
|||||||
if (hashUsed !== hashes.length)
|
if (hashUsed !== hashes.length)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
return {
|
return new PartialTree(root, matches, indexes, map);
|
||||||
root: root.toString('hex'),
|
|
||||||
matches: matches,
|
|
||||||
indexes: indexes,
|
|
||||||
map: map
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -279,7 +275,7 @@ MerkleBlock.prototype.extractTree = function extractTree() {
|
|||||||
|
|
||||||
MerkleBlock.prototype._verify = function _verify(ret) {
|
MerkleBlock.prototype._verify = function _verify(ret) {
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = {};
|
ret = new VerifyResult();
|
||||||
|
|
||||||
if (!this.verifyHeaders(ret))
|
if (!this.verifyHeaders(ret))
|
||||||
return false;
|
return false;
|
||||||
@ -621,6 +617,17 @@ MerkleBlock.isMerkleBlock = function isMerkleBlock(obj) {
|
|||||||
&& typeof obj.verifyPartial === 'function';
|
&& typeof obj.verifyPartial === 'function';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helpers
|
||||||
|
*/
|
||||||
|
|
||||||
|
function PartialTree(root, matches, indexes, map) {
|
||||||
|
this.root = root.toString('hex');
|
||||||
|
this.matches = matches;
|
||||||
|
this.indexes = indexes;
|
||||||
|
this.map = map;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Expose
|
* Expose
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -15,6 +15,7 @@ var constants = bcoin.constants;
|
|||||||
var Script = bcoin.script;
|
var Script = bcoin.script;
|
||||||
var Stack = bcoin.stack;
|
var Stack = bcoin.stack;
|
||||||
var BufferWriter = require('../utils/writer');
|
var BufferWriter = require('../utils/writer');
|
||||||
|
var VerifyResult = utils.VerifyResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A static transaction object.
|
* A static transaction object.
|
||||||
@ -1149,7 +1150,7 @@ TX.prototype.isSane = function isSane(ret) {
|
|||||||
var i, input, output, size, key;
|
var i, input, output, size, key;
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = {};
|
ret = new VerifyResult();
|
||||||
|
|
||||||
if (this.inputs.length === 0) {
|
if (this.inputs.length === 0) {
|
||||||
ret.reason = 'bad-txns-vin-empty';
|
ret.reason = 'bad-txns-vin-empty';
|
||||||
@ -1242,7 +1243,7 @@ TX.prototype.isStandard = function isStandard(ret) {
|
|||||||
var nulldata = 0;
|
var nulldata = 0;
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = {};
|
ret = new VerifyResult();
|
||||||
|
|
||||||
if (this.version < 1 || this.version > constants.tx.MAX_VERSION) {
|
if (this.version < 1 || this.version > constants.tx.MAX_VERSION) {
|
||||||
ret.reason = 'version';
|
ret.reason = 'version';
|
||||||
@ -1377,7 +1378,7 @@ TX.prototype.checkInputs = function checkInputs(spendHeight, ret) {
|
|||||||
var i, input, coin, fee, value;
|
var i, input, coin, fee, value;
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = {};
|
ret = new VerifyResult();
|
||||||
|
|
||||||
for (i = 0; i < this.inputs.length; i++) {
|
for (i = 0; i < this.inputs.length; i++) {
|
||||||
input = this.inputs[i];
|
input = this.inputs[i];
|
||||||
|
|||||||
@ -2345,3 +2345,13 @@ utils.isName = function isName(key) {
|
|||||||
utils.fastProp = function fastProp(obj) {
|
utils.fastProp = function fastProp(obj) {
|
||||||
({ __proto__: obj });
|
({ __proto__: obj });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verication result.
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
|
||||||
|
utils.VerifyResult = function VerifyResult() {
|
||||||
|
this.reason = 'unknown';
|
||||||
|
this.score = 0;
|
||||||
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user