From 22b6033e96fd9d858641f49eda7b4048c8d29726 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Mon, 4 Apr 2016 15:02:52 -0700 Subject: [PATCH] tx format - alphabetize errors, etc. --- content/reference-transaction-format.md | 86 ++++---- reference-transaction-format.html | 280 ++++++++++++------------ 2 files changed, 186 insertions(+), 180 deletions(-) diff --git a/content/reference-transaction-format.md b/content/reference-transaction-format.md index e4644abe3e..c7b72d5f16 100644 --- a/content/reference-transaction-format.md +++ b/content/reference-transaction-format.md @@ -90,7 +90,11 @@ In either case, signing a transaction generates a binary blob that can be submit } ``` -After a transaction has been submitted, if it gets accepted into a validated ledger, you can view the final transaction using the API. For example, here is what the WebSocket API [tx command](reference-rippled.html#tx) shows for the same transaction. The field names that begin with capital letters are part of the ledger object; the fields that begin with lower-case letters are additional information generated by the server for the request: +After a transaction has been submitted, you can check its status using the API, for example using the [tx command](reference-rippled.html#tx). + +**Caution:** The success of a transaction is not final unless the transaction appears in a **validated** ledger with the result code `tesSUCCESS`. See also: [Finality of Results](#finality-of-results). + +Example response from the `tx` command: ``` { @@ -1030,12 +1034,12 @@ These codes indicate an error in the local server processing the transaction; it | Code | Explanation | |------|-------------| -| telLOCAL_ERROR | Unspecified local error. | | telBAD\_DOMAIN | The transaction specified a domain value (for example, the `Domain` field of an [AccountSet transaction](#accountset)) that cannot be used, probably because it is too long to store in the ledger. | | telBAD\_PATH_COUNT | The transaction contains too many paths for the local server to process. | | telBAD\_PUBLIC\_KEY | The transaction specified a public key value (for example, as the `MessageKey` field of an [AccountSet transaction](#accountset)) that cannot be used, probably because it is too long. | | telFAILED\_PROCESSING | An unspecified error occurred when processing the transaction. | | telINSUF\_FEE_P | The `Fee` from the transaction is not high enough to meet the server's current [transaction cost](concept-transaction-cost.html) requirement, which is derived from its load level. | +| telLOCAL_ERROR | Unspecified local error. | | telNO\_DST\_PARTIAL | The transaction is an XRP payment that would fund a new account, but the [tfPartialPayment flag](#partial-payments) was enabled. This is disallowed. | ### tem Codes ### @@ -1044,7 +1048,6 @@ These codes indicate that the transaction was malformed, and cannot succeed acco | Code | Explanation | |------|-------------| -| temMALFORMED | Unspecified problem with the format of the transaction. | | temBAD\_AMOUNT | An amount specified by the transaction (for example the destination `Amount` or `SendMax` values of a [Payment](#payment)) was invalid, possibly because it was a negative number. | | temBAD\_AUTH\_MASTER | The key used to sign this transaction does not match the master key for the account sending it, and the account does not have a [Regular Key](#setregularkey) set. | | temBAD\_CURRENCY | The transaction improperly specified a currency field. See [Specifying Currency Amounts](reference-rippled.html#specifying-currency-amounts) for the correct format. | @@ -1068,6 +1071,7 @@ These codes indicate that the transaction was malformed, and cannot succeed acco | temDST\_NEEDED | The transaction improperly omitted a destination. This could be the `Destination` field of a [Payment](#payment) transaction, or the `issuer` sub-field of the `LimitAmount` field fo a `TrustSet` transaction. | | temINVALID | The transaction is otherwise invalid. For example, the transaction ID may not be the right format, the signature may not be formed properly, or something else went wrong in understanding the transaction. | | temINVALID\_FLAG | The transaction includes a [Flag](#flags) that does not exist, or includes a contradictory combination of flags. | +| temMALFORMED | Unspecified problem with the format of the transaction. | | temREDUNDANT | The transaction would accomplish nothing; for example, it is sending a payment directly to the sending account, or creating an offer to buy and sell the same currency from the same issuer. | | temREDUNDANT\_SEND\_MAX | _(Removed in [rippled 0.28.0][])_ | | temRIPPLE\_EMPTY | The [Payment](#payment) transaction includes an empty `Paths` field, but paths are necessary to complete this payment. | @@ -1085,23 +1089,23 @@ These codes indicate that the transaction failed to apply, but the transaction c | Code | Explanation | |------|-------------| -| tefFAILURE | Unspecified failure in applying the transaction. | | tefALREADY | The same exact transaction has already been applied. | -| tefBAD\_ADD\_AUTH | Deprecated. This code should never be returned. | +| tefBAD\_ADD\_AUTH | **DEPRECATED.** | | tefBAD\_AUTH | The key used to sign this account is not authorized to modify this account. (It could be authorized if the account had the same key set as the [Regular Key](#setregularkey).) | -| tefBAD\_LEDGER | While processing the transaction, the ledger was discovered in an unexpected state. If you can reproduce this error, please [file a bug](https://ripplelabs.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=10800&issuetype=1) to get it fixed. | -| tefCREATED | Deprecated. This code should never be returned. | -| tefEXCEPTION | While processing the transaction, the server entered an unexpected state. This may be caused by unexpected inputs, for example if the binary data for the transaction is grossly malformed. If you can reproduce this error, please [file a bug](https://ripplelabs.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=10800&issuetype=1) to get it fixed. | -| tefINTERNAL | While attempting to apply the transaction, the server entered an unexpected state. If you can reproduce this error, please [file a bug](https://ripplelabs.atlassian.net/secure/CreateIssueDetails!init.jspa?pid=10800&issuetype=1) to get it fixed. | -| tefNO\_AUTH\_REQUIRED | The [TrustSet](#trustset) transaction attempted to mark a trustline as authorized, but the `lsfRequireAuth` flag is not enabled for the corresponding account, so authorization is not necessary. | -| tefPAST\_SEQ | The sequence number of the transaction is lower than the current sequence number of the account sending the transaction. | -| tefWRONG\_PRIOR | The transaction contained an `AccountTxnID` field (or the deprecated `PreviousTxnID` field), but the transaction specified there does not match the account's previous transaction. | +| tefBAD\_AUTH\_MASTER | The single signature provided to authorize this transaction does not match the master key, but no regular key is associated with this address. | +| tefBAD\_LEDGER | While processing the transaction, the ledger was discovered in an unexpected state. If you can reproduce this error, please [report an issue](https://github.com/ripple/rippled/issues) to get it fixed. | +| tefBAD\_QUORUM | The transaction was [multi-signed](#multi-signing), but the total weights of all included signatures did not meet the quorum. | +| tefBAD\_SIGNATURE | The transaction was [multi-signed](#multi-signing), but contained a signature for an address not part of a SignerList associated with the sending account. | +| tefCREATED |**DEPRECATED.** | +| tefEXCEPTION | While processing the transaction, the server entered an unexpected state. This may be caused by unexpected inputs, for example if the binary data for the transaction is grossly malformed. If you can reproduce this error, please [report an issue](https://github.com/ripple/rippled/issues) to get it fixed. | +| tefFAILURE | Unspecified failure in applying the transaction. | +| tefINTERNAL | While attempting to apply the transaction, the server entered an unexpected state. If you can reproduce this error, please [report an issue](https://github.com/ripple/rippled/issues) to get it fixed. | | tefMASTER\_DISABLED | The transaction was signed with the account's master key, but the account has the `lsfDisableMaster` field set. | | tefMAX\_LEDGER | The transaction included a [`LastLedgerSequence`](#lastledgersequence) parameter, but the current ledger's sequence number is already higher than the specified value. | -| tefBAD\_SIGNATURE | The transaction was [multi-signed](#multi-signing), but contained a signature for an address not part of a SignerList associated with the sending account. | -| tefBAD\_QUORUM | The transaction was [multi-signed](#multi-signing), but the total weights of all included signatures did not meet the quorum. | +| tefNO\_AUTH\_REQUIRED | The [TrustSet](#trustset) transaction attempted to mark a trustline as authorized, but the `lsfRequireAuth` flag is not enabled for the corresponding account, so authorization is not necessary. | | tefNOT\_MULTI\_SIGNING | The transaction was [multi-signed](#multi-signing), but the sending account has no SignerList defined. | -| tefBAD\_AUTH\_MASTER | The single signature provided to authorize this transaction does not match the master key, but no regular key is associated with this address. | +| tefPAST\_SEQ | The sequence number of the transaction is lower than the current sequence number of the account sending the transaction. | +| tefWRONG\_PRIOR | The transaction contained an `AccountTxnID` field (or the deprecated `PreviousTxnID` field), but the transaction specified there does not match the account's previous transaction. | ### ter Codes ### @@ -1109,16 +1113,16 @@ These codes indicate that the transaction failed to apply, but it could apply su | Code | Explanation | |------|-------------| -| terRETRY | Unspecified retriable error. | -| terFUNDS\_SPENT | Deprecated. This code should never be returned. | +| terFUNDS\_SPENT | **DEPRECATED.** | | terINSUF\_FEE\_B | The account sending the transaction does not have enough XRP to pay the `Fee` specified in the transaction. | -| terNO\_ACCOUNT | The account sending the transaction does not exist in the ledger (yet). | -| terNO\_AUTH | The transaction would involve adding currency issued by an account with `lsfRequireAuth` enabled to a trustline that is not authorized. For example, you placed an offer to buy a currency you aren't authorized to hold. | +| terLAST | Used internally only. This code should never be returned. | +| terNO\_ACCOUNT | The address sending the transaction is not funded in the ledger (yet). | +| terNO\_AUTH | The transaction would involve adding currency issued by an account with `lsfRequireAuth` enabled to a trust line that is not authorized. For example, you placed an offer to buy a currency you aren't authorized to hold. | | terNO\_LINE | Used internally only. This code should never be returned. | +| terNO\_RIPPLE | Used internally only. This code should never be returned. | | terOWNERS | The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the [`lsfRequireAuth`](#accountset-flags) flag if it has any trust lines or available offers. | | terPRE\_SEQ | The `Sequence` number of the current transaction is higher than the current sequence number of the account sending the transaction. | -| terLAST | Used internally only. This code should never be returned. | -| terNO\_RIPPLE | Used internally only. This code should never be returned. | +| terRETRY | Unspecified retriable error. | ### tes Success ### @@ -1135,35 +1139,35 @@ These codes indicate that the transaction failed, but it was applied to a ledger | Code | Value | Explanation | |------|-------|-------------| | tecCLAIM | 100 | Unspecified failure, with transaction cost destroyed. | -| tecPATH\_PARTIAL | 101 | The transaction failed because the provided paths did not have enough liquidity to send the full amount. | -| tecUNFUNDED\_ADD | 102 | **DEPRECATED.** | -| tecUNFUNDED\_OFFER | 103 | The [OfferCreate transaction](#offercreate) failed because the account creating the offer does not have any of the `TakerGets` currency. | -| tecUNFUNDED\_PAYMENT | 104 | The transaction failed because the sending account is trying to send more XRP than it holds, not counting the reserve. (See: [Reserves](concept-reserves.html)) | +| tecDIR\_FULL | 121 | The address sending the transaction cannot own any more objects in the ledger. | +| tecDST\_TAG\_NEEDED | 143 | The [Payment](#payment) transaction omitted a destination tag, but the destination account has the `lsfRequireDestTag` flag enabled. _(New in [rippled 0.28.0][])_ | | tecFAILED\_PROCESSING | 105 | An unspecified error occurred when processing the transaction. | -| tecDIR\_FULL | 121 | The "owners count" of the account sending the transaction is already maxed out. | +| tecFROZEN | 137 | The [OfferCreate transaction](#offercreate) failed because one or both of the assets involved are subject to a [global freeze](concept-freeze.html). | | tecINSUF\_RESERVE\_LINE | 122 | The transaction failed because the sending account does not have enough XRP to create a new trust line. (See: [Reserves](concept-reserves.html)) This error occurs when the counterparty already has a trust line in a non-default state to the sending account for the same currency. (See tecNO\_LINE\_INSUF\_RESERVE for the other case.) | | tecINSUF\_RESERVE\_OFFER | 123 | The transaction failed because the sending account does not have enough XRP to create a new Offer. (See: [Reserves](concept-reserves.html)) | +| tecINSUFFICIENT\_RESERVE | 141 | The [SignerListSet](#signerlistset) or other transaction would increase the [reserve requirement](concept-reserves.html) higher than the sending account's balance. See [SignerLists and Reserves](ripple-ledger.html#signerlists-and-reserves) for more information. | +| tecINTERNAL | 144 | Unspecified internal error, with transaction cost applied. This error code should not normally be returned. | +| tecNEED\_MASTER\_KEY | 142 | This transaction attempted to cause changes that require the master key, such as [disabling the master key or giving up the ability to freeze balances](#accountset-flags). _(New in [rippled 0.28.0](https://github.com/ripple/rippled/releases/tag/0.28.0-rc1))_ | +| tecNO\_ALTERNATIVE\_KEY | 130 | The transaction tried to remove the only available method of [authorizing transactions](#authorizing-transactions). This could be a [SetRegularKey transaction](#setregularkey) to remove the regular key, a [SignerListSet transaction](#signerlistset) to delete a SignerList, or an [AccountSet transaction](#accountset) to disable the master key. (Prior to [rippled 0.30.0](https://github.com/ripple/rippled/releases/tag/0.30.0), this was called `tecMASTER_DISABLED`.) | +| tecNO\_AUTH | 134 | The transaction failed because it needs to add a balance on a trust line to an account with the `lsfRequireAuth` flag enabled, and that trust line has not been authorized. If the trust line does not exist at all, tecNO\_LINE occurs instead. | | tecNO\_DST | 124 | The account on the receiving end of the transaction does not exist. This includes Payment and TrustSet transaction types. (It could be created if it received sufficient XRP.) | | tecNO\_DST\_INSUF_XRP | 125 | The account on the receiving end of the transaction does not exist, and the transaction is not sending enough XRP to create it. | +| tecNO\_ENTRY | 140 | Reserved for future use. | +| tecNO\_ISSUER | 133 | The account specified in the `issuer` field of a currency amount does not exist. | +| tecNO\_LINE | 135 | The `TakerPays` field of the [OfferCreate transaction](#offercreate) specifies an asset whose issuer has `lsfRequireAuth` enabled, and the account making the offer does not have a trust line for that asset. (Normally, making an offer implicitly creates a trust line if necessary, but in this case it does not bother because you cannot hold the asset without authorization.) If the trust line exists, but is not authorized, `tecNO_AUTH` occurs instead. | | tecNO\_LINE\_INSUF\_RESERVE | 126 | The transaction failed because the sending account does not have enough XRP to create a new trust line. (See: [Reserves](concept-reserves.html)) This error occurs when the counterparty does not have a trust line to this account for the same currency. (See tecINSUF\_RESERVE\_LINE for the other case.) | | tecNO\_LINE\_REDUNDANT | 127 | The transaction failed because it attempted to set a trust line to its default state, but the trust line did not exist. | -| tecPATH\_DRY | 128 | The transaction failed because the provided paths did not have enough liquidity to send anything at all. This could mean that the source and destination accounts are not linked by trust lines. | -| tecUNFUNDED | 129 | **DEPRECATED.** Replaced by tecUNFUNDED\_OFFER and tecUNFUNDED\_PAYMENT. | -| tecNO\_ALTERNATIVE\_KEY | 130 | The transaction tried to remove the only available method of [authorizing transactions](#authorizing-transactions). This could be a [SetRegularKey transaction](#setregularkey) to remove the regular key, a [SignerListSet transaction](#signerlistset) to delete a SignerList, or an [AccountSet transaction](#accountset) to disable the master key. (Prior to [rippled 0.30.0](https://github.com/ripple/rippled/releases/tag/0.30.0), this was called `tecMASTER_DISABLED`.) | +| tecNO\_PERMISSION | 139 | Reserved for future use. | | tecNO\_REGULAR\_KEY | 131 | The [AccountSet transaction](#accountset) tried to disable the master key, but the account does not have another way to [authorize transactions](#authorizing-transactions). If [multi-signing](#multi-signing) is enabled, this code is deprecated and `tecNO_ALTERNATIVE_KEY` is used instead. | -| tecOWNERS | 132 | The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the [`lsfRequireAuth`](#accountset-flags) flag if it has any trust lines or available offers. | -| tecNO\_ISSUER | 133 | The account specified in the `issuer` field of a currency amount does not exist. | -| tecNO\_AUTH | 134 | The transaction failed because it needs to add a balance on a trust line to an account with the `lsfRequireAuth` flag enabled, and that trust line has not been authorized. If the trust line does not exist at all, tecNO\_LINE occurs instead. | -| tecNO\_LINE | 135 | The `TakerPays` field of the [OfferCreate transaction](#offercreate) specifies an asset whose issuer has `lsfRequireAuth` enabled, and the account making the offer does not have a trust line for that asset. (Normally, making an offer implicitly creates a trust line if necessary, but in this case it does not bother because you cannot hold the asset without authorization.) If the trust line exists, but is not authorized, tecNO\_AUTH occurs instead. | -| tecFROZEN | 137 | The [OfferCreate transaction](#offercreate) failed because one or both of the assets involved are subject to a [global freeze](concept-freeze.html). | -| tecNO\_TARGET | 138 | **FORTHCOMING** Reserved for future features. | -| tecNO\_PERMISSION | 139 | **FORTHCOMING** Reserved for future features. | -| tecNO\_ENTRY | 140 | **FORTHCOMING** Reserved for future features. | -| tecINSUFFICIENT\_RESERVE | 141 | The [SignerListSet](#signerlistset) or other transaction would increase the [reserve requirement](concept-reserves.html) higher than the sending account's balance. See [SignerLists and Reserves](ripple-ledger.html#signerlists-and-reserves) for more information. | -| tecNEED\_MASTER\_KEY | 142 | This transaction attempted to cause changes that require the master key, such as [disabling the master key or giving up the ability to freeze balances](#accountset-flags). _(New in [rippled 0.28.0](https://github.com/ripple/rippled/releases/tag/0.28.0-rc1))_ | -| tecDST\_TAG\_NEEDED | 143 | The [Payment](#payment) transaction omitted a destination tag, but the destination account has the `lsfRequireDestTag` flag enabled. _(New in [rippled 0.28.0][])_ | -| tecINTERNAL | 144 | Unspecified internal error, with transaction cost applied. This error code should not normally be returned. | +| tecNO\_TARGET | 138 | Reserved for future use. | | tecOVERSIZE | 145 | This transaction could not be processed, because attempted transaction processing created an excessively large amount of metadata. _(New in [rippled 0.29.0-hf1](https://github.com/ripple/rippled/releases/tag/0.29.0-hf1) )_ | +| tecOWNERS | 132 | The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the [`lsfRequireAuth`](#accountset-flags) flag if it has any trust lines or available offers. | +| tecPATH\_DRY | 128 | The transaction failed because the provided paths did not have enough liquidity to send anything at all. This could mean that the source and destination accounts are not linked by trust lines. | +| tecPATH\_PARTIAL | 101 | The transaction failed because the provided paths did not have enough liquidity to send the full amount. | +| tecUNFUNDED | 129 | **DEPRECATED.** Replaced by tecUNFUNDED\_OFFER and tecUNFUNDED\_PAYMENT. | +| tecUNFUNDED\_ADD | 102 | **DEPRECATED.** | +| tecUNFUNDED\_PAYMENT | 104 | The transaction failed because the sending account is trying to send more XRP than it holds, not counting the reserve. (See: [Reserves](concept-reserves.html)) | +| tecUNFUNDED\_OFFER | 103 | The [OfferCreate transaction](#offercreate) failed because the account creating the offer does not have any of the `TakerGets` currency. | ### tej Codes ### diff --git a/reference-transaction-format.html b/reference-transaction-format.html index 39ce97ec44..a8518aebb8 100644 --- a/reference-transaction-format.html +++ b/reference-transaction-format.html @@ -212,7 +212,9 @@ "tx_blob" : "120000240000000461D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA968400000000000000F732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74483046022100982064CDD3F052D22788DB30B52EEA8956A32A51375E72274E417328EBA31E480221008F522C9DB4B0F31E695AA013843958A10DE8F6BA7D6759BEE645F71A7EB240BE81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754" } -

After a transaction has been submitted, if it gets accepted into a validated ledger, you can view the final transaction using the API. For example, here is what the WebSocket API tx command shows for the same transaction. The field names that begin with capital letters are part of the ledger object; the fields that begin with lower-case letters are additional information generated by the server for the request:

+

After a transaction has been submitted, you can check its status using the API, for example using the tx command.

+

Caution: The success of a transaction is not final unless the transaction appears in a validated ledger with the result code tesSUCCESS. See also: Finality of Results.

+

Example response from the tx command:

{
   "id": 6,
   "status": "success",
@@ -1631,10 +1633,6 @@
 
 
 
-telLOCAL_ERROR
-Unspecified local error.
-
-
 telBAD_DOMAIN
 The transaction specified a domain value (for example, the Domain field of an AccountSet transaction) that cannot be used, probably because it is too long to store in the ledger.
 
@@ -1655,6 +1653,10 @@
 The Fee from the transaction is not high enough to meet the server's current transaction cost requirement, which is derived from its load level.
 
 
+telLOCAL_ERROR
+Unspecified local error.
+
+
 telNO_DST_PARTIAL
 The transaction is an XRP payment that would fund a new account, but the tfPartialPayment flag was enabled. This is disallowed.
 
@@ -1671,10 +1673,6 @@
 
 
 
-temMALFORMED
-Unspecified problem with the format of the transaction.
-
-
 temBAD_AMOUNT
 An amount specified by the transaction (for example the destination Amount or SendMax values of a Payment) was invalid, possibly because it was a negative number.
 
@@ -1767,6 +1765,10 @@
 The transaction includes a Flag that does not exist, or includes a contradictory combination of flags.
 
 
+temMALFORMED
+Unspecified problem with the format of the transaction.
+
+
 temREDUNDANT
 The transaction would accomplish nothing; for example, it is sending a payment directly to the sending account, or creating an offer to buy and sell the same currency from the same issuer.
 
@@ -1815,48 +1817,48 @@
 
 
 
-tefFAILURE
-Unspecified failure in applying the transaction.
-
-
 tefALREADY
 The same exact transaction has already been applied.
 
 
 tefBAD_ADD_AUTH
-Deprecated. This code should never be returned.
+DEPRECATED.
 
 
 tefBAD_AUTH
 The key used to sign this account is not authorized to modify this account. (It could be authorized if the account had the same key set as the Regular Key.)
 
 
+tefBAD_AUTH_MASTER
+The single signature provided to authorize this transaction does not match the master key, but no regular key is associated with this address.
+
+
 tefBAD_LEDGER
-While processing the transaction, the ledger was discovered in an unexpected state. If you can reproduce this error, please file a bug to get it fixed.
+While processing the transaction, the ledger was discovered in an unexpected state. If you can reproduce this error, please report an issue to get it fixed.
+
+
+tefBAD_QUORUM
+The transaction was multi-signed, but the total weights of all included signatures did not meet the quorum.
+
+
+tefBAD_SIGNATURE
+The transaction was multi-signed, but contained a signature for an address not part of a SignerList associated with the sending account.
 
 
 tefCREATED
-Deprecated. This code should never be returned.
+DEPRECATED.
 
 
 tefEXCEPTION
-While processing the transaction, the server entered an unexpected state. This may be caused by unexpected inputs, for example if the binary data for the transaction is grossly malformed. If you can reproduce this error, please file a bug to get it fixed.
+While processing the transaction, the server entered an unexpected state. This may be caused by unexpected inputs, for example if the binary data for the transaction is grossly malformed. If you can reproduce this error, please report an issue to get it fixed.
+
+
+tefFAILURE
+Unspecified failure in applying the transaction.
 
 
 tefINTERNAL
-While attempting to apply the transaction, the server entered an unexpected state. If you can reproduce this error, please file a bug to get it fixed.
-
-
-tefNO_AUTH_REQUIRED
-The TrustSet transaction attempted to mark a trustline as authorized, but the lsfRequireAuth flag is not enabled for the corresponding account, so authorization is not necessary.
-
-
-tefPAST_SEQ
-The sequence number of the transaction is lower than the current sequence number of the account sending the transaction.
-
-
-tefWRONG_PRIOR
-The transaction contained an AccountTxnID field (or the deprecated PreviousTxnID field), but the transaction specified there does not match the account's previous transaction.
+While attempting to apply the transaction, the server entered an unexpected state. If you can reproduce this error, please report an issue to get it fixed.
 
 
 tefMASTER_DISABLED
@@ -1867,20 +1869,20 @@
 The transaction included a LastLedgerSequence parameter, but the current ledger's sequence number is already higher than the specified value.
 
 
-tefBAD_SIGNATURE
-The transaction was multi-signed, but contained a signature for an address not part of a SignerList associated with the sending account.
-
-
-tefBAD_QUORUM
-The transaction was multi-signed, but the total weights of all included signatures did not meet the quorum.
+tefNO_AUTH_REQUIRED
+The TrustSet transaction attempted to mark a trustline as authorized, but the lsfRequireAuth flag is not enabled for the corresponding account, so authorization is not necessary.
 
 
 tefNOT_MULTI_SIGNING
 The transaction was multi-signed, but the sending account has no SignerList defined.
 
 
-tefBAD_AUTH_MASTER
-The single signature provided to authorize this transaction does not match the master key, but no regular key is associated with this address.
+tefPAST_SEQ
+The sequence number of the transaction is lower than the current sequence number of the account sending the transaction.
+
+
+tefWRONG_PRIOR
+The transaction contained an AccountTxnID field (or the deprecated PreviousTxnID field), but the transaction specified there does not match the account's previous transaction.
 
 
 
@@ -1895,30 +1897,34 @@
 
 
 
-terRETRY
-Unspecified retriable error.
-
-
 terFUNDS_SPENT
-Deprecated. This code should never be returned.
+DEPRECATED.
 
 
 terINSUF_FEE_B
 The account sending the transaction does not have enough XRP to pay the Fee specified in the transaction.
 
 
+terLAST
+Used internally only. This code should never be returned.
+
+
 terNO_ACCOUNT
-The account sending the transaction does not exist in the ledger (yet).
+The address sending the transaction is not funded in the ledger (yet).
 
 
 terNO_AUTH
-The transaction would involve adding currency issued by an account with lsfRequireAuth enabled to a trustline that is not authorized. For example, you placed an offer to buy a currency you aren't authorized to hold.
+The transaction would involve adding currency issued by an account with lsfRequireAuth enabled to a trust line that is not authorized. For example, you placed an offer to buy a currency you aren't authorized to hold.
 
 
 terNO_LINE
 Used internally only. This code should never be returned.
 
 
+terNO_RIPPLE
+Used internally only. This code should never be returned.
+
+
 terOWNERS
 The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the lsfRequireAuth flag if it has any trust lines or available offers.
 
@@ -1927,12 +1933,8 @@
 The Sequence number of the current transaction is higher than the current sequence number of the account sending the transaction.
 
 
-terLAST
-Used internally only. This code should never be returned.
-
-
-terNO_RIPPLE
-Used internally only. This code should never be returned.
+terRETRY
+Unspecified retriable error.
 
 
 
@@ -1969,24 +1971,14 @@
 Unspecified failure, with transaction cost destroyed.
 
 
-tecPATH_PARTIAL
-101
-The transaction failed because the provided paths did not have enough liquidity to send the full amount.
+tecDIR_FULL
+121
+The address sending the transaction cannot own any more objects in the ledger.
 
 
-tecUNFUNDED_ADD
-102
-DEPRECATED.
-
-
-tecUNFUNDED_OFFER
-103
-The OfferCreate transaction failed because the account creating the offer does not have any of the TakerGets currency.
-
-
-tecUNFUNDED_PAYMENT
-104
-The transaction failed because the sending account is trying to send more XRP than it holds, not counting the reserve. (See: Reserves)
+tecDST_TAG_NEEDED
+143
+The Payment transaction omitted a destination tag, but the destination account has the lsfRequireDestTag flag enabled. (New in rippled 0.28.0)
 
 
 tecFAILED_PROCESSING
@@ -1994,9 +1986,9 @@
 An unspecified error occurred when processing the transaction.
 
 
-tecDIR_FULL
-121
-The "owners count" of the account sending the transaction is already maxed out.
+tecFROZEN
+137
+The OfferCreate transaction failed because one or both of the assets involved are subject to a global freeze.
 
 
 tecINSUF_RESERVE_LINE
@@ -2009,6 +2001,31 @@
 The transaction failed because the sending account does not have enough XRP to create a new Offer. (See: Reserves)
 
 
+tecINSUFFICIENT_RESERVE
+141
+The SignerListSet or other transaction would increase the reserve requirement higher than the sending account's balance. See SignerLists and Reserves for more information.
+
+
+tecINTERNAL
+144
+Unspecified internal error, with transaction cost applied. This error code should not normally be returned.
+
+
+tecNEED_MASTER_KEY
+142
+This transaction attempted to cause changes that require the master key, such as disabling the master key or giving up the ability to freeze balances. (New in rippled 0.28.0)
+
+
+tecNO_ALTERNATIVE_KEY
+130
+The transaction tried to remove the only available method of authorizing transactions. This could be a SetRegularKey transaction to remove the regular key, a SignerListSet transaction to delete a SignerList, or an AccountSet transaction to disable the master key. (Prior to rippled 0.30.0, this was called tecMASTER_DISABLED.)
+
+
+tecNO_AUTH
+134
+The transaction failed because it needs to add a balance on a trust line to an account with the lsfRequireAuth flag enabled, and that trust line has not been authorized. If the trust line does not exist at all, tecNO_LINE occurs instead.
+
+
 tecNO_DST
 124
 The account on the receiving end of the transaction does not exist. This includes Payment and TrustSet transaction types. (It could be created if it received sufficient XRP.)
@@ -2019,6 +2036,21 @@
 The account on the receiving end of the transaction does not exist, and the transaction is not sending enough XRP to create it.
 
 
+tecNO_ENTRY
+140
+Reserved for future use.
+
+
+tecNO_ISSUER
+133
+The account specified in the issuer field of a currency amount does not exist.
+
+
+tecNO_LINE
+135
+The TakerPays field of the OfferCreate transaction specifies an asset whose issuer has lsfRequireAuth enabled, and the account making the offer does not have a trust line for that asset. (Normally, making an offer implicitly creates a trust line if necessary, but in this case it does not bother because you cannot hold the asset without authorization.) If the trust line exists, but is not authorized, tecNO_AUTH occurs instead.
+
+
 tecNO_LINE_INSUF_RESERVE
 126
 The transaction failed because the sending account does not have enough XRP to create a new trust line. (See: Reserves) This error occurs when the counterparty does not have a trust line to this account for the same currency. (See tecINSUF_RESERVE_LINE for the other case.)
@@ -2029,19 +2061,9 @@
 The transaction failed because it attempted to set a trust line to its default state, but the trust line did not exist.
 
 
-tecPATH_DRY
-128
-The transaction failed because the provided paths did not have enough liquidity to send anything at all. This could mean that the source and destination accounts are not linked by trust lines.
-
-
-tecUNFUNDED
-129
-DEPRECATED. Replaced by tecUNFUNDED_OFFER and tecUNFUNDED_PAYMENT.
-
-
-tecNO_ALTERNATIVE_KEY
-130
-The transaction tried to remove the only available method of authorizing transactions. This could be a SetRegularKey transaction to remove the regular key, a SignerListSet transaction to delete a SignerList, or an AccountSet transaction to disable the master key. (Prior to rippled 0.30.0, this was called tecMASTER_DISABLED.)
+tecNO_PERMISSION
+139
+Reserved for future use.
 
 
 tecNO_REGULAR_KEY
@@ -2049,70 +2071,50 @@
 The AccountSet transaction tried to disable the master key, but the account does not have another way to authorize transactions. If multi-signing is enabled, this code is deprecated and tecNO_ALTERNATIVE_KEY is used instead.
 
 
-tecOWNERS
-132
-The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the lsfRequireAuth flag if it has any trust lines or available offers.
-
-
-tecNO_ISSUER
-133
-The account specified in the issuer field of a currency amount does not exist.
-
-
-tecNO_AUTH
-134
-The transaction failed because it needs to add a balance on a trust line to an account with the lsfRequireAuth flag enabled, and that trust line has not been authorized. If the trust line does not exist at all, tecNO_LINE occurs instead.
-
-
-tecNO_LINE
-135
-The TakerPays field of the OfferCreate transaction specifies an asset whose issuer has lsfRequireAuth enabled, and the account making the offer does not have a trust line for that asset. (Normally, making an offer implicitly creates a trust line if necessary, but in this case it does not bother because you cannot hold the asset without authorization.) If the trust line exists, but is not authorized, tecNO_AUTH occurs instead.
-
-
-tecFROZEN
-137
-The OfferCreate transaction failed because one or both of the assets involved are subject to a global freeze.
-
-
 tecNO_TARGET
 138
-FORTHCOMING Reserved for future features.
-
-
-tecNO_PERMISSION
-139
-FORTHCOMING Reserved for future features.
-
-
-tecNO_ENTRY
-140
-FORTHCOMING Reserved for future features.
-
-
-tecINSUFFICIENT_RESERVE
-141
-The SignerListSet or other transaction would increase the reserve requirement higher than the sending account's balance. See SignerLists and Reserves for more information.
-
-
-tecNEED_MASTER_KEY
-142
-This transaction attempted to cause changes that require the master key, such as disabling the master key or giving up the ability to freeze balances. (New in rippled 0.28.0)
-
-
-tecDST_TAG_NEEDED
-143
-The Payment transaction omitted a destination tag, but the destination account has the lsfRequireDestTag flag enabled. (New in rippled 0.28.0)
-
-
-tecINTERNAL
-144
-Unspecified internal error, with transaction cost applied. This error code should not normally be returned.
+Reserved for future use.
 
 
 tecOVERSIZE
 145
 This transaction could not be processed, because attempted transaction processing created an excessively large amount of metadata. (New in rippled 0.29.0-hf1 )
 
+
+tecOWNERS
+132
+The transaction requires that account sending it has a nonzero "owners count", so the transaction cannot succeed. For example, an account cannot enable the lsfRequireAuth flag if it has any trust lines or available offers.
+
+
+tecPATH_DRY
+128
+The transaction failed because the provided paths did not have enough liquidity to send anything at all. This could mean that the source and destination accounts are not linked by trust lines.
+
+
+tecPATH_PARTIAL
+101
+The transaction failed because the provided paths did not have enough liquidity to send the full amount.
+
+
+tecUNFUNDED
+129
+DEPRECATED. Replaced by tecUNFUNDED_OFFER and tecUNFUNDED_PAYMENT.
+
+
+tecUNFUNDED_ADD
+102
+DEPRECATED.
+
+
+tecUNFUNDED_PAYMENT
+104
+The transaction failed because the sending account is trying to send more XRP than it holds, not counting the reserve. (See: Reserves)
+
+
+tecUNFUNDED_OFFER
+103
+The OfferCreate transaction failed because the account creating the offer does not have any of the TakerGets currency.
+
 
 
 

tej Codes