script parsing.

This commit is contained in:
Christopher Jeffrey 2016-06-20 03:16:50 -07:00
parent 5e330c513e
commit 8f3f174b25
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -4233,43 +4233,43 @@ Script.decode = function decode(raw) {
if (op >= 0x01 && op <= 0x4b) { if (op >= 0x01 && op <= 0x4b) {
if (p.left() < op) { if (p.left() < op) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
data = p.readBytes(op); data = p.readBytes(op);
code.push(new Opcode(op, data)); code.push(new Opcode(op, data));
} else if (op === opcodes.OP_PUSHDATA1) { } else if (op === opcodes.OP_PUSHDATA1) {
if (p.left() < 1) { if (p.left() < 1) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
size = p.readU8(); size = p.readU8();
if (p.left() < size) { if (p.left() < size) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
data = p.readBytes(size); data = p.readBytes(size);
code.push(new Opcode(op, data)); code.push(new Opcode(op, data));
} else if (op === opcodes.OP_PUSHDATA2) { } else if (op === opcodes.OP_PUSHDATA2) {
if (p.left() < 2) { if (p.left() < 2) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
size = p.readU16(); size = p.readU16();
if (p.left() < size) { if (p.left() < size) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
data = p.readBytes(size); data = p.readBytes(size);
code.push(new Opcode(op, data)); code.push(new Opcode(op, data));
} else if (op === opcodes.OP_PUSHDATA4) { } else if (op === opcodes.OP_PUSHDATA4) {
if (p.left() < 4) { if (p.left() < 4) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
size = p.readU32(); size = p.readU32();
if (p.left() < size) { if (p.left() < size) {
code.push(new Opcode(-1)); code.push(new Opcode(-1));
continue; break;
} }
data = p.readBytes(size); data = p.readBytes(size);
code.push(new Opcode(op, data)); code.push(new Opcode(op, data));