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) {