Skip to content

Commit

Permalink
Add destroy to BlockTemplate schema
Browse files Browse the repository at this point in the history
This ensures that if a client no longer needs a block template,
the node can clear its memory as soon as possible.

A block template may hold on to transactions that are no longer
in the mempool, so this can be significant.
  • Loading branch information
Sjors committed Nov 15, 2024
1 parent 85bcfee commit 9aa5015
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions src/ipc/capnp/mining.capnp
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,16 @@ interface Mining $Proxy.wrap("interfaces::Mining") {
}

interface BlockTemplate $Proxy.wrap("interfaces::BlockTemplate") {
getBlockHeader @0 (context: Proxy.Context) -> (result: Data);
getBlock @1 (context: Proxy.Context) -> (result: Data);
getTxFees @2 (context: Proxy.Context) -> (result: List(Int64));
getTxSigops @3 (context: Proxy.Context) -> (result: List(Int64));
getCoinbaseTx @4 (context: Proxy.Context) -> (result: Data);
getCoinbaseCommitment @5 (context: Proxy.Context) -> (result: Data);
getWitnessCommitmentIndex @6 (context: Proxy.Context) -> (result: Int32);
getCoinbaseMerklePath @7 (context: Proxy.Context) -> (result: List(Data));
submitSolution@8 (context: Proxy.Context, version: UInt32, timestamp: UInt32, nonce: UInt32, coinbase :Data) -> (result: Bool);
destroy @0 (context :Proxy.Context) -> ();
getBlockHeader @1 (context: Proxy.Context) -> (result: Data);
getBlock @2 (context: Proxy.Context) -> (result: Data);
getTxFees @3 (context: Proxy.Context) -> (result: List(Int64));
getTxSigops @4 (context: Proxy.Context) -> (result: List(Int64));
getCoinbaseTx @5 (context: Proxy.Context) -> (result: Data);
getCoinbaseCommitment @6 (context: Proxy.Context) -> (result: Data);
getWitnessCommitmentIndex @7 (context: Proxy.Context) -> (result: Int32);
getCoinbaseMerklePath @8 (context: Proxy.Context) -> (result: List(Data));
submitSolution @9 (context: Proxy.Context, version: UInt32, timestamp: UInt32, nonce: UInt32, coinbase :Data) -> (result: Bool);
}

struct BlockCreateOptions $Proxy.wrap("node::BlockCreateOptions") {
Expand Down

0 comments on commit 9aa5015

Please sign in to comment.