@muirglacier/jellyfish-block
Version:
A collection of TypeScript + JavaScript tools and libraries for DeFi Blockchain developers to build decentralized finance for Bitcoin
25 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CBlockHeader = void 0;
const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer");
/**
* Composable BlockHeader, C stands for Composable.
* Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
*/
class CBlockHeader extends jellyfish_buffer_1.ComposableBuffer {
composers(bh) {
return [
jellyfish_buffer_1.ComposableBuffer.uInt32(() => bh.version, v => bh.version = v),
jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => bh.hashPrevBlock, v => bh.hashPrevBlock = v),
jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => bh.hashMerkleRoot, v => bh.hashMerkleRoot = v),
jellyfish_buffer_1.ComposableBuffer.uInt32(() => bh.time, v => bh.time = v),
jellyfish_buffer_1.ComposableBuffer.uInt32(() => bh.bits, v => bh.bits = v),
jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => bh.stakeModifier, v => bh.stakeModifier = v),
jellyfish_buffer_1.ComposableBuffer.bigNumberUInt64(() => bh.height, v => bh.height = v),
jellyfish_buffer_1.ComposableBuffer.bigNumberUInt64(() => bh.mintedBlocks, v => bh.mintedBlocks = v),
jellyfish_buffer_1.ComposableBuffer.varUIntHex(() => bh.signature, v => bh.signature = v)
];
}
}
exports.CBlockHeader = CBlockHeader;
//# sourceMappingURL=blockHeader.js.map