最終更新:
編集

EscrowFinish

[ソース]

エスクロー(保留中の支払い)から受取人へXRPを送金します。

Escrow Amendmentにより追加されました。

EscrowFinish JSONの例

{
    "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
    "TransactionType": "EscrowFinish",
    "Owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
    "OfferSequence": 7,
    "Condition": "A0258020E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855810100",
    "Fulfillment": "A0028000"
}

EscrowFinish フィールド

共通フィールドに加えて、EscrowFinishトランザクションは以下のフィールドを使用します。

フィールドJSONの型内部の型必須?説明
Owner文字列AccountIDはいエスクローに資金を供給した支払元アカウントのアドレス。
OfferSequence数値UInt32はい対象となるエスクローを作成したEscrowCreateトランザクションのトランザクションシーケンス。
Condition文字列Blobいいえ以前に指定されたエスクローのPREIMAGE-SHA-256 Crypto-conditionに一致する16進数値。
CredentialIDs文字列の配列Vector256いいえこのトランザクションによって作成されたエスクローによる資金提供を承認する資格証明書のセット。各配列のメンバーは、レジャーの資格証明書エントリのレジャーエントリIDでなければなりません。詳細については、Credential IDをご覧ください。
Fulfillment文字列BlobいいえエスクローのConditionに一致するPREIMAGE-SHA-256 crypto-condition fulfillmentの16進数値。

すべてのアカウントがEscrowFinishトランザクションを送信できます。

  • エスクローにFinishAfter時刻が設定されている場合、この時刻よりも前にはこれを実行(Finish)できません。具体的には、対応するEscrowCreateトランザクションで指定されているFinishAfter時刻が、最後に閉鎖されたレジャーの閉鎖時刻よりも後の場合、EscrowFinishトランザクションは失敗します。
  • エスクローにConditionが指定されている場合に、その条件に対応するFulfillmentを指定しないと、この支払いを実行(Finish)できません。
  • 有効期限切れのエスクローは実行(Finish)できません。具体的には、対応するEscrowCreateトランザクションで指定されているCancelAfter時刻が、最後に閉鎖されたレジャーの閉鎖時刻よりも前の場合、EscrowFinishトランザクションは失敗します。

注記
EscrowFinishトランザクションにフルフィルメントが含まれている場合、このトランザクションを送信するための最小トランザクションコストが増加します。トランザクションにフルフィルメントが含まれていない場合、トランザクションコストは標準の10 dropです。トランザクションにフルフィルメントが含まれている場合、トランザクションコストは330 XRP dropに加えて、プリイメージサイズの16バイトごとに更に10 dropです。

本番環境以外のネットワークでは、Escrowの送金先アカウントを削除できる場合があります。この場合、 Escrowを終了しようとしても結果tecNO_TARGETで失敗しますが、Escrowオブジェクトは通常期限切れになる場合を除き、維持されます。別の支払いで送金先アカウントが再作成された場合、 Escrowは正常に終了できます。Escrowの送金先アカウントは、fix1523 Amendmentが有効になる前にEscrowが作成された場合にのみ削除できます。本番環境の XRP LedgerにはそのようなEscrowは存在しないため、本番環境のXRP Ledgerではこのようなエッジケースには対応できません。また、このエッジケースは、fix1523とEscrowのAmendmentを同時に有効にするテストネットワークでも不可能です。これは、新しいジェネシスレジャーを開始するときのデフォルトです。