Table of Contents

Class ArkadeSwapMetadataKeys

Namespace
NArk.ArkadeIntents.Models
Assembly
NArk.ArkadeIntents.dll

The keys Metadata is written under. Constants rather than string literals at each call site, so a typo is a build error instead of a value that silently reads back as absent.

public static class ArkadeSwapMetadataKeys
Inheritance
ArkadeSwapMetadataKeys
Inherited Members

Fields

ComposedOutgoingSwapId

Persisted outgoing RFQ identity linking an ingress to its independent EVM leg.

public const string ComposedOutgoingSwapId = "composedOutgoingSwapId"

Field Value

string

ComposedPayoutPkScript

Exact script L pinned by a linked ingress claim; its presence requires route validation.

public const string ComposedPayoutPkScript = "composedPayoutPkScript"

Field Value

string

EvmAmount

Exact ERC20 atomic output amount.

public const string EvmAmount = "evmAmount"

Field Value

string

EvmClaimAddress

Merchant ERC20 destination.

public const string EvmClaimAddress = "evmClaimAddress"

Field Value

string

EvmClaimPreparedTransaction

Signed raw EVM transaction durably recorded before broadcast; contains the route preimage.

public const string EvmClaimPreparedTransaction = "evmClaimPreparedTransaction"

Field Value

string

EvmClaimSubmittedTxid

Signed EVM transaction identity durably recorded before broadcast, not proof of delivery.

public const string EvmClaimSubmittedTxid = "evmClaimSubmittedTxid"

Field Value

string

EvmClaimTxid

EVM transaction whose receipt proves exact merchant delivery.

public const string EvmClaimTxid = "evmClaimTxid"

Field Value

string

EvmDeliveredAmount

Exact ERC20 amount independently verified from the claim receipt.

public const string EvmDeliveredAmount = "evmDeliveredAmount"

Field Value

string

EvmLockObservedAtBlock

Tip at which the pre-claim EVM lock was observed.

public const string EvmLockObservedAtBlock = "evmLockObservedAtBlock"

Field Value

string

EvmLockProvenAtBlock

Historical block proving the configured EVM lock depth.

public const string EvmLockProvenAtBlock = "evmLockProvenAtBlock"

Field Value

string

EvmLockProvenBlockTimestamp

Unix timestamp of the age-proving EVM block.

public const string EvmLockProvenBlockTimestamp = "evmLockProvenBlockTimestamp"

Field Value

string

EvmRefundAddress

Solver EVM refund destination.

public const string EvmRefundAddress = "evmRefundAddress"

Field Value

string

EvmSwapContractAddress

Configured ERC20Swap contract.

public const string EvmSwapContractAddress = "evmSwapContractAddress"

Field Value

string

EvmTimeoutBlock

EVM refund block.

public const string EvmTimeoutBlock = "evmTimeoutBlock"

Field Value

string

EvmTokenAddress

ERC20 token contract.

public const string EvmTokenAddress = "evmTokenAddress"

Field Value

string

HtlcLocktime

Unix seconds at which the L1 HTLC's refund leaf opens.

public const string HtlcLocktime = "htlcLocktime"

Field Value

string

HtlcPubkey

The counterparty's x-only key on an onchain corridor's L1 HTLC, hex.

public const string HtlcPubkey = "htlcPubkey"

Field Value

string

Remarks

Which leaf it sits on follows the direction, exactly as the wire's own field names do: on an off-board the counterparty holds the refund role, on an on-board it holds the claim role. One key either way — it is always "the half of the L1 HTLC that is not ours".

Invoice

The BOLT11 a Lightning swap pays or is paid by.

public const string Invoice = "invoice"

Field Value

string

MakerDescriptor

The maker's signing output descriptor for an asset swap's cancel path.

public const string MakerDescriptor = "makerDescriptor"

Field Value

string

OfferHex

Hex-encoded offer TLV — rebuilds an asset swap's covenant for the cancel path.

public const string OfferHex = "offerHex"

Field Value

string

OnchainMinConfirmations

Confirmations the quote asked for on the L1 funding, as quoted.

public const string OnchainMinConfirmations = "onchainMinConfirmations"

Field Value

string

OnchainPayoutAddress

Where this swap's own L1 spend pays. A payout on an off-board, where we claim; a refund on an on-board, where reclaiming our own funding is the only L1 move we ever make.

public const string OnchainPayoutAddress = "onchainPayoutAddress"

Field Value

string

Preimage

The preimage a swap settles on, hex.

public const string Preimage = "preimage"

Field Value

string

RfqId

The RFQ negotiation this swap was quoted under, when it was quoted at all.

public const string RfqId = "rfqId"

Field Value

string

Remarks

Absent on an unquoted offer, which is the whole difference between the two ways an Arkade swap starts: one publishes a standing offer and waits for any taker, the other agrees terms with a named solver first. Only the second has a negotiation to ask for a status on, and the intent's own id cannot stand in for it — it is the funding txid, because that is what the cancel path looks the deposit up by.

SolverPubkey

The solver that quoted this swap, x-only hex.

public const string SolverPubkey = "solverPubkey"

Field Value

string

Remarks

Corridor-neutral, so it sits beside the per-corridor records rather than inside one: every corridor here is negotiated against a counterparty, and which one it was is the first thing anybody asks when a swap goes wrong. Recorded because the choice is made per payment — the cheapest listed solver at that moment — so it cannot be reconstructed afterwards from configuration.