Merge pull request #13 from matiu/feature/use-soop

Feature/use soop
This commit is contained in:
Mario Colque 2014-03-10 16:42:47 -02:00
commit 05d8b7c76a
29 changed files with 2109 additions and 2189 deletions

View File

@ -5,7 +5,7 @@
*/ */
var common = require('./common'), var common = require('./common'),
async = require('async'), async = require('async'),
BlockDb = require('../../lib/BlockDb').class(); BlockDb = require('../../lib/BlockDb');
var bdb = new BlockDb(); var bdb = new BlockDb();

View File

@ -17,7 +17,7 @@ exports.show = function(req, res) {
} }
else { else {
var option = req.query.q; var option = req.query.q;
var statusObject = Status.new(); var statusObject = new Status();
var returnJsonp = function (err) { var returnJsonp = function (err) {
if (err || ! statusObject) if (err || ! statusObject)

View File

@ -7,12 +7,10 @@ var Address = require('../models/Address');
var async = require('async'); var async = require('async');
var common = require('./common'); var common = require('./common');
var TransactionDb = require('../../lib/TransactionDb').class(); var Rpc = require('../../lib/Rpc');
var BlockDb = require('../../lib/BlockDb').class();
var Rpc = require('../../lib/Rpc').class();
var tDb = new TransactionDb(); var tDb = require('../../lib/TransactionDb').default();
var bdb = new BlockDb(); var bdb = require('../../lib/BlockDb').default();
exports.send = function(req, res) { exports.send = function(req, res) {
Rpc.sendRawTransaction(req.body.rawtx, function(err, txid) { Rpc.sendRawTransaction(req.body.rawtx, function(err, txid) {

View File

@ -1,16 +1,13 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec() {
var async = require('async'); var async = require('async');
var BitcoreAddress = require('bitcore/Address').class(); var BitcoreAddress = require('bitcore/Address');
var BitcoreTransaction = require('bitcore/Transaction');
var BitcoreUtil = require('bitcore/util/util'); var BitcoreUtil = require('bitcore/util/util');
var TransactionDb = require('../../lib/TransactionDb').class(); var Parser = require('bitcore/util/BinaryParser');
var BitcoreTransaction = require('bitcore/Transaction').class();
var Parser = require('bitcore/util/BinaryParser').class();
var Buffer = require('buffer').Buffer; var Buffer = require('buffer').Buffer;
var TransactionDb = imports.TransactionDb || require('../../lib/TransactionDb').default();
var CONCURRENCY = 5; var CONCURRENCY = 5;
function Address(addrStr) { function Address(addrStr) {
@ -87,7 +84,7 @@ function spec() {
if (!self.addrStr) return next(); if (!self.addrStr) return next();
var ret = []; var ret = [];
var db = new TransactionDb(); var db = TransactionDb;
db.fromAddr(self.addrStr, function(err,txOut){ db.fromAddr(self.addrStr, function(err,txOut){
if (err) return next(err); if (err) return next(err);
@ -96,11 +93,11 @@ function spec() {
async.eachLimit(txOut,CONCURRENCY,function (txItem, a_c) { async.eachLimit(txOut,CONCURRENCY,function (txItem, a_c) {
db.fromIdInfoSimple(txItem.txid, function(err, info) { db.fromIdInfoSimple(txItem.txid, function(err, info) {
var scriptPubKey = self._getScriptPubKey(info.hex, txItem.index);
// we are filtering out even unconfirmed spents! // we are filtering out even unconfirmed spents!
// add || !txItem.spentIsConfirmed // add || !txItem.spentIsConfirmed
if (!txItem.spentTxId) {
if (!txItem.spentTxId && info && info.hex) {
var scriptPubKey = self._getScriptPubKey(info.hex, txItem.index);
ret.push({ ret.push({
address: self.addrStr, address: self.addrStr,
txid: txItem.txid, txid: txItem.txid,
@ -124,7 +121,7 @@ function spec() {
if (!self.addrStr) return next(); if (!self.addrStr) return next();
var txs = []; var txs = [];
var db = new TransactionDb(); var db = TransactionDb;
async.series([ async.series([
function (cb) { function (cb) {
var seen={}; var seen={};
@ -188,7 +185,5 @@ function spec() {
}); });
}; };
return Address; module.exports = require('soop')(Address);
}
module.defineClass(spec);

View File

@ -1,16 +1,13 @@
'use strict'; 'use strict';
//var imports = require('soop').imports();
require('classtool');
function spec() {
var async = require('async'); var async = require('async');
var RpcClient = require('bitcore/RpcClient').class(); var RpcClient = require('bitcore/RpcClient');
var BlockDb = require('../../lib/BlockDb').class();
var config = require('../../config/config'); var config = require('../../config/config');
var rpc = new RpcClient(config.bitcoind); var rpc = new RpcClient(config.bitcoind);
function Status() { function Status() {
this.bDb = new BlockDb(); this.bDb = require('../../lib/BlockDb').default();
} }
Status.prototype.getInfo = function(next) { Status.prototype.getInfo = function(next) {
@ -105,8 +102,4 @@ function spec() {
}); });
}; };
return Status; module.exports = require('soop')(Status);
}
module.defineClass(spec);

View File

@ -5,7 +5,7 @@ var util = require('util');
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var RpcClient = require('../node_modules/bitcore/RpcClient').class(); var RpcClient = require('../node_modules/bitcore/RpcClient');
var config = require('../config/config'); var config = require('../config/config');

View File

@ -2,7 +2,7 @@
'use strict'; 'use strict';
var util = require('util'); var util = require('util');
var T = require('../lib/TransactionDb').class(); var T = require('../lib/TransactionDb');
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; process.env.NODE_ENV = process.env.NODE_ENV || 'development';

View File

@ -41,7 +41,7 @@ first 10%
=> sacando los contenidos adentro de getblock from file de => 4.5s!! => sacando los contenidos adentro de getblock from file de => 4.5s!!
=> con base58 cpp => 21s => con base58 cpp => 21s
=> toda la testnet => 17m => toda la testnet => 17m !!
10% de blk2 10% de blk2
=> 50s con base58cpp => 50s con base58cpp
@ -54,3 +54,7 @@ first 10%
=> 15s comentando desde b.getStandardizedObject() => 15s comentando desde b.getStandardizedObject()
=> 39s comentando dps b.getStandardizedObject() => 39s comentando dps b.getStandardizedObject()
Mon Mar 10 11:59:25 ART 2014
10% de blk 0 (testnet)
=> 37s

View File

@ -9,8 +9,8 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'development';
*/ */
var express = require('express'), var express = require('express'),
fs = require('fs'), fs = require('fs'),
PeerSync = require('./lib/PeerSync').class(), PeerSync = require('./lib/PeerSync'),
HistoricSync = require('./lib/HistoricSync').class(); HistoricSync = require('./lib/HistoricSync');
//Initializing system variables //Initializing system variables
var config = require('./config/config'); var config = require('./config/config');

View File

@ -1,11 +1,6 @@
'use strict'; 'use strict';
var imports = require('soop').imports();
require('classtool'); var ThisParent = imports.parent || require('events').EventEmitter;
function spec(b) {
var superclass = b.superclass || require('events').EventEmitter;
var TIMESTAMP_PREFIX = 'bts-'; // b-ts-<ts> => <hash> var TIMESTAMP_PREFIX = 'bts-'; // b-ts-<ts> => <hash>
var PREV_PREFIX = 'bpr-'; // b-prev-<hash> => <prev_hash> var PREV_PREFIX = 'bpr-'; // b-prev-<hash> => <prev_hash>
var NEXT_PREFIX = 'bne-'; // b-next-<hash> => <next_hash> var NEXT_PREFIX = 'bne-'; // b-next-<hash> => <next_hash>
@ -21,18 +16,17 @@ function spec(b) {
*/ */
var levelup = require('levelup'), var levelup = require('levelup'),
config = require('../config/config'); config = require('../config/config');
var db = b.db || levelup(config.leveldb + '/blocks',{maxOpenFiles: MAX_OPEN_FILES} ); var db = imports.db || levelup(config.leveldb + '/blocks',{maxOpenFiles: MAX_OPEN_FILES} );
var Rpc = b.rpc || require('./Rpc').class(); var Rpc = imports.rpc || require('./Rpc');
var PoolMatch = b.poolMatch || require('./PoolMatch').class(config); var PoolMatch = imports.poolMatch || require('soop').load('./PoolMatch',config);
var TransactionDb = require('./TransactionDb.js').class(); var tDb = require('./TransactionDb.js').default();
var BlockDb = function() { var BlockDb = function() {
BlockDb.super(this, arguments); BlockDb.super(this, arguments);
this.poolMatch = new PoolMatch(); this.poolMatch = new PoolMatch();
}; };
BlockDb.parent = ThisParent;
BlockDb.superclass = superclass;
BlockDb.prototype.close = function(cb) { BlockDb.prototype.close = function(cb) {
db.close(cb); db.close(cb);
@ -167,10 +161,9 @@ function spec(b) {
}; };
BlockDb.prototype.getPoolInfo = function(tx, cb) { BlockDb.prototype.getPoolInfo = function(tx, cb) {
var tr = new TransactionDb();
var self = this; var self = this;
tr._getInfo(tx, function(e, a) { tDb._getInfo(tx, function(e, a) {
if (e) return cb(false); if (e) return cb(false);
if (a.isCoinBase) { if (a.isCoinBase) {
@ -227,8 +220,4 @@ function spec(b) {
return Rpc.blockIndex(height,cb); return Rpc.blockIndex(height,cb);
}; };
return BlockDb; module.exports = require('soop')(BlockDb);
}
module.defineClass(spec);

View File

@ -1,12 +1,7 @@
'use strict'; 'use strict';
var Block = require('bitcore/Block'),
require('classtool');
function spec() {
var Block = require('bitcore/Block').class(),
networks = require('bitcore/networks'), networks = require('bitcore/networks'),
Parser = require('bitcore/util/BinaryParser').class(), Parser = require('bitcore/util/BinaryParser'),
fs = require('fs'), fs = require('fs'),
Buffer = require('buffer').Buffer, Buffer = require('buffer').Buffer,
glob = require('glob'), glob = require('glob'),
@ -156,7 +151,5 @@ function spec() {
}); });
}; };
return BlockExtractor; module.exports = require('soop')(BlockExtractor);
}
module.defineClass(spec);

View File

@ -1,20 +1,16 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec() {
var util = require('util'); var util = require('util');
var assert = require('assert'); var assert = require('assert');
var RpcClient = require('bitcore/RpcClient').class();
var Script = require('bitcore/Script').class();
var networks = require('bitcore/networks');
var async = require('async'); var async = require('async');
var config = require('../config/config'); var RpcClient = require('bitcore/RpcClient');
var Sync = require('./Sync').class(); var Script = require('bitcore/Script');
var networks = require('bitcore/networks');
var config = imports.config || require('../config/config');
var Sync = require('./Sync');
var sockets = require('../app/controllers/socket.js'); var sockets = require('../app/controllers/socket.js');
var BlockExtractor = require('./BlockExtractor.js').class(); var BlockExtractor = require('./BlockExtractor.js');
var buffertools = require('buffertools'); var buffertools = require('buffertools');
// var bitcoreUtil = require('bitcore/util/util'); // var bitcoreUtil = require('bitcore/util/util');
@ -238,32 +234,22 @@ function spec() {
function(err) { function(err) {
if (err) return next(err); if (err) return next(err);
var ret = false; var ret = false;
if ( self.blockChainHeight === blockInfo.height || // Still the tip if ( self.blockChainHeight === blockInfo.height ||
blockInfo.confirmations > 0) { // Or is confirmed blockInfo.confirmations > 0) {
ret = false; ret = false;
} }
else { else {
oldtip = tip; oldtip = tip;
tip = blockInfo.previousblockhash; tip = blockInfo.previousblockhash;
p('Previous TIP is now orphan.'); assert(tip);
if (tip) { p('Previous TIP is now orphan. Back to:' + tip);
p('\tGoing back to:' + tip);
ret = true; ret = true;
} }
else {
p('\tNo able to recover last tip. A Total resync is needed.');
tip = self.genesis;
self.needResync = 1;
ret = false;
}
}
return ret; return ret;
}, },
function(err) { function(err) {
self.startBlock = tip; self.startBlock = tip;
if (!self.needResync) {
p('Resuming sync from block:'+tip); p('Resuming sync from block:'+tip);
}
return next(err); return next(err);
} }
); );
@ -364,22 +350,15 @@ function spec() {
function(s_c) { function(s_c) {
self.checkNetworkSettings(s_c); self.checkNetworkSettings(s_c);
}, },
function(s_c) {
self.updateConnectedCountDB(s_c);
},
function(s_c) { function(s_c) {
self.updateBlockChainHeight(s_c); self.updateBlockChainHeight(s_c);
}, },
function(s_c) { function(s_c) {
self.updateStartBlock(s_c); self.updateStartBlock(s_c);
}, },
function(s_c) {
if (self.needResync) {
self.needResync=0;
self.sync.destroy(s_c);
}
else s_c();
},
function(s_c) {
self.updateConnectedCountDB(s_c);
},
function(s_c) { function(s_c) {
self.prepareFileSync(opts, s_c); self.prepareFileSync(opts, s_c);
}, },
@ -440,7 +419,5 @@ function spec() {
}, next); }, next);
}); });
}; };
return HistoricSync;
}
module.defineClass(spec);
module.exports = require('soop')(HistoricSync);

View File

@ -1,11 +1,8 @@
'use strict'; 'use strict';
require('classtool');
function spec() {
var fs = require('fs'); var fs = require('fs');
var bitcoreUtil = require('bitcore/util/util'); var bitcoreUtil = require('bitcore/util/util');
var Sync = require('./Sync').class(); var Sync = require('./Sync');
var Peer = require('bitcore/Peer').class(); var Peer = require('bitcore/Peer');
var config = require('../config/config'); var config = require('../config/config');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
@ -15,7 +12,7 @@ function spec() {
this.connected = false; this.connected = false;
this.peerdb = undefined; this.peerdb = undefined;
this.allowReorgs = false; this.allowReorgs = false;
this.PeerManager = require('bitcore/PeerManager').createClass({ this.PeerManager = require('soop').load('../node_modules/bitcore/PeerManager',{
network: (config.network === 'testnet' ? networks.testnet : networks.livenet) network: (config.network === 'testnet' ? networks.testnet : networks.livenet)
}); });
this.peerman = new this.PeerManager(); this.peerman = new this.PeerManager();
@ -121,7 +118,4 @@ function spec() {
}; };
return PeerSync; module.exports = require('soop')(PeerSync);
}
module.defineClass(spec);

View File

@ -1,12 +1,9 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec(b) {
var fs = require('fs'); var fs = require('fs');
var buffertools = require('buffertools'); var buffertools = require('buffertools');
var db = b.db || JSON.parse( fs.readFileSync(b.poolMatchFile || './poolMatchFile.json')); var db = imports.db || JSON.parse( fs.readFileSync(imports.poolMatchFile || './poolMatchFile.json'));
var PoolMatch = function() { var PoolMatch = function() {
var self = this; var self = this;
@ -32,7 +29,4 @@ function spec(b) {
} }
}; };
return PoolMatch; module.exports = require('soop')(PoolMatch);
}
module.defineClass(spec);

View File

@ -1,16 +1,14 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
var RpcClient = require('bitcore/RpcClient'),
function spec(b) { BitcoreBlock = require('bitcore/Block'),
var RpcClient = require('bitcore/RpcClient').class(),
BitcoreBlock = require('bitcore/Block').class(),
bitcoreUtil = require('bitcore/util/util'), bitcoreUtil = require('bitcore/util/util'),
util = require('util'), util = require('util'),
config = require('../config/config'); config = require('../config/config');
var bitcoreRpc = b.bitcoreRpc || new RpcClient(config.bitcoind); var bitcoreRpc = imports.bitcoreRpc || new RpcClient(config.bitcoind);
function Rpc() { function Rpc() {
} }
@ -107,8 +105,6 @@ function spec(b) {
}); });
}; };
return Rpc; module.exports = require('soop')(Rpc);
}
module.defineClass(spec);

View File

@ -1,22 +1,17 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
function spec() {
var sockets = require('../app/controllers/socket.js'); var sockets = require('../app/controllers/socket.js');
var BlockDb = require('./BlockDb').class();
var TransactionDb = require('./TransactionDb').class(); var config = imports.config || require('../config/config');
var config = require('../config/config');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
var async = require('async'); var async = require('async');
function Sync(opts) { function Sync(opts) {
this.opts = opts || {}; this.opts = opts || {};
this.bDb = new BlockDb(opts); this.bDb = require('./BlockDb').default();
this.txDb = new TransactionDb(opts); this.txDb = require('./TransactionDb').default();
this.txDb.on('tx_for_address', this.handleTxForAddress.bind(this)); this.txDb.on('tx_for_address', this.handleTxForAddress.bind(this));
this.txDb.on('new_tx', this.handleNewTx.bind(this)); this.txDb.on('new_tx', this.handleNewTx.bind(this));
this.bDb.on('new_block', this.handleNewBlock.bind(this)); this.bDb.on('new_block', this.handleNewBlock.bind(this));
@ -284,6 +279,4 @@ function spec() {
}; };
return Sync; module.exports = require('soop')(Sync);
}
module.defineClass(spec);

View File

@ -1,11 +1,8 @@
'use strict'; 'use strict';
require('classtool'); var imports = require('soop').imports();
var ThisParent = imports.parent || require('events').EventEmitter;
function spec(b) {
var superclass = b.superclass || require('events').EventEmitter;
// blockHash -> txid mapping // blockHash -> txid mapping
var IN_BLK_PREFIX = 'txb-'; //txb-<txid>-<block> => 1/0 (connected or not) var IN_BLK_PREFIX = 'txb-'; //txb-<txid>-<block> => 1/0 (connected or not)
@ -28,24 +25,24 @@ function spec(b) {
/** /**
* Module dependencies. * Module dependencies.
*/ */
var Rpc = b.rpc || require('./Rpc').class(), var Rpc = imports.rpc || require('./Rpc'),
util = require('bitcore/util/util'), util = require('bitcore/util/util'),
levelup = require('levelup'), levelup = require('levelup'),
async = require('async'), async = require('async'),
config = require('../config/config'), config = require('../config/config'),
assert = require('assert'); assert = require('assert');
var db = b.db || levelup(config.leveldb + '/txs',{maxOpenFiles: MAX_OPEN_FILES} ); var db = imports.db || levelup(config.leveldb + '/txs',{maxOpenFiles: MAX_OPEN_FILES} );
var Script = require('bitcore/Script').class(); var Script = require('bitcore/Script');
// This is 0.1.2 = > c++ version of base57-native // This is 0.1.2 = > c++ version of base57-native
var base58 = require('base58-native').base58Check; var base58 = require('base58-native').base58Check;
var encodedData = require('bitcore/util/EncodedData').class({ var encodedData = require('soop').load('bitcore/util/EncodedData',{
base58: base58 base58: base58
}); });
var versionedData = require('bitcore/util/VersionedData').class({ var versionedData= require('soop').load('bitcore/util/VersionedData',{
superclass: encodedData parent: encodedData
}); });
var Address = require('bitcore/Address').class({ var Address = require('soop').load('bitcore/Address',{
superclass: versionedData parent: versionedData
}); });
var bitutil = require('bitcore/util/util'); var bitutil = require('bitcore/util/util');
var networks = require('bitcore/networks'); var networks = require('bitcore/networks');
@ -54,7 +51,7 @@ function spec(b) {
TransactionDb.super(this, arguments); TransactionDb.super(this, arguments);
this.network = config.network === 'testnet' ? networks.testnet : networks.livenet; this.network = config.network === 'testnet' ? networks.testnet : networks.livenet;
}; };
TransactionDb.superclass = superclass; TransactionDb.parent = ThisParent;
TransactionDb.prototype.close = function(cb) { TransactionDb.prototype.close = function(cb) {
db.close(cb); db.close(cb);
@ -673,6 +670,7 @@ isspent
var k = FROM_BLK_PREFIX + hash; var k = FROM_BLK_PREFIX + hash;
var k2 = IN_BLK_PREFIX; var k2 = IN_BLK_PREFIX;
// This is slow, but prevent us to create a new block->tx index.
db.createReadStream({ db.createReadStream({
start: k, start: k,
end: k + '~' end: k + '~'
@ -727,6 +725,4 @@ isspent
return self.createFromArray(b.tx, b.hash, next); return self.createFromArray(b.tx, b.hash, next);
}; };
return TransactionDb; module.exports = require('soop')(TransactionDb);
}
module.defineClass(spec);

View File

@ -1,7 +1,7 @@
{ {
"name": "insight-bitcore-api", "name": "insight-bitcore-api",
"description": "An open-source bitcoin blockchain API. The Insight API provides you with a convenient, powerful and simple way to query and broadcast data on the bitcoin network and build your own services with it.", "description": "An open-source bitcoin blockchain API. The Insight API provides you with a convenient, powerful and simple way to query and broadcast data on the bitcoin network and build your own services with it.",
"version": "0.1.3", "version": "0.1.4",
"author": { "author": {
"name": "Ryan X Charles", "name": "Ryan X Charles",
"email": "ryan@bitpay.com" "email": "ryan@bitpay.com"
@ -36,13 +36,11 @@
"license": "MIT", "license": "MIT",
"keywords": [ "keywords": [
"insight", "insight",
"secret", "insight api",
"enigma", "blockchain",
"riddle", "bitcoin api",
"mystification", "blockchain api",
"puzzle", "json",
"conundrum",
"api",
"bitcore" "bitcore"
], ],
"engines": { "engines": {
@ -52,12 +50,13 @@
"start": "node node_modules/grunt-cli/bin/grunt" "start": "node node_modules/grunt-cli/bin/grunt"
}, },
"dependencies": { "dependencies": {
"bitcore": "~0.1.6",
"base58-native": "0.1.2", "base58-native": "0.1.2",
"async": "*", "async": "*",
"leveldown": "*", "leveldown": "*",
"levelup": "*", "levelup": "*",
"glob": "*", "glob": "*",
"classtool": "*", "soop": "git://github.com/gasteve/node-soop.git",
"commander": "*", "commander": "*",
"bignum": "*", "bignum": "*",
"express": "~3.4.7", "express": "~3.4.7",
@ -67,7 +66,6 @@
"moment": "~2.5.0", "moment": "~2.5.0",
"sinon": "~1.7.3", "sinon": "~1.7.3",
"chai": "~1.8.1", "chai": "~1.8.1",
"bitcore": "git://github.com/bitpay/bitcore.git",
"bufferput": "git://github.com/bitpay/node-bufferput.git", "bufferput": "git://github.com/bitpay/node-bufferput.git",
"xmlhttprequest": "~1.6.0" "xmlhttprequest": "~1.6.0"
}, },

View File

@ -8,7 +8,7 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var assert = require('assert'), var assert = require('assert'),
fs = require('fs'), fs = require('fs'),
util = require('util'), util = require('util'),
TransactionDb = require('../../lib/TransactionDb').class(); TransactionDb = require('../../lib/TransactionDb').default();
var txItemsValid = JSON.parse(fs.readFileSync('test/integration/txitems.json')); var txItemsValid = JSON.parse(fs.readFileSync('test/integration/txitems.json'));
var txDb; var txDb;
@ -16,7 +16,7 @@ var txDb;
describe('TransactionDb fromIdWithInfo', function(){ describe('TransactionDb fromIdWithInfo', function(){
before(function(c) { before(function(c) {
txDb = new TransactionDb(); txDb = TransactionDb;
return c(); return c();
}); });
@ -118,7 +118,7 @@ describe('TransactionDb fromIdWithInfo', function(){
describe('TransactionDb Outs', function(){ describe('TransactionDb Outs', function(){
before(function(c) { before(function(c) {
txDb = new TransactionDb(); txDb = TransactionDb;
return c(); return c();
}); });

View File

@ -11,7 +11,7 @@ var
util = require('util'), util = require('util'),
async = require('async'), async = require('async'),
config = require('../../config/config'), config = require('../../config/config'),
TransactionDb = require('../../lib/TransactionDb').class(); TransactionDb = require('../../lib/TransactionDb').default();
var spentValid = JSON.parse(fs.readFileSync('test/integration/spent.json')); var spentValid = JSON.parse(fs.readFileSync('test/integration/spent.json'));
@ -20,7 +20,7 @@ var txDb;
describe('TransactionDb Expenses', function(){ describe('TransactionDb Expenses', function(){
before(function(c) { before(function(c) {
txDb = new TransactionDb(); txDb = TransactionDb;
// lets spend! // lets spend!
async.each(Object.keys(spentValid), async.each(Object.keys(spentValid),

View File

@ -6,8 +6,8 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var assert = require('assert'), var assert = require('assert'),
fs = require('fs'), fs = require('fs'),
Address = require('../../app/models/Address').class(), Address = require('../../app/models/Address'),
TransactionDb = require('../../lib/TransactionDb').class(), TransactionDb = require('../../lib/TransactionDb').default(),
addrValid = JSON.parse(fs.readFileSync('test/integration/addr.json')), addrValid = JSON.parse(fs.readFileSync('test/integration/addr.json')),
utxoValid = JSON.parse(fs.readFileSync('test/integration/utxo.json')); utxoValid = JSON.parse(fs.readFileSync('test/integration/utxo.json'));
@ -15,7 +15,7 @@ var txDb;
describe('Address balances', function() { describe('Address balances', function() {
before(function(c) { before(function(c) {
txDb = new TransactionDb(); txDb = TransactionDb;
return c(); return c();
}); });

View File

@ -10,14 +10,14 @@ var TESTING_BLOCK = '000000000185678d3d7ecc9962c96418174431f93fe20bf216d55652724
var var
assert = require('assert'), assert = require('assert'),
// config = require('../../config/config'), // config = require('../../config/config'),
BlockDb = require('../../lib/BlockDb').class(); BlockDb = require('../../lib/BlockDb').default();
var bDb; var bDb;
describe('BlockDb fromHashWithInfo', function() { describe('BlockDb fromHashWithInfo', function() {
before(function(c) { before(function(c) {
bDb = new BlockDb(); bDb = BlockDb;
return c(); return c();
}); });

View File

@ -7,7 +7,7 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var assert = require('assert'), var assert = require('assert'),
config = require('../../config/config'), config = require('../../config/config'),
BlockExtractor = require('../../lib/BlockExtractor').class(), BlockExtractor = require('../../lib/BlockExtractor'),
networks = require('bitcore/networks'), networks = require('bitcore/networks'),
util = require('bitcore/util/util'); util = require('bitcore/util/util');

View File

@ -9,7 +9,7 @@ var START_TS = 1;
var END_TS = '1296688928~'; // 2/2/2011 23:23PM var END_TS = '1296688928~'; // 2/2/2011 23:23PM
var assert = require('assert'), var assert = require('assert'),
BlockDb = require('../../lib/BlockDb').class(); BlockDb = require('../../lib/BlockDb').default();
var bDb; var bDb;
@ -17,7 +17,7 @@ describe('BlockDb getBlocksByDate', function(){
before(function(c) { before(function(c) {
bDb = new BlockDb(); bDb = BlockDb;
return c(); return c();
}); });

View File

@ -1,8 +1,8 @@
'use strict'; 'use strict';
var BlockDb = require('../../lib/BlockDb').class(); var BlockDb = require('../../lib/BlockDb').default();
var height_needed = 180000; var height_needed = 180000;
var bDb = new BlockDb(); var bDb = BlockDb;
var expect = require('chai').expect; var expect = require('chai').expect;

View File

@ -4,7 +4,7 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var assert = require('assert'), var assert = require('assert'),
Status = require('../../app/models/Status').class(); Status = require('../../app/models/Status');
describe('Status', function(){ describe('Status', function(){

View File

@ -3,7 +3,7 @@ var chai = require('chai'),
expect = chai.expect, expect = chai.expect,
sinon = require('sinon'); sinon = require('sinon');
var PeerSync = require('../../lib/PeerSync.js').class(); var PeerSync = require('../../lib/PeerSync.js');
describe('PeerSync', function() { describe('PeerSync', function() {
var ps; var ps;

View File

@ -3,7 +3,7 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'development'; process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var PeerSync = require('../lib/PeerSync').class(); var PeerSync = require('../lib/PeerSync');
var PROGRAM_VERSION = '0.1'; var PROGRAM_VERSION = '0.1';
var program = require('commander'); var program = require('commander');

View File

@ -7,7 +7,7 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'development';
var SYNC_VERSION = '0.1'; var SYNC_VERSION = '0.1';
var program = require('commander'); var program = require('commander');
var HistoricSync = require('../lib/HistoricSync').class(); var HistoricSync = require('../lib/HistoricSync');
var async = require('async'); var async = require('async');
program program