crate::ix!();
pub trait ChainInterface:
ChainHeight
+ GetBlockHash
+ HaveBlockOnDisk
+ Tip
+ Contains<Arc<BlockIndex>>
+ GetLocator<Arc<BlockIndex>, LocatorType = BlockLocator>
+ GetTipLocator
+ FindLocatorFork
+ CheckFinalTx
+ FindBlock
+ FindFirstBlockWithTimeAndHeight
+ FindAncestorByHeight
+ FindAncestorByHash
+ FindCommonAncestor
+ FindCoins
+ GuessVerificationProgress
+ HasBlocks
+ IsRBFOptIn
+ IsInMempool
+ HasDescendantsInMempool
+ BroadcastTransaction
+ GetTransactionAncestry
+ GetPackageLimits
+ CheckChainLimits
+ EstimateSmartFee
+ EstimateMaxBlocks
+ MemPoolMinFee
+ RelayMinFee
+ RelayIncrementalFee
+ RelayDustFee
+ HavePruned
+ IsReadyToBroadcast
+ IsInitialBlockDownload
+ ShutdownRequested
+ GetAdjustedTime
+ InitMessage
+ InitWarning
+ InitError
+ ShowProgress
+ HandleNotifications
+ WaitForNotificationsIfTipChanged
+ HandleRpc
+ RpcEnableDeprecated
+ RpcRunLater
+ RpcSerializationFlags
+ GetSetting
+ GetSettingsList
+ GetRwSetting
+ UpdateRwSetting
+ RequestMempoolTransactions
+ IsTaprootActive
+ ChainNext
+ Index<i32, Output = Option<Arc<BlockIndex>>>
{}