最終更新:
編集

DepositPreauth

[ソース]

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

DepositPreauthトランザクションは別のアカウントに対し、このトランザクションの送信者に支払いを送金することを事前承認します。これは、このトランザクションの送信者がDeposit Authorizationを使用している(または使用する予定がある)場合にのみ有用です。

ヒント
このトランザクションを使用して、Deposit Authorizationを有効にする前に特定の取引相手を事前承認できます。これは、Deposit Authorizationの義務化への円滑な移行に役立ちます。

DepositPreauth JSONの例

{
 "TransactionType" : "DepositPreauth",
 "Account" : "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8",
 "Authorize" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de",
 "Fee" : "10",
 "Flags" : 2147483648,
 "Sequence" : 2
}

DepositPreauth フィールド

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

フィールドJSONの型内部の型説明
Authorize文字列AccountID(省略可) 事前承認する送信者のXRP Ledgerアドレス。
Unauthorize文字列AccountID(省略可) 事前承認を取り消す必要がある送信者のXRP Ledgerアドレス。

AuthorizeまたはUnauthorizeのいずれか を指定する必要がありますが、両方は指定しないでください。

このトランザクションには以下の制限があります。

  • アカウントはそのアカウント自体のアドレスを事前承認(または承認解除)できません。このような操作をすると、temCANNOT_PREAUTH_SELFで失敗します。
  • すでに事前承認済みのアカウントを事前承認しようとすると、tecDUPLICATEで失敗します。
  • 事前承認されていないアカウントを承認解除しようとすると、tecNO_ENTRYで失敗します。
  • レジャーで資金が供給されていないアドレスを事前承認しようとすると、tecNO_TARGETで失敗します。
  • 承認を追加するとDepositPreauthオブジェクトがレジャーに追加されて、所有者の必要準備金に反映されます。トランザクションの送信者に、増額された準備金の支払いに十分なXRPがない場合、トランザクションはtecINSUFFICIENT_RESERVEで失敗します。アカウントの送信者の所有オブジェクトが最大数に達している場合、トランザクションはtecDIR_FULLで失敗します。