diff --git a/lib/script.js b/lib/script.js index 14f4ed8b3..fb5cfe464 100644 --- a/lib/script.js +++ b/lib/script.js @@ -55,14 +55,14 @@ Script.fromBuffer = function(buffer) { var opcodenum = br.readUInt8(); var len, buf; - if (opcodenum > 0 && opcodenum < Opcode.map.OP_PUSHDATA1) { + if (opcodenum > 0 && opcodenum < Opcode.OP_PUSHDATA1) { len = opcodenum; script.chunks.push({ buf: br.read(len), len: len, opcodenum: opcodenum }); - } else if (opcodenum === Opcode.map.OP_PUSHDATA1) { + } else if (opcodenum === Opcode.OP_PUSHDATA1) { len = br.readUInt8(); buf = br.read(len); script.chunks.push({ @@ -70,7 +70,7 @@ Script.fromBuffer = function(buffer) { len: len, opcodenum: opcodenum }); - } else if (opcodenum === Opcode.map.OP_PUSHDATA2) { + } else if (opcodenum === Opcode.OP_PUSHDATA2) { len = br.readUInt16LE(); buf = br.read(len); script.chunks.push({ @@ -78,7 +78,7 @@ Script.fromBuffer = function(buffer) { len: len, opcodenum: opcodenum }); - } else if (opcodenum === Opcode.map.OP_PUSHDATA4) { + } else if (opcodenum === Opcode.OP_PUSHDATA4) { len = br.readUInt32LE(); buf = br.read(len); script.chunks.push({ @@ -104,15 +104,15 @@ Script.prototype.toBuffer = function() { var opcodenum = chunk.opcodenum; bw.writeUInt8(chunk.opcodenum); if (chunk.buf) { - if (opcodenum < Opcode.map.OP_PUSHDATA1) { + if (opcodenum < Opcode.OP_PUSHDATA1) { bw.write(chunk.buf); - } else if (opcodenum === Opcode.map.OP_PUSHDATA1) { + } else if (opcodenum === Opcode.OP_PUSHDATA1) { bw.writeUInt8(chunk.len); bw.write(chunk.buf); - } else if (opcodenum === Opcode.map.OP_PUSHDATA2) { + } else if (opcodenum === Opcode.OP_PUSHDATA2) { bw.writeUInt16LE(chunk.len); bw.write(chunk.buf); - } else if (opcodenum === Opcode.map.OP_PUSHDATA4) { + } else if (opcodenum === Opcode.OP_PUSHDATA4) { bw.writeUInt32LE(chunk.len); bw.write(chunk.buf); } @@ -138,7 +138,7 @@ Script.fromString = function(str) { if (typeof opcodenum === 'undefined') { opcodenum = parseInt(token); - if (opcodenum > 0 && opcodenum < Opcode.map.OP_PUSHDATA1) { + if (opcodenum > 0 && opcodenum < Opcode.OP_PUSHDATA1) { script.chunks.push({ buf: new Buffer(tokens[i + 1].slice(2), 'hex'), len: opcodenum, @@ -148,9 +148,9 @@ Script.fromString = function(str) { } else { throw new Error('Invalid script: ' + JSON.stringify(str)); } - } else if (opcodenum === Opcode.map.OP_PUSHDATA1 || - opcodenum === Opcode.map.OP_PUSHDATA2 || - opcodenum === Opcode.map.OP_PUSHDATA4) { + } else if (opcodenum === Opcode.OP_PUSHDATA1 || + opcodenum === Opcode.OP_PUSHDATA2 || + opcodenum === Opcode.OP_PUSHDATA4) { if (tokens[i + 2].slice(0, 2) !== '0x') { throw new Error('Pushdata data must start with 0x'); } @@ -228,7 +228,7 @@ Script.prototype.isPublicKeyOut = function() { return this.chunks.length === 2 && bufferUtil.isBuffer(this.chunks[0].buf) && PublicKey.isValid(this.chunks[0].buf) && - this.chunks[1].opcodenum === Opcode('OP_CHECKSIG').toNumber(); + this.chunks[1].opcodenum === Opcode.OP_CHECKSIG; }; /** @@ -246,10 +246,10 @@ Script.prototype.isPublicKeyIn = function() { */ Script.prototype.isScriptHashOut = function() { return this.chunks.length === 3 && - this.chunks[0].opcodenum === Opcode('OP_HASH160').toNumber() && + this.chunks[0].opcodenum === Opcode.OP_HASH160 && this.chunks[1].buf && this.chunks[1].buf.length === 20 && - this.chunks[2].opcodenum === Opcode('OP_EQUAL').toNumber(); + this.chunks[2].opcodenum === Opcode.OP_EQUAL; }; /** @@ -283,7 +283,7 @@ Script.prototype.isMultisigOut = function() { return obj.buf && bufferUtil.isBuffer(obj.buf); }) && Opcode.isSmallIntOp(this.chunks[this.chunks.length - 2].opcodenum) && - this.chunks[this.chunks.length - 1].opcodenum === Opcode.map.OP_CHECKMULTISIG); + this.chunks[this.chunks.length - 1].opcodenum === Opcode.OP_CHECKMULTISIG); }; @@ -305,7 +305,7 @@ Script.prototype.isMultisigIn = function() { */ Script.prototype.isDataOut = function() { return this.chunks.length >= 1 && - this.chunks[0].opcodenum === Opcode('OP_RETURN').toNumber() && + this.chunks[0].opcodenum === Opcode.OP_RETURN && (this.chunks.length === 1 || (this.chunks.length === 2 && this.chunks[1].buf && @@ -319,7 +319,7 @@ Script.prototype.isDataOut = function() { */ Script.prototype.isPushOnly = function() { return _.every(this.chunks, function(chunk) { - return chunk.opcodenum <= Opcode.map.OP_16; + return chunk.opcodenum <= Opcode.OP_16; }); }; @@ -438,14 +438,14 @@ Script.prototype._addBuffer = function(buf, prepend) { var len = buf.length; if (len === 0) { return; - } else if (len > 0 && len < Opcode.map.OP_PUSHDATA1) { + } else if (len > 0 && len < Opcode.OP_PUSHDATA1) { opcodenum = len; } else if (len < Math.pow(2, 8)) { - opcodenum = Opcode.map.OP_PUSHDATA1; + opcodenum = Opcode.OP_PUSHDATA1; } else if (len < Math.pow(2, 16)) { - opcodenum = Opcode.map.OP_PUSHDATA2; + opcodenum = Opcode.OP_PUSHDATA2; } else if (len < Math.pow(2, 32)) { - opcodenum = Opcode.map.OP_PUSHDATA4; + opcodenum = Opcode.OP_PUSHDATA4; } else { throw new Error('You can\'t push that much data'); } @@ -494,7 +494,7 @@ Script.buildMultisigOut = function(pubkeys, m, opts) { s.add(pubkey.toBuffer()); } s.add(Opcode.smallInt(pubkeys.length)); - s.add(Opcode('OP_CHECKMULTISIG')); + s.add(Opcode.OP_CHECKMULTISIG); return s; }; @@ -510,11 +510,11 @@ Script.buildPublicKeyHashOut = function(to) { to = new Address(to); } var s = new Script(); - s.add(Opcode('OP_DUP')) - .add(Opcode('OP_HASH160')) + s.add(Opcode.OP_DUP) + .add(Opcode.OP_HASH160) .add(to.hashBuffer) - .add(Opcode('OP_EQUALVERIFY')) - .add(Opcode('OP_CHECKSIG')); + .add(Opcode.OP_EQUALVERIFY) + .add(Opcode.OP_CHECKSIG); return s; }; @@ -525,7 +525,7 @@ Script.buildPublicKeyHashOut = function(to) { Script.buildPublicKeyOut = function(pubkey) { var s = new Script(); s.add(pubkey.toBuffer()) - .add(Opcode('OP_CHECKSIG')); + .add(Opcode.OP_CHECKSIG); return s; }; @@ -538,7 +538,7 @@ Script.buildDataOut = function(data) { data = new Buffer(data); } var s = new Script(); - s.add(Opcode('OP_RETURN')) + s.add(Opcode.OP_RETURN) .add(data); return s; }; @@ -549,9 +549,9 @@ Script.buildDataOut = function(data) { */ Script.buildScriptHashOut = function(script) { var s = new Script(); - s.add(Opcode('OP_HASH160')) + s.add(Opcode.OP_HASH160) .add(Hash.sha256ripemd160(script.toBuffer())) - .add(Opcode('OP_EQUAL')); + .add(Opcode.OP_EQUAL); return s; };