Skip to content
Bitcoin Roots

v31.1-roots.1 · Commit 7: [PATCH 07/17] feat(rpc): preserve Roots operator interfaces on v31

doc/feature-contracts/effective-policy.md

Before: doc/feature-contracts/effective-policy.md · After: doc/feature-contracts/effective-policy.md

File metadata
index e14c0301eb735f1abf7552bd29ac8582775a1727..351de2771361dd229052bff06b7360c8aa394ee7 100644

Download original patch · Release notes

Diff rows 1–33 of 33. 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.

doc/feature-contracts/effective-policy.md CHANGED
@@ -1,10 +1,11 @@
1
  # Effective mempool policy (`effective-policy`)
2
 
3
- **v31 candidate status: deferred.** This preserved contract describes the
4
- accepted 30.3 source, including its documented gaps; the foundation does not
5
- implement its Roots controls or RPC fields. Source code/test paths below refer
6
- to `10d772eb7f4b00b5193428a0dde4c06558d6c297`, not current candidate behavior.
7
- [The port review](../roots-v31-port-review.md) records ownership and current gates.
 
8
 
9
  ## Scope and compatibility
10
 
@@ -75,7 +76,7 @@ package, dust, fixed limits and consensus checks remain applicable.
75
 
76
  Read `CTxMemPool::m_opts` for initialized mempool controls, `GetDustRelayFee()`
77
  for the live dust rate, the initialized policy globals for script/size parameters,
78
- and `SpkReuseMode` for reuse policy. Do not reread argument strings, reconstruct
79
  defaults, or introduce another configuration store. Constructor normalization
80
  matters: the dust floor is initialized from the selected dust fee. RBF/TRUC and
81
  ephemeral token options resolve to modes/flags, not the original spellings;
@@ -99,8 +100,7 @@ rolling minimum are read with existing locking; there is no policy setter RPC.
99
  The historical source's non-off `dustdynamic` failed startup because scheduler
100
  wiring was missing. Candidate L8.2 repairs node-owned scheduling, retry/teardown
101
  lifetime, synchronized live-rate reads, estimate fallback and bounded scaling;
102
- see [runtime semantics](subdust.md). The effective-policy RPC schema itself
103
- remains L12. Dormant `getmempoolstats` is outside this contract. Mining
104
  options are reconstructed and clamped by individual block assemblers, with no
105
  single retained active instance to report here; this mempool schema deliberately
106
  does not claim to represent their limits.
 
1
  # Effective mempool policy (`effective-policy`)
2
 
3
+ **v31 candidate status: implemented in L12.1.** The additive schema is
4
+ preserved from the accepted 30.3 source. Carrier weight and script reuse now
5
+ come from immutable v31 mempool options rather than process globals; the live
6
+ dust rate remains synchronized with admission. Native v31 cluster fields remain
7
+ available alongside this object. [The port review](../roots-v31-port-review.md)
8
+ records ownership and evidence.
9
 
10
  ## Scope and compatibility
11
 
 
76
 
77
  Read `CTxMemPool::m_opts` for initialized mempool controls, `GetDustRelayFee()`
78
  for the live dust rate, the initialized policy globals for script/size parameters,
79
+ and the immutable mempool options for carrier weight and reuse policy. Do not reread argument strings, reconstruct
80
  defaults, or introduce another configuration store. Constructor normalization
81
  matters: the dust floor is initialized from the selected dust fee. RBF/TRUC and
82
  ephemeral token options resolve to modes/flags, not the original spellings;
 
100
  The historical source's non-off `dustdynamic` failed startup because scheduler
101
  wiring was missing. Candidate L8.2 repairs node-owned scheduling, retry/teardown
102
  lifetime, synchronized live-rate reads, estimate fallback and bounded scaling;
103
+ see [runtime semantics](subdust.md). The effective-policy RPC schema reads that synchronized publication. Dormant `getmempoolstats` is outside this contract. Mining
 
104
  options are reconstructed and clamped by individual block assemblers, with no
105
  single retained active instance to report here; this mempool schema deliberately
106
  does not claim to represent their limits.