move some deps around. drop inherits.
This commit is contained in:
parent
10804959d5
commit
c81770c2b1
22
lib/bcoin.js
22
lib/bcoin.js
@ -6,10 +6,6 @@
|
|||||||
|
|
||||||
var bcoin = exports;
|
var bcoin = exports;
|
||||||
var assert = require('assert');
|
var assert = require('assert');
|
||||||
var inherits = require('inherits');
|
|
||||||
var elliptic = require('elliptic');
|
|
||||||
var bn = require('bn.js');
|
|
||||||
var hash = require('hash.js');
|
|
||||||
|
|
||||||
bcoin.isBrowser =
|
bcoin.isBrowser =
|
||||||
(typeof process !== 'undefined' && process.browser)
|
(typeof process !== 'undefined' && process.browser)
|
||||||
@ -21,7 +17,8 @@ if (process.env.BCOIN_DEBUG) {
|
|||||||
bcoin.debug = +bcoin.debug === 1;
|
bcoin.debug = +bcoin.debug === 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bcoin.dir = process.env.HOME + '/.bcoin';
|
bcoin.bn = require('bn.js');
|
||||||
|
bcoin.elliptic = require('elliptic');
|
||||||
|
|
||||||
if (!bcoin.isBrowser) {
|
if (!bcoin.isBrowser) {
|
||||||
bcoin.fs = require('f' + 's');
|
bcoin.fs = require('f' + 's');
|
||||||
@ -34,8 +31,12 @@ if (!bcoin.isBrowser) {
|
|||||||
utils.debug('Warning secp256k1 not found.'
|
utils.debug('Warning secp256k1 not found.'
|
||||||
+ ' Full block validation will be slow.');
|
+ ' Full block validation will be slow.');
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
bcoin.hash = require('hash.js');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bcoin.dir = process.env.HOME + '/.bcoin';
|
||||||
|
|
||||||
if (bcoin.fs) {
|
if (bcoin.fs) {
|
||||||
try {
|
try {
|
||||||
bcoin.fs.statSync(bcoin.dir, 0o750);
|
bcoin.fs.statSync(bcoin.dir, 0o750);
|
||||||
@ -44,17 +45,10 @@ if (bcoin.fs) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bcoin.inherits = inherits;
|
bcoin.ecdsa = bcoin.elliptic.ec('secp256k1');
|
||||||
bcoin.elliptic = elliptic;
|
|
||||||
bcoin.bn = bn;
|
|
||||||
bcoin.hash = hash;
|
|
||||||
|
|
||||||
bcoin.ecdsa = elliptic.ec('secp256k1');
|
|
||||||
|
|
||||||
assert(!bcoin.ecdsa.signature);
|
assert(!bcoin.ecdsa.signature);
|
||||||
assert(!bcoin.ecdsa.keypair);
|
|
||||||
|
|
||||||
bcoin.ecdsa.signature = require('elliptic/lib/elliptic/ec/signature');
|
bcoin.ecdsa.signature = require('elliptic/lib/elliptic/ec/signature');
|
||||||
|
assert(!bcoin.ecdsa.keypair);
|
||||||
bcoin.ecdsa.keypair = require('elliptic/lib/elliptic/ec/key');
|
bcoin.ecdsa.keypair = require('elliptic/lib/elliptic/ec/key');
|
||||||
|
|
||||||
bcoin.utils = require('./bcoin/utils');
|
bcoin.utils = require('./bcoin/utils');
|
||||||
|
|||||||
@ -5,9 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var hash = require('hash.js');
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
@ -68,7 +66,7 @@ function Address(options) {
|
|||||||
this.setRedeem(options.redeem || options.script);
|
this.setRedeem(options.redeem || options.script);
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Address, EventEmitter);
|
utils.inherits(Address, EventEmitter);
|
||||||
|
|
||||||
Address.prototype.__defineGetter__('balance', function() {
|
Address.prototype.__defineGetter__('balance', function() {
|
||||||
return this.getBalance();
|
return this.getBalance();
|
||||||
|
|||||||
@ -7,8 +7,6 @@
|
|||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var levelup = require('levelup');
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var network = bcoin.protocol.network;
|
var network = bcoin.protocol.network;
|
||||||
var fs = bcoin.fs;
|
var fs = bcoin.fs;
|
||||||
@ -19,10 +17,14 @@ var fs = bcoin.fs;
|
|||||||
|
|
||||||
function BlockDB(options) {
|
function BlockDB(options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
var levelup;
|
||||||
|
|
||||||
if (!(this instanceof BlockDB))
|
if (!(this instanceof BlockDB))
|
||||||
return new BlockDB(options);
|
return new BlockDB(options);
|
||||||
|
|
||||||
|
// Some lazy loading
|
||||||
|
levelup = require('levelup');
|
||||||
|
|
||||||
EventEmitter.call(this);
|
EventEmitter.call(this);
|
||||||
|
|
||||||
if (!options)
|
if (!options)
|
||||||
@ -64,7 +66,7 @@ function BlockDB(options) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(BlockDB, EventEmitter);
|
utils.inherits(BlockDB, EventEmitter);
|
||||||
|
|
||||||
BlockDB.prototype.close = function close(callback) {
|
BlockDB.prototype.close = function close(callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -4,9 +4,7 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var request = require('request');
|
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
@ -62,7 +60,7 @@ function Chain(options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Chain, EventEmitter);
|
utils.inherits(Chain, EventEmitter);
|
||||||
|
|
||||||
Chain.prototype._init = function _init() {
|
Chain.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -283,6 +281,7 @@ Chain.prototype._preload = function _preload(callback) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
var url = 'https://headers.electrum.org/blockchain_headers';
|
var url = 'https://headers.electrum.org/blockchain_headers';
|
||||||
var chainHeight, buf, height, stream;
|
var chainHeight, buf, height, stream;
|
||||||
|
var request;
|
||||||
|
|
||||||
if (!this.options.preload)
|
if (!this.options.preload)
|
||||||
return callback();
|
return callback();
|
||||||
@ -290,6 +289,12 @@ Chain.prototype._preload = function _preload(callback) {
|
|||||||
if (network.type !== 'main')
|
if (network.type !== 'main')
|
||||||
return callback(new Error('Electrum.org only offers `main` headers.'));
|
return callback(new Error('Electrum.org only offers `main` headers.'));
|
||||||
|
|
||||||
|
try {
|
||||||
|
request = require('request');
|
||||||
|
} catch (e) {
|
||||||
|
return callback(e);
|
||||||
|
}
|
||||||
|
|
||||||
utils.debug('Loading %s', url);
|
utils.debug('Loading %s', url);
|
||||||
|
|
||||||
stream = request.get(url);
|
stream = request.get(url);
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
@ -59,7 +58,7 @@ function ChainDB(chain, options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(ChainDB, EventEmitter);
|
utils.inherits(ChainDB, EventEmitter);
|
||||||
|
|
||||||
ChainDB.prototype._init = function _init() {
|
ChainDB.prototype._init = function _init() {
|
||||||
var genesis = bcoin.chainblock.fromJSON(this.chain, {
|
var genesis = bcoin.chainblock.fromJSON(this.chain, {
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var inherits = require('inherits');
|
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
@ -68,7 +67,7 @@ function Coin(tx, index) {
|
|||||||
assert(typeof this.spent === 'boolean');
|
assert(typeof this.spent === 'boolean');
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Coin, bcoin.output);
|
utils.inherits(Coin, bcoin.output);
|
||||||
|
|
||||||
Coin.prototype.__defineGetter__('chain', function() {
|
Coin.prototype.__defineGetter__('chain', function() {
|
||||||
return this._chain || bcoin.chain.global;
|
return this._chain || bcoin.chain.global;
|
||||||
|
|||||||
@ -45,14 +45,14 @@ ec.verify = function verify(msg, sig, key, historical) {
|
|||||||
// Note: We only do this for historical data!
|
// Note: We only do this for historical data!
|
||||||
// https://github.com/indutny/elliptic/issues/78
|
// https://github.com/indutny/elliptic/issues/78
|
||||||
if (historical)
|
if (historical)
|
||||||
sig = bcoin.ec.normalizeLength(sig);
|
sig = ec.normalizeLength(sig);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (bcoin.secp256k1) {
|
if (bcoin.secp256k1) {
|
||||||
// secp256k1 fails on low s values. This is
|
// secp256k1 fails on low s values. This is
|
||||||
// bad for verifying historical data.
|
// bad for verifying historical data.
|
||||||
if (historical)
|
if (historical)
|
||||||
sig = bcoin.ec.toLowS(sig);
|
sig = ec.toLowS(sig);
|
||||||
|
|
||||||
msg = new Buffer(msg);
|
msg = new Buffer(msg);
|
||||||
sig = new Buffer(sig);
|
sig = new Buffer(sig);
|
||||||
|
|||||||
@ -51,9 +51,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var hash = require('hash.js');
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var inherits = require('inherits');
|
|
||||||
var elliptic = require('elliptic');
|
var elliptic = require('elliptic');
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
@ -185,7 +183,7 @@ function HDPrivateKey(options) {
|
|||||||
this.isPublic = false;
|
this.isPublic = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(HDPrivateKey, HD);
|
utils.inherits(HDPrivateKey, HD);
|
||||||
|
|
||||||
HDPrivateKey.prototype.scan44 = function scan44(options, txByAddress, callback) {
|
HDPrivateKey.prototype.scan44 = function scan44(options, txByAddress, callback) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -952,7 +950,7 @@ function HDPublicKey(options) {
|
|||||||
this.isPublic = true;
|
this.isPublic = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(HDPublicKey, HD);
|
utils.inherits(HDPublicKey, HD);
|
||||||
|
|
||||||
HDPublicKey.prototype.scan44 = HDPrivateKey.prototype.scan44;
|
HDPublicKey.prototype.scan44 = HDPrivateKey.prototype.scan44;
|
||||||
HDPublicKey.prototype.deriveAccount44 = HDPrivateKey.prototype.deriveAccount44;
|
HDPublicKey.prototype.deriveAccount44 = HDPrivateKey.prototype.deriveAccount44;
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
@ -42,7 +41,7 @@ function Mempool(node, options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Mempool, EventEmitter);
|
utils.inherits(Mempool, EventEmitter);
|
||||||
|
|
||||||
Mempool.prototype._init = function _init() {
|
Mempool.prototype._init = function _init() {
|
||||||
;
|
;
|
||||||
|
|||||||
@ -10,7 +10,6 @@ var assert = utils.assert;
|
|||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,7 +47,7 @@ function Miner(pool, options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Miner, EventEmitter);
|
utils.inherits(Miner, EventEmitter);
|
||||||
|
|
||||||
Miner.prototype._init = function _init() {
|
Miner.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
@ -49,7 +48,7 @@ function Node(options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Node, EventEmitter);
|
utils.inherits(Node, EventEmitter);
|
||||||
|
|
||||||
Node.prototype._init = function _init() {
|
Node.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var inherits = require('inherits');
|
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
var constants = bcoin.protocol.constants;
|
var constants = bcoin.protocol.constants;
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
@ -97,7 +96,7 @@ function Peer(pool, options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Peer, EventEmitter);
|
utils.inherits(Peer, EventEmitter);
|
||||||
|
|
||||||
Peer.uid = new bn(0);
|
Peer.uid = new bn(0);
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
@ -162,7 +161,7 @@ function Pool(options) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Pool, EventEmitter);
|
utils.inherits(Pool, EventEmitter);
|
||||||
|
|
||||||
Pool.prototype._init = function _init() {
|
Pool.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
|
|
||||||
@ -30,7 +29,7 @@ function Parser() {
|
|||||||
this.packet = null;
|
this.packet = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Parser, EventEmitter);
|
utils.inherits(Parser, EventEmitter);
|
||||||
|
|
||||||
Parser.prototype._error = function _error(str) {
|
Parser.prototype._error = function _error(str) {
|
||||||
this.emit('error', new Error(str));
|
this.emit('error', new Error(str));
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
@ -46,7 +45,7 @@ function SPVNode(options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(SPVNode, EventEmitter);
|
utils.inherits(SPVNode, EventEmitter);
|
||||||
|
|
||||||
SPVNode.prototype._init = function _init() {
|
SPVNode.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var inherits = require('inherits');
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = bcoin.utils.assert;
|
var assert = bcoin.utils.assert;
|
||||||
@ -38,7 +37,7 @@ function TXPool(wallet, txs) {
|
|||||||
this._init(txs);
|
this._init(txs);
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(TXPool, EventEmitter);
|
utils.inherits(TXPool, EventEmitter);
|
||||||
|
|
||||||
TXPool.prototype._init = function _init(txs) {
|
TXPool.prototype._init = function _init(txs) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -8,7 +8,6 @@ var utils = exports;
|
|||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var hash = require('hash.js');
|
|
||||||
var util = require('util');
|
var util = require('util');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -153,7 +152,7 @@ utils.ripemd160 = function ripemd160(data, enc) {
|
|||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (!bcoin.crypto)
|
if (!bcoin.crypto)
|
||||||
return hash.ripemd160().update(data, enc).digest();
|
return bcoin.hash.ripemd160().update(data, enc).digest();
|
||||||
|
|
||||||
if (Array.isArray(data))
|
if (Array.isArray(data))
|
||||||
data = new Buffer(data);
|
data = new Buffer(data);
|
||||||
@ -167,7 +166,7 @@ utils.sha1 = function sha1(data, enc) {
|
|||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (!bcoin.crypto)
|
if (!bcoin.crypto)
|
||||||
return hash.sha1().update(data, enc).digest();
|
return bcoin.hash.sha1().update(data, enc).digest();
|
||||||
|
|
||||||
if (Array.isArray(data))
|
if (Array.isArray(data))
|
||||||
data = new Buffer(data);
|
data = new Buffer(data);
|
||||||
@ -189,7 +188,7 @@ utils.sha256 = function sha256(data, enc) {
|
|||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (!bcoin.crypto)
|
if (!bcoin.crypto)
|
||||||
return hash.sha256().update(data, enc).digest();
|
return bcoin.hash.sha256().update(data, enc).digest();
|
||||||
|
|
||||||
if (Array.isArray(data))
|
if (Array.isArray(data))
|
||||||
data = new Buffer(data);
|
data = new Buffer(data);
|
||||||
@ -207,7 +206,7 @@ utils.sha512hmac = function sha512hmac(data, salt) {
|
|||||||
var hmac, result;
|
var hmac, result;
|
||||||
|
|
||||||
if (!bcoin.crypto) {
|
if (!bcoin.crypto) {
|
||||||
hmac = hash.hmac(hash.sha512, utils.toArray(salt));
|
hmac = bcoin.hash.hmac(hash.sha512, utils.toArray(salt));
|
||||||
return hmac.update(utils.toArray(data)).digest();
|
return hmac.update(utils.toArray(data)).digest();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1511,3 +1510,18 @@ utils.forEach = function forEach(arr, iter, callback) {
|
|||||||
utils.mb = function mb(size) {
|
utils.mb = function mb(size) {
|
||||||
return size / 1024 / 1024 | 0;
|
return size / 1024 / 1024 | 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
utils.inherits = function inherits(obj, from) {
|
||||||
|
if (Object.create) {
|
||||||
|
obj.prototype = Object.create(from.prototype, {
|
||||||
|
constructor: {
|
||||||
|
value: obj,
|
||||||
|
enumerable: false
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var f = function() {};
|
||||||
|
f.prototype = from.prototype;
|
||||||
|
obj.prototype = new f;
|
||||||
|
};
|
||||||
|
|||||||
@ -5,9 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
var hash = require('hash.js');
|
|
||||||
var bn = require('bn.js');
|
var bn = require('bn.js');
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
var utils = bcoin.utils;
|
var utils = bcoin.utils;
|
||||||
var assert = utils.assert;
|
var assert = utils.assert;
|
||||||
@ -101,7 +99,7 @@ function Wallet(options) {
|
|||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(Wallet, EventEmitter);
|
utils.inherits(Wallet, EventEmitter);
|
||||||
|
|
||||||
Wallet.prototype._init = function _init() {
|
Wallet.prototype._init = function _init() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
* https://github.com/indutny/bcoin
|
* https://github.com/indutny/bcoin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var inherits = require('inherits');
|
|
||||||
var EventEmitter = require('events').EventEmitter;
|
var EventEmitter = require('events').EventEmitter;
|
||||||
|
|
||||||
var bcoin = require('../bcoin');
|
var bcoin = require('../bcoin');
|
||||||
@ -52,11 +51,13 @@ function WalletDB(options) {
|
|||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inherits(WalletDB, EventEmitter);
|
utils.inherits(WalletDB, EventEmitter);
|
||||||
|
|
||||||
WalletDB._db = {};
|
WalletDB._db = {};
|
||||||
|
|
||||||
WalletDB.prototype._init = function _init() {
|
WalletDB.prototype._init = function _init() {
|
||||||
|
var levelup;
|
||||||
|
|
||||||
if (this.type === 'file' && !bcoin.fs) {
|
if (this.type === 'file' && !bcoin.fs) {
|
||||||
this.type = 'leveldb';
|
this.type = 'leveldb';
|
||||||
utils.debug('`fs` module not available. Falling back to leveldb.');
|
utils.debug('`fs` module not available. Falling back to leveldb.');
|
||||||
@ -84,6 +85,8 @@ WalletDB.prototype._init = function _init() {
|
|||||||
|
|
||||||
if (this.type === 'leveldb') {
|
if (this.type === 'leveldb') {
|
||||||
if (!WalletDB._db[this.file]) {
|
if (!WalletDB._db[this.file]) {
|
||||||
|
// Some lazy loading
|
||||||
|
levelup = require('levelup');
|
||||||
WalletDB._db[this.file] = new levelup(this.file, {
|
WalletDB._db[this.file] = new levelup(this.file, {
|
||||||
keyEncoding: 'ascii',
|
keyEncoding: 'ascii',
|
||||||
valueEncoding: 'utf8',
|
valueEncoding: 'utf8',
|
||||||
|
|||||||
16
package.json
16
package.json
@ -11,10 +11,14 @@
|
|||||||
"repository": "git://github.com/indutny/bcoin.git",
|
"repository": "git://github.com/indutny/bcoin.git",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"bitcoin",
|
"bitcoin",
|
||||||
|
"blockchain",
|
||||||
"bcoin",
|
"bcoin",
|
||||||
"wallet"
|
"wallet"
|
||||||
],
|
],
|
||||||
"author": "Fedor Indutny <fedor@indutny.com>",
|
"author": "Fedor Indutny <fedor@indutny.com>",
|
||||||
|
"contributors": [
|
||||||
|
"Christopher Jeffrey <chjjeffrey@gmail.com> (https://github.com/chjj)"
|
||||||
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/indutny/bcoin/issues"
|
"url": "https://github.com/indutny/bcoin/issues"
|
||||||
@ -26,16 +30,18 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bn.js": "4.6.3",
|
"bn.js": "4.6.3",
|
||||||
"elliptic": "6.0.2",
|
"elliptic": "6.0.2",
|
||||||
"hash.js": "1.0.3",
|
|
||||||
"secp256k1": "3.0.0",
|
|
||||||
"inherits": "2.0.1",
|
|
||||||
"leveldown": "1.4.4",
|
"leveldown": "1.4.4",
|
||||||
"level-js": "2.2.3",
|
"levelup": "1.3.1"
|
||||||
"levelup": "1.3.1",
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"secp256k1": "3.0.0",
|
||||||
"request": "2.67.0"
|
"request": "2.67.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"hash.js": "1.0.3",
|
||||||
|
"level-js": "2.2.3",
|
||||||
"browserify": "13.0.0",
|
"browserify": "13.0.0",
|
||||||
|
"uglify-js": "2.6.1",
|
||||||
"mocha": "1.21.5"
|
"mocha": "1.21.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user