From 304bd9f786344f036f503fd439d7fb55f649e39b Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Mon, 21 Mar 2016 21:43:33 -0700 Subject: [PATCH] more parsing. --- lib/bcoin/workers.js | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/lib/bcoin/workers.js b/lib/bcoin/workers.js index 950d1e2d..df4b4f2b 100644 --- a/lib/bcoin/workers.js +++ b/lib/bcoin/workers.js @@ -152,7 +152,6 @@ workers.listen = function listen() { */ workers.verify = function verify(tx, index, force, flags) { - tx = bcoin.tx.fromExtended(tx, true); return tx.verify(index, force, flags); }; @@ -201,9 +200,19 @@ function createBody(name, items) { if (item == null) { p.writeU8(0); } else { - if (item.toExtended) - item = item.toExtended(true); - if (Buffer.isBuffer(item)) { + if (item instanceof bcoin.block) { + p.writeU8(6); + p.writeVarBytes(item.render()); + } else if (item instanceof bcoin.tx) { + p.writeU8(7); + p.writeVarBytes(item.toExtended(true)); + } else if (item instanceof bcoin.coin) { + p.writeU8(8); + p.writeVarBytes(item.toExtended()); + } else if (item instanceof bn) + p.writeU8(9); + p.writeVarBytes(item.toBuffer()); + } else if (Buffer.isBuffer(item)) { p.writeU8(5); p.writeVarBytes(item); } else { @@ -247,11 +256,25 @@ function parseBody(data) { items.push(p.readU8() === 1); break; case 4: - items.push(items.parse(p.readVarString('utf8'))); + items.push(JSON.parse(p.readVarString('utf8'))); break; case 5: items.push(p.readVarBytes()); break; + case 6: + items.push(bcoin.block.fromRaw(p.readVarBytes())); + break; + case 7: + items.push(bcoin.tx.fromExtended(p.readVarBytes(), true)); + break; + case 8: + items.push(bcoin.coin.fromExtended(p.readVarBytes())); + break; + case 9: + items.push(new bn(p.readVarBytes())); + break; + default: + assert(false, 'Bad type.'); } }