UNPKG

@muirglacier/jellyfish-transaction

Version:

A collection of TypeScript + JavaScript tools and libraries for DeFi Blockchain developers to build decentralized finance for Bitcoin

42 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toOPCodes = exports.toBuffer = void 0; const mapping_1 = require("./mapping"); const data_1 = require("./data"); const dftx_1 = require("./dftx"); /** * @param {OPCode[]} stack of OPCode * @return Buffer presentation of OPCode[] */ function toBuffer(stack) { let len = 0; const buffers = []; for (const opCode of stack) { const buf = opCode.asBuffer(); buffers.push(buf); len += buf.length; } return Buffer.concat(buffers, len); } exports.toBuffer = toBuffer; /** * @param {Buffer} buffer to read without VarUInt * @return OPCode[] */ function toOPCodes(buffer) { const stack = []; while (buffer.remaining() > 0) { stack.push(toOpCode(buffer)); } // remap if isDeFiScript to identify DeFi Scripting return dftx_1.remapDeFiScript(stack); } exports.toOPCodes = toOPCodes; function toOpCode(buffer) { const code = buffer.readUInt8(); if (code !== 0x00 && code <= 0x4e) { return new data_1.OP_PUSHDATA(code, buffer); } return mapping_1.numAsOPCode(code); } //# sourceMappingURL=_buffer.js.map