Class SettlementResult
- Namespace
- NArk.Abstractions.Settlement
- Assembly
- NArk.Abstractions.dll
The outcome of a completed settlement.
public record SettlementResult : IEquatable<SettlementResult>
- Inheritance
-
SettlementResult
- Implements
- Inherited Members
Constructors
SettlementResult(string, long, long, long?, uint256?, long?)
The outcome of a completed settlement.
public SettlementResult(string TransferId, long SourceAmount, long DestinationAmountSats, long? FeesPaidSats, uint256? TransactionId = null, long? DestinationAtomicAmount = null)
Parameters
TransferIdstringImplementation-defined identifier for the transfer — an Arkade transaction id, an intent id, a swap id. Stable enough to correlate later status updates against.
SourceAmountlongWhat was actually taken from the wallet, in the request's source asset atomic units — satoshis for BTC.
DestinationAmountSatslongSatoshis expected at the destination. Equal to
SourceAmountfor same-asset BTC settlements; for a swap it is the amount net of swap and miner fees. For an asset settlement it is the satoshi carrier the asset rides on, with the asset amount itself reported inDestinationAtomicAmount.FeesPaidSatslong?Total fees paid, in satoshis, or null when the rail cannot know them yet — a collaborative exit pays a batch fee that is only settled at confirmation. Reporting zero there would put a wrong number into an application's fee accounting rather than an absent one.
TransactionIduint256The Arkade transaction id, when the settlement produced one directly.
DestinationAtomicAmountlong?Expected amount in the destination asset's own atomic units, for destinations that are not denominated in satoshis (a stablecoin transfer, for example). null when the destination is BTC.
Properties
DestinationAmountSats
Satoshis expected at the destination. Equal to SourceAmount for
same-asset BTC settlements; for a swap it is the amount net of swap and miner fees. For an
asset settlement it is the satoshi carrier the asset rides on, with the asset amount itself
reported in DestinationAtomicAmount.
public long DestinationAmountSats { get; init; }
Property Value
DestinationAtomicAmount
Expected amount in the destination asset's own atomic units, for destinations that are not denominated in satoshis (a stablecoin transfer, for example). null when the destination is BTC.
public long? DestinationAtomicAmount { get; init; }
Property Value
- long?
FeesPaidSats
Total fees paid, in satoshis, or null when the rail cannot know them yet — a collaborative exit pays a batch fee that is only settled at confirmation. Reporting zero there would put a wrong number into an application's fee accounting rather than an absent one.
public long? FeesPaidSats { get; init; }
Property Value
- long?
SourceAmount
What was actually taken from the wallet, in the request's source asset atomic units — satoshis for BTC.
public long SourceAmount { get; init; }
Property Value
TransactionId
The Arkade transaction id, when the settlement produced one directly.
public uint256? TransactionId { get; init; }
Property Value
- uint256
TransferId
Implementation-defined identifier for the transfer — an Arkade transaction id, an intent id, a swap id. Stable enough to correlate later status updates against.
public string TransferId { get; init; }