bitcoin-payment-channel-1.2.0.0: src/Bitcoin/Tx.hs
module Bitcoin.Tx where
import Bitcoin.Types
import Bitcoin.LockTime.Util
import qualified Data.List.NonEmpty as NE
import Control.Monad.Time
allInputsLocked ::
( MonadTime m
, HasLockTimeDate r
)
=> Seconds -- ^ Lock expires this many seconds before actual expiration date
-> BtcTx inType r a
-> m Bool
allInputsLocked settlePeriodSeconds BtcTx{..} = do
isLockedLst <- mapM (isLocked settlePeriodSeconds . btcCondScr) (NE.toList btcIns)
return $ all (== True) isLockedLst