update controllers to new virtual TX model
This commit is contained in:
parent
66e3dd977b
commit
243f22381d
@ -3,7 +3,7 @@
|
|||||||
/**
|
/**
|
||||||
* Module dependencies.
|
* Module dependencies.
|
||||||
*/
|
*/
|
||||||
var Transaction = require('../models/Transaction');
|
var Transaction = require('../models/Transaction').class();
|
||||||
var Block = require('../models/Block');
|
var Block = require('../models/Block');
|
||||||
var Address = require('../models/Address');
|
var Address = require('../models/Address');
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
@ -139,32 +139,8 @@ exports.list = function(req, res, next) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Transaction
|
res.jsonp({
|
||||||
.find()
|
txs: [],
|
||||||
.limit(limit)
|
});
|
||||||
.sort('-time')
|
|
||||||
.exec(function(err, txs) {
|
|
||||||
if (err) {
|
|
||||||
res.status(500).send(err);
|
|
||||||
} else {
|
|
||||||
var txids = [];
|
|
||||||
for(var i=0;i<txs.length;i++) {
|
|
||||||
txids.push(txs[i].txid);
|
|
||||||
}
|
|
||||||
|
|
||||||
async.mapSeries(txids, getTransaction, function(err, alltxs) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
res.status(404).send('TX not found');
|
|
||||||
}
|
|
||||||
|
|
||||||
res.jsonp({
|
|
||||||
txs: alltxs,
|
|
||||||
length: alltxs.length
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -8,7 +8,8 @@ var mongoose = require('mongoose'),
|
|||||||
RpcClient = require('bitcore/RpcClient').class(),
|
RpcClient = require('bitcore/RpcClient').class(),
|
||||||
util = require('bitcore/util/util'),
|
util = require('bitcore/util/util'),
|
||||||
BitcoreBlock= require('bitcore/Block').class(),
|
BitcoreBlock= require('bitcore/Block').class(),
|
||||||
Transaction = require('./Transaction'),
|
Transaction = require('./Transaction').class(),
|
||||||
|
TransactionItem = require('./TransactionItem'),
|
||||||
config = require('../../config/config')
|
config = require('../../config/config')
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -57,7 +58,7 @@ BlockSchema.statics.customCreate = function(block, cb) {
|
|||||||
newBlock.nextBlockHash = block.nextBlockHash;
|
newBlock.nextBlockHash = block.nextBlockHash;
|
||||||
|
|
||||||
|
|
||||||
Transaction.createFromArray(block.tx, newBlock.time, function(err, inserted_txs) {
|
TransactionItem.createFromArray(block.tx, function(err, inserted_txs) {
|
||||||
if (err) return cb(err);
|
if (err) return cb(err);
|
||||||
|
|
||||||
newBlock.save(function(err) {
|
newBlock.save(function(err) {
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
var mongoose = require('mongoose'),
|
var mongoose = require('mongoose'),
|
||||||
async = require('async'),
|
async = require('async'),
|
||||||
Transaction = require('./Transaction').class(),
|
Transaction = require('./Transaction').class(),
|
||||||
|
sockets = require('../controllers/socket.js'),
|
||||||
Schema = mongoose.Schema;
|
Schema = mongoose.Schema;
|
||||||
|
|
||||||
var CONCURRENCY = 15;
|
var CONCURRENCY = 15;
|
||||||
@ -154,13 +155,15 @@ TransactionItemSchema.statics.explodeTransactionItems = function(txid, cb) {
|
|||||||
|
|
||||||
|
|
||||||
TransactionItemSchema.statics.createFromArray = function(txs, next) {
|
TransactionItemSchema.statics.createFromArray = function(txs, next) {
|
||||||
|
|
||||||
|
var Self = this;
|
||||||
if (!txs) return next();
|
if (!txs) return next();
|
||||||
|
|
||||||
var inserted_txs = [];
|
var inserted_txs = [];
|
||||||
|
|
||||||
async.forEachLimit(txs, CONCURRENCY, function(txid, cb, was_new) {
|
async.forEachLimit(txs, CONCURRENCY, function(txid, cb, was_new) {
|
||||||
|
|
||||||
TransactionItemSchema.explodeTransactionItems( txid, function(err, addrs) {
|
Self.explodeTransactionItems( txid, function(err, addrs) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
if (addrs) {
|
if (addrs) {
|
||||||
async.each(addrs, function(addr){
|
async.each(addrs, function(addr){
|
||||||
|
|||||||
@ -7,7 +7,7 @@ function spec() {
|
|||||||
var mongoose = require('mongoose');
|
var mongoose = require('mongoose');
|
||||||
var config = require('../config/config');
|
var config = require('../config/config');
|
||||||
var Block = require('../app/models/Block');
|
var Block = require('../app/models/Block');
|
||||||
var Transaction = require('../app/models/Transaction');
|
var TransactionItem = require('../app/models/TransactionItem');
|
||||||
var sockets = require('../app/controllers/socket.js');
|
var sockets = require('../app/controllers/socket.js');
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ function spec() {
|
|||||||
Sync.prototype.storeTxs = function(txs, cb) {
|
Sync.prototype.storeTxs = function(txs, cb) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
Transaction.createFromArray(txs, function(err, inserted_txs) {
|
TransactionItem.createFromArray(txs, function(err, inserted_txs) {
|
||||||
if (!err && inserted_txs && self.opts.broadcast_txs) {
|
if (!err && inserted_txs && self.opts.broadcast_txs) {
|
||||||
|
|
||||||
inserted_txs.forEach(function(tx) {
|
inserted_txs.forEach(function(tx) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user