Class BatchExpiryOptions
Overrides for the bounds applied to the batch expiry an Arkade server declares when it opens a
batch. Every property is optional; a null property keeps the network-specific default
described on BatchExpiryPolicy.
public class BatchExpiryOptions
- Inheritance
-
BatchExpiryOptions
- Inherited Members
Remarks
The floors can be lowered but not switched off. A non-null floor that would stop rejecting anything is refused at startup rather than silently disabling the check: zero or less for either floor, and additionally anything below 512 seconds for MinimumExpiry, which is rounded down to a multiple of 512 before comparison and so would round to zero.
Properties
AllowBlockTypedExpiry
Whether to accept a block-typed (rather than seconds-typed) batch expiry. Defaults to
true on regtest and false everywhere else, mirroring arkd, which only permits
a block-typed VTXO tree expiry on regtest.
public bool? AllowBlockTypedExpiry { get; set; }
Property Value
- bool?
Remarks
Enabling this off regtest weakens the guarantee: block-typed expiries are bounded in blocks rather than wall-clock time, so their real duration depends on how fast blocks arrive. Only set it if you are talking to a server you know is configured that way.
MinimumExpiry
Shortest seconds-typed batch expiry this client will accept. Defaults to 24 hours, or 512 seconds on regtest.
public TimeSpan? MinimumExpiry { get; set; }
Property Value
Remarks
BIP-68 encodes seconds in units of 512, so the floor is itself rounded down to a multiple of 512 before comparison. A 24-hour floor therefore accepts 86016 (168 x 512), the closest encodable value below a literal 86400. For the same reason it must be at least 512 seconds when set: a shorter floor rounds down to zero and would accept any declared expiry.
MinimumExpiryBlocks
Shortest block-typed batch expiry this client will accept, in blocks. Only consulted when block-typed expiries are allowed at all. Defaults to 10 on regtest. Must be greater than zero when set.
public int? MinimumExpiryBlocks { get; set; }
Property Value
- int?