[#CTxMemPool-ChangeSet]
= xref:CTxMemPool.adoc[CTxMemPool]::ChangeSet
:relfileprefix: ../
:mrdocs:

Stages a batch of mempool additions and associated removals to be applied atomically&period;

== Synopsis

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

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

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:CTxMemPool/ChangeSet/TxHandle.adoc[`TxHandle`] 
| Handle identifying a transaction staged in this changeset&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CTxMemPool/ChangeSet/2constructor-03.adoc[`ChangeSet`]         [.small]#[constructor]#
| Constructors
| xref:CTxMemPool/ChangeSet/2destructor.adoc[`&#126;ChangeSet`] [.small]#[destructor]#
| Destroy the changeset, aborting any staging that was not applied&period;
| xref:CTxMemPool/ChangeSet/operator_assign.adoc[`operator&equals;`]  [.small]#[deleted]#
| Deleted copy assignment&semi; a changeset is not copyable&period;
| xref:CTxMemPool/ChangeSet/Apply.adoc[`Apply`] 
| Apply the staged removals and additions to the mempool&period;
| xref:CTxMemPool/ChangeSet/CalculateChunksForRBF.adoc[`CalculateChunksForRBF`] 
| Calculate the sorted chunks for the old and new mempool relating to the clusters that would be affected by a potential replacement transaction&period;
| xref:CTxMemPool/ChangeSet/CalculateMemPoolAncestors.adoc[`CalculateMemPoolAncestors`] 
| Calculate the in&hyphen;mempool ancestors of a staged transaction, caching the result&period;
| xref:CTxMemPool/ChangeSet/CheckMemPoolPolicyLimits.adoc[`CheckMemPoolPolicyLimits`] 
| Check if any cluster limits are exceeded&period; Returns true if pass, false if fail&period;
| xref:CTxMemPool/ChangeSet/GetAddedTxn.adoc[`GetAddedTxn`] 
| Returns the staged added transaction at the given index&period;
| xref:CTxMemPool/ChangeSet/GetAddedTxns.adoc[`GetAddedTxns`] 
| Returns the transactions staged for addition, in insertion order&period;
| xref:CTxMemPool/ChangeSet/GetRemovals.adoc[`GetRemovals`] 
| Returns the set of transactions staged for removal&period;
| xref:CTxMemPool/ChangeSet/GetTxCount.adoc[`GetTxCount`] 
| Returns the number of transactions staged for addition&period;
| xref:CTxMemPool/ChangeSet/StageAddition.adoc[`StageAddition`] 
| Stage a transaction for addition to the mempool&period;
| xref:CTxMemPool/ChangeSet/StageRemoval.adoc[`StageRemoval`] 
| Stage a transaction for removal from the mempool&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:CTxMemPool.adoc[CTxMemPool]`
| The node&apos;s memory pool of unconfirmed transactions&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:ImprovesFeerateDiagram.adoc[`&colon;&colon;ImprovesFeerateDiagram`]
| The replacement transaction must improve the feerate diagram of the mempool&period;
|===


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