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/script/descriptor.h

Before: src/script/descriptor.h · After: src/script/descriptor.h

File metadata
index 3ac748a1746ef318124610900efee0251c74feeb..efb75c4cee4baa132f98ced3b5f532523ccbc2cc 100644

Download original patch · Release notes

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

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.

src/script/descriptor.h CHANGED
@@ -157,6 +157,12 @@ struct Descriptor {
157
157
  */
158
158
  virtual void ExpandPrivate(int pos, const SigningProvider& provider, FlatSigningProvider& out) const = 0;
159
159
 
160
+ /** Identify derived keys whose descriptor roots are available, without retrieving private keys.
161
+ * Uses cached public expansion and only queries provider.HaveKey(). Aggregate
162
+ * key expressions identify their participants, not a synthetic aggregate secret.
163
+ */
164
+ virtual void GetAvailableKeys(int pos, const DescriptorCache& cache, const SigningProvider& provider, std::set<CKeyID>& out) const = 0;
165
+
160
166
  /** @return The OutputType of the scriptPubKey(s) produced by this descriptor. Or nullopt if indeterminate (multiple or none) */
161
167
  virtual std::optional<OutputType> GetOutputType() const = 0;
162
168