Class VHTLCv2StrictClaim
The opt-in bound that makes a non-interactive claim pay at least the quoted amounts, enforced in script rather than at the consumer's own admission layer.
public sealed record VHTLCv2StrictClaim : IEquatable<VHTLCv2StrictClaim>
- Inheritance
-
VHTLCv2StrictClaim
- Implements
- Inherited Members
Remarks
ADDITIVE, NEVER A REPLACEMENT. The covenant's default bound is conservation
(out >= in), and it stays. On its own, out >= quoted leaves everything ABOVE
the quote unconstrained, so an overfunded lockup's surplus could be routed anywhere by whoever
assembles the spend — trading an underfunding hole for a skimming one.
What it costs: the address becomes a function of the quote, because these amounts compile into the leaf, hence the covenant key, hence the pkScript — a re-quote is a different address and cannot be applied to a lockup already funded. And an underfunded lockup becomes unclaimable, its only exit the refund path, which waits out the locktime.
Constructors
VHTLCv2StrictClaim(long, long?)
The opt-in bound that makes a non-interactive claim pay at least the quoted amounts, enforced in script rather than at the consumer's own admission layer.
public VHTLCv2StrictClaim(long Amount, long? AssetAmount = null)
Parameters
AmountlongSats the claim must pay. Positive.
AssetAmountlong?Asset base units the claim must pay. Required if and only if the contract names a VHTLCv2Asset: bounding only the sats would pin the CARRIER and say nothing about the asset that is the actual amount — half-enforcement that reads like enforcement.
Remarks
ADDITIVE, NEVER A REPLACEMENT. The covenant's default bound is conservation
(out >= in), and it stays. On its own, out >= quoted leaves everything ABOVE
the quote unconstrained, so an overfunded lockup's surplus could be routed anywhere by whoever
assembles the spend — trading an underfunding hole for a skimming one.
What it costs: the address becomes a function of the quote, because these amounts compile into the leaf, hence the covenant key, hence the pkScript — a re-quote is a different address and cannot be applied to a lockup already funded. And an underfunded lockup becomes unclaimable, its only exit the refund path, which waits out the locktime.
Properties
Amount
Sats the claim must pay. Positive.
public long Amount { get; init; }
Property Value
AssetAmount
Asset base units the claim must pay. Required if and only if the contract names a VHTLCv2Asset: bounding only the sats would pin the CARRIER and say nothing about the asset that is the actual amount — half-enforcement that reads like enforcement.
public long? AssetAmount { get; init; }
Property Value
- long?