Table of Contents

Namespace NArk.Core.Exit

Classes

CsvMaturity

Evaluates BIP-68 relative timelocks (the CSV delay on an Arkade contract's unilateral-exit path) against live chain state.

An NBitcoin.Sequence is not a block count. NBitcoin encodes a time-based relative lock by setting SEQUENCE_LOCKTIME_TYPE_FLAG (bit 22) and storing the delay in 512-second units, so NBitcoin.Sequence.Value for a 24-hour delay is 4,194,472 — adding that raw number to a block height pushes maturity roughly 80 years out. Always branch on NBitcoin.Sequence.LockType, which this helper does:

  • NBitcoin.SequenceLockType.Height — compare the tip height against the input's confirmation height plus NBitcoin.Sequence.LockHeight blocks.
  • NBitcoin.SequenceLockType.Time — compare the tip's median time past (BIP 113) against the MTP of the block that confirmed the input plus NBitcoin.Sequence.LockPeriod. Heights don't enter into it.
InMemoryExitSessionStorage

In-process IExitSessionStorage with no durable backing store. State lives for the lifetime of the host — perfect for emergency-exit tooling, plugins, or ephemeral wallets that don't want the EF Core schema cost. If the host restarts mid-exit, the session is lost and the consumer has to re-trigger; trade off resumability for zero persistence.

P2ACpfpBuilder

Builds v3 CPFP child transactions that spend P2A anchor outputs, enabling 1p1c package relay for Ark virtual tree transactions.

Structs

CsvMaturityResult

Result of a BIP-68 relative-timelock maturity check.