Class SettlementRequest
- Namespace
- NArk.Abstractions.Settlement
- Assembly
- NArk.Abstractions.dll
A single settlement execution: move Amount of
SourceAsset out of WalletId to
Destination.
public record SettlementRequest : IEquatable<SettlementRequest>
- Inheritance
-
SettlementRequest
- Implements
- Inherited Members
Constructors
SettlementRequest(string, long, SettlementDestination, string, IReadOnlyCollection<ArkCoin>?, string?)
A single settlement execution: move Amount of
SourceAsset out of WalletId to
Destination.
public SettlementRequest(string WalletId, long Amount, SettlementDestination Destination, string SourceAsset = "BTC", IReadOnlyCollection<ArkCoin>? Coins = null, string? Reference = null)
Parameters
WalletIdstringThe wallet the funds leave.
AmountlongAmount to settle, in
SourceAsset's atomic units — satoshis for BTC. Must be positive.DestinationSettlementDestinationWhere the funds go.
SourceAssetstringWhat leaves the wallet: Btc (the default) or the id of an Arkade-issued asset. A rail that only moves value keeps the destination asset equal to this; a rail that converts (a swap, an exchange) reads both sides and reports what arrived in DestinationAtomicAmount.
CoinsIReadOnlyCollection<ArkCoin>The exact coins to spend. Supplied when a policy already picked them (the sweep path); null leaves coin selection to the settlement implementation.
ReferencestringOptional caller-supplied correlation id (a store id, an invoice id) carried through logs and
PostSettlementActionEvent. The SDK never interprets it.
Properties
Amount
Amount to settle, in SourceAsset's atomic units — satoshis for BTC.
Must be positive.
public long Amount { get; init; }
Property Value
Coins
The exact coins to spend. Supplied when a policy already picked them (the sweep path); null leaves coin selection to the settlement implementation.
public IReadOnlyCollection<ArkCoin>? Coins { get; init; }
Property Value
Destination
Where the funds go.
public SettlementDestination Destination { get; init; }
Property Value
IsBtc
True when this settlement moves BTC rather than an Arkade-issued asset.
public bool IsBtc { get; }
Property Value
Reference
Optional caller-supplied correlation id (a store id, an invoice id) carried through
logs and PostSettlementActionEvent. The SDK never interprets it.
public string? Reference { get; init; }
Property Value
SourceAsset
What leaves the wallet: Btc (the default) or the id of an Arkade-issued asset. A rail that only moves value keeps the destination asset equal to this; a rail that converts (a swap, an exchange) reads both sides and reports what arrived in DestinationAtomicAmount.
public string SourceAsset { get; init; }
Property Value
WalletId
The wallet the funds leave.
public string WalletId { get; init; }