Interface AMMClawback

Claw back tokens from a holder that has deposited your issued tokens into an AMM pool.

Clawback is disabled by default. To use clawback, you must send an AccountSet transaction to enable the Allow Trust Line Clawback setting. An issuer with any existing tokens cannot enable clawback. You can only enable Allow Trust Line Clawback if you have a completely empty owner directory, meaning you must do so before you set up any trust lines, offers, escrows, payment channels, checks, or signer lists. After you enable clawback, it cannot reverted: the account permanently gains the ability to claw back issued assets on trust lines.

interface AMMClawback {
    Account: string;
    AccountTxnID?: string;
    Amount?: IssuedCurrencyAmount;
    Asset: IssuedCurrency;
    Asset2: Currency;
    Fee?: string;
    Flags?: number | GlobalFlags;
    Holder: string;
    LastLedgerSequence?: number;
    Memos?: Memo[];
    NetworkID?: number;
    Sequence?: number;
    Signers?: Signer[];
    SigningPubKey?: string;
    SourceTag?: number;
    TicketSequence?: number;
    TransactionType: "AMMClawback";
    TxnSignature?: string;
}

Hierarchy (View Summary)

Properties

Account: string

The unique address of the transaction sender.

AccountTxnID?: string

Hash value identifying another transaction. If provided, this transaction is only valid if the sending account's previously-sent transaction matches the provided hash.

The maximum amount to claw back from the AMM account. The currency and issuer subfields should match the Asset subfields. If this field isn't specified, or the value subfield exceeds the holder's available tokens in the AMM, all of the holder's tokens will be clawed back.

Specifies the asset that the issuer wants to claw back from the AMM pool. In JSON, this is an object with currency and issuer fields. The issuer field must match with Account.

Asset2: Currency

Specifies the other asset in the AMM's pool. In JSON, this is an object with currency and issuer fields (omit issuer for XRP).

Fee?: string

Integer amount of XRP, in drops, to be destroyed as a cost for distributing this transaction to the network. Some transaction types have different minimum requirements.

Flags?: number | GlobalFlags

Set of bit-flags for this transaction.

Holder: string

The account holding the asset to be clawed back.

LastLedgerSequence?: number

Highest ledger index this transaction can appear in. Specifying this field places a strict upper limit on how long the transaction can wait to be validated or rejected.

Memos?: Memo[]

Additional arbitrary information used to identify this transaction.

NetworkID?: number

The network id of the transaction.

Sequence?: number

The sequence number of the account sending the transaction. A transaction is only valid if the Sequence number is exactly 1 greater than the previous transaction from the same account. The special case 0 means the transaction is using a Ticket instead.

Signers?: Signer[]

Array of objects that represent a multi-signature which authorizes this transaction.

SigningPubKey?: string

Hex representation of the public key that corresponds to the private key used to sign this transaction. If an empty string, indicates a multi-signature is present in the Signers field instead.

SourceTag?: number

Arbitrary integer used to identify the reason for this payment, or a sender on whose behalf this transaction is made. Conventionally, a refund should specify the initial payment's SourceTag as the refund payment's DestinationTag.

TicketSequence?: number

The sequence number of the ticket to use in place of a Sequence number. If this is provided, Sequence must be 0. Cannot be used with AccountTxnID.

TransactionType: "AMMClawback"

The type of transaction. Valid types include: Payment, OfferCreate, TrustSet, and many others.

TxnSignature?: string

The signature that verifies this transaction as originating from the account it says it is from.