From 33c3ed4e033597985dbe56fb9b7efa1b3cec3740 Mon Sep 17 00:00:00 2001 From: Daniel Cousens Date: Tue, 3 Jan 2017 22:45:54 +1100 Subject: [PATCH] templates: avoid hex conversions internally --- src/templates/witnesscommitment/output.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/templates/witnesscommitment/output.js b/src/templates/witnesscommitment/output.js index e07f401..0f8409d 100644 --- a/src/templates/witnesscommitment/output.js +++ b/src/templates/witnesscommitment/output.js @@ -1,26 +1,27 @@ -// OP_RETURN 36bytes:[0xaa21a9ed, Hash256(witnessRoot )] +// OP_RETURN {aa21a9ed} {commitment} var bscript = require('../../script') var types = require('../../types') var typeforce = require('typeforce') var OPS = require('bitcoin-ops') +var HEADER = new Buffer('aa21a9ed', 'hex') + function check (script) { var buffer = bscript.compile(script) return buffer.length > 37 && buffer[0] === OPS.OP_RETURN && buffer[1] === 0x24 && - buffer.slice(2, 6).toString('hex') === 'aa21a9ed' + buffer.slice(2, 6).equals(HEADER) } check.toJSON = function () { return 'Witness commitment output' } function encode (commitment) { - // hash256 0x21 hash160 0xed typeforce(types.Hash256bit, commitment) - return bscript.compile([OPS.OP_RETURN, new Buffer('aa21a9ed' + commitment.toString('hex'), 'hex')]) + return bscript.compile([OPS.OP_RETURN, Buffer.concat([HEADER, commitment])]) } function decode (buffer) {