最終更新:
編集

DepositPreauth

[ソース]

DepositPreauthエントリは、1つのアカウントからの事前承認を追跡します。常にDepositPreauthトランザクションを送信することで事前承認を作成できますが、Deposit Authorizationを使用していない限り、効果はありません。

事前承認は、特定のアカウントからの送金を許可します。そのアカウントは、Deposit Authorizationを使用していない限り、あなたに直接送金できません。事前承認は一方向であり、反対方向の支払いには影響しません。

特定の アカウント または 資格情報のセット を事前承認することができます。資格情報のセットの場合、レジャー上で一致する資格情報のセットを持つアカウントであれば、あなたに送金することができます。 (資格情報による事前承認にはCredentials amendmentが必要です。)

DepositPreauthのJSONの例

{
  "LedgerEntryType" : "DepositPreauth",
  "Account" : "rsUiUMpnrgxQp24dJYZDhmV4bE3aBtQyt8",
  "Authorize" : "rEhxGqkqPPSxQ3P25J66ft5TwpzV14k2de",
  "Flags" : 0,
  "OwnerNode" : "0000000000000000",
  "PreviousTxnID" : "3E8964D5A86B3CD6B9ECB33310D4E073D64C865A5B866200AD2B7E29F8326702",
  "PreviousTxnLgrSeq" : 7,
  "index" : "4A255038CC3ADCC1A9C91509279B59908251728D0DAADB248FFE297D0F7E068C"
}

DepositPreauthのフィールド

共通フィールドに加えて、DepositPreauthエントリは以下のフィールドを使用します。

フィールドJSONの型内部の型必須?説明
Account文字列Accountはい事前承認を付与したアカウント。(事前承認支払の宛先)
Authorize文字列Accountいいえ事前承認を受けたアカウント。(事前承認支払の送金元)
AuthorizeCredentials配列Arrayいいえ事前承認を受けた資格情報のセット。(これらの資格情報を持つアカウントは事前承認されます。)この配列の長さは最小1、最大8です。
LedgerEntryType文字列UInt16はい0x0070が文字列DepositPreauthにマッピングされている場合は、これがDepositPreauthオブジェクトであることを示します。
OwnerNode文字列UInt64はい送金元アドレスの所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。注記: このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値をAccountから取得できるためです。
PreviousTxnID文字列 - ハッシュHash256はいこのオブジェクトを最後に変更したトランザクションの識別用ハッシュ。
PreviousTxnLgrSeq数値UInt32はいこのオブジェクトを最後に変更したトランザクションが記録されたレジャーインデックス

各エントリには、AuthorizeフィールドまたはAuthorizeCredentialsフィールドのいずれかが必要ですが、両方を持つことはできません。

Authorized Credentialオブジェクト

エントリにAuthorizeCredentialsフィールドがある場合、その配列の各メンバは、以下の形式で1つの資格情報を識別する内部オブジェクトです。

フィールドJSONの型内部の型必須?説明
Issuer文字列 - アドレスAccountIDはい資格情報の発行者。
CredentialType文字列 - 16進数Blobはい資格情報の種類。

アカウントは、指定されたすべての資格情報を保持している必要があります。

DepositPreauthのフラグ

DepositPreauthエントリに定義されているフラグはありません。

DepositPreauthの準備金

DepositPreauthエントリは、そのエントリが台帳上にある限り、事前認可を行なったアカウントの所有者準備金の1つとしてカウントされます。この準備金は事前認可の設定を取り消すことで解放されます。

DepositPreauth IDのフォーマット

DepositPreauthエントリのIDは、承認するアカウントが1つの場合と、資格情報のセットが1つの場合で、以下の2つのフォーマットがあります。

個別アカウントの事前承認

この場合、IDは以下の値のSHA-512Halfです。

  • DepositPreauthスペースキー(0x0070)
  • このオブジェクトの所有者(このオブジェクトを作成したDepositPreauthトランザクションの送信者、つまり事前承認を付与したユーザ)のAccountID
  • AuthorizeフィールドのAccountID

資格情報による事前承認

(Credentials amendmentが必要です。 )

この場合、IDは以下の値のSHA-512Halfです。

  • 資格情報による事前承認のスペースキー (0x0050)
  • このオブジェクトの所有者(このオブジェクトを作成したDepositPreauthトランザクションの送信者、つまり事前承認を付与したユーザ)のAccountID
  • AuthorizeCredentialsフィールドの内容