From 5c1b136117eff4627708e93db0a5c218e27ab1bd Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 13 Jan 2016 04:31:20 -0800 Subject: [PATCH] revert back to old output value writing. --- lib/bcoin/protocol/framer.js | 9 ++++++++- lib/bcoin/utils.js | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/bcoin/protocol/framer.js b/lib/bcoin/protocol/framer.js index baa4903a..3a3e37de 100644 --- a/lib/bcoin/protocol/framer.js +++ b/lib/bcoin/protocol/framer.js @@ -300,7 +300,14 @@ Framer.tx = function tx(tx) { for (i = 0; i < tx.outputs.length; i++) { output = tx.outputs[i]; - off += utils.write64(p, output.value, off); + // off += utils.write64(p, output.value, off); + + // Put LE value + value = output.value.toArray().slice().reverse(); + assert(value.length <= 8); + off += utils.copy(value, p, off, true); + for (j = value.length; j < 8; j++, off++) + p[off] = 0; s = bcoin.script.encode(output.script); off += utils.writeIntv(p, s.length, off); diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index 9e57208c..f1536a5d 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -1030,7 +1030,7 @@ utils.writeU64 = function writeU64(dst, num, off) { for (i = num.length - 1; i >= 0; i--) dst[off++] = num[i] & 0xff; - for (i = 8 - num.length; i > 0; i--) + for (i = num.length; i < 8; i++) dst[off++] = 0; return 8; @@ -1048,7 +1048,7 @@ utils.writeU64BE = function writeU64BE(dst, num, off) { num = num.toArray().slice(-8); - for (i = 8 - num.length; i > 0; i--) + for (i = num.length; i < 8; i++) dst[off++] = 0; for (i = 0; i < num.length; i++) @@ -1124,7 +1124,7 @@ utils.write64 = function write64(dst, num, off) { for (i = bytes.length - 1; i >= 0; i--) dst[off++] = bytes[i] & 0xff; - for (i = 8 - bytes.length; i > 0; i--) + for (i = bytes.length; i < 8; i++) dst[off++] = 0; if (num.isNeg()) @@ -1151,7 +1151,7 @@ utils.write64BE = function write64BE(dst, num, off) { bytes = num.toArray().slice(-8); - for (i = 8 - bytes.length; i > 0; i--) + for (i = bytes.length; i < 8; i++) dst[off++] = 0; for (i = 0; i < bytes.length; i++)