Table of Contents

Class QuotedSwapRequest

Namespace
NArk.ArkadeIntents.Assets
Assembly
NArk.ArkadeIntents.dll

A request to have a solver quote an Arkade swap before anything is funded.

public sealed record QuotedSwapRequest : IEquatable<QuotedSwapRequest>
Inheritance
QuotedSwapRequest
Implements
Inherited Members

Remarks

Exactly one leg names an asset. Both legs naming one is a swap the wire can express and this covenant cannot: the offer commits to the wanted asset and carries the offered one on the deposit, and the reference client draws the same line.

Constructors

QuotedSwapRequest(string, AssetId?, AssetId?, BigInteger, RfqAmountSide, BigInteger?, BigInteger?)

A request to have a solver quote an Arkade swap before anything is funded.

public QuotedSwapRequest(string WalletId, AssetId? OfferAsset, AssetId? WantAsset, BigInteger Amount, RfqAmountSide AmountSide = RfqAmountSide.From, BigInteger? MaxFromAmount = null, BigInteger? MinToAmount = null)

Parameters

WalletId string

The wallet that deposits, and that the fill pays.

OfferAsset AssetId

The asset deposited, or null to deposit sats.

WantAsset AssetId

The asset wanted, or null to want sats.

Amount BigInteger

Atomic units of whichever leg AmountSide names — sats on a BTC leg, the asset's own atomic unit otherwise.

AmountSide RfqAmountSide

Which leg Amount fixes. From asks "quote me a payout for this deposit", To asks "quote me the deposit that reaches this payout" — this corridor serves both.

MaxFromAmount BigInteger?

The most this caller will deposit, or null for no cap. Meaningful only with To, where the deposit is the side the solver chose.

MinToAmount BigInteger?

The least this caller will accept, or null for no floor. Meaningful only with From, for the same reason.

Remarks

Exactly one leg names an asset. Both legs naming one is a swap the wire can express and this covenant cannot: the offer commits to the wanted asset and carries the offered one on the deposit, and the reference client draws the same line.

Properties

Amount

Atomic units of whichever leg AmountSide names — sats on a BTC leg, the asset's own atomic unit otherwise.

public BigInteger Amount { get; init; }

Property Value

BigInteger

AmountSide

Which leg Amount fixes. From asks "quote me a payout for this deposit", To asks "quote me the deposit that reaches this payout" — this corridor serves both.

public RfqAmountSide AmountSide { get; init; }

Property Value

RfqAmountSide

MaxFromAmount

The most this caller will deposit, or null for no cap. Meaningful only with To, where the deposit is the side the solver chose.

public BigInteger? MaxFromAmount { get; init; }

Property Value

BigInteger?

MinToAmount

The least this caller will accept, or null for no floor. Meaningful only with From, for the same reason.

public BigInteger? MinToAmount { get; init; }

Property Value

BigInteger?

OfferAsset

The asset deposited, or null to deposit sats.

public AssetId? OfferAsset { get; init; }

Property Value

AssetId

WalletId

The wallet that deposits, and that the fill pays.

public string WalletId { get; init; }

Property Value

string

WantAsset

The asset wanted, or null to want sats.

public AssetId? WantAsset { get; init; }

Property Value

AssetId