@@ -17,10 +17,25 @@ interface Mining $Proxy.wrap("interfaces::Mining") {
17
17
isTestChain @0 (context :Proxy.Context) -> (result: Bool);
18
18
isInitialBlockDownload @1 (context :Proxy.Context) -> (result: Bool);
19
19
getTipHash @2 (context :Proxy.Context) -> (result: Data);
20
- createNewBlock @3 (context :Proxy.Context , scriptPubKey: Data, useMempool: Bool ) -> (result: CBlockTemplate );
20
+ createNewBlock @3 (scriptPubKey: Data, options: BlockCreateOptions ) -> (result: BlockTemplate );
21
21
processNewBlock @4 (context :Proxy.Context , block: Data) -> (newBlock: Bool, result: Bool);
22
22
getTransactionsUpdated @5 (context :Proxy.Context) -> (result: UInt32);
23
23
testBlockValidity @6 (context :Proxy.Context , block: Data, checkMerkleRoot: Bool) -> (state: BlockValidationState, result: Bool);
24
+ getTipHeight @7 (context :Proxy.Context) -> (hasResult: Bool, result: Int32);
25
+ waitTipChanged @8 (timeout: Float64) -> (result: BlockInfo);
26
+ waitFeesChanged @9 (timeout: Float64, tip: Data, feeDelta: Int64, feesBefore: Int64) -> (result: Bool);
27
+ }
28
+
29
+ interface BlockTemplate $Proxy.wrap("interfaces::BlockTemplate" ) {
30
+ getBlockHeader @0 (context: Proxy.Context) -> (result: Data);
31
+ getBlock @1 (context: Proxy.Context) -> (result: Data);
32
+ getTxFees @2 (context: Proxy.Context) -> (result: List(Int64));
33
+ getTxSigops @3 (context: Proxy.Context) -> (result: List(Int64));
34
+ getCoinbaseTx @4 (context: Proxy.Context) -> (result: Data);
35
+ getCoinbaseCommitment @5 (context: Proxy.Context) -> (result: Data);
36
+ getWitnessCommitmentIndex @6 (context: Proxy.Context) -> (result: Int32);
37
+ getCoinbaseMerklePath @7 (context: Proxy.Context) -> (result: List(Data));
38
+ submitSolution @8 (context: Proxy.Context, version: UInt32, timestamp: UInt32, nonce: UInt32, coinbase :Data ) -> (result: Bool);
24
39
}
25
40
26
41
struct CBlockTemplate $Proxy.wrap("node::CBlockTemplate" )
@@ -37,3 +52,14 @@ struct BlockValidationState {
37
52
rejectReason @2 :Text ;
38
53
debugMessage @3 :Text ;
39
54
}
55
+
56
+ struct BlockInfo {
57
+ hash @0 :Data ;
58
+ height @1 :Int32 ;
59
+ }
60
+
61
+ struct BlockCreateOptions $Proxy.wrap("node::BlockCreateOptions" ) {
62
+ useMempool @0 :Bool $Proxy.name("use_mempool" );
63
+ coinbaseMaxAdditionalWeight @1 :UInt64 $Proxy.name("coinbase_max_additional_weight" );
64
+ coinbaseOutputMaxAdditionalSigops @2 :UInt64 $Proxy.name("coinbase_output_max_additional_sigops" );
65
+ }
0 commit comments