UNPKG

@muirglacier/jellyfish-transaction

Version:

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

33 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CWitnessProgram = void 0; const smart_buffer_1 = require("smart-buffer"); const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer"); const tx_composer_1 = require("./tx_composer"); /** * Composable WitnessProgram */ class CWitnessProgram extends jellyfish_buffer_1.ComposableBuffer { composers(wp) { return [ jellyfish_buffer_1.ComposableBuffer.uInt32(() => wp.version, v => wp.version = v), jellyfish_buffer_1.ComposableBuffer.hex(32, () => wp.hashPrevouts, v => wp.hashPrevouts = v), jellyfish_buffer_1.ComposableBuffer.hex(32, () => wp.hashSequence, v => wp.hashSequence = v), jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => wp.outpointTxId, v => wp.outpointTxId = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => wp.outpointIndex, v => wp.outpointIndex = v), jellyfish_buffer_1.ComposableBuffer.single(() => wp.scriptCode, v => wp.scriptCode = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => wp.value, v => wp.value = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => wp.sequence, v => wp.sequence = v), jellyfish_buffer_1.ComposableBuffer.hex(32, () => wp.hashOutputs, v => wp.hashOutputs = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => wp.lockTime, v => wp.lockTime = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => wp.hashType, v => wp.hashType = v) ]; } asBuffer() { const buffer = new smart_buffer_1.SmartBuffer(); this.toBuffer(buffer); return buffer.toBuffer(); } } exports.CWitnessProgram = CWitnessProgram; //# sourceMappingURL=tx_segwit.js.map