diff --git a/bench/coin.js b/bench/coin.js
index dcd128be..1516c64c 100644
--- a/bench/coin.js
+++ b/bench/coin.js
@@ -2,7 +2,7 @@
var BN = require('bn.js');
var constants = require('../lib/protocol/constants');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
var bench = require('./bench');
diff --git a/bench/mnemonic.js b/bench/mnemonic.js
index 35b6a4cc..ce29dd22 100644
--- a/bench/mnemonic.js
+++ b/bench/mnemonic.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
-var utils = bcoin.utils;
+var util = bcoin.util;
var assert = require('assert');
var bench = require('./bench');
var Mnemonic = bcoin.hd.Mnemonic;
diff --git a/bench/script.js b/bench/script.js
index 444082d1..44d94a2c 100644
--- a/bench/script.js
+++ b/bench/script.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
-var utils = bcoin.utils;
+var util = bcoin.util;
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
var opcodes = constants.opcodes;
diff --git a/bench/tx.js b/bench/tx.js
index 7b3a2eb8..15dee5cc 100644
--- a/bench/tx.js
+++ b/bench/tx.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
-var utils = bcoin.utils;
+var util = bcoin.util;
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
var bench = require('./bench');
diff --git a/bench/walletdb.js b/bench/walletdb.js
index e8bba8f6..0f9d1be1 100644
--- a/bench/walletdb.js
+++ b/bench/walletdb.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
-var utils = bcoin.utils;
+var util = bcoin.util;
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
var bench = require('./bench');
diff --git a/bin/cli b/bin/cli
index d339fd10..0c1a8ef8 100755
--- a/bin/cli
+++ b/bin/cli
@@ -3,11 +3,11 @@
'use strict';
var config = require('../lib/node/config');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var co = require('../lib/utils/co');
var Client = require('../lib/http/client');
var Wallet = require('../lib/http/wallet');
-var Amount = require('../lib/utils/amount');
+var Amount = require('../lib/btc/amount');
var main;
function CLI() {
@@ -164,7 +164,7 @@ CLI.prototype.getTX = co(function* getTX() {
var hash = this.argv[0];
var txs, tx;
- if (utils.isBase58(hash)) {
+ if (util.isBase58(hash)) {
txs = yield this.client.getTXByAddress(hash);
this.log(txs);
return;
@@ -202,7 +202,7 @@ CLI.prototype.getCoin = co(function* getCoin() {
var index = this.argv[1];
var coins, coin;
- if (utils.isBase58(hash)) {
+ if (util.isBase58(hash)) {
coins = yield this.client.getCoinsByAddress(hash);
this.log(coins);
return;
@@ -378,7 +378,7 @@ CLI.prototype.retoken = co(function* retoken() {
CLI.prototype.rescan = co(function* rescan() {
var height = this.argv[0];
- if (!utils.isUInt32(height))
+ if (!util.isUInt32(height))
height = null;
yield this.client.rescan(height);
@@ -421,13 +421,13 @@ CLI.prototype.importKey = co(function* importKey() {
if (!key)
throw new Error('No key for import.');
- if (utils.isBase58(key)) {
+ if (util.isBase58(key)) {
yield this.wallet.importPrivate(key);
this.log('Imported private key.');
return;
}
- if (utils.isHex(key)) {
+ if (util.isHex(key)) {
yield this.wallet.importPublic(key);
this.log('Imported public key.');
return;
diff --git a/browser/index.js b/browser/index.js
index 78c59901..aa541d51 100644
--- a/browser/index.js
+++ b/browser/index.js
@@ -2,7 +2,7 @@
'use strict';
-var utils = bcoin.utils;
+var util = bcoin.util;
var body = document.getElementsByTagName('body')[0];
var log = document.getElementById('log');
var wdiv = document.getElementById('wallet');
@@ -27,18 +27,18 @@ floating.onmouseup = function(ev) {
};
function show(obj) {
- floating.innerHTML = escape(utils.inspectify(obj, false));
+ floating.innerHTML = escape(util.inspectify(obj, false));
floating.style.display = 'block';
}
logger = new bcoin.logger({ level: 'debug' });
logger.writeConsole = function(level, args) {
- var msg = utils.format(args, false);
+ var msg = util.format(args, false);
if (++scrollback > 1000) {
log.innerHTML = '';
scrollback = 1;
}
- log.innerHTML += '' + utils.now() + ' ';
+ log.innerHTML += '' + util.now() + ' ';
if (level === 'error')
log.innerHTML += '[' + level + '] ';
else
diff --git a/browser/wsproxy.js b/browser/wsproxy.js
index cbb8a098..3c0e62bc 100644
--- a/browser/wsproxy.js
+++ b/browser/wsproxy.js
@@ -2,7 +2,7 @@
var net = require('net');
var IOServer = require('socket.io');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var IP = require('../lib/utils/ip');
var BufferWriter = require('../lib/utils/writer');
var EventEmitter = require('events').EventEmitter;
@@ -30,7 +30,7 @@ function WSProxy(options) {
this._init();
}
-utils.inherits(WSProxy, EventEmitter);
+util.inherits(WSProxy, EventEmitter);
WSProxy.prototype._init = function _init() {
var self = this;
@@ -73,7 +73,7 @@ WSProxy.prototype._handleConnect = function _handleConnect(ws, port, host, nonce
return;
}
- if (!utils.isNumber(port)
+ if (!util.isNumber(port)
|| typeof host !== 'string'
|| host.length === 0) {
this.log('Client gave bad arguments (%s).', state.host);
@@ -83,7 +83,7 @@ WSProxy.prototype._handleConnect = function _handleConnect(ws, port, host, nonce
}
if (this.pow) {
- if (!utils.isNumber(nonce)) {
+ if (!util.isNumber(nonce)) {
this.log('Client did not solve proof of work.', state.host);
ws.emit('tcp close');
ws.disconnect();
@@ -97,7 +97,7 @@ WSProxy.prototype._handleConnect = function _handleConnect(ws, port, host, nonce
pow.writeString(host, 'ascii');
pow = pow.render();
- if (utils.cmp(utils.hash256(pow), this.target) > 0) {
+ if (util.cmp(util.hash256(pow), this.target) > 0) {
this.log('Client did not solve proof of work (%s).', state.host);
ws.emit('tcp close');
ws.disconnect();
@@ -193,7 +193,7 @@ WSProxy.prototype.attach = function attach(server) {
function SocketState(server, socket) {
this.pow = server.pow;
this.target = server.target;
- this.snonce = utils.nonce(true);
+ this.snonce = util.nonce(true);
this.socket = null;
this.host = IP.normalize(socket.conn.remoteAddress);
this.remoteHost = null;
diff --git a/lib/bcoin.js b/lib/bcoin.js
index 8eee380a..973e47d9 100644
--- a/lib/bcoin.js
+++ b/lib/bcoin.js
@@ -11,15 +11,15 @@
'use strict';
var env = require('./env');
-var utils = require('./utils/utils');
-var global = utils.global;
+var util = require('./utils/util');
+var global = util.global;
/*
* Expose bcoin globally in the
* browser. Necessary for workers.
*/
-if (utils.isBrowser)
+if (util.isBrowser)
global.bcoin = env;
module.exports = env;
diff --git a/lib/bip70/paymentdetails.js b/lib/bip70/paymentdetails.js
index f3124fe8..84de1c0f 100644
--- a/lib/bip70/paymentdetails.js
+++ b/lib/bip70/paymentdetails.js
@@ -7,7 +7,7 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var Output = require('../primitives/output');
var protobuf = require('../utils/protobuf');
var ProtoReader = protobuf.ProtoReader;
@@ -19,7 +19,7 @@ function PaymentDetails(options) {
this.network = null;
this.outputs = [];
- this.time = utils.now();
+ this.time = util.now();
this.expires = -1;
this.memo = null;
this.paymentUrl = null;
@@ -46,12 +46,12 @@ PaymentDetails.prototype.fromOptions = function fromOptions(options) {
}
if (options.time != null) {
- assert(utils.isNumber(options.time));
+ assert(util.isNumber(options.time));
this.time = options.time;
}
if (options.expires != null) {
- assert(utils.isNumber(options.expires));
+ assert(util.isNumber(options.expires));
this.expires = options.expires;
}
@@ -78,7 +78,7 @@ PaymentDetails.fromOptions = function fromOptions(options) {
PaymentDetails.prototype.isExpired = function isExpired() {
if (this.expires === -1)
return false;
- return utils.now() > this.expires;
+ return util.now() > this.expires;
};
PaymentDetails.prototype.setData = function setData(data, enc) {
diff --git a/lib/bip70/paymentrequest.js b/lib/bip70/paymentrequest.js
index 9541fb2a..1b72fa59 100644
--- a/lib/bip70/paymentrequest.js
+++ b/lib/bip70/paymentrequest.js
@@ -7,7 +7,7 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var x509 = require('./x509');
var PEM = require('../utils/pem');
@@ -32,7 +32,7 @@ function PaymentRequest(options) {
PaymentRequest.prototype.fromOptions = function fromOptions(options) {
if (options.version != null) {
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
this.version = options.version;
}
diff --git a/lib/bip70/x509.js b/lib/bip70/x509.js
index e7b332b6..180b15a4 100644
--- a/lib/bip70/x509.js
+++ b/lib/bip70/x509.js
@@ -9,7 +9,7 @@
var assert = require('assert');
var ASN1 = require('../utils/asn1');
var PEM = require('../utils/pem');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var pk = require('./pk');
var x509 = exports;
@@ -294,7 +294,7 @@ x509.verifyChain = function verifyChain(chain) {
function isHash(data) {
if (typeof data === 'string')
- return utils.isHex(data) && data.length === 64;
+ return util.isHex(data) && data.length === 64;
if (Buffer.isBuffer(data))
return data.length === 32;
diff --git a/lib/utils/amount.js b/lib/btc/amount.js
similarity index 93%
rename from lib/utils/amount.js
rename to lib/btc/amount.js
index 362cbc27..602fbc69 100644
--- a/lib/utils/amount.js
+++ b/lib/btc/amount.js
@@ -7,7 +7,7 @@
'use strict';
var assert = require('assert');
-var utils = require('./utils');
+var util = require('../utils/util');
/**
* Amount
@@ -77,7 +77,7 @@ Amount.prototype.toString = function toString() {
};
Amount.prototype.fromValue = function fromValue(value) {
- assert(utils.isInt53(value), 'Value must be an int64.');
+ assert(util.isInt53(value), 'Value must be an int64.');
this.value = value;
return this;
};
@@ -158,7 +158,7 @@ Amount.prototype.inspect = function inspect() {
*/
Amount.btc = function btc(value, num) {
- if (utils.isFloat(value))
+ if (util.isFloat(value))
return value;
return Amount.serialize(value, 8, num);
@@ -178,7 +178,7 @@ Amount.serialize = function serialize(value, dec, num) {
var negative = false;
var hi, lo, result;
- assert(utils.isInt(value), 'Non-satoshi value for conversion.');
+ assert(util.isInt(value), 'Non-satoshi value for conversion.');
if (value < 0) {
value = -value;
@@ -220,7 +220,7 @@ Amount.serialize = function serialize(value, dec, num) {
*/
Amount.serializeUnsafe = function serializeUnsafe(value, dec, num) {
- assert(utils.isInt(value), 'Non-satoshi value for conversion.');
+ assert(util.isInt(value), 'Non-satoshi value for conversion.');
value /= pow10(dec);
value = value.toFixed(dec);
@@ -245,7 +245,7 @@ Amount.serializeUnsafe = function serializeUnsafe(value, dec, num) {
*/
Amount.value = function value(value, num) {
- if (utils.isInt(value))
+ if (util.isInt(value))
return value;
return Amount.parse(value, 8, num);
@@ -272,11 +272,11 @@ Amount.parse = function parse(value, dec, num) {
var parts, hi, lo, result;
if (num && typeof value === 'number') {
- assert(utils.isNumber(value), 'Non-BTC value for conversion.');
+ assert(util.isNumber(value), 'Non-BTC value for conversion.');
value = value.toString(10);
}
- assert(utils.isFloat(value), 'Non-BTC value for conversion.');
+ assert(util.isFloat(value), 'Non-BTC value for conversion.');
if (value[0] === '-') {
negative = true;
@@ -327,10 +327,10 @@ Amount.parse = function parse(value, dec, num) {
Amount.parseUnsafe = function parseUnsafe(value, dec, num) {
if (typeof value === 'string') {
- assert(utils.isFloat(value), 'Non-BTC value for conversion.');
+ assert(util.isFloat(value), 'Non-BTC value for conversion.');
value = parseFloat(value, 10);
} else {
- assert(utils.isNumber(value), 'Non-BTC value for conversion.');
+ assert(util.isNumber(value), 'Non-BTC value for conversion.');
assert(num, 'Cannot parse number.');
}
diff --git a/lib/utils/btcutils.js b/lib/btc/btcutils.js
similarity index 98%
rename from lib/utils/btcutils.js
rename to lib/btc/btcutils.js
index 85745aa2..80b553fc 100644
--- a/lib/utils/btcutils.js
+++ b/lib/btc/btcutils.js
@@ -10,7 +10,7 @@
var assert = require('assert');
var BN = require('bn.js');
var constants = require('../protocol/constants');
-var utils = require('./utils');
+var util = require('../utils/util');
var Amount = require('./amount');
var btcutils = exports;
@@ -195,7 +195,7 @@ btcutils.getRate = function getRate(size, fee) {
*/
btcutils.btc = function btc(value) {
- if (utils.isFloat(value))
+ if (util.isFloat(value))
return value;
return Amount.fromValue(value).toBTC();
};
@@ -212,7 +212,7 @@ btcutils.btc = function btc(value) {
*/
btcutils.satoshi = function satoshi(value) {
- if (utils.isInt(value))
+ if (util.isInt(value))
return value;
return Amount.fromBTC(value).toValue();
};
diff --git a/lib/utils/errors.js b/lib/btc/errors.js
similarity index 94%
rename from lib/utils/errors.js
rename to lib/btc/errors.js
index ad4575bd..7ef0ec6e 100644
--- a/lib/utils/errors.js
+++ b/lib/btc/errors.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var constants = require('../protocol/constants');
var Amount = require('./amount');
@@ -57,10 +57,10 @@ function VerifyError(msg, code, reason, score) {
+ ' (code=' + code
+ ', score=' + score
+ ', height=' + this.height
- + ', hash=' + utils.revHex(this.hash.toString('hex')) + ')';
+ + ', hash=' + util.revHex(this.hash.toString('hex')) + ')';
}
-utils.inherits(VerifyError, Error);
+util.inherits(VerifyError, Error);
/**
* Verication result.
@@ -120,7 +120,7 @@ function ScriptError(code, op, ip) {
}
}
-utils.inherits(ScriptError, Error);
+util.inherits(ScriptError, Error);
/**
* An error thrown from the coin selector.
@@ -150,7 +150,7 @@ function FundingError(msg, available, required) {
this.requiredFunds = required;
}
-utils.inherits(FundingError, Error);
+util.inherits(FundingError, Error);
/*
* Expose
diff --git a/lib/btc/index.js b/lib/btc/index.js
new file mode 100644
index 00000000..af9a8f98
--- /dev/null
+++ b/lib/btc/index.js
@@ -0,0 +1,6 @@
+'use strict';
+
+exports.Amount = require('./amount');
+exports.btcutils = require('./btcutils');
+exports.errors = require('./errors');
+exports.uri = require('./uri');
diff --git a/lib/utils/uri.js b/lib/btc/uri.js
similarity index 97%
rename from lib/utils/uri.js
rename to lib/btc/uri.js
index 32737d57..165209cf 100644
--- a/lib/utils/uri.js
+++ b/lib/btc/uri.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('./utils');
+var util = require('../utils/util');
var Address = require('../primitives/address');
var Amount = require('./amount');
var assert = require('assert');
@@ -33,7 +33,7 @@ URI.prototype.fromOptions = function fromOptions(options) {
this.address.fromOptions(options.address);
if (options.amount != null) {
- assert(utils.isNumber(options.amount));
+ assert(util.isNumber(options.amount));
this.amount = options.amount;
}
diff --git a/lib/chain/chain.js b/lib/chain/chain.js
index 7b522da2..ebff9a6b 100644
--- a/lib/chain/chain.js
+++ b/lib/chain/chain.js
@@ -12,13 +12,13 @@ var Network = require('../protocol/network');
var Logger = require('../node/logger');
var ChainDB = require('./chaindb');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
-var btcutils = require('../utils/btcutils');
+var util = require('../utils/util');
+var btcutils = require('../btc/btcutils');
var Locker = require('../utils/locker');
var ChainEntry = require('./chainentry');
var CoinView = require('./coinview');
var assert = require('assert');
-var errors = require('../utils/errors');
+var errors = require('../btc/errors');
var VerifyError = errors.VerifyError;
var VerifyResult = errors.VerifyResult;
var time = require('../net/time');
@@ -88,7 +88,7 @@ function Chain(options) {
this.synced = false;
this.state = new DeploymentState();
this.stateCache = {};
- this._time = utils.hrtime();
+ this._time = util.hrtime();
this.orphan = {
map: {},
@@ -100,7 +100,7 @@ function Chain(options) {
this._init();
}
-utils.inherits(Chain, AsyncObject);
+util.inherits(Chain, AsyncObject);
/**
* Initialize the chain.
@@ -119,7 +119,7 @@ Chain.prototype._init = function _init() {
}
this.locker.on('purge', function(total, size) {
- self.logger.warning('Warning: %dmb of pending objects. Purging.', utils.mb(size));
+ self.logger.warning('Warning: %dmb of pending objects. Purging.', util.mb(size));
});
this.on('competitor', function(block, entry) {
@@ -152,7 +152,7 @@ Chain.prototype._init = function _init() {
self.logger.warning(
'Fork at height %d: expected=%s received=%s',
height,
- utils.revHex(expected),
+ util.revHex(expected),
block.rhash
);
});
@@ -161,7 +161,7 @@ Chain.prototype._init = function _init() {
self.logger.warning(
'Reorg at height %d: old=%s new=%s',
height,
- utils.revHex(expected),
+ util.revHex(expected),
block.rhash
);
});
@@ -181,7 +181,7 @@ Chain.prototype._init = function _init() {
this.on('purge', function(count, size) {
self.logger.debug('Warning: %d (%dmb) orphans cleared!',
- count, utils.mb(size));
+ count, util.mb(size));
});
};
@@ -1405,7 +1405,7 @@ Chain.prototype.isSlow = function isSlow() {
*/
Chain.prototype.mark = function mark() {
- this._time = utils.hrtime();
+ this._time = util.hrtime();
};
/**
@@ -1426,10 +1426,10 @@ Chain.prototype.finish = function finish(block, entry) {
return;
// Report memory for debugging.
- utils.gc();
+ util.gc();
this.logger.memory();
- elapsed = utils.hrtime(this._time);
+ elapsed = util.hrtime(this._time);
time = elapsed[0] * 1000 + elapsed[1] / 1e6;
this.logger.info(
@@ -1647,7 +1647,7 @@ Chain.prototype.isInitial = function isInitial(force) {
if (this.height < this.bestHeight - 24 * 6)
return true;
- if (this.tip.ts < utils.now() - this.network.block.maxTipAge)
+ if (this.tip.ts < util.now() - this.network.block.maxTipAge)
return true;
return false;
@@ -1661,7 +1661,7 @@ Chain.prototype.isInitial = function isInitial(force) {
Chain.prototype.getProgress = function getProgress() {
var start = this.network.genesis.ts;
var current = this.tip.ts - start;
- var end = utils.now() - start - 40 * 60;
+ var end = util.now() - start - 40 * 60;
return Math.min(1, current / end);
};
diff --git a/lib/chain/chaindb.js b/lib/chain/chaindb.js
index f027005d..bde2482c 100644
--- a/lib/chain/chaindb.js
+++ b/lib/chain/chaindb.js
@@ -9,11 +9,11 @@
var AsyncObject = require('../utils/async');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var BufferWriter = require('../utils/writer');
var BufferReader = require('../utils/reader');
-var Amount = require('../utils/amount');
+var Amount = require('../btc/amount');
var encoding = require('../utils/encoding');
var co = require('../utils/co');
var Network = require('../protocol/network');
@@ -65,7 +65,7 @@ function ChainDB(chain) {
compression: true,
cacheSize: 16 << 20,
writeBufferSize: 8 << 20,
- bufferKeys: !utils.isBrowser
+ bufferKeys: !util.isBrowser
});
this.state = new ChainState();
@@ -91,7 +91,7 @@ function ChainDB(chain) {
this.coinCache = new LRU(this.coinWindow, getSize);
}
-utils.inherits(ChainDB, AsyncObject);
+util.inherits(ChainDB, AsyncObject);
/**
* Database layout.
@@ -1010,7 +1010,7 @@ ChainDB.prototype.scan = co(function* scan(start, filter, iter) {
if (typeof start === 'number')
this.logger.info('Scanning from height %d.', start);
else
- this.logger.info('Scanning from block %s.', utils.revHex(start));
+ this.logger.info('Scanning from block %s.', util.revHex(start));
entry = yield this.getEntry(start);
@@ -1822,7 +1822,7 @@ ChainState.prototype.__defineGetter__('hash', function() {
});
ChainState.prototype.__defineGetter__('rhash', function() {
- return utils.revHex(this.hash);
+ return util.revHex(this.hash);
});
ChainState.prototype.clone = function clone() {
diff --git a/lib/chain/chainentry.js b/lib/chain/chainentry.js
index 0f881c25..0c22a8a4 100644
--- a/lib/chain/chainentry.js
+++ b/lib/chain/chainentry.js
@@ -10,8 +10,8 @@
var BN = require('bn.js');
var Network = require('../protocol/network');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
-var btcutils = require('../utils/btcutils');
+var util = require('../utils/util');
+var btcutils = require('../btc/btcutils');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var BufferWriter = require('../utils/writer');
@@ -76,12 +76,12 @@ function ChainEntry(chain, options, prev) {
ChainEntry.prototype.fromOptions = function fromOptions(options, prev) {
assert(options, 'Block data is required.');
assert(typeof options.hash === 'string');
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
assert(typeof options.prevBlock === 'string');
assert(typeof options.merkleRoot === 'string');
- assert(utils.isNumber(options.ts));
- assert(utils.isNumber(options.bits));
- assert(utils.isNumber(options.nonce));
+ assert(util.isNumber(options.ts));
+ assert(util.isNumber(options.bits));
+ assert(util.isNumber(options.nonce));
assert(!options.chainwork || BN.isBN(options.chainwork));
this.hash = options.hash;
@@ -189,7 +189,7 @@ ChainEntry.prototype.getAncestors = co(function* getAncestors(max) {
if (max === 0)
return ancestors;
- assert(utils.isNumber(max));
+ assert(util.isNumber(max));
// Try to do this iteratively and synchronously
// so we don't have to wait on nextTicks.
@@ -376,7 +376,7 @@ ChainEntry.prototype.hasBit = function hasBit(deployment) {
};
ChainEntry.prototype.__defineGetter__('rhash', function() {
- return utils.revHex(this.hash);
+ return util.revHex(this.hash);
});
/**
@@ -481,10 +481,10 @@ ChainEntry.fromRaw = function fromRaw(chain, data) {
ChainEntry.prototype.toJSON = function toJSON() {
return {
- hash: utils.revHex(this.hash),
+ hash: util.revHex(this.hash),
version: this.version,
- prevBlock: utils.revHex(this.prevBlock),
- merkleRoot: utils.revHex(this.merkleRoot),
+ prevBlock: util.revHex(this.prevBlock),
+ merkleRoot: util.revHex(this.merkleRoot),
ts: this.ts,
bits: this.bits,
nonce: this.nonce,
@@ -502,18 +502,18 @@ ChainEntry.prototype.toJSON = function toJSON() {
ChainEntry.prototype.fromJSON = function fromJSON(json) {
assert(json, 'Block data is required.');
assert(typeof json.hash === 'string');
- assert(utils.isNumber(json.version));
+ assert(util.isNumber(json.version));
assert(typeof json.prevBlock === 'string');
assert(typeof json.merkleRoot === 'string');
- assert(utils.isNumber(json.ts));
- assert(utils.isNumber(json.bits));
- assert(utils.isNumber(json.nonce));
+ assert(util.isNumber(json.ts));
+ assert(util.isNumber(json.bits));
+ assert(util.isNumber(json.nonce));
assert(typeof json.chainwork === 'string');
- this.hash = utils.revHex(json.hash);
+ this.hash = util.revHex(json.hash);
this.version = json.version;
- this.prevBlock = utils.revHex(json.prevBlock);
- this.merkleRoot = utils.revHex(json.merkleRoot);
+ this.prevBlock = util.revHex(json.prevBlock);
+ this.merkleRoot = util.revHex(json.merkleRoot);
this.ts = json.ts;
this.bits = json.bits;
this.nonce = json.nonce;
diff --git a/lib/chain/coins.js b/lib/chain/coins.js
index dd733c09..20264c81 100644
--- a/lib/chain/coins.js
+++ b/lib/chain/coins.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var constants = require('../protocol/constants');
var Coin = require('../primitives/coin');
@@ -51,7 +51,7 @@ function Coins(options) {
Coins.prototype.fromOptions = function fromOptions(options) {
if (options.version != null) {
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
this.version = options.version;
}
@@ -61,7 +61,7 @@ Coins.prototype.fromOptions = function fromOptions(options) {
}
if (options.height != null) {
- assert(utils.isNumber(options.height));
+ assert(util.isNumber(options.height));
this.height = options.height;
}
diff --git a/lib/chain/layout-browser.js b/lib/chain/layout-browser.js
index fb30592f..b6983efc 100644
--- a/lib/chain/layout-browser.js
+++ b/lib/chain/layout-browser.js
@@ -6,8 +6,8 @@
'use strict';
-var utils = require('../utils/utils');
-var pad32 = utils.pad32;
+var util = require('../utils/util');
+var pad32 = util.pad32;
var layout = {
R: 'R',
diff --git a/lib/crypto/backend.js b/lib/crypto/backend.js
index b8918419..ed85d19e 100644
--- a/lib/crypto/backend.js
+++ b/lib/crypto/backend.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('crypto');
var backend = exports;
@@ -35,13 +35,13 @@ if (!crypto.pbkdf2)
backend.encipher = function encipher(data, key, iv) {
var cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
- return utils.concat(cipher.update(data), cipher.final());
+ return util.concat(cipher.update(data), cipher.final());
};
backend.decipher = function decipher(data, key, iv) {
var decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
try {
- return utils.concat(decipher.update(data), decipher.final());
+ return util.concat(decipher.update(data), decipher.final());
} catch (e) {
throw new Error('Bad key for decryption.');
}
diff --git a/lib/crypto/ec-secp256k1.js b/lib/crypto/ec-secp256k1.js
index 5bf3033b..dbbd9ba3 100644
--- a/lib/crypto/ec-secp256k1.js
+++ b/lib/crypto/ec-secp256k1.js
@@ -8,7 +8,7 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('./crypto');
var secp256k1 = require('secp256k1');
@@ -251,12 +251,12 @@ ec.isLowS = function isLowS(sig) {
return false;
}
- if (utils.equal(s, ZERO_S))
+ if (util.equal(s, ZERO_S))
return false;
// If S is greater than half the order,
// it's too high.
- if (utils.cmp(s, HALF_ORDER) > 0)
+ if (util.cmp(s, HALF_ORDER) > 0)
return false;
return true;
diff --git a/lib/crypto/scrypt-async.js b/lib/crypto/scrypt-async.js
index db3e73f7..eb0fe710 100644
--- a/lib/crypto/scrypt-async.js
+++ b/lib/crypto/scrypt-async.js
@@ -33,7 +33,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('./crypto');
var native = require('../utils/native').binding;
var U32Array = typeof Uint32Array === 'function' ? Uint32Array : Array;
@@ -166,7 +166,7 @@ function blockmix_salsa8(B, Y, Yo, r, callback) {
for (i = 0; i < r; i++)
blkcpy(B, Y, (i + r) * 64, Yo + (i * 2 + 1) * 64, 64);
- utils.nextTick(callback);
+ util.nextTick(callback);
}
function integerify(B, r) {
diff --git a/lib/db/ldb.js b/lib/db/ldb.js
index c8a4440d..032e1d61 100644
--- a/lib/db/ldb.js
+++ b/lib/db/ldb.js
@@ -9,7 +9,7 @@
var assert = require('assert');
var LowlevelUp = require('./lowlevelup');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var backends = require('./backends');
/**
@@ -31,7 +31,7 @@ function LDB(options) {
var target = LDB.getTarget(options);
if (target.backend !== 'rbt')
- utils.mkdir(target.location, true);
+ util.mkdir(target.location, true);
return new LowlevelUp(target.location, {
// Generic
diff --git a/lib/db/lowlevelup.js b/lib/db/lowlevelup.js
index cf3d5b91..edc2b560 100644
--- a/lib/db/lowlevelup.js
+++ b/lib/db/lowlevelup.js
@@ -9,7 +9,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var AsyncObject = require('../utils/async');
var co = require('../utils/co');
@@ -55,7 +55,7 @@ function LowlevelUp(file, options) {
this.binding = this.db.binding;
}
-utils.inherits(LowlevelUp, AsyncObject);
+util.inherits(LowlevelUp, AsyncObject);
/**
* Open the database (recallable).
@@ -472,7 +472,7 @@ LowlevelUp.prototype.checkVersion = co(function* checkVersion(key, version) {
*/
LowlevelUp.prototype.clone = co(function* clone(path) {
- var options = utils.merge({}, this.options);
+ var options = util.merge({}, this.options);
var opt = { keys: true, values: true };
var hwm = 256 << 20;
var total = 0;
diff --git a/lib/db/rbt.js b/lib/db/rbt.js
index 646417ca..7df37de3 100644
--- a/lib/db/rbt.js
+++ b/lib/db/rbt.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var DUMMY = new Buffer([0]);
var RED = 0;
@@ -42,7 +42,7 @@ function RBT(location, options) {
this.options = options;
this.root = SENTINEL;
- this.compare = options.compare || utils.cmp;
+ this.compare = options.compare || util.cmp;
}
/**
@@ -586,7 +586,7 @@ RBT.prototype.open = function open(options, callback) {
this.options = options;
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/**
@@ -595,7 +595,7 @@ RBT.prototype.open = function open(options, callback) {
*/
RBT.prototype.close = function close(callback) {
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/**
@@ -622,7 +622,7 @@ RBT.prototype.get = function get(key, options, callback) {
err = new Error('RBT_NOTFOUND: Key not found.');
err.notFound = true;
err.type = 'NotFoundError';
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(err);
});
return;
@@ -631,7 +631,7 @@ RBT.prototype.get = function get(key, options, callback) {
if (options.asBuffer === false)
value = value.toString('utf8');
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(null, value);
});
};
@@ -652,7 +652,7 @@ RBT.prototype.put = function put(key, value, options, callback) {
this.insert(key, value);
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/**
@@ -670,7 +670,7 @@ RBT.prototype.del = function del(key, options, callback) {
this.remove(key);
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/**
@@ -741,7 +741,7 @@ RBT.prototype.approximateSize = function approximateSize(start, end, callback) {
size += item.value.length;
}
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(null, size);
});
};
@@ -753,7 +753,7 @@ RBT.prototype.approximateSize = function approximateSize(start, end, callback) {
*/
RBT.destroy = function destroy(location, callback) {
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/**
@@ -763,7 +763,7 @@ RBT.destroy = function destroy(location, callback) {
*/
RBT.repair = function repair(location, callback) {
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/**
@@ -948,7 +948,7 @@ Batch.prototype.write = function write(callback) {
var i, op;
if (!this.tree) {
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(new Error('Already written.'));
});
return;
@@ -964,7 +964,7 @@ Batch.prototype.write = function write(callback) {
this.tree.remove(op.key);
break;
default:
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(new Error('Bad operation: ' + op.type));
});
return;
@@ -976,7 +976,7 @@ Batch.prototype.write = function write(callback) {
this.options = null;
this.tree = null;
- utils.nextTick(callback);
+ util.nextTick(callback);
return this;
};
@@ -1048,7 +1048,7 @@ Iterator.prototype.next = function(callback) {
var item, key, value;
if (this.ended) {
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(new Error('Cannot call next after end.'));
});
return;
@@ -1062,14 +1062,14 @@ Iterator.prototype.next = function(callback) {
if (this.options.limit != null) {
if (this.total++ >= this.options.limit) {
this._end();
- utils.nextTick(callback);
+ util.nextTick(callback);
return;
}
}
if (!item) {
this._end();
- utils.nextTick(callback);
+ util.nextTick(callback);
return;
}
@@ -1088,7 +1088,7 @@ Iterator.prototype.next = function(callback) {
if (this.options.valueAsBuffer === false)
value = value.toString('utf8');
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(null, key, value);
});
};
@@ -1106,7 +1106,7 @@ Iterator.prototype.seek = function seek(key) {
if (typeof key === 'string')
key = new Buffer(key, 'utf8');
- this.index = utils.binarySearch(this.snapshot, key, function(a, b) {
+ this.index = util.binarySearch(this.snapshot, key, function(a, b) {
return self.tree.compare(a.key, b);
}, true);
};
@@ -1132,7 +1132,7 @@ Iterator.prototype._end = function end() {
Iterator.prototype.end = function end(callback) {
if (this.ended) {
- utils.nextTick(function() {
+ util.nextTick(function() {
callback(new Error('Already ended.'));
});
return;
@@ -1141,7 +1141,7 @@ Iterator.prototype.end = function end(callback) {
this.ended = true;
this._end();
- utils.nextTick(callback);
+ util.nextTick(callback);
};
/*
diff --git a/lib/env.js b/lib/env.js
index a5acb4c4..298a1925 100644
--- a/lib/env.js
+++ b/lib/env.js
@@ -113,6 +113,13 @@ function Environment() {
this.require('bn', 'bn.js');
this.require('elliptic', 'elliptic');
+ // BTC
+ this.require('btc', './btc');
+ this.require('amount', './btc/amount');
+ this.require('btcutils', './btc/btcutils');
+ this.require('errors', './btc/errors');
+ this.require('uri', './btc/uri');
+
// Horrible BIP
this.require('bip70', './bip70');
@@ -200,13 +207,11 @@ function Environment() {
this.require('witness', './script/witness');
// Utils
- this.require('common', './utils'); // -> common
+ this.require('utils', './utils');
this.require('base58', './utils/base58');
- this.require('btcutils', './utils/btcutils');
this.require('co', './utils/co');
this.require('reader', './utils/reader');
- this.require('uri', './utils/uri');
- this.require('utils', './utils/utils');
+ this.require('util', './utils/util');
this.require('writer', './utils/writer');
// Wallet
diff --git a/lib/hd/mnemonic.js b/lib/hd/mnemonic.js
index bfbbeb58..bca0532e 100644
--- a/lib/hd/mnemonic.js
+++ b/lib/hd/mnemonic.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var constants = require('../protocol/constants');
@@ -72,7 +72,7 @@ Mnemonic.prototype.fromOptions = function fromOptions(options) {
options = { phrase: options };
if (options.bits != null) {
- assert(utils.isNumber(options.bits));
+ assert(util.isNumber(options.bits));
assert(options.bits >= constants.hd.MIN_ENTROPY);
assert(options.bits <= constants.hd.MAX_ENTROPY);
assert(options.bits % 32 === 0);
@@ -245,7 +245,7 @@ Mnemonic.prototype.fromPhrase = function fromPhrase(phrase) {
for (i = 0; i < words.length; i++) {
word = words[i];
- index = utils.binarySearch(wordlist, word, utils.strcmp);
+ index = util.binarySearch(wordlist, word, util.strcmp);
if (index === -1)
throw new Error('Could not find word.');
@@ -340,7 +340,7 @@ Mnemonic.getLanguage = function getLanguage(word) {
for (i = 0; i < Mnemonic.languages.length; i++) {
lang = Mnemonic.languages[i];
wordlist = Mnemonic.getWordlist(lang);
- if (utils.binarySearch(wordlist, word, utils.strcmp) !== -1)
+ if (util.binarySearch(wordlist, word, util.strcmp) !== -1)
return lang;
}
@@ -379,7 +379,7 @@ Mnemonic.prototype.toJSON = function toJSON() {
*/
Mnemonic.prototype.fromJSON = function fromJSON(json) {
- assert(utils.isNumber(json.bits));
+ assert(util.isNumber(json.bits));
assert(typeof json.language === 'string');
assert(typeof json.entropy === 'string');
assert(typeof json.phrase === 'string');
diff --git a/lib/hd/private.js b/lib/hd/private.js
index b777e280..55b5313b 100644
--- a/lib/hd/private.js
+++ b/lib/hd/private.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var ec = require('../crypto/ec');
var assert = require('assert');
@@ -84,9 +84,9 @@ function HDPrivateKey(options) {
HDPrivateKey.prototype.fromOptions = function fromOptions(options) {
assert(options, 'No options for HD private key.');
- assert(utils.isNumber(options.depth));
+ assert(util.isNumber(options.depth));
assert(Buffer.isBuffer(options.parentFingerPrint));
- assert(utils.isNumber(options.childIndex));
+ assert(util.isNumber(options.childIndex));
assert(Buffer.isBuffer(options.chainCode));
assert(Buffer.isBuffer(options.privateKey));
assert(options.depth <= 0xff, 'Depth is too high.');
@@ -285,7 +285,7 @@ HDPrivateKey.prototype.getID = function getID(index) {
*/
HDPrivateKey.prototype.deriveAccount44 = function deriveAccount44(accountIndex, cache) {
- assert(utils.isNumber(accountIndex), 'Account index must be a number.');
+ assert(util.isNumber(accountIndex), 'Account index must be a number.');
assert(this.isMaster(), 'Cannot derive account index.');
return this
.derive(44, true, cache)
@@ -429,10 +429,10 @@ HDPrivateKey.prototype.equal = function equal(obj) {
return this.network === obj.network
&& this.depth === obj.depth
- && utils.equal(this.parentFingerPrint, obj.parentFingerPrint)
+ && util.equal(this.parentFingerPrint, obj.parentFingerPrint)
&& this.childIndex === obj.childIndex
- && utils.equal(this.chainCode, obj.chainCode)
- && utils.equal(this.privateKey, obj.privateKey);
+ && util.equal(this.chainCode, obj.chainCode)
+ && util.equal(this.privateKey, obj.privateKey);
};
/**
@@ -452,7 +452,7 @@ HDPrivateKey.prototype.compare = function compare(key) {
if (cmp !== 0)
return cmp;
- cmp = utils.cmp(this.parentFingerPrint, key.parentFingerPrint);
+ cmp = util.cmp(this.parentFingerPrint, key.parentFingerPrint);
if (cmp !== 0)
return cmp;
@@ -462,12 +462,12 @@ HDPrivateKey.prototype.compare = function compare(key) {
if (cmp !== 0)
return cmp;
- cmp = utils.cmp(this.chainCode, key.chainCode);
+ cmp = util.cmp(this.chainCode, key.chainCode);
if (cmp !== 0)
return cmp;
- cmp = utils.cmp(this.privateKey, key.privateKey);
+ cmp = util.cmp(this.privateKey, key.privateKey);
if (cmp !== 0)
return cmp;
diff --git a/lib/hd/public.js b/lib/hd/public.js
index 35ace54a..925f8c1f 100644
--- a/lib/hd/public.js
+++ b/lib/hd/public.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var ec = require('../crypto/ec');
var assert = require('assert');
@@ -74,9 +74,9 @@ function HDPublicKey(options) {
HDPublicKey.prototype.fromOptions = function fromOptions(options) {
assert(options, 'No options for HDPublicKey');
- assert(utils.isNumber(options.depth));
+ assert(util.isNumber(options.depth));
assert(Buffer.isBuffer(options.parentFingerPrint));
- assert(utils.isNumber(options.childIndex));
+ assert(util.isNumber(options.childIndex));
assert(Buffer.isBuffer(options.chainCode));
assert(Buffer.isBuffer(options.publicKey));
@@ -323,10 +323,10 @@ HDPublicKey.prototype.equal = function equal(obj) {
return this.network === obj.network
&& this.depth === obj.depth
- && utils.equal(this.parentFingerPrint, obj.parentFingerPrint)
+ && util.equal(this.parentFingerPrint, obj.parentFingerPrint)
&& this.childIndex === obj.childIndex
- && utils.equal(this.chainCode, obj.chainCode)
- && utils.equal(this.publicKey, obj.publicKey);
+ && util.equal(this.chainCode, obj.chainCode)
+ && util.equal(this.publicKey, obj.publicKey);
};
/**
@@ -346,7 +346,7 @@ HDPublicKey.prototype.compare = function compare(key) {
if (cmp !== 0)
return cmp;
- cmp = utils.cmp(this.parentFingerPrint, key.parentFingerPrint);
+ cmp = util.cmp(this.parentFingerPrint, key.parentFingerPrint);
if (cmp !== 0)
return cmp;
@@ -356,12 +356,12 @@ HDPublicKey.prototype.compare = function compare(key) {
if (cmp !== 0)
return cmp;
- cmp = utils.cmp(this.chainCode, key.chainCode);
+ cmp = util.cmp(this.chainCode, key.chainCode);
if (cmp !== 0)
return cmp;
- cmp = utils.cmp(this.publicKey, key.publicKey);
+ cmp = util.cmp(this.publicKey, key.publicKey);
if (cmp !== 0)
return cmp;
diff --git a/lib/http/base.js b/lib/http/base.js
index 733f0d5f..64933a6d 100644
--- a/lib/http/base.js
+++ b/lib/http/base.js
@@ -8,7 +8,7 @@
'use strict';
var AsyncObject = require('../utils/async');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var url = require('url');
@@ -48,7 +48,7 @@ function HTTPBase(options) {
this._init();
}
-utils.inherits(HTTPBase, AsyncObject);
+util.inherits(HTTPBase, AsyncObject);
/**
* Initialize server.
@@ -161,7 +161,7 @@ HTTPBase.prototype._initRouter = function _initRouter() {
return done(err);
// Avoid stack overflows
- utils.nextTick(function() {
+ util.nextTick(function() {
try {
callback.call(route.ctx, req, res, _send, next);
} catch (e) {
@@ -264,7 +264,7 @@ HTTPBase.prototype._handle = function _handle(req, res, _send, callback) {
handler = self.stack[i++];
- utils.nextTick(function() {
+ util.nextTick(function() {
if (handler.path && req.pathname.indexOf(handler.path) !== 0)
return next();
diff --git a/lib/http/client.js b/lib/http/client.js
index 17020196..d0d860fb 100644
--- a/lib/http/client.js
+++ b/lib/http/client.js
@@ -10,8 +10,8 @@
var Network = require('../protocol/network');
var AsyncObject = require('../utils/async');
var RPCClient = require('./rpcclient');
-var Amount = require('../utils/amount');
-var utils = require('../utils/utils');
+var Amount = require('../btc/amount');
+var util = require('../utils/util');
var co = require('../utils/co');
var request = require('./request').promise;
@@ -45,7 +45,7 @@ function HTTPClient(options) {
this.rpc = new RPCClient(options);
}
-utils.inherits(HTTPClient, AsyncObject);
+util.inherits(HTTPClient, AsyncObject);
/**
* Open the client, wait for socket to connect.
@@ -617,7 +617,7 @@ HTTPClient.prototype.getWalletCoin = function getWalletCoin(id, account, hash, i
*/
HTTPClient.prototype.send = function send(id, options) {
- options = utils.merge({}, options);
+ options = util.merge({}, options);
options.outputs = options.outputs || [];
if (options.rate)
@@ -666,7 +666,7 @@ HTTPClient.prototype.setPassphrase = function setPassphrase(id, old, new_) {
*/
HTTPClient.prototype.createTX = function createTX(id, options) {
- options = utils.merge({}, options);
+ options = util.merge({}, options);
if (options.rate)
options.rate = Amount.btc(options.rate);
@@ -696,7 +696,7 @@ HTTPClient.prototype.sign = function sign(id, tx, options) {
if (!options)
options = {};
- body = utils.merge({}, options);
+ body = util.merge({}, options);
body.tx = toHex(tx);
return this._post('/wallet/' + id + '/sign', body);
diff --git a/lib/http/rpc.js b/lib/http/rpc.js
index 2560daa4..42bb895d 100644
--- a/lib/http/rpc.js
+++ b/lib/http/rpc.js
@@ -6,14 +6,14 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var constants = require('../protocol/constants');
var ec = require('../crypto/ec');
var time = require('../net/time');
-var Amount = require('../utils/amount');
+var Amount = require('../btc/amount');
var NetworkAddress = require('../primitives/netaddress');
var Script = require('../script/script');
var Address = require('../primitives/address');
@@ -63,7 +63,7 @@ function RPC(node) {
this.coinbase = {};
}
-utils.inherits(RPC, EventEmitter);
+util.inherits(RPC, EventEmitter);
RPC.prototype.execute = function execute(json) {
switch (json.method) {
@@ -498,7 +498,7 @@ RPC.prototype.getnettotals = function getnettotals(args) {
return Promise.resolve({
totalbytesrecv: recv,
totalbytessent: sent,
- timemillis: utils.ms()
+ timemillis: util.ms()
});
};
@@ -520,8 +520,8 @@ RPC.prototype.getpeerinfo = function getpeerinfo(args) {
lastrecv: peer.lastRecv / 1000 | 0,
bytessent: peer.socket.bytesWritten,
bytesrecv: peer.socket.bytesRead,
- conntime: peer.ts !== 0 ? utils.now() - peer.ts : 0,
- timeoffset: peer.version ? peer.version.ts - utils.now() : 0,
+ conntime: peer.ts !== 0 ? util.now() - peer.ts : 0,
+ timeoffset: peer.version ? peer.version.ts - util.now() : 0,
pingtime: peer.lastPing !== -1 ? peer.lastPing / 1000 : 0,
minping: peer.minPing !== -1 ? peer.minPing / 1000 : 0,
version: peer.version ? peer.version.version : 0,
@@ -672,7 +672,7 @@ RPC.prototype.getblockchaininfo = co(function* getblockchaininfo(args) {
chain: 'main',
blocks: this.chain.height,
headers: this.chain.bestHeight,
- bestblockhash: utils.revHex(this.chain.tip.hash),
+ bestblockhash: util.revHex(this.chain.tip.hash),
difficulty: this._getDifficulty(),
mediantime: yield this.chain.tip.getMedianTimeAsync(),
verificationprogress: this.chain.getProgress(),
@@ -778,7 +778,7 @@ RPC.prototype._txToJSON = function _txToJSON(tx) {
if (tx.isCoinbase()) {
out.coinbase = input.script.toJSON();
} else {
- out.txid = utils.revHex(input.prevout.hash);
+ out.txid = util.revHex(input.prevout.hash);
out.vout = input.prevout.index;
out.scriptSig = {
asm: input.script.toASM(),
@@ -879,20 +879,20 @@ RPC.prototype._headerToJSON = co(function* _headerToJSON(entry) {
var nextHash = yield this.chain.db.getNextHash(entry.hash);
return {
- hash: utils.revHex(entry.hash),
+ hash: util.revHex(entry.hash),
confirmations: this.chain.height - entry.height + 1,
height: entry.height,
version: entry.version,
- merkleroot: utils.revHex(entry.merkleRoot),
+ merkleroot: util.revHex(entry.merkleRoot),
time: entry.ts,
mediantime: medianTime,
bits: entry.bits,
difficulty: this._getDifficulty(entry),
chainwork: entry.chainwork.toString('hex', 64),
previousblockhash: entry.prevBlock !== constants.NULL_HASH
- ? utils.revHex(entry.prevBlock)
+ ? util.revHex(entry.prevBlock)
: null,
- nextblockhash: nextHash ? utils.revHex(nextHash) : null
+ nextblockhash: nextHash ? util.revHex(nextHash) : null
};
});
@@ -902,14 +902,14 @@ RPC.prototype._blockToJSON = co(function* _blockToJSON(entry, block, txDetails)
var nextHash = yield this.chain.db.getNextHash(entry.hash);
return {
- hash: utils.revHex(entry.hash),
+ hash: util.revHex(entry.hash),
confirmations: this.chain.height - entry.height + 1,
strippedsize: block.getBaseSize(),
size: block.getSize(),
weight: block.getWeight(),
height: entry.height,
version: entry.version,
- merkleroot: utils.revHex(entry.merkleRoot),
+ merkleroot: util.revHex(entry.merkleRoot),
tx: block.txs.map(function(tx) {
if (txDetails)
return self._txToJSON(tx);
@@ -921,9 +921,9 @@ RPC.prototype._blockToJSON = co(function* _blockToJSON(entry, block, txDetails)
difficulty: this._getDifficulty(entry),
chainwork: entry.chainwork.toString('hex', 64),
previousblockhash: entry.prevBlock !== constants.NULL_HASH
- ? utils.revHex(entry.prevBlock)
+ ? util.revHex(entry.prevBlock)
: null,
- nextblockhash: nextHash ? utils.revHex(nextHash) : null
+ nextblockhash: nextHash ? util.revHex(nextHash) : null
};
});
@@ -1117,7 +1117,7 @@ RPC.prototype._mempoolToJSON = function _mempoolToJSON(verbose) {
hashes = this.mempool.getSnapshot();
- return hashes.map(utils.revHex);
+ return hashes.map(util.revHex);
};
RPC.prototype._entryToJSON = function _entryToJSON(entry) {
@@ -1136,7 +1136,7 @@ RPC.prototype._entryToJSON = function _entryToJSON(entry) {
ancestorcount: this.mempool.countAncestors(tx),
ancestorsize: entry.sizes,
ancestorfees: Amount.btc(entry.fees, true),
- depends: this.mempool.getDepends(tx).map(utils.revHex)
+ depends: this.mempool.getDepends(tx).map(util.revHex)
};
};
@@ -1264,7 +1264,7 @@ RPC.prototype.verifytxoutproof = co(function* verifytxoutproof(args) {
for (i = 0; i < block.matches.length; i++) {
hash = block.matches[i];
- res.push(utils.revHex(hash));
+ res.push(util.revHex(hash));
}
return res;
@@ -1414,7 +1414,7 @@ RPC.prototype.getwork = co(function* getwork(args) {
throw new RPCError('getwork ( "data" )');
if (args.length === 1) {
- if (!utils.isHex(args[0]))
+ if (!util.isHex(args[0]))
throw new RPCError('Invalid parameter.');
data = new Buffer(args[0], 'hex');
@@ -1482,7 +1482,7 @@ RPC.prototype.getblocktemplate = co(function* getblocktemplate(args) {
lpid = opt.longpollid;
if (mode === 'proposal') {
- if (!utils.isHex(opt.data))
+ if (!util.isHex(opt.data))
throw new RPCError('Invalid parameter.');
block = Block.fromRaw(opt.data, 'hex');
@@ -1494,7 +1494,7 @@ RPC.prototype.getblocktemplate = co(function* getblocktemplate(args) {
rules = [];
for (i = 0; i < opt.rules.length; i++)
rules.push(toString(opt.rules[i]));
- } else if (utils.isNumber(opt.maxversion)) {
+ } else if (util.isNumber(opt.maxversion)) {
version = opt.maxversion;
}
@@ -1620,10 +1620,10 @@ RPC.prototype.__template = co(function* _template(version, coinbase, rules) {
rules: vbrules,
vbavailable: vbavailable,
vbrequired: 0,
- previousblockhash: utils.revHex(block.prevBlock),
+ previousblockhash: util.revHex(block.prevBlock),
transactions: txs,
- longpollid: this.chain.tip.rhash + utils.pad32(this._totalTX()),
- target: utils.revHex(attempt.target.toString('hex')),
+ longpollid: this.chain.tip.rhash + util.pad32(this._totalTX()),
+ target: util.revHex(attempt.target.toString('hex')),
submitold: false,
mintime: block.ts,
maxtime: time.now() + 2 * 60 * 60,
@@ -1635,7 +1635,7 @@ RPC.prototype.__template = co(function* _template(version, coinbase, rules) {
sizelimit: constants.block.MAX_SIZE,
weightlimit: constants.block.MAX_WEIGHT,
curtime: block.ts,
- bits: utils.hex32(block.bits),
+ bits: util.hex32(block.bits),
height: attempt.height
};
@@ -1693,10 +1693,10 @@ RPC.prototype._poll = co(function* _poll(lpid) {
watched = lpid.slice(0, 64);
lastTX = +lpid.slice(64, 74);
- if (!utils.isHex(watched) || !utils.isNumber(lastTX))
+ if (!util.isHex(watched) || !util.isNumber(lastTX))
throw new RPCError('Invalid parameter.');
- watched = utils.revHex(watched);
+ watched = util.revHex(watched);
if (this.chain.tip.hash !== watched)
return;
@@ -1740,7 +1740,7 @@ RPC.prototype._bindChain = function _bindChain() {
if (!self.attempt)
return;
- if (utils.now() - self.start > 5)
+ if (util.now() - self.start > 5)
self._clearBlock();
});
};
@@ -1761,7 +1761,7 @@ RPC.prototype._getAttempt = co(function* _getAttempt(update) {
attempt = yield this.miner.createBlock();
this.attempt = attempt;
- this.start = utils.now();
+ this.start = util.now();
this.coinbase[attempt.block.merkleRoot] = attempt.coinbase.clone();
return attempt;
@@ -1833,7 +1833,7 @@ RPC.prototype.prioritisetransaction = function prioritisetransaction(args) {
if (!hash)
return Promise.reject(new RPCError('Invalid parameter'));
- if (!utils.isNumber(pri) || !utils.isNumber(fee))
+ if (!util.isNumber(pri) || !util.isNumber(fee))
return Promise.reject(new RPCError('Invalid parameter'));
entry = this.mempool.getEntry(hash);
@@ -1911,7 +1911,7 @@ RPC.prototype.setgenerate = co(function* setgenerate(args) {
this.proclimit = toNumber(args[1], 0);
if (this.mining)
- this.miner.start().catch(utils.nop);
+ this.miner.start().catch(util.nop);
else
yield this.miner.stop();
@@ -2017,12 +2017,12 @@ RPC.prototype.createrawtransaction = function createrawtransaction(args) {
sequence--;
if (!hash
- || !utils.isNumber(index)
+ || !util.isNumber(index)
|| index < 0) {
return Promise.reject(new RPCError('Invalid parameter'));
}
- if (utils.isNumber(input.sequence)) {
+ if (util.isNumber(input.sequence)) {
sequence = toNumber(input.sequence);
if (input.sequence < 0 || input.sequence > 0xffffffff)
return Promise.reject(new RPCError('Invalid parameter'));
@@ -2030,7 +2030,7 @@ RPC.prototype.createrawtransaction = function createrawtransaction(args) {
input = new Input({
prevout: {
- hash: utils.revHex(hash),
+ hash: util.revHex(hash),
index: index
},
sequence: sequence
@@ -2145,7 +2145,7 @@ RPC.prototype.sendrawtransaction = function sendrawtransaction(args) {
+ ' "hexstring" ( allowhighfees )'));
}
- if (!utils.isHex(args[0]))
+ if (!util.isHex(args[0]))
return Promise.reject(new RPCError('Invalid parameter'));
tx = TX.fromRaw(args[0], 'hex');
@@ -2166,7 +2166,7 @@ RPC.prototype.signrawtransaction = co(function* signrawtransaction(args) {
+ ' sighashtype )');
}
- if (!utils.isHex(args[0]))
+ if (!util.isHex(args[0]))
throw new RPCError('Invalid parameter');
raw = new Buffer(args[0], 'hex');
@@ -2205,7 +2205,7 @@ RPC.prototype._signrawtransaction = co(function* signrawtransaction(merged, txs,
for (i = 0; i < k.length; i++) {
secret = k[i];
- if (!utils.isBase58(secret))
+ if (!util.isBase58(secret))
throw new RPCError('Invalid parameter');
key = KeyRing.fromSecret(secret);
@@ -2230,15 +2230,15 @@ RPC.prototype._signrawtransaction = co(function* signrawtransaction(merged, txs,
value = toSatoshi(prev.amount);
if (!hash
- || !utils.isNumber(index)
+ || !util.isNumber(index)
|| index < 0
- || !utils.isHex(script)) {
+ || !util.isHex(script)) {
throw new RPCError('Invalid parameter');
}
script = Script.fromRaw(script, 'hex');
coins.push(new Coin({
- hash: utils.revHex(hash),
+ hash: util.revHex(hash),
index: index,
script: script,
value: value,
@@ -2246,7 +2246,7 @@ RPC.prototype._signrawtransaction = co(function* signrawtransaction(merged, txs,
height: -1
}));
- if (keys.length === 0 || !utils.isHex(prev.redeemScript))
+ if (keys.length === 0 || !util.isHex(prev.redeemScript))
continue;
if (script.isScripthash() || script.isWitnessScripthash()) {
@@ -2341,7 +2341,7 @@ RPC.prototype.fundrawtransaction = co(function* fundrawtransaction(args) {
RPC.prototype._createRedeem = co(function* _createRedeem(args) {
var i, m, n, keys, hash, script, key, ring;
- if (!utils.isNumber(args[0])
+ if (!util.isNumber(args[0])
|| !Array.isArray(args[1])
|| args[0] < 1
|| args[1].length < args[0]
@@ -2356,8 +2356,8 @@ RPC.prototype._createRedeem = co(function* _createRedeem(args) {
for (i = 0; i < keys.length; i++) {
key = keys[i];
- if (!utils.isBase58(key)) {
- if (!utils.isHex(key))
+ if (!util.isBase58(key)) {
+ if (!util.isHex(key))
throw new RPCError('Invalid key.');
keys[i] = new Buffer(key, 'hex');
continue;
@@ -2749,14 +2749,14 @@ RPC.prototype.dumpwallet = co(function* dumpwallet(args) {
throw new RPCError('Invalid parameter.');
file = toString(args[0]);
- time = utils.date();
+ time = util.date();
out = [
- utils.fmt('# Wallet Dump created by BCoin %s', constants.USER_VERSION),
- utils.fmt('# * Created on %s', time),
- utils.fmt('# * Best block at time of backup was %d (%s),',
+ util.fmt('# Wallet Dump created by BCoin %s', constants.USER_VERSION),
+ util.fmt('# * Created on %s', time),
+ util.fmt('# * Best block at time of backup was %d (%s),',
this.chain.height, this.chain.tip.rhash),
- utils.fmt('# mined on %s', utils.date(this.chain.tip.ts)),
- utils.fmt('# * File: %s', file),
+ util.fmt('# mined on %s', util.date(this.chain.tip.ts)),
+ util.fmt('# * File: %s', file),
''
];
@@ -2778,7 +2778,7 @@ RPC.prototype.dumpwallet = co(function* dumpwallet(args) {
if (ring.branch === 1)
fmt = '%s %s change=1 addr=%s';
- str = utils.fmt(fmt, ring.toSecret(), time, address);
+ str = util.fmt(fmt, ring.toSecret(), time, address);
out.push(str);
}
@@ -3085,10 +3085,10 @@ RPC.prototype._toWalletTX = co(function* _toWalletTX(tx) {
json = {
amount: Amount.btc(receive ? received : -sent, true),
confirmations: details.confirmations,
- blockhash: details.block ? utils.revHex(details.block) : null,
+ blockhash: details.block ? util.revHex(details.block) : null,
blockindex: details.index,
blocktime: details.ts,
- txid: utils.revHex(details.hash),
+ txid: util.revHex(details.hash),
walletconflicts: [],
time: details.ps,
timereceived: details.ps,
@@ -3269,7 +3269,7 @@ RPC.prototype.importpubkey = co(function* importpubkey(args) {
pubkey = toString(args[0]);
- if (!utils.isHex(pubkey))
+ if (!util.isHex(pubkey))
throw new RPCError('Invalid paremeter.');
if (args.length > 1)
@@ -3337,7 +3337,7 @@ RPC.prototype.listlockunspent = function listlockunspent(args) {
for (i = 0; i < outpoints.length; i++) {
outpoint = outpoints[i];
out.push({
- txid: utils.revHex(outpoint.hash),
+ txid: util.revHex(outpoint.hash),
vout: outpoint.index
});
}
@@ -3522,7 +3522,7 @@ RPC.prototype.listsinceblock = co(function* listsinceblock(args) {
return {
transactions: out,
lastblock: highest && highest.block
- ? utils.revHex(highest.block)
+ ? util.revHex(highest.block)
: constants.NULL_HASH
};
});
@@ -3592,10 +3592,10 @@ RPC.prototype._toListTX = co(function* _toListTX(tx) {
label: member.path ? member.path.name : undefined,
vout: index,
confirmations: details.confirmations,
- blockhash: details.block ? utils.revHex(details.block) : null,
+ blockhash: details.block ? util.revHex(details.block) : null,
blockindex: details.index,
blocktime: details.ts,
- txid: utils.revHex(details.hash),
+ txid: util.revHex(details.hash),
walletconflicts: [],
time: details.ps,
timereceived: details.ps,
@@ -3707,7 +3707,7 @@ RPC.prototype.listunspent = co(function* listunspent(args) {
ring = yield this.wallet.getKey(hash);
out.push({
- txid: utils.revHex(coin.hash),
+ txid: util.revHex(coin.hash),
vout: coin.index,
address: address ? address.toBase58(this.network) : null,
account: ring ? ring.name : undefined,
@@ -4009,7 +4009,7 @@ RPC.prototype.importprunedfunds = co(function* importprunedfunds(args) {
tx = args[0];
block = args[1];
- if (!utils.isHex(tx) || !utils.isHex(block))
+ if (!util.isHex(tx) || !util.isHex(block))
throw new RPCError('Invalid parameter.');
tx = TX.fromRaw(tx, 'hex');
@@ -4069,10 +4069,10 @@ RPC.prototype.getmemory = function getmemory(args) {
mem = process.memoryUsage();
return Promise.resolve({
- rss: utils.mb(mem.rss),
- jsheap: utils.mb(mem.heapUsed),
- jsheaptotal: utils.mb(mem.heapTotal),
- nativeheap: utils.mb(mem.rss - mem.heapTotal)
+ rss: util.mb(mem.rss),
+ jsheap: util.mb(mem.heapUsed),
+ jsheaptotal: util.mb(mem.heapTotal),
+ nativeheap: util.mb(mem.rss - mem.heapTotal)
});
};
@@ -4135,7 +4135,7 @@ function RPCError(msg) {
this.message = msg;
}
-utils.inherits(RPCError, Error);
+util.inherits(RPCError, Error);
function toBool(obj, def) {
if (typeof obj === 'boolean' || typeof obj === 'number')
@@ -4144,7 +4144,7 @@ function toBool(obj, def) {
}
function toNumber(obj, def) {
- if (utils.isNumber(obj))
+ if (util.isNumber(obj))
return obj;
return def != null ? def : -1;
}
@@ -4170,11 +4170,11 @@ function toObject(obj, def) {
function toHash(obj) {
if (!isHash(obj))
return null;
- return utils.revHex(obj);
+ return util.revHex(obj);
}
function isHash(obj) {
- return utils.isHex(obj) && obj.length === 64;
+ return util.isHex(obj) && obj.length === 64;
}
function toSatoshi(obj) {
diff --git a/lib/http/server.js b/lib/http/server.js
index e9f213ba..49085850 100644
--- a/lib/http/server.js
+++ b/lib/http/server.js
@@ -14,10 +14,10 @@ var EventEmitter = require('events').EventEmitter;
var assert = require('assert');
var constants = require('../protocol/constants');
var HTTPBase = require('./base');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var base58 = require('../utils/base58');
-var Amount = require('../utils/amount');
+var Amount = require('../btc/amount');
var Address = require('../primitives/address');
var Bloom = require('../utils/bloom');
var TX = require('../primitives/tx');
@@ -92,7 +92,7 @@ function HTTPServer(options) {
this._init();
}
-utils.inherits(HTTPServer, EventEmitter);
+util.inherits(HTTPServer, EventEmitter);
/**
* Initialize routes.
@@ -131,7 +131,7 @@ HTTPServer.prototype._init = function _init() {
res.setHeader('X-Bcoin-Agent', constants.USER_AGENT);
res.setHeader('X-Bcoin-Network', this.network.type);
res.setHeader('X-Bcoin-Height', this.chain.height + '');
- res.setHeader('X-Bcoin-Tip', utils.revHex(this.chain.tip.hash));
+ res.setHeader('X-Bcoin-Tip', util.revHex(this.chain.tip.hash));
next();
});
@@ -249,15 +249,15 @@ HTTPServer.prototype._init = function _init() {
if (params.block != null) {
if (typeof params.block === 'number') {
- assert(utils.isUInt32(params.block), 'Height must be a number.');
+ assert(util.isUInt32(params.block), 'Height must be a number.');
options.height = params.block;
} else {
enforce(typeof params.block === 'string', 'Hash must be a string.');
if (params.block.length !== 64) {
options.height = Number(params.block);
- enforce(utils.isUInt32(options.height), 'Height must be a number.');
+ enforce(util.isUInt32(options.height), 'Height must be a number.');
} else {
- options.hash = utils.revHex(params.block);
+ options.hash = util.revHex(params.block);
}
}
}
@@ -265,42 +265,42 @@ HTTPServer.prototype._init = function _init() {
if (params.hash) {
enforce(typeof params.hash === 'string', 'Hash must be a string.');
enforce(params.hash.length === 64, 'Hash must be a string.');
- options.hash = utils.revHex(params.hash);
+ options.hash = util.revHex(params.hash);
}
if (params.index != null) {
options.index = Number(params.index);
- enforce(utils.isUInt32(options.index), 'Index must be a number.');
+ enforce(util.isUInt32(options.index), 'Index must be a number.');
}
if (params.height != null) {
options.height = Number(params.height);
- enforce(utils.isUInt32(options.height), 'Height must be a number.');
+ enforce(util.isUInt32(options.height), 'Height must be a number.');
}
if (params.start != null) {
options.start = Number(params.start);
- enforce(utils.isUInt32(options.start), 'Start must be a number.');
+ enforce(util.isUInt32(options.start), 'Start must be a number.');
}
if (params.end != null) {
options.end = Number(params.end);
- enforce(utils.isUInt32(options.end), 'End must be a number.');
+ enforce(util.isUInt32(options.end), 'End must be a number.');
}
if (params.limit != null) {
options.limit = Number(params.limit);
- enforce(utils.isUInt32(options.limit), 'Limit must be a number.');
+ enforce(util.isUInt32(options.limit), 'Limit must be a number.');
}
if (params.age != null) {
options.age = Number(params.age);
- enforce(utils.isUInt32(options.age), 'Age must be a number.');
+ enforce(util.isUInt32(options.age), 'Age must be a number.');
}
if (params.confirmations != null) {
options.confirmations = Number(params.confirmations);
- enforce(utils.isNumber(options.confirmations),
+ enforce(util.isNumber(options.confirmations),
'Confirmations must be a number.');
}
@@ -318,23 +318,23 @@ HTTPServer.prototype._init = function _init() {
if (params.m != null) {
options.m = Number(params.m);
- enforce(utils.isUInt32(options.m), 'm must be a number.');
+ enforce(util.isUInt32(options.m), 'm must be a number.');
}
if (params.n != null) {
options.n = Number(params.n);
- enforce(utils.isUInt32(options.n), 'n must be a number.');
+ enforce(util.isUInt32(options.n), 'n must be a number.');
}
if (params.blocks != null) {
options.blocks = Number(params.blocks);
- enforce(utils.isUInt32(options.blocks), 'Blocks must be a number.');
+ enforce(util.isUInt32(options.blocks), 'Blocks must be a number.');
}
if (params.subtractFee != null) {
if (typeof params.subtractFee === 'number') {
options.subtractFee = params.subtractFee;
- enforce(utils.isUInt32(options.subtractFee), 'subtractFee must be a number.');
+ enforce(util.isUInt32(options.subtractFee), 'subtractFee must be a number.');
} else {
options.subtractFee = params.subtractFee;
enforce(typeof options.subtractFee === 'boolean', 'subtractFee must be a boolean.');
@@ -353,7 +353,7 @@ HTTPServer.prototype._init = function _init() {
if (params.timeout != null) {
options.timeout = Number(params.timeout);
- enforce(utils.isNumber(options.timeout), 'Timeout must be a number.');
+ enforce(util.isNumber(options.timeout), 'Timeout must be a number.');
}
if (params.witness != null) {
@@ -414,7 +414,7 @@ HTTPServer.prototype._init = function _init() {
if (params.account != null) {
if (typeof params.account === 'number') {
options.account = params.account;
- enforce(utils.isUInt32(options.account), 'Account must be a number.');
+ enforce(util.isUInt32(options.account), 'Account must be a number.');
} else {
enforce(typeof params.account === 'string', 'Account must be a string.');
options.account = params.account;
@@ -465,7 +465,7 @@ HTTPServer.prototype._init = function _init() {
}
if (params.token) {
- enforce(utils.isHex(params.token), 'Wallet token must be a hex string.');
+ enforce(util.isHex(params.token), 'Wallet token must be a hex string.');
enforce(params.token.length === 64, 'Wallet token must be 32 bytes.');
options.token = new Buffer(params.token, 'hex');
}
@@ -586,8 +586,8 @@ HTTPServer.prototype._init = function _init() {
progress: this.chain.getProgress(),
mempoolTX: totalTX,
mempoolSize: size,
- uptime: Math.floor(utils.uptime()),
- systemTime: utils.now(),
+ uptime: Math.floor(util.uptime()),
+ systemTime: util.now(),
adjustedTime: time.now(),
timeOffset: time.offset,
memory: getMemory()
@@ -1277,7 +1277,7 @@ HTTPServer.prototype._initIO = function _initIO() {
return callback();
}
- if (!utils.isHex256(token))
+ if (!util.isHex256(token))
return callback({ error: 'Invalid parameter.' });
token = new Buffer(token, 'hex');
@@ -1351,7 +1351,7 @@ HTTPServer.prototype._initIO = function _initIO() {
var blocks = args[0];
var rate;
- if (blocks != null && !utils.isNumber(blocks))
+ if (blocks != null && !util.isNumber(blocks))
return callback({ error: 'Invalid parameter.' });
if (!socket.api)
@@ -1373,7 +1373,7 @@ HTTPServer.prototype._initIO = function _initIO() {
var data = args[0];
var tx;
- if (!utils.isHex(data))
+ if (!util.isHex(data))
return callback({ error: 'Invalid parameter.' });
if (!socket.api)
@@ -1391,14 +1391,14 @@ HTTPServer.prototype._initIO = function _initIO() {
socket.on('scan', function(args, callback) {
var start = args[0];
- if (!utils.isHex256(start) && !utils.isUInt32(start))
+ if (!util.isHex256(start) && !util.isUInt32(start))
return callback({ error: 'Invalid parameter.' });
if (!socket.api)
return callback({ error: 'Not authorized.' });
if (typeof start === 'string')
- start = utils.revHex(start);
+ start = util.revHex(start);
socket.scan(start).then(callback, function(err) {
callback({ error: err.message });
@@ -1556,7 +1556,7 @@ function ClientSocket(server, socket) {
this._init();
}
-utils.inherits(ClientSocket, EventEmitter);
+util.inherits(ClientSocket, EventEmitter);
ClientSocket.prototype._init = function _init() {
var self = this;
@@ -1598,7 +1598,7 @@ ClientSocket.prototype.addFilter = function addFilter(chunks) {
for (i = 0; i < chunks.length; i++) {
data = chunks[i];
- if (!utils.isHex(data))
+ if (!util.isHex(data))
throw new Error('Not a hex string.');
this.filter.add(data, 'hex');
@@ -1863,10 +1863,10 @@ function getMemory() {
mem = process.memoryUsage();
return {
- rss: utils.mb(mem.rss),
- jsHeap: utils.mb(mem.heapUsed),
- jsHeapTotal: utils.mb(mem.heapTotal),
- nativeHeap: utils.mb(mem.rss - mem.heapTotal)
+ rss: util.mb(mem.rss),
+ jsHeap: util.mb(mem.heapUsed),
+ jsHeapTotal: util.mb(mem.heapTotal),
+ nativeHeap: util.mb(mem.rss - mem.heapTotal)
};
}
diff --git a/lib/http/wallet.js b/lib/http/wallet.js
index f1e3c73a..88a89e8b 100644
--- a/lib/http/wallet.js
+++ b/lib/http/wallet.js
@@ -10,7 +10,7 @@
var assert = require('assert');
var EventEmitter = require('events').EventEmitter;
var Network = require('../protocol/network');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var Client = require('./client');
@@ -54,7 +54,7 @@ function HTTPWallet(options) {
this._init();
}
-utils.inherits(HTTPWallet, EventEmitter);
+util.inherits(HTTPWallet, EventEmitter);
/**
* Initialize the wallet.
diff --git a/lib/mempool/fees.js b/lib/mempool/fees.js
index 4b29ab17..29c3230c 100644
--- a/lib/mempool/fees.js
+++ b/lib/mempool/fees.js
@@ -8,14 +8,14 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var constants = require('../protocol/constants');
var BufferReader = require('../utils/reader');
var BufferWriter = require('../utils/writer');
var Logger = require('../node/logger');
var Network = require('../protocol/network');
-var global = utils.global;
+var global = util.global;
var Float64Array = global.Float64Array || Array;
var Int32Array = global.Int32Array || Array;
@@ -457,7 +457,7 @@ PolicyEstimator.prototype.removeTX = function removeTX(hash) {
if (!item) {
this.logger.spam(
'estimatefee: Mempool tx %s not found.',
- utils.revHex(hash));
+ util.revHex(hash));
return;
}
@@ -670,7 +670,7 @@ PolicyEstimator.prototype.estimateFee = function estimateFee(target, smart) {
if (smart == null)
smart = true;
- assert(utils.isUInt32(target), 'Target must be a number.');
+ assert(util.isUInt32(target), 'Target must be a number.');
assert(target <= this.feeStats.maxConfirms,
'Too many confirmations for estimate.');
@@ -722,7 +722,7 @@ PolicyEstimator.prototype.estimatePriority = function estimatePriority(target, s
if (smart == null)
smart = true;
- assert(utils.isUInt32(target), 'Target must be a number.');
+ assert(util.isUInt32(target), 'Target must be a number.');
assert(target <= this.priStats.maxConfirms,
'Too many confirmations for estimate.');
@@ -816,12 +816,12 @@ function DoubleMap() {
}
DoubleMap.prototype.insert = function insert(key, value) {
- var i = utils.binarySearch(this.buckets, key, compare, true);
+ var i = util.binarySearch(this.buckets, key, compare, true);
this.buckets.splice(i, 0, [key, value]);
};
DoubleMap.prototype.search = function search(key) {
- var i = utils.binarySearch(this.buckets, key, compare, true);
+ var i = util.binarySearch(this.buckets, key, compare, true);
assert(this.buckets.length !== 0, 'Cannot search.');
return this.buckets[i][1];
};
diff --git a/lib/mempool/mempool.js b/lib/mempool/mempool.js
index bb1c7e84..6bf8ce93 100644
--- a/lib/mempool/mempool.js
+++ b/lib/mempool/mempool.js
@@ -8,11 +8,11 @@
var AsyncObject = require('../utils/async');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var assert = require('assert');
var crypto = require('../crypto/crypto');
-var errors = require('../utils/errors');
+var errors = require('../btc/errors');
var VerifyError = errors.VerifyError;
var VerifyResult = errors.VerifyResult;
var flags = constants.flags;
@@ -109,7 +109,7 @@ function Mempool(options) {
this.minRelay = this.network.minRelay;
}
-utils.inherits(Mempool, AsyncObject);
+util.inherits(Mempool, AsyncObject);
/**
* Open the chain, wait for the database to load.
@@ -254,7 +254,7 @@ Mempool.prototype.limitMempoolSize = function limitMempoolSize(entryHash) {
return trimmed;
hashes = this.getSnapshot();
- end = utils.now() - this.expiryTime;
+ end = util.now() - this.expiryTime;
for (i = 0; i < hashes.length; i++) {
hash = hashes[i];
@@ -309,7 +309,7 @@ Mempool.prototype.limitOrphans = function limitOrphans() {
hash = orphans[i];
orphans.splice(i, 1);
- this.logger.spam('Removing orphan %s from mempool.', utils.revHex(hash));
+ this.logger.spam('Removing orphan %s from mempool.', util.revHex(hash));
this.removeOrphan(hash);
}
@@ -900,7 +900,7 @@ Mempool.prototype.verify = co(function* verify(entry) {
// annoying or make others' transactions take longer
// to confirm.
if (this.limitFree && entry.fee < minFee) {
- now = utils.now();
+ now = util.now();
// Use an exponentially decaying ~10-minute window:
this.freeCount *= Math.pow(1 - 1 / 600, now - this.lastTime);
@@ -1842,7 +1842,7 @@ AddressIndex.prototype.addTX = function addTX(tx) {
this.index[hash] = items;
}
- utils.binaryInsert(items, tx.hash(), utils.cmp);
+ util.binaryInsert(items, tx.hash(), util.cmp);
}
this.map[key] = hashes;
@@ -1863,7 +1863,7 @@ AddressIndex.prototype.removeTX = function removeTX(tx) {
if (!items)
continue;
- utils.binaryRemove(items, tx.hash(), utils.cmp);
+ util.binaryRemove(items, tx.hash(), util.cmp);
if (items.length === 0)
delete this.index[hash];
@@ -1907,7 +1907,7 @@ AddressIndex.prototype.addCoin = function addCoin(coin) {
}
outpoint = Outpoint(coin.hash, coin.index).toRaw();
- utils.binaryInsert(items, outpoint, utils.cmp);
+ util.binaryInsert(items, outpoint, util.cmp);
this.map[key] = hash;
};
@@ -1926,7 +1926,7 @@ AddressIndex.prototype.removeCoin = function removeCoin(coin) {
return;
outpoint = Outpoint(coin.hash, coin.index).toRaw();
- utils.binaryRemove(items, outpoint, utils.cmp);
+ util.binaryRemove(items, outpoint, util.cmp);
if (items.length === 0)
delete this.index[hash];
diff --git a/lib/mempool/mempoolentry.js b/lib/mempool/mempoolentry.js
index bf1bcf66..388a6d24 100644
--- a/lib/mempool/mempoolentry.js
+++ b/lib/mempool/mempoolentry.js
@@ -7,8 +7,8 @@
'use strict';
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
-var btcutils = require('../utils/btcutils');
+var util = require('../utils/util');
+var btcutils = require('../btc/btcutils');
/**
* Represents a mempool entry.
@@ -100,7 +100,7 @@ MempoolEntry.prototype.fromTX = function fromTX(tx, height) {
this.size = size;
this.priority = priority;
this.fee = fee;
- this.ts = utils.now();
+ this.ts = util.now();
this.value = value;
this.dependencies = dependencies;
diff --git a/lib/mining/miner.js b/lib/mining/miner.js
index 99a37d12..3bc575c8 100644
--- a/lib/mining/miner.js
+++ b/lib/mining/miner.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var assert = require('assert');
var constants = require('../protocol/constants');
@@ -62,7 +62,7 @@ function Miner(options) {
this._init();
}
-utils.inherits(Miner, AsyncObject);
+util.inherits(Miner, AsyncObject);
/**
* Initialize the miner options.
@@ -73,7 +73,7 @@ Miner.prototype._initOptions = function _initOptions(options) {
var i, flags;
if (options.version != null) {
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
this.version = options.version;
}
@@ -95,28 +95,28 @@ Miner.prototype._initOptions = function _initOptions(options) {
}
if (options.minWeight != null) {
- assert(utils.isNumber(options.minWeight));
+ assert(util.isNumber(options.minWeight));
this.minWeight = options.minWeight;
}
if (options.maxWeight != null) {
- assert(utils.isNumber(options.maxWeight));
+ assert(util.isNumber(options.maxWeight));
this.maxWeight = options.maxWeight;
}
if (options.maxSigops != null) {
- assert(utils.isNumber(options.maxSigops));
+ assert(util.isNumber(options.maxSigops));
assert(options.maxSigops <= constants.block.MAX_SIGOPS_WEIGHT);
this.maxSigops = options.maxSigops;
}
if (options.priorityWeight != null) {
- assert(utils.isNumber(options.priorityWeight));
+ assert(util.isNumber(options.priorityWeight));
this.priorityWeight = options.priorityWeight;
}
if (options.minPriority != null) {
- assert(utils.isNumber(options.minPriority));
+ assert(util.isNumber(options.minPriority));
this.minPriority = options.minPriority;
}
};
@@ -535,7 +535,7 @@ Queue.prototype.size = function size() {
};
Queue.prototype.push = function push(item) {
- utils.binaryInsert(this.items, item, this.cmp);
+ util.binaryInsert(this.items, item, this.cmp);
};
Queue.prototype.pop = function pop() {
diff --git a/lib/mining/minerblock.js b/lib/mining/minerblock.js
index dc2640ae..4f66a7a6 100644
--- a/lib/mining/minerblock.js
+++ b/lib/mining/minerblock.js
@@ -8,8 +8,8 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
-var btcutils = require('../utils/btcutils');
+var util = require('../utils/util');
+var btcutils = require('../btc/btcutils');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
var constants = require('../protocol/constants');
@@ -78,7 +78,7 @@ function MinerBlock(options) {
this._init();
}
-utils.inherits(MinerBlock, EventEmitter);
+util.inherits(MinerBlock, EventEmitter);
/**
* Nonce range interval.
@@ -93,7 +93,7 @@ MinerBlock.prototype.__defineGetter__('hashes', function() {
});
MinerBlock.prototype.__defineGetter__('rate', function() {
- return (this.block.nonce / (utils.now() - this.begin)) | 0;
+ return (this.block.nonce / (util.now() - this.begin)) | 0;
});
/**
@@ -122,7 +122,7 @@ MinerBlock.prototype._init = function _init() {
// of ours. This isn't really
// necessary nowdays due to bip34
// (used above).
- input.script.set(2, utils.nonce());
+ input.script.set(2, util.nonce());
// Let the world know this little
// miner succeeded.
@@ -374,7 +374,7 @@ MinerBlock.prototype.mine = function mine() {
var nonce;
// Track how long we've been at it.
- this.begin = utils.now();
+ this.begin = util.now();
assert(this.block.ts > this.tip.ts);
@@ -403,7 +403,7 @@ MinerBlock.prototype.mineAsync = co(function* mineAsync() {
var nonce;
// Track how long we've been at it.
- this.begin = utils.now();
+ this.begin = util.now();
assert(this.block.ts > this.tip.ts);
@@ -468,7 +468,7 @@ MinerBlock.prototype.sendStatus = function sendStatus() {
hashes: this.hashes,
hashrate: this.rate,
height: this.height,
- best: utils.revHex(this.tip.hash)
+ best: util.revHex(this.tip.hash)
});
};
diff --git a/lib/net/bip150.js b/lib/net/bip150.js
index daa51dbc..e8e12a52 100644
--- a/lib/net/bip150.js
+++ b/lib/net/bip150.js
@@ -9,7 +9,7 @@
'use strict';
var EventEmitter = require('events').EventEmitter;
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
var packets = require('./packets');
@@ -69,7 +69,7 @@ function BIP150(bip151, hostname, outbound, db, identity) {
this.timeout = null;
}
-utils.inherits(BIP150, EventEmitter);
+util.inherits(BIP150, EventEmitter);
BIP150.prototype.isAuthed = function isAuthed() {
if (this.outbound)
@@ -85,7 +85,7 @@ BIP150.prototype.challenge = function challenge(hash) {
assert(!this.challengeReceived, 'Peer challenged twice.');
this.challengeReceived = true;
- if (utils.equal(hash, constants.ZERO_HASH))
+ if (util.equal(hash, constants.ZERO_HASH))
throw new Error('Auth failure.');
msg = this.hash(this.input.sid, type, this.publicKey);
@@ -112,7 +112,7 @@ BIP150.prototype.reply = function reply(data) {
assert(!this.replyReceived, 'Peer replied twice.');
this.replyReceived = true;
- if (utils.equal(data, constants.ZERO_SIG64))
+ if (util.equal(data, constants.ZERO_SIG64))
throw new Error('Auth failure.');
if (!this.peerIdentity)
diff --git a/lib/net/bip151.js b/lib/net/bip151.js
index 21d2827b..a43c4c3c 100644
--- a/lib/net/bip151.js
+++ b/lib/net/bip151.js
@@ -13,7 +13,7 @@
'use strict';
var EventEmitter = require('events').EventEmitter;
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
var assert = require('assert');
@@ -109,7 +109,7 @@ BIP151Stream.prototype.init = function init(publicKey) {
this.chacha.init(this.k1, this.iv);
this.aead.init(this.k2, this.iv);
- this.lastRekey = utils.now();
+ this.lastRekey = util.now();
};
/**
@@ -120,7 +120,7 @@ BIP151Stream.prototype.init = function init(publicKey) {
*/
BIP151Stream.prototype.shouldRekey = function shouldRekey(data) {
- var now = utils.now();
+ var now = util.now();
this.processed += data.length;
@@ -322,7 +322,7 @@ function BIP151(cipher) {
this.bip150 = null;
}
-utils.inherits(BIP151, EventEmitter);
+util.inherits(BIP151, EventEmitter);
/**
* Emit an error.
@@ -330,7 +330,7 @@ utils.inherits(BIP151, EventEmitter);
*/
BIP151.prototype.error = function error() {
- var msg = utils.fmt.apply(utils, arguments);
+ var msg = util.fmt.apply(utils, arguments);
this.emit('error', new Error(msg));
};
@@ -409,7 +409,7 @@ BIP151.prototype.encinit = function encinit(publicKey, cipher) {
BIP151.prototype.encack = function encack(publicKey) {
assert(this.initSent, 'Unsolicited ACK.');
- if (utils.equal(publicKey, constants.ZERO_KEY)) {
+ if (util.equal(publicKey, constants.ZERO_KEY)) {
assert(this.handshake, 'No initialization before rekey.');
if (this.bip150 && this.bip150.auth) {
@@ -636,7 +636,7 @@ BIP151.prototype.parse = function parse(data) {
// varint-cmdlen(1) str-cmd(1) u32-size(4) payload(0)
if (size < 6 || size > constants.MAX_MESSAGE * 3) {
this.waiting = 4;
- this.error('Bad packet size: %d.', utils.mb(size));
+ this.error('Bad packet size: %d.', util.mb(size));
return;
}
diff --git a/lib/net/bip152.js b/lib/net/bip152.js
index 855775e0..6ceeb13e 100644
--- a/lib/net/bip152.js
+++ b/lib/net/bip152.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var BufferReader = require('../utils/reader');
var BufferWriter = require('../utils/writer');
var co = require('../utils/co');
@@ -50,7 +50,7 @@ function CompactBlock(options) {
this.fromOptions(options);
}
-utils.inherits(CompactBlock, AbstractBlock);
+util.inherits(CompactBlock, AbstractBlock);
CompactBlock.prototype._verify = function _verify(ret) {
return this.verifyHeaders(ret);
@@ -349,7 +349,7 @@ CompactBlock.prototype.fromBlock = function fromBlock(block, witness, nonce) {
this.totalTX = block.totalTX;
if (!nonce)
- nonce = utils.nonce(true);
+ nonce = util.nonce(true);
this.keyNonce = nonce;
diff --git a/lib/net/packets.js b/lib/net/packets.js
index b7059e4f..abf63e70 100644
--- a/lib/net/packets.js
+++ b/lib/net/packets.js
@@ -9,7 +9,7 @@
var BN = require('bn.js');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var crypto = require('../crypto/crypto');
var time = require('./time');
@@ -131,7 +131,7 @@ function VersionPacket(options) {
this.fromOptions(options);
}
-utils.inherits(VersionPacket, Packet);
+util.inherits(VersionPacket, Packet);
VersionPacket.prototype.cmd = 'version';
VersionPacket.prototype.type = exports.types.VERSION;
@@ -378,7 +378,7 @@ function PingPacket(nonce) {
this.nonce = nonce || null;
}
-utils.inherits(PingPacket, Packet);
+util.inherits(PingPacket, Packet);
PingPacket.prototype.cmd = 'ping';
PingPacket.prototype.type = exports.types.PING;
@@ -443,7 +443,7 @@ function PongPacket(nonce) {
this.nonce = nonce || new BN(0);
}
-utils.inherits(PongPacket, Packet);
+util.inherits(PongPacket, Packet);
PongPacket.prototype.cmd = 'pong';
PongPacket.prototype.type = exports.types.PONG;
@@ -542,7 +542,7 @@ function AlertPacket(options) {
this.fromOptions(options);
}
-utils.inherits(AlertPacket, Packet);
+util.inherits(AlertPacket, Packet);
AlertPacket.prototype.cmd = 'alert';
AlertPacket.prototype.type = exports.types.ALERT;
@@ -772,7 +772,7 @@ function GetAddrPacket() {
Packet.call(this);
}
-utils.inherits(GetAddrPacket, Packet);
+util.inherits(GetAddrPacket, Packet);
GetAddrPacket.prototype.cmd = 'getaddr';
GetAddrPacket.prototype.type = exports.types.GETADDR;
@@ -826,7 +826,7 @@ function AddrPacket(items) {
this.items = items || [];
}
-utils.inherits(AddrPacket, Packet);
+util.inherits(AddrPacket, Packet);
AddrPacket.prototype.cmd = 'addr';
AddrPacket.prototype.type = exports.types.ADDR;
@@ -899,7 +899,7 @@ function InvPacket(items) {
this.items = items || [];
}
-utils.inherits(InvPacket, Packet);
+util.inherits(InvPacket, Packet);
InvPacket.prototype.cmd = 'inv';
InvPacket.prototype.type = exports.types.INV;
@@ -970,7 +970,7 @@ function GetDataPacket(items) {
InvPacket.call(this, items);
}
-utils.inherits(GetDataPacket, InvPacket);
+util.inherits(GetDataPacket, InvPacket);
GetDataPacket.prototype.cmd = 'getdata';
GetDataPacket.prototype.type = exports.types.GETDATA;
@@ -1003,7 +1003,7 @@ function NotFoundPacket(items) {
InvPacket.call(this, items);
}
-utils.inherits(NotFoundPacket, InvPacket);
+util.inherits(NotFoundPacket, InvPacket);
NotFoundPacket.prototype.cmd = 'notfound';
NotFoundPacket.prototype.type = exports.types.NOTFOUND;
@@ -1042,7 +1042,7 @@ function GetBlocksPacket(locator, stop) {
this.stop = stop || null;
}
-utils.inherits(GetBlocksPacket, Packet);
+util.inherits(GetBlocksPacket, Packet);
GetBlocksPacket.prototype.cmd = 'getblocks';
GetBlocksPacket.prototype.type = exports.types.GETBLOCKS;
@@ -1124,7 +1124,7 @@ function GetHeadersPacket(locator, stop) {
GetBlocksPacket.call(this, locator, stop);
}
-utils.inherits(GetHeadersPacket, GetBlocksPacket);
+util.inherits(GetHeadersPacket, GetBlocksPacket);
GetHeadersPacket.prototype.cmd = 'getheaders';
GetHeadersPacket.prototype.type = exports.types.GETHEADERS;
@@ -1159,7 +1159,7 @@ function HeadersPacket(items) {
this.items = items || [];
}
-utils.inherits(HeadersPacket, Packet);
+util.inherits(HeadersPacket, Packet);
HeadersPacket.prototype.cmd = 'headers';
HeadersPacket.prototype.type = exports.types.HEADERS;
@@ -1228,7 +1228,7 @@ function SendHeadersPacket() {
Packet.call(this);
}
-utils.inherits(SendHeadersPacket, Packet);
+util.inherits(SendHeadersPacket, Packet);
SendHeadersPacket.prototype.cmd = 'sendheaders';
SendHeadersPacket.prototype.type = exports.types.SENDHEADERS;
@@ -1285,7 +1285,7 @@ function BlockPacket(block, witness) {
this.witness = witness || false;
}
-utils.inherits(BlockPacket, Packet);
+util.inherits(BlockPacket, Packet);
BlockPacket.prototype.cmd = 'block';
BlockPacket.prototype.type = exports.types.BLOCK;
@@ -1345,7 +1345,7 @@ function TXPacket(tx, witness) {
this.witness = witness || false;
}
-utils.inherits(TXPacket, Packet);
+util.inherits(TXPacket, Packet);
TXPacket.prototype.cmd = 'tx';
TXPacket.prototype.type = exports.types.TX;
@@ -1411,7 +1411,7 @@ function RejectPacket(options) {
this.fromOptions(options);
}
-utils.inherits(RejectPacket, Packet);
+util.inherits(RejectPacket, Packet);
RejectPacket.prototype.cmd = 'reject';
RejectPacket.prototype.type = exports.types.REJECT;
@@ -1595,7 +1595,7 @@ function MempoolPacket() {
Packet.call(this);
}
-utils.inherits(MempoolPacket, Packet);
+util.inherits(MempoolPacket, Packet);
MempoolPacket.prototype.cmd = 'mempool';
MempoolPacket.prototype.type = exports.types.MEMPOOL;
@@ -1662,7 +1662,7 @@ function FilterLoadPacket(filter, n, tweak, update) {
}
}
-utils.inherits(FilterLoadPacket, Packet);
+util.inherits(FilterLoadPacket, Packet);
FilterLoadPacket.prototype.cmd = 'filterload';
FilterLoadPacket.prototype.type = exports.types.FILTERLOAD;
@@ -1784,7 +1784,7 @@ function FilterAddPacket(data) {
this.data = data || DUMMY;
}
-utils.inherits(FilterAddPacket, Packet);
+util.inherits(FilterAddPacket, Packet);
FilterAddPacket.prototype.cmd = 'filteradd';
FilterAddPacket.prototype.type = exports.types.FILTERADD;
@@ -1843,7 +1843,7 @@ function FilterClearPacket() {
Packet.call(this);
}
-utils.inherits(FilterClearPacket, Packet);
+util.inherits(FilterClearPacket, Packet);
FilterClearPacket.prototype.cmd = 'filterclear';
FilterClearPacket.prototype.type = exports.types.FILTERCLEAR;
@@ -1897,7 +1897,7 @@ function MerkleBlockPacket(block) {
this.block = block || new MerkleBlock();
}
-utils.inherits(MerkleBlockPacket, Packet);
+util.inherits(MerkleBlockPacket, Packet);
MerkleBlockPacket.prototype.cmd = 'merkleblock';
MerkleBlockPacket.prototype.type = exports.types.MERKLEBLOCK;
@@ -1955,7 +1955,7 @@ function GetUTXOsPacket(mempool, prevout) {
this.prevout = prevout || [];
}
-utils.inherits(GetUTXOsPacket, Packet);
+util.inherits(GetUTXOsPacket, Packet);
GetUTXOsPacket.prototype.cmd = 'getutxos';
GetUTXOsPacket.prototype.type = exports.types.GETUTXOS;
@@ -2040,7 +2040,7 @@ function UTXOsPacket(options) {
this.fromOptions(options);
}
-utils.inherits(UTXOsPacket, Packet);
+util.inherits(UTXOsPacket, Packet);
UTXOsPacket.prototype.cmd = 'utxos';
UTXOsPacket.prototype.type = exports.types.UTXOS;
@@ -2053,7 +2053,7 @@ UTXOsPacket.prototype.type = exports.types.UTXOS;
UTXOsPacket.prototype.fromOptions = function fromOptions(options) {
if (options.height != null) {
- assert(utils.isNumber(options.height));
+ assert(util.isNumber(options.height));
this.height = options.height;
}
@@ -2196,7 +2196,7 @@ function HaveWitnessPacket() {
Packet.call(this);
}
-utils.inherits(HaveWitnessPacket, Packet);
+util.inherits(HaveWitnessPacket, Packet);
HaveWitnessPacket.prototype.cmd = 'havewitness';
HaveWitnessPacket.prototype.type = exports.types.HAVEWITNESS;
@@ -2250,7 +2250,7 @@ function FeeFilterPacket(rate) {
this.rate = rate || 0;
}
-utils.inherits(FeeFilterPacket, Packet);
+util.inherits(FeeFilterPacket, Packet);
FeeFilterPacket.prototype.cmd = 'feefilter';
FeeFilterPacket.prototype.type = exports.types.FEEFILTER;
@@ -2316,7 +2316,7 @@ function SendCmpctPacket(mode, version) {
this.version = version || 1;
}
-utils.inherits(SendCmpctPacket, Packet);
+util.inherits(SendCmpctPacket, Packet);
SendCmpctPacket.prototype.cmd = 'sendcmpct';
SendCmpctPacket.prototype.type = exports.types.SENDCMPCT;
@@ -2384,7 +2384,7 @@ function CmpctBlockPacket(block, witness) {
this.witness = witness || false;
}
-utils.inherits(CmpctBlockPacket, Packet);
+util.inherits(CmpctBlockPacket, Packet);
CmpctBlockPacket.prototype.cmd = 'cmpctblock';
CmpctBlockPacket.prototype.type = exports.types.CMPCTBLOCK;
@@ -2441,7 +2441,7 @@ function GetBlockTxnPacket(request) {
this.request = request || new bip152.TXRequest();
}
-utils.inherits(GetBlockTxnPacket, Packet);
+util.inherits(GetBlockTxnPacket, Packet);
GetBlockTxnPacket.prototype.cmd = 'getblocktxn';
GetBlockTxnPacket.prototype.type = exports.types.GETBLOCKTXN;
@@ -2499,7 +2499,7 @@ function BlockTxnPacket(response, witness) {
this.witness = witness || false;
}
-utils.inherits(BlockTxnPacket, Packet);
+util.inherits(BlockTxnPacket, Packet);
BlockTxnPacket.prototype.cmd = 'blocktxn';
BlockTxnPacket.prototype.type = exports.types.BLOCKTXN;
@@ -2559,7 +2559,7 @@ function EncinitPacket(publicKey, cipher) {
this.cipher = cipher || 0;
}
-utils.inherits(EncinitPacket, Packet);
+util.inherits(EncinitPacket, Packet);
EncinitPacket.prototype.cmd = 'encinit';
EncinitPacket.prototype.type = exports.types.ENCINIT;
@@ -2624,7 +2624,7 @@ function EncackPacket(publicKey) {
this.publicKey = publicKey || constants.ZERO_KEY;
}
-utils.inherits(EncackPacket, Packet);
+util.inherits(EncackPacket, Packet);
EncackPacket.prototype.cmd = 'encack';
EncackPacket.prototype.type = exports.types.ENCACK;
@@ -2687,7 +2687,7 @@ function AuthChallengePacket(hash) {
this.hash = hash || constants.ZERO_HASH;
}
-utils.inherits(AuthChallengePacket, Packet);
+util.inherits(AuthChallengePacket, Packet);
AuthChallengePacket.prototype.cmd = 'authchallenge';
AuthChallengePacket.prototype.type = exports.types.AUTHCHALLENGE;
@@ -2750,7 +2750,7 @@ function AuthReplyPacket(signature) {
this.signature = signature || constants.ZERO_SIG64;
}
-utils.inherits(AuthReplyPacket, Packet);
+util.inherits(AuthReplyPacket, Packet);
AuthReplyPacket.prototype.cmd = 'authreply';
AuthReplyPacket.prototype.type = exports.types.AUTHREPLY;
@@ -2813,7 +2813,7 @@ function AuthProposePacket(hash) {
this.hash = hash || constants.ZERO_HASH;
}
-utils.inherits(AuthProposePacket, Packet);
+util.inherits(AuthProposePacket, Packet);
AuthProposePacket.prototype.cmd = 'authpropose';
AuthProposePacket.prototype.type = exports.types.AUTHPROPOSE;
@@ -2879,7 +2879,7 @@ function UnknownPacket(cmd, data) {
this.data = data;
}
-utils.inherits(UnknownPacket, Packet);
+util.inherits(UnknownPacket, Packet);
UnknownPacket.prototype.type = exports.types.UNKNOWN;
diff --git a/lib/net/parser.js b/lib/net/parser.js
index 043885f0..2b98dea6 100644
--- a/lib/net/parser.js
+++ b/lib/net/parser.js
@@ -9,7 +9,7 @@
var Network = require('../protocol/network');
var EventEmitter = require('events').EventEmitter;
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var constants = require('../protocol/constants');
@@ -44,7 +44,7 @@ function Parser(options) {
this._init();
}
-utils.inherits(Parser, EventEmitter);
+util.inherits(Parser, EventEmitter);
/**
* Initialize. Bind to events.
@@ -76,7 +76,7 @@ Parser.prototype._init = function _init(str) {
*/
Parser.prototype.error = function error() {
- var msg = utils.fmt.apply(utils, arguments);
+ var msg = util.fmt.apply(utils, arguments);
this.emit('error', new Error(msg));
};
@@ -135,7 +135,7 @@ Parser.prototype.parse = function parse(data) {
if (checksum !== this.header.checksum) {
this.waiting = 24;
this.header = null;
- return this.error('Invalid checksum: %d.', utils.hex32(checksum));
+ return this.error('Invalid checksum: %d.', util.hex32(checksum));
}
try {
@@ -165,7 +165,7 @@ Parser.prototype.parseHeader = function parseHeader(data) {
magic = data.readUInt32LE(0, true);
if (magic !== this.network.magic)
- return this.error('Invalid magic value: %s.', utils.hex32(magic));
+ return this.error('Invalid magic value: %s.', util.hex32(magic));
// Count length of the cmd
for (i = 0; data[i + 4] !== 0 && i < 12; i++);
@@ -179,7 +179,7 @@ Parser.prototype.parseHeader = function parseHeader(data) {
if (size > constants.MAX_MESSAGE) {
this.waiting = 24;
- return this.error('Packet length too large: %dmb.', utils.mb(size));
+ return this.error('Packet length too large: %dmb.', util.mb(size));
}
this.waiting = size;
diff --git a/lib/net/peer.js b/lib/net/peer.js
index b3172c87..48f8cd18 100644
--- a/lib/net/peer.js
+++ b/lib/net/peer.js
@@ -10,7 +10,7 @@
var assert = require('assert');
var EventEmitter = require('events').EventEmitter;
var tcp = require('./tcp');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var Parser = require('./parser');
var Framer = require('./framer');
@@ -169,7 +169,7 @@ function Peer(pool, addr, socket) {
this._init();
}
-utils.inherits(Peer, EventEmitter);
+util.inherits(Peer, EventEmitter);
/**
* Globally incremented unique id.
@@ -311,7 +311,7 @@ Peer.prototype._connect = function _connect() {
return new Promise(function(resolve, reject) {
self.socket.once('connect', function() {
- self.ts = utils.now();
+ self.ts = util.now();
self.connected = true;
self.emit('connect');
@@ -660,8 +660,8 @@ Peer.prototype.sendPing = function sendPing() {
return Promise.resolve();
}
- this.lastPing = utils.ms();
- this.challenge = utils.nonce();
+ this.lastPing = util.ms();
+ this.challenge = util.nonce();
return this.send(new packets.PingPacket(this.challenge));
};
@@ -772,7 +772,7 @@ Peer.prototype.write = function write(data) {
if (this.destroyed)
return Promise.resolve();
- this.lastSend = utils.ms();
+ this.lastSend = util.ms();
if (this.socket.write(data) === false) {
return new Promise(function(resolve, reject) {
@@ -839,7 +839,7 @@ Peer.prototype.error = function error(err, keep) {
if (typeof args[args.length - 1] === 'boolean')
keep = args.pop();
- msg = utils.fmt.apply(utils, args);
+ msg = util.fmt.apply(utils, args);
err = new Error(msg);
}
@@ -972,7 +972,7 @@ Peer.prototype._onPacket = co(function* onPacket(packet) {
*/
Peer.prototype.__onPacket = co(function* onPacket(packet) {
- this.lastRecv = utils.ms();
+ this.lastRecv = util.ms();
if (this.bip151
&& !this.bip151.completed
@@ -1482,7 +1482,7 @@ Peer.prototype._getBroadcasted = function _getBroadcasted(item) {
this.logger.debug(
'Peer requested %s %s as a %s packet (%s).',
entry.type === constants.inv.TX ? 'tx' : 'block',
- utils.revHex(entry.hash),
+ util.revHex(entry.hash),
item.hasWitness() ? 'witness' : 'normal',
this.hostname);
@@ -1791,7 +1791,7 @@ Peer.prototype._handlePing = co(function* _handlePing(packet) {
Peer.prototype._handlePong = function _handlePong(packet) {
var nonce = packet.nonce;
- var now = utils.ms();
+ var now = util.ms();
if (!this.challenge) {
this.logger.debug('Peer sent an unsolicited pong (%s).', this.hostname);
@@ -2312,11 +2312,11 @@ Peer.prototype.sendGetHeaders = function sendGetHeaders(locator, stop) {
if (packet.locator.length > 0) {
height = this.chain.checkHeight(packet.locator[0]);
- hash = utils.revHex(packet.locator[0]);
+ hash = util.revHex(packet.locator[0]);
}
if (stop)
- stop = utils.revHex(stop);
+ stop = util.revHex(stop);
this.logger.debug(
'Height: %d, Hash: %s, Stop: %s',
@@ -2342,11 +2342,11 @@ Peer.prototype.sendGetBlocks = function getBlocks(locator, stop) {
if (packet.locator.length > 0) {
height = this.chain.checkHeight(packet.locator[0]);
- hash = utils.revHex(packet.locator[0]);
+ hash = util.revHex(packet.locator[0]);
}
if (stop)
- stop = utils.revHex(stop);
+ stop = util.revHex(stop);
this.logger.debug(
'Height: %d, Hash: %s, Stop: %s',
@@ -2597,7 +2597,7 @@ RequestEntry.prototype._onTimeout = function _onTimeout() {
if (!queue)
return;
- if (utils.binaryRemove(queue, this, compare)) {
+ if (util.binaryRemove(queue, this, compare)) {
if (queue.length === 0)
delete this.peer.requestMap[this.cmd];
this.reject(new Error('Timed out: ' + this.cmd));
diff --git a/lib/net/pool.js b/lib/net/pool.js
index ead7d638..e7ff90b0 100644
--- a/lib/net/pool.js
+++ b/lib/net/pool.js
@@ -10,11 +10,11 @@
var assert = require('assert');
var EventEmitter = require('events').EventEmitter;
var AsyncObject = require('../utils/async');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var IP = require('../utils/ip');
var co = require('../utils/co');
var constants = require('../protocol/constants');
-var errors = require('../utils/errors');
+var errors = require('../btc/errors');
var VerifyError = errors.VerifyError;
var VerifyResult = errors.VerifyResult;
var NetworkAddress = require('../primitives/netaddress');
@@ -132,7 +132,7 @@ function Pool(options) {
this.blockType = constants.inv.BLOCK;
this.txType = constants.inv.TX;
- this.localNonce = utils.nonce();
+ this.localNonce = util.nonce();
this.spvFilter = null;
this.txFilter = null;
@@ -158,7 +158,7 @@ function Pool(options) {
this._init();
};
-utils.inherits(Pool, AsyncObject);
+util.inherits(Pool, AsyncObject);
/**
* Initialize options.
@@ -178,7 +178,7 @@ Pool.prototype._initOptions = function _initOptions() {
if (this.options.port != null)
this.port = this.options.port;
- this.address.ts = utils.now();
+ this.address.ts = util.now();
this.address.services = this.services;
this.address.setPort(this.port);
@@ -435,7 +435,7 @@ Pool.prototype.listen = function listen() {
Pool.prototype.unlisten = function unlisten() {
var self = this;
- if (utils.isBrowser)
+ if (util.isBrowser)
return Promise.resolve();
if (!this.server)
@@ -613,7 +613,7 @@ Pool.prototype.addLoader = function addLoader() {
this.peers.addLoader(peer);
this.fillPeers();
- utils.nextTick(function() {
+ util.nextTick(function() {
self.emit('loader', peer);
});
};
@@ -641,7 +641,7 @@ Pool.prototype.setLoader = function setLoader(peer) {
peer.sync();
- utils.nextTick(function() {
+ util.nextTick(function() {
self.emit('loader', peer);
});
};
@@ -963,7 +963,7 @@ Pool.prototype._handleBlock = co(function* _handleBlock(block, peer) {
+ ' blocks=%d orphans=%d active=%d'
+ ' queue=%d target=%s peers=%d'
+ ' pending=%d jobs=%d',
- utils.date(block.ts),
+ util.date(block.ts),
this.chain.height,
this.chain.bestHeight,
(this.chain.getProgress() * 100).toFixed(2) + '%',
@@ -1122,7 +1122,7 @@ Pool.prototype.createPeer = function createPeer(addr, socket) {
var data, code;
if (payload.data)
- data = utils.revHex(payload.data);
+ data = util.revHex(payload.data);
code = constants.rejectByVal[payload.code];
@@ -1392,7 +1392,7 @@ Pool.prototype.addLeech = function addLeech(addr, socket) {
this.peers.addLeech(peer);
- utils.nextTick(function() {
+ util.nextTick(function() {
self.emit('leech', peer);
});
};
@@ -1426,7 +1426,7 @@ Pool.prototype.addPeer = function addPeer() {
this.peers.addPending(peer);
- utils.nextTick(function() {
+ util.nextTick(function() {
self.emit('peer', peer);
});
};
@@ -1553,7 +1553,7 @@ Pool.prototype.getData = co(function* getData(peer, type, hash) {
if (type === this.txType) {
if (peer.queueTX.length === 0) {
- utils.nextTick(function() {
+ util.nextTick(function() {
self.logger.debug(
'Requesting %d/%d txs from peer with getdata (%s).',
peer.queueTX.length,
@@ -1600,7 +1600,7 @@ Pool.prototype.has = co(function* has(peer, type, hash) {
if (this.hasReject(hash)) {
this.logger.spam(
'Peer sent a known reject of %s (%s).',
- utils.revHex(hash), peer.hostname);
+ util.revHex(hash), peer.hostname);
return true;
}
@@ -1965,15 +1965,15 @@ PeerList.prototype.addLeech = function addLeech(peer) {
};
PeerList.prototype.promote = function promote(peer) {
- if (utils.binaryRemove(this.pending, peer, compare))
- utils.binaryInsert(this.regular, peer, compare);
+ if (util.binaryRemove(this.pending, peer, compare))
+ util.binaryInsert(this.regular, peer, compare);
};
PeerList.prototype.remove = function remove(peer) {
- utils.binaryRemove(this.pending, peer, compare);
- utils.binaryRemove(this.regular, peer, compare);
- utils.binaryRemove(this.leeches, peer, compare);
- utils.binaryRemove(this.all, peer, compare);
+ util.binaryRemove(this.pending, peer, compare);
+ util.binaryRemove(this.regular, peer, compare);
+ util.binaryRemove(this.leeches, peer, compare);
+ util.binaryRemove(this.all, peer, compare);
assert(this.map[peer.hostname]);
delete this.map[peer.hostname];
@@ -1989,9 +1989,9 @@ PeerList.prototype.demoteLoader = function demoteLoader() {
assert(peer);
this.load = null;
if (peer.ack)
- utils.binaryInsert(this.regular, peer, compare);
+ util.binaryInsert(this.regular, peer, compare);
else
- utils.binaryInsert(this.pending, peer, compare);
+ util.binaryInsert(this.pending, peer, compare);
};
PeerList.prototype.repurpose = function repurpose(peer) {
@@ -2002,8 +2002,8 @@ PeerList.prototype.repurpose = function repurpose(peer) {
if (this.load)
this.demoteLoader();
- r1 = utils.binaryRemove(this.pending, peer, compare);
- r2 = utils.binaryRemove(this.regular, peer, compare);
+ r1 = util.binaryRemove(this.pending, peer, compare);
+ r2 = util.binaryRemove(this.regular, peer, compare);
assert(r1 || r2);
@@ -2158,7 +2158,7 @@ HostList.prototype.add = function add(addr) {
if (this.map[addr.hostname])
return;
- utils.binaryInsert(this.items, addr, compare);
+ util.binaryInsert(this.items, addr, compare);
this.map[addr.hostname] = addr;
@@ -2177,7 +2177,7 @@ HostList.prototype.remove = function remove(addr) {
if (!addr)
return;
- utils.binaryRemove(this.items, addr, compare);
+ util.binaryRemove(this.items, addr, compare);
delete this.map[addr.hostname];
@@ -2190,7 +2190,7 @@ HostList.prototype.remove = function remove(addr) {
*/
HostList.prototype.ban = function ban(addr) {
- this.misbehaving[addr.host] = utils.now();
+ this.misbehaving[addr.host] = util.now();
this.remove(addr);
};
@@ -2214,7 +2214,7 @@ HostList.prototype.isMisbehaving = function isMisbehaving(addr) {
var time = this.misbehaving[addr.host];
if (time != null) {
- if (utils.now() > time + constants.BAN_TIME) {
+ if (util.now() > time + constants.BAN_TIME) {
delete this.misbehaving[addr.host];
return false;
}
@@ -2359,9 +2359,9 @@ LoadRequest.prototype.finish = function finish() {
}
if (this.type === this.pool.txType)
- utils.binaryRemove(this.peer.queueTX, this, compare);
+ util.binaryRemove(this.peer.queueTX, this, compare);
else
- utils.binaryRemove(this.peer.queueBlock, this, compare);
+ util.binaryRemove(this.peer.queueBlock, this, compare);
if (this.timeout != null) {
clearTimeout(this.timeout);
@@ -2379,7 +2379,7 @@ LoadRequest.prototype.inspect = function inspect() {
+ ' id=' + this.id
+ ' type=' + (this.type === this.pool.txType ? 'tx' : 'block')
+ ' active=' + this.active
- + ' hash=' + utils.revHex(this.hash)
+ + ' hash=' + util.revHex(this.hash)
+ '>';
};
@@ -2433,7 +2433,7 @@ function BroadcastItem(pool, item) {
assert((this.type & constants.WITNESS_MASK) === 0);
}
-utils.inherits(BroadcastItem, EventEmitter);
+util.inherits(BroadcastItem, EventEmitter);
/**
* Add a callback to be executed on ack, timeout, or reject.
@@ -2453,7 +2453,7 @@ BroadcastItem.prototype.start = function start() {
assert(!this.pool.invMap[this.hash], 'Already started.');
this.pool.invMap[this.hash] = this;
- utils.binaryInsert(this.pool.invItems, this, compare);
+ util.binaryInsert(this.pool.invItems, this, compare);
this.refresh();
@@ -2501,7 +2501,7 @@ BroadcastItem.prototype.finish = function finish(err) {
this.timeout = null;
delete this.pool.invMap[this.hash];
- utils.binaryRemove(this.pool.invItems, this, compare);
+ util.binaryRemove(this.pool.invItems, this, compare);
for (i = 0; i < this.callback.length; i++)
this.callback[i](err);
@@ -2553,7 +2553,7 @@ BroadcastItem.prototype.inspect = function inspect() {
return '';
};
diff --git a/lib/net/proxysocket.js b/lib/net/proxysocket.js
index 3e64ea43..8a4f7bde 100644
--- a/lib/net/proxysocket.js
+++ b/lib/net/proxysocket.js
@@ -1,6 +1,6 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var BufferWriter = require('../utils/writer');
var assert = require('assert');
@@ -30,7 +30,7 @@ function ProxySocket(uri) {
this._init();
}
-utils.inherits(ProxySocket, EventEmitter);
+util.inherits(ProxySocket, EventEmitter);
ProxySocket.prototype._init = function _init() {
var self = this;
@@ -106,7 +106,7 @@ ProxySocket.prototype.connect = function connect(port, host) {
return this.once('info', connect.bind(this, port, host));
if (this.info.pow) {
- utils.log(
+ util.log(
'Solving proof of work to create socket (%d, %s) -- please wait.',
port, host);
@@ -121,9 +121,9 @@ ProxySocket.prototype.connect = function connect(port, host) {
nonce++;
assert(nonce <= 0xffffffff, 'Could not create socket.');
pow.writeUInt32LE(nonce, 0, true);
- } while (utils.cmp(crypto.hash256(pow), this.target) > 0);
+ } while (util.cmp(crypto.hash256(pow), this.target) > 0);
- utils.log('Solved proof of work: %d', nonce);
+ util.log('Solved proof of work: %d', nonce);
}
this.socket.emit('tcp connect', port, host, nonce);
diff --git a/lib/net/time.js b/lib/net/time.js
index 4b51f11e..927daca0 100644
--- a/lib/net/time.js
+++ b/lib/net/time.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var EventEmitter = require('events').EventEmitter;
/**
@@ -40,7 +40,7 @@ function TimeData(limit) {
this._checked = false;
}
-utils.inherits(TimeData, EventEmitter);
+util.inherits(TimeData, EventEmitter);
/**
* Add time data.
@@ -49,7 +49,7 @@ utils.inherits(TimeData, EventEmitter);
*/
TimeData.prototype.add = function add(host, time) {
- var sample = time - utils.now();
+ var sample = time - util.now();
var i, median, match, offset;
if (this.samples.length >= this.limit)
@@ -60,7 +60,7 @@ TimeData.prototype.add = function add(host, time) {
this.known[host] = sample;
- utils.binaryInsert(this.samples, sample, compare);
+ util.binaryInsert(this.samples, sample, compare);
this.emit('sample', sample, this.samples.length);
@@ -97,7 +97,7 @@ TimeData.prototype.add = function add(host, time) {
*/
TimeData.prototype.now = function now() {
- return utils.now() + this.offset;
+ return util.now() + this.offset;
};
/*
diff --git a/lib/node/config.js b/lib/node/config.js
index 4b68a02d..a5ee781c 100644
--- a/lib/node/config.js
+++ b/lib/node/config.js
@@ -7,7 +7,7 @@
'use strict';
var Network = require('../protocol/network');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var fs = require('fs');
@@ -68,14 +68,14 @@ config.parse = function parse(options) {
merge(data, arg);
}
- if (data.config && !utils.isBrowser) {
+ if (data.config && !util.isBrowser) {
prefix = config.getPrefix(data);
filename = data.config;
if (typeof filename !== 'string')
filename = resolve(prefix, 'bcoin.conf');
- dirname = utils.normalize(filename, true);
+ dirname = util.normalize(filename, true);
conf = config.readConfig(filename, prefix, dirname);
raw = merge(conf.data, raw);
data = merge(conf, data);
@@ -97,7 +97,7 @@ config.parse = function parse(options) {
// Force fast properties
// after all those merges.
- utils.fastProp(data);
+ util.fastProp(data);
return data;
};
@@ -114,11 +114,11 @@ config.getPrefix = function getPrefix(data) {
var network;
if (!prefix)
- prefix = utils.HOME + '/.bcoin';
+ prefix = util.HOME + '/.bcoin';
network = Network.get(data.network).type;
- prefix = utils.normalize(prefix);
+ prefix = util.normalize(prefix);
if (network !== 'main')
prefix += '/' + network;
@@ -441,11 +441,11 @@ config.parseQuery = function parseQuery(query) {
var data = {};
var i, parts, index, pair, key, value, alias;
- if (!utils.isBrowser)
+ if (!util.isBrowser)
return data;
if (query == null) {
- query = utils.global.location.search;
+ query = util.global.location.search;
if (typeof query !== 'string')
return data;
query = query.substring(1);
@@ -603,7 +603,7 @@ function path(value, prefix, dirname) {
switch (value[0]) {
case '~': // home dir
- value = utils.HOME + value.substring(1);
+ value = util.HOME + value.substring(1);
break;
case '@': // prefix
if (prefix)
@@ -615,7 +615,7 @@ function path(value, prefix, dirname) {
break;
}
- return utils.normalize(value);
+ return util.normalize(value);
}
function bool(value) {
@@ -677,7 +677,7 @@ function file(value, prefix, dirname, enc) {
function resolve(a, b) {
if (b[0] === '/')
return b;
- return utils.normalize(a + '/' + b);
+ return util.normalize(a + '/' + b);
}
function readFile(file) {
diff --git a/lib/node/fullnode.js b/lib/node/fullnode.js
index 51e43b12..6c54a6eb 100644
--- a/lib/node/fullnode.js
+++ b/lib/node/fullnode.js
@@ -8,7 +8,7 @@
'use strict';
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var Node = require('./node');
var Chain = require('../chain/chain');
@@ -168,7 +168,7 @@ function FullNode(options) {
this._init();
}
-utils.inherits(FullNode, Node);
+util.inherits(FullNode, Node);
/**
* Initialize the node.
diff --git a/lib/node/logger.js b/lib/node/logger.js
index 622163db..6a67cac6 100644
--- a/lib/node/logger.js
+++ b/lib/node/logger.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var fs = require('fs');
@@ -245,9 +245,9 @@ Logger.prototype.writeConsole = function writeConsole(level, args) {
prefix = '[' + level + '] ';
- if (utils.isBrowser) {
+ if (util.isBrowser) {
msg = typeof args[0] !== 'object'
- ? utils.format(args, false)
+ ? util.format(args, false)
: args[0];
msg = prefix + msg;
@@ -262,7 +262,7 @@ Logger.prototype.writeConsole = function writeConsole(level, args) {
prefix = '\x1b[' + color + 'm' + prefix + '\x1b[m';
}
- msg = prefix + utils.format(args, this.colors);
+ msg = prefix + util.format(args, this.colors);
return level === 'error'
? process.stderr.write(msg + '\n')
@@ -288,17 +288,17 @@ Logger.prototype.writeStream = function writeStream(level, args) {
if (fs.unsupported)
return;
- utils.mkdir(this.file, true);
+ util.mkdir(this.file, true);
this.stream = fs.createWriteStream(this.file, { flags: 'a' });
this.stream.on('error', function() {});
}
prefix = '[' + level + '] ';
- msg = prefix + utils.format(args, false);
- msg = '(' + utils.date() + '): ' + msg + '\n';
+ msg = prefix + util.format(args, false);
+ msg = '(' + util.date() + '): ' + msg + '\n';
- if (!utils.isBrowser)
+ if (!util.isBrowser)
msg = process.pid + ' ' + msg;
this.stream.write(msg);
@@ -317,7 +317,7 @@ Logger.prototype._error = function error(err) {
if (this.closed)
return;
- if (utils.isBrowser && this.console)
+ if (util.isBrowser && this.console)
console.error(err);
msg = (err.message + '').replace(/^ *Error: */, '');
@@ -343,10 +343,10 @@ Logger.prototype.memory = function memory() {
mem = process.memoryUsage();
this.debug('Memory: rss=%dmb, js-heap=%d/%dmb native-heap=%dmb',
- utils.mb(mem.rss),
- utils.mb(mem.heapUsed),
- utils.mb(mem.heapTotal),
- utils.mb(mem.rss - mem.heapTotal));
+ util.mb(mem.rss),
+ util.mb(mem.heapUsed),
+ util.mb(mem.heapTotal),
+ util.mb(mem.rss - mem.heapTotal));
};
/*
diff --git a/lib/node/node.js b/lib/node/node.js
index b6d93ce3..12220b7f 100644
--- a/lib/node/node.js
+++ b/lib/node/node.js
@@ -8,7 +8,7 @@
'use strict';
var AsyncObject = require('../utils/async');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var assert = require('assert');
var Network = require('../protocol/network');
@@ -55,7 +55,7 @@ function Node(options) {
this.__init();
}
-utils.inherits(Node, AsyncObject);
+util.inherits(Node, AsyncObject);
/**
* Initialize node.
@@ -186,12 +186,12 @@ Node.prototype.parseOptions = function parseOptions(options) {
options.network = Network.get(options.network);
if (!options.prefix)
- options.prefix = utils.HOME + '/.bcoin';
+ options.prefix = util.HOME + '/.bcoin';
if (!options.db)
options.db = 'memory';
- options.prefix = utils.normalize(options.prefix);
+ options.prefix = util.normalize(options.prefix);
if (options.logFile && typeof options.logFile !== 'string') {
options.logFile = options.prefix;
@@ -201,7 +201,7 @@ Node.prototype.parseOptions = function parseOptions(options) {
}
options.logFile = options.logFile
- ? utils.normalize(options.logFile)
+ ? util.normalize(options.logFile)
: null;
if (options.fast) {
diff --git a/lib/node/spvnode.js b/lib/node/spvnode.js
index 80c2c6d3..22fba59b 100644
--- a/lib/node/spvnode.js
+++ b/lib/node/spvnode.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var Node = require('./node');
var Chain = require('../chain/chain');
@@ -108,7 +108,7 @@ function SPVNode(options) {
this._init();
}
-utils.inherits(SPVNode, Node);
+util.inherits(SPVNode, Node);
/**
* Initialize the node.
diff --git a/lib/primitives/abstractblock.js b/lib/primitives/abstractblock.js
index 17170d41..b418ac8b 100644
--- a/lib/primitives/abstractblock.js
+++ b/lib/primitives/abstractblock.js
@@ -9,10 +9,10 @@
var assert = require('assert');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
-var btcutils = require('../utils/btcutils');
-var VerifyResult = require('../utils/errors').VerifyResult;
+var btcutils = require('../btc/btcutils');
+var VerifyResult = require('../btc/errors').VerifyResult;
var BufferWriter = require('../utils/writer');
var time = require('../net/time');
var InvItem = require('./invitem');
@@ -72,12 +72,12 @@ function AbstractBlock(options) {
AbstractBlock.prototype.parseOptions = function parseOptions(options) {
assert(options, 'Block data is required.');
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
assert(typeof options.prevBlock === 'string');
assert(typeof options.merkleRoot === 'string');
- assert(utils.isNumber(options.ts));
- assert(utils.isNumber(options.bits));
- assert(utils.isNumber(options.nonce));
+ assert(util.isNumber(options.ts));
+ assert(util.isNumber(options.bits));
+ assert(util.isNumber(options.nonce));
this.version = options.version;
this.prevBlock = options.prevBlock;
@@ -87,12 +87,12 @@ AbstractBlock.prototype.parseOptions = function parseOptions(options) {
this.nonce = options.nonce;
if (options.totalTX != null) {
- assert(utils.isNumber(options.totalTX));
+ assert(util.isNumber(options.totalTX));
this.totalTX = options.totalTX;
}
if (options.height != null) {
- assert(utils.isNumber(options.height));
+ assert(util.isNumber(options.height));
this.height = options.height;
}
@@ -110,18 +110,18 @@ AbstractBlock.prototype.parseOptions = function parseOptions(options) {
AbstractBlock.prototype.parseJSON = function parseJSON(json) {
assert(json, 'Block data is required.');
- assert(utils.isNumber(json.version));
+ assert(util.isNumber(json.version));
assert(typeof json.prevBlock === 'string');
assert(typeof json.merkleRoot === 'string');
- assert(utils.isNumber(json.ts));
- assert(utils.isNumber(json.bits));
- assert(utils.isNumber(json.nonce));
- assert(utils.isNumber(json.totalTX));
- assert(utils.isNumber(json.height));
+ assert(util.isNumber(json.ts));
+ assert(util.isNumber(json.bits));
+ assert(util.isNumber(json.nonce));
+ assert(util.isNumber(json.totalTX));
+ assert(util.isNumber(json.height));
this.version = json.version;
- this.prevBlock = utils.revHex(json.prevBlock);
- this.merkleRoot = utils.revHex(json.merkleRoot);
+ this.prevBlock = util.revHex(json.prevBlock);
+ this.merkleRoot = util.revHex(json.merkleRoot);
this.ts = json.ts;
this.bits = json.bits;
this.nonce = json.nonce;
@@ -257,7 +257,7 @@ AbstractBlock.prototype.setHeight = function setHeight(height) {
};
AbstractBlock.prototype.__defineGetter__('rhash', function() {
- return utils.revHex(this.hash('hex'));
+ return util.revHex(this.hash('hex'));
});
/**
diff --git a/lib/primitives/address.js b/lib/primitives/address.js
index 37325c5a..22fc1ad8 100644
--- a/lib/primitives/address.js
+++ b/lib/primitives/address.js
@@ -10,7 +10,7 @@
var Network = require('../protocol/network');
var networks = require('../protocol/networks');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var BufferWriter = require('../utils/writer');
@@ -407,8 +407,8 @@ Address.prototype.fromHash = function fromHash(hash, type, version, network) {
network = Network.get(network);
assert(Buffer.isBuffer(hash));
- assert(utils.isNumber(type));
- assert(utils.isNumber(version));
+ assert(util.isNumber(type));
+ assert(util.isNumber(version));
assert(Address.getPrefix(type, network) !== -1, 'Not a valid address type.');
diff --git a/lib/primitives/block.js b/lib/primitives/block.js
index f9be7521..de9c7409 100644
--- a/lib/primitives/block.js
+++ b/lib/primitives/block.js
@@ -8,12 +8,12 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
-var btcutils = require('../utils/btcutils');
+var btcutils = require('../btc/btcutils');
var constants = require('../protocol/constants');
var AbstractBlock = require('./abstractblock');
-var VerifyResult = require('../utils/errors').VerifyResult;
+var VerifyResult = require('../btc/errors').VerifyResult;
var BufferWriter = require('../utils/writer');
var BufferReader = require('../utils/reader');
var TX = require('./tx');
@@ -49,7 +49,7 @@ function Block(options) {
this.fromOptions(options);
}
-utils.inherits(Block, AbstractBlock);
+util.inherits(Block, AbstractBlock);
/**
* Inject properties from options object.
@@ -568,12 +568,12 @@ Block.prototype.inspect = function inspect() {
height: this.height,
size: this.getSize(),
virtualSize: this.getVirtualSize(),
- date: utils.date(this.ts),
+ date: util.date(this.ts),
version: this.version,
- prevBlock: utils.revHex(this.prevBlock),
- merkleRoot: utils.revHex(this.merkleRoot),
+ prevBlock: util.revHex(this.prevBlock),
+ merkleRoot: util.revHex(this.merkleRoot),
commitmentHash: this.commitmentHash
- ? utils.revHex(this.commitmentHash)
+ ? util.revHex(this.commitmentHash)
: null,
ts: this.ts,
bits: this.bits,
@@ -596,8 +596,8 @@ Block.prototype.toJSON = function toJSON(network) {
hash: this.rhash,
height: this.height,
version: this.version,
- prevBlock: utils.revHex(this.prevBlock),
- merkleRoot: utils.revHex(this.merkleRoot),
+ prevBlock: util.revHex(this.prevBlock),
+ merkleRoot: util.revHex(this.merkleRoot),
ts: this.ts,
bits: this.bits,
nonce: this.nonce,
diff --git a/lib/primitives/coin.js b/lib/primitives/coin.js
index 2f7cad3f..ba5c61a2 100644
--- a/lib/primitives/coin.js
+++ b/lib/primitives/coin.js
@@ -8,10 +8,10 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var constants = require('../protocol/constants');
var Network = require('../protocol/network');
-var Amount = require('../utils/amount');
+var Amount = require('../btc/amount');
var Output = require('./output');
var Script = require('../script/script');
var Network = require('../protocol/network');
@@ -53,7 +53,7 @@ function Coin(options) {
this.fromOptions(options);
}
-utils.inherits(Coin, Output);
+util.inherits(Coin, Output);
/**
* Inject options into coin.
@@ -63,12 +63,12 @@ utils.inherits(Coin, Output);
Coin.prototype.fromOptions = function fromOptions(options) {
assert(options, 'Coin data is required.');
- assert(utils.isNumber(options.version));
- assert(utils.isNumber(options.height));
- assert(utils.isNumber(options.value));
+ assert(util.isNumber(options.version));
+ assert(util.isNumber(options.height));
+ assert(util.isNumber(options.value));
assert(typeof options.coinbase === 'boolean');
assert(options.hash == null || typeof options.hash === 'string');
- assert(options.index == null || utils.isNumber(options.index));
+ assert(options.index == null || util.isNumber(options.index));
this.version = options.version;
this.height = options.height;
@@ -126,7 +126,7 @@ Coin.prototype.inspect = function inspect() {
value: Amount.btc(this.value),
script: this.script,
coinbase: this.coinbase,
- hash: this.hash ? utils.revHex(this.hash) : null,
+ hash: this.hash ? util.revHex(this.hash) : null,
index: this.index,
address: this.getAddress()
};
@@ -155,7 +155,7 @@ Coin.prototype.toJSON = function toJSON(network) {
script: this.script.toJSON(),
address: address,
coinbase: this.coinbase,
- hash: this.hash ? utils.revHex(this.hash) : null,
+ hash: this.hash ? util.revHex(this.hash) : null,
index: this.index
};
};
@@ -178,19 +178,19 @@ Coin.fromJSON = function fromJSON(json) {
Coin.prototype.fromJSON = function fromJSON(json) {
assert(json, 'Coin data required.');
- assert(utils.isNumber(json.version));
- assert(utils.isNumber(json.height));
+ assert(util.isNumber(json.version));
+ assert(util.isNumber(json.height));
assert(typeof json.value === 'string');
assert(typeof json.coinbase === 'boolean');
assert(!json.hash || typeof json.hash === 'string');
- assert(!json.index || utils.isNumber(json.index));
+ assert(!json.index || util.isNumber(json.index));
this.version = json.version;
this.height = json.height;
this.value = Amount.value(json.value);
this.script.fromJSON(json.script);
this.coinbase = json.coinbase;
- this.hash = json.hash ? utils.revHex(json.hash) : null;
+ this.hash = json.hash ? util.revHex(json.hash) : null;
this.index = json.index;
return this;
@@ -331,7 +331,7 @@ Coin.fromCompressed = function fromCompressed(data, enc) {
*/
Coin.prototype.fromTX = function fromTX(tx, index) {
- assert(utils.isNumber(index));
+ assert(util.isNumber(index));
this.version = tx.version;
this.height = tx.height;
this.value = tx.outputs[index].value;
diff --git a/lib/primitives/headers.js b/lib/primitives/headers.js
index 01b3db11..5cfb35cc 100644
--- a/lib/primitives/headers.js
+++ b/lib/primitives/headers.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var AbstractBlock = require('./abstractblock');
var BufferWriter = require('../utils/writer');
var BufferReader = require('../utils/reader');
@@ -27,7 +27,7 @@ function Headers(options) {
AbstractBlock.call(this, options);
}
-utils.inherits(Headers, AbstractBlock);
+util.inherits(Headers, AbstractBlock);
/**
* Do non-contextual verification on the headers.
@@ -63,10 +63,10 @@ Headers.prototype.inspect = function inspect() {
type: 'headers',
hash: this.rhash,
height: this.height,
- date: utils.date(this.ts),
+ date: util.date(this.ts),
version: this.version,
- prevBlock: utils.revHex(this.prevBlock),
- merkleRoot: utils.revHex(this.merkleRoot),
+ prevBlock: util.revHex(this.prevBlock),
+ merkleRoot: util.revHex(this.merkleRoot),
ts: this.ts,
bits: this.bits,
nonce: this.nonce,
diff --git a/lib/primitives/input.js b/lib/primitives/input.js
index e7cdaef3..6d45532c 100644
--- a/lib/primitives/input.js
+++ b/lib/primitives/input.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var constants = require('../protocol/constants');
var Network = require('../protocol/network');
@@ -62,7 +62,7 @@ Input.prototype.fromOptions = function fromOptions(options) {
this.script.fromOptions(options.script);
if (options.sequence != null) {
- assert(utils.isNumber(options.sequence));
+ assert(util.isNumber(options.sequence));
this.sequence = options.sequence;
}
@@ -291,7 +291,7 @@ Input.prototype.toJSON = function toJSON(network) {
Input.prototype.fromJSON = function fromJSON(json) {
assert(json, 'Input data is required.');
- assert(utils.isNumber(json.sequence));
+ assert(util.isNumber(json.sequence));
this.prevout.fromJSON(json.prevout);
this.coin = json.coin ? Coin.fromJSON(json.coin) : null;
this.script.fromJSON(json.script);
diff --git a/lib/primitives/keyring.js b/lib/primitives/keyring.js
index 83acf9bb..8b0461cd 100644
--- a/lib/primitives/keyring.js
+++ b/lib/primitives/keyring.js
@@ -8,7 +8,7 @@
'use strict';
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var networks = require('../protocol/networks');
@@ -610,14 +610,14 @@ KeyRing.prototype.ownHash = function ownHash(hash) {
if (!hash)
return false;
- if (utils.equal(hash, this.keyHash))
+ if (util.equal(hash, this.keyHash))
return true;
- if (utils.equal(hash, this.scriptHash))
+ if (util.equal(hash, this.scriptHash))
return true;
if (this.witness) {
- if (utils.equal(hash, this.nestedHash))
+ if (util.equal(hash, this.nestedHash))
return true;
}
@@ -673,15 +673,15 @@ KeyRing.prototype.ownOutput = function ownOutput(tx, index) {
KeyRing.prototype.getRedeem = function(hash) {
if (this.program) {
- if (utils.equal(hash, this.nestedHash))
+ if (util.equal(hash, this.nestedHash))
return this.program;
}
if (this.script) {
- if (utils.equal(hash, this.scriptHash160))
+ if (util.equal(hash, this.scriptHash160))
return this.script;
- if (utils.equal(hash, this.scriptHash256))
+ if (util.equal(hash, this.scriptHash256))
return this.script;
}
diff --git a/lib/primitives/memblock.js b/lib/primitives/memblock.js
index d8dc1c76..c4a7e728 100644
--- a/lib/primitives/memblock.js
+++ b/lib/primitives/memblock.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var AbstractBlock = require('./abstractblock');
var Block = require('./block');
var Script = require('../script/script');
@@ -54,7 +54,7 @@ function MemBlock(options) {
this.fromOptions(options);
}
-utils.inherits(MemBlock, AbstractBlock);
+util.inherits(MemBlock, AbstractBlock);
/**
* Inject properties from options object.
diff --git a/lib/primitives/merkleblock.js b/lib/primitives/merkleblock.js
index d46ef721..f6aa4057 100644
--- a/lib/primitives/merkleblock.js
+++ b/lib/primitives/merkleblock.js
@@ -7,13 +7,13 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var constants = require('../protocol/constants');
var DUMMY = new Buffer([0]);
var AbstractBlock = require('./abstractblock');
-var VerifyResult = require('../utils/errors').VerifyResult;
+var VerifyResult = require('../btc/errors').VerifyResult;
var BufferWriter = require('../utils/writer');
var BufferReader = require('../utils/reader');
var Headers = require('./headers');
@@ -48,7 +48,7 @@ function MerkleBlock(options) {
this.fromOptions(options);
}
-utils.inherits(MerkleBlock, AbstractBlock);
+util.inherits(MerkleBlock, AbstractBlock);
/**
* Inject properties from options object.
@@ -227,7 +227,7 @@ MerkleBlock.prototype.extractTree = function extractTree() {
left = traverse(height - 1, pos * 2);
if (pos * 2 + 1 < width(height - 1)) {
right = traverse(height - 1, pos * 2 + 1);
- if (utils.equal(right, left))
+ if (util.equal(right, left))
failed = true;
} else {
right = left;
@@ -320,10 +320,10 @@ MerkleBlock.prototype.inspect = function inspect() {
type: 'merkleblock',
hash: this.rhash,
height: this.height,
- date: utils.date(this.ts),
+ date: util.date(this.ts),
version: this.version,
- prevBlock: utils.revHex(this.prevBlock),
- merkleRoot: utils.revHex(this.merkleRoot),
+ prevBlock: util.revHex(this.prevBlock),
+ merkleRoot: util.revHex(this.merkleRoot),
ts: this.ts,
bits: this.bits,
nonce: this.nonce,
@@ -423,14 +423,14 @@ MerkleBlock.prototype.toJSON = function toJSON() {
hash: this.rhash,
height: this.height,
version: this.version,
- prevBlock: utils.revHex(this.prevBlock),
- merkleRoot: utils.revHex(this.merkleRoot),
+ prevBlock: util.revHex(this.prevBlock),
+ merkleRoot: util.revHex(this.merkleRoot),
ts: this.ts,
bits: this.bits,
nonce: this.nonce,
totalTX: this.totalTX,
hashes: this.hashes.map(function(hash) {
- return utils.revHex(hash.toString('hex'));
+ return util.revHex(hash.toString('hex'));
}),
flags: this.flags.toString('hex')
};
@@ -453,7 +453,7 @@ MerkleBlock.prototype.fromJSON = function fromJSON(json) {
this.parseJSON(json);
for (i = 0; i < json.hashes.length; i++) {
- hash = utils.revHex(json.hashes[i]);
+ hash = util.revHex(json.hashes[i]);
this.hashes.push(new Buffer(hash, 'hex'));
}
diff --git a/lib/primitives/mtx.js b/lib/primitives/mtx.js
index 00ff5f77..6fe8139f 100644
--- a/lib/primitives/mtx.js
+++ b/lib/primitives/mtx.js
@@ -8,12 +8,12 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
-var btcutils = require('../utils/btcutils');
+var util = require('../utils/util');
+var btcutils = require('../btc/btcutils');
var constants = require('../protocol/constants');
var Script = require('../script/script');
var opcodes = Script.opcodes;
-var FundingError = require('../utils/errors').FundingError;
+var FundingError = require('../btc/errors').FundingError;
var TX = require('./tx');
var Input = require('./input');
var Output = require('./output');
@@ -74,7 +74,7 @@ function MTX(options) {
this.fromOptions(options);
}
-utils.inherits(MTX, TX);
+util.inherits(MTX, TX);
/**
* Inject properties from options object.
@@ -86,12 +86,12 @@ MTX.prototype.fromOptions = function fromOptions(options) {
var i;
if (options.version != null) {
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
this.version = options.version;
}
if (options.flag != null) {
- assert(utils.isNumber(options.flag));
+ assert(util.isNumber(options.flag));
this.flag = options.flag;
}
@@ -108,17 +108,17 @@ MTX.prototype.fromOptions = function fromOptions(options) {
}
if (options.locktime != null) {
- assert(utils.isNumber(options.locktime));
+ assert(util.isNumber(options.locktime));
this.locktime = options.locktime;
}
if (options.ps != null) {
- assert(utils.isNumber(options.ps));
+ assert(util.isNumber(options.ps));
this.ps = options.ps;
}
if (options.changeIndex != null) {
- assert(utils.isNumber(options.changeIndex));
+ assert(util.isNumber(options.changeIndex));
this.changeIndex = options.changeIndex;
}
@@ -198,7 +198,7 @@ MTX.prototype.addOutput = function addOutput(options, value) {
output.mutable = true;
if (options instanceof Script) {
- assert(utils.isNumber(value));
+ assert(util.isNumber(value));
assert(value >= 0);
output.script.fromOptions(options);
output.value = value;
@@ -347,7 +347,7 @@ MTX.prototype.scriptVector = function scriptVector(prev, vector, ring) {
// P2PK
if (prev.isPubkey()) {
- if (!utils.equal(prev.get(0), ring.publicKey))
+ if (!util.equal(prev.get(0), ring.publicKey))
return false;
vector.set(0, opcodes.OP_0);
@@ -357,7 +357,7 @@ MTX.prototype.scriptVector = function scriptVector(prev, vector, ring) {
// P2PKH
if (prev.isPubkeyhash()) {
- if (!utils.equal(prev.get(2), ring.keyHash))
+ if (!util.equal(prev.get(2), ring.keyHash))
return false;
vector.set(0, opcodes.OP_0);
@@ -485,7 +485,7 @@ MTX.prototype.signVector = function signVector(prev, vector, sig, ring) {
// P2PK
if (prev.isPubkey()) {
// Make sure the pubkey is ours.
- if (!utils.equal(ring.publicKey, prev.get(0)))
+ if (!util.equal(ring.publicKey, prev.get(0)))
return false;
// Already signed.
@@ -504,7 +504,7 @@ MTX.prototype.signVector = function signVector(prev, vector, sig, ring) {
// P2PKH
if (prev.isPubkeyhash()) {
// Make sure the pubkey hash is ours.
- if (!utils.equal(ring.keyHash, prev.get(2)))
+ if (!util.equal(ring.keyHash, prev.get(2)))
return false;
// Already signed.
@@ -560,7 +560,7 @@ MTX.prototype.signVector = function signVector(prev, vector, sig, ring) {
// Find the key index so we can place
// the signature in the same index.
- keyIndex = utils.indexOf(keys, ring.publicKey);
+ keyIndex = util.indexOf(keys, ring.publicKey);
// Our public key is not in the prev_out
// script. We tried to sign a transaction
@@ -658,7 +658,7 @@ MTX.prototype.combine = function combine(index, prev, vector, version, data) {
if (res) {
map[pub] = sig;
- if (utils.equal(sig, data))
+ if (util.equal(sig, data))
result = true;
break;
}
@@ -1211,7 +1211,7 @@ MTX.prototype.subtractFee = function subtractFee(fee, index) {
if (!hash)
continue;
- if (utils.indexOf(addrs, hash) === -1)
+ if (util.indexOf(addrs, hash) === -1)
continue;
}
@@ -1496,31 +1496,31 @@ CoinSelector.prototype.fromOptions = function fromOptions(options) {
}
if (options.height != null) {
- assert(utils.isNumber(options.height));
+ assert(util.isNumber(options.height));
assert(options.height >= -1);
this.height = options.height;
}
if (options.confirmations != null) {
- assert(utils.isNumber(options.confirmations));
+ assert(util.isNumber(options.confirmations));
assert(options.confirmations >= -1);
this.confirmations = options.confirmations;
}
if (options.hardFee != null) {
- assert(utils.isNumber(options.hardFee));
+ assert(util.isNumber(options.hardFee));
assert(options.hardFee >= -1);
this.hardFee = options.hardFee;
}
if (options.rate != null) {
- assert(utils.isNumber(options.rate));
+ assert(util.isNumber(options.rate));
assert(options.rate >= 0);
this.rate = options.rate;
}
if (options.maxFee != null) {
- assert(utils.isNumber(options.maxFee));
+ assert(util.isNumber(options.maxFee));
assert(options.maxFee >= -1);
this.maxFee = options.maxFee;
}
@@ -1541,13 +1541,13 @@ CoinSelector.prototype.fromOptions = function fromOptions(options) {
}
if (options.m != null) {
- assert(utils.isNumber(options.m));
+ assert(util.isNumber(options.m));
assert(options.m >= 1);
this.m = options.m;
}
if (options.n != null) {
- assert(utils.isNumber(options.n));
+ assert(util.isNumber(options.n));
assert(options.n >= 1);
this.n = options.n;
}
@@ -1816,11 +1816,11 @@ function sortRandom(a, b) {
}
function sortInputs(a, b) {
- return utils.cmp(a.prevout.toRaw(), b.prevout.toRaw());
+ return util.cmp(a.prevout.toRaw(), b.prevout.toRaw());
}
function sortOutputs(a, b) {
- return utils.cmp(a.toRaw(), b.toRaw());
+ return util.cmp(a.toRaw(), b.toRaw());
}
/*
diff --git a/lib/primitives/netaddress.js b/lib/primitives/netaddress.js
index 465eff98..45e75c40 100644
--- a/lib/primitives/netaddress.js
+++ b/lib/primitives/netaddress.js
@@ -9,7 +9,7 @@
var constants = require('../protocol/constants');
var Network = require('../protocol/network');
var time = require('../net/time');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var IP = require('../utils/ip');
var assert = require('assert');
var BufferWriter = require('../utils/writer');
@@ -172,7 +172,7 @@ NetworkAddress.prototype.inspect = function inspect() {
+ ' id=' + this.id
+ ' hostname=' + IP.hostname(this.host, this.port)
+ ' services=' + this.services.toString(2)
- + ' date=' + utils.date(this.ts)
+ + ' date=' + util.date(this.ts)
+ '>';
};
diff --git a/lib/primitives/outpoint.js b/lib/primitives/outpoint.js
index 92b192f4..2077f482 100644
--- a/lib/primitives/outpoint.js
+++ b/lib/primitives/outpoint.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var constants = require('../protocol/constants');
var BufferWriter = require('../utils/writer');
@@ -38,7 +38,7 @@ function Outpoint(hash, index) {
Outpoint.prototype.fromOptions = function fromOptions(options) {
assert(typeof options.hash === 'string');
- assert(utils.isNumber(options.index));
+ assert(util.isNumber(options.index));
this.hash = options.hash;
this.index = options.index;
return this;
@@ -112,8 +112,8 @@ Outpoint.fromRaw = function fromRaw(data) {
Outpoint.prototype.fromJSON = function fromJSON(json) {
assert(typeof json.hash === 'string');
- assert(utils.isNumber(json.index));
- this.hash = utils.revHex(json.hash);
+ assert(util.isNumber(json.index));
+ this.hash = util.revHex(json.hash);
this.index = json.index;
return this;
};
@@ -128,7 +128,7 @@ Outpoint.prototype.fromJSON = function fromJSON(json) {
Outpoint.prototype.toJSON = function toJSON() {
return {
- hash: utils.revHex(this.hash),
+ hash: util.revHex(this.hash),
index: this.index
};
};
@@ -151,7 +151,7 @@ Outpoint.fromJSON = function fromJSON(json) {
*/
Outpoint.prototype.fromTX = function fromTX(tx, index) {
- assert(utils.isNumber(index));
+ assert(util.isNumber(index));
this.hash = tx.hash('hex');
this.index = index;
return this;
@@ -174,7 +174,7 @@ Outpoint.fromTX = function fromTX(tx, index) {
*/
Outpoint.prototype.inspect = function inspect() {
- return '';
+ return '';
};
/*
diff --git a/lib/primitives/output.js b/lib/primitives/output.js
index 915a2f96..51124c8d 100644
--- a/lib/primitives/output.js
+++ b/lib/primitives/output.js
@@ -7,9 +7,9 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var constants = require('../protocol/constants');
-var Amount = require('../utils/amount');
+var Amount = require('../btc/amount');
var Network = require('../protocol/network');
var Script = require('../script/script');
var BufferWriter = require('../utils/writer');
@@ -48,7 +48,7 @@ Output.prototype.fromOptions = function fromOptions(options) {
assert(options, 'Output data is required.');
if (options.value) {
- assert(utils.isNumber(options.value));
+ assert(util.isNumber(options.value));
this.value = options.value;
}
diff --git a/lib/primitives/tx.js b/lib/primitives/tx.js
index 343a773a..16f2abb7 100644
--- a/lib/primitives/tx.js
+++ b/lib/primitives/tx.js
@@ -8,16 +8,16 @@
'use strict';
var assert = require('assert');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
-var btcutils = require('../utils/btcutils');
-var Amount = require('../utils/amount');
+var btcutils = require('../btc/btcutils');
+var Amount = require('../btc/amount');
var constants = require('../protocol/constants');
var Network = require('../protocol/network');
var Script = require('../script/script');
var Stack = require('../script/stack');
var BufferWriter = require('../utils/writer');
-var VerifyResult = require('../utils/errors').VerifyResult;
+var VerifyResult = require('../btc/errors').VerifyResult;
var Input = require('./input');
var Output = require('./output');
var Outpoint = require('./outpoint');
@@ -81,7 +81,7 @@ function TX(options) {
this.ts = 0;
this.block = null;
this.index = -1;
- this.ps = utils.now();
+ this.ps = util.now();
this.height = -1;
this.mutable = false;
@@ -116,12 +116,12 @@ TX.prototype.fromOptions = function fromOptions(options) {
assert(options, 'TX data is required.');
if (options.version != null) {
- assert(utils.isNumber(options.version));
+ assert(util.isNumber(options.version));
this.version = options.version;
}
if (options.flag != null) {
- assert(utils.isNumber(options.flag));
+ assert(util.isNumber(options.flag));
this.flag = options.flag;
}
@@ -138,12 +138,12 @@ TX.prototype.fromOptions = function fromOptions(options) {
}
if (options.locktime != null) {
- assert(utils.isNumber(options.locktime));
+ assert(util.isNumber(options.locktime));
this.locktime = options.locktime;
}
if (options.ts != null)
- assert(utils.isNumber(options.locktime));
+ assert(util.isNumber(options.locktime));
this.ts = options.ts;
if (options.block !== undefined) {
@@ -152,17 +152,17 @@ TX.prototype.fromOptions = function fromOptions(options) {
}
if (options.index != null) {
- assert(utils.isNumber(options.index));
+ assert(util.isNumber(options.index));
this.index = options.index;
}
if (options.ps != null) {
- assert(utils.isNumber(options.ps));
+ assert(util.isNumber(options.ps));
this.ps = options.ps;
}
if (options.height != null) {
- assert(utils.isNumber(options.height));
+ assert(util.isNumber(options.height));
this.height = options.height;
}
@@ -256,7 +256,7 @@ TX.prototype.witnessHash = function witnessHash(enc) {
if (this.isCoinbase()) {
return enc === 'hex'
? constants.NULL_HASH
- : utils.copy(constants.ZERO_HASH);
+ : util.copy(constants.ZERO_HASH);
}
if (!this.hasWitness())
@@ -490,7 +490,7 @@ TX.prototype.signatureHashV0 = function signatureHashV0(index, prev, type) {
// Bitcoind used to return 1 as an error code:
// it ended up being treated like a hash.
if (index >= this.outputs.length)
- return utils.copy(constants.ONE_HASH);
+ return util.copy(constants.ONE_HASH);
}
// Remove all code separators.
@@ -615,7 +615,7 @@ TX.prototype.signatureHashV1 = function signatureHashV1(index, prev, type) {
this._hashPrevouts = prevouts;
}
} else {
- prevouts = utils.copy(constants.ZERO_HASH);
+ prevouts = util.copy(constants.ZERO_HASH);
}
if (!(type & constants.hashType.ANYONECANPAY)
@@ -637,7 +637,7 @@ TX.prototype.signatureHashV1 = function signatureHashV1(index, prev, type) {
this._hashSequence = sequences;
}
} else {
- sequences = utils.copy(constants.ZERO_HASH);
+ sequences = util.copy(constants.ZERO_HASH);
}
if ((type & 0x1f) !== constants.hashType.SINGLE
@@ -661,7 +661,7 @@ TX.prototype.signatureHashV1 = function signatureHashV1(index, prev, type) {
output = this.outputs[index];
outputs = crypto.hash256(output.toRaw());
} else {
- outputs = utils.copy(constants.ZERO_HASH);
+ outputs = util.copy(constants.ZERO_HASH);
}
input = this.inputs[index];
@@ -1132,7 +1132,7 @@ TX.prototype.fillCoins = function fillCoins(coins) {
/**
* Check finality of transaction by examining nLockTime and nSequences.
* @example
- * tx.isFinal(network.height + 1, utils.now());
+ * tx.isFinal(network.height + 1, util.now());
* @param {Number} height - Height at which to test. This
* is usually the chain height, or the chain height + 1
* when the transaction entered the mempool.
@@ -1554,7 +1554,7 @@ TX.prototype.getWitnessStandard = function getWitnessStandard() {
hash = crypto.hash160(input.witness.get(1));
- if (!utils.equal(hash, prev.get(1)))
+ if (!util.equal(hash, prev.get(1)))
return BAD_WITNESS;
continue;
@@ -1576,7 +1576,7 @@ TX.prototype.getWitnessStandard = function getWitnessStandard() {
hash = crypto.sha256(redeem);
- if (!utils.equal(hash, prev.get(1)))
+ if (!util.equal(hash, prev.get(1)))
return BAD_WITNESS;
// Based on Johnson Lau's calculations:
@@ -1994,16 +1994,16 @@ TX.prototype.isWatched = function isWatched(filter) {
TX.prototype.__defineGetter__('rblock', function() {
return this.block
- ? utils.revHex(this.block)
+ ? util.revHex(this.block)
: null;
});
TX.prototype.__defineGetter__('rhash', function() {
- return utils.revHex(this.hash('hex'));
+ return util.revHex(this.hash('hex'));
});
TX.prototype.__defineGetter__('rwhash', function() {
- return utils.revHex(this.witnessHash('hex'));
+ return util.revHex(this.witnessHash('hex'));
});
TX.prototype.__defineGetter__('txid', function() {
@@ -2033,7 +2033,7 @@ TX.prototype.inspect = function inspect() {
var rate = this.getRate();
// Rate can exceed 53 bits in testing.
- if (!utils.isSafeInteger(rate))
+ if (!util.isSafeInteger(rate))
rate = 0;
return {
@@ -2046,8 +2046,8 @@ TX.prototype.inspect = function inspect() {
fee: Amount.btc(this.getFee()),
minFee: Amount.btc(this.getMinFee()),
rate: Amount.btc(rate),
- date: utils.date(this.ts || this.ps),
- block: this.block ? utils.revHex(this.block) : null,
+ date: util.date(this.ts || this.ps),
+ block: this.block ? util.revHex(this.block) : null,
ts: this.ts,
ps: this.ps,
index: this.index,
@@ -2071,19 +2071,19 @@ TX.prototype.toJSON = function toJSON(network) {
var rate = this.getRate();
// Rate can exceed 53 bits in testing.
- if (!utils.isSafeInteger(rate))
+ if (!util.isSafeInteger(rate))
rate = 0;
network = Network.get(network);
return {
- hash: utils.revHex(this.hash('hex')),
- witnessHash: utils.revHex(this.witnessHash('hex')),
+ hash: util.revHex(this.hash('hex')),
+ witnessHash: util.revHex(this.witnessHash('hex')),
height: this.height,
- block: this.block ? utils.revHex(this.block) : null,
+ block: this.block ? util.revHex(this.block) : null,
ts: this.ts,
ps: this.ps,
- date: utils.date(this.ts || this.ps),
+ date: util.date(this.ts || this.ps),
index: this.index,
fee: Amount.btc(this.getFee()),
rate: Amount.btc(rate),
@@ -2110,18 +2110,18 @@ TX.prototype.fromJSON = function fromJSON(json) {
assert(json, 'TX data is required.');
assert.equal(json.type, 'tx');
- assert(utils.isNumber(json.version));
- assert(utils.isNumber(json.flag));
+ assert(util.isNumber(json.version));
+ assert(util.isNumber(json.flag));
assert(Array.isArray(json.inputs));
assert(Array.isArray(json.outputs));
- assert(utils.isNumber(json.locktime));
+ assert(util.isNumber(json.locktime));
assert(!json.block || typeof json.block === 'string');
- assert(utils.isNumber(json.height));
- assert(utils.isNumber(json.ts));
- assert(utils.isNumber(json.ps));
- assert(utils.isNumber(json.index));
+ assert(util.isNumber(json.height));
+ assert(util.isNumber(json.ts));
+ assert(util.isNumber(json.ps));
+ assert(util.isNumber(json.index));
- this.block = json.block ? utils.revHex(json.block) : null;
+ this.block = json.block ? util.revHex(json.block) : null;
this.height = json.height;
this.ts = json.ts;
this.ps = json.ps;
diff --git a/lib/protocol/constants.js b/lib/protocol/constants.js
index 03c401eb..56ecb2e6 100644
--- a/lib/protocol/constants.js
+++ b/lib/protocol/constants.js
@@ -11,7 +11,7 @@
* @module constants
*/
-var utils = require('../utils/utils');
+var util = require('../utils/util');
/**
* Minimum protocol version we're willing to talk to.
@@ -103,7 +103,7 @@ exports.inv = {
* @const {RevMap}
*/
-exports.invByVal = utils.revMap(exports.inv);
+exports.invByVal = util.revMap(exports.inv);
/**
* Witness mask for inv types.
@@ -156,7 +156,7 @@ exports.bloom = {
* @const {RevMap}
*/
-exports.filterFlagsByVal = utils.revMap(exports.filterFlags);
+exports.filterFlagsByVal = util.revMap(exports.filterFlags);
/**
* Script opcodes.
@@ -304,7 +304,7 @@ exports.opcodes = {
* @const {RevMap}
*/
-exports.opcodesByVal = utils.revMap(exports.opcodes);
+exports.opcodesByVal = util.revMap(exports.opcodes);
/**
* One bitcoin in satoshis.
@@ -367,7 +367,7 @@ exports.hashType = {
* @const {RevMap}
*/
-exports.hashTypeByVal = utils.revMap(exports.hashType);
+exports.hashTypeByVal = util.revMap(exports.hashType);
/**
* Amount to multiply base/non-witness sizes by.
@@ -515,7 +515,7 @@ exports.reject = {
* @const {RevMap}
*/
-exports.rejectByVal = utils.revMap(exports.reject);
+exports.rejectByVal = util.revMap(exports.reject);
/**
* HD-related constants.
@@ -753,7 +753,7 @@ exports.scriptTypes = {
* @const {RevMap}
*/
-exports.scriptTypesByVal = utils.revMap(exports.scriptTypes);
+exports.scriptTypesByVal = util.revMap(exports.scriptTypes);
/**
* Script and locktime flags. See {@link VerifyFlags}.
diff --git a/lib/script/encoding.js b/lib/script/encoding.js
index 52826c8b..e16784a9 100644
--- a/lib/script/encoding.js
+++ b/lib/script/encoding.js
@@ -9,11 +9,11 @@
var BN = require('bn.js');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var opcodes = constants.opcodes;
var STACK_FALSE = new Buffer(0);
-var ScriptError = require('../utils/errors').ScriptError;
+var ScriptError = require('../btc/errors').ScriptError;
/**
* Test whether the data element is a ripemd160 hash.
@@ -432,7 +432,7 @@ exports.num = function num(value, flags, size) {
exports.array = function(value) {
var neg, result;
- if (utils.isNumber(value))
+ if (util.isNumber(value))
value = new BN(value);
assert(BN.isBN(value));
diff --git a/lib/script/opcode.js b/lib/script/opcode.js
index 20c8f940..ebaf1d25 100644
--- a/lib/script/opcode.js
+++ b/lib/script/opcode.js
@@ -9,7 +9,7 @@
var BN = require('bn.js');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var encoding = require('./encoding');
var BufferWriter = require('../utils/writer');
var assert = require('assert');
@@ -144,7 +144,7 @@ Opcode.fromNumber = function fromNumber(num) {
*/
Opcode.fromSmall = function fromSmall(num) {
- assert(utils.isNumber(num) && num >= 0 && num <= 16);
+ assert(util.isNumber(num) && num >= 0 && num <= 16);
return new Opcode(num === 0 ? 0 : num + 0x50);
};
diff --git a/lib/script/program.js b/lib/script/program.js
index 0ac3c3eb..9ed9a208 100644
--- a/lib/script/program.js
+++ b/lib/script/program.js
@@ -8,7 +8,7 @@
'use strict';
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
@@ -28,7 +28,7 @@ function Program(version, data) {
if (!(this instanceof Program))
return new Program(version, data);
- assert(utils.isNumber(version));
+ assert(util.isNumber(version));
assert(Buffer.isBuffer(data));
assert(version >= 0 && version <= 16);
assert(data.length >= 2 && data.length <= 40);
diff --git a/lib/script/script.js b/lib/script/script.js
index b3d9fa1f..d71b9c9a 100644
--- a/lib/script/script.js
+++ b/lib/script/script.js
@@ -9,7 +9,7 @@
var BN = require('bn.js');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var BufferWriter = require('../utils/writer');
@@ -18,7 +18,7 @@ var opcodes = constants.opcodes;
var STACK_TRUE = new Buffer([1]);
var STACK_FALSE = new Buffer(0);
var STACK_NEGATE = new Buffer([0x81]);
-var ScriptError = require('../utils/errors').ScriptError;
+var ScriptError = require('../btc/errors').ScriptError;
var scriptTypes = constants.scriptTypes;
var Program = require('./program');
var Opcode = require('./opcode');
@@ -723,7 +723,7 @@ Script.prototype.execute = function execute(stack, flags, tx, index, version) {
v1 = stack.top(-2);
v2 = stack.top(-1);
- res = utils.equal(v1, v2);
+ res = util.equal(v1, v2);
// if (op == opcodes.OP_NOTEQUAL)
// res = !res;
@@ -1112,7 +1112,7 @@ Script.prototype.execute = function execute(stack, flags, tx, index, version) {
v1 = stack.top(-2);
v2 = stack.top(-1);
- stack.set(-2, utils.concat(v1, v2));
+ stack.set(-2, util.concat(v1, v2));
stack.pop();
@@ -1169,7 +1169,7 @@ Script.prototype.execute = function execute(stack, flags, tx, index, version) {
if (stack.length < 1)
throw new ScriptError('INVALID_STACK_OPERATION', op, ip);
- val = utils.copy(stack.top(-1));
+ val = util.copy(stack.top(-1));
stack.set(-1, val);
for (i = 0; i < val.length; i++)
@@ -1183,7 +1183,7 @@ Script.prototype.execute = function execute(stack, flags, tx, index, version) {
if (stack.length < 2)
throw new ScriptError('INVALID_STACK_OPERATION', op, ip);
- v1 = utils.copy(stack.top(-2));
+ v1 = util.copy(stack.top(-2));
v2 = stack.top(-1);
if (v1.length < v2.length) {
@@ -1390,7 +1390,7 @@ Script.prototype.removeData = function removeData(data) {
if (!Script.isMinimal(op.data, op.value))
continue;
- if (utils.equal(op.data, data))
+ if (util.equal(op.data, data))
index.push(i);
}
@@ -1424,7 +1424,7 @@ Script.prototype.indexOf = function indexOf(data) {
if (!op.data)
continue;
- if (utils.equal(op.data, data))
+ if (util.equal(op.data, data))
return i;
}
@@ -1573,7 +1573,7 @@ Script.fromPubkeyhash = function fromPubkeyhash(hash) {
Script.prototype.fromMultisig = function fromMultisig(m, n, keys) {
var i;
- assert(utils.isNumber(m) && utils.isNumber(n));
+ assert(util.isNumber(m) && util.isNumber(n));
assert(Array.isArray(keys));
assert(keys.length === n, '`n` keys are required for multisig.');
assert(m >= 1 && m <= n);
@@ -1673,7 +1673,7 @@ Script.fromNulldata = function fromNulldata(flags) {
*/
Script.prototype.fromProgram = function fromProgram(version, data) {
- assert(utils.isNumber(version) && version >= 0 && version <= 16);
+ assert(util.isNumber(version) && version >= 0 && version <= 16);
assert(Buffer.isBuffer(data) && data.length >= 2 && data.length <= 40);
this.push(Opcode.fromSmall(version));
this.push(data);
@@ -2394,7 +2394,7 @@ Script.getCoinbaseHeight = function getCoinbaseHeight(raw) {
// Ensure the miner serialized the
// number in the most minimal fashion.
- if (!utils.equal(data, op.data))
+ if (!util.equal(data, op.data))
return -1;
return height.toNumber();
@@ -3013,7 +3013,7 @@ Script.prototype.fromString = function fromString(code) {
}
assert(op.indexOf('0x') === 0, 'Unknown opcode.');
op = op.substring(2);
- assert(utils.isHex(op), 'Unknown opcode.');
+ assert(util.isHex(op), 'Unknown opcode.');
op = new Buffer(op, 'hex');
p.writeBytes(op);
continue;
@@ -3138,7 +3138,7 @@ Script.verify = function verify(input, witness, output, tx, i, flags) {
hadWitness = true;
// Input script must be exactly one push of the redeem script.
- if (!utils.equal(input.raw, Opcode.fromPush(raw).toRaw()))
+ if (!util.equal(input.raw, Opcode.fromPush(raw).toRaw()))
throw new ScriptError('WITNESS_MALLEATED_P2SH');
// Verify the program in the redeem script.
@@ -3194,7 +3194,7 @@ Script.verifyProgram = function verifyProgram(witness, output, flags, tx, i) {
witnessScript = stack.pop();
- if (!utils.equal(crypto.sha256(witnessScript), program.data))
+ if (!util.equal(crypto.sha256(witnessScript), program.data))
throw new ScriptError('WITNESS_PROGRAM_MISMATCH');
redeem = new Script(witnessScript);
@@ -3353,7 +3353,7 @@ Script.verifyMast = function verifyMast(program, stack, output, flags, tx, i) {
mastRoot.writeBytes(scriptRoot);
mastRoot = crypto.hash256(mastRoot.render());
- if (!utils.equal(mastRoot, program.data))
+ if (!util.equal(mastRoot, program.data))
throw new ScriptError('WITNESS_PROGRAM_MISMATCH');
if (version === 0) {
@@ -3650,7 +3650,7 @@ Script.isScript = function isScript(obj) {
function sortKeys(keys) {
return keys.slice().sort(function(a, b) {
- return utils.cmp(a, b);
+ return util.cmp(a, b);
});
}
diff --git a/lib/script/sigcache.js b/lib/script/sigcache.js
index 38de3018..17a11c0e 100644
--- a/lib/script/sigcache.js
+++ b/lib/script/sigcache.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var ec = require('../crypto/ec');
var assert = require('assert');
@@ -26,7 +26,7 @@ function SigCache(size) {
if (size == null)
size = 10000;
- assert(utils.isNumber(size));
+ assert(util.isNumber(size));
assert(size >= 0);
this.size = size;
@@ -40,7 +40,7 @@ function SigCache(size) {
*/
SigCache.prototype.resize = function resize(size) {
- assert(utils.isNumber(size));
+ assert(util.isNumber(size));
assert(size >= 0);
this.size = size;
@@ -145,7 +145,7 @@ function SigCacheEntry(sig, key) {
*/
SigCacheEntry.prototype.equal = function equal(sig, key) {
- return utils.equal(this.sig, sig) && utils.equal(this.key, key);
+ return util.equal(this.sig, sig) && util.equal(this.key, key);
};
/*
diff --git a/lib/script/witness.js b/lib/script/witness.js
index d29fe09c..2c1e0192 100644
--- a/lib/script/witness.js
+++ b/lib/script/witness.js
@@ -9,7 +9,7 @@
var BN = require('bn.js');
var constants = require('../protocol/constants');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var opcodes = constants.opcodes;
var STACK_FALSE = new Buffer(0);
@@ -295,7 +295,7 @@ Witness.prototype.compile = function compile() {
*/
Witness.prototype.indexOf = function indexOf(data) {
- return utils.indexOf(this.items, data);
+ return util.indexOf(this.items, data);
};
/**
diff --git a/lib/utils/async.js b/lib/utils/async.js
index 48a05a06..df2dd83e 100644
--- a/lib/utils/async.js
+++ b/lib/utils/async.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('./utils');
+var util = require('./util');
var co = require('./co');
var Locker = require('./locker');
var assert = require('assert');
@@ -33,7 +33,7 @@ function AsyncObject() {
this.loaded = false;
}
-utils.inherits(AsyncObject, EventEmitter);
+util.inherits(AsyncObject, EventEmitter);
/**
* Open the object (recallable).
diff --git a/lib/utils/index.js b/lib/utils/index.js
index d58341f9..f75fa492 100644
--- a/lib/utils/index.js
+++ b/lib/utils/index.js
@@ -1,15 +1,12 @@
'use strict';
-exports.Amount = require('./amount');
exports.ASN1 = require('./asn1');
exports.AsyncObject = require('./async');
exports.base58 = require('./base58');
exports.Bloom = require('./bloom');
exports.RollingFilter = exports.Bloom.Rolling;
-exports.btcutils = require('./btcutils');
exports.co = require('./co');
exports.encoding = require('./encoding');
-exports.errors = require('./errors');
exports.IP = require('./ip');
exports.lazy = require('./lazy');
exports.Locker = require('./locker');
@@ -23,6 +20,5 @@ exports.protobuf = require('./protobuf');
exports.ProtoWriter = exports.protobuf.ProtoWriter;
exports.ProtoReader = exports.protobuf.ProtoReader;
exports.BufferReader = require('./reader');
-exports.uri = require('./uri');
-exports.utils = require('./utils');
+exports.util = require('./util');
exports.BufferWriter = require('./writer');
diff --git a/lib/utils/locker.js b/lib/utils/locker.js
index f4011e12..2bc77814 100644
--- a/lib/utils/locker.js
+++ b/lib/utils/locker.js
@@ -8,7 +8,7 @@
'use strict';
var EventEmitter = require('events').EventEmitter;
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
/**
@@ -36,7 +36,7 @@ function Locker(add) {
this.unlocker = this.unlock.bind(this);
}
-utils.inherits(Locker, EventEmitter);
+util.inherits(Locker, EventEmitter);
/**
* Create a closure scoped locker.
@@ -87,7 +87,7 @@ Locker.prototype.lock = function lock(arg1, arg2) {
if (force) {
assert(this.busy);
- return Promise.resolve(utils.nop);
+ return Promise.resolve(util.nop);
}
if (this.busy) {
@@ -213,11 +213,11 @@ MappedLock.prototype.lock = function lock(key, force) {
return Promise.reject(new Error('Locker is destroyed.'));
if (key == null)
- return Promise.resolve(utils.nop);
+ return Promise.resolve(util.nop);
if (force) {
assert(this.busy[key]);
- return Promise.resolve(utils.nop);
+ return Promise.resolve(util.nop);
}
if (this.busy[key]) {
diff --git a/lib/utils/protobuf.js b/lib/utils/protobuf.js
index 6c334585..770b9a5a 100644
--- a/lib/utils/protobuf.js
+++ b/lib/utils/protobuf.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var BufferReader = require('../utils/reader');
var BufferWriter = require('../utils/writer');
@@ -28,7 +28,7 @@ function ProtoReader(data, zeroCopy) {
BufferReader.call(this, data, zeroCopy);
}
-utils.inherits(ProtoReader, BufferReader);
+util.inherits(ProtoReader, BufferReader);
ProtoReader.prototype.readVarint = function readVarint() {
var result = exports.readVarint(this.data, this.offset);
@@ -151,7 +151,7 @@ function ProtoWriter(options) {
BufferWriter.call(this, options);
}
-utils.inherits(ProtoWriter, BufferWriter);
+util.inherits(ProtoWriter, BufferWriter);
ProtoWriter.prototype.writeVarint = function writeVarint(num) {
var size = exports.sizeVarint(num);
@@ -167,7 +167,7 @@ ProtoWriter.prototype.writeFieldVarint = function writeFieldVarint(tag, value) {
};
ProtoWriter.prototype.writeFieldU64 = function writeFieldU64(tag, value) {
- assert(utils.isSafeInteger(value));
+ assert(util.isSafeInteger(value));
this.writeFieldVarint(tag, value);
};
@@ -218,7 +218,7 @@ exports.readVarint = function readVarint(data, off) {
size++;
}
- assert(utils.isSafeInteger(num), 'Number exceeds 2^53-1.');
+ assert(util.isSafeInteger(num), 'Number exceeds 2^53-1.');
return { size: size, value: num };
};
@@ -226,7 +226,7 @@ exports.readVarint = function readVarint(data, off) {
exports.writeVarint = function writeVarint(data, num, off) {
var ch;
- assert(utils.isSafeInteger(num), 'Number exceeds 2^53-1.');
+ assert(util.isSafeInteger(num), 'Number exceeds 2^53-1.');
do {
assert(off < data.length);
@@ -245,7 +245,7 @@ exports.writeVarint = function writeVarint(data, num, off) {
exports.sizeVarint = function sizeVarint(num) {
var size = 0;
- assert(utils.isSafeInteger(num), 'Number exceeds 2^53-1.');
+ assert(util.isSafeInteger(num), 'Number exceeds 2^53-1.');
do {
num -= num % 0x80;
diff --git a/lib/utils/utils.js b/lib/utils/util.js
similarity index 78%
rename from lib/utils/utils.js
rename to lib/utils/util.js
index 9650d119..a6b0ea53 100644
--- a/lib/utils/utils.js
+++ b/lib/utils/util.js
@@ -1,5 +1,5 @@
/*!
- * utils.js - utils for bcoin
+ * util.js - utils for bcoin
* Copyright (c) 2014-2015, Fedor Indutny (MIT License)
* Copyright (c) 2014-2016, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
@@ -10,11 +10,11 @@
/* global gc */
var assert = require('assert');
-var util = require('util');
+var nodeUtil = require('util');
var fs = require('fs');
var os = require('os');
var BN = require('bn.js');
-var utils = exports;
+var util = exports;
var Number, Math, Date;
/**
@@ -22,7 +22,7 @@ var Number, Math, Date;
* @const {Object}
*/
-utils.global = (function() {
+util.global = (function() {
/* global self */
if (this)
@@ -44,16 +44,16 @@ utils.global = (function() {
* Globals
*/
-Number = utils.global.Number;
-Math = utils.global.Math;
-Date = utils.global.Date;
+Number = util.global.Number;
+Math = util.global.Math;
+Date = util.global.Date;
/**
* Whether we're in a browser or not.
* @const {Boolean}
*/
-utils.isBrowser =
+util.isBrowser =
(typeof process !== 'undefined' && process.browser)
|| typeof window !== 'undefined';
@@ -63,9 +63,9 @@ utils.isBrowser =
*/
if (os.homedir) {
- utils.HOME = os.homedir();
+ util.HOME = os.homedir();
} else {
- utils.HOME = process.env.HOME
+ util.HOME = process.env.HOME
|| process.env.USERPROFILE
|| process.env.HOMEPATH
|| '/';
@@ -78,7 +78,7 @@ if (os.homedir) {
* @method
*/
-utils.nop = function() {};
+util.nop = function() {};
/**
* Garbage collector for `--expose-gc`.
@@ -87,7 +87,7 @@ utils.nop = function() {};
* @method
*/
-utils.gc = !utils.isBrowser && typeof gc === 'function' ? gc : utils.nop;
+util.gc = !util.isBrowser && typeof gc === 'function' ? gc : util.nop;
/**
* Clone a buffer.
@@ -95,7 +95,7 @@ utils.gc = !utils.isBrowser && typeof gc === 'function' ? gc : utils.nop;
* @returns {Buffer}
*/
-utils.copy = function copy(data) {
+util.copy = function copy(data) {
var clone = new Buffer(data.length);
data.copy(clone, 0, 0, data.length);
return clone;
@@ -108,7 +108,7 @@ utils.copy = function copy(data) {
* @returns {Buffer}
*/
-utils.concat = function concat(a, b) {
+util.concat = function concat(a, b) {
var data = new Buffer(a.length + b.length);
a.copy(data, 0);
b.copy(data, a.length);
@@ -122,7 +122,7 @@ utils.concat = function concat(a, b) {
* @returns {Boolean}
*/
-utils.isBase58 = function isBase58(obj) {
+util.isBase58 = function isBase58(obj) {
return typeof obj === 'string' && /^[1-9a-zA-Z]+$/.test(obj);
};
@@ -131,7 +131,7 @@ utils.isBase58 = function isBase58(obj) {
* @returns {Number}
*/
-utils.uptime = function uptime() {
+util.uptime = function uptime() {
if (!process.uptime)
return 0;
return process.uptime();
@@ -143,11 +143,11 @@ utils.uptime = function uptime() {
* @returns {Array}
*/
-utils.hrtime = function hrtime(time) {
+util.hrtime = function hrtime(time) {
var now, ms, sec;
- if (utils.isBrowser) {
- now = utils.ms();
+ if (util.isBrowser) {
+ now = util.ms();
if (time) {
time = time[0] * 1000 + time[1] / 1e6;
now -= time;
@@ -171,7 +171,7 @@ utils.hrtime = function hrtime(time) {
* @returns {Boolean}
*/
-utils.isHex = function isHex(obj) {
+util.isHex = function isHex(obj) {
return typeof obj === 'string'
&& /^[0-9a-f]+$/i.test(obj)
&& obj.length % 2 === 0;
@@ -184,7 +184,7 @@ utils.isHex = function isHex(obj) {
* @returns {Boolean}
*/
-utils.equal = function equal(a, b) {
+util.equal = function equal(a, b) {
var i;
if (!Buffer.isBuffer(a))
@@ -215,7 +215,7 @@ utils.equal = function equal(a, b) {
* @returns {Promise}
*/
-utils.nextTick = require('./nexttick');
+util.nextTick = require('./nexttick');
/**
* Reverse a hex-string (used because of
@@ -224,7 +224,7 @@ utils.nextTick = require('./nexttick');
* @returns {String} Reversed hex string.
*/
-utils.revHex = function revHex(data) {
+util.revHex = function revHex(data) {
var out = '';
var i;
@@ -243,7 +243,7 @@ utils.revHex = function revHex(data) {
* @returns {Object} target
*/
-utils.merge = function merge(target) {
+util.merge = function merge(target) {
var i, j, obj, keys, key;
for (i = 1; i < arguments.length; i++) {
@@ -259,7 +259,7 @@ utils.merge = function merge(target) {
};
if (Object.assign)
- utils.merge = Object.assign;
+ util.merge = Object.assign;
/**
* Max safe integer (53 bits).
@@ -267,7 +267,7 @@ if (Object.assign)
* @default
*/
-utils.MAX_SAFE_INTEGER = 0x1fffffffffffff;
+util.MAX_SAFE_INTEGER = 0x1fffffffffffff;
/**
* Max 52 bit integer (safe for additions).
@@ -276,7 +276,7 @@ utils.MAX_SAFE_INTEGER = 0x1fffffffffffff;
* @default
*/
-utils.MAX_SAFE_ADDITION = 0xfffffffffffff;
+util.MAX_SAFE_ADDITION = 0xfffffffffffff;
/**
* Test whether a number is below MAX_SAFE_INTEGER.
@@ -284,10 +284,10 @@ utils.MAX_SAFE_ADDITION = 0xfffffffffffff;
* @returns {Boolean}
*/
-utils.isSafeInteger = function isSafeInteger(value) {
+util.isSafeInteger = function isSafeInteger(value) {
if (Number.isSafeInteger)
return Number.isSafeInteger(value);
- return Math.abs(value) <= utils.MAX_SAFE_INTEGER;
+ return Math.abs(value) <= util.MAX_SAFE_INTEGER;
};
/**
@@ -297,10 +297,10 @@ utils.isSafeInteger = function isSafeInteger(value) {
* @returns {Boolean}
*/
-utils.isNumber = function isNumber(value) {
+util.isNumber = function isNumber(value) {
return typeof value === 'number'
&& isFinite(value)
- && utils.isSafeInteger(value);
+ && util.isSafeInteger(value);
};
/**
@@ -309,8 +309,8 @@ utils.isNumber = function isNumber(value) {
* @returns {Boolean}
*/
-utils.isInt = function isInt(value) {
- return utils.isNumber(value) && value % 1 === 0;
+util.isInt = function isInt(value) {
+ return util.isNumber(value) && value % 1 === 0;
};
/**
@@ -319,8 +319,8 @@ utils.isInt = function isInt(value) {
* @returns {Boolean}
*/
-utils.isInt32 = function isInt32(value) {
- return utils.isInt(value) && Math.abs(value) <= 0x7fffffff;
+util.isInt32 = function isInt32(value) {
+ return util.isInt(value) && Math.abs(value) <= 0x7fffffff;
};
/**
@@ -329,8 +329,8 @@ utils.isInt32 = function isInt32(value) {
* @returns {Boolean}
*/
-utils.isUInt32 = function isUInt32(value) {
- return utils.isInt(value) && value >= 0 && value <= 0xffffffff;
+util.isUInt32 = function isUInt32(value) {
+ return util.isInt(value) && value >= 0 && value <= 0xffffffff;
};
/**
@@ -339,8 +339,8 @@ utils.isUInt32 = function isUInt32(value) {
* @returns {Boolean}
*/
-utils.isInt53 = function isInt53(value) {
- return utils.isSafeInteger(value) && utils.isInt(value);
+util.isInt53 = function isInt53(value) {
+ return util.isSafeInteger(value) && util.isInt(value);
};
/**
@@ -349,8 +349,8 @@ utils.isInt53 = function isInt53(value) {
* @returns {Boolean}
*/
-utils.isUInt53 = function isUInt53(value) {
- return utils.isSafeInteger(value) && utils.isInt(value) && value >= 0;
+util.isUInt53 = function isUInt53(value) {
+ return util.isSafeInteger(value) && util.isInt(value) && value >= 0;
};
/**
@@ -359,8 +359,8 @@ utils.isUInt53 = function isUInt53(value) {
* @returns {Boolean}
*/
-utils.isHex160 = function isHex160(hash) {
- return utils.isHex(hash) && hash.length === 40;
+util.isHex160 = function isHex160(hash) {
+ return util.isHex(hash) && hash.length === 40;
};
/**
@@ -369,8 +369,8 @@ utils.isHex160 = function isHex160(hash) {
* @returns {Boolean}
*/
-utils.isHex256 = function isHex256(hash) {
- return utils.isHex(hash) && hash.length === 64;
+util.isHex256 = function isHex256(hash) {
+ return util.isHex(hash) && hash.length === 64;
};
/**
@@ -379,7 +379,7 @@ utils.isHex256 = function isHex256(hash) {
* @returns {Boolean}
*/
-utils.isFloat = function isFloat(value) {
+util.isFloat = function isFloat(value) {
return typeof value === 'string'
&& /^-?(\d+)?(?:\.\d*)?$/.test(value)
&& value.length !== 0
@@ -393,9 +393,9 @@ utils.isFloat = function isFloat(value) {
* @return {String}
*/
-utils.inspectify = function inspectify(obj, color) {
+util.inspectify = function inspectify(obj, color) {
return typeof obj !== 'string'
- ? util.inspect(obj, null, 20, color !== false)
+ ? nodeUtil.inspect(obj, null, 20, color !== false)
: obj;
};
@@ -404,7 +404,7 @@ utils.inspectify = function inspectify(obj, color) {
* @function
*/
-utils.fmt = util.format;
+util.fmt = nodeUtil.format;
/**
* Format a string.
@@ -413,14 +413,14 @@ utils.fmt = util.format;
* @return {String}
*/
-utils.format = function format(args, color) {
+util.format = function format(args, color) {
color = color
? (process.stdout ? process.stdout.isTTY : false)
: false;
return typeof args[0] === 'object'
- ? utils.inspectify(args[0], color)
- : util.format.apply(util, args);
+ ? util.inspectify(args[0], color)
+ : nodeUtil.format.apply(nodeUtil, args);
};
/**
@@ -429,22 +429,22 @@ utils.format = function format(args, color) {
* @param {...String} args
*/
-utils.log = function log() {
+util.log = function log() {
var args = new Array(arguments.length);
var i, msg;
for (i = 0; i < args.length; i++)
args[i] = arguments[i];
- if (utils.isBrowser) {
+ if (util.isBrowser) {
msg = typeof args[0] !== 'object'
- ? utils.format(args, false)
+ ? util.format(args, false)
: args[0];
console.log(msg);
return;
}
- msg = utils.format(args, true);
+ msg = util.format(args, true);
process.stdout.write(msg + '\n');
};
@@ -454,22 +454,22 @@ utils.log = function log() {
* @param {...String} args
*/
-utils.error = function error() {
+util.error = function error() {
var args = new Array(arguments.length);
var i, msg;
for (i = 0; i < args.length; i++)
args[i] = arguments[i];
- if (utils.isBrowser) {
+ if (util.isBrowser) {
msg = typeof args[0] !== 'object'
- ? utils.format(args, false)
+ ? util.format(args, false)
: args[0];
console.error(msg);
return;
}
- msg = utils.format(args, true);
+ msg = util.format(args, true);
process.stderr.write(msg + '\n');
};
@@ -479,7 +479,7 @@ utils.error = function error() {
* @returns {String[]}
*/
-utils.uniq = function uniq(obj) {
+util.uniq = function uniq(obj) {
var table = {};
var out = [];
var i = 0;
@@ -499,8 +499,8 @@ utils.uniq = function uniq(obj) {
* @returns {Number}
*/
-utils.now = function now() {
- return Math.floor(utils.ms() / 1000);
+util.now = function now() {
+ return Math.floor(util.ms() / 1000);
};
/**
@@ -508,7 +508,7 @@ utils.now = function now() {
* @returns {Number}
*/
-utils.ms = function ms() {
+util.ms = function ms() {
if (Date.now)
return Date.now();
return +new Date();
@@ -520,9 +520,9 @@ utils.ms = function ms() {
* @returns {String}
*/
-utils.date = function date(ts) {
+util.date = function date(ts) {
if (ts == null)
- ts = utils.now();
+ ts = util.now();
return new Date(ts * 1000).toISOString().slice(0, -5) + 'Z';
};
@@ -533,9 +533,9 @@ utils.date = function date(ts) {
* @returns {Number}
*/
-utils.time = function time(date) {
+util.time = function time(date) {
if (date == null)
- return utils.now();
+ return util.now();
return new Date(date) / 1000 | 0;
};
@@ -545,7 +545,7 @@ utils.time = function time(date) {
* @returns {BN}
*/
-utils.nonce = function _nonce(buffer) {
+util.nonce = function _nonce(buffer) {
var nonce = new Buffer(8);
nonce.writeUInt32LE((Math.random() * 0x100000000) >>> 0, 0, true);
@@ -563,7 +563,7 @@ utils.nonce = function _nonce(buffer) {
* @returns {Boolean}
*/
-utils.isZero = function isZero(data) {
+util.isZero = function isZero(data) {
var i;
assert(Buffer.isBuffer(data));
@@ -583,7 +583,7 @@ utils.isZero = function isZero(data) {
* @returns {Number} -1, 1, or 0.
*/
-utils.strcmp = function strcmp(a, b) {
+util.strcmp = function strcmp(a, b) {
var len = Math.min(a.length, b.length);
var i;
@@ -610,13 +610,13 @@ utils.strcmp = function strcmp(a, b) {
* @returns {Number} -1, 1, or 0.
*/
-utils.cmp = function cmp(a, b) {
+util.cmp = function cmp(a, b) {
return a.compare(b);
};
// Warning: polymorphism.
if (!Buffer.prototype.compare)
- utils.cmp = utils.strcmp;
+ util.cmp = util.strcmp;
/**
* Convert bytes to mb.
@@ -624,7 +624,7 @@ if (!Buffer.prototype.compare)
* @returns {Number} mb
*/
-utils.mb = function mb(size) {
+util.mb = function mb(size) {
return Math.floor(size / 1024 / 1024);
};
@@ -634,7 +634,7 @@ utils.mb = function mb(size) {
* @param {Function} from - Parent constructor.
*/
-utils.inherits = function inherits(obj, from) {
+util.inherits = function inherits(obj, from) {
var f;
obj.super_ = from;
@@ -671,7 +671,7 @@ utils.inherits = function inherits(obj, from) {
* @returns {Number} Index (-1 if not found).
*/
-utils.indexOf = function indexOf(obj, data) {
+util.indexOf = function indexOf(obj, data) {
var i;
assert(Array.isArray(obj));
@@ -680,7 +680,7 @@ utils.indexOf = function indexOf(obj, data) {
for (i = 0; i < obj.length; i++) {
if (!Buffer.isBuffer(obj[i]))
continue;
- if (utils.equal(obj[i], data))
+ if (util.equal(obj[i], data))
return i;
}
@@ -694,7 +694,7 @@ utils.indexOf = function indexOf(obj, data) {
* @returns {String} Padded number.
*/
-utils.pad32 = function pad32(num) {
+util.pad32 = function pad32(num) {
assert(num >= 0);
num = num + '';
switch (num.length) {
@@ -730,7 +730,7 @@ utils.pad32 = function pad32(num) {
* @returns {String} Padded number.
*/
-utils.hex32 = function hex32(num) {
+util.hex32 = function hex32(num) {
assert(num >= 0);
num = num.toString(16);
switch (num.length) {
@@ -761,7 +761,7 @@ utils.hex32 = function hex32(num) {
* @returns {Object} Map.
*/
-utils.toMap = function toMap(obj) {
+util.toMap = function toMap(obj) {
var map = {};
var i, value;
@@ -779,7 +779,7 @@ utils.toMap = function toMap(obj) {
* @returns {Object} Reversed map.
*/
-utils.revMap = function revMap(map) {
+util.revMap = function revMap(map) {
var reversed = {};
var keys = Object.keys(map);
var i, key;
@@ -798,7 +798,7 @@ utils.revMap = function revMap(map) {
* @returns {Array} Values.
*/
-utils.values = function values(map) {
+util.values = function values(map) {
var keys = Object.keys(map);
var out = [];
var i, key;
@@ -820,7 +820,7 @@ utils.values = function values(map) {
* @returns {Number} Index.
*/
-utils.binarySearch = function binarySearch(items, key, compare, insert) {
+util.binarySearch = function binarySearch(items, key, compare, insert) {
var start = 0;
var end = items.length - 1;
var pos, cmp;
@@ -852,8 +852,8 @@ utils.binarySearch = function binarySearch(items, key, compare, insert) {
* @returns {Number} index
*/
-utils.binaryInsert = function binaryInsert(items, item, compare, uniq) {
- var i = utils.binarySearch(items, item, compare, true);
+util.binaryInsert = function binaryInsert(items, item, compare, uniq) {
+ var i = util.binarySearch(items, item, compare, true);
if (uniq && i < items.length) {
if (compare(items[i], item) === 0)
@@ -878,8 +878,8 @@ utils.binaryInsert = function binaryInsert(items, item, compare, uniq) {
* @returns {Boolean}
*/
-utils.binaryRemove = function binaryRemove(items, item, compare) {
- var i = utils.binarySearch(items, item, compare, false);
+util.binaryRemove = function binaryRemove(items, item, compare) {
+ var i = util.binarySearch(items, item, compare, false);
if (i === -1)
return false;
items.splice(i, 1);
@@ -892,15 +892,15 @@ utils.binaryRemove = function binaryRemove(items, item, compare) {
* @returns {Buffer[]}
*/
-utils.uniqBuffer = function uniqBuffer(items) {
+util.uniqBuffer = function uniqBuffer(items) {
var out = [];
var i, j, item;
for (i = 0; i < items.length; i++) {
item = items[i];
- j = utils.binarySearch(out, item, utils.cmp, true);
+ j = util.binarySearch(out, item, util.cmp, true);
- if (j < out.length && utils.cmp(out[j], item) === 0)
+ if (j < out.length && util.cmp(out[j], item) === 0)
continue;
if (j === 0)
@@ -920,7 +920,7 @@ utils.uniqBuffer = function uniqBuffer(items) {
* @param {Boolean?} dirname
*/
-utils.normalize = function normalize(path, dirname) {
+util.normalize = function normalize(path, dirname) {
var parts;
path = path.replace(/\\/g, '/');
@@ -939,7 +939,7 @@ utils.normalize = function normalize(path, dirname) {
* @param {String} path
*/
-utils.mkdirp = function mkdirp(path) {
+util.mkdirp = function mkdirp(path) {
var i, parts, stat;
if (fs.unsupported)
@@ -985,18 +985,18 @@ utils.mkdirp = function mkdirp(path) {
* @param {Boolean?} dirname
*/
-utils.mkdir = function mkdir(path, dirname) {
- if (utils.isBrowser)
+util.mkdir = function mkdir(path, dirname) {
+ if (util.isBrowser)
return;
- path = utils.normalize(path, dirname);
+ path = util.normalize(path, dirname);
- if (utils._paths[path])
+ if (util._paths[path])
return;
- utils._paths[path] = true;
+ util._paths[path] = true;
- return utils.mkdirp(path);
+ return util.mkdirp(path);
};
/**
@@ -1005,13 +1005,13 @@ utils.mkdir = function mkdir(path, dirname) {
* @type {Object}
*/
-utils._paths = {};
+util._paths = {};
/**
* Ensure hidden-class mode for object.
* @param {Object} obj
*/
-utils.fastProp = function fastProp(obj) {
+util.fastProp = function fastProp(obj) {
({ __proto__: obj });
};
diff --git a/lib/wallet/account.js b/lib/wallet/account.js
index 7190904d..7b7fcc0d 100644
--- a/lib/wallet/account.js
+++ b/lib/wallet/account.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var assert = require('assert');
var BufferReader = require('../utils/reader');
@@ -107,10 +107,10 @@ Account.prototype.fromOptions = function fromOptions(options) {
var i;
assert(options, 'Options are required.');
- assert(utils.isNumber(options.wid));
+ assert(util.isNumber(options.wid));
assert(common.isName(options.id), 'Bad Wallet ID.');
assert(HD.isHD(options.accountKey), 'Account key is required.');
- assert(utils.isNumber(options.accountIndex), 'Account index is required.');
+ assert(util.isNumber(options.accountIndex), 'Account index is required.');
this.wid = options.wid;
this.id = options.id;
@@ -147,37 +147,37 @@ Account.prototype.fromOptions = function fromOptions(options) {
}
if (options.m != null) {
- assert(utils.isNumber(options.m));
+ assert(util.isNumber(options.m));
this.m = options.m;
}
if (options.n != null) {
- assert(utils.isNumber(options.n));
+ assert(util.isNumber(options.n));
this.n = options.n;
}
if (options.accountIndex != null) {
- assert(utils.isNumber(options.accountIndex));
+ assert(util.isNumber(options.accountIndex));
this.accountIndex = options.accountIndex;
}
if (options.receiveDepth != null) {
- assert(utils.isNumber(options.receiveDepth));
+ assert(util.isNumber(options.receiveDepth));
this.receiveDepth = options.receiveDepth;
}
if (options.changeDepth != null) {
- assert(utils.isNumber(options.changeDepth));
+ assert(util.isNumber(options.changeDepth));
this.changeDepth = options.changeDepth;
}
if (options.nestedDepth != null) {
- assert(utils.isNumber(options.nestedDepth));
+ assert(util.isNumber(options.nestedDepth));
this.nestedDepth = options.nestedDepth;
}
if (options.lookahead != null) {
- assert(utils.isNumber(options.lookahead));
+ assert(util.isNumber(options.lookahead));
assert(options.lookahead >= 0);
assert(options.lookahead <= Account.MAX_LOOKAHEAD);
this.lookahead = options.lookahead;
@@ -296,13 +296,13 @@ Account.prototype.pushKey = function pushKey(key) {
if (key.equal(this.accountKey))
throw new Error('Cannot add own key.');
- index = utils.binaryInsert(this.keys, key, cmp, true);
+ index = util.binaryInsert(this.keys, key, cmp, true);
if (index === -1)
return false;
if (this.keys.length > this.n - 1) {
- utils.binaryRemove(this.keys, key, cmp);
+ util.binaryRemove(this.keys, key, cmp);
throw new Error('Cannot add more keys.');
}
@@ -336,7 +336,7 @@ Account.prototype.spliceKey = function spliceKey(key) {
if (this.keys.length === this.n - 1)
throw new Error('Cannot remove key.');
- return utils.binaryRemove(this.keys, key, cmp);
+ return util.binaryRemove(this.keys, key, cmp);
};
/**
diff --git a/lib/wallet/layout-browser.js b/lib/wallet/layout-browser.js
index 29752433..92e17397 100644
--- a/lib/wallet/layout-browser.js
+++ b/lib/wallet/layout-browser.js
@@ -6,8 +6,8 @@
'use strict';
-var utils = require('../utils/utils');
-var pad32 = utils.pad32;
+var util = require('../utils/util');
+var pad32 = util.pad32;
var layouts = exports;
layouts.walletdb = {
diff --git a/lib/wallet/masterkey.js b/lib/wallet/masterkey.js
index 0ff4c8b6..c70dfab6 100644
--- a/lib/wallet/masterkey.js
+++ b/lib/wallet/masterkey.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var Locker = require('../utils/locker');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
@@ -110,22 +110,22 @@ MasterKey.prototype.fromOptions = function fromOptions(options) {
}
if (options.rounds != null) {
- assert(utils.isNumber(options.rounds));
+ assert(util.isNumber(options.rounds));
this.N = options.rounds;
}
if (options.N != null) {
- assert(utils.isNumber(options.N));
+ assert(util.isNumber(options.N));
this.N = options.N;
}
if (options.r != null) {
- assert(utils.isNumber(options.r));
+ assert(util.isNumber(options.r));
this.r = options.r;
}
if (options.p != null) {
- assert(utils.isNumber(options.p));
+ assert(util.isNumber(options.p));
this.p = options.p;
}
@@ -210,7 +210,7 @@ MasterKey.prototype.start = function start(timeout) {
if (timeout === -1)
return;
- this.until = utils.now() + timeout;
+ this.until = util.now() + timeout;
this.timer = setTimeout(this._onTimeout, timeout * 1000);
};
diff --git a/lib/wallet/records.js b/lib/wallet/records.js
index f3379472..7809800a 100644
--- a/lib/wallet/records.js
+++ b/lib/wallet/records.js
@@ -6,7 +6,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var constants = require('../protocol/constants');
var BufferReader = require('../utils/reader');
@@ -146,7 +146,7 @@ BlockMeta.prototype.fromEntry = function fromEntry(entry) {
*/
BlockMeta.prototype.fromJSON = function fromJSON(json) {
- this.hash = utils.revHex(json.hash);
+ this.hash = util.revHex(json.hash);
this.height = json.height;
this.ts = json.ts;
return this;
@@ -222,7 +222,7 @@ BlockMeta.prototype.toRaw = function toRaw(writer) {
BlockMeta.prototype.toJSON = function toJSON() {
return {
- hash: utils.revHex(this.hash),
+ hash: util.revHex(this.hash),
height: this.height,
ts: this.ts
};
@@ -340,7 +340,7 @@ BlockMapRecord.prototype.remove = function remove(hash, wid) {
return false;
if (tx.wids.length === 0) {
- result = utils.binaryRemove(this.txs, tx, cmpid);
+ result = util.binaryRemove(this.txs, tx, cmpid);
assert(result);
delete this.index[tx.hash];
}
@@ -362,11 +362,11 @@ function TXMapRecord(hash, wids) {
TXMapRecord.id = 0;
TXMapRecord.prototype.add = function add(wid) {
- return utils.binaryInsert(this.wids, wid, cmp, true) !== -1;
+ return util.binaryInsert(this.wids, wid, cmp, true) !== -1;
};
TXMapRecord.prototype.remove = function remove(wid) {
- return utils.binaryRemove(this.wids, wid, cmp);
+ return util.binaryRemove(this.wids, wid, cmp);
};
TXMapRecord.prototype.toRaw = function toRaw(writer) {
@@ -394,11 +394,11 @@ function OutpointMapRecord(hash, index, wids) {
}
OutpointMapRecord.prototype.add = function add(wid) {
- return utils.binaryInsert(this.wids, wid, cmp, true) !== -1;
+ return util.binaryInsert(this.wids, wid, cmp, true) !== -1;
};
OutpointMapRecord.prototype.remove = function remove(wid) {
- return utils.binaryRemove(this.wids, wid, cmp);
+ return util.binaryRemove(this.wids, wid, cmp);
};
OutpointMapRecord.prototype.toRaw = function toRaw(writer) {
@@ -425,11 +425,11 @@ function PathMapRecord(hash, wids) {
}
PathMapRecord.prototype.add = function add(wid) {
- return utils.binaryInsert(this.wids, wid, cmp, true) !== -1;
+ return util.binaryInsert(this.wids, wid, cmp, true) !== -1;
};
PathMapRecord.prototype.remove = function remove(wid) {
- return utils.binaryRemove(this.wids, wid, cmp);
+ return util.binaryRemove(this.wids, wid, cmp);
};
PathMapRecord.prototype.toRaw = function toRaw(writer) {
diff --git a/lib/wallet/txdb.js b/lib/wallet/txdb.js
index d7512336..09fab03f 100644
--- a/lib/wallet/txdb.js
+++ b/lib/wallet/txdb.js
@@ -7,15 +7,15 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var LRU = require('../utils/lru');
var co = require('../utils/co');
var assert = require('assert');
var constants = require('../protocol/constants');
var BufferReader = require('../utils/reader');
var BufferWriter = require('../utils/writer');
-var btcutils = require('../utils/btcutils');
-var Amount = require('../utils/amount');
+var btcutils = require('../btc/btcutils');
+var Amount = require('../btc/amount');
var TX = require('../primitives/tx');
var Coin = require('../primitives/coin');
var Outpoint = require('../primitives/outpoint');
@@ -872,7 +872,7 @@ TXDB.prototype.removeBlock = co(function* removeBlock(tx, height) {
size = data.readUInt32LE(40, true);
assert(size > 0);
- assert(utils.equal(data.slice(-32), hash));
+ assert(util.equal(data.slice(-32), hash));
if (size === 1) {
this.del(key);
@@ -2722,10 +2722,10 @@ TXDB.prototype.getAccountBalance = co(function* getAccountBalance(account) {
TXDB.prototype.zap = co(function* zap(account, age) {
var hashes = [];
- var now = utils.now();
+ var now = util.now();
var i, txs, tx, hash;
- assert(utils.isUInt32(age));
+ assert(util.isUInt32(age));
txs = yield this.getRange(account, {
start: 0,
@@ -3119,7 +3119,7 @@ Details.prototype.setInput = function setInput(i, path, coin) {
if (path) {
member.path = path;
- utils.binaryInsert(this.accounts, path.account, cmp, true);
+ util.binaryInsert(this.accounts, path.account, cmp, true);
}
};
@@ -3134,7 +3134,7 @@ Details.prototype.setOutput = function setOutput(i, path) {
if (path) {
member.path = path;
- utils.binaryInsert(this.accounts, path.account, cmp, true);
+ util.binaryInsert(this.accounts, path.account, cmp, true);
}
};
@@ -3207,18 +3207,18 @@ Details.prototype.toJSON = function toJSON() {
var rate = this.getRate(fee);
// Rate can exceed 53 bits in testing.
- if (!utils.isSafeInteger(rate))
+ if (!util.isSafeInteger(rate))
rate = 0;
return {
wid: this.wid,
id: this.id,
- hash: utils.revHex(this.hash),
+ hash: util.revHex(this.hash),
height: this.height,
- block: this.block ? utils.revHex(this.block) : null,
+ block: this.block ? util.revHex(this.block) : null,
ts: this.ts,
ps: this.ps,
- date: utils.date(this.ts || this.ps),
+ date: util.date(this.ts || this.ps),
index: this.index,
size: this.size,
virtualSize: this.vsize,
@@ -3401,10 +3401,10 @@ BlockRecord.prototype.toRaw = function toRaw(writer) {
BlockRecord.prototype.toJSON = function toJSON() {
return {
- hash: utils.revHex(this.hash),
+ hash: util.revHex(this.hash),
height: this.height,
ts: this.ts,
- hashes: this.hashes.map(utils.revHex)
+ hashes: this.hashes.map(util.revHex)
};
};
diff --git a/lib/wallet/wallet.js b/lib/wallet/wallet.js
index 120b9f09..d47e4ec8 100644
--- a/lib/wallet/wallet.js
+++ b/lib/wallet/wallet.js
@@ -11,11 +11,11 @@ var assert = require('assert');
var EventEmitter = require('events').EventEmitter;
var constants = require('../protocol/constants');
var Network = require('../protocol/network');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var Locker = require('../utils/locker');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
-var btcutils = require('../utils/btcutils');
+var btcutils = require('../btc/btcutils');
var BufferReader = require('../utils/reader');
var BufferWriter = require('../utils/writer');
var base58 = require('../utils/base58');
@@ -90,7 +90,7 @@ function Wallet(db, options) {
this.fromOptions(options);
}
-utils.inherits(Wallet, EventEmitter);
+util.inherits(Wallet, EventEmitter);
/**
* Inject properties from options object.
@@ -121,7 +121,7 @@ Wallet.prototype.fromOptions = function fromOptions(options) {
}
if (options.wid != null) {
- assert(utils.isNumber(options.wid));
+ assert(util.isNumber(options.wid));
this.wid = options.wid;
}
@@ -141,7 +141,7 @@ Wallet.prototype.fromOptions = function fromOptions(options) {
}
if (options.accountDepth != null) {
- assert(utils.isNumber(options.accountDepth));
+ assert(util.isNumber(options.accountDepth));
this.accountDepth = options.accountDepth;
}
@@ -152,7 +152,7 @@ Wallet.prototype.fromOptions = function fromOptions(options) {
}
if (options.tokenDepth != null) {
- assert(utils.isNumber(options.tokenDepth));
+ assert(util.isNumber(options.tokenDepth));
this.tokenDepth = options.tokenDepth;
}
@@ -1572,7 +1572,7 @@ Wallet.prototype.increaseFee = co(function* increaseFee(hash, rate, passphrase)
if (!tx.hasCoins())
throw new Error('Not all coins available.');
- if (!utils.isUInt32(rate))
+ if (!util.isUInt32(rate))
throw new Error('Rate must be a number.');
oldFee = tx.getFee();
@@ -1883,7 +1883,7 @@ Wallet.prototype.syncOutputDepth = co(function* syncOutputDepth(details) {
accounts[path.account].push(path);
}
- accounts = utils.values(accounts);
+ accounts = util.values(accounts);
for (i = 0; i < accounts.length; i++) {
paths = accounts[i];
diff --git a/lib/wallet/walletdb.js b/lib/wallet/walletdb.js
index 713fb708..c61ded3b 100644
--- a/lib/wallet/walletdb.js
+++ b/lib/wallet/walletdb.js
@@ -9,13 +9,13 @@
var assert = require('assert');
var AsyncObject = require('../utils/async');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
var Locker = require('../utils/locker');
var LRU = require('../utils/lru');
var encoding = require('../utils/encoding');
var crypto = require('../crypto/crypto');
-var btcutils = require('../utils/btcutils');
+var btcutils = require('../btc/btcutils');
var constants = require('../protocol/constants');
var Network = require('../protocol/network');
var Path = require('./path');
@@ -94,11 +94,11 @@ function WalletDB(options) {
maxOpenFiles: this.options.maxFiles,
cacheSize: 8 << 20,
writeBufferSize: 4 << 20,
- bufferKeys: !utils.isBrowser
+ bufferKeys: !util.isBrowser
});
}
-utils.inherits(WalletDB, AsyncObject);
+util.inherits(WalletDB, AsyncObject);
/**
* Database layout.
@@ -276,7 +276,7 @@ WalletDB.prototype.scan = co(function* scan(height) {
if (height == null)
height = this.state.startHeight;
- assert(utils.isUInt32(height), 'WDB: Must pass in a height.');
+ assert(util.isUInt32(height), 'WDB: Must pass in a height.');
yield this.rollback(height);
@@ -753,7 +753,7 @@ WalletDB.prototype.auth = co(function* auth(wid, token) {
return;
if (typeof token === 'string') {
- if (!utils.isHex256(token))
+ if (!util.isHex256(token))
throw new Error('WDB: Authentication error.');
token = new Buffer(token, 'hex');
}
@@ -1338,7 +1338,7 @@ WalletDB.prototype.testInput = co(function* testInput(input, result) {
return;
for (i = 0; i < map.wids.length; i++)
- utils.binaryInsert(result, map.wids[i], cmp, true);
+ util.binaryInsert(result, map.wids[i], cmp, true);
});
/**
@@ -1370,7 +1370,7 @@ WalletDB.prototype.getWalletsByTX = co(function* getWalletsByTX(tx) {
}
for (j = 0; j < map.wids.length; j++)
- utils.binaryInsert(result, map.wids[j], cmp, true);
+ util.binaryInsert(result, map.wids[j], cmp, true);
}
}
@@ -1386,7 +1386,7 @@ WalletDB.prototype.getWalletsByTX = co(function* getWalletsByTX(tx) {
continue;
for (j = 0; j < map.wids.length; j++)
- utils.binaryInsert(result, map.wids[j], cmp, true);
+ util.binaryInsert(result, map.wids[j], cmp, true);
}
if (result.length === 0)
@@ -1424,7 +1424,7 @@ WalletDB.prototype.init = co(function* init() {
this.logger.info(
'Initializing WalletDB chain state at %s (%d).',
- utils.revHex(tip.hash), tip.height);
+ util.revHex(tip.hash), tip.height);
yield this.resetState(tip, false);
});
@@ -1543,7 +1543,7 @@ WalletDB.prototype.maybeMark = co(function* maybeMark(tip) {
return;
this.logger.info('Marking WalletDB start block at %s (%d).',
- utils.revHex(tip.hash), tip.height);
+ util.revHex(tip.hash), tip.height);
yield this.resetState(tip, true);
});
@@ -1821,7 +1821,7 @@ WalletDB.prototype._addBlock = co(function* addBlock(entry, txs) {
if (total > 0) {
this.logger.info('Connected WalletDB block %s (tx=%d).',
- utils.revHex(tip.hash), total);
+ util.revHex(tip.hash), total);
}
return total;
@@ -1886,7 +1886,7 @@ WalletDB.prototype._removeBlock = co(function* removeBlock(entry) {
yield this.syncState(prev);
this.logger.warning('Disconnected wallet block %s (tx=%d).',
- utils.revHex(tip.hash), block.txs.length);
+ util.revHex(tip.hash), block.txs.length);
return block.txs.length;
});
diff --git a/lib/wallet/walletkey.js b/lib/wallet/walletkey.js
index bc41f687..29931034 100644
--- a/lib/wallet/walletkey.js
+++ b/lib/wallet/walletkey.js
@@ -9,7 +9,7 @@
var constants = require('../protocol/constants');
var KeyRing = require('../primitives/keyring');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var Path = require('./path');
/**
@@ -35,7 +35,7 @@ function WalletKey(options, network) {
this.index = -1;
}
-utils.inherits(WalletKey, KeyRing);
+util.inherits(WalletKey, KeyRing);
/**
* Instantiate key ring from options.
diff --git a/lib/workers/framer.js b/lib/workers/framer.js
index 8737b71f..a67a754f 100644
--- a/lib/workers/framer.js
+++ b/lib/workers/framer.js
@@ -9,7 +9,7 @@
var EventEmitter = require('events').EventEmitter;
var BN = require('bn.js');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var BufferWriter = require('../utils/writer');
var KeyRing = require('../primitives/keyring');
@@ -28,7 +28,7 @@ function Framer() {
EventEmitter.call(this);
}
-utils.inherits(Framer, EventEmitter);
+util.inherits(Framer, EventEmitter);
Framer.prototype.packet = function packet(job, cmd, items) {
var payload = this.body(items);
diff --git a/lib/workers/master.js b/lib/workers/master.js
index 1d8a6869..ebf019f1 100644
--- a/lib/workers/master.js
+++ b/lib/workers/master.js
@@ -8,13 +8,13 @@
'use strict';
var EventEmitter = require('events').EventEmitter;
-var utils = require('../utils/utils');
-var global = utils.global;
+var util = require('../utils/util');
+var global = util.global;
var Network = require('../protocol/network');
var jobs = require('./jobs');
var Parser = require('./parser-client');
var Framer = require('./framer');
-var global = utils.global;
+var global = util.global;
var server;
/**
@@ -35,7 +35,7 @@ function Master() {
this._init();
}
-utils.inherits(Master, EventEmitter);
+util.inherits(Master, EventEmitter);
/**
* Initialize master. Bind events.
@@ -45,7 +45,7 @@ utils.inherits(Master, EventEmitter);
Master.prototype._init = function _init() {
var self = this;
- if (utils.isBrowser) {
+ if (util.isBrowser) {
global.onerror = function onerror(err) {
self.emit('error', err);
};
@@ -64,9 +64,9 @@ Master.prototype._init = function _init() {
self.emit('data', data);
});
// Nowhere to send these errors:
- process.stdin.on('error', utils.nop);
- process.stdout.on('error', utils.nop);
- process.stderr.on('error', utils.nop);
+ process.stdin.on('error', util.nop);
+ process.stdout.on('error', util.nop);
+ process.stderr.on('error', util.nop);
}
this.on('data', function(data) {
@@ -98,7 +98,7 @@ Master.prototype.set = function set(network) {
*/
Master.prototype.write = function write(data) {
- if (utils.isBrowser) {
+ if (util.isBrowser) {
if (global.postMessage.length === 2) {
data.__proto__ = Uint8Array.prototype;
global.postMessage({ buf: data }, [data]);
@@ -144,7 +144,7 @@ Master.prototype.sendEvent = function sendEvent() {
*/
Master.prototype.destroy = function destroy() {
- if (utils.isBrowser)
+ if (util.isBrowser)
return global.close();
return process.exit(0);
};
@@ -176,8 +176,8 @@ Master.prototype.listen = function listen(env) {
Network.set(env.BCOIN_WORKER_NETWORK);
- utils.log = this.log.bind(this);
- utils.error = utils.log;
+ util.log = this.log.bind(this);
+ util.error = util.log;
this.on('error', function(err) {
self.sendEvent('worker error', fromError(err));
@@ -217,7 +217,7 @@ function fromError(err) {
server = new Master();
-if (utils.isBrowser)
+if (util.isBrowser)
global.master = server;
module.exports = server;
diff --git a/lib/workers/parser-client.js b/lib/workers/parser-client.js
index aba8fc9d..9b296095 100644
--- a/lib/workers/parser-client.js
+++ b/lib/workers/parser-client.js
@@ -7,7 +7,7 @@
'use strict';
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var ServerParser = require('./parser');
var MTX = require('../primitives/mtx');
var TX = require('../primitives/tx');
@@ -25,7 +25,7 @@ function Parser() {
ServerParser.call(this);
}
-utils.inherits(Parser, ServerParser);
+util.inherits(Parser, ServerParser);
Parser.prototype.parseKeyRing = function parseKeyRing(data) {
return KeyRing.fromRaw(data);
diff --git a/lib/workers/parser.js b/lib/workers/parser.js
index 2371c7f6..66bc292d 100644
--- a/lib/workers/parser.js
+++ b/lib/workers/parser.js
@@ -9,7 +9,7 @@
var EventEmitter = require('events').EventEmitter;
var BN = require('bn.js');
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var assert = require('assert');
var BufferReader = require('../utils/reader');
var Script = require('../script/script');
@@ -32,7 +32,7 @@ function Parser() {
this.total = 0;
}
-utils.inherits(Parser, EventEmitter);
+util.inherits(Parser, EventEmitter);
Parser.prototype.feed = function feed(data) {
var chunk;
diff --git a/lib/workers/workerpool.js b/lib/workers/workerpool.js
index f5e78aba..a79ad4db 100644
--- a/lib/workers/workerpool.js
+++ b/lib/workers/workerpool.js
@@ -8,9 +8,9 @@
'use strict';
var EventEmitter = require('events').EventEmitter;
-var utils = require('../utils/utils');
+var util = require('../utils/util');
var co = require('../utils/co');
-var global = utils.global;
+var global = util.global;
var Network = require('../protocol/network');
var jobs = require('./jobs');
var Parser = require('./parser');
@@ -47,7 +47,7 @@ function WorkerPool(options) {
this.enabled = true;
}
-utils.inherits(WorkerPool, EventEmitter);
+util.inherits(WorkerPool, EventEmitter);
/**
* Whether workers are supported.
@@ -56,7 +56,7 @@ utils.inherits(WorkerPool, EventEmitter);
WorkerPool.support = true;
-if (utils.isBrowser) {
+if (util.isBrowser) {
WorkerPool.support = typeof global.Worker === 'function'
|| typeof global.postMessage === 'function';
}
@@ -94,7 +94,7 @@ WorkerPool._exitBound = false;
*/
WorkerPool._bindExit = function _bindExit() {
- if (utils.isBrowser)
+ if (util.isBrowser)
return;
if (WorkerPool._exitBound)
@@ -106,7 +106,7 @@ WorkerPool._bindExit = function _bindExit() {
WorkerPool.cleanup();
if (err) {
- utils.error(err.stack + '');
+ util.error(err.stack + '');
process.exit(1);
return;
}
@@ -235,7 +235,7 @@ WorkerPool.prototype.execute = function execute(method, args, timeout) {
if (!this.enabled || !WorkerPool.support) {
return new Promise(function(resolve, reject) {
- utils.nextTick(function() {
+ util.nextTick(function() {
try {
result = jobs.execute(method, args);
} catch (e) {
@@ -393,7 +393,7 @@ function Worker(id) {
this.framer = new Framer();
this.parser = new Parser();
- this.setMaxListeners(utils.MAX_SAFE_INTEGER);
+ this.setMaxListeners(util.MAX_SAFE_INTEGER);
this.uid = 0;
this.id = id != null ? id : -1;
this.child = null;
@@ -401,7 +401,7 @@ function Worker(id) {
this._init();
}
-utils.inherits(Worker, EventEmitter);
+util.inherits(Worker, EventEmitter);
/**
* Initialize worker. Bind to events.
@@ -416,7 +416,7 @@ Worker.prototype._init = function _init() {
BCOIN_WORKER_NETWORK: Network.type
};
- if (utils.isBrowser) {
+ if (util.isBrowser) {
this.child = new global.Worker('/bcoin-worker.js');
this.child.onerror = function onerror(err) {
@@ -439,7 +439,7 @@ Worker.prototype._init = function _init() {
} else {
this.child = cp.spawn(process.argv[0], [__dirname + '/worker.js'], {
stdio: 'pipe',
- env: utils.merge({}, process.env, penv)
+ env: util.merge({}, process.env, penv)
});
this.child.on('error', function(err) {
@@ -505,8 +505,8 @@ Worker.prototype._bind = function _bind() {
});
this.on('log', function(items) {
- utils.log('Worker %d:', self.id);
- utils.log.apply(utils, items);
+ util.log('Worker %d:', self.id);
+ util.log.apply(utils, items);
});
this.on('packet', function(packet) {
@@ -546,7 +546,7 @@ Worker.prototype._bind = function _bind() {
*/
Worker.prototype.write = function write(data) {
- if (utils.isBrowser) {
+ if (util.isBrowser) {
if (this.child.postMessage.length === 2) {
data.__proto__ = Uint8Array.prototype;
this.child.postMessage({ buf: data }, [data]);
@@ -592,7 +592,7 @@ Worker.prototype.sendEvent = function sendEvent() {
*/
Worker.prototype.destroy = function destroy() {
- if (utils.isBrowser) {
+ if (util.isBrowser) {
this.child.terminate();
this.emit('exit', -1, 'SIGTERM');
return;
@@ -693,10 +693,10 @@ exports.set = function set(options) {
if (typeof options.useWorkers === 'boolean')
this.pool.enabled = options.useWorkers;
- if (utils.isNumber(options.maxWorkers))
+ if (util.isNumber(options.maxWorkers))
this.pool.size = options.maxWorkers;
- if (utils.isNumber(options.workerTimeout))
+ if (util.isNumber(options.workerTimeout))
this.pool.timeout = options.workerTimeout;
};
diff --git a/migrate/ensure-tip-index.js b/migrate/ensure-tip-index.js
index ad920b64..5bcdc96e 100644
--- a/migrate/ensure-tip-index.js
+++ b/migrate/ensure-tip-index.js
@@ -4,7 +4,7 @@ var co = require('../lib/utils/co');
var BufferWriter = require('../lib/utils/writer');
var BufferReader = require('../lib/utils/reader');
var crypto = require('../lib/crypto/crypto');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var LDB = require('../lib/db/ldb');
var BN = require('bn.js');
var DUMMY = new Buffer([0]);
@@ -129,7 +129,7 @@ var indexTips = co(function* indexTips() {
for (i = 0; i < tips.length; i++) {
tip = tips[i];
- console.log('Indexing chain tip: %s.', utils.revHex(tip));
+ console.log('Indexing chain tip: %s.', util.revHex(tip));
batch.put(pair('p', tip), DUMMY);
}
});
diff --git a/migrate/walletdb3to4.js b/migrate/walletdb3to4.js
index 0e4b4467..0a5002c9 100644
--- a/migrate/walletdb3to4.js
+++ b/migrate/walletdb3to4.js
@@ -7,7 +7,7 @@ var BufferWriter = require('../lib/utils/writer');
var BufferReader = require('../lib/utils/reader');
var TX = require('../lib/primitives/tx');
var Coin = require('../lib/primitives/coin');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var co = bcoin.co;
var layout = WalletDB.layout;
var tlayout = TXDB.layout;
@@ -72,7 +72,7 @@ var updateTXDB = co(function* updateTXDB() {
batch.del(key);
}
- txs = utils.values(txs);
+ txs = util.values(txs);
yield batch.write();
yield db.close();
diff --git a/migrate/walletdb4to5.js b/migrate/walletdb4to5.js
index 01dcd8d5..0468b9a5 100644
--- a/migrate/walletdb4to5.js
+++ b/migrate/walletdb4to5.js
@@ -3,7 +3,7 @@ var bcoin = require('../');
var constants = require('../lib/protocol/constants');
var BufferWriter = require('../lib/utils/writer');
var BufferReader = require('../lib/utils/reader');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var co = bcoin.co;
var file = process.argv[2];
var db, batch;
diff --git a/migrate/walletdb5to6.js b/migrate/walletdb5to6.js
index 1fdd26be..e5d1f54e 100644
--- a/migrate/walletdb5to6.js
+++ b/migrate/walletdb5to6.js
@@ -3,7 +3,7 @@ var bcoin = require('../');
var constants = require('../lib/protocol/constants');
var BufferWriter = require('../lib/utils/writer');
var BufferReader = require('../lib/utils/reader');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var co = bcoin.co;
var file = process.argv[2];
var db, batch;
diff --git a/test/aes-test.js b/test/aes-test.js
index 71f452aa..8a0d23c5 100644
--- a/test/aes-test.js
+++ b/test/aes-test.js
@@ -1,7 +1,7 @@
'use strict';
var BN = require('bn.js');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
var aes = require('../lib/crypto/aes');
diff --git a/test/bip150-test.js b/test/bip150-test.js
index 017714bb..a36610fd 100644
--- a/test/bip150-test.js
+++ b/test/bip150-test.js
@@ -2,7 +2,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var constants = bcoin.constants;
var network = bcoin.networks;
diff --git a/test/bip151-test.js b/test/bip151-test.js
index 1135ec98..0fd5fd2b 100644
--- a/test/bip151-test.js
+++ b/test/bip151-test.js
@@ -2,7 +2,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var constants = bcoin.constants;
var network = bcoin.networks;
diff --git a/test/bip70-test.js b/test/bip70-test.js
index 23af3079..52d372d0 100644
--- a/test/bip70-test.js
+++ b/test/bip70-test.js
@@ -2,7 +2,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var constants = bcoin.constants;
var network = bcoin.networks;
@@ -155,8 +155,8 @@ describe('BIP70', function() {
network: 'testnet',
paymentUrl: 'http://bcoin.io/payme',
memo: 'foobar',
- time: utils.now(),
- expires: utils.now() + 3600,
+ time: util.now(),
+ expires: util.now() + 3600,
outputs: [
{ value: 10000, address: bcoin.address() },
{ value: 50000, address: bcoin.address() }
@@ -176,7 +176,7 @@ describe('BIP70', function() {
assert.equal(request.version, 25);
assert.equal(request.paymentDetails.paymentUrl, 'http://bcoin.io/payme');
assert.equal(request.paymentDetails.network, 'testnet');
- assert(request.paymentDetails.time <= utils.now());
+ assert(request.paymentDetails.time <= util.now());
assert.equal(request.paymentDetails.expires,
request.paymentDetails.time + 3600);
assert.equal(request.paymentDetails.outputs.length, 2);
diff --git a/test/block-test.js b/test/block-test.js
index d7705b3f..5bd3b41d 100644
--- a/test/block-test.js
+++ b/test/block-test.js
@@ -2,8 +2,8 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
-var btcutils = require('../lib/utils/btcutils');
+var util = bcoin.util;
+var btcutils = require('../lib/btc/btcutils');
var crypto = require('../lib/crypto/crypto');
var Bloom = require('../lib/utils/bloom');
var constants = bcoin.constants;
diff --git a/test/bloom-test.js b/test/bloom-test.js
index cabdf17c..aed3b440 100644
--- a/test/bloom-test.js
+++ b/test/bloom-test.js
@@ -1,7 +1,7 @@
'use strict';
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var Bloom = require('../lib/utils/bloom');
var murmur3 = require('../lib/utils/murmur3');
diff --git a/test/chain-test.js b/test/chain-test.js
index c55671c6..20a38d6d 100644
--- a/test/chain-test.js
+++ b/test/chain-test.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('regtest');
var constants = bcoin.constants;
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
var opcodes = constants.opcodes;
diff --git a/test/hd-test.js b/test/hd-test.js
index 5638f7e0..e84d40fe 100644
--- a/test/hd-test.js
+++ b/test/hd-test.js
@@ -2,7 +2,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
+var util = bcoin.util;
var base58 = require('../lib/utils/base58');
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
diff --git a/test/http-test.js b/test/http-test.js
index 820701a7..174de940 100644
--- a/test/http-test.js
+++ b/test/http-test.js
@@ -4,12 +4,12 @@ var BN = require('bn.js');
var bcoin = require('../').set('regtest');
var constants = bcoin.constants;
var network = bcoin.networks;
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
var scriptTypes = constants.scriptTypes;
var co = require('../lib/utils/co');
-var Amount = require('../lib/utils/amount');
+var Amount = require('../lib/btc/amount');
var cob = co.cob;
var dummyInput = {
diff --git a/test/mempool-test.js b/test/mempool-test.js
index 8452c9cb..bb63e1bb 100644
--- a/test/mempool-test.js
+++ b/test/mempool-test.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
var opcodes = constants.opcodes;
diff --git a/test/mnemonic-test.js b/test/mnemonic-test.js
index b2feb382..7112d898 100644
--- a/test/mnemonic-test.js
+++ b/test/mnemonic-test.js
@@ -2,7 +2,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
var mnemonic1 = require('./data/mnemonic1').english;
diff --git a/test/protocol-test.js b/test/protocol-test.js
index ff1b1dec..8a828bbf 100644
--- a/test/protocol-test.js
+++ b/test/protocol-test.js
@@ -4,7 +4,7 @@ var bcoin = require('../').set('main');
var assert = require('assert');
var constants = bcoin.constants;
var network = bcoin.network.get();
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var fs = require('fs');
var alertData = fs.readFileSync(__dirname + '/data/alertTests.raw');
@@ -42,7 +42,7 @@ describe('Protocol', function() {
ts: bcoin.now(),
remote: new NetworkAddress(),
local: new NetworkAddress(),
- nonce: utils.nonce(),
+ nonce: util.nonce(),
agent: constants.USER_AGENT,
height: 0,
relay: false
@@ -61,7 +61,7 @@ describe('Protocol', function() {
ts: bcoin.now(),
remote: new NetworkAddress(),
local: new NetworkAddress(),
- nonce: utils.nonce(),
+ nonce: util.nonce(),
agent: constants.USER_AGENT,
height: 10,
relay: true
@@ -82,13 +82,13 @@ describe('Protocol', function() {
services: constants.LOCAL_SERVICES,
host: '127.0.0.1',
port: 8333,
- ts: utils.now()
+ ts: util.now()
}),
new NetworkAddress({
services: constants.LOCAL_SERVICES,
host: '::123:456:789a',
port: 18333,
- ts: utils.now()
+ ts: util.now()
})
];
diff --git a/test/script-test.js b/test/script-test.js
index 82df00fb..8711ef3d 100644
--- a/test/script-test.js
+++ b/test/script-test.js
@@ -4,7 +4,7 @@ var bcoin = require('../').set('main');
var assert = require('assert');
var Script = bcoin.script;
var Stack = bcoin.stack;
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var constants = bcoin.constants;
var opcodes = bcoin.constants.opcodes;
@@ -149,9 +149,9 @@ describe('Script', function() {
var s = bcoin.script.fromString(
'OP_1 OP_DUP OP_PUSHDATA1'
);
- assert(utils.equal(s.raw, new Buffer('51764c', 'hex')));
+ assert(util.equal(s.raw, new Buffer('51764c', 'hex')));
delete s.raw;
- assert(utils.equal(s.encode(), new Buffer('51764c', 'hex')));
+ assert(util.equal(s.encode(), new Buffer('51764c', 'hex')));
try {
s.execute(stack);
} catch (e) {
@@ -162,9 +162,9 @@ describe('Script', function() {
var s = bcoin.script.fromString(
'OP_1 OP_DUP OP_PUSHDATA2 0x01'
);
- assert(utils.equal(s.raw, new Buffer('51764d01', 'hex')));
+ assert(util.equal(s.raw, new Buffer('51764d01', 'hex')));
delete s.raw;
- assert(utils.equal(s.encode(), new Buffer('51764d01', 'hex')));
+ assert(util.equal(s.encode(), new Buffer('51764d01', 'hex')));
err = null;
try {
s.execute(stack);
@@ -176,9 +176,9 @@ describe('Script', function() {
var s = bcoin.script.fromString(
'OP_1 OP_DUP OP_PUSHDATA4 0x0001'
);
- assert(utils.equal(s.raw, new Buffer('51764e0001', 'hex')));
+ assert(util.equal(s.raw, new Buffer('51764e0001', 'hex')));
delete s.raw;
- assert(utils.equal(s.encode(), new Buffer('51764e0001', 'hex')));
+ assert(util.equal(s.encode(), new Buffer('51764e0001', 'hex')));
err = null;
try {
s.execute(stack);
@@ -190,9 +190,9 @@ describe('Script', function() {
var s = bcoin.script.fromString(
'OP_1 OP_DUP OP_PUSHDATA1 0x02 0x01'
);
- assert(utils.equal(s.raw, new Buffer('51764c0201', 'hex')));
+ assert(util.equal(s.raw, new Buffer('51764c0201', 'hex')));
delete s.raw;
- assert(utils.equal(s.encode(), new Buffer('51764c0201', 'hex')));
+ assert(util.equal(s.encode(), new Buffer('51764c0201', 'hex')));
err = null;
try {
s.execute(stack);
@@ -204,9 +204,9 @@ describe('Script', function() {
var s = bcoin.script.fromString(
'OP_1 OP_DUP OP_PUSHDATA2 0x0200 0x01'
);
- assert(utils.equal(s.raw, new Buffer('51764d020001', 'hex')));
+ assert(util.equal(s.raw, new Buffer('51764d020001', 'hex')));
delete s.raw;
- assert(utils.equal(s.encode(), new Buffer('51764d020001', 'hex')));
+ assert(util.equal(s.encode(), new Buffer('51764d020001', 'hex')));
err = null;
try {
s.execute(stack);
diff --git a/test/tx-test.js b/test/tx-test.js
index 6cd589c0..bf7d15b8 100644
--- a/test/tx-test.js
+++ b/test/tx-test.js
@@ -3,7 +3,7 @@
var BN = require('bn.js');
var bcoin = require('../').set('main');
var assert = require('assert');
-var utils = bcoin.utils;
+var util = bcoin.util;
var crypto = require('../lib/crypto/crypto');
var constants = bcoin.constants;
var opcodes = bcoin.constants.opcodes;
@@ -190,7 +190,7 @@ describe('TX', function() {
version: 1,
height: -1,
coinbase: false,
- hash: utils.revHex(hash),
+ hash: util.revHex(hash),
index: index,
script: script,
value: value != null ? parseInt(value, 10) : 0
@@ -202,7 +202,7 @@ describe('TX', function() {
tx: tx,
flags: flags,
comments: tx.hasCoins()
- ? utils.inspectify(tx.inputs[0].coin.script, false)
+ ? util.inspectify(tx.inputs[0].coin.script, false)
: 'coinbase',
data: data
};
@@ -287,7 +287,7 @@ describe('TX', function() {
clearCache(script, nocache);
var index = data[2];
var type = data[3];
- var expected = utils.revHex(data[4]);
+ var expected = util.revHex(data[4]);
var hexType = type & 3;
if (type & 0x80)
hexType |= 0x80;
@@ -463,7 +463,7 @@ describe('TX', function() {
});
it('should fail on >51 bit fees from multiple txs', function() {
- var data = utils.merge({}, bcoin.network.get().genesis, { height: 0 });
+ var data = util.merge({}, bcoin.network.get().genesis, { height: 0 });
var block = new bcoin.block(data);
for (var i = 0; i < 3; i++) {
var tx = bcoin.tx({
@@ -515,7 +515,7 @@ describe('TX', function() {
var tx = bcoin.tx({
version: 1,
flag: 1,
- inputs: [createInput(utils.MAX_SAFE_INTEGER)],
+ inputs: [createInput(util.MAX_SAFE_INTEGER)],
outputs: [{
script: [],
value: constants.MAX_MONEY
@@ -533,7 +533,7 @@ describe('TX', function() {
inputs: [createInput(constants.MAX_MONEY)],
outputs: [{
script: [],
- value: utils.MAX_SAFE_INTEGER
+ value: util.MAX_SAFE_INTEGER
}],
locktime: 0
});
@@ -545,7 +545,7 @@ describe('TX', function() {
var tx = bcoin.tx({
version: 1,
flag: 1,
- inputs: [createInput(utils.MAX_SAFE_INTEGER)],
+ inputs: [createInput(util.MAX_SAFE_INTEGER)],
outputs: [{
script: [],
value: 0
@@ -556,7 +556,7 @@ describe('TX', function() {
assert.ok(!tx.checkInputs(0));
});
- [utils.MAX_SAFE_ADDITION, utils.MAX_SAFE_INTEGER].forEach(function(MAX) {
+ [util.MAX_SAFE_ADDITION, util.MAX_SAFE_INTEGER].forEach(function(MAX) {
it('should fail on >53 bit values from multiple', function() {
var tx = bcoin.tx({
version: 1,
@@ -621,7 +621,7 @@ describe('TX', function() {
});
it('should fail on >53 bit fees from multiple txs', function() {
- var data = utils.merge({}, bcoin.network.get().genesis, { height: 0 });
+ var data = util.merge({}, bcoin.network.get().genesis, { height: 0 });
var block = new bcoin.block(data);
for (var i = 0; i < 3; i++) {
var tx = bcoin.tx({
diff --git a/test/utils-test.js b/test/utils-test.js
index 72308421..4f748687 100644
--- a/test/utils-test.js
+++ b/test/utils-test.js
@@ -2,14 +2,14 @@
var assert = require('assert');
var BN = require('bn.js');
-var utils = require('../lib/utils/utils');
+var util = require('../lib/utils/util');
var ec = require('../lib/crypto/ec');
-var btcutils = require('../lib/utils/btcutils');
+var btcutils = require('../lib/btc/btcutils');
var base58 = require('../lib/utils/base58');
var encoding = require('../lib/utils/encoding');
var crypto = require('../lib/crypto/crypto');
var schnorr = require('../lib/crypto/schnorr');
-var Amount = require('../lib/utils/amount');
+var Amount = require('../lib/btc/amount');
describe('Utils', function() {
var vectors = [
diff --git a/test/wallet-test.js b/test/wallet-test.js
index d53d23db..60acad1c 100644
--- a/test/wallet-test.js
+++ b/test/wallet-test.js
@@ -4,7 +4,7 @@ var BN = require('bn.js');
var bcoin = require('../').set('main');
var constants = bcoin.constants;
var network = bcoin.networks;
-var utils = bcoin.utils;
+var util = bcoin.util;
var encoding = require('../lib/utils/encoding');
var crypto = require('../lib/crypto/crypto');
var assert = require('assert');
@@ -19,7 +19,7 @@ var KEY2 = 'xprv9s21ZrQH143K3mqiSThzPtWAabQ22Pjp3uSNnZ53A5bQ4udp'
+ 'faKekc2m4AChLYH1XDzANhrSdxHYWUeTWjYJwFwWFyHkTMnMeAcW4JyRCZa';
var globalHeight = 1;
-var globalTime = utils.now();
+var globalTime = util.now();
function nextBlock(height) {
var hash, prev;
@@ -215,7 +215,7 @@ describe('Wallet', function() {
.addOutput(w.getAddress(), 50000)
.addOutput(w.getAddress(), 1000);
t1.addInput(dummy());
- t1.ts = utils.now();
+ t1.ts = util.now();
// balance: 51000
yield w.sign(t1);
@@ -1184,7 +1184,7 @@ describe('Wallet', function() {
assert(path.data && path.encrypted);
d2 = path.data;
- assert(!utils.equal(d1, d2));
+ assert(!util.equal(d1, d2));
k = yield w.getKey(addr);
assert(!k);