Class PendingOnchainReceive
- Namespace
- NArk.ArkadeIntents.Onchain
- Assembly
- NArk.ArkadeIntents.dll
A negotiated on-board, waiting for its L1 HTLC to be funded.
public sealed record PendingOnchainReceive : IEquatable<PendingOnchainReceive>
- Inheritance
-
PendingOnchainReceive
- Implements
- Inherited Members
Constructors
PendingOnchainReceive(string, RfqQuote<OnchainReceiveQuoteProfile>, string, long, long, int, string, string, byte[], VHTLCv2Contract, string)
A negotiated on-board, waiting for its L1 HTLC to be funded.
public PendingOnchainReceive(string RfqId, RfqQuote<OnchainReceiveQuoteProfile> Quote, string HtlcAddress, long FundAmountSats, long HtlcLocktime, int MinConfirmations, string LockupAddress, string PaymentHash, byte[] Preimage, VHTLCv2Contract Contract, string PayoutAddress)
Parameters
RfqIdstringThe negotiation, and the swap's id.
QuoteRfqQuote<OnchainReceiveQuoteProfile>The terms, as accepted.
HtlcAddressstringThe Bitcoin L1 address to send
FundAmountSatsto. Fund this and nothing else: it was derived here, not taken from the quote.FundAmountSatslongWhat the L1 funding must carry, in sats — exactly this, in exactly one output. See ReceiveFromOnchainAsync(string, long, IRfqTransport, string?, BitcoinAddress, RfqAmountSide, SolverCard?, ArkContract?, CancellationToken) for what a near miss costs.
HtlcLocktimelongUnix seconds at which the L1 refund leaf opens — the way out.
MinConfirmationsintConfirmations the solver waits for before it funds Arkade.
LockupAddressstringThe Arkade covenant the solver will fund, and we will claim.
PaymentHashstringsha256(Preimage), hex.Preimagebyte[]The secret that settles both rails. Linked routes reuse caller-owned P, which requires retained SDK intent storage rather than wallet-only recovery.
ContractVHTLCv2ContractThe Arkade covenant, derived locally.
PayoutAddressstringArkade claim destination: the wallet or a linked outgoing lock L.
Properties
Contract
The Arkade covenant, derived locally.
public VHTLCv2Contract Contract { get; init; }
Property Value
FundAmountSats
What the L1 funding must carry, in sats — exactly this, in exactly one output. See ReceiveFromOnchainAsync(string, long, IRfqTransport, string?, BitcoinAddress, RfqAmountSide, SolverCard?, ArkContract?, CancellationToken) for what a near miss costs.
public long FundAmountSats { get; init; }
Property Value
HtlcAddress
The Bitcoin L1 address to send FundAmountSats to. Fund this and nothing else:
it was derived here, not taken from the quote.
public string HtlcAddress { get; init; }
Property Value
HtlcLocktime
Unix seconds at which the L1 refund leaf opens — the way out.
public long HtlcLocktime { get; init; }
Property Value
LockupAddress
The Arkade covenant the solver will fund, and we will claim.
public string LockupAddress { get; init; }
Property Value
MinConfirmations
Confirmations the solver waits for before it funds Arkade.
public int MinConfirmations { get; init; }
Property Value
PaymentHash
sha256(Preimage), hex.
public string PaymentHash { get; init; }
Property Value
PayoutAddress
Arkade claim destination: the wallet or a linked outgoing lock L.
public string PayoutAddress { get; init; }
Property Value
Preimage
The secret that settles both rails. Linked routes reuse caller-owned P, which requires retained SDK intent storage rather than wallet-only recovery.
public byte[] Preimage { get; init; }
Property Value
- byte[]
Quote
The terms, as accepted.
public RfqQuote<OnchainReceiveQuoteProfile> Quote { get; init; }
Property Value
RfqId
The negotiation, and the swap's id.
public string RfqId { get; init; }