最終更新:
編集

AMMDelete

[ソース]

(AMM amendmentにより追加されました。)

自動で削除しきれなかった空の自動マーケットメーカー(AMM)インスタンスを削除します。

通常、AMMWithdraw トランザクションは、AMMのプールからすべての資産を引き出すと、AMMと関連するすべてのレジャーエントリを自動的に削除します。ただし、AMMアカウントへのトラストラインが多すぎて1回のトランザクションで削除できない場合は、AMMの削除を行わない場合があります。しかしこの場合でも、AMMDeleteトランザクションは最大512のトラストラインを削除します。すべてのトラストラインとそのAMMを削除するには、数回のAMMDeleteトランザクションが必要な場合があります。いずれの場合も、AMMとAccountRootのレジャーエントリが削除されるのは、最後のトランザクションのみです。

AMMDelete JSONの例

{
    "Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm",
    "Asset" : {
        "currency" : "XRP"
    },
    "Asset2" : {
        "currency" : "TST",
        "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd"
    },
    "Fee" : "10",
    "Flags" : 0,
    "Sequence" : 9,
    "TransactionType" : "AMMDelete"
}

AMMDelete フィールド

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

フィールドJSONの型内部の型必須?説明
AssetオブジェクトSTIssueはいAMMのプールにある資産の一つを定義します。JSONでは、currencyissuerフィールドを持つオブジェクトになります(XRPの場合はissuerを省略します)。
Asset2オブジェクトSTIssueはいAMMのプールにあるもう一つの資産を定義します。JSONでは、currencyissuerフィールドを持つオブジェクトです(XRPの場合はissuerを省略)。

エラーケース

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

エラーコード説明
tecAMM_NOT_EMPTYAMMが空でないため、削除することができません。AMMの流動性プロバイダーの一人である場合は、まずAMMWithdrawを使用してください。
tecINCOMPLETE関連するレジャーエントリを可能な限り削除しましたが、AMM は完全には削除されませんでした。別の AMMDelete トランザクションを送信して、作業を続行し、完了させることができます。
terNO_AMM指定したAMMが存在しません。(すでに削除されているか、指定したAMMの資産が間違っている可能性があります)。