AMMVote
(Requires the AMM amendment)
Vote on the trading fee for an Automated Market Maker instance. Up to 8 accounts can vote in proportion to the amount of the AMM's LP Tokens they hold. Each new vote re-calculates the AMM's trading fee based on a weighted average of the votes.
Example AMMVote JSON
{ "Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm", "Asset" : { "currency" : "XRP" }, "Asset2" : { "currency" : "TST", "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" }, "Fee" : "10", "Flags" : 2147483648, "Sequence" : 8, "TradingFee" : 600, "TransactionType" : "AMMVote" }
AMMVote Fields
In addition to the common fields, AMMVote transactions use the following fields:
Field | JSON Type | Internal Type | Required? | Description |
---|---|---|---|---|
Asset | Object | STIssue | Yes | The definition for one of the assets in the AMM's pool. In JSON, this is an object with currency and issuer fields (omit issuer for XRP). |
Asset2 | Object | STIssue | Yes | The definition for the other asset in the AMM's pool. In JSON, this is an object with currency and issuer fields (omit issuer for XRP). |
TradingFee | Number | UInt16 | Yes | The proposed fee to vote for, in units of 1/100,000; a value of 1 is equivalent to 0.001%. The maximum value is 1000, indicating a 1% fee. |
Error Cases
Besides errors that can occur for all transactions, AMMVote transactions can result in the following transaction result codes:
Error Code | Description |
---|---|
tecAMM_EMPTY | The AMM has no assets in its pool. In this state, you can only delete the AMM or fund it with a new deposit. |
tecAMM_INVALID_TOKENS | The sender cannot vote because they do not hold any of this AMM's LP Tokens. |
tecAMM_FAILED_VOTE | There are already 8 votes from accounts that hold more LP Tokens than the sender of this transaction. |
temBAD_FEE | The TradingFee from this transaction is not valid. |
terNO_AMM | The Automated Market Maker instance for the asset pair in this transaction does not exist. |