Class ImmutableEscrowFinish

java.lang.Object
org.xrpl.xrpl4j.model.transactions.ImmutableEscrowFinish
All Implemented Interfaces:
EscrowFinish, Transaction

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue public final class ImmutableEscrowFinish extends Object implements EscrowFinish
Immutable implementation of EscrowFinish.

Use the builder to create immutable instances: ImmutableEscrowFinish.builder().

  • Method Details

    • account

      public Address account()
      The unique Address of the account that initiated this transaction.
      Specified by:
      account in interface Transaction
      Returns:
      The Address of the account submitting this transaction.
    • transactionType

      public TransactionType transactionType()
      The type of transaction.
      Specified by:
      transactionType in interface Transaction
      Returns:
      A TransactionType.
    • fee

      public XrpCurrencyAmount fee()
      The String representation of an integer amount of XRP, in drops, to be destroyed as a cost for distributing this Payment transaction to the network.

      This field is auto-fillable

      Specified by:
      fee in interface Transaction
      Returns:
      An XrpCurrencyAmount representing the transaction cost.
      See Also:
      • "https://xrpl.org/transaction-common-fields.html#auto-fillable-fields"
    • sequence

      public com.google.common.primitives.UnsignedInteger sequence()
      The sequence number of the account submitting the Transaction. A Transaction is only valid if the Sequence number is exactly 1 greater than the previous transaction from the same account.

      This field is auto-fillable

      Specified by:
      sequence in interface Transaction
      Returns:
      An UnsignedInteger representing the sequence of the transaction.
      See Also:
      • "https://xrpl.org/transaction-common-fields.html#auto-fillable-fields"
    • ticketSequence

      public Optional<com.google.common.primitives.UnsignedInteger> ticketSequence()
      The sequence number of the TicketObject to use in place of a sequence() number. If this is provided, sequence() must be 0. Cannot be used with accountTransactionId().
      Specified by:
      ticketSequence in interface Transaction
      Returns:
      An UnsignedInteger representing the ticket sequence of the transaction.
    • accountTransactionId

      public Optional<Hash256> accountTransactionId()
      Hash value identifying another transaction. If provided, this Transaction is only valid if the sending account's previously-sent transaction matches the provided hash.
      Specified by:
      accountTransactionId in interface Transaction
      Returns:
      An Optional of type Hash256 containing the account transaction ID.
    • lastLedgerSequence

      public Optional<com.google.common.primitives.UnsignedInteger> lastLedgerSequence()
      Highest ledger index this transaction can appear in. Specifying this field places a strict upper limit on how long the transaction can wait to be validated or rejected.
      Specified by:
      lastLedgerSequence in interface Transaction
      Returns:
      An Optional of type UnsignedInteger representing the last ledger sequence.
    • memos

      public com.google.common.collect.ImmutableList<MemoWrapper> memos()
      Additional arbitrary information used to identify this Transaction.
      Specified by:
      memos in interface Transaction
      Returns:
      A List of MemoWrappers.
    • signers

      public com.google.common.collect.ImmutableList<SignerWrapper> signers()
      Array of SignerWrappers that represent a multi-signature which authorizes this Transaction.
      Specified by:
      signers in interface Transaction
      Returns:
      A List of SignerWrappers.
    • sourceTag

      public Optional<com.google.common.primitives.UnsignedInteger> sourceTag()
      Arbitrary UnsignedInteger used to identify the reason for this Transaction, or a sender on whose behalf this Transaction is made.
      Specified by:
      sourceTag in interface Transaction
      Returns:
      An Optional UnsignedInteger representing the source account's tag.
    • signingPublicKey

      public PublicKey signingPublicKey()
      The PublicKey that corresponds to the private key used to sign this transaction. If an empty string, ie PublicKey.MULTI_SIGN_PUBLIC_KEY, indicates a multi-signature is present in the Transaction.signers() field instead.
      Specified by:
      signingPublicKey in interface Transaction
      Returns:
      A PublicKey containing the public key of the account submitting the transaction, or PublicKey.MULTI_SIGN_PUBLIC_KEY if the transaction is multi-signed.
    • transactionSignature

      public Optional<Signature> transactionSignature()
      The signature that verifies this transaction as originating from the account it says it is from.

      This field is automatically added when signing this Transaction.

      Specified by:
      transactionSignature in interface Transaction
      Returns:
      An Optional String containing the transaction signature.
    • networkId

      public Optional<NetworkId> networkId()
      Specified by:
      networkId in interface Transaction
      Returns:
      The value of the networkId attribute
    • delegate

      public Optional<Address> delegate()
      The delegate account that is sending the transaction on behalf of the account().

      The way the Delegate field works is somewhat akin to RegularKey. The account() field is the delegating account, the Delegate field is the delegate, and the signingPublicKey() and transactionSignature() are based on the delegate's keys.

      If a Delegate has multisign enabled, they can also use that multisign setup on their delegated transactions.

      The delegate will pay the fees on the transaction, to prevent a delegate from draining an account's XRP via fees. Only the account()'s sequence number is incremented, not the Delegate's.

      This field is part of the Permission Delegation feature (XLS-75).

      Specified by:
      delegate in interface Transaction
      Returns:
      An Optional Address of the delegate account.
      See Also:
      • "https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0075-permission-delegation"
    • unknownFields

      public com.google.common.collect.ImmutableMap<String,Object> unknownFields()
      Specified by:
      unknownFields in interface Transaction
      Returns:
      The value of the unknownFields attribute
    • flags

      public TransactionFlags flags()
      Set of TransactionFlagss for this EscrowFinish, which only allows the tfFullyCanonicalSig flag, which is deprecated.

      The value of the flags cannot be set manually, but exists for JSON serialization/deserialization only and for proper signature computation in rippled.

      Specified by:
      flags in interface EscrowFinish
      Returns:
      Always TransactionFlags.EMPTY.
    • owner

      public Address owner()
      Address of the source account that funded the escrow payment.
      Specified by:
      owner in interface EscrowFinish
      Returns:
      The Address of the source account.
    • offerSequence

      public com.google.common.primitives.UnsignedInteger offerSequence()
      The Transaction.sequence() of the transaction that created the escrow to cancel.
      Specified by:
      offerSequence in interface EscrowFinish
      Returns:
      An UnsignedInteger representing the sequence number.
    • condition

      public Optional<com.ripple.cryptoconditions.Condition> condition()
      Hex value matching the previously-supplied PREIMAGE-SHA-256 crypto-condition of the held payment.

      If this field is empty, developers should check if conditionRawValue() is also empty. If conditionRawValue() is present, it means that the "Condition" field of the transaction was not a well-formed crypto-condition but was still present in a transaction on ledger.

      Specified by:
      condition in interface EscrowFinish
      Returns:
      An Optional of type Condition containing the escrow condition.
    • conditionRawValue

      public Optional<String> conditionRawValue()
      The raw, hex-encoded PREIMAGE-SHA-256 crypto-condition of the escrow.

      Developers should prefer setting condition() and leaving this field empty when constructing a new EscrowFinish. This field is used to serialize and deserialize the "Condition" field in JSON, the XRPL will sometimes include an EscrowFinish in its ledger even if the crypto condition is malformed. Without this field, xrpl4j would fail to deserialize those transactions, as condition() is typed as a Condition, which tries to decode the condition from DER.

      Note that a similar field does not exist on EscrowCreate, EscrowObject, or MetaEscrowObject because EscrowCreates with malformed conditions will never be included in a ledger by the XRPL. Because of this fact, an EscrowObject and MetaEscrowObject will also never contain a malformed crypto condition.

      Specified by:
      conditionRawValue in interface EscrowFinish
      Returns:
      An Optional String containing the hex-encoded PREIMAGE-SHA-256 condition.
    • fulfillment

      public Optional<com.ripple.cryptoconditions.Fulfillment<?>> fulfillment()
      Hex value of the PREIMAGE-SHA-256 crypto-condition fulfillment matching the held payment's condition().

      If this field is empty, developers should check if fulfillmentRawValue() is also empty. If fulfillmentRawValue() is present, it means that the "Fulfillment" field of the transaction was not a well-formed crypto-condition fulfillment but was still present in a transaction on ledger.

      Specified by:
      fulfillment in interface EscrowFinish
      Returns:
      An Optional of type Fulfillment containing the fulfillment for the escrow's condition.
    • fulfillmentRawValue

      public Optional<String> fulfillmentRawValue()
      The raw, hex-encoded value of the PREIMAGE-SHA-256 crypto-condition fulfillment matching the held payment's condition().

      Developers should prefer setting fulfillment() and leaving this field empty when constructing a new EscrowFinish. This field is used to serialize and deserialize the "Fulfillment" field in JSON, the XRPL will sometimes include an EscrowFinish in its ledger even if the crypto fulfillment is malformed. Without this field, xrpl4j would fail to deserialize those transactions, as fulfillment() is typed as a Fulfillment, which tries to decode the fulfillment from DER.

      Specified by:
      fulfillmentRawValue in interface EscrowFinish
      Returns:
      An Optional String containing the hex-encoded PREIMAGE-SHA-256 fulfillment.
    • credentialIds

      public com.google.common.collect.ImmutableList<Hash256> credentialIds()
      Set of Credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger.
      Specified by:
      credentialIds in interface EscrowFinish
      Returns:
      A list of type Hash256.
    • withAccount

      public final ImmutableEscrowFinish withAccount(Address value)
      Copy the current immutable object by setting a value for the account attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for account
      Returns:
      A modified copy of the this object
    • withTransactionType

      public final ImmutableEscrowFinish withTransactionType(TransactionType value)
      Copy the current immutable object by setting a value for the transactionType attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for transactionType
      Returns:
      A modified copy of the this object
    • withFee

      public final ImmutableEscrowFinish withFee(XrpCurrencyAmount value)
      Copy the current immutable object by setting a value for the fee attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for fee
      Returns:
      A modified copy of the this object
    • withSequence

      public final ImmutableEscrowFinish withSequence(com.google.common.primitives.UnsignedInteger value)
      Copy the current immutable object by setting a value for the sequence attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for sequence
      Returns:
      A modified copy of the this object
    • withTicketSequence

      public final ImmutableEscrowFinish withTicketSequence(com.google.common.primitives.UnsignedInteger value)
      Copy the current immutable object by setting a present value for the optional ticketSequence attribute.
      Parameters:
      value - The value for ticketSequence
      Returns:
      A modified copy of this object
    • withTicketSequence

      public final ImmutableEscrowFinish withTicketSequence(Optional<? extends com.google.common.primitives.UnsignedInteger> optional)
      Copy the current immutable object by setting an optional value for the ticketSequence attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for ticketSequence
      Returns:
      A modified copy of this object
    • withAccountTransactionId

      public final ImmutableEscrowFinish withAccountTransactionId(Hash256 value)
      Copy the current immutable object by setting a present value for the optional accountTransactionId attribute.
      Parameters:
      value - The value for accountTransactionId
      Returns:
      A modified copy of this object
    • withAccountTransactionId

      public final ImmutableEscrowFinish withAccountTransactionId(Optional<? extends Hash256> optional)
      Copy the current immutable object by setting an optional value for the accountTransactionId attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for accountTransactionId
      Returns:
      A modified copy of this object
    • withLastLedgerSequence

      public final ImmutableEscrowFinish withLastLedgerSequence(com.google.common.primitives.UnsignedInteger value)
      Copy the current immutable object by setting a present value for the optional lastLedgerSequence attribute.
      Parameters:
      value - The value for lastLedgerSequence
      Returns:
      A modified copy of this object
    • withLastLedgerSequence

      public final ImmutableEscrowFinish withLastLedgerSequence(Optional<? extends com.google.common.primitives.UnsignedInteger> optional)
      Copy the current immutable object by setting an optional value for the lastLedgerSequence attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for lastLedgerSequence
      Returns:
      A modified copy of this object
    • withMemos

      public final ImmutableEscrowFinish withMemos(MemoWrapper... elements)
      Copy the current immutable object with elements that replace the content of memos.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withMemos

      public final ImmutableEscrowFinish withMemos(Iterable<? extends MemoWrapper> elements)
      Copy the current immutable object with elements that replace the content of memos. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of memos elements to set
      Returns:
      A modified copy of this object
    • withSigners

      public final ImmutableEscrowFinish withSigners(SignerWrapper... elements)
      Copy the current immutable object with elements that replace the content of signers.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withSigners

      public final ImmutableEscrowFinish withSigners(Iterable<? extends SignerWrapper> elements)
      Copy the current immutable object with elements that replace the content of signers. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of signers elements to set
      Returns:
      A modified copy of this object
    • withSourceTag

      public final ImmutableEscrowFinish withSourceTag(com.google.common.primitives.UnsignedInteger value)
      Copy the current immutable object by setting a present value for the optional sourceTag attribute.
      Parameters:
      value - The value for sourceTag
      Returns:
      A modified copy of this object
    • withSourceTag

      public final ImmutableEscrowFinish withSourceTag(Optional<? extends com.google.common.primitives.UnsignedInteger> optional)
      Copy the current immutable object by setting an optional value for the sourceTag attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for sourceTag
      Returns:
      A modified copy of this object
    • withSigningPublicKey

      public final ImmutableEscrowFinish withSigningPublicKey(PublicKey value)
      Copy the current immutable object by setting a value for the signingPublicKey attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for signingPublicKey
      Returns:
      A modified copy of the this object
    • withTransactionSignature

      public final ImmutableEscrowFinish withTransactionSignature(Signature value)
      Copy the current immutable object by setting a present value for the optional transactionSignature attribute.
      Parameters:
      value - The value for transactionSignature
      Returns:
      A modified copy of this object
    • withTransactionSignature

      public final ImmutableEscrowFinish withTransactionSignature(Optional<? extends Signature> optional)
      Copy the current immutable object by setting an optional value for the transactionSignature attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for transactionSignature
      Returns:
      A modified copy of this object
    • withNetworkId

      public final ImmutableEscrowFinish withNetworkId(NetworkId value)
      Copy the current immutable object by setting a present value for the optional networkId attribute.
      Parameters:
      value - The value for networkId
      Returns:
      A modified copy of this object
    • withNetworkId

      public final ImmutableEscrowFinish withNetworkId(Optional<? extends NetworkId> optional)
      Copy the current immutable object by setting an optional value for the networkId attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for networkId
      Returns:
      A modified copy of this object
    • withDelegate

      public final ImmutableEscrowFinish withDelegate(Address value)
      Copy the current immutable object by setting a present value for the optional delegate attribute.
      Parameters:
      value - The value for delegate
      Returns:
      A modified copy of this object
    • withDelegate

      public final ImmutableEscrowFinish withDelegate(Optional<? extends Address> optional)
      Copy the current immutable object by setting an optional value for the delegate attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for delegate
      Returns:
      A modified copy of this object
    • withUnknownFields

      public final ImmutableEscrowFinish withUnknownFields(Map<String,? extends Object> entries)
      Copy the current immutable object by replacing the unknownFields map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the unknownFields map
      Returns:
      A modified copy of this object
    • withFlags

      public final ImmutableEscrowFinish withFlags(TransactionFlags value)
      Copy the current immutable object by setting a value for the flags attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for flags
      Returns:
      A modified copy of the this object
    • withOwner

      public final ImmutableEscrowFinish withOwner(Address value)
      Copy the current immutable object by setting a value for the owner attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for owner
      Returns:
      A modified copy of the this object
    • withOfferSequence

      public final ImmutableEscrowFinish withOfferSequence(com.google.common.primitives.UnsignedInteger value)
      Copy the current immutable object by setting a value for the offerSequence attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for offerSequence
      Returns:
      A modified copy of the this object
    • withCondition

      public final ImmutableEscrowFinish withCondition(com.ripple.cryptoconditions.Condition value)
      Copy the current immutable object by setting a present value for the optional condition attribute.
      Parameters:
      value - The value for condition
      Returns:
      A modified copy of this object
    • withCondition

      public final ImmutableEscrowFinish withCondition(Optional<? extends com.ripple.cryptoconditions.Condition> optional)
      Copy the current immutable object by setting an optional value for the condition attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for condition
      Returns:
      A modified copy of this object
    • withConditionRawValue

      public final ImmutableEscrowFinish withConditionRawValue(String value)
      Copy the current immutable object by setting a present value for the optional conditionRawValue attribute.
      Parameters:
      value - The value for conditionRawValue
      Returns:
      A modified copy of this object
    • withConditionRawValue

      public final ImmutableEscrowFinish withConditionRawValue(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the conditionRawValue attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for conditionRawValue
      Returns:
      A modified copy of this object
    • withFulfillment

      public final ImmutableEscrowFinish withFulfillment(com.ripple.cryptoconditions.Fulfillment<?> value)
      Copy the current immutable object by setting a present value for the optional fulfillment attribute.
      Parameters:
      value - The value for fulfillment
      Returns:
      A modified copy of this object
    • withFulfillment

      public final ImmutableEscrowFinish withFulfillment(Optional<? extends com.ripple.cryptoconditions.Fulfillment<?>> optional)
      Copy the current immutable object by setting an optional value for the fulfillment attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for fulfillment
      Returns:
      A modified copy of this object
    • withFulfillmentRawValue

      public final ImmutableEscrowFinish withFulfillmentRawValue(String value)
      Copy the current immutable object by setting a present value for the optional fulfillmentRawValue attribute.
      Parameters:
      value - The value for fulfillmentRawValue
      Returns:
      A modified copy of this object
    • withFulfillmentRawValue

      public final ImmutableEscrowFinish withFulfillmentRawValue(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the fulfillmentRawValue attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for fulfillmentRawValue
      Returns:
      A modified copy of this object
    • withCredentialIds

      public final ImmutableEscrowFinish withCredentialIds(Hash256... elements)
      Copy the current immutable object with elements that replace the content of credentialIds.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withCredentialIds

      public final ImmutableEscrowFinish withCredentialIds(Iterable<? extends Hash256> elements)
      Copy the current immutable object with elements that replace the content of credentialIds. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of credentialIds elements to set
      Returns:
      A modified copy of this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ImmutableEscrowFinish that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: account, transactionType, fee, sequence, ticketSequence, accountTransactionId, lastLedgerSequence, memos, signers, sourceTag, signingPublicKey, transactionSignature, networkId, delegate, unknownFields, flags, owner, offerSequence, condition, conditionRawValue, fulfillment, fulfillmentRawValue, credentialIds.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value EscrowFinish with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • copyOf

      public static ImmutableEscrowFinish copyOf(EscrowFinish instance)
      Creates an immutable copy of a EscrowFinish value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable EscrowFinish instance
    • builder

      public static ImmutableEscrowFinish.Builder builder()
      Creates a builder for ImmutableEscrowFinish.
       ImmutableEscrowFinish.builder()
          .account(org.xrpl.xrpl4j.model.transactions.Address) // required account
          .transactionType(org.xrpl.xrpl4j.model.transactions.TransactionType) // optional transactionType
          .fee(org.xrpl.xrpl4j.model.transactions.XrpCurrencyAmount) // required fee
          .sequence(com.google.common.primitives.UnsignedInteger) // optional sequence
          .ticketSequence(com.google.common.primitives.UnsignedInteger) // optional ticketSequence
          .accountTransactionId(Hash256) // optional accountTransactionId
          .lastLedgerSequence(com.google.common.primitives.UnsignedInteger) // optional lastLedgerSequence
          .addMemos|addAllMemos(org.xrpl.xrpl4j.model.transactions.MemoWrapper) // memos elements
          .addSigners|addAllSigners(org.xrpl.xrpl4j.model.transactions.SignerWrapper) // signers elements
          .sourceTag(com.google.common.primitives.UnsignedInteger) // optional sourceTag
          .signingPublicKey(org.xrpl.xrpl4j.crypto.keys.PublicKey) // optional signingPublicKey
          .transactionSignature(org.xrpl.xrpl4j.crypto.signing.Signature) // optional transactionSignature
          .networkId(NetworkId) // optional networkId
          .delegate(Address) // optional delegate
          .putUnknownFields|putAllUnknownFields(String => Object) // unknownFields mappings
          .flags(org.xrpl.xrpl4j.model.flags.TransactionFlags) // optional flags
          .owner(org.xrpl.xrpl4j.model.transactions.Address) // required owner
          .offerSequence(com.google.common.primitives.UnsignedInteger) // required offerSequence
          .condition(com.ripple.cryptoconditions.Condition) // optional condition
          .conditionRawValue(String) // optional conditionRawValue
          .fulfillment(com.ripple.cryptoconditions.Fulfillment&lt;?&gt;) // optional fulfillment
          .fulfillmentRawValue(String) // optional fulfillmentRawValue
          .addCredentialIds|addAllCredentialIds(Hash256) // credentialIds elements
          .build();
       
      Returns:
      A new ImmutableEscrowFinish builder