more parsing.

This commit is contained in:
Christopher Jeffrey 2016-03-21 21:43:33 -07:00
parent f564ef5735
commit 304bd9f786

View File

@ -152,7 +152,6 @@ workers.listen = function listen() {
*/ */
workers.verify = function verify(tx, index, force, flags) { workers.verify = function verify(tx, index, force, flags) {
tx = bcoin.tx.fromExtended(tx, true);
return tx.verify(index, force, flags); return tx.verify(index, force, flags);
}; };
@ -201,9 +200,19 @@ function createBody(name, items) {
if (item == null) { if (item == null) {
p.writeU8(0); p.writeU8(0);
} else { } else {
if (item.toExtended) if (item instanceof bcoin.block) {
item = item.toExtended(true); p.writeU8(6);
if (Buffer.isBuffer(item)) { 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.writeU8(5);
p.writeVarBytes(item); p.writeVarBytes(item);
} else { } else {
@ -247,11 +256,25 @@ function parseBody(data) {
items.push(p.readU8() === 1); items.push(p.readU8() === 1);
break; break;
case 4: case 4:
items.push(items.parse(p.readVarString('utf8'))); items.push(JSON.parse(p.readVarString('utf8')));
break; break;
case 5: case 5:
items.push(p.readVarBytes()); items.push(p.readVarBytes());
break; 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.');
} }
} }