Class LOEscrow
The Escrow object type represents a held payment of XRP or fungible tokens (IOUs, MPTs) waiting to be executed or canceled.
Implements
Inherited Members
Namespace: Xrpl.Models.Ledger
Assembly: Xrpl.dll
Syntax
public class LOEscrow : BaseLedgerEntry, IDestination
Properties
| Edit this page View SourceAccount
The address of the owner (sender) of this held payment.
This is the account that provided the funds, and gets it back if the held payment is
canceled.
Declaration
public string Account { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Amount
The amount to be delivered by the escrow. Can be XRP (as drops string), an IOU token, or an MPT. (The TokenEscrow amendment extends this to support fungible tokens.)
Declaration
[JsonConverter(typeof(CurrencyConverter))]
public Currency Amount { get; set; }
Property Value
| Type | Description |
|---|---|
| Currency |
Bytecode
SmartEscrow: compiled WebAssembly whose escrow_finish export decides whether this
escrow may be finished (hex blob). Present only on an escrow created with one, and an
escrow that carries it must also carry CancelAfter, so buggy code cannot
strand the funds.
Declaration
[JsonPropertyName("Bytecode")]
public string? Bytecode { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CancelAfter
The time after which this Escrow is considered expired.
Declaration
[JsonConverter(typeof(RippleDateTimeConverter))]
public DateTime? CancelAfter { get; set; }
Property Value
| Type | Description |
|---|---|
| Nullable |
Condition
A PREIMAGE-SHA-256 crypto-condition, as hexadecimal.
If present, the EscrowFinish transaction must contain a fulfillment that satisfies this condition.
https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1
Declaration
public string Condition { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Data
SmartEscrow: state the Bytecode may read and write (hex blob). The only ledger state that code is allowed to modify.
Declaration
[JsonPropertyName("Data")]
public string? Data { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Destination
The destination address where the funds are paid if the held payment is successful.
Declaration
public string Destination { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
DestinationNode
A hint indicating which page of the destination's owner directory links to this object, in case the directory consists of multiple pages.
Declaration
public string DestinationNode { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
DestinationTag
An arbitrary tag to further specify the destination for this held payment, such as a hosted recipient at the destination address.
Declaration
public uint? DestinationTag { get; set; }
Property Value
| Type | Description |
|---|---|
| uint? |
FinishAfter
The time, in seconds, since the Ripple Epoch, after which this held payment can be finished.
Any EscrowFinish transaction before this time fails.
Declaration
[JsonConverter(typeof(RippleDateTimeConverter))]
public DateTime? FinishAfter { get; set; }
Property Value
| Type | Description |
|---|---|
| Nullable |
Flags
A bit-map of boolean flags.
Declaration
[JsonPropertyName("Flags")]
public uint? Flags { get; set; }
Property Value
| Type | Description |
|---|---|
| uint? |
Remarks
Left undeclared on the reasoning that no lsfEscrow* flag exists, so the value is
always zero and modelling it buys nothing. The field arrives all the same - on every
deleted Escrow node in transaction metadata - and an undeclared field is not an absent
one: it went to UnknownFields untyped.
A plain number rather than an enum, deliberately: sibling entries type theirs
(LOOffer.OfferFlags and the rest) because their flags are defined, and inventing
an empty enum here would claim a vocabulary that does not exist. If lsfEscrow*
flags are ever defined, this becomes that enum.
IssuerNode
A hint indicating which page of the issuer's owner directory links to this object, in case the directory consists of multiple pages. Used when the issuer is neither the source nor destination account. Requires the TokenEscrow amendment.
Declaration
public string IssuerNode { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
OwnerNode
A hint indicating which page of the owner directory links to this object, in case the directory consists of multiple pages.
Declaration
public string OwnerNode { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PreviousTxnID
The identifying hash of the transaction that most recently modified this object.
Declaration
public string PreviousTxnID { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PreviousTxnLgrSeq
The index of the ledger that contains the transaction that most recently modified this object.
Declaration
public uint? PreviousTxnLgrSeq { get; set; }
Property Value
| Type | Description |
|---|---|
| uint? |
Sequence
Sequence (or ticket) of the EscrowCreate transaction that created this escrow.
Declaration
[JsonPropertyName("Sequence")]
public uint? Sequence { get; set; }
Property Value
| Type | Description |
|---|---|
| uint? |
SourceTag
An arbitrary tag to further specify the source for this held payment, such as a hosted recipient at the owner's address.
Declaration
public uint? SourceTag { get; set; }
Property Value
| Type | Description |
|---|---|
| uint? |
TransferRate
The transfer rate or fee to charge when users finish an escrow, locked at the creation of an escrow contract and used during settlement. Applicable to Trust Line Tokens and MPTs only. Requires the TokenEscrow amendment.
Declaration
public uint? TransferRate { get; set; }
Property Value
| Type | Description |
|---|---|
| uint? |