pub enum CollateralFundingState {
ShortNow,
DangerouslyLow,
BelowRecommendedBuffer,
Funded,
}Expand description
The node’s funding position against its own recommended $DIG buffer.
The state is carried, never re-derived by each client. Every field needed to compute it does
travel in CollateralBufferResult::Known, so a client COULD compare numbers itself — and two
clients that did would pick their own thresholds and disagree. The one that disagreed about a
funding warning is the one an operator would act on, so which state this node is in is the
node’s answer, not a rendering decision.
Whether a state is worth interrupting somebody over is the CLIENT’s decision; this enum states
only what is true. is_shortfall names the two states
in which some epoch is not covered. BelowRecommendedBuffer is
deliberately not one of them: a healthy node sits there much of the time, and a client that
raised a recurring alert for it would teach an operator to dismiss the two that matter.
Variants§
ShortNow
Cannot cover the CURRENT epoch: stores this node serves are already going uncollateralised.
DangerouslyLow
Covers the current epoch but could not cover the NEXT one if the requirement rose to the
escalation ceiling. The rise is a bound, not a prediction — see
escalation_ceiling_micros — so this state says the node has no room for the worst case,
not that the worst case is coming.
BelowRecommendedBuffer
Covers several epochs at the ceiling but holds less than the recommended buffer: funded, with no cushion. A READOUT, never a notification.
Funded
Holds at least the recommended buffer over the stated horizon.
Implementations§
Source§impl CollateralFundingState
impl CollateralFundingState
Sourcepub const ALL: &'static [CollateralFundingState]
pub const ALL: &'static [CollateralFundingState]
Every state, for exhaustive rendering and for the wire-token uniqueness KAT.
Sourcepub const fn as_wire(self) -> &'static str
pub const fn as_wire(self) -> &'static str
The stable snake_case wire token, matching the funding_state field.
Sourcepub const fn is_shortfall(self) -> bool
pub const fn is_shortfall(self) -> bool
Is some epoch actually UNCOVERED — now, or next at the escalation ceiling?
A statement about the world, not about a client’s UI. It is the honest input to a client’s
own decision about what deserves an interruption, and it excludes
BelowRecommendedBuffer because nothing is uncovered there.
Trait Implementations§
Source§impl Clone for CollateralFundingState
impl Clone for CollateralFundingState
Source§fn clone(&self) -> CollateralFundingState
fn clone(&self) -> CollateralFundingState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more