最終更新:
編集

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はトークン所有者のアカウントを表します。

このトランザクションを実行するアカウントは、回収する資産の発行者でなければなりません。XRP Ledgerでは、トラストラインは双方向であり、設定によっては双方が資産の発行者とみなされることに注意してください。この仕様において、発行者という用語は、未払い残高がある(つまり、発行された資産に"債務がある")トラストラインの側が、その資産を回収することを意味します。

エラーケース

すべてのトランザクションで発生する可能性のあるエラーに加えて、Clawbackトランザクションでは、次のトランザクション結果コードが発生する可能性があります。

エラーコード説明
temDISABLEDClawback amendmentが有効ではありません。
temBAD_AMOUNT保有者の残高が0です。回収しようとする金額が保有者の残高を超えていてもエラーにはなりません。また、Amountに記載されている相手がこのトランザクションを発行しているAccountと同じ場合にもエラーが発生します。
tecNO_LINE取引相手とのトラストラインがない、またはトラストラインの残高が0です。
tecNO_PERMISSIONlsfNoFreezeが設定されているときにlsfAllowTrustlineClawbackを設定、またはlsfAllowTrustLineClawbackが設定されているときにlsfNoFreezeを設定しようとしています。