Sort dependencies
This commit is contained in:
parent
191cb0e0d1
commit
c846ccdeeb
@ -7,6 +7,8 @@ var TransactionService = require('./transaction');
|
||||
var bitcore = require('bitcore');
|
||||
var config = require('config');
|
||||
|
||||
var BitcoreNode = require('../../');
|
||||
|
||||
var $ = bitcore.util.preconditions;
|
||||
var JSUtil = bitcore.util.js;
|
||||
var _ = bitcore.deps._;
|
||||
@ -46,6 +48,11 @@ BlockService.blockRPCtoBitcore = function(blockData, transactions) {
|
||||
});
|
||||
};
|
||||
|
||||
var blockNotFound = function(err) {
|
||||
console.log(err);
|
||||
return Promise.reject(new BitcoreNode.errors.Blocks.NotFound());
|
||||
};
|
||||
|
||||
BlockService.prototype.getBlock = function(blockHash) {
|
||||
$.checkArgument(JSUtil.isHexa(blockHash), 'Block hash must be hexa');
|
||||
|
||||
@ -66,12 +73,9 @@ BlockService.prototype.getBlock = function(blockHash) {
|
||||
}).then(function(transactions) {
|
||||
|
||||
blockData.transactions = transactions;
|
||||
return Promise.resolve(BlockService.blockRPCtoBitcore(blockData));
|
||||
return BlockService.blockRPCtoBitcore(blockData);
|
||||
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
return Promise.reject(err);
|
||||
});
|
||||
}).catch(blockNotFound);
|
||||
};
|
||||
|
||||
BlockService.prototype.getBlockByHeight = function(height) {
|
||||
@ -87,10 +91,7 @@ BlockService.prototype.getBlockByHeight = function(height) {
|
||||
|
||||
return self.getBlock(blockHash);
|
||||
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
return Promise.reject(err);
|
||||
});
|
||||
}).catch(blockNotFound);
|
||||
};
|
||||
|
||||
BlockService.prototype.getLatest = function() {
|
||||
@ -105,11 +106,7 @@ BlockService.prototype.getLatest = function() {
|
||||
|
||||
return self.getBlock(blockHash);
|
||||
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
return Promise.reject(err);
|
||||
});
|
||||
}).catch(blockNotFound);
|
||||
};
|
||||
|
||||
|
||||
module.exports = BlockService;
|
||||
|
||||
25
package.json
25
package.json
@ -45,45 +45,30 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"async": "0.9.0",
|
||||
"bignum": "*",
|
||||
"bitcoind-rpc": "^0.2.1",
|
||||
"bitcore": "bitpay/bitcore",
|
||||
"bitcore-p2p": "bitpay/bitcore-p2p",
|
||||
"bluebird": "^2.9.12",
|
||||
"body-parser": "^1.12.0",
|
||||
"bufferput": "bitpay/node-bufferput",
|
||||
"buffertools": "*",
|
||||
"commander": "^2.3.0",
|
||||
"compression": "^1.4.1",
|
||||
"config": "^1.12.0",
|
||||
"cors": "^2.5.3",
|
||||
"cron": "^1.0.4",
|
||||
"eventemitter2": "^0.4.14",
|
||||
"express": "4.11.1",
|
||||
"glob": "*",
|
||||
"js-yaml": "^3.2.7",
|
||||
"leveldown": "~0.10.0",
|
||||
"levelup": "~0.19.0",
|
||||
"lodash": "^2.4.1",
|
||||
"microtime": "^0.6.0",
|
||||
"mkdirp": "^0.5.0",
|
||||
"moment": "~2.5.0",
|
||||
"morgan": "^1.5.1",
|
||||
"preconditions": "^1.0.7",
|
||||
"request": "^2.48.0",
|
||||
"sequelize": "^2.0.3",
|
||||
"socket.io": "1.0.6",
|
||||
"socket.io-client": "1.0.6",
|
||||
"soop": "=0.1.5",
|
||||
"sqlite3": "^3.0.5",
|
||||
"winston": "*",
|
||||
"xmlhttprequest": "~1.6.0"
|
||||
"winston": "*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bitcore-build": "bitpay/bitcore-build",
|
||||
"chai": "*",
|
||||
"chai": "^2.1.1",
|
||||
"gulp": "^3.8.10",
|
||||
"should": "^2.1.1",
|
||||
"sinon": "^1.10.3",
|
||||
"should": "^5.1.0",
|
||||
"sinon": "^1.13.0",
|
||||
"supertest": "^0.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
var sinon = require('sinon');
|
||||
var should = require('chai').should();
|
||||
var Promise = require('bluebird');
|
||||
|
||||
var bitcore = require('bitcore');
|
||||
|
||||
@ -18,7 +19,7 @@ describe('BlockService', function() {
|
||||
rpc: 'rpc',
|
||||
transactionService: 'txService'
|
||||
});
|
||||
blockService.should.exist();
|
||||
blockService.should.exist;
|
||||
blockService.database.should.equal(database);
|
||||
blockService.rpc.should.equal(rpc);
|
||||
blockService.transactionService.should.equal(txService);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
var sinon = require('sinon');
|
||||
var should = require('chai').should();
|
||||
var Sequelize = require('sequelize');
|
||||
var Promise = require('bluebird');
|
||||
|
||||
var bitcore = require('bitcore');
|
||||
|
||||
@ -10,44 +10,43 @@ var TransactionService = require('../../lib/services/transaction');
|
||||
|
||||
describe('TransactionService', function() {
|
||||
|
||||
var service = new TransactionService();
|
||||
var schema = sinon.stub();
|
||||
|
||||
var rawTransaction = '01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac00000000';
|
||||
var transactionId = '0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098';
|
||||
|
||||
schema.Transaction = {};
|
||||
schema.Transaction.find = sinon.stub();
|
||||
|
||||
var transactionResult = sinon.stub();
|
||||
transactionResult.getDataValue = function() { return rawTransaction; };
|
||||
|
||||
it('initializes correctly', function() {
|
||||
(new TransactionService()).should.exist();
|
||||
var database = 'mock';
|
||||
var rpc = 'mock';
|
||||
var service = new TransactionService({
|
||||
database: database,
|
||||
rpc: rpc
|
||||
});
|
||||
service.should.exist;
|
||||
});
|
||||
|
||||
describe('get', function() {
|
||||
it('allows the user to fetch a transaction using its hash', function(callback) {
|
||||
schema.Transaction.find.onFirstCall().returns({
|
||||
then: function(f) {
|
||||
return {
|
||||
then: function(g) {
|
||||
return g(f(transactionResult));
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
service.getTransaction(schema, transactionId).then(function(transaction) {
|
||||
transaction.should.be.an.instanceof(bitcore.Transaction);
|
||||
transaction.toString().should.equal(rawTransaction);
|
||||
var database, rpc, service;
|
||||
|
||||
beforeEach(function() {
|
||||
database = sinon.mock();
|
||||
rpc = sinon.mock();
|
||||
rpc.getRawTransactionAsync = function(transaction) {
|
||||
return Promise.resolve({
|
||||
result: rawTransaction
|
||||
});
|
||||
};
|
||||
service = new TransactionService({
|
||||
rpc: rpc,
|
||||
database: database
|
||||
});
|
||||
});
|
||||
|
||||
it('allows the user to fetch a transaction using its hash', function(callback) {
|
||||
|
||||
service.getTransaction(transactionId).then(function(transaction) {
|
||||
transaction.hash.should.equal(transactionId);
|
||||
callback();
|
||||
});
|
||||
});
|
||||
it('fails on a non-string argument', function() {
|
||||
(function() {
|
||||
return service.getTransaction();
|
||||
}).should.throw(bitcore.errors.InvalidArgument);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user