insight-api
Advanced tools
Comparing version 5.0.0-beta.6 to 5.0.0-beta.11
@@ -20,3 +20,2 @@ 'use strict'; | ||
var $ = bitcore.util.preconditions; | ||
var Transaction = bitcore.Transaction; | ||
var EventEmitter = require('events').EventEmitter; | ||
@@ -105,7 +104,7 @@ | ||
this._bus.on('block/block', this.transactionEventHandler.bind(this)); | ||
this._bus.subscribe('block/block'); | ||
this._bus.on('p2p/transaction', this.transactionEventHandler.bind(this)); | ||
this._bus.subscribe('p2p/transaction'); | ||
this._bus.on('mempool/transaction', this.blockEventHandler.bind(this)); | ||
this._bus.subscribe('mempool/transaction'); | ||
//this._bus.on('p2p/block', this.blockEventHandler.bind(this)); | ||
//this._bus.subscribe('p2p/block'); | ||
@@ -278,10 +277,8 @@ callback(); | ||
InsightAPI.prototype.blockEventHandler = function(hashBuffer) { | ||
// Notify inv subscribers | ||
InsightAPI.prototype.blockEventHandler = function(block) { | ||
for (var i = 0; i < this.subscriptions.inv.length; i++) { | ||
this.subscriptions.inv[i].emit('block', hashBuffer.toString('hex')); | ||
this.subscriptions.inv[i].emit('block', block.rhash()); | ||
} | ||
}; | ||
InsightAPI.prototype.transactionEventHandler = function(txBuffer) { | ||
var tx = new Transaction().fromBuffer(txBuffer); | ||
InsightAPI.prototype.transactionEventHandler = function(tx) { | ||
var result = this.txController.transformInvTransaction(tx); | ||
@@ -288,0 +285,0 @@ |
@@ -17,5 +17,9 @@ 'use strict'; | ||
this._address = this.node.services.address; | ||
this._network = this.node.network; | ||
if (this.node.network === 'livenet') { | ||
this._network = 'main'; | ||
} | ||
if (this._network === 'regtest') { | ||
this._network = 'testnet'; | ||
} | ||
} | ||
@@ -132,3 +136,3 @@ | ||
if (address) { | ||
address.network = this._network || 'main'; | ||
address.network = this._network; | ||
transformed.addr = address.toString(); | ||
@@ -161,3 +165,3 @@ } else { | ||
if (!options.noSpent) { | ||
//if (!options.noSpent) { | ||
// These aren't implemented in the new api | ||
@@ -167,7 +171,7 @@ //transformed.spentTxId = output.spentTxId || null; // we aren't tracking this with the bcoin implementation | ||
//transformed.spentHeight = output.spentHeight || null; | ||
} | ||
//} | ||
var address = output.getAddress(); | ||
if (address) { | ||
address.network = this._network || 'main'; | ||
address.network = this._network; | ||
transformed.scriptPubKey.addresses = [address.toString()]; | ||
@@ -180,4 +184,2 @@ transformed.scriptPubKey.type = address.getType(); | ||
TxController.prototype.transformInvTransaction = function(transaction) { | ||
var self = this; | ||
var valueOut = 0; | ||
@@ -187,14 +189,21 @@ var vout = []; | ||
var output = transaction.outputs[i]; | ||
valueOut += output.satoshis; | ||
valueOut += output.value; | ||
if (output.script) { | ||
var address = output.script.toAddress(self.node.network); | ||
if (address) { | ||
var obj = {}; | ||
obj[address.toString()] = output.satoshis; | ||
vout.push(obj); | ||
var address = output.getAddress(); | ||
if (!address) { | ||
continue; | ||
} | ||
address.network = this._network; | ||
address = address.toString(); | ||
var obj = {}; | ||
obj[address] = output.value; | ||
vout.push(obj); | ||
} | ||
} | ||
var isRBF = _.any(_.pluck(transaction.inputs, 'sequenceNumber'), function(seq) { | ||
var isRBF = _.any(_.pluck(transaction.inputs, 'sequence'), function(seq) { | ||
return seq < MAXINT - 1; | ||
@@ -204,3 +213,3 @@ }); | ||
var transformed = { | ||
txid: transaction.hash, | ||
txid: transaction.txid(), | ||
valueOut: valueOut / 1e8, | ||
@@ -207,0 +216,0 @@ vout: vout, |
{ | ||
"name": "insight-api", | ||
"description": "A Bitcoin blockchain REST and web socket API service for Bitcore Node.", | ||
"version": "5.0.0-beta.6", | ||
"version": "5.0.0-beta.11", | ||
"repository": "git://github.com/bitpay/insight-api.git", | ||
@@ -6,0 +6,0 @@ "bugs": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4332
140423