Clawback
Clawback amendmentが必要です。
あなたのアカウントが発行したトークンを回収します。
Clawback機能はデフォルトで無効になっています。使用するには、AccountSetトランザクションを送信してAllow Trust Line Clawback設定を有効にする必要があります。既存のトークンを持つ発行者はClawback機能を有効にできません。つまり、トラストライン、オファー、エスクロー、ペイメントチャネル、チェック、または署名者リストを設定する前に行う必要があります。Clawback機能を有効にした後、元に戻すことはできません:アカウントは永久にトラストラインで発行された資産を回収する権限を得ます。
Clawback JSONの例
{
"TransactionType": "Clawback",
"Account": "rp6abvbTbjoce8ZDJkT6snvxTZSYMBCC9S",
"Amount": {
"currency": "FOO",
"issuer": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW",
"value": "314.159"
}
}
Clawback フィールド
共通フィールドに加えて、Clawbackトランザクションは以下のフィールドを使用します。
フィールド | JSONの型 | 内部の型 | 説明 |
---|---|---|---|
Amount | 通貨額 | Amount | 回収する金額と、その金額を回収する相手を表します。value サブフィールドの回収する数量はゼロであってはなりません。これが現在の残高より多い場合、トランザクションは全残高を回収します。サブフィールドAmount 内のissuer はトークン所有者のアカウントを表します。 |
Holder | 文字列 | AccountID | (任意) 回収する相手のアカウントアドレスを指定します。回収対象のアカウントの所有するMPToken オブジェクトの残高が非ゼロである必要があります。 |
注記
XRP LedgerのIOU(トラストライン)では、トークンを発行した側を_発行者_と呼びますが、トラストラインは双方向性があり、設定によっては双方を発行者とみなすことができます。このトランザクションでは、トークン発行者のアドレスは
Account
フィールドにあり、トークン保有者のアドレスはAmount
フィールドのissuer
サブフィールドにあります。注記
MPTの保有者から資金を回収するには、発行者は
MPTokenIssuanceCreate
トランザクションを使用してMPTを作成するときにtfMPTCanClawback
フラグを設定して、MPTがClawbackを許可することを指定しなければなりません。このフラグが設定されたMPTが作成されたと仮定すると、Clawback
トランザクションを使用して回収を行うことができます。エラーケース
すべてのトランザクションで発生する可能性のあるエラーに加えて、Clawbackトランザクションでは、次のトランザクション結果コードが発生する可能性があります。
エラーコード | 説明 |
---|---|
temDISABLED | Clawback amendmentが有効ではありません。 |
temBAD_AMOUNT | 保有者の残高が0です。回収しようとする金額が保有者の残高を超えていてもエラーにはなりません。また、Amount に記載されている相手がこのトランザクションを発行しているAccount と同じ場合にもエラーが発生します。 |
tecNO_LINE | 取引相手とのトラストラインがない、またはトラストラインの残高が0です。 |
tecNO_PERMISSION | lsfNoFreeze が設定されているときにlsfAllowTrustlineClawback を設定、またはlsfAllowTrustLineClawback が設定されているときにlsfNoFreeze を設定しようとしています。 |