From d009b1cf484829d2c5ab5107a27bd450be38c02f Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Tue, 15 Mar 2016 15:49:16 -0700 Subject: [PATCH] raw tx. --- lib/bcoin/protocol/parser.js | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/lib/bcoin/protocol/parser.js b/lib/bcoin/protocol/parser.js index 0fb97ff4..fe26f65d 100644 --- a/lib/bcoin/protocol/parser.js +++ b/lib/bcoin/protocol/parser.js @@ -506,7 +506,7 @@ Parser.parseTX = function parseTX(p) { locktime = p.readU32(); - // raw = p.endData(); + raw = p.endData(); return { version: version, @@ -515,9 +515,9 @@ Parser.parseTX = function parseTX(p) { outputs: txOut, locktime: locktime, _witnessSize: 0, - // _raw: raw, - // _size: raw.length - _size: p.end() + _raw: raw, + _size: raw.length + // _size: p.end() }; }; @@ -529,8 +529,6 @@ Parser.isWitnessTX = function isWitnessTX(p) { return p[4] === 0 && p[5] !== 0; } - p = new BufferReader(p); - if (p.left() < 12) return false; @@ -582,7 +580,7 @@ Parser.parseWitnessTX = function parseWitnessTX(p) { locktime = p.readU32(); - // raw = p.endData(); + raw = p.endData(); return { version: version, @@ -590,10 +588,10 @@ Parser.parseWitnessTX = function parseWitnessTX(p) { inputs: txIn, outputs: txOut, locktime: locktime, - // _raw: raw, - // _size: raw.length, - _witnessSize: witnessSize + 2, - _size: p.end() + _raw: raw, + _size: raw.length, + // _size: p.end(), + _witnessSize: witnessSize + 2 }; }; @@ -624,7 +622,12 @@ Parser.parseReject = function parseReject(p) { message = p.readVarString('ascii'); ccode = p.readU8(); reason = p.readVarString('ascii'); - data = p.readHash(); + + try { + data = p.readHash(); + } catch (e) { + data = null; + } return { message: message, @@ -641,11 +644,10 @@ Parser.parseAddress = function parseAddress(p, full) { p = new BufferReader(p); p.start(); - if (full) { + if (full) ts = p.readU32(); - } else { + else ts = 0; - } services = p.readU64(); @@ -656,7 +658,7 @@ Parser.parseAddress = function parseAddress(p, full) { try { services = services.toNumber(); } catch (e) { - services = 1; + services = 0; } return {