mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-28 07:35:50 +00:00
Use amendment disclaimer & update tx ref intros
This commit is contained in:
@@ -9,7 +9,7 @@ labels:
|
||||
# account_channels
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/AccountChannels.cpp "Source")
|
||||
|
||||
_(Added by the [PayChan amendment][].)_
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
The `account_channels` method returns information about an account's Payment Channels. This includes only channels where the specified account is the channel's source, not the destination. (A channel's "source" and "owner" are the same.) All information retrieved is relative to a particular version of the ledger.
|
||||
|
||||
|
||||
@@ -216,10 +216,10 @@ The `account_flags` field contains the following nested fields:
|
||||
| `defaultRipple` | Boolean | If `true`, the account allows [rippling](../../../../concepts/tokens/fungible-tokens/rippling.md) on its trust lines by default. |
|
||||
| `depositAuth` | Boolean | If `true`, the account is using [Deposit Authorization](../../../../concepts/accounts/depositauth.md) and does not accept any payments from unknown parties. |
|
||||
| `disableMasterKey` | Boolean | If `true`, the account's [master key pair](../../../../concepts/accounts/cryptographic-keys.md) is disabled. |
|
||||
| `disallowIncomingCheck` | Boolean | If `true`, the account does not allow others to send [Checks](../../../../concepts/payment-types/checks.md) to it. _(Requires the [DisallowIncoming amendment][])_ |
|
||||
| `disallowIncomingNFTokenOffer` | Boolean | If `true`, the account does not allow others to make [NFT buy or sell offers](../../../../concepts/tokens/nfts/trading.md) to it. _(Requires the [DisallowIncoming amendment][])_ |
|
||||
| `disallowIncomingPayChan` | Boolean | If `true`, the account does not allow others to make [Payment Channels](../../../../concepts/payment-types/payment-channels.md) to it. _(Requires the [DisallowIncoming amendment][])_ |
|
||||
| `disallowIncomingTrustline` | Boolean | If `true`, the account does not allow others to make [trust lines](../../../../concepts/tokens/fungible-tokens/index.md) to it. _(Requires the [DisallowIncoming amendment][])_ |
|
||||
| `disallowIncomingCheck` | Boolean | If `true`, the account does not allow others to send [Checks](../../../../concepts/payment-types/checks.md) to it. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `disallowIncomingNFTokenOffer` | Boolean | If `true`, the account does not allow others to make [NFT buy or sell offers](../../../../concepts/tokens/nfts/trading.md) to it. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `disallowIncomingPayChan` | Boolean | If `true`, the account does not allow others to make [Payment Channels](../../../../concepts/payment-types/payment-channels.md) to it. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `disallowIncomingTrustline` | Boolean | If `true`, the account does not allow others to make [trust lines](../../../../concepts/tokens/fungible-tokens/index.md) to it. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `disallowIncomingXRP` | Boolean | If `true`, the account does not want to receive XRP from others. (This is advisory, and not enforced at a protocol level.) |
|
||||
| `globalFreeze` | Boolean | If `true`, all tokens issued by the account are currently frozen. |
|
||||
| `noFreeze` | Boolean | If `true`, the account has permanently given up the abilities to freeze individual trust lines or end a global freeze. See [No Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) for details. |
|
||||
|
||||
@@ -11,7 +11,7 @@ labels:
|
||||
|
||||
The `account_nfts` method returns a list of `NFToken` objects for the specified account.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
@@ -12,7 +12,7 @@ stautus: not_enabled
|
||||
|
||||
[[Source]](https://github.com/XRPLF/clio/blob/develop/src/rpc/handlers/MPTHolders.cpp "Source")
|
||||
|
||||
_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="MPTokensV1" /%}
|
||||
|
||||
For a given `MPTokenIssuanceID` and ledger sequence, `mpt_holders` returns all holders of that [MPT](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) and their balance. This method likely returns very large data sets, so you should expect to implement paging via the `marker` field. This API is only available using Clio, not `rippled`. {% badge href="https://github.com/XRPLF/clio/releases/tag/2.3.0" %}New in: Clio v2.3.0{% /badge %}
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ rippled json ledger_entry '{ "account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59
|
||||
### Get AMM Entry
|
||||
<a id="get-amm-object"></a><!-- legacy ID -->
|
||||
|
||||
_(Added by the [AMM amendment][])_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
Retrieve an Automated Market-Maker (AMM) object from the ledger. This is similar to [amm_info method][], but the `ledger_entry` version returns only the ledger entry as stored.
|
||||
|
||||
@@ -231,7 +231,7 @@ rippled json ledger_entry '{ "amm": { "asset": { "currency": "XRP" }, "asset2":
|
||||
### Get Bridge Entry
|
||||
<a id="get-bridge-object"></a><!-- legacy ID -->
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
Retrieve a [Bridge entry](../../../protocol/ledger-data/ledger-entry-types/bridge.md), which represents a single cross-chain bridge that connects the XRP Ledger with another blockchain.
|
||||
|
||||
@@ -467,7 +467,7 @@ rippled json ledger_entry '{ "offer": { "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJY
|
||||
### Get Oracle Entry
|
||||
<a id="get-oracle-object"></a><!-- legacy ID -->
|
||||
|
||||
_(Requires the [PriceOracle amendment][])_
|
||||
{% amendment-disclaimer name="PriceOracle" /%}
|
||||
|
||||
Retrieve an [Oracle entry](../../../protocol/ledger-data/ledger-entry-types/oracle.md), which represents a single price oracle that can store token prices.
|
||||
|
||||
@@ -792,7 +792,7 @@ rippled json ledger_entry '{ "deposit_preauth": { "owner": "rf1BiGeXwwQoi8Z2ueFY
|
||||
### Get Ticket Entry
|
||||
<a id="get-ticket-object"></a><!-- legacy ID -->
|
||||
|
||||
Retrieve a [Ticket entry](../../../protocol/ledger-data/ledger-entry-types/ticket.md), which represents a [sequence number][] set aside for future use. _(Added by the [TicketBatch amendment][])_
|
||||
Retrieve a [Ticket entry](../../../protocol/ledger-data/ledger-entry-types/ticket.md), which represents a [sequence number][] set aside for future use. {% amendment-disclaimer name="TicketBatch" /%}
|
||||
|
||||
| Field | Type | Description |
|
||||
|:--------------------|:---------------------|:----------------------|
|
||||
|
||||
@@ -13,7 +13,7 @@ labels:
|
||||
|
||||
The {% code-page-name /%} method gets information about an [Automated Market Maker (AMM)](/docs/concepts/tokens/decentralized-exchange/automated-market-makers) instance.
|
||||
|
||||
_(Added by the [AMM amendment][])_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
|
||||
### Request Format
|
||||
|
||||
@@ -71,7 +71,7 @@ The request includes the following parameters:
|
||||
|:---------------|:-----------------|:----------|-------------|
|
||||
| `taker_gets` | Object | Yes | The asset the account taking the offer would receive, as a [currency without an amount](../../../protocol/data-types/currency-formats.md#specifying-without-amounts). |
|
||||
| `taker_pays` | Object | Yes | The asset the account taking the offer would pay, as a [currency without an amount](../../../protocol/data-types/currency-formats.md#specifying-without-amounts). |
|
||||
| `domain` | [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, return offers from the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) instead of using the open DEX. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `domain` | [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, return offers from the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) instead of using the open DEX. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `ledger_hash` | [Hash][] | No | The unique hash of the ledger version to use. (See [Specifying Ledgers][]) |
|
||||
| `ledger_index` | [Ledger Index][] | No | The [ledger index][] of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers][]) |
|
||||
| `limit` | Number | No | The maximum number of offers to return. The response may include fewer results. |
|
||||
|
||||
@@ -6,7 +6,7 @@ labels:
|
||||
---
|
||||
# get_aggregate_price
|
||||
|
||||
_(Requires the [PriceOracle amendment][])_
|
||||
{% amendment-disclaimer name="PriceOracle" /%}
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/GetAggregatePrice.cpp "Source")
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ labels:
|
||||
|
||||
The `nft_buy_offers` method returns a list of buy offers for a given [NFToken][] object.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
@@ -11,7 +11,7 @@ labels:
|
||||
|
||||
The `nft_sell_offers` method returns a list of sell offers for a given [NFToken][] object.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
@@ -61,7 +61,7 @@ The request includes the following parameters:
|
||||
| `source_account` | String - [Address][] | Yes | The account to find a path from. (In other words, the account that would be sending a payment.) |
|
||||
| `destination_account` | String - [Address][] | Yes | The account to find a path to. (In other words, the account that would receive a payment.) |
|
||||
| `destination_amount` | [Currency Amount][] | Yes | How much the destination account would receive. **Special case:** You can specify `"-1"` (for XRP) or provide -1 as the contents of the `value` field (for tokens). This requests a path to deliver as much as possible, while spending no more than the amount specified in `send_max` (if provided). |
|
||||
| `domain` | String - [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, only return paths that use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `domain` | String - [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, only return paths that use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `paths` | Array | No | Array of arrays of objects, representing [payment paths](../../../../concepts/tokens/fungible-tokens/paths.md) to check.
|
||||
| `send_max` | [Currency Amount][] | No | Maximum amount that would be spent. Not compatible with `source_currencies`. |
|
||||
You can use this to keep updated on changes to particular paths you already know about, or to check the overall cost to make a payment along a certain path. |
|
||||
|
||||
@@ -90,7 +90,7 @@ The request includes the following parameters:
|
||||
| `source_account` | String - [Address][] | Yes | The account that would send funds |
|
||||
| `destination_account` | String - [Address][] | Yes | The account that would receive funds |
|
||||
| `destination_amount` | [Currency Amount][] | Yes | How much the destination account would receive. **Special case:** You can specify `"-1"` (for XRP) or provide -1 as the contents of the `value` field (for tokens). This requests a path to deliver as much as possible, while spending no more than the amount specified in `send_max` (if provided). |
|
||||
| `domain` | String - [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, only return paths that use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `domain` | String - [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, only return paths that use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `ledger_hash` | String - [Hash][] | No | The unique hash of the ledger version to use. (See [Specifying Ledgers][]) |
|
||||
| `ledger_index` | [Ledger Index][] | No | The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers][]) |
|
||||
| `send_max` | [Currency Amount][] | No | Maximum amount that would be spent. Cannot be used with `source_currencies`. |
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
html: channel_authorize.html
|
||||
parent: payment-channel-methods.html
|
||||
seo:
|
||||
description: Sign a claim for money from a payment channel.
|
||||
labels:
|
||||
@@ -9,10 +7,10 @@ labels:
|
||||
# channel_authorize
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/d4a56f223a3b80f64ff70b4e90ab6792806929ca/src/ripple/rpc/handlers/PayChanClaim.cpp#L41 "Source")
|
||||
|
||||
_(Added by the [PayChan amendment][] to be enabled.)_
|
||||
|
||||
The `channel_authorize` method creates a signature that can be used to redeem a specific amount of XRP or fungible tokens from a payment channel.
|
||||
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ labels:
|
||||
# channel_verify
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/d4a56f223a3b80f64ff70b4e90ab6792806929ca/src/ripple/rpc/handlers/PayChanClaim.cpp#L89 "Source")
|
||||
|
||||
_(Added by the [PayChan amendment][] to be enabled.)_
|
||||
|
||||
The `channel_verify` method checks the validity of a signature that can be used to redeem a specific amount of XRP or fungible tokens from a payment channel.
|
||||
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
## Request Format
|
||||
An example of the request format:
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ Each member of the `books` array, if provided, is an object with the following f
|
||||
| `taker_gets` | Object - Currency | Yes | Specification of which currency the account taking the offer would receive, as a [currency object with no amount](../../../protocol/data-types/currency-formats.md#specifying-without-amounts). |
|
||||
| `taker_pays` | Object - Currency | Yes | Specification of which currency the account taking the offer would pay, as a [currency object with no amount](../../../protocol/data-types/currency-formats.md#specifying-without-amounts). |
|
||||
| `both` | Boolean | No | If `true`, return both sides of the order book. The default is `false`. |
|
||||
| `domain` | String - [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, subscribe to the order books for the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) instead of the open DEX. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `domain` | String - [Hash][] | No | The ledger entry ID of a permissioned domain. If provided, subscribe to the order books for the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) instead of the open DEX. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `snapshot` | Boolean | No | If `true`, return the current state of the order book once when you subscribe before sending updates. The default is `false`. |
|
||||
| `taker` | String - [Address][] | No | The acount to use as a perspective for viewing offers. This affects the funding status and fees of [offers](../../../../concepts/tokens/decentralized-exchange/offers.md). |
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ labels:
|
||||
|
||||
The `NFToken` object represents a single non-fungible token (NFT). It is not stored on its own, but is contained in a [NFTokenPage object][] alongside other `NFToken` objects.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ seo:
|
||||
description: Format for permissions that can be granted to other accounts.
|
||||
label:
|
||||
- Permissions
|
||||
status: not_enabled
|
||||
---
|
||||
# Permission Values
|
||||
|
||||
@@ -11,7 +12,7 @@ label:
|
||||
- **Transaction Type Permissions** - Permission to send transactions with the specified [transaction type](../transactions/types/index.md).
|
||||
- **Granular Permissions** - Permission to send transactions with a specific subset of functionality.
|
||||
|
||||
_(Requires the [PermissionDelegation amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="PermissionDelegation" /%}
|
||||
|
||||
## Numeric and String Values
|
||||
|
||||
|
||||
@@ -39,30 +39,30 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e
|
||||
|:------------------------------|:----------|:------------------|:----------|:-------------|
|
||||
| `Account` | String | AccountID | Yes | The identifying (classic) address of this [account](../../../../concepts/accounts/index.md). |
|
||||
| `AccountTxnID` | String | UInt256 | No | The identifying hash of the transaction most recently sent by this account. This field must be enabled to use the [`AccountTxnID` transaction field](../../transactions/common-fields.md#accounttxnid). To enable it, send an [AccountSet transaction with the `asfAccountTxnID` flag enabled](../../transactions/types/accountset.md#accountset-flags). |
|
||||
| `AMMID` | String | UInt256 | No | _(Added by the [AMM amendment][])_ The ledger entry ID of the corresponding AMM ledger entry. Set during account creation; cannot be modified. If present, indicates that this is a special AMM AccountRoot; always omitted on non-AMM accounts. |
|
||||
| `AMMID` | String | UInt256 | No | {% amendment-disclaimer name="AMM" /%} The ledger entry ID of the corresponding AMM ledger entry. Set during account creation; cannot be modified. If present, indicates that this is a special AMM AccountRoot; always omitted on non-AMM accounts. |
|
||||
| `Balance` | String | Amount | No | The account's current [XRP balance in drops][XRP, in drops], represented as a string. |
|
||||
| `BurnedNFTokens` | Number | UInt32 | No | How many total of this account's issued [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) have been burned. This number is always equal or less than `MintedNFTokens`. |
|
||||
| `Domain` | String | Blob | No | A domain associated with this account. In JSON, this is the hexadecimal for the ASCII representation of the domain. [Cannot be more than 256 bytes in length.](https://github.com/xrplf/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) |
|
||||
| `EmailHash` | String | UInt128 | No | The md5 hash of an email address. Clients can use this to look up an avatar through services such as [Gravatar](https://en.gravatar.com/). |
|
||||
| `FirstNFTokenSequence` | Number | UInt32 | No | The account's [Sequence Number][] at the time it minted its first [non-fungible-token](../../../../concepts/tokens/nfts/index.md). _(Added by the [fixNFTokenRemint amendment][])_ |
|
||||
| `FirstNFTokenSequence` | Number | UInt32 | No | The account's [Sequence Number][] at the time it minted its first [non-fungible-token](../../../../concepts/tokens/nfts/index.md). {% amendment-disclaimer name="fixNFTokenRemint" /%} |
|
||||
| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0061`, mapped to the string `AccountRoot`, indicates that this is an AccountRoot object. |
|
||||
| `MessageKey` | String | Blob | No | A public key that may be used to send encrypted messages to this account. In JSON, uses hexadecimal. Must be exactly 33 bytes, with the first byte indicating the key type: `0x02` or `0x03` for secp256k1 keys, `0xED` for Ed25519 keys. |
|
||||
| `MintedNFTokens` | Number | UInt32 | No | How many total [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) have been minted by and on behalf of this account. _(Added by the [NonFungibleTokensV1_1 amendment][])_ |
|
||||
| `NFTokenMinter` | String | AccountID | No | Another account that can mint [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) on behalf of this account. _(Added by the [NonFungibleTokensV1_1 amendment][])_ |
|
||||
| `MintedNFTokens` | Number | UInt32 | No | How many total [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) have been minted by and on behalf of this account. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `NFTokenMinter` | String | AccountID | No | Another account that can mint [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) on behalf of this account. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `OwnerCount` | Number | UInt32 | Yes | The number of objects this account owns in the ledger, which contributes to its owner reserve. |
|
||||
| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this object. |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | Yes |The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. |
|
||||
| `RegularKey` | String | AccountID | No | The address of a [key pair](../../../../concepts/accounts/cryptographic-keys.md) that can be used to sign transactions for this account instead of the master key. Use a [SetRegularKey transaction][] to change this value. |
|
||||
| `Sequence` | Number | UInt32 | Yes | The [sequence number](../../data-types/basic-data-types.md#account-sequence) of the next valid transaction for this account. |
|
||||
| `TicketCount` | Number | UInt32 | No | How many [Tickets](../../../../concepts/accounts/tickets.md) this account owns in the ledger. This is updated automatically to ensure that the account stays within the hard limit of 250 Tickets at a time. This field is omitted if the account has zero Tickets. _(Added by the [TicketBatch amendment][].)_ |
|
||||
| `TickSize` | Number | UInt8 | No | How many significant digits to use for exchange rates of Offers involving currencies issued by this address. Valid values are `3` to `15`, inclusive. _(Added by the [TickSize amendment][].)_ |
|
||||
| `TicketCount` | Number | UInt32 | No | How many [Tickets](../../../../concepts/accounts/tickets.md) this account owns in the ledger. This is updated automatically to ensure that the account stays within the hard limit of 250 Tickets at a time. This field is omitted if the account has zero Tickets. {% amendment-disclaimer name="TicketBatch" /%} |
|
||||
| `TickSize` | Number | UInt8 | No | How many significant digits to use for exchange rates of Offers involving currencies issued by this address. Valid values are `3` to `15`, inclusive. {% amendment-disclaimer name="TickSize" /%} |
|
||||
| `TransferRate` | Number | UInt32 | No | A [transfer fee](../../../../concepts/tokens/fungible-tokens/transfer-fees.md) to charge other users for sending currency issued by this account to each other. |
|
||||
| `WalletLocator` | String | UInt256 | No | An arbitrary 256-bit value that users can set. |
|
||||
| `WalletSize` | Number | UInt32 | No | Unused. (The code supports this field but there is no way to set it.) |
|
||||
|
||||
## Special AMM AccountRoot Entries
|
||||
|
||||
_(Added by the [AMM amendment][])_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
Automated Market Makers use an AccountRoot ledger entry to issue their LP Tokens and hold the assets in the AMM pool, and an [AMM ledger entry](amm.md) for tracking some of the details of the AMM. The address of an AMM's AccountRoot is randomized so that users cannot identify and fund the address in advance of the AMM being created. Unlike normal accounts, AMM AccountRoot objects are created with the following settings:
|
||||
|
||||
@@ -87,14 +87,14 @@ AccountRoot objects can have the following flags combined in the `Flags` field:
|
||||
|
||||
| Flag Name | Hex Value | Decimal Value | Corresponding [AccountSet Flag](../../transactions/types/accountset.md#accountset-flags) | Description |
|
||||
|-----------------------------------|--------------|-------------------|-----------------------------------|----|
|
||||
| `lsfAllowTrustLineClawback` | `0x80000000` | 2147483648 | `asfAllowTrustLineClawback` | Enable [Clawback](../../../../concepts/tokens/fungible-tokens/clawing-back-tokens.md) for this account. _(Requires the [Clawback amendment][].)_ |
|
||||
| `lsfAllowTrustLineClawback` | `0x80000000` | 2147483648 | `asfAllowTrustLineClawback` | Enable [Clawback](../../../../concepts/tokens/fungible-tokens/clawing-back-tokens.md) for this account. {% amendment-disclaimer name="Clawback" /%} |
|
||||
| `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | Enable [rippling](../../../../concepts/tokens/fungible-tokens/rippling.md) on this addresses's trust lines by default. Required for issuing addresses; discouraged for others. |
|
||||
| `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | This account has [DepositAuth](../../../../concepts/accounts/depositauth.md) enabled, meaning it can only receive funds from transactions it sends, and from [preauthorized](../../../../concepts/accounts/depositauth.md#preauthorization) accounts. _(Added by the [DepositAuth amendment][])_ |
|
||||
| `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | This account has [DepositAuth](../../../../concepts/accounts/depositauth.md) enabled, meaning it can only receive funds from transactions it sends, and from [preauthorized](../../../../concepts/accounts/depositauth.md#preauthorization) accounts. {% amendment-disclaimer name="DepositAuth" /%} |
|
||||
| `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | Disallows use of the master key to sign transactions for this account. |
|
||||
| `lsfDisallowIncomingCheck` | `0x08000000` | 134217728 | `asfDisallowIncomingCheck` | This account blocks incoming Checks. _(Added by the [DisallowIncoming amendment][].)_ |
|
||||
| `lsfDisallowIncomingNFTokenOffer` | `0x04000000` | 67108864 | `asfDisallowIncomingNFTokenOffer` | This account blocks incoming NFTokenOffers. _(Added by the [DisallowIncoming amendment][].)_ |
|
||||
| `lsfDisallowIncomingPayChan` | `0x10000000` | 268435456 | `asfDisallowIncomingPayChan` | This account blocks incoming Payment Channels. _(Added by the [DisallowIncoming amendment][].)_ |
|
||||
| `lsfDisallowIncomingTrustline` | `0x20000000` | 536870912 | `asfDisallowIncomingTrustline` | This account blocks incoming trust lines. _(Added by the [DisallowIncoming amendment][].)_ |
|
||||
| `lsfDisallowIncomingCheck` | `0x08000000` | 134217728 | `asfDisallowIncomingCheck` | This account blocks incoming Checks. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `lsfDisallowIncomingNFTokenOffer` | `0x04000000` | 67108864 | `asfDisallowIncomingNFTokenOffer` | This account blocks incoming NFTokenOffers. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `lsfDisallowIncomingPayChan` | `0x10000000` | 268435456 | `asfDisallowIncomingPayChan` | This account blocks incoming Payment Channels. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `lsfDisallowIncomingTrustline` | `0x20000000` | 536870912 | `asfDisallowIncomingTrustline` | This account blocks incoming trust lines. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `lsfDisallowXRP` | `0x00080000` | 524288 | `asfDisallowXRP` | Client applications should not send XRP to this account. (Advisory; not enforced by the protocol.) |
|
||||
| `lsfGlobalFreeze` | `0x00400000` | 4194304 | `asfGlobalFreeze` | All assets issued by this account are frozen. |
|
||||
| `lsfNoFreeze` | `0x00200000` | 2097152 | `asfNoFreeze` | This account cannot freeze trust lines connected to it. Once enabled, cannot be disabled. |
|
||||
|
||||
@@ -52,8 +52,8 @@ In addition to the [common fields](../common-fields.md), the {% code-page-name /
|
||||
| `Flags` | Number | UInt32 | Yes | A bit-map of boolean flags enabled for this object. Currently, the protocol defines no flags for `Amendments` objects. The value is always `0`. |
|
||||
| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0066`, mapped to the string `Amendments`, indicates that this object describes the status of amendments to the XRP Ledger. |
|
||||
| `Majorities` | Array | Array | No | Array of objects describing the status of amendments that have majority support but are not yet enabled. If omitted, there are no pending amendments with majority support. |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
|
||||
Each member of the `Majorities` field, if it is present, is an object with one field, `Majority`, whose contents are a nested object with the following fields:
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
An `AMM` ledger entry describes a single [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) (AMM) instance. This is always paired with a [special AccountRoot entry](accountroot.md#special-amm-accountroot-entries). You can create an AMM by sending an [AMMCreate transaction][].
|
||||
|
||||
_(Added by the [AMM amendment][])_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
|
||||
## Example AMM JSON
|
||||
@@ -68,8 +68,8 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e
|
||||
| `Account` | String - [Address][] | AccountID | Yes | The address of the [special account](accountroot.md#special-amm-accountroot-entries) that holds this AMM's assets. |
|
||||
| `AuctionSlot` | Object | Object | No | Details of the current owner of the auction slot, as an [Auction Slot object](#auction-slot-object). |
|
||||
| `LPTokenBalance` | [Currency Amount][] | Amount | Yes | The total outstanding balance of liquidity provider tokens from this AMM instance. The holders of these tokens can vote on the AMM's trading fee in proportion to their holdings, or redeem the tokens for a share of the AMM's assets which grows with the trading fees collected. |
|
||||
| `PreviousTxnID` | String - [Hash][] | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnID` | String - [Hash][] | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `TradingFee` | Number | UInt16 | Yes | The percentage fee to be charged for trades against this AMM instance, in units of 1/100,000. The maximum value is 1000, for a 1% fee. |
|
||||
| `VoteSlots` | Array | Array | No | A list of vote objects, representing votes on the pool's trading fee. |
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ status: not_enabled
|
||||
|
||||
The `Bridge` ledger entry represents a single cross-chain bridge that connects the XRP Ledger with another blockchain, such as its sidechain, and enables value in the form of XRP and other tokens (IOUs) to move efficiently between the two blockchains. You can create a bridge by sending an [XChainCreateBridge transaction][].
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
## Example Bridge JSON
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
A `Check` entry describes a [check](../../../../concepts/payment-types/checks.md), similar to a paper personal check, which can be cashed by its destination to get money from its sender. You can create a check by sending a [CheckCreate transaction][].
|
||||
|
||||
_(Added by the [Checks amendment][].)_
|
||||
{% amendment-disclaimer name="Checks" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ status: not_enabled
|
||||
|
||||
A `Credential` entry represents a [credential](../../../../concepts/decentralized-storage/credentials.md), which contains an attestation about a _subject_ account from a _credential issuer_ account. The meaning of the attestation is defined by the issuer.
|
||||
|
||||
_(Requires the [Credentials amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="Credentials" /%}
|
||||
|
||||
## Example Credential JSON
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ status: not_enabled
|
||||
|
||||
A `Delegate` ledger entry stores a set of permissions that an account has delegated to another account. You create a `Delegate` entry by sending a [DelegateSet transaction][].
|
||||
|
||||
_(Requires the [PermissionDelegation amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="PermissionDelegation" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -101,7 +101,6 @@ In this case, the ID is the [SHA-512Half][] of the following values, concatenate
|
||||
* The AccountID in the `Authorize` field
|
||||
|
||||
### Credential Preauthorization
|
||||
_(Requires the [Credentials amendment][]. {% not-enabled /%})_
|
||||
|
||||
In this case, the ID is the [SHA-512Half][] of the following values, concatenated in order:
|
||||
|
||||
@@ -109,6 +108,8 @@ In this case, the ID is the [SHA-512Half][] of the following values, concatenate
|
||||
* The AccountID of the owner of this object (the sender of the [DepositPreauth transaction][] that created this object; in other words, the one that granted the preauthorization)
|
||||
* The contents of the `AuthorizeCredentials` field.
|
||||
|
||||
{% amendment-disclaimer name="Credentials" /%}
|
||||
|
||||
## See Also
|
||||
|
||||
- **Transactions**
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
A `DID` ledger entry holds references to, or data associated with, a single [Decentralized Identifier (DID)](../../../../concepts/decentralized-storage/decentralized-identifiers.md). You can create or modify a DID by sending a [DIDSet transaction][].
|
||||
|
||||
_(Added by the [DID amendment][])_
|
||||
{% amendment-disclaimer name="DID" /%}
|
||||
|
||||
## Example DID JSON
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ All types of directories are automatically updated by the protocol as necessary.
|
||||
|
||||
| Name | JSON Type | [Internal Type][] | Required? | Description |
|
||||
|:--------------------|:----------|:------------------|:----------|:------------|
|
||||
| `DomainID` | String | UInt256 | No | (Offer directories only) The ledger entry ID of a permissioned domain. If present, this order book belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). Otherwise, this order book is part of the open DEX. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `DomainID` | String | UInt256 | No | (Offer directories only) The ledger entry ID of a permissioned domain. If present, this order book belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). Otherwise, this order book is part of the open DEX. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `ExchangeRate` | String | UInt64 | No | (Offer directories only) **DEPRECATED**. Do not use. |
|
||||
| `Flags` | Number | UInt32 | Yes | A bit-map of boolean flags enabled for this object. Currently, the protocol defines no flags for `DirectoryNode` objects. The value is always `0`. |
|
||||
| `Indexes` | Array | Vector256 | Yes | The contents of this directory: an array of IDs of other objects. |
|
||||
@@ -106,8 +106,8 @@ All types of directories are automatically updated by the protocol as necessary.
|
||||
| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0064`, mapped to the string `DirectoryNode`, indicates that this object is part of a directory. |
|
||||
| `NFTokenID` | String | UInt256 | No | (NFT offer directories only) ID of the NFT in a buy or sell offer. |
|
||||
| `Owner` | String | AccountID | No | (Owner directories only) The address of the account that owns the objects in this directory. |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `RootIndex` | String | UInt256 | Yes | The ID of root object for this directory. |
|
||||
| `TakerGetsCurrency` | String | UInt160 | No | (Offer directories only) The currency code of the `TakerGets` amount from the offers in this directory. |
|
||||
| `TakerGetsIssuer` | String | UInt160 | No | (Offer directories only) The issuer of the `TakerGets` amount from the offers in this directory. |
|
||||
@@ -137,7 +137,7 @@ Owner directories and offer directories for fungible tokens do not use flags; th
|
||||
There are three different formulas for creating the ID of a DirectoryNode, depending on which of the following the DirectoryNode represents:
|
||||
|
||||
* The first page (also called the root) of an Owner or NFT Offer directory
|
||||
* The first page of an Offer directory, with variants for the open DEX and permissioned DEX _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_
|
||||
* The first page of an Offer directory, with variants for the open DEX and permissioned DEX {% amendment-disclaimer name="PermissionedDEX" /%}
|
||||
* Later pages of any type
|
||||
|
||||
The first page of an Owner directory or NFT Offer directory has an ID that is the [SHA-512Half][] of the following values, concatenated in order:
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
An `Escrow` ledger entry represents an [escrow](../../../../concepts/payment-types/escrow.md), which holds XRP until specific conditions are met. You can create an escrow by sending an [EscrowCreate transaction][].
|
||||
|
||||
_(Added by the [Escrow amendment][].)_
|
||||
{% amendment-disclaimer name="Escrow" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ The fields of the `FeeSettings` ledger entry depend on whether the [XRPFees amen
|
||||
| `BaseFeeDrops` | String | Amount | Yes | The [transaction cost](../../../../concepts/transactions/transaction-cost.md) of the "reference transaction" in drops of XRP. |
|
||||
| `ReserveBaseDrops` | String | Amount | Yes | The [base reserve](../../../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve) for an account in the XRP Ledger, as drops of XRP. |
|
||||
| `ReserveIncrementDrops` | String | Amount | Yes | The incremental [owner reserve](../../../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve) for owning objects, as drops of XRP. |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="Legacy Format" %}
|
||||
@@ -66,8 +66,8 @@ The fields of the `FeeSettings` ledger entry depend on whether the [XRPFees amen
|
||||
| `ReferenceFeeUnits` | Number | UInt32 | Yes | The `BaseFee` translated into "fee units". |
|
||||
| `ReserveBase` | Number | UInt32 | Yes | The [base reserve](../../../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve) for an account in the XRP Ledger, as drops of XRP. |
|
||||
| `ReserveIncrement` | Number | UInt32 | Yes | The incremental [owner reserve](../../../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve) for owning objects, as drops of XRP. |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
|
||||
{% admonition type="danger" name="Warning" %}The JSON format for this ledger entry type is unusual. The `BaseFee`, `ReserveBase`, and `ReserveIncrement` indicate drops of XRP but ***not*** in the usual format for [specifying XRP][Currency Amount].{% /admonition %}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e
|
||||
| `Account` | String - [Address][] | AccountID | Yes | The owner (holder) of these MPTs. |
|
||||
| `MPTokenIssuanceID` | String - Hexadecimal | UInt192 | Yes | The `MPTokenIssuance` identifier. |
|
||||
| `MPTAmount` | String - Number | UInt64 | Yes | The amount of tokens currently held by the owner. The minimum is 0 and the maximum is 2<sup>63</sup>-1. |
|
||||
| `LockedAmount` | String - Number | UInt64 | No | The amount of tokens currently locked up (for example, in escrow or payment channels). _(Requires the [TokenEscrow amendment][] {% not-enabled /%}.)_ |
|
||||
| `LockedAmount` | String - Number | UInt64 | No | The amount of tokens currently locked up (for example, in escrow). {% amendment-disclaimer name="TokenEscrow" /%} |
|
||||
| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The sequence of the ledger that contains the transaction that most recently modified this object. |
|
||||
| `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. |
|
||||
|
||||
@@ -7,7 +7,7 @@ labels:
|
||||
# NegativeUNL
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L85-L91 "Source")
|
||||
|
||||
_(Added by the [NegativeUNL amendment][].)_
|
||||
{% amendment-disclaimer name="NegativeUNL" /%}
|
||||
|
||||
The `NegativeUNL` ledger entry type contains the current status of the [Negative UNL](../../../../concepts/consensus-protocol/negative-unl.md), a list of trusted validators currently believed to be offline.
|
||||
|
||||
@@ -41,8 +41,8 @@ In addition to the [common fields](../common-fields.md), the {% code-page-name /
|
||||
|:----------------------|:----------|:------------------|:----------|:---------------------|
|
||||
| `DisabledValidators` | Array | Array | No | A list of `DisabledValidator` objects (see below), each representing a trusted validator that is currently disabled. |
|
||||
| `LedgerEntryType` | String | UInt16 | Yes | The value `0x004E`, mapped to the string `NegativeUNL`, indicates that this entry is the Negative UNL. |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ |
|
||||
| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. {% amendment-disclaimer name="fixPreviousTxnID" /%} |
|
||||
| `ValidatorToDisable` | String | Blob | No | The public key of a trusted validator that is scheduled to be disabled in the next flag ledger. |
|
||||
| `ValidatorToReEnable` | String | Blob | No | The public key of a trusted validator in the Negative UNL that is scheduled to be re-enabled in the next flag ledger. |
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
An `NFTokenOffer` entry represents an offer to buy, sell or transfer an [NFT](../../../../concepts/tokens/nfts/index.md). You can create an NFT buy or sell offer by sending an [NFTokenCreateOffer transaction][].
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
An `NFTokenPage` entry represents a collection of [NFTs](../../../../concepts/tokens/nfts/index.md) owned by the same account. An account can have multiple `NFTokenPage` entries, which form a doubly linked list. NFT directories are automatically updated when an account mints, burns, buys, or sells NFTs.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -42,10 +42,10 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e
|
||||
| Name | JSON Type | [Internal Type][] | Required? | Description |
|
||||
|:--------------------|:---------------------|:------------------|:----------|:------------|
|
||||
| `Account` | String - [Address][] | AccountID | Yes | The account that owns this offer. |
|
||||
| `AdditionalBooks` | Array | Array | No | A list of additional offer directories that link to this offer. This field is only present if this is a hybrid offer in a [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). The array always contains exactly 1 entry. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `AdditionalBooks` | Array | Array | No | A list of additional offer directories that link to this offer. This field is only present if this is a hybrid offer in a [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). The array always contains exactly 1 entry. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `BookDirectory` | String - [Hash][] | UInt256 | Yes | The ID of the [offer directory](directorynode.md) that links to this offer. |
|
||||
| `BookNode` | String | UInt64 | Yes | A hint indicating which page of the offer directory links to this entry, in case the directory consists of multiple pages. |
|
||||
| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If present, this offer belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If present, this offer belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `Expiration` | Number | UInt32 | No | Indicates the time after which this offer is considered unfunded. See [Specifying Time][] for details. |
|
||||
| `LedgerEntryType` | String | UInt16 | Yes | The value `0x006F`, mapped to the string `Offer`, indicates that this is an offer entry. |
|
||||
| `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. |
|
||||
@@ -63,7 +63,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e
|
||||
|--------------|--------------|---------------|-------------|------------------------|
|
||||
| `lsfPassive` | `0x00010000` | 65536 | `tfPassive` | The offer was placed as passive. This has no effect after the offer is placed into the ledger. |
|
||||
| `lsfSell` | `0x00020000` | 131072 | `tfSell` | The offer was placed as a sell offer. This has no effect after the offer is placed in the ledger, because `tfSell` only matters if you get a better rate than you asked for, which can only happen when the offer is initially placed. |
|
||||
| `lsfHybrid` | `0x00040000` | 262144 | `tfHybrid` | The offer was placed as a hybrid offer, which means it is listed in a [permissioned DEX](/docs/concepts/tokens/decentralized-exchange/permissioned-dexes.md) and the open DEX. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `lsfHybrid` | `0x00040000` | 262144 | `tfHybrid` | The offer was placed as a hybrid offer, which means it is listed in a [permissioned DEX](/docs/concepts/tokens/decentralized-exchange/permissioned-dexes.md) and the open DEX. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
|
||||
## {% $frontmatter.seo.title %} Reserve
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
An `Oracle` ledger entry holds data associated with a single [price oracle](../../../../concepts/decentralized-storage/price-oracles.md), which can store information on up to 10 asset pairs. You can create or modify a price oracle with an [OracleSet transaction][].
|
||||
|
||||
_(Added by the [PriceOracle amendment][])_
|
||||
{% amendment-disclaimer name="PriceOracle" /%}
|
||||
|
||||
## Example Oracle JSON
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
A `PayChannel` entry represents a [payment channel](../../../../concepts/payment-types/payment-channels.md). You can create a payment channel with a [PaymentChannelCreate transaction][].
|
||||
|
||||
_(Added by the [PayChan amendment][].)_
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ status: not_enabled
|
||||
|
||||
A `PermissionedDomain` ledger entry describes a single [permissioned domain][] instance. You can create a permissioned domain by sending a [PermissionedDomainSet transaction][].
|
||||
|
||||
_(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="PermissionedDomains" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
A `SignerList` entry represents a list of parties that, as a group, are authorized to sign a transaction in place of an individual account by [multi-signing](../../../../concepts/accounts/multi-signing.md). You can create, replace, or remove a signer list using a [SignerListSet transaction][].
|
||||
|
||||
_(Added by the [MultiSign amendment][].)_
|
||||
{% amendment-disclaimer name="MultiSign" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -70,13 +70,13 @@ Each member of the `SignerEntries` field is an object that describes that signer
|
||||
|:----------------|:----------|:--------------|:-------------------------------|
|
||||
| `Account` | String | AccountID | An XRP Ledger address whose signature contributes to the multi-signature. It does not need to be a funded address in the ledger. |
|
||||
| `SignerWeight` | Number | UInt16 | The weight of a signature from this signer. A multi-signature is only valid if the sum weight of the signatures provided meets or exceeds the signer list's `SignerQuorum` value. |
|
||||
| `WalletLocator` | String | UInt256 | _(Optional)_ Arbitrary hexadecimal data. This can be used to identify the signer or for other, related purposes. _(Added by the [ExpandedSignerList amendment][].)_ |
|
||||
| `WalletLocator` | String | UInt256 | _(Optional)_ Arbitrary hexadecimal data. This can be used to identify the signer or for other, related purposes. {% amendment-disclaimer name="ExpandedSignerList" /%} |
|
||||
|
||||
When processing a multi-signed transaction, the server looks up the `Account` values with respect to the ledger at the time of transaction execution. If the address _does not_ correspond to a funded [AccountRoot ledger entry](accountroot.md), then only the [master private key](../../../../concepts/accounts/cryptographic-keys.md) associated with that address can be used to produce a valid signature. If the account _does_ exist in the ledger, then it depends on the state of that account. If the account has a Regular Key configured, the Regular Key can be used. The account's master key can only be used if it is not disabled. A multi-signature cannot be used as part of another multi-signature.
|
||||
|
||||
## {% $frontmatter.seo.title %} Flags
|
||||
|
||||
_(Added by the [MultiSignReserve amendment][].)_
|
||||
{% amendment-disclaimer name="MultiSignReserve" /%}
|
||||
|
||||
SignerList entries can have the following value in the `Flags` field:
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
A `Ticket` entry type represents a [Ticket](../../../../concepts/accounts/tickets.md), which tracks an account [sequence number][Sequence Number] that has been set aside for future use. You can create new tickets with a [TicketCreate transaction][].
|
||||
|
||||
_(Added by the [TicketBatch amendment][].)_
|
||||
{% amendment-disclaimer name="TicketBatch" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -14,7 +14,7 @@ The `XChainOwnedClaimID` entry must be acquired on the destination chain before
|
||||
|
||||
You can create a new `XChainOwnedClaimID` by sending an [XChainCreateClaimID transaction][]. An `XChainOwnedClaimID` is destroyed when the funds are successfully claimed on the destination chain.
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
|
||||
## Example XChainOwnedClaimID JSON
|
||||
|
||||
@@ -14,7 +14,7 @@ You can create a new `XChainOwnedCreateAccountClaimID` entry by sending an [XCha
|
||||
|
||||
An `XChainOwnedCreateAccountClaimID` ledger entry is destroyed when all the attestations have been received and the funds have transferred to the new account.
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
|
||||
## Example XChainOwnedCreateAccountClaimID JSON
|
||||
|
||||
@@ -13,9 +13,9 @@ Every transaction has the same set of common fields, plus additional fields base
|
||||
| `Account` | String - [Address][] | AccountID | Yes | The [account](../../../concepts/accounts/index.md) that initiated the transaction. |
|
||||
| `TransactionType` | String | UInt16 | Yes | The type of transaction. Valid [transaction types](types/index.md) include: `Payment`, `OfferCreate`, `TrustSet`, and many others. |
|
||||
| `Fee` | String - Number | Amount | Yes; [auto-fillable][] | Integer amount of XRP, in drops, to be destroyed as a cost for sending this transaction. Some transaction types have different minimum requirements. See [Transaction Cost][] for details. |
|
||||
| `Sequence` | Number | UInt32 | Yes; [auto-fillable][] | The [sequence number](../data-types/basic-data-types.md#account-sequence) 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](../../../concepts/accounts/tickets.md) instead _(Added by the [TicketBatch amendment][].)_. |
|
||||
| `Sequence` | Number | UInt32 | Yes; [auto-fillable][] | The [sequence number](../data-types/basic-data-types.md#account-sequence) 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](../../../concepts/accounts/tickets.md) instead {% amendment-disclaimer name="TicketBatch" /%}. |
|
||||
| [`AccountTxnID`](#accounttxnid) | String - [Hash][] | UInt256 | No | Hash value identifying another transaction. If provided, this transaction is only valid if the sending account's previously-sent transaction matches the provided hash. |
|
||||
| [`Delegate`](#delegate) | String - [Address][] | AccountID | No | A delegate account that is sending the transaction on behalf of the `Account`. _(Requires the [PermissionDelegation amendment][] {% not-enabled /%})_ |
|
||||
| [`Delegate`](#delegate) | String - [Address][] | AccountID | No | A delegate account that is sending the transaction on behalf of the `Account`. {% amendment-disclaimer name="PermissionDelegation" /%} |
|
||||
| [`Flags`](#flags-field) | Number | UInt32 | No | Set of bit-flags for this transaction. |
|
||||
| `LastLedgerSequence` | Number | UInt32 | No; [auto-fillable][] | 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. See [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) for more details. |
|
||||
| [`Memos`](#memos-field) | Array of Objects | Array | No | Additional arbitrary information attached to this transaction. |
|
||||
@@ -67,7 +67,7 @@ If the `Delegate` field is provided, this transaction is being sent by a differe
|
||||
|
||||
Sending a transaction this way is only possible if the delegating account has granted the appropriate transaction permissions to the delegate account. For more information, see [Permission Delegation](/docs/concepts/accounts/permission-delegation.md).
|
||||
|
||||
_(Requires the [PermissionDelegation amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="PermissionDelegation" /%}
|
||||
|
||||
## Flags Field
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ Transactions (`tx` and `account_tx`) involving NFTs can contain the following fi
|
||||
| `offer_id` | String | Shows the `OfferID`of a new `NFTokenOffer` in a response from a `NFTokenCreateOffer` transaction. |
|
||||
## MPT Fields
|
||||
|
||||
_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="MPTokensV1" /%}
|
||||
|
||||
### Synthetic mpt_issuance_id field
|
||||
`MPTokenIssuanceID` is an identifier that allows you to specify an `MPTokenIssuance` in RPCs. The server adds a synthetically parsed `mpt_issuance_id` field to API responses to avoid the need for client-side parsing of the `MPTokenIssuanceID`.
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
# UNLModify
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Change.cpp "Source")
|
||||
|
||||
_(Added by the [NegativeUNL amendment][].)_
|
||||
{% amendment-disclaimer name="NegativeUNL" /%}
|
||||
|
||||
A `UNLModify` [pseudo-transaction](pseudo-transaction-types.md) marks a change to the [Negative UNL](../../../../concepts/consensus-protocol/negative-unl.md), indicating that a trusted validator has gone offline or come back online.
|
||||
|
||||
|
||||
@@ -17,20 +17,20 @@ A transaction that fails with a `tec` code destroys the XRP paid as a [transacti
|
||||
|
||||
| Code | Value | Explanation |
|
||||
|:---------------------------|:------|:----------------------------------------|
|
||||
| `tecAMM_ACCOUNT` | 168 | The transaction failed because the operation is not allowed on Automated Market Maker (AMM) accounts. _(Added by the [AMM amendment][])_ |
|
||||
| `tecAMM_UNFUNDED` | 162 | The [AMMCreate transaction][] failed because the sender does not have enough of the specified assets to fund it. _(Added by the [AMM amendment][])_ |
|
||||
| `tecAMM_BALANCE` | 163 | The [AMMDeposit][] or [AMMWithdraw][] transaction failed because either the AMM or the user does not hold enough of one of the specified assets. (For example, you tried to withdraw more than the AMM holds.) _(Added by the [AMM amendment][])_ |
|
||||
| `tecAMM_EMPTY` | 166 | The AMM-related transaction failed because the AMM has no assets in its pool. In this state, you can only delete the AMM or fund it with a new deposit. _(Added by the [AMM amendment][])_ |
|
||||
| `tecAMM_FAILED` | 164 | The AMM-related transaction failed. For [AMMDeposit][] or [AMMWithdraw][] this could be because the sender does not have enough of the specified assets, or the transaction requested an effective price that isn't possible with the available amounts. For [AMMBid][] this could be because the account does not have enough to win the bid or needs more than their specified maximum bid. For [AMMVote][], this could be because there are already too many votes from other accounts that hold more of this AMM's LP Tokens. _(Added by the [AMM amendment][])_ |
|
||||
| `tecAMM_INVALID_TOKENS` | 165 | The AMM-related transaction failed due to insufficient LP Tokens or problems with rounding; for example, depositing a very small amount of assets could fail if the amount of LP Tokens to be returned rounds down to zero. _(Added by the [AMM amendment][])_ |
|
||||
| `tecAMM_NOT_EMPTY` | 167 | The transaction was meant to operate on an AMM with empty asset pools, but the specified AMM currently holds assets. _(Added by the [AMM amendment][])_ |
|
||||
| `tecCANT_ACCEPT_OWN_NFTOKEN_OFFER` | 157 | The transaction tried to accept an offer that was placed by the same account to buy or sell a [non-fungible token](../../../../concepts/tokens/nfts/index.md). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecAMM_ACCOUNT` | 168 | The transaction failed because the operation is not allowed on Automated Market Maker (AMM) accounts. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecAMM_UNFUNDED` | 162 | The [AMMCreate transaction][] failed because the sender does not have enough of the specified assets to fund it. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecAMM_BALANCE` | 163 | The [AMMDeposit][] or [AMMWithdraw][] transaction failed because either the AMM or the user does not hold enough of one of the specified assets. (For example, you tried to withdraw more than the AMM holds.) {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecAMM_EMPTY` | 166 | The AMM-related transaction failed because the AMM has no assets in its pool. In this state, you can only delete the AMM or fund it with a new deposit. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecAMM_FAILED` | 164 | The AMM-related transaction failed. For [AMMDeposit][] or [AMMWithdraw][] this could be because the sender does not have enough of the specified assets, or the transaction requested an effective price that isn't possible with the available amounts. For [AMMBid][] this could be because the account does not have enough to win the bid or needs more than their specified maximum bid. For [AMMVote][], this could be because there are already too many votes from other accounts that hold more of this AMM's LP Tokens. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecAMM_INVALID_TOKENS` | 165 | The AMM-related transaction failed due to insufficient LP Tokens or problems with rounding; for example, depositing a very small amount of assets could fail if the amount of LP Tokens to be returned rounds down to zero. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecAMM_NOT_EMPTY` | 167 | The transaction was meant to operate on an AMM with empty asset pools, but the specified AMM currently holds assets. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `tecCANT_ACCEPT_OWN_NFTOKEN_OFFER` | 157 | The transaction tried to accept an offer that was placed by the same account to buy or sell a [non-fungible token](../../../../concepts/tokens/nfts/index.md). {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecCLAIM` | 100 | Unspecified failure, with transaction cost destroyed. |
|
||||
| `tecCRYPTOCONDITION_ERROR` | 146 | This [EscrowCreate][] or [EscrowFinish][] transaction contained a malformed or mismatched crypto-condition. |
|
||||
| `tecDIR_FULL` | 121 | The transaction tried to add an object (such as a trust line, Check, Escrow, or Payment Channel) to an account's owner directory, but that account cannot own any more objects in the ledger. |
|
||||
| `tecDUPLICATE` | 149 | The transaction tried to create an object (such as a [DepositPreauth][] authorization) that already exists. |
|
||||
| `tecDST_TAG_NEEDED` | 143 | The [Payment transaction][] omitted a [destination tag](../../../../concepts/transactions/source-and-destination-tags.md), but the destination account has the `lsfRequireDestTag` flag enabled. |
|
||||
| `tecEMPTY_DID` | 187 | The transaction tried to create a [DID entry][] with no contents. A DID must not be empty. _(Added by the [DID amendment][] {% not-enabled /%})_ |
|
||||
| `tecEMPTY_DID` | 187 | The transaction tried to create a [DID entry][] with no contents. A DID must not be empty. {% amendment-disclaimer name="DID" /%} |
|
||||
| `tecEXPIRED` | 148 | The transaction tried to create an object (such as an Offer or a Check) whose provided Expiration time has already passed. |
|
||||
| `tecFAILED_PROCESSING` | 105 | An unspecified error occurred when processing the transaction. |
|
||||
| `tecFROZEN` | 137 | The [OfferCreate transaction][] failed because one or both of the assets involved are subject to a [global freeze](../../../../concepts/tokens/fungible-tokens/freezes.md). |
|
||||
@@ -38,17 +38,17 @@ A transaction that fails with a `tec` code destroys the XRP paid as a [transacti
|
||||
| `tecINSUF_RESERVE_LINE` | 122 | The transaction failed because the sending account does not have enough XRP to create a new trust line. (See: [Reserves](../../../../concepts/accounts/reserves.md)) 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](../../../../concepts/accounts/reserves.md)) |
|
||||
| `tecINSUFF_FEE` | 136 | The transaction failed because the sending account does not have enough XRP to pay the [transaction cost](../../../../concepts/transactions/transaction-cost.md) that it specified. (In this case, the transaction processing destroys all of the sender's XRP even though that amount is lower than the specified transaction cost.) This result only occurs if the account's balance decreases _after_ this transaction has been distributed to enough of the network to be included in a consensus set. Otherwise, the transaction fails with [`terINSUF_FEE_B`](ter-codes.md) before being distributed. |
|
||||
| `tecINSUFFICIENT_FUNDS` | 158 | One of the accounts involved does not hold enough of a necessary asset. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecINSUFFICIENT_PAYMENT` | 161 | The amount specified is not enough to pay all fees involved in the transaction. For example, when trading a non-fungible token, the buy amount may not be enough to pay both the broker fee and the sell amount. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecINSUFFICIENT_FUNDS` | 158 | One of the accounts involved does not hold enough of a necessary asset. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecINSUFFICIENT_PAYMENT` | 161 | The amount specified is not enough to pay all fees involved in the transaction. For example, when trading a non-fungible token, the buy amount may not be enough to pay both the broker fee and the sell amount. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecINSUFFICIENT_RESERVE` | 141 | The transaction would increase the [reserve requirement](../../../../concepts/accounts/reserves.md) higher than the sending account's balance. [SignerListSet][], [PaymentChannelCreate][], [PaymentChannelFund][], and [EscrowCreate][] can return this error code. See [Signer Lists and Reserves](../../ledger-data/ledger-entry-types/signerlist.md#signer-lists-and-reserves) for more information. |
|
||||
| `tecINTERNAL` | 144 | Unspecified internal error, with transaction cost applied. This error code should not normally be returned. If you can reproduce this error, please [report an issue](https://github.com/XRPLF/rippled/issues). |
|
||||
| `tecINVALID_UPDATE_TIME` | 188 | The [OracleSet transaction][] failed because the `LastUpdateTime` is invalid. This can occur when the time is more than 300 seconds before or after the ledger close time, or when updating an existing oracle, the new `LastUpdateTime` is not greater than the previous value. _(Added by the [PriceOracle amendment][])_ |
|
||||
| `tecINVARIANT_FAILED` | 147 | An invariant check failed when trying to execute this transaction. Added by the [EnforceInvariants amendment][]. If you can reproduce this error, please [report an issue](https://github.com/XRPLF/rippled/issues). |
|
||||
| `tecKILLED` | 150 | The [OfferCreate transaction][] specified the `tfFillOrKill` flag and could not be filled, so it was killed. _(Added by the [fix1578 amendment][].)_ |
|
||||
| `tecMAX_SEQUENCE_REACHED` | 153 | A sequence number field is already at its maximum. This includes the `MintedNFTokens` field. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecINVALID_UPDATE_TIME` | 188 | The [OracleSet transaction][] failed because the `LastUpdateTime` is invalid. This can occur when the time is more than 300 seconds before or after the ledger close time, or when updating an existing oracle, the new `LastUpdateTime` is not greater than the previous value. {% amendment-disclaimer name="PriceOracle" /%} |
|
||||
| `tecINVARIANT_FAILED` | 147 | An invariant check failed when trying to execute this transaction. If you can reproduce this error, please [report an issue](https://github.com/XRPLF/rippled/issues). {% amendment-disclaimer name="EnforceInvariants" /%} |
|
||||
| `tecKILLED` | 150 | The [OfferCreate transaction][] specified the `tfFillOrKill` flag and could not be filled, so it was killed. {% amendment-disclaimer name="fix1578" /%} |
|
||||
| `tecMAX_SEQUENCE_REACHED` | 153 | A sequence number field is already at its maximum. This includes the `MintedNFTokens` field. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecNEED_MASTER_KEY` | 142 | This transaction tried to cause changes that require the master key, such as [disabling the master key or giving up the ability to freeze balances](../types/accountset.md#accountset-flags). |
|
||||
| `tecNFTOKEN_BUY_SELL_MISMATCH` | 155 | The [NFTokenAcceptOffer transaction][] attempted to match incompatible offers to buy and sell a non-fungible token. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecNFTOKEN_OFFER_TYPE_MISMATCH` | 156 | One or more of the offers specified in the transaction was not the right type of offer. (For example, a buy offer was specified in the `NFTokenSellOffer` field.) _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecNFTOKEN_BUY_SELL_MISMATCH` | 155 | The [NFTokenAcceptOffer transaction][] attempted to match incompatible offers to buy and sell a non-fungible token. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecNFTOKEN_OFFER_TYPE_MISMATCH` | 156 | One or more of the offers specified in the transaction was not the right type of offer. (For example, a buy offer was specified in the `NFTokenSellOffer` field.) {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecNO_ALTERNATIVE_KEY` | 130 | The transaction tried to remove the only available method of [authorizing transactions](../../../../concepts/transactions/index.md#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 enough XRP.) |
|
||||
@@ -60,9 +60,9 @@ A transaction that fails with a `tec` code destroys the XRP paid as a [transacti
|
||||
| `tecNO_LINE_REDUNDANT` | 127 | The transaction failed because it tried to set a trust line to its default state, but the trust line did not exist. |
|
||||
| `tecNO_PERMISSION` | 139 | The sender does not have permission to do this operation. For example, the [EscrowFinish transaction][] tried to release a held payment before its `FinishAfter` time, someone tried to use [PaymentChannelFund][] on a channel the sender does not own, or a [Payment][] tried to deliver funds to an account with the "DepositAuth" flag enabled. |
|
||||
| `tecNO_REGULAR_KEY` | 131 | The [AccountSet transaction][] tried to disable the master key, but the account does not have another way to [authorize transactions](../../../../concepts/transactions/index.md#authorizing-transactions). If [multi-signing](../../../../concepts/accounts/multi-signing.md) is enabled, this code is deprecated and `tecNO_ALTERNATIVE_KEY` is used instead. |
|
||||
| `tecNO_SUITABLE_NFTOKEN_PAGE` | 154 | The transaction tried to mint or acquire a non-fungible token but the account receiving the `NFToken` does not have a directory page that can hold it. This situation is rare. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecNO_SUITABLE_NFTOKEN_PAGE` | 154 | The transaction tried to mint or acquire a non-fungible token but the account receiving the `NFToken` does not have a directory page that can hold it. This situation is rare. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecNO_TARGET` | 138 | The transaction referenced an Escrow or PayChannel ledger object that doesn't exist, either because it never existed or it has already been deleted. (For example, another [EscrowFinish transaction][] has already executed the held payment.) Alternatively, the destination account has `asfDisallowXRP` set so it cannot be the destination of this [PaymentChannelCreate][] or [EscrowCreate][] transaction. |
|
||||
| `tecOBJECT_NOT_FOUND` | 160 | One of the objects specified by this transaction did not exist in the ledger. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tecOBJECT_NOT_FOUND` | 160 | One of the objects specified by this transaction did not exist in the ledger. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tecOVERSIZE` | 145 | This transaction could not be processed, because the server created an excessively large amount of [metadata](../metadata.md) when it tried to apply the transaction. |
|
||||
| `tecOWNERS` | 132 | The transaction cannot succeed because the sender already owns objects in the ledger. For example, an account cannot enable the [`lsfRequireAuth`](../types/accountset.md#accountset-flags) flag if it has any trust lines or available offers. |
|
||||
| `tecPATH_DRY` | 128 | The transaction failed because the provided [paths](../../../../concepts/tokens/fungible-tokens/paths.md) 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](../../../../concepts/tokens/fungible-tokens/index.md). |
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
html: tef-codes.html
|
||||
parent: transaction-results.html
|
||||
seo:
|
||||
description: tef codes indicate that the transaction failed and was not included in a ledger, but the transaction could have succeeded in some theoretical ledger.
|
||||
labels:
|
||||
@@ -26,10 +24,10 @@ These codes indicate that the transaction failed and was not included in a ledge
|
||||
| `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/XRPLF/rippled/issues) to get it fixed. |
|
||||
| `tefFAILURE` | Unspecified failure in applying the transaction. |
|
||||
| `tefINTERNAL` | When trying to apply the transaction, the server entered an unexpected state. If you can reproduce this error, please [report an issue](https://github.com/XRPLF/rippled/issues) to get it fixed. |
|
||||
| `tefINVARIANT_FAILED` | An invariant check failed when trying to claim the [transaction cost](../../../../concepts/transactions/transaction-cost.md). Added by the [EnforceInvariants amendment][]. If you can reproduce this error, please [report an issue](https://github.com/XRPLF/rippled/issues). |
|
||||
| `tefINVARIANT_FAILED` | An invariant check failed when trying to claim the [transaction cost](../../../../concepts/transactions/transaction-cost.md). If you can reproduce this error, please [report an issue](https://github.com/XRPLF/rippled/issues). {% amendment-disclaimer name="EnfroceInvariants" /%} |
|
||||
| `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`](../../../../concepts/transactions/reliable-transaction-submission.md#lastledgersequence) parameter, but the current ledger's sequence number is already higher than the specified value. |
|
||||
| `tefNFTOKEN_IS_NOT_TRANSFERABLE` | The transaction attempted to send a [non-fungible token](../../../../concepts/tokens/nfts/index.md) to another account, but the `NFToken` has the `lsfTransferable` flag disabled and the transfer would not be to or from the issuer. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `tefNFTOKEN_IS_NOT_TRANSFERABLE` | The transaction attempted to send a [non-fungible token](../../../../concepts/tokens/nfts/index.md) to another account, but the `NFToken` has the `lsfTransferable` flag disabled and the transfer would not be to or from the issuer. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `tefNO_AUTH_REQUIRED` | The [TrustSet transaction][] tried to mark a trust line as authorized, but the `lsfRequireAuth` flag is not enabled for the corresponding account, so authorization is not necessary. |
|
||||
| `tefNO_TICKET` | The transaction attempted to use a [Ticket](../../../../concepts/accounts/tickets.md), but the specified `TicketSequence` number does not exist in the ledger, and cannot be created in the future because it is earlier than the sender's current sequence number. |
|
||||
| `tefNOT_MULTI_SIGNING` | The transaction was [multi-signed](../../../../concepts/accounts/multi-signing.md), but the sending account has no SignerList defined. |
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
---
|
||||
html: tem-codes.html
|
||||
parent: transaction-results.html
|
||||
seo:
|
||||
description: tem codes indicate that the transaction was malformed, and cannot succeed according to the XRP Ledger protocol.
|
||||
labels:
|
||||
- Transaction Sending
|
||||
- Transaction Sending
|
||||
---
|
||||
# tem Codes
|
||||
|
||||
@@ -14,7 +12,7 @@ These codes indicate that the transaction was malformed, and cannot succeed acco
|
||||
|
||||
| Code | Explanation |
|
||||
|:------------------------------|:----------------------------------------------|
|
||||
| `temBAD_AMM_TOKENS` | The transaction incorrectly specified one or more assets. For example, the asset's issuer does not match the corresponding asset in the AMM's pool, or the transaction specified the same asset twice. _(Added by the [AMM amendment][])_ |
|
||||
| `temBAD_AMM_TOKENS` | The transaction incorrectly specified one or more assets. For example, the asset's issuer does not match the corresponding asset in the AMM's pool, or the transaction specified the same asset twice. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `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. |
|
||||
| `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](../../../../concepts/accounts/cryptographic-keys.md) set. |
|
||||
| `temBAD_CURRENCY` | The transaction improperly specified a currency field. See [Specifying Currency Amounts][Currency Amount] for the correct format. |
|
||||
@@ -22,7 +20,7 @@ These codes indicate that the transaction was malformed, and cannot succeed acco
|
||||
| `temBAD_FEE` | The transaction improperly specified its `Fee` value, for example by listing a non-XRP currency or some negative amount of XRP. |
|
||||
| `temBAD_ISSUER` | The transaction improperly specified the `issuer` field of some currency included in the request. |
|
||||
| `temBAD_LIMIT` | The [TrustSet transaction][] improperly specified the `LimitAmount` value of a trust line. |
|
||||
| `temBAD_NFTOKEN_TRANSFER_FEE` | The [NFTokenMint transaction][] improperly specified the `TransferFee` field of the transaction. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `temBAD_NFTOKEN_TRANSFER_FEE` | The [NFTokenMint transaction][] improperly specified the `TransferFee` field of the transaction. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `temBAD_OFFER` | The [OfferCreate transaction][] specifies an invalid offer, such as offering to trade XRP for itself, or offering a negative amount. |
|
||||
| `temBAD_PATH` | The [Payment transaction][] specifies one or more [Paths](../../../../concepts/tokens/fungible-tokens/paths.md) improperly, for example including an issuer for XRP, or specifying an account differently. |
|
||||
| `temBAD_PATH_LOOP` | One of the [Paths](../../../../concepts/tokens/fungible-tokens/paths.md) in the [Payment transaction][] was flagged as a loop, so it cannot be processed in a bounded amount of time. |
|
||||
@@ -45,7 +43,7 @@ These codes indicate that the transaction was malformed, and cannot succeed acco
|
||||
| `temREDUNDANT` | The transaction would do 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` | {% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}Removed in: rippled 0.28.0{% /badge %} |
|
||||
| `temRIPPLE_EMPTY` | The [Payment transaction][] includes an empty `Paths` field, but paths are necessary to complete this payment. |
|
||||
| `temSEQ_AND_TICKET` | The transaction contains both a `TicketSequence` field and a non-zero `Sequence` value. A transaction cannot include both. _(Added by the [TicketBatch amendment][].)_ |
|
||||
| `temSEQ_AND_TICKET` | The transaction contains both a `TicketSequence` field and a non-zero `Sequence` value. A transaction cannot include both. {% amendment-disclaimer name="TicketBatch" /%} |
|
||||
| `temBAD_WEIGHT` | The [SignerListSet transaction][] includes a `SignerWeight` that is invalid, for example a zero or negative value. |
|
||||
| `temBAD_SIGNER` | The [SignerListSet transaction][] includes a signer who is invalid. For example, there may be duplicate entries, or the owner of the SignerList may also be a member. |
|
||||
| `temBAD_QUORUM` | The [SignerListSet transaction][] has an invalid `SignerQuorum` value. Either the value is not greater than zero, or it is more than the sum of all signers in the list. |
|
||||
|
||||
@@ -20,7 +20,7 @@ Transactions with `ter` codes have not been applied to the current ledger and ha
|
||||
| `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 address sending the transaction is not funded in the ledger (yet). |
|
||||
| `terNO_AMM` | The AMM-related transaction specifies an asset pair that does not currently have an AMM instance. _(Added by the [AMM amendment][])_ |
|
||||
| `terNO_AMM` | The AMM-related transaction specifies an asset pair that does not currently have an AMM instance. {% amendment-disclaimer name="AMM" /%} |
|
||||
| `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` | The transaction can't succeed because of [rippling settings](/docs/concepts/tokens/fungible-tokens/rippling/). For example, the transaction tried to create an AMM even though the issuer of at least one of the tokens has not enabled the Default Ripple flag. |
|
||||
|
||||
@@ -5,12 +5,11 @@ labels:
|
||||
- Accounts
|
||||
---
|
||||
# AccountDelete
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteAccount.cpp "Source")
|
||||
|
||||
An AccountDelete transaction deletes an [account](../../ledger-data/ledger-entry-types/accountroot.md) and any objects it owns in the XRP Ledger, if possible, sending the account's remaining XRP to a specified destination account. See [Deleting Accounts](../../../../concepts/accounts/deleting-accounts.md) for the requirements to delete an account.
|
||||
|
||||
_(Added by the [DeletableAccounts amendment][].)_
|
||||
{% amendment-disclaimer name="DeletableAccounts" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -5,10 +5,9 @@ labels:
|
||||
- Accounts
|
||||
---
|
||||
# AccountSet
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetAccount.cpp "Source")
|
||||
|
||||
An AccountSet transaction modifies the properties of an [account in the XRP Ledger](../../ledger-data/ledger-entry-types/accountroot.md).
|
||||
Modify the settings or properties of an [account in the XRP Ledger](../../../../concepts/accounts/index.md).
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -34,10 +33,10 @@ An AccountSet transaction modifies the properties of an [account in the XRP Ledg
|
||||
| [`Domain`](#domain) | String | Blob | The domain that owns this account, as a string of hex representing the ASCII for the domain in lowercase. [Cannot be more than 256 bytes in length.](https://github.com/XRPLF/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) |
|
||||
| `EmailHash` | String | UInt128 | An arbitrary 128-bit value. Conventionally, clients treat this as the md5 hash of an email address to use for displaying a [Gravatar](http://en.gravatar.com/site/implement/hash/) image. |
|
||||
| `MessageKey` | String | Blob | Public key for sending encrypted messages to this account. To set the key, it must be exactly 33 bytes, with the first byte indicating the key type: `0x02` or `0x03` for secp256k1 keys, `0xED` for Ed25519 keys. To remove the key, use an empty value. |
|
||||
| `NFTokenMinter` | String - [Address][] | AccountID | Another account that can [mint NFTokens for you](../../../../tutorials/javascript/nfts/assign-an-authorized-minter.md). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `NFTokenMinter` | String - [Address][] | AccountID | Another account that can [mint NFTokens for you](../../../../tutorials/javascript/nfts/assign-an-authorized-minter.md). {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| [`SetFlag`](#accountset-flags) | Number | UInt32 | Integer flag to enable for this account. |
|
||||
| [`TransferRate`](#transferrate) | Number | UInt32 | The fee to charge when users transfer this account's tokens, represented as billionths of a unit. Cannot be more than `2000000000` or less than `1000000000`, except for the special case `0` meaning no fee. |
|
||||
| [`TickSize`](../../../../concepts/tokens/decentralized-exchange/ticksize.md) | Number | UInt8 | _(Optional)_ Tick size to use for offers involving a currency issued by this address. The exchange rates of those offers is rounded to this many significant digits. Valid values are `3` to `15` inclusive, or `0` to disable. _(Added by the [TickSize amendment][])_ |
|
||||
| [`TickSize`](../../../../concepts/tokens/decentralized-exchange/ticksize.md) | Number | UInt8 | _(Optional)_ Tick size to use for offers involving a currency issued by this address. The exchange rates of those offers is rounded to this many significant digits. Valid values are `3` to `15` inclusive, or `0` to disable. {% amendment-disclaimer name="TickSize" /%} |
|
||||
| `WalletLocator` | String | UInt256 | An arbitrary 256-bit value. If specified, the value is stored as part of the account but has no inherent meaning or requirements. |
|
||||
| `WalletSize` | Number | UInt32 | Not used. This field is valid in AccountSet transactions but does nothing. |
|
||||
|
||||
@@ -74,14 +73,14 @@ The available AccountSet flags are:
|
||||
|:----------------------------------|:--------------|:--------------|
|
||||
| `asfAccountTxnID` | 5 | Track the ID of this account's most recent transaction. Required for [`AccountTxnID`](../common-fields.md#accounttxnid) |
|
||||
| `asfAllowTrustLineClawback` | 16 | Allow account to claw back tokens it has issued. _(Requires the Clawback amendment.)_ Can only be set if the account has an empty owner directory (no trust lines, offers, escrows, payment channels, checks, or signer lists). After you set this flag, it cannot be reverted. The account permanently gains the ability to claw back issued assets on trust lines. |
|
||||
| `asfAuthorizedNFTokenMinter` | 10 | Enable to allow another account to mint non-fungible tokens (NFTokens) on this account's behalf. Specify the authorized account in the `NFTokenMinter` field of the [AccountRoot](../../ledger-data/ledger-entry-types/accountroot.md) object. To remove an authorized minter, enable this flag and omit the `NFTokenMinter` field. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ |
|
||||
| `asfAuthorizedNFTokenMinter` | 10 | Enable to allow another account to mint non-fungible tokens (NFTokens) on this account's behalf. Specify the authorized account in the `NFTokenMinter` field of the [AccountRoot](../../ledger-data/ledger-entry-types/accountroot.md) object. To remove an authorized minter, enable this flag and omit the `NFTokenMinter` field. {% amendment-disclaimer name="NonFungibleTokensV1_1" /%} |
|
||||
| `asfDefaultRipple` | 8 | Enable [rippling](../../../../concepts/tokens/fungible-tokens/rippling.md) on this account's trust lines by default. |
|
||||
| `asfDepositAuth` | 9 | Enable [Deposit Authorization](../../../../concepts/accounts/depositauth.md) on this account. _(Added by the [DepositAuth amendment][].)_ |
|
||||
| `asfDepositAuth` | 9 | Enable [Deposit Authorization](../../../../concepts/accounts/depositauth.md) on this account. {% amendment-disclaimer name="DepositAuth" /%} |
|
||||
| `asfDisableMaster` | 4 | Disallow use of the master key pair. Can only be enabled if the account has configured another way to sign transactions, such as a [Regular Key](../../../../concepts/accounts/cryptographic-keys.md) or a [Signer List](../../../../concepts/accounts/multi-signing.md). |
|
||||
| `asfDisallowIncomingCheck` | 13 | Block incoming Checks. _(Requires the [DisallowIncoming amendment][].)_ |
|
||||
| `asfDisallowIncomingNFTokenOffer` | 12 | Block incoming NFTokenOffers. _(Requires the [DisallowIncoming amendment][].)_ |
|
||||
| `asfDisallowIncomingPayChan` | 14 | Block incoming Payment Channels. _(Requires the [DisallowIncoming amendment][].)_ |
|
||||
| `asfDisallowIncomingTrustline` | 15 | Block incoming trust lines. _(Requires the [DisallowIncoming amendment][].)_ |
|
||||
| `asfDisallowIncomingCheck` | 13 | Block incoming Checks. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `asfDisallowIncomingNFTokenOffer` | 12 | Block incoming NFTokenOffers. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `asfDisallowIncomingPayChan` | 14 | Block incoming Payment Channels. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `asfDisallowIncomingTrustline` | 15 | Block incoming trust lines. {% amendment-disclaimer name="DisallowIncoming" /%} |
|
||||
| `asfDisallowXRP` | 3 | XRP should not be sent to this account. (Advisory; not enforced by the XRP Ledger protocol.) |
|
||||
| `asfGlobalFreeze` | 7 | [Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md) all assets issued by this account. |
|
||||
| `asfNoFreeze` | 6 | Permanently give up the ability to [freeze individual trust lines or disable Global Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md). This flag can never be disabled after being enabled. |
|
||||
|
||||
@@ -11,7 +11,7 @@ Bid on an [Automated Market Maker](../../../../concepts/tokens/decentralized-exc
|
||||
|
||||
You bid using the AMM's LP Tokens; the amount of a winning bid is returned to the AMM, decreasing the outstanding balance of LP Tokens.
|
||||
|
||||
_(Added by the [AMM amendment][].)_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
seo:
|
||||
description: Claw back tokens from a holder who has deposited your issued tokens into an Automated Market Maker pool.
|
||||
labels:
|
||||
- AMM
|
||||
- Tokens
|
||||
- AMM
|
||||
- Tokens
|
||||
---
|
||||
# AMMClawback
|
||||
|
||||
@@ -13,7 +13,7 @@ Claw back tokens from a holder who has deposited your issued tokens into an AMM
|
||||
|
||||
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.
|
||||
|
||||
_(Added by the [AMMClawback amendment][].)_
|
||||
{% amendment-disclaimer name="AMMClawback" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
seo:
|
||||
description: Create a new Automated Market Maker for trading a given pair of assets.
|
||||
labels:
|
||||
- AMM
|
||||
- AMM
|
||||
---
|
||||
# AMMCreate
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMCreate.cpp "Source")
|
||||
@@ -13,7 +13,7 @@ Creates both an [AMM entry][] and a [special AccountRoot entry](../../ledger-dat
|
||||
|
||||
{% admonition type="warning" name="Caution" %}When you create the AMM, you should fund it with (approximately) equal-value amounts of each asset. Otherwise, other users can profit at your expense by trading with this AMM ([performing arbitrage](https://www.machow.ski/posts/an_introduction_to_automated_market_makers/#price-arbitrage)). The currency risk that liquidity providers take on increases with the volatility (potential for imbalance) of the asset pair. The higher the trading fee, the more it offsets this risk, so it's best to set the trading fee based on the volatility of the asset pair.{% /admonition %}
|
||||
|
||||
_(Added by the [AMM amendment][].)_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
seo:
|
||||
description: Delete an Automated Market Maker with an empty asset pool.
|
||||
labels:
|
||||
- AMM
|
||||
- AMM
|
||||
---
|
||||
# AMMDelete
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDelete.cpp "Source")
|
||||
@@ -11,7 +11,7 @@ Delete an empty [Automated Market Maker](../../../../concepts/tokens/decentraliz
|
||||
|
||||
Normally, an [AMMWithdraw transaction][] automatically deletes an AMM and all associated ledger entries when it withdraws all the assets from the AMM's pool. However, if there are too many trust lines to the AMM account to remove in one transaction, it may stop before fully removing the AMM. Similarly, an AMMDelete transaction removes up to a maximum of 512 trust lines; it may take several AMMDelete transactions to delete all the trust lines and the associated AMM. In all cases, only the last such transaction deletes the AMM and AccountRoot ledger entries.
|
||||
|
||||
_(Added by the [AMM amendment][].)_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
seo:
|
||||
description: Deposit funds into an Automated Market Maker in exchange for LPTokens.
|
||||
labels:
|
||||
- AMM
|
||||
- AMM
|
||||
---
|
||||
# AMMDeposit
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDeposit.cpp "Source")
|
||||
@@ -17,7 +17,7 @@ You can't deposit either asset into an AMM if:
|
||||
- You aren't authorized to hold at least one of the pooled assets.
|
||||
{% /admonition %}
|
||||
|
||||
_(Added by the [AMM amendment][].)_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
seo:
|
||||
description: Vote on the trading fee for an Automated Market Maker.
|
||||
labels:
|
||||
- AMM
|
||||
- AMM
|
||||
---
|
||||
# AMMVote
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMVote.cpp "Source")
|
||||
|
||||
Vote on the trading fee for an [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) 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.
|
||||
|
||||
_(Added by the [AMM amendment][].)_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
seo:
|
||||
description: Return LPTokens to an Automated Market Maker in exchange for a share of the assets the pool holds.
|
||||
labels:
|
||||
- AMM
|
||||
- AMM
|
||||
---
|
||||
# AMMWithdraw
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMWithdraw.cpp "Source")
|
||||
|
||||
Withdraw assets from an [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) (AMM) instance by returning the AMM's liquidity provider tokens (LP Tokens).
|
||||
|
||||
_(Added by the [AMM amendment][].)_
|
||||
{% amendment-disclaimer name="AMM" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -8,9 +8,9 @@ status: not_enabled
|
||||
# Batch
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Batch.cpp "Source")
|
||||
|
||||
The `Batch` transaction submits up to eight transactions as a single unit. `Batch` transactions are executed atomically in one of four modes: All or Nothing, Only One, Until Failure, and Independent.
|
||||
Submit up to eight transactions as a single [batch](../../../../concepts/transactions/batch-transactions.md). The transactions in the batch are executed atomically in one of four modes: All or Nothing, Only One, Until Failure, or Independent.
|
||||
|
||||
_(Requires the [Batch amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="Batch" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -7,9 +7,9 @@ labels:
|
||||
# CheckCancel
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelCheck.cpp "Source")
|
||||
|
||||
Cancels an unredeemed Check, removing it from the ledger without sending any money. The source or the destination of the check can cancel a Check at any time using this transaction type. If the Check has expired, any address can cancel it.
|
||||
Cancels an unredeemed [check](../../../../concepts/payment-types/checks.md), removing it from the ledger without sending any money. The source or the destination of the check can cancel a check at any time. If the check has expired, any address can cancel it.
|
||||
|
||||
_(Added by the [Checks amendment][].)_
|
||||
{% amendment-disclaimer name="Checks" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ labels:
|
||||
# CheckCash
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CashCheck.cpp "Source")
|
||||
|
||||
Attempts to redeem a Check object in the ledger to receive up to the amount authorized by the corresponding [CheckCreate transaction][]. Only the `Destination` address of a Check can cash it with a CheckCash transaction. Cashing a check this way is similar to executing a [Payment][] initiated by the destination.
|
||||
Attempts to redeem a [check](../../../../concepts/payment-types/checks.md) to receive up to the amount authorized by the corresponding [CheckCreate transaction][]. Only the `Destination` address of a check can cash it with a CheckCash transaction. Cashing a check this way is similar to executing a [Payment][] initiated by the destination.
|
||||
|
||||
Since the funds for a check are not guaranteed, redeeming a Check can fail because the sender does not have a high enough balance or because there is not enough liquidity to deliver the funds. If this happens, the Check remains in the ledger and the destination can try to cash it again later, or for a different amount.
|
||||
Since the funds for a check are not guaranteed, redeeming a check can fail because the sender does not have a high enough balance or because there is not enough liquidity to deliver the funds. If this happens, the check remains in the ledger and the destination can try to cash it again later, or for a different amount.
|
||||
|
||||
_(Added by the [Checks amendment][].)_
|
||||
{% amendment-disclaimer name="Checks" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ labels:
|
||||
# CheckCreate
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp "Source")
|
||||
|
||||
Create a Check object in the ledger, which is a deferred payment that can be cashed by its intended destination. The sender of this transaction is the sender of the Check.
|
||||
Create an on-ledger [check](../../../../concepts/payment-types/checks.md), which is a deferred payment that can be cashed by its intended destination. The sender of this transaction is the sender of the check.
|
||||
|
||||
_(Added by the [Checks amendment][].)_
|
||||
{% amendment-disclaimer name="Checks" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -40,7 +40,7 @@ _(Added by the [Checks amendment][].)_
|
||||
|
||||
## Error Cases
|
||||
|
||||
- If the `Destination` account is blocking incoming Checks, the transaction fails with the result code `tecNO_PERMISSION`. _(Requires the [DisallowIncoming amendment][])_
|
||||
- If the `Destination` account is blocking incoming Checks, the transaction fails with the result code `tecNO_PERMISSION`. {% amendment-disclaimer name="DisallowIncoming" /%}
|
||||
- If the `Destination` is the sender of the transaction, the transaction fails with the result code `temREDUNDANT`.
|
||||
- If the `Destination` [account](../../../../concepts/accounts/index.md) does not exist in the ledger, the transaction fails with the result code `tecNO_DST`.
|
||||
- If the `Destination` account has the `RequireDest` flag enabled but the transaction does not include a `DestinationTag` field, the transaction fails with the result code `tecDST_TAG_NEEDED`.
|
||||
|
||||
@@ -7,11 +7,9 @@ labels:
|
||||
# Clawback
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Clawback.cpp "Source")
|
||||
|
||||
Claw back tokens issued by your account.
|
||||
[Claw back tokens](../../../../concepts/tokens/fungible-tokens/clawing-back-tokens.md) issued by your account. Issuers can only claw back [trust line tokens](../../../../concepts/tokens/fungible-tokens/trust-line-tokens.md) if they enabled the **Allow Trust Line Clawback** setting before issuing any tokens. Issuers can claw back [MPTs](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) if the corresponding MPT Issuance has clawback enabled.
|
||||
|
||||
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.
|
||||
|
||||
_(Added by the [Clawback amendment][].)_
|
||||
{% amendment-disclaimer name="Clawback" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -29,16 +27,12 @@ _(Added by the [Clawback amendment][].)_
|
||||
|
||||
{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%}
|
||||
|
||||
| Field | JSON Type | [Internal Type][] | Description |
|
||||
|:-------------------|:----------|:------------------|:------------------|
|
||||
| `Amount` | [Currency Amount][] | Amount | The amount being clawed back, as well as the counterparty from which the amount is being clawed back. The quantity to claw back, in the `value` sub-field, must not be zero. If this is more than the current balance, the transaction claws back the entire balance. The sub-field `issuer` within `Amount` represents the token holder's account ID, rather than the issuer's.|
|
||||
| `Holder` | String | AccountID | (Optional) Specifies the holder's address from which to claw back. The holder must already own an `MPToken` object with a non-zero balance. _(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ |
|
||||
|
||||
{% admonition type="info" name="Note" %}For an IOU (trust line) in the XRP Ledger, the party that created a token is called the _issuer_, but trust lines are bidirectional and, under some configurations, both sides can be seen as the issuer. In this transaction, the token issuer's address is in the `Account` field, and the token holder's address is in the `Amount` field's `issuer` sub-field.{% /admonition %}
|
||||
|
||||
{% admonition type="info" name="Note" %}To claw back funds from an MPT holder, the issuer must have specified that the MPT allows clawback by setting the `tfMPTCanClawback` flag when creating the MPT using the `MPTokenIssuanceCreate` transaction. Assuming an MPT was created with this flag set, clawbacks are allowed using the `Clawback` transaction.{% /admonition %}
|
||||
|
||||
| Field | JSON Type | [Internal Type][] | Required? | Description |
|
||||
|:-------------------|:----------|:------------------|:----------|-------------|
|
||||
| `Amount` | [Currency Amount][] | Amount | Yes | The amount to claw back. The quantity in the `value` sub-field must not be zero. If this is more than the current balance, the transaction claws back the entire balance. When clawing back trust line tokens, the `issuer` sub-field indicates the token holder to claw back tokens from.|
|
||||
| `Holder` | String | AccountID | No | The holder to claw back tokens from, if clawing back MPTs. The holder must have a non-zero balance of the MPT issuance indicated in the `Amount` field. {% amendment-disclaimer name="MPTokensV1" /%} |
|
||||
|
||||
When clawing back trust line tokens, you must omit the `Holder` field. When clawing back MPTs, you must provide the `Holder` field.
|
||||
|
||||
## Error Cases
|
||||
|
||||
@@ -46,10 +40,10 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %}
|
||||
|
||||
| Error Code | Description |
|
||||
|:-----------|:------------|
|
||||
| `temDISABLED` | Occurs if the [Clawback amendment](/resources/known-amendments.md#clawback) is not enabled. |
|
||||
| `temBAD_AMOUNT` | Occurs if the holder's balance is 0. It is not an error if the amount exceeds the holder's balance; in that case, the maximum available balance is clawed back. Also occurs if the counterparty listed in `Amount` is the same as the `Account` issuing this transaction. |
|
||||
| `tecAMM_ACCOUNT` | This operation is not allowed with an AMM account. Use [`AMMClawback`](./ammclawback.md) instead. |
|
||||
| `tecNO_LINE` | Occurs there is no trust line with the counterparty or that trust line's balance is 0. |
|
||||
| `tecNO_PERMISSION` | Occurs if you attempt to set `lsfAllowTrustlineClawback` while `lsfNoFreeze` is set. Also occurs, conversely, if you try to set `lsfNoFreeze` while `lsfAllowTrustLineClawback` is set. |
|
||||
| `temDISABLED` | The [Clawback amendment][] is not enabled. |
|
||||
| `temBAD_AMOUNT` | The amount of tokens specified to claw back is invalid or zero, or the specified holder is the issuer. |
|
||||
| `tecAMM_ACCOUNT` | The specified holder is an Automated Market Maker (AMM). To claw back tokens from an AMM, use [`AMMClawback`](./ammclawback.md) instead. |
|
||||
| `tecNO_LINE` | There is no trust line with the counterparty or that trust line's balance is 0. |
|
||||
| `tecNO_PERMISSION` | The sender of this transaction does not have the ability to claw back the specified tokens. |
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
seo:
|
||||
description: Accept a credential provisionally issued to your account.
|
||||
status: not_enabled
|
||||
---
|
||||
# CredentialAccept
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Credentials.cpp "Source")
|
||||
|
||||
A CredentialAccept transaction accepts a credential, which makes the credential valid. Only the subject of the credential can do this.
|
||||
Accept a [credential](../../../../concepts/decentralized-storage/credentials.md), which makes the credential valid. Only the subject of the credential can do this.
|
||||
|
||||
_(Requires the [Credentials amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="Credentials" /%}
|
||||
|
||||
## Example CredentialAccept JSON
|
||||
|
||||
@@ -46,7 +46,7 @@ The combination of `Account`, `Issuer`, and `CredentialType` must match a `Crede
|
||||
| `tecNO_ENTRY` | The credential uniquely identified by the `Account`, `Issuer`, and `CredentialType` fields of the transaction does not exist in the ledger. |
|
||||
| `temDISABLED` | The related amendment is not enabled. |
|
||||
| `temINVALID_ACCOUNT_ID` | The provided `Issuer` field is invalid. For example, it contains [ACCOUNT_ZERO](../../../../concepts/accounts/addresses.md#special-addresses). |
|
||||
| `temINVALID_FLAG` | The transaction includes a [Flag](../common-fields.md#flags-field) that does not exist, or includes a contradictory combination of flags. _(Requires the [fixInvalidTxFlags amendment][] {% not-enabled /%})_ |
|
||||
| `temINVALID_FLAG` | The transaction includes a [Flag](../common-fields.md#flags-field) that does not exist, or includes a contradictory combination of flags. {% amendment-disclaimer name="fixInvalidTxFlags" /%} |
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
seo:
|
||||
description: Provisionally issue a credential to a subject account.
|
||||
status: not_enabled
|
||||
---
|
||||
# CredentialCreate
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Credentials.cpp "Source")
|
||||
|
||||
A CredentialCreate transaction creates a credential in the ledger. The issuer of the credential uses this transaction to provisionally issue a credential. The credential is not valid until the subject of the credential accepts it with a [CredentialAccept transaction][].
|
||||
Provisionally issue a [credential](../../../../concepts/decentralized-storage/credentials.md) in the ledger. The credential is not valid until the subject of the credential accepts it with a [CredentialAccept transaction][].
|
||||
|
||||
_(Requires the [Credentials amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="Credentials" /%}
|
||||
|
||||
## Example CredentialCreate JSON
|
||||
|
||||
@@ -48,7 +48,7 @@ Besides errors that can occur for all transactions, CredentialCreate transaction
|
||||
| `tecNO_TARGET` | The account specified in the `Subject` field is not a funded account in the ledger. |
|
||||
| `temDISABLED` | The related amendment is not enabled. |
|
||||
| `temINVALID_ACCOUNT_ID` | The provided `Subject` field is invalid. For example, it contains [ACCOUNT_ZERO](../../../../concepts/accounts/addresses.md#special-addresses). |
|
||||
| `temINVALID_FLAG` | The transaction includes a [Flag](../common-fields.md#flags-field) that does not exist, or includes a contradictory combination of flags. _(Requires the [fixInvalidTxFlags amendment][] {% not-enabled /%})_ |
|
||||
| `temINVALID_FLAG` | The transaction includes a [Flag](../common-fields.md#flags-field) that does not exist, or includes a contradictory combination of flags. {% amendment-disclaimer name="fixInvalidTxFlags" /%} |
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
seo:
|
||||
description: Remove a credential from the ledger, effectively revoking it.
|
||||
status: not_enabled
|
||||
---
|
||||
# CredentialDelete
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Credentials.cpp "Source")
|
||||
|
||||
A CredentialDelete transaction removes a credential from the ledger, effectively revoking it. Users may also want to delete an unwanted credential to reduce their [reserve requirement](../../../../concepts/accounts/reserves.md).
|
||||
Remove a [credential](../../../../concepts/decentralized-storage/credentials.md) from the ledger, effectively revoking it. Users may also want to delete an unwanted credential to reduce their [reserve requirement](../../../../concepts/accounts/reserves.md).
|
||||
|
||||
_(Requires the [Credentials amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="Credentials" /%}
|
||||
|
||||
## Example CredentialDelete JSON
|
||||
|
||||
@@ -47,7 +47,7 @@ This transaction looks for a [Credential ledger entry](../../ledger-data/ledger-
|
||||
| `temINVALID_ACCOUNT_ID` | A provided `Subject` or `Issuer` field is invalid. For example, it contains [ACCOUNT_ZERO](../../../../concepts/accounts/addresses.md#special-addresses). |
|
||||
| `tecNO_PERMISSION` | The sender is neither the issuer nor subject of the credential, and the credential is not expired. |
|
||||
| `tecNO_ENTRY` | The specified credential does not exist in the ledger. |
|
||||
| `temINVALID_FLAG` | The transaction includes a [Flag](../common-fields.md#flags-field) that does not exist, or includes a contradictory combination of flags. _(Requires the [fixInvalidTxFlags amendment][] {% not-enabled /%})_ |
|
||||
| `temINVALID_FLAG` | The transaction includes a [Flag](../common-fields.md#flags-field) that does not exist, or includes a contradictory combination of flags. {% amendment-disclaimer name="fixInvalidTxFlags" /%} |
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ status: not_enabled
|
||||
|
||||
[Delegate permissions](/docs/concepts/accounts/permission-delegation) to another account to send transactions on your behalf. This transaction type can grant, change, or revoke permissions; it creates, modifies, or deletes a [Delegate ledger entry][] accordingly.
|
||||
|
||||
_(Requires the [PermissionDelegation amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="PermissionDelegation" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ labels:
|
||||
# DepositPreauth
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DepositPreauth.cpp "Source")
|
||||
|
||||
A DepositPreauth transaction grants preauthorization to deliver payments to your account. This is only useful if you are using (or plan to use) [Deposit Authorization](../../../../concepts/accounts/depositauth.md).
|
||||
Grant preauthorization to send payments to your account. This is only useful if you are using (or plan to use) [Deposit Authorization](../../../../concepts/accounts/depositauth.md).
|
||||
|
||||
{% admonition type="success" name="Tip" %}You can use this transaction before you enable Deposit Authorization. This may be useful to ensure a smooth transition from not requiring deposit authorization to requiring it.{% /admonition %}
|
||||
|
||||
_(Added by the [DepositPreauth amendment][].)_
|
||||
{% amendment-disclaimer name="DepositPreauth" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -57,9 +57,9 @@ _(Added by the [DepositPreauth amendment][].)_
|
||||
| Field | JSON Type | [Internal Type][] | Required? | Description |
|
||||
|:-------------------------|:---------------------|:------------------|:----------|:------------|
|
||||
| `Authorize` | String - [Address][] | AccountID | No | An account to preauthorize. |
|
||||
| `AuthorizeCredentials` | Array | Array | No | A set of credentials to authorize. _(Requires the [Credentials amendment][]. {% not-enabled /%})_ |
|
||||
| `AuthorizeCredentials` | Array | Array | No | A set of credentials to authorize. {% amendment-disclaimer name="Credentials" /%} |
|
||||
| `Unauthorize` | String | AccountID | No | An account whose preauthorization should be revoked. |
|
||||
| `UnauthorizeCredentials` | Array | Array | No | A set of credentials whose preauthorization should be revoked. _(Requires the [Credentials amendment][]. {% not-enabled /%})_ |
|
||||
| `UnauthorizeCredentials` | Array | Array | No | A set of credentials whose preauthorization should be revoked. {% amendment-disclaimer name="Credentials" /%} |
|
||||
|
||||
You must provide **exactly one** of `Authorize`, `AuthorizeCredentials`, `Unauthorize`, or `UnauthorizeCredentials`.
|
||||
|
||||
|
||||
@@ -2,17 +2,16 @@
|
||||
seo:
|
||||
description: Delete a Decentralized Identifier.
|
||||
labels:
|
||||
- DID
|
||||
- DID
|
||||
---
|
||||
# DIDDelete
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "Source")
|
||||
|
||||
Delete the [DID ledger entry](../../ledger-data/ledger-entry-types/did.md) associated with the specified `Account` field.
|
||||
Delete the sender's [decentralized identifier (DID)](../../../../concepts/decentralized-storage/decentralized-identifiers.md).
|
||||
|
||||
{% admonition type="info" name="Note" %}This transaction only uses the [common fields][].{% /admonition %}
|
||||
|
||||
_(Added by the [DID amendment][].)_
|
||||
{% amendment-disclaimer name="DID" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
seo:
|
||||
description: Create or update a Decentralized Identifier.
|
||||
labels:
|
||||
- DID
|
||||
- DID
|
||||
---
|
||||
# DIDSet
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "Source")
|
||||
|
||||
Creates a new [DID ledger entry](../../ledger-data/ledger-entry-types/did.md) or updates the fields of an existing one.
|
||||
Create or update a [decentralized identifier (DID)](../../../../concepts/decentralized-storage/decentralized-identifiers.md).
|
||||
|
||||
_(Added by the [DID amendment][].)_
|
||||
{% amendment-disclaimer name="DID" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
seo:
|
||||
description: Cancel an expired escrow, returning the funds to the sender.
|
||||
labels:
|
||||
- Escrow
|
||||
- Escrow
|
||||
---
|
||||
# EscrowCancel
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source")
|
||||
|
||||
Return escrowed XRP to the sender.
|
||||
Return funds from an expired [escrow](../../../../concepts/payment-types/escrow.md) to it sender.
|
||||
|
||||
_(Added by the [Escrow amendment][].)_
|
||||
{% amendment-disclaimer name="Escrow" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
seo:
|
||||
description: Escrow funds, which can be released to the destination after a specific time or condition.
|
||||
labels:
|
||||
- Escrow
|
||||
- Escrow
|
||||
---
|
||||
# EscrowCreate
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source")
|
||||
|
||||
Sequester XRP until the escrow process either finishes or is canceled.
|
||||
Set aside funds in an [escrow](../../../../concepts/payment-types/escrow.md) that delivers them to a predetermined recipient when certain conditions are met. If the escrow has an expiration, the funds can also be returned to the sender after it expires.
|
||||
|
||||
_(Added by the [Escrow amendment][].)_
|
||||
{% amendment-disclaimer name="Escrow" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
seo:
|
||||
description: Deliver escrowed funds to the intended recipient.
|
||||
labels:
|
||||
- Escrow
|
||||
- Escrow
|
||||
---
|
||||
# EscrowFinish
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source")
|
||||
|
||||
Deliver XRP from an escrow (held payment) to the recipient.
|
||||
Deliver XRP from an [escrow](../../../../concepts/payment-types/escrow.md) to the recipient.
|
||||
|
||||
_(Added by the [Escrow amendment][].)_
|
||||
{% amendment-disclaimer name="Escrow" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
seo:
|
||||
description: Repair corruptions to the XRP ledger's state data.
|
||||
labels:
|
||||
- Utilities
|
||||
- Troubleshooting
|
||||
- Utilities
|
||||
- Troubleshooting
|
||||
---
|
||||
# LedgerStateFix
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/LedgerStateFix.cpp "Source")
|
||||
|
||||
`LedgerStateFix` is a general purpose transaction used to fix specific issues affecting the XRP ledger. You submit the transaction with the `LedgerFixType` value set to indicate the particular error state to correct.
|
||||
Repair a specific corruption affecting on-ledger data. This transaction type has a different mode for each type of error state or corruption it can fix.
|
||||
|
||||
_(Added by the [fixNFTokenPageLinks amendment][].)_
|
||||
{% amendment-disclaimer name="fixNFTokenPageLinks" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,14 +2,12 @@
|
||||
seo:
|
||||
description: Set up your account to receive a specific MPT as a holder; or authorize a holder as an MPT issuer.
|
||||
labels:
|
||||
- Multi-purpose Tokens, MPTs
|
||||
status: not_enabled
|
||||
- Multi-purpose Tokens, MPTs
|
||||
---
|
||||
|
||||
# MPTokenAuthorize
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenAuthorize.cpp "Source")
|
||||
|
||||
An MPTokenAuthorize transaction controls whether an account can hold a given [Multi-purpose Token (MPT)](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md). It has several uses:
|
||||
Control whether an account can hold a given [Multi-purpose Token (MPT)](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md). This transaction has several uses:
|
||||
|
||||
- An account indicates their willingness to hold an MPT. This creates a new [MPToken entry][] with an initial zero balance owned by that account. This is a prerequisite to receive that type of MPT in a payment.
|
||||
- An account revokes their willingness to hold an MPT, deleting the [MPToken entry][]. This can only be done if their balance of the given MPT is zero.
|
||||
|
||||
@@ -1,19 +1,15 @@
|
||||
---
|
||||
seo:
|
||||
description: Define the properties of a new Multi-Purpose Token (MPT).
|
||||
description: Define the properties of a new Multi-Purpose Token (MPT).
|
||||
labels:
|
||||
- Multi-purpose Tokens, MPTs
|
||||
status: not_enabled
|
||||
- Multi-purpose Tokens, MPTs
|
||||
---
|
||||
|
||||
# MPTokenIssuanceCreate
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp "Source")
|
||||
|
||||
The `MPTokenIssuanceCreate` transaction creates an [MPTokenIssuance](../../ledger-data/ledger-entry-types/mptokenissuance.md) object and adds it to the relevant directory node of the creator account. This transaction is the only opportunity an issuer has to specify any token fields that are defined as immutable (for example, MPT Flags).
|
||||
Creates a new [Multi-purpose Token (MPT)](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) issuance, which defines the properties of those MPTs. This is a prerequisite to actually issuing the tokens.
|
||||
|
||||
If the transaction is successful, the newly created token is owned by the account (the creator account) that executed the transaction.
|
||||
|
||||
Whenever your query returns an `MPTokenIssuance` transaction response, there will always be an `mpt_issuance_id` field on the Transaction Metadata page.
|
||||
If the transaction is successful, it creates an [MPTokenIssuance entry][] where the sender of the transaction is the MPT's issuer.
|
||||
|
||||
{% amendment-disclaimer name="MPTokensV1" /%}
|
||||
|
||||
|
||||
@@ -2,15 +2,12 @@
|
||||
seo:
|
||||
description: Delete a Multi-Purpose Token definition.
|
||||
labels:
|
||||
- Multi-purpose Tokens, MPTs
|
||||
status: not_enabled
|
||||
- Multi-purpose Tokens, MPTs
|
||||
---
|
||||
# MPTokenIssuanceDestroy
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceDestroy.cpp "Source")
|
||||
|
||||
The `MPTokenIssuanceDestroy` transaction is used to remove an `MPTokenIssuance` object from the directory node in which it is being held, effectively removing the token from the ledger ("destroying" it).
|
||||
|
||||
If this operation succeeds, the corresponding `MPTokenIssuance` is removed and the owner’s reserve requirement is reduced by one. This operation must fail if there are any holders of the MPT in question.
|
||||
Delete a [Multi-purpose Token (MPT)](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) issuance. Only the issuer can delete an MPT issuance, and only if there are no holders of the MPT.
|
||||
|
||||
{% amendment-disclaimer name="MPTokensV1" /%}
|
||||
|
||||
@@ -24,7 +21,6 @@ If this operation succeeds, the corresponding `MPTokenIssuance` is removed and t
|
||||
}
|
||||
```
|
||||
|
||||
<!-- ## MPTokenIssuanceDestroy Fields -->
|
||||
|
||||
{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%}
|
||||
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
seo:
|
||||
description: Set mutable properties of a Multi-Purpose Token definition.
|
||||
labels:
|
||||
- Multi-purpose Tokens, MPTs
|
||||
status: not_enabled
|
||||
- Multi-purpose Tokens, MPTs
|
||||
---
|
||||
# MPTokenIssuanceSet
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceSet.cpp "Source")
|
||||
|
||||
Use this transaction to update a mutable property for a Multi-purpose Token. The transaction flags determine which change(s) to apply.
|
||||
Update a mutable property of a [Multi-purpose Token (MPT)](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) issuance, including locking (freezing) or unlocking the tokens globally or for an individual holder.
|
||||
|
||||
{% amendment-disclaimer name="MPTokensV1" /%}
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@ labels:
|
||||
# NFTokenAcceptOffer
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenAcceptOffer.cpp "Source")
|
||||
|
||||
The `NFTokenAcceptOffer` transaction is used to accept offers to buy or sell an NFT. It has two possible modes:
|
||||
Accept an offer to buy or sell a [non-fungible token (NFT)](../../../../concepts/tokens/nfts/index.md). This transaction has two modes:
|
||||
|
||||
* In _direct_ mode, a buyer can accept a sell offer directly, or a seller can accept a buy offer directly.
|
||||
* In _brokered_ mode, a third party (the _broker_) can match two distinct offers, one buying and one selling. If the buy price is higher than the sell price, the broker can claim the difference as a fee for themself.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Example NFTokenAcceptOffer JSON
|
||||
|
||||
|
||||
@@ -7,13 +7,11 @@ labels:
|
||||
# NFTokenBurn
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenBurn.cpp "Source")
|
||||
|
||||
The `NFTokenBurn` transaction is used to remove a `NFToken` object from the `NFTokenPage` in which it is being held, effectively removing the token from the ledger (_burning_ it).
|
||||
Burn (destroy) a [non-fungible token (NFT)](../../../../concepts/tokens/nfts/index.md). The NFT's current holder can always burn it, and if the token's "Burnable" flag is enabled, the issuer and their authorized minter (if they have one) can also burn the NFT.
|
||||
|
||||
The sender of this transaction must be the owner of the `NFToken` to burn; or, if the `NFToken` has the `lsfBurnable` flag enabled, can be the issuer or the issuer's authorized `NFTokenMinter` account instead.
|
||||
If the transaction succeeds, it removes the corresponding [NFToken][] object from the [NFTokenPage entry][] that was storing it. This can cause the pages of an NFT directory to be consolidated.
|
||||
|
||||
If this operation succeeds, the corresponding `NFToken` is removed. If this operation empties the `NFTokenPage` holding the `NFToken` or results in consolidation, thus removing a `NFTokenPage`, the owner’s reserve requirement is reduced by one.
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -7,9 +7,9 @@ labels:
|
||||
# NFTokenCancelOffer
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenCancelOffer.cpp "Source")
|
||||
|
||||
The `NFTokenCancelOffer` transaction can be used to cancel existing token offers created using `NFTokenCreateOffer`.
|
||||
Cancel an offer to buy or sell a [non-fungible token (NFT)](../../../../concepts/tokens/nfts/index.md).
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ labels:
|
||||
# NFTokenCreateOffer
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenCreateOffer.cpp "Source")
|
||||
|
||||
Creates either a new _Sell_ offer for an `NFToken` owned by the account executing the transaction, or a new _Buy_ offer for an `NFToken` owned by another account.
|
||||
Create a new offer to either buy or sell a [non-fungible token (NFT)](../../../../concepts/tokens/nfts/index.md). You can only offer to sell NFTs you own or buy NFTs you don't own.
|
||||
|
||||
If successful, the transaction creates a [NFTokenOffer object][]. Each offer counts as one object towards the [owner reserve](../../../../concepts/accounts/reserves.md) of the account that placed the offer.
|
||||
If successful, the transaction creates a [NFTokenOffer object][]. To complete the sale and change ownership of the NFT, the offer must be accepted using an [NFTokenAcceptOffer transaction][].
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -64,7 +64,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %}
|
||||
| `tecNO_ENTRY` | The `NFToken` is not owned by the expected account. |
|
||||
| `tecNO_ISSUER` | The issuer specified in the `Amount` field does not exist. |
|
||||
| `tecNO_LINE` | The `Amount` field is denominated in fungible tokens, but the `NFToken`'s issuer does not have a trust line for those tokens and the `NFToken` does not have the [`lsfTrustLine` flag](../../data-types/nftoken.md#nftoken-flags) enabled. |
|
||||
| `tecNO_PERMISSION` | The `Destination` account blocks incoming NFTokenOffers. _(Requires the [DisallowIncoming amendment][] )_
|
||||
| `tecNO_PERMISSION` | The `Destination` account blocks incoming NFTokenOffers. {% amendment-disclaimer name="DisallowIncoming" /%}
|
||||
| `tecUNFUNDED_OFFER` | For a buy offer, the sender does have the funds specified in the `Amount` field available. If the `Amount` is XRP, this could be due to the reserve requirement; if the `Amount` is denominated in fungible tokens, this could be because they are [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md). |
|
||||
| `tefNFTOKEN_IS_NOT_TRANSFERABLE` | The `NFToken` has the [`lsfTransferable` flag](../../data-types/nftoken.md#nftoken-flags) disabled and this transaction would not transfer the `NFToken` to or from the issuer. |
|
||||
|
||||
|
||||
@@ -7,9 +7,11 @@ labels:
|
||||
# NFTokenMint
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenMint.cpp "Source")
|
||||
|
||||
The `NFTokenMint` transaction creates a non-fungible token and adds it to the relevant [NFTokenPage object][] of the `NFTokenMinter` as an [NFToken][] object. This transaction is the only opportunity the `NFTokenMinter` has to specify any token fields that are defined as immutable (for example, the `TokenFlags`).
|
||||
Create a [non-fungible token (NFT)](../../../../concepts/tokens/nfts/index.md). This is the only opportunity the minter has to specify any token fields and flags that are immutable. This transaction can be sent by the NFT's issuer or by an [authorized minter](../../../../concepts/tokens/nfts/authorizing-another-minter.md).
|
||||
|
||||
_(Added by the [NonFungibleTokensV1_1 amendment][].)_
|
||||
If successful, the transaction adds an [NFToken][] object to one of the minter's [NFTokenPage ledger entries][NFTokenPage entry].
|
||||
|
||||
{% amendment-disclaimer name="NonFungibleTokensV1_1" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
seo:
|
||||
description: Modify a dynamic NFT.
|
||||
labels:
|
||||
- Non-fungible Tokens, NFTs
|
||||
- Non-fungible Tokens, NFTs
|
||||
---
|
||||
# NFTokenModify
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenModify.cpp "Source")
|
||||
|
||||
`NFTokenModify` is used to change the `URI` field of an NFT to point to a different URI in order to update the supporting data for the NFT. The NFT must have been minted with the `tfMutable` flag set. See [Dynamic Non-Fungible Tokens](../../../../concepts/tokens/nfts/dynamic-nfts.md).
|
||||
Change the `URI` field of a [dynamic NFT](../../../../concepts/tokens/nfts/dynamic-nfts.md) to update the supporting data for the NFT. Only the issuer, or their authorized minter, can modify an NFT, and only if it was minted with the **Mutable** flag enabled.
|
||||
|
||||
_(Requires the [DynamicNFT amendment][] {% not-enabled /%}.)_
|
||||
{% amendment-disclaimer name="DynamicNFT" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
seo:
|
||||
description: Withdraw an offer to trade in the decentralized exchange.
|
||||
description: Cancel an offer to trade in the decentralized exchange.
|
||||
labels:
|
||||
- Decentralized Exchange
|
||||
---
|
||||
@@ -8,7 +8,7 @@ labels:
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelOffer.cpp "Source")
|
||||
|
||||
An OfferCancel transaction removes an Offer object from the XRP Ledger.
|
||||
Cancel an [offer](../../../../concepts/tokens/decentralized-exchange/offers.md) in the decentralized exchange.
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -5,10 +5,9 @@ labels:
|
||||
- Decentralized Exchange
|
||||
---
|
||||
# OfferCreate
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateOffer.cpp "Source")
|
||||
|
||||
An OfferCreate transaction places an [Offer](../../../../concepts/tokens/decentralized-exchange/offers.md) in the [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md).
|
||||
Place an [offer](../../../../concepts/tokens/decentralized-exchange/offers.md) to trade in the [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md).
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -36,7 +35,7 @@ An OfferCreate transaction places an [Offer](../../../../concepts/tokens/decentr
|
||||
|
||||
| Field | JSON Type | [Internal Type][] | Required? | Description |
|
||||
|:-----------------|:--------------------|:------------------|:----------|-------------|
|
||||
| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If provided, restrict this offer to the [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) of that domain. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If provided, restrict this offer to the [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) of that domain. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| [`Expiration`](../../../../concepts/tokens/decentralized-exchange/offers.md#offer-expiration) | Number | UInt32 | No | Time after which the Offer is no longer active, in [seconds since the Ripple Epoch][]. |
|
||||
| `OfferSequence` | Number | UInt32 | No | An Offer to delete first, specified in the same way as [OfferCancel][]. |
|
||||
| `TakerGets` | [Currency Amount][] | Amount | Yes | The amount and type of currency being sold. |
|
||||
@@ -52,7 +51,7 @@ Transactions of the OfferCreate type support additional values in the [`Flags` f
|
||||
| `tfImmediateOrCancel` | `0x00020000` | 131072 | Treat the offer as an [Immediate or Cancel order](http://en.wikipedia.org/wiki/Immediate_or_cancel) and do not place an [Offer entry][] into the order books. The transaction trades as much as it can by consuming existing offers when it's processed. |
|
||||
| `tfFillOrKill` | `0x00040000` | 262144 | Treat the offer as a [Fill or Kill order](http://en.wikipedia.org/wiki/Fill_or_kill), do not place an [Offer entry][] into the order books, and cancel the offer if it cannot be fully filled at the time of execution. By default, this means that the owner must receive the full `TakerPays` amount; if the `tfSell` flag is enabled, the owner must be able to spend the entire `TakerGets` amount instead. |
|
||||
| `tfSell` | `0x00080000` | 524288 | Exchange the entire `TakerGets` amount, even if it means obtaining more than the `TakerPays` amount in exchange. |
|
||||
| `tfHybrid` | `0x00100000` | 1048576 | Make this a hybrid offer that can use both a permissioned DEX and the open DEX. The `DomainID` field must be provided when using this flag. |
|
||||
| `tfHybrid` | `0x00100000` | 1048576 | Make this a hybrid offer that can use both a permissioned DEX and the open DEX. The `DomainID` field must be provided when using this flag. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
|
||||
|
||||
## Error Cases
|
||||
@@ -67,7 +66,7 @@ Transactions of the OfferCreate type support additional values in the [`Flags` f
|
||||
| `tecNO_AUTH` | The transaction involves a token whose issuer uses [Authorized Trust Lines](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) and the the trust line that would receive the tokens exists but has not been authorized. |
|
||||
| `tecNO_ISSUER` | The transaction specifies a token whose `issuer` value is not a funded account in the ledger. |
|
||||
| `tecNO_LINE` | The transaction involves a token whose issuer uses [Authorized Trust Lines](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) and the necessary trust line does not exist. |
|
||||
| `tecNO_PERMISSION` | The transaction uses a `DomainID` but the sender is not a member of that domain. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `tecNO_PERMISSION` | The transaction uses a `DomainID` but the sender is not a member of that domain. {% amendment-disclaimer name="PermissionedDEX" /%} |
|
||||
| `tecUNFUNDED_OFFER` | The owner does not hold a positive amount of the `TakerGets` currency. (Exception: if `TakerGets` specifies a token that the owner issues, the transaction can succeed.) |
|
||||
| `temBAD_CURRENCY` | The transaction specifies a fungible token incorrectly, such as a fungible token with the currency code "XRP". |
|
||||
| `temBAD_EXPIRATION` | The transaction contains an `Expiration` field that is not validly formatted. |
|
||||
|
||||
@@ -5,13 +5,11 @@ labels:
|
||||
- Oracle
|
||||
---
|
||||
# OracleDelete
|
||||
_(Requires the [PriceOracle amendment][])_
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteOracle.cpp "Source")
|
||||
|
||||
Delete an `Oracle` ledger entry.
|
||||
Delete a [price oracle](../../../../concepts/decentralized-storage/price-oracles.md). Only the owner of the price oracle can send this transaction.
|
||||
|
||||
_(Added by the [PriceOracle amendment][].)_
|
||||
{% amendment-disclaimer name="PriceOracle" /%}
|
||||
|
||||
|
||||
## Example OracleDelete JSON
|
||||
@@ -29,8 +27,7 @@ _(Added by the [PriceOracle amendment][].)_
|
||||
|
||||
| Field | JSON Type | Internal Type | Required? | Description |
|
||||
|--------------------|-----------|---------------|-----------|-------------|
|
||||
| `Account` | String | AccountID | Yes | This account must match the account in the `Owner` field of the `Oracle` object. |
|
||||
| `OracleDocumentID` | String | UInt32 | Yes | A unique identifier of the price oracle for the `Account`. |
|
||||
| `OracleDocumentID` | Number | UInt32 | Yes | The identifying number of the price oracle, which must be unique per owner. |
|
||||
|
||||
|
||||
## Error Cases
|
||||
|
||||
@@ -7,9 +7,9 @@ labels:
|
||||
# OracleSet
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetOracle.cpp "Source")
|
||||
|
||||
Creates a new `Oracle` ledger entry or updates the fields of an existing one, using the Oracle Document ID.
|
||||
Create or update a [price oracle](../../../../concepts/decentralized-storage/price-oracles.md). Only the owner of an existing price oracle can update it.
|
||||
|
||||
_(Added by the [PriceOracle amendment][].)_
|
||||
{% amendment-disclaimer name="PriceOracle" /%}
|
||||
|
||||
|
||||
## Example OracleSet JSON
|
||||
@@ -40,9 +40,8 @@ _(Added by the [PriceOracle amendment][].)_
|
||||
|
||||
| Field | JSON Type | Internal Type | Required? | Description |
|
||||
|--------------------|-----------|---------------|-----------|-------------|
|
||||
| `Account` | String | AccountID | Yes | This account must match the account in the `Owner` field of the `Oracle` object. |
|
||||
| `OracleDocumentID` | Number | UInt32 | Yes | A unique identifier of the price oracle for the `Account`. |
|
||||
| `Provider` | String | Blob | Variable | An arbitrary value that identifies an oracle provider, such as Chainlink, Band, or DIA. This field is a string, up to 256 ASCII hex encoded characters (0x20-0x7E). This field is required when creating a new `Oracle` ledger entry, but is optional for updates. |
|
||||
| `OracleDocumentID` | Number | UInt32 | Yes | The identifying number of the price oracle, which must be unique per owner. |
|
||||
| `Provider` | String | Blob | Variable | An arbitrary value that identifies an oracle provider, such as Chainlink, Band, or DIA. This field is a string, up to 256 ASCII hex encoded characters (0x20-0x7E). This field is required when creating a new price oracle, but is optional for updates. |
|
||||
| `URI` | String | Blob | No | An optional Universal Resource Identifier to reference price data off-chain. This field is limited to 256 bytes. |
|
||||
| `LastUpdateTime` | Number | UInt32 | Yes | The time the data was last updated, in seconds since the [UNIX Epoch](https://en.wikipedia.org/wiki/Unix_time). The value must be within 300 seconds (5 minutes) of the ledger's close time. |
|
||||
| `AssetClass` | String | Blob | Variable | Describes the type of asset, such as "currency", "commodity", or "index". This field is a string, up to 16 ASCII hex encoded characters (0x20-0x7E). This field is required when creating a new `Oracle` ledger entry, but is optional for updates. |
|
||||
|
||||
@@ -10,7 +10,7 @@ labels:
|
||||
# Payment
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Payment.cpp "Source")
|
||||
|
||||
A Payment transaction represents a transfer of value from one account to another. (Depending on the path taken, this can involve additional exchanges of value, which occur atomically.) This transaction type can be used for several [types of payments](#types-of-payments).
|
||||
Send value to an account. (Depending on the path taken, this can involve exchanges of several types of funds, all of which occur atomically.) This transaction type can be used for several [types of payments](#types-of-payments).
|
||||
|
||||
Payments are also the only way to [create accounts](#creating-accounts).
|
||||
|
||||
@@ -40,12 +40,12 @@ Payments are also the only way to [create accounts](#creating-accounts).
|
||||
| Field | JSON Type | [Internal Type][] | Required? | Description |
|
||||
|:-----------------|:---------------------|:------------------|:----------|:------------|
|
||||
| `Amount` | [Currency Amount][] | Amount | API v1: Yes | Alias to `DeliverMax`. |
|
||||
| `CredentialIDs` | Array of Strings | Vector256 | No | Set of Credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. _(Requires the [Credentials amendment][]._ {% not-enabled /%})_ |
|
||||
| `CredentialIDs` | Array of Strings | Vector256 | No | Set of Credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. {% amendment-disclaimer name="Credentials" /%} |
|
||||
| `DeliverMax` | [Currency Amount][] | Amount | Yes | [API v2][]: The maximum amount of currency to deliver. [Partial payments](#partial-payments) can deliver less than this amount and still succeed; other payments fail unless they deliver the exact amount. {% badge href="https://github.com/XRPLF/rippled/releases/tag/2.0.0" %}New in: rippled 2.0.0{% /badge %} |
|
||||
| `DeliverMin` | [Currency Amount][] | Amount | No | Minimum amount of destination currency this transaction should deliver. Only valid if this is a [partial payment](#partial-payments). |
|
||||
| `Destination` | String - [Address][] | AccountID | Yes | The account receiving the payment. |
|
||||
| `DestinationTag` | Number | UInt32 | No | Arbitrary tag that identifies the reason for the payment to the destination, or a hosted recipient to pay. |
|
||||
| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If this is a cross-currency payment, only use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) to convert currency. Both the sender and the recipient must have valid credentials that grant access to the specified domain. This field has no effect if the payment is not cross-currency. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ |
|
||||
| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If this is a cross-currency payment, only use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) to convert currency. Both the sender and the recipient must have valid credentials that grant access to the specified domain. This field has no effect if the payment is not cross-currency. {% amendment-disclaimer name="PermissionedDEX" %/} |
|
||||
| `InvoiceID` | String - Hexadecimal | UInt256 | No | Arbitrary 256-bit value representing a specific reason or identifier for this payment. |
|
||||
| `Paths` | Array of path arrays | PathSet | No | _(Auto-fillable)_ Array of [payment paths](../../../../concepts/tokens/fungible-tokens/paths.md) to be used for this transaction. Must be omitted for XRP-to-XRP transactions. |
|
||||
| `SendMax` | [Currency Amount][] | Amount | No | Highest amount of source currency this transaction is allowed to cost, including [transfer fees](../../../../concepts/tokens/fungible-tokens/transfer-fees.md), exchange rates, and [slippage](http://en.wikipedia.org/wiki/Slippage_%28finance%29). Does not include the [XRP destroyed as a cost for submitting the transaction](../../../../concepts/transactions/transaction-cost.md). Must be supplied for cross-currency/cross-issue payments. Must be omitted for XRP-to-XRP payments. |
|
||||
@@ -145,12 +145,12 @@ In the above example with a ¥95/$15 offer and a ¥5/$2 offer, the situation is
|
||||
|
||||
## MPT Payments
|
||||
|
||||
_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_
|
||||
|
||||
When you send a payment using [MPTs](/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens), the _Amount_ field requires only the `mpt_issuance_id` and the `value`. The `MPTokenIssuanceID` is used to uniquely identify the MPT for the transaction.
|
||||
|
||||
Version 1 MPTokens only support direct MPT payment between accounts. They cannot be traded in the decentralized exchange.
|
||||
|
||||
{% amendment-disclaimer name="MPTokensV1" /%}
|
||||
|
||||
### Sample MPT Payment transaction
|
||||
|
||||
```json
|
||||
@@ -175,7 +175,7 @@ Version 1 MPTokens only support direct MPT payment between accounts. They cannot
|
||||
```
|
||||
## Credential IDs
|
||||
|
||||
_(Requires the [Credentials amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="Credentials" /%}
|
||||
|
||||
You can send money to an account that uses [Deposit Authorization](../../../../concepts/accounts/depositauth.md) by providing the `CredentialIDs` field with an exact set of credentials that are preauthorized by the recipient. The set of credentials must match a [DepositPreauth entry](../../ledger-data/ledger-entry-types/depositpreauth.md) in the ledger.
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ labels:
|
||||
# PaymentChannelClaim
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source")
|
||||
|
||||
Claim funds from a payment channel, adjust the payment channel's expiration, or both. This transaction can be used differently depending on the transaction sender's role in the specified channel:
|
||||
Claim funds from a [payment channel](../../../../concepts/payment-types/payment-channels.md), adjust the payment channel's expiration, or both. This transaction can be used differently depending on the transaction sender's role in the specified channel:
|
||||
|
||||
The **source address** of a channel can:
|
||||
|
||||
@@ -25,7 +25,7 @@ The **destination address** of a channel can:
|
||||
|
||||
- Cause a channel to be closed if its `Expiration` or `CancelAfter` time is older than the previous ledger's close time. Any validly formed `PaymentChannelClaim` transaction has this effect, regardless of the contents of the transaction.
|
||||
|
||||
_(Added by the [PayChan amendment][].)_
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
Create a [payment channel](../../../../concepts/payment-types/payment-channels.md) and fund it. The address sending this transaction becomes the "source address" of the payment channel.
|
||||
|
||||
_(Added by the [PayChan amendment][].)_
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -41,7 +41,7 @@ _(Added by the [PayChan amendment][].)_
|
||||
| `CancelAfter` | Number | UInt32 | No | The time, in [seconds since the Ripple Epoch][], when this channel expires. Any transaction that would modify the channel after this time closes the channel without otherwise affecting it. This value is immutable; the channel can be closed earlier than this time but cannot remain open after this time. |
|
||||
| `DestinationTag` | Number | UInt32 | No | Arbitrary tag to further specify the destination for this payment channel, such as a hosted recipient at the destination address. |
|
||||
|
||||
If the `Destination` account is blocking incoming payment channels, the transaction fails with result code `tecNO_PERMISSION`. _(Requires the [DisallowIncoming amendment][] )_
|
||||
If the `Destination` account is blocking incoming payment channels, the transaction fails with result code `tecNO_PERMISSION`. {% amendment-disclaimer name="DisallowIncoming" /%}
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
|
||||
Add an additional amount to an open [payment channel](../../../../concepts/payment-types/payment-channels.md), and optionally update the expiration time of the channel. Only the source account of the channel can use this transaction.
|
||||
|
||||
_(Added by the [PayChan amendment][].)_
|
||||
{% amendment-disclaimer name="PayChan" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
seo:
|
||||
description: Delete a permissioned domain.
|
||||
labels:
|
||||
- Compliance
|
||||
- Permissioned Domains
|
||||
- Compliance
|
||||
- Permissioned Domains
|
||||
status: not_enabled
|
||||
---
|
||||
# PermissionedDomainDelete
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PermissionedDomainDelete.cpp "Source")
|
||||
|
||||
Delete a [permissioned domain][] that you own.
|
||||
|
||||
_(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="PermissionedDomains" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
seo:
|
||||
description: Create or update a permissioned domain.
|
||||
labels:
|
||||
- Compliance
|
||||
- Permissioned Domains
|
||||
- Compliance
|
||||
- Permissioned Domains
|
||||
status: not_enabled
|
||||
---
|
||||
# PermissionedDomainSet
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PermissionedDomainSet.cpp "Source")
|
||||
|
||||
Create a [permissioned domain][], or modify one that you own.
|
||||
|
||||
_(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_
|
||||
{% amendment-disclaimer name="PermissionedDomains" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
seo:
|
||||
description: Add, remove, or modify an account's regular key pair.
|
||||
labels:
|
||||
- Security
|
||||
- Security
|
||||
---
|
||||
# SetRegularKey
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/4239880acb5e559446d2067f00dabb31cf102a23/src/ripple/app/transactors/SetRegularKey.cpp "Source")
|
||||
|
||||
A `SetRegularKey` transaction assigns, changes, or removes the regular key pair associated with an account.
|
||||
Assign, change, or remove the [regular key pair](../../../../concepts/accounts/cryptographic-keys.md) associated with your account.
|
||||
|
||||
You can protect your account by assigning a regular key pair to it and using it instead of the master key pair to sign transactions whenever possible. If your regular key pair is compromised, but your master key pair is not, you can use a `SetRegularKey` transaction to regain control of your account.
|
||||
|
||||
@@ -27,7 +27,6 @@ You can protect your account by assigning a regular key pair to it and using it
|
||||
{% tx-example txid="6AA6F6EAAAB56E65F7F738A9A2A8A7525439D65BA990E9BA08F6F4B1C2D349B4" /%}
|
||||
|
||||
{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%}
|
||||
<!--{# fix md highlighting_ #}-->
|
||||
|
||||
| Field | JSON Type | [Internal Type][] | Description |
|
||||
|:-------------|:----------|:------------------|:------------------------------|
|
||||
|
||||
@@ -5,10 +5,12 @@ labels:
|
||||
- Security
|
||||
---
|
||||
# SignerListSet
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetSignerList.cpp "Source")
|
||||
|
||||
The SignerListSet transaction creates, replaces, or removes a list of signers that can be used to [multi-sign](../../../../concepts/accounts/multi-signing.md) a transaction. This transaction type was introduced by the [MultiSign amendment][].
|
||||
Create, replace, or remove a list of signers that can be used to [multi-sign](../../../../concepts/accounts/multi-signing.md) a transaction.
|
||||
|
||||
{% amendment-disclaimer name="MultiSign" /%}
|
||||
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
@@ -45,7 +47,6 @@ The SignerListSet transaction creates, replaces, or removes a list of signers th
|
||||
{% tx-example txid="09A9C86BF20695735AB03620EB1C32606635AC3DA0B70282F37C674FC889EFE7" /%}
|
||||
|
||||
{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%}
|
||||
<!--{# fix md highlighting_ #}-->
|
||||
|
||||
| Field | JSON Type | [Internal Type][] | Description |
|
||||
|:----------------|:----------|:------------------|:-----------------------------|
|
||||
|
||||
@@ -5,12 +5,11 @@ labels:
|
||||
- Transaction Sending
|
||||
---
|
||||
# TicketCreate
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateTicket.cpp "Source")
|
||||
|
||||
_(Added by the [TicketBatch amendment][].)_
|
||||
Set aside one or more [sequence numbers][Sequence Number] as [tickets](../../../../concepts/accounts/tickets.md).
|
||||
|
||||
A TicketCreate transaction sets aside one or more [sequence numbers][Sequence Number] as [Tickets](../../../../concepts/accounts/tickets.md).
|
||||
{% amendment-disclaimer name="TicketBatch" /%}
|
||||
|
||||
## Example {% $frontmatter.seo.title %} JSON
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ labels:
|
||||
- Tokens
|
||||
---
|
||||
# TrustSet
|
||||
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetTrust.cpp "Source")
|
||||
|
||||
Create or modify a [trust line](../../../../concepts/tokens/fungible-tokens/index.md) linking two accounts.
|
||||
@@ -31,7 +30,6 @@ Create or modify a [trust line](../../../../concepts/tokens/fungible-tokens/inde
|
||||
{% tx-example txid="8566673ECD0A9731C516906E5D2F47129C5C13713602140733831A56CEAE1A05" /%}
|
||||
|
||||
{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%}
|
||||
<!--{# fix md highlighting_ #}-->
|
||||
|
||||
| Field | JSON Type | [Internal Type][] | Description |
|
||||
|:-------------------------|:----------|:------------------|:------------------|
|
||||
@@ -42,7 +40,7 @@ Create or modify a [trust line](../../../../concepts/tokens/fungible-tokens/inde
|
||||
| `QualityIn` | Number | UInt32 | _(Optional)_ Value incoming balances on this trust line at the ratio of this number per 1,000,000,000 units. A value of `0` is shorthand for treating balances at face value. For example, if you set the value to 10,000,000, 1% of incoming funds remain with the sender. If an account sends 100 currency, the sender retains 1 currency unit and the destination receives 99 units. This option is included for parity: in practice, you are much more likely to set a `QualityOut` value. Note that this fee is separate and independent from token transfer fees. |
|
||||
| `QualityOut` | Number | UInt32 | _(Optional)_ Value outgoing balances on this trust line at the ratio of this number per 1,000,000,000 units. A value of `0` is shorthand for treating balances at face value. For example, if you set the value to 10,000,000, 1% of outgoing funds would remain with the issuer. If the sender sends 100 currency units, the issuer retains 1 currency unit and the destination receives 99 units. Note that this fee is separate and independent from token transfer fees. |
|
||||
|
||||
If the account specified in `LimitAmount.issuer` is blocking incoming trust lines, the transaction fails with the result code `tecNO_PERMISSION`. _(Requires the [DisallowIncoming amendment][] )_
|
||||
If the account specified in `LimitAmount.issuer` is blocking incoming trust lines, the transaction fails with the result code `tecNO_PERMISSION`. {% amendment-disclaimer name="DisallowIncoming" /%}
|
||||
|
||||
|
||||
## TrustSet Flags
|
||||
|
||||
@@ -8,15 +8,13 @@ status: not_enabled
|
||||
# XChainAccountCreateCommit
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/TxFormats.cpp#L466-L474 "Source")
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
|
||||
This transaction can only be used for XRP-XRP bridges.
|
||||
|
||||
The `XChainAccountCreateCommit` transaction creates a new account for a witness server to submit transactions on an issuing chain.
|
||||
Create a new account for a [witness server](../../../../concepts/xrpl-sidechains/witness-servers.md) to submit transactions on an issuing chain. This transaction can only be used for XRP-XRP bridges.
|
||||
|
||||
{% admonition type="danger" name="Warning" %}This transaction should only be executed if the witness attestations will be reliably delivered to the destination chain. If the signatures aren't delivered, then account creation will be blocked until attestations are received. This can be used maliciously; to disable this transaction on XRP-XRP bridges, omit the bridge's `MinAccountCreateAmount` field.{% /admonition %}
|
||||
|
||||
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
## Example XChainAccountCreateCommit JSON
|
||||
|
||||
```json
|
||||
|
||||
@@ -8,9 +8,7 @@ status: not_enabled
|
||||
# XChainAddAccountCreateAttestation
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/TxFormats.cpp#L447-L464 "Source")
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
|
||||
The `XChainAddAccountCreateAttestation` transaction provides an attestation from a witness server that an `XChainAccountCreateCommit` transaction occurred on the other chain.
|
||||
Provide an attestation from a [witness server](../../../../concepts/xrpl-sidechains/witness-servers.md) that an `XChainAccountCreateCommit` transaction occurred on the other chain.
|
||||
|
||||
The signature must be from one of the keys on the door's signer list at the time the signature was provided. If the signature list changes between the time the signature was submitted and the quorum is reached, the new signature set is used and some of the currently collected signatures may be removed.
|
||||
|
||||
@@ -18,6 +16,7 @@ Any account can submit signatures.
|
||||
|
||||
{% admonition type="info" name="Note" %}The reward is only sent to accounts that have keys on the current list. A quorum of signers need to agree on the `SignatureReward`, the same way they need to agree on the other data. A single witness server can't provide an incorrect value for this in an attempt to collect a larger reward.{% /admonition %}
|
||||
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
## Example XChainAddAccountCreateAttestation JSON
|
||||
|
||||
|
||||
@@ -8,9 +8,7 @@ status: not_enabled
|
||||
# XChainAddClaimAttestation
|
||||
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/TxFormats.cpp#L429-L445 "Source")
|
||||
|
||||
_(Requires the [XChainBridge amendment][] {% not-enabled /%})_
|
||||
|
||||
The `XChainAddClaimAttestation` transaction provides proof from a witness server, attesting to an `XChainCommit` transaction.
|
||||
Provide proof from a [witness server](../../../../concepts/xrpl-sidechains/witness-servers.md) attesting to an `XChainCommit` transaction.
|
||||
|
||||
The signature must be from one of the keys on the door's signer list at the time the signature was provided. However, if the signature list changes between the time the signature was submitted and the quorum is reached, the new signature set is used and some of the currently collected signatures may be removed.
|
||||
|
||||
@@ -18,6 +16,7 @@ Any account can submit signatures.
|
||||
|
||||
{% admonition type="info" name="Note" %}The reward is only sent to accounts that have keys on the current list. A quorum of signers need to agree on the `SignatureReward`, the same way they need to agree on the other data. A single witness server can't provide an incorrect value for this in an attempt to collect a larger reward.{% /admonition %}
|
||||
|
||||
{% amendment-disclaimer name="XChainBridge" /%}
|
||||
|
||||
## Example XChainAddClaimAttestation JSON
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user