diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index 748a3d06..92841158 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -180,11 +180,9 @@ utils.writeU64 = function writeU64(dst, num, off) { if (!off) off = 0; - var n = new bn(num); - var left = n.shrn(32); - //var right = n.andln(0xffffffff); - var right = ((n.words[1] & 0xff) << 24) | n.words[0]; - if (right < 0) right += 0x100000000; + var num = new bn(num); + var left = +num.shrn(32).toString(10); + var right = +num.maskn(32).toString(10); dst[off] = right & 0xff; dst[off + 1] = (right >>> 8) & 0xff; @@ -221,11 +219,9 @@ utils.writeU64BE = function writeU64BE(dst, num, off) { if (!off) off = 0; - var n = new bn(num); - var left = n.shrn(32); - //var right = n.andln(0xffffffff); - var right = ((n.words[1] & 0xff) << 24) | n.words[0]; - if (right < 0) right += 0x100000000; + var num = new bn(num); + var left = +num.shrn(32).toString(10); + var right = +num.maskn(32).toString(10); dst[off] = (left >>> 24) & 0xff; dst[off + 1] = (left >>> 16) & 0xff;