Skip to content
Bitcoin Roots

v31.1-roots.1 · Commit 6: [PATCH 06/17] feat(wallet): preserve Roots signing and spend controls on v31

src/interfaces/chain.h

Before: src/interfaces/chain.h · After: src/interfaces/chain.h

File metadata
index 20369fd2e2629c21cf1a9c593a3d61b7c7e3b275..34def9a5d676a5c089fc348d81328e56abdca578 100644

Download original patch · Release notes

Diff rows 1–38 of 38. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.

src/interfaces/chain.h CHANGED
@@ -18,6 +18,7 @@
18
  #include <map>
19
  #include <memory>
20
  #include <optional>
 
21
  #include <string>
22
  #include <vector>
23
 
@@ -28,6 +29,8 @@ class CFeeRate;
28
  class CRPCCommand;
29
  class CScheduler;
30
  class Coin;
 
 
31
  class uint256;
32
  enum class MemPoolRemovalReason;
33
  enum class RBFTransactionState;
@@ -43,6 +46,14 @@ struct NodeContext;
43
 
44
  namespace interfaces {
45
 
 
 
 
 
 
 
 
 
46
  class Handler;
47
  class Wallet;
48
 
@@ -175,6 +186,9 @@ public:
175
  //! the current chain UTXO set. Iterates through all the keys in the map and
176
  //! populates the values.
177
  virtual void findCoins(std::map<COutPoint, Coin>& coins) = 0;
 
 
 
178
 
179
  //! Estimate fraction of total transactions verified if blocks up to
180
  //! the specified block hash are verified.
 
18
  #include <map>
19
  #include <memory>
20
  #include <optional>
21
+ #include <set>
22
  #include <string>
23
  #include <vector>
24
 
 
29
  class CRPCCommand;
30
  class CScheduler;
31
  class Coin;
32
+ class CScript;
33
+ class COutPoint;
34
  class uint256;
35
  enum class MemPoolRemovalReason;
36
  enum class RBFTransactionState;
 
46
 
47
  namespace interfaces {
48
 
49
+ //! Result of a shared UTXO-set script scan.
50
+ enum class ScanResult {
51
+ SUCCESS,
52
+ BUSY,
53
+ ABORTED,
54
+ UNAVAILABLE,
55
+ };
56
+
57
  class Handler;
58
  class Wallet;
59
 
 
186
  //! the current chain UTXO set. Iterates through all the keys in the map and
187
  //! populates the values.
188
  virtual void findCoins(std::map<COutPoint, Coin>& coins) = 0;
189
+ //! Snapshot scan for script matches. Results can become spent before use.
190
+ virtual ScanResult findScriptPubKeys(const std::set<CScript>& needles, std::map<COutPoint, Coin>& coins,
191
+ const std::function<bool()>& should_abort = {}) = 0;
192
 
193
  //! Estimate fraction of total transactions verified if blocks up to
194
  //! the specified block hash are verified.