Class BlockchainMonitorService
- Namespace
- NLightning.Infrastructure.Bitcoin.Wallet
- Assembly
- NLightning.Infrastructure.Bitcoin.dll
public class BlockchainMonitorService : IBlockchainMonitor
- Inheritance
-
BlockchainMonitorService
- Implements
- Inherited Members
Constructors
BlockchainMonitorService(IOptions<BitcoinOptions>, IBitcoinChainService, ILogger<BlockchainMonitorService>, IOptions<NodeOptions>, IServiceProvider)
public BlockchainMonitorService(IOptions<BitcoinOptions> bitcoinOptions, IBitcoinChainService bitcoinChainService, ILogger<BlockchainMonitorService> logger, IOptions<NodeOptions> nodeOptions, IServiceProvider serviceProvider)
Parameters
bitcoinOptionsIOptions<BitcoinOptions>bitcoinChainServiceIBitcoinChainServiceloggerILogger<BlockchainMonitorService>nodeOptionsIOptions<NodeOptions>serviceProviderIServiceProvider
Properties
LastProcessedBlockHeight
public uint LastProcessedBlockHeight { get; }
Property Value
Methods
PublishAndWatchTransactionAsync(ChannelId, SignedTransaction, uint)
public Task PublishAndWatchTransactionAsync(ChannelId channelId, SignedTransaction signedTransaction, uint requiredDepth)
Parameters
channelIdChannelIdsignedTransactionSignedTransactionrequiredDepthuint
Returns
StartAsync(uint, CancellationToken)
Starts a background task to periodically refresh the fee rate
public Task StartAsync(uint heightOfBirth, CancellationToken cancellationToken)
Parameters
heightOfBirthuintWallet's height of birth to avoid processing old blocks
cancellationTokenCancellationToken
Returns
StopAsync()
Stops the background task and cancels any ongoing operations within the service.
public Task StopAsync()
Returns
- Task
A task representing the asynchronous stop operation.
WatchBitcoinAddress(WalletAddressModel)
public void WatchBitcoinAddress(WalletAddressModel walletAddress)
Parameters
walletAddressWalletAddressModel
WatchTransactionAsync(ChannelId, TxId, uint)
public Task WatchTransactionAsync(ChannelId channelId, TxId txId, uint requiredDepth)
Parameters
Returns
Events
OnNewBlockDetected
public event EventHandler<NewBlockEventArgs>? OnNewBlockDetected
Event Type
OnTransactionConfirmed
public event EventHandler<TransactionConfirmedEventArgs>? OnTransactionConfirmed
Event Type
OnWalletMovementDetected
public event EventHandler<WalletMovementEventArgs>? OnWalletMovementDetected