import payload from '../dump-2000'; var bitcore = require('bitcore-lib-tcr-with-lyra2z'); (function () { // const addNetworkToBlockClass = function (Class, network, BlockHeader) { // return class A extends Class { // static get network() { // return network; // } // // static get BlockHeader() { // return BlockHeader; // } // }; // }; const addNetworkToBlockHeaderClass = function (Class, network) { return class A extends Class { static get network() { return network; } }; }; var $ = bitcore.util.preconditions; // let Block = options.Block || bitcore.Block; let BlockHeader = bitcore.BlockHeader; // let Transaction = options.Transaction || bitcore.Transaction; // let MerkleBlock = options.MerkleBlock || bitcore.MerkleBlock; // let protocolVersion = options.protocolVersion || options.network.protocolVersion || 90026; BlockHeader = addNetworkToBlockHeaderClass(BlockHeader, bitcore.Networks.testnet); // Block = addNetworkToBlockClass(options.Block, options.network, options.BlockHeader); // var utils = require('../utils'); var BufferReader = bitcore.encoding.BufferReader; $.checkArgument(payload && payload.length > 0, 'No data found to create Headers message'); var parser = new BufferReader(payload); var count = parser.readVarintNum(); let headers: any[] = []; for (var i = 0; i < count; i++) { var header = BlockHeader.fromBufferReader(parser); headers.push(header); var txn_count = parser.readUInt8(); $.checkState(txn_count === 0, 'txn_count should always be 0'); } // utils.checkFinished(parser); if(!parser.finished()) { throw new Error('Data still available after parsing'); } })();