#include "Block.h" #include "VarInt.h" Block::Block(const std::byte* pBlock, size_t size): _header{} { _size = size; _header = *((BlockHeader*)pBlock); VarInt txCount(pBlock + sizeof(BlockHeader)); auto pTxData = pBlock + sizeof(BlockHeader) + txCount.size(); for(size_t i = 0; i < txCount.value(); ++i) { Transaction transaction(pTxData); pTxData += transaction.size(); _transactions.emplace_back(std::move(transaction)); } } uint32_t Block::version() const { return _header.version; } uint32_t Block::time() const { return _header.time; } const std::vector& Block::transactions() const { return _transactions; } size_t Block::size() const { return _size; }