pub enum EventType {
Show 117 variants
NewBlock,
NewTransaction,
BlockDisconnected,
ChainReorg,
PaymentRequestCreated,
PaymentSettled,
PaymentFailed,
PaymentVerified,
PaymentRouteFound,
PaymentRouteFailed,
ChannelOpened,
ChannelClosed,
BlockMined,
BlockTemplateUpdated,
MiningDifficultyChanged,
MiningJobCreated,
MeshPacketReceived,
StratumV2MessageReceived,
ShareSubmitted,
MergeMiningReward,
MiningPoolConnected,
MiningPoolDisconnected,
GovernanceProposalCreated,
GovernanceProposalVoted,
GovernanceProposalMerged,
WebhookSent,
WebhookFailed,
GovernanceForkDetected,
PeerConnected,
PeerDisconnected,
PeerBanned,
PeerUnbanned,
MessageReceived,
MessageSent,
BroadcastStarted,
BroadcastCompleted,
RouteDiscovered,
RouteFailed,
ConnectionAttempt,
AddressDiscovered,
AddressExpired,
NetworkPartition,
NetworkReconnected,
DoSAttackDetected,
RateLimitExceeded,
BlockValidationStarted,
BlockValidationCompleted,
ScriptVerificationStarted,
ScriptVerificationCompleted,
UTXOValidationStarted,
UTXOValidationCompleted,
DifficultyAdjusted,
SoftForkActivated,
SoftForkLockedIn,
ConsensusRuleViolation,
HeadersSyncStarted,
HeadersSyncProgress,
HeadersSyncCompleted,
BlockSyncStarted,
BlockSyncProgress,
BlockSyncCompleted,
SyncStateChanged,
MempoolTransactionAdded,
MempoolTransactionRemoved,
MempoolThresholdExceeded,
FeeRateChanged,
MempoolCleared,
StorageRead,
StorageWrite,
StorageQuery,
DatabaseBackupStarted,
DatabaseBackupCompleted,
ModuleLoaded,
ModuleUnloaded,
ModuleReloaded,
ModuleStarted,
ModuleStopped,
ModuleCrashed,
ModuleHealthChanged,
ModuleStateChanged,
ConfigLoaded,
NodeShutdown,
NodeShutdownCompleted,
NodeStartupCompleted,
MaintenanceStarted,
MaintenanceCompleted,
DataMaintenance,
HealthCheck,
DiskSpaceLow,
ResourceLimitWarning,
DandelionStemStarted,
DandelionStemAdvanced,
DandelionFluffed,
DandelionStemPathExpired,
CompactBlockReceived,
BlockReconstructionStarted,
BlockReconstructionCompleted,
FibreBlockEncoded,
FibreBlockSent,
CompanionUdpPeerRegistered,
CompanionUdpPeerUnregistered,
PackageReceived,
PackageRejected,
UtxoCommitmentReceived,
UtxoCommitmentVerified,
BanListShared,
BanListReceived,
SelectiveSyncPolicyApplied,
ActionExecuted,
ModulePurchaseCompleted,
StratumClientConnected,
StratumClientDisconnected,
IBDBlockFiltered,
ModuleDiscovered,
ModuleInstalled,
ModuleUpdated,
ModuleRemoved,
}Expand description
Event types that modules can subscribe to
Variants§
NewBlock
New block connected to chain
NewTransaction
New transaction in mempool
BlockDisconnected
Block disconnected (chain reorg)
ChainReorg
Chain reorganization occurred
PaymentRequestCreated
Payment request created
PaymentSettled
Payment settled (confirmed on-chain)
PaymentFailed
Payment failed
PaymentVerified
Lightning payment verified
PaymentRouteFound
Payment route discovered
PaymentRouteFailed
Payment routing failed
ChannelOpened
Lightning channel opened
ChannelClosed
Lightning channel closed
BlockMined
Block mined successfully
BlockTemplateUpdated
Block template updated
MiningDifficultyChanged
Mining difficulty changed
MiningJobCreated
Mining job created
MeshPacketReceived
Mesh packet received from network
StratumV2MessageReceived
Stratum V2 message received from network
Mining share submitted
MergeMiningReward
Merge mining reward received
MiningPoolConnected
Mining pool connected
MiningPoolDisconnected
Mining pool disconnected
GovernanceProposalCreated
Governance proposal created
GovernanceProposalVoted
Vote cast on proposal
GovernanceProposalMerged
Proposal merged
WebhookSent
Webhook sent
WebhookFailed
Webhook delivery failed
GovernanceForkDetected
Governance fork detected
PeerConnected
Peer connected
PeerDisconnected
Peer disconnected
PeerBanned
Peer banned
PeerUnbanned
Peer unbanned
MessageReceived
Network message received
MessageSent
Network message sent
BroadcastStarted
Broadcast operation started
BroadcastCompleted
Broadcast operation completed
RouteDiscovered
Route discovered
RouteFailed
Route failed
ConnectionAttempt
Connection attempt (success/failure)
AddressDiscovered
New peer address discovered
AddressExpired
Peer address expired
NetworkPartition
Network partition detected
NetworkReconnected
Network partition reconnected
DoSAttackDetected
DoS attack detected
RateLimitExceeded
Rate limit exceeded
BlockValidationStarted
Block validation started
BlockValidationCompleted
Block validation completed (success/failure)
ScriptVerificationStarted
Script verification started
ScriptVerificationCompleted
Script verification completed
UTXOValidationStarted
UTXO validation started
UTXOValidationCompleted
UTXO validation completed
DifficultyAdjusted
Network difficulty adjusted
SoftForkActivated
Soft fork activated (SegWit, Taproot, CTV, etc.)
SoftForkLockedIn
Soft fork locked in (BIP9)
ConsensusRuleViolation
Consensus rule violation detected
HeadersSyncStarted
Headers sync started
HeadersSyncProgress
Headers sync progress update
HeadersSyncCompleted
Headers sync completed
BlockSyncStarted
Block sync started (IBD)
BlockSyncProgress
Block sync progress update
BlockSyncCompleted
Block sync completed
SyncStateChanged
Sync state changed (Initial → Headers → Blocks → Synced)
MempoolTransactionAdded
Transaction added to mempool
MempoolTransactionRemoved
Transaction removed from mempool
MempoolThresholdExceeded
Mempool size threshold exceeded
FeeRateChanged
Fee rate changed (derived from mempool)
MempoolCleared
Mempool cleared
StorageRead
Storage read operation
StorageWrite
Storage write operation
StorageQuery
Storage query operation
DatabaseBackupStarted
Database backup started
DatabaseBackupCompleted
Database backup completed
ModuleLoaded
Module loaded successfully
ModuleUnloaded
Module unloaded
ModuleReloaded
Module reloaded
ModuleStarted
Module started
ModuleStopped
Module stopped
ModuleCrashed
Module crashed
ModuleHealthChanged
Module health status changed
ModuleStateChanged
Module state changed
ConfigLoaded
Node configuration loaded/changed Modules can subscribe to this to react to config changes
NodeShutdown
Node is shutting down (modules should clean up gracefully)
NodeShutdownCompleted
Node shutdown completed
NodeStartupCompleted
Node startup completed (all components initialized)
MaintenanceStarted
Maintenance operation started (modules can prepare)
MaintenanceCompleted
Maintenance operation completed
DataMaintenance
Data maintenance requested (unified cleanup/flush event) Modules should clean up old data and/or flush pending writes Urgency level indicates how urgent the operation is
HealthCheck
Health check performed (modules can report their health)
DiskSpaceLow
Disk space is low (modules should clean up data)
ResourceLimitWarning
Resource limit warning (modules should reduce usage)
DandelionStemStarted
Transaction entered stem phase
DandelionStemAdvanced
Transaction advanced in stem phase
DandelionFluffed
Transaction transitioned to fluff phase
DandelionStemPathExpired
Stem path expired
CompactBlockReceived
Compact block received
BlockReconstructionStarted
Block reconstruction started
BlockReconstructionCompleted
Block reconstruction completed
FibreBlockEncoded
Block encoded for FIBRE
FibreBlockSent
Block sent via FIBRE
CompanionUdpPeerRegistered
P2P peer gained a companion UDP endpoint (NODE_FIBRE after handshake; modules e.g. blvm-fibre)
CompanionUdpPeerUnregistered
Companion UDP peer removed (disconnect; peer had NODE_FIBRE)
PackageReceived
Transaction package received
PackageRejected
Transaction package rejected
UtxoCommitmentReceived
UTXO commitment received
UtxoCommitmentVerified
UTXO commitment verified
Ban list shared with peer
BanListReceived
Ban list received from peer
SelectiveSyncPolicyApplied
Selective sync policy applied (subscribe, refresh, etc.)
ActionExecuted
Mining action executed (miningos trigger_action)
ModulePurchaseCompleted
Module purchase completed (marketplace)
StratumClientConnected
Stratum V2 miner connected
StratumClientDisconnected
Stratum V2 miner disconnected
IBDBlockFiltered
Block filtered during IBD (selective sync, prune, etc.)
ModuleDiscovered
Module discovered
ModuleInstalled
Module installed
ModuleUpdated
Module updated
ModuleRemoved
Module removed
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EventType
impl<'de> Deserialize<'de> for EventType
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<EventType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<EventType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for EventType
impl Serialize for EventType
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for EventType
impl Eq for EventType
impl StructuralPartialEq for EventType
Auto Trait Implementations§
impl Freeze for EventType
impl RefUnwindSafe for EventType
impl Send for EventType
impl Sync for EventType
impl Unpin for EventType
impl UnsafeUnpin for EventType
impl UnwindSafe for EventType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more