From 102f2bd0c99ce09f2859f377f3943d662f364516 Mon Sep 17 00:00:00 2001
From: Wei Lu <luwei.here@gmail.com>
Date: Fri, 25 Apr 2014 10:01:50 +0800
Subject: [PATCH] make sure createInputScript convert pubKey to buffer before
 writing out bytes

[fixes #156]
---
 src/script.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/script.js b/src/script.js
index d8fe623..003e95f 100644
--- a/src/script.js
+++ b/src/script.js
@@ -340,7 +340,8 @@ Script.prototype.writeOp = function(opcode) {
  */
 Script.prototype.writeBytes = function(data) {
   // FIXME: Script module doesn't support buffers yet
-  if (Buffer.isBuffer(data)) data = Array.prototype.slice.call(data)
+  if (Buffer.isBuffer(data)) data = Array.prototype.slice.call(data);
+  assert(Array.isArray(data), "Expect a byte array. Got" + data)
 
   if (data.length < Opcode.map.OP_PUSHDATA1) {
     this.buffer.push(data.length)
@@ -421,7 +422,7 @@ Script.createMultisigOutputScript = function(m, pubKeys) {
 Script.createInputScript = function(signature, pubKey) {
   var script = new Script()
   script.writeBytes(signature)
-  script.writeBytes(pubKey)
+  script.writeBytes(pubKey.toBuffer())
   return script
 }