[#PartiallyDownloadedBlock]
= PartiallyDownloadedBlock
:mrdocs:

A block being reconstructed from a compact block plus mempool&sol;extra transactions&period;

== Synopsis

Declared in `&lt;blockencodings&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class PartiallyDownloadedBlock;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:PartiallyDownloadedBlock/IsBlockMutatedFn.adoc[`IsBlockMutatedFn`] 
| Callable used to check whether a reconstructed block is mutated&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:PartiallyDownloadedBlock/2constructor.adoc[`PartiallyDownloadedBlock`]         [.small]#[constructor]#
| Constructs a reconstruction backed by the given memory pool&period;
| xref:PartiallyDownloadedBlock/FillBlock.adoc[`FillBlock`] 
| Fills the block with the supplied missing transactions and reports the result&period;
| xref:PartiallyDownloadedBlock/InitData.adoc[`InitData`] 
| Initializes reconstruction from a compact block and a list of extra transactions&period;
| xref:PartiallyDownloadedBlock/IsTxAvailable.adoc[`IsTxAvailable`] 
| Returns whether the transaction at the given block index is already available&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:PartiallyDownloadedBlock/header.adoc[`header`] 
| The block header&period;
| xref:PartiallyDownloadedBlock/m_check_block_mutated_mock.adoc[`m&lowbar;check&lowbar;block&lowbar;mutated&lowbar;mock`] 
| Optional override for the mutation check, used in tests&period;
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:PartiallyDownloadedBlock/extra_count.adoc[`extra&lowbar;count`] 
| Counts of transactions sourced from the compact block, the mempool, and the extra pool&period;
| xref:PartiallyDownloadedBlock/mempool_count.adoc[`mempool&lowbar;count`] 
| Counts of transactions sourced from the compact block, the mempool, and the extra pool&period;
| xref:PartiallyDownloadedBlock/pool.adoc[`pool`] 
| Memory pool consulted to fill in missing transactions&period;
| xref:PartiallyDownloadedBlock/prefilled_count.adoc[`prefilled&lowbar;count`] 
| Counts of transactions sourced from the compact block, the mempool, and the extra pool&period;
| xref:PartiallyDownloadedBlock/txn_available.adoc[`txn&lowbar;available`] 
| Transactions filled in so far, indexed by their position in the block&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
