diff --git a/lib/blockchain/coinview.js b/lib/blockchain/coinview.js index dfdfee8e..1927647a 100644 --- a/lib/blockchain/coinview.js +++ b/lib/blockchain/coinview.js @@ -421,7 +421,7 @@ CoinView.prototype.fromFast = function fromFast(br, tx) { for (i = 0; i < tx.inputs.length; i++) { input = tx.inputs[i]; - prevout = input.prevout.hash; + prevout = input.prevout; if (br.readU8() === 0) continue; @@ -442,6 +442,18 @@ CoinView.prototype.fromFast = function fromFast(br, tx) { return this; }; +/** + * Read serialized view data from a buffer + * reader as it pertains to a transaction. + * @param {BufferReader} br + * @param {TX} tx + * @returns {CoinView} + */ + +CoinView.fromFast = function fromFast(br, tx) { + return new CoinView().fromFast(br, tx); +}; + /** * Write coin data to buffer writer * as it pertains to a transaction. @@ -511,7 +523,7 @@ CoinView.prototype.fromReader = function fromReader(br, tx) { for (i = 0; i < tx.inputs.length; i++) { input = tx.inputs[i]; - prevout = input.prevout.hash; + prevout = input.prevout; if (br.readU8() === 0) continue; diff --git a/lib/workers/packets.js b/lib/workers/packets.js index 737a0f09..616b9ef9 100644 --- a/lib/workers/packets.js +++ b/lib/workers/packets.js @@ -183,7 +183,7 @@ VerifyPacket.prototype.cmd = packetTypes.VERIFY; VerifyPacket.prototype.toWriter = function(bw) { this.tx.toWriter(bw); - this.view.toWriter(bw, this.tx); + this.view.toFast(bw, this.tx); bw.write32(this.flags != null ? this.flags : -1); }; @@ -192,7 +192,7 @@ VerifyPacket.fromRaw = function fromRaw(TX, CoinView, data) { var packet = new VerifyPacket(); packet.tx = TX.fromReader(br); - packet.view = CoinView.fromReader(br, packet.tx); + packet.view = CoinView.fromFast(br, packet.tx); packet.flags = br.read32(); @@ -247,7 +247,7 @@ SignPacket.prototype.toWriter = function toWriter(bw) { var i, ring; this.tx.toWriter(bw); - this.tx.view.toWriter(bw, this.tx); + this.tx.view.toFast(bw, this.tx); bw.writeVarint(this.rings.length); @@ -265,7 +265,7 @@ SignPacket.fromRaw = function fromRaw(MTX, KeyRing, data) { var i, count, ring; packet.tx = MTX.fromReader(br); - packet.tx.view.fromReader(br, packet.tx); + packet.tx.view.fromFast(br, packet.tx); count = br.readVarint(); diff --git a/lib/workers/workerpool.js b/lib/workers/workerpool.js index 45ffe3a5..e5d1c421 100644 --- a/lib/workers/workerpool.js +++ b/lib/workers/workerpool.js @@ -552,7 +552,7 @@ Worker.prototype._listen = function _listen() { self.killJobs(); }); - this.on('error', function() { + this.on('error', function(err) { self.killJobs(); });