mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-29 16:15:48 +00:00
Re-levelization: move non-docs content, rename content→docs
For better URLs, the content folder has been renamed 'docs' and all other files have been moved up a level. Also, non-docs images have been moved to the static folder at the top level where they belong. Many relative paths had to be fixed to make this work.
This commit is contained in:
@@ -23,4 +23,4 @@ Auto-bridging happens automatically on any [OfferCreate transaction][]. [Payment
|
||||
|
||||
- [Payment Paths](../fungible-tokens/paths.md)
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -106,4 +106,4 @@ While an AMM has no assets in its pool, anyone can delete it by sending an [AMMD
|
||||
|
||||
There is no refund or incentive for deleting an empty AMM.
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -28,7 +28,7 @@ When trading two tokens, [auto-bridging](autobridging.md) improves exchange rate
|
||||
|
||||
### Example Trade
|
||||
|
||||
[{% inline-svg file="/img/decentralized-exchange-example-trade.svg" /%}](/img/decentralized-exchange-example-trade.svg "Diagram: Partially filled offer to buy a token for XRP.")
|
||||
[{% inline-svg file="/docs/img/decentralized-exchange-example-trade.svg" /%}](/docs/img/decentralized-exchange-example-trade.svg "Diagram: Partially filled offer to buy a token for XRP.")
|
||||
|
||||
The above diagram shows an example trade in the decentralized exchange. In this example, a trader named Tran places an Offer to buy 100 tokens with the currency code FOO issued by a fictional business called WayGate. (For brevity, "FOO.WayGate" refers to these tokens.) Tran specifies that he is willing to spend up to 1000 XRP for the full total. When Tran's transaction is processed, the following things happen:
|
||||
|
||||
@@ -68,7 +68,7 @@ As a decentralized system, the XRP Ledger does not have any information on the a
|
||||
- [Offer object][] for the data structure of passive Offers in the ledger
|
||||
- [DirectoryNode object][] for the data structure that tracks all the Offers for a given currency pair and exchange rate.
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
|
||||
{% child-pages /%}
|
||||
|
||||
@@ -111,4 +111,4 @@ This is a consequence of how the network reaches agreement. For the entire peer-
|
||||
- [OfferCancel transaction][]
|
||||
- [Offer object](../../../references/protocol/ledger-data/ledger-entry-types/offer.md)
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -25,4 +25,4 @@ When an issuer enables, disables, or changes the `TickSize`, Offers that were pl
|
||||
- [book_offers method][]
|
||||
- [OfferCreate transaction][]
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -63,7 +63,7 @@ POST http://localhost:5005/
|
||||
}
|
||||
```
|
||||
|
||||
{% partial file="/_snippets/secret-key-warning.md" /%}
|
||||
{% partial file="/docs/_snippets/secret-key-warning.md" /%}
|
||||
|
||||
|
||||
## Checking Whether an Account Has Require Auth Enabled
|
||||
@@ -106,7 +106,7 @@ POST http://localhost:8088/
|
||||
}
|
||||
```
|
||||
|
||||
{% partial file="/_snippets/secret-key-warning.md" /%}
|
||||
{% partial file="/docs/_snippets/secret-key-warning.md" /%}
|
||||
|
||||
|
||||
## Checking Whether Trust Lines Are Authorized
|
||||
@@ -129,4 +129,4 @@ In the response's `result.lines` array, find the object whose `currency` field i
|
||||
- [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags)
|
||||
- [RippleState (trust line) Flags](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags)
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -8,7 +8,7 @@ labels:
|
||||
---
|
||||
# Clawing Back Tokens
|
||||
|
||||
{% partial file="/_snippets/clawback-disclaimer.md" /%}
|
||||
{% partial file="/docs/_snippets/clawback-disclaimer.md" /%}
|
||||
|
||||
For regulatory purposes, some issuers need the ability to recover tokens after they are distributed to accounts. For example, if an issuer were to discover that tokens were sent to an account sanctioned for illegal activity, the issuer could recover, or *claw back*, the funds.
|
||||
|
||||
@@ -37,4 +37,4 @@ Conversely, if you try to set `lsfNoFreeze` while `lsfAllowTrustLineClawback` is
|
||||
|
||||
If successful, this transaction would claw back at most 314.159 FOO issued by rp6abvbTbjoce8ZDJkT6snvxTZSYMBCC9S and held by rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW.
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -49,7 +49,7 @@ To convert between display amounts and ledger amounts, you can use the following
|
||||
|
||||
Rather than using the [standard currency code format](../../../references/protocol/data-types/currency-formats.md#currency-codes), tokens that have positive interest or negative interest (demurrage) use a 160-bit currency code in the following format:
|
||||
|
||||

|
||||

|
||||
|
||||
1. The first 8 bits must be `0x01`.
|
||||
2. The next 24 bits represent 3 characters of ASCII.
|
||||
|
||||
@@ -83,7 +83,7 @@ You can only enable the No Freeze setting with a transaction signed by your addr
|
||||
|
||||
# See Also
|
||||
|
||||
- [Freeze Code Samples](https://github.com/XRPLF/xrpl-dev-portal/tree/master/content/_code-samples/freeze)
|
||||
- [Freeze Code Samples](https://github.com/XRPLF/xrpl-dev-portal/tree/master/_code-samples/freeze)
|
||||
- **Concepts:**
|
||||
- [Trust Lines and Issuing](index.md)
|
||||
- **Tutorials:**
|
||||
@@ -98,4 +98,4 @@ You can only enable the No Freeze setting with a transaction signed by your addr
|
||||
- [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags)
|
||||
- [RippleState (trust line) Flags](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags)
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -91,4 +91,4 @@ When an account owns 3 or more objects in the ledger, the full owner reserve app
|
||||
- [RippleState object](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md) - The data format for trust lines in the ledger's state data.
|
||||
- [TrustSet transaction][] - The transaction to create or modify trust lines.
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -28,7 +28,7 @@ A path is made of steps that connect the sender to the receiver of the payment.
|
||||
|
||||
In both types of steps, each intermediate address gains and loses approximately equal value: either a balance ripples from a trust line to another trust line in the same currency, or they exchange currencies according to a previously-placed order. In some cases, the amounts gained and lost may not be exactly equivalent, due to [transfer fees](../transfer-fees.md), trust line quality settings, or rounding.
|
||||
|
||||
[{% inline-svg file="/img/paths-examples.svg" /%}](/img/paths-examples.svg "Diagram of three example paths")
|
||||
[{% inline-svg file="/docs/img/paths-examples.svg" /%}](/docs/img/paths-examples.svg "Diagram of three example paths")
|
||||
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ The default path could be any of the following:
|
||||
|
||||
The following diagram enumerates all possible default paths:
|
||||
|
||||
[{% inline-svg file="/img/default-paths.svg" /%}](/img/default-paths.svg "Diagram of default paths")
|
||||
[{% inline-svg file="/docs/img/default-paths.svg" /%}](/docs/img/default-paths.svg "Diagram of default paths")
|
||||
|
||||
You can use the [`tfNoDirectRipple` flag](../../../references/protocol/transactions/types/payment.md#payment-flags) to disable the default path. In this case, the transaction can only execute using the paths explicitly included in the transaction. Traders can use this option to take arbitrage opportunities.
|
||||
|
||||
@@ -115,4 +115,4 @@ The `type` field, used for the binary serialization of a path set, is actually c
|
||||
- [path_find method][] (WebSocket only)
|
||||
- [ripple_path_find method][]
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -21,11 +21,11 @@ For non-issuing accounts, rippling can be undesirable because it lets other user
|
||||
|
||||
"Rippling" occurs when more than one trust line is adjusted to make a payment. For example, if Alice owes Charlie money, and Alice also owes Bob money, then you could represent that in the XRP Ledger with trust lines like so:
|
||||
|
||||
[{% inline-svg file="/img/noripple-01.svg" /%}](/img/noripple-01.svg "Charlie --($10)-- Alice -- ($20) -- Bob")
|
||||
[{% inline-svg file="/docs/img/noripple-01.svg" /%}](/docs/img/noripple-01.svg "Charlie --($10)-- Alice -- ($20) -- Bob")
|
||||
|
||||
If Bob wants to pay $3 to Charlie, then he could say, "Alice, take $3 of the money you owe me, and pay it to Charlie." Alice transfers some of the debt from Bob to Charlie. In the end, the trust lines work out like so:
|
||||
|
||||
[{% inline-svg file="/img/noripple-02.svg" /%}](/img/noripple-02.svg "Charlie --($13)-- Alice --($17)-- Bob")
|
||||
[{% inline-svg file="/docs/img/noripple-02.svg" /%}](/docs/img/noripple-02.svg "Charlie --($13)-- Alice --($17)-- Bob")
|
||||
|
||||
We call this process, where two addresses pay each other by adjusting the balances of trust lines in between them, "rippling". This is a useful and important feature of the XRP Ledger. Rippling occurs when addresses are linked by trust lines that use the same currency code. The issuer does not need to be the same: in fact, larger chains always involve changing issuers.
|
||||
|
||||
@@ -39,17 +39,17 @@ An account can disable No Ripple on a single trust line, which can allow ripplin
|
||||
|
||||
For example, imagine Emily has money issued by two different financial institutions, like so
|
||||
|
||||
[{% inline-svg file="/img/noripple-03.svg" /%}](/img/noripple-03.svg "Charlie --($10)-- Institution A --($1)-- Emily --($100)-- Institution B --($2)-- Daniel")
|
||||
[{% inline-svg file="/docs/img/noripple-03.svg" /%}](/docs/img/noripple-03.svg "Charlie --($10)-- Institution A --($1)-- Emily --($100)-- Institution B --($2)-- Daniel")
|
||||
|
||||
Now Charlie can pay Daniel by rippling through Emily's address. For example, if Charlie pays Daniel $10:
|
||||
|
||||
[{% inline-svg file="/img/noripple-04.svg" /%}](/img/noripple-04.svg "Charlie --($0)-- Institution A --($11)-- Emily --($90)-- Institution B --($12)-- Daniel")
|
||||
[{% inline-svg file="/docs/img/noripple-04.svg" /%}](/docs/img/noripple-04.svg "Charlie --($0)-- Institution A --($11)-- Emily --($90)-- Institution B --($12)-- Daniel")
|
||||
|
||||
This may surprise Emily, who does not know Charlie or Daniel. Even worse, if Institution A charges her higher fees to withdraw her money than Institution B, this could cost Emily money. The No Ripple flag exists to avoid this scenario. If Emily sets it on both trust lines, then payments cannot ripple through her address using those two trust lines.
|
||||
|
||||
For example:
|
||||
|
||||
[{% inline-svg file="/img/noripple-05.svg" /%}](/img/noripple-05.svg "Charlie --($10)-- Institution A --($1, No Ripple)-- Emily --($100, No Ripple)-- Institution B --($2)-- Daniel")
|
||||
[{% inline-svg file="/docs/img/noripple-05.svg" /%}](/docs/img/noripple-05.svg "Charlie --($10)-- Institution A --($1, No Ripple)-- Emily --($100, No Ripple)-- Institution B --($2)-- Daniel")
|
||||
|
||||
Now the above scenario, where Charlie pays Daniel while rippling through Emily's address, is no longer possible.
|
||||
|
||||
@@ -57,7 +57,7 @@ Now the above scenario, where Charlie pays Daniel while rippling through Emily's
|
||||
|
||||
The No Ripple flag makes certain paths invalid, so that they cannot be used to make payments. A path is considered invalid if and only if it enters **and** exits an address node through trust lines where No Ripple has been enabled for that address.
|
||||
|
||||
[{% inline-svg file="/img/noripple-06.svg" /%}](/img/noripple-06.svg "Diagram demonstrating that No Ripple has to be set on both trust lines by the same address to do anything")
|
||||
[{% inline-svg file="/docs/img/noripple-06.svg" /%}](/docs/img/noripple-06.svg "Diagram demonstrating that No Ripple has to be set on both trust lines by the same address to do anything")
|
||||
|
||||
|
||||
## The Default Ripple Flag
|
||||
@@ -97,4 +97,4 @@ Using the [HTTP / WebSocket APIs](../../../references/http-websocket-apis/index.
|
||||
- [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags)
|
||||
- [RippleState (trust line) Flags](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md#ripplestate-flags)
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -17,7 +17,7 @@ Create a new account that you designate as the _issuer_, sometimes called the "c
|
||||
|
||||
Many implementations use a _standby_ account as a "warm" wallet. Trusted human operators use the standby account to distribute stablecoins to _operational_ accounts.
|
||||
|
||||

|
||||

|
||||
|
||||
Operational accounts, or "hot" wallets, trade with other accounts on the XRPL. Automated, internet-connected systems use the secret keys to these addresses to conduct day-to-day business like transfers to customers and partners.
|
||||
|
||||
@@ -80,7 +80,7 @@ See [Freezing Tokens](../freezes.md).
|
||||
|
||||
### Clawback Flags
|
||||
|
||||
_(Requires the [Clawback amendment](../../../../resources/known-amendments.md#clawback) {% not-enabled /%})_
|
||||
_(Requires the [Clawback amendment](/resources/known-amendments.md#clawback) {% not-enabled /%})_
|
||||
|
||||
Clawback allows you to retrieve, or _clawback_, stablecoins from a trust line under specific circumstances. This gives you added ability to respond to challenges such as lost account access or malicious activity.
|
||||
|
||||
|
||||
@@ -48,4 +48,4 @@ Issuers have options with tokens that are not available with XRP. Issuers can ch
|
||||
|
||||
Tokens use decimal (base-10) math with 15 digits of precision and an exponent that allows them to express very large values (up to 9999999999999999 × 10<sup>80</sup>) and very small values (down to 1.0 × 10<sup>-81</sup>).
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -37,8 +37,8 @@ Anyone can create a new NFT using the [NFTokenMint transaction][]. The NFT lives
|
||||
|
||||
You can destroy an NFT you own using the [NFTokenBurn transaction][]. If the issuer minted the token with the `tfBurnable` flag enabled, the issuer can also burn the token, regardless of the current owner. (This could be useful, for example, for a token that represents a ticket to an event that is used up at some point.)
|
||||
|
||||

|
||||

|
||||
|
||||
For more info about transferring NFTs, see [Trading NFTs on the XRP Ledger](trading.md).
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -46,4 +46,4 @@ This page lists the transactions and requests associated with NFTs as a handy re
|
||||
|
||||
You can access a public Clio server by sending a request to its URL and Clio port (typically 51233). Public Clio API servers come with no SLAs nor any responsibility to be fixed on priority. If your business use case requires continual monitoring and information requests, consider setting up your own Clio server instance. See [install-clio-on-ubuntu](../../../infrastructure/installation/install-clio-on-ubuntu.md).
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -22,7 +22,7 @@ This flow is the most straightforward. Note that the `NFTokenOffer` objects can
|
||||
|
||||
Run the auction in brokered mode, as an auction with a reserve.
|
||||
|
||||

|
||||

|
||||
|
||||
1. The seller creates the NFT, then sets the auction reserve price using `NFTokenCreateOffer`, specifying the broker account as the destination.
|
||||
1. The bidders make offers using `NFTokenCreateOffer`, setting the broker account as the destination.
|
||||
@@ -44,7 +44,7 @@ A major mitigating factor of this downside is that if this behavior were to happ
|
||||
|
||||
This is the most complex workflow of the three.
|
||||
|
||||

|
||||

|
||||
|
||||
1. The seller creates an NFT using `NFTokenMint`.
|
||||
1. The bidders make offers using `NFTokenCreateOffer`, setting the broker as the destination.
|
||||
|
||||
@@ -63,12 +63,12 @@ Using a broker offers several advantages. For example:
|
||||
|
||||
In the most straightforward workflow, a creator mints a new NFT. The creator initiates a sell offer, entering the minimum acceptable sale price and setting the broker as the destination. Potential buyers make bids for the NFT, setting the broker as the destination for the bid. The broker selects a winning bid and completes the transaction, taking a broker’s fee. As a best practice, the broker then cancels any remaining buy offers for the NFT.
|
||||
|
||||

|
||||

|
||||
|
||||
Another potential workflow would give the creator more control over the sale. In this workflow, the creator mints a new NFT. Bidders create their offers, setting the broker as the destination. The broker selects the winning bid, subtracts their broker fee, and uses `NFTokenCreateOffer` to request that the creator sign off on the offer. The creator signs the requested offer, setting the broker as the destination. The broker completes the sale using `NFTokenAcceptOffer`, retaining the broker fee. The broker cancels any remaining bids for the NFT using `NFTokenCancelOffer`.
|
||||
|
||||

|
||||

|
||||
|
||||
The same workflows can be used when an owner resells an NFT created by another account.
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -25,11 +25,11 @@ In this example, ACME Bank issues a EUR stablecoin on the XRP Ledger. ACME Bank
|
||||
|
||||
The following diagram shows an XRP Ledger payment of 2 EUR.ACME from Alice to Charlie with a transfer fee of 1%:
|
||||
|
||||
[{% inline-svg file="/img/transfer-fees.svg" /%}](/img/transfer-fees.svg "Alice sends 2,02€, Charlie receives 2,00€, and ACME owes 0,02€ less in the XRP Ledger")
|
||||
[{% inline-svg file="/docs/img/transfer-fees.svg" /%}](/docs/img/transfer-fees.svg "Alice sends 2,02€, Charlie receives 2,00€, and ACME owes 0,02€ less in the XRP Ledger")
|
||||
|
||||
In accounting terms, Alice's, ACME's, and Charlie's balance sheets may have changed like this:
|
||||
|
||||
[{% inline-svg file="/img/transfer-fees-balance-sheets.svg" /%}](/img/transfer-fees-balance-sheets.svg "Alice's assets are down 2,02€, Charlie's are up 2,00€, and ACME's liabilities are down 0,02€")
|
||||
[{% inline-svg file="/docs/img/transfer-fees-balance-sheets.svg" /%}](/docs/img/transfer-fees-balance-sheets.svg "Alice's assets are down 2,02€, Charlie's are up 2,00€, and ACME's liabilities are down 0,02€")
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ In accounting terms, Alice's, ACME's, and Charlie's balance sheets may have chan
|
||||
|
||||
A transfer fee applies whenever an individual transfer would move tokens from one party to another (except when going to/from the issuing account directly). In more complex transactions, this can occur multiple times. Transfer fees apply starting from the end and working backwards, so that ultimately the sender of a payment must send enough to account for all fees. For example:
|
||||
|
||||
[{% inline-svg file="/img/transfer-fees-in-paths.svg" /%}](/img/transfer-fees-in-paths.svg "Diagram of cross-currency payment with transfer fees")
|
||||
[{% inline-svg file="/docs/img/transfer-fees-in-paths.svg" /%}](/docs/img/transfer-fees-in-paths.svg "Diagram of cross-currency payment with transfer fees")
|
||||
|
||||
In this scenario, Salazar (the sender) holds EUR issued by ACME, and wants to deliver 100 USD issued by WayGate to Rosa (the recipient). FXMaker is a trader with the best offer in the order book, at a rate of 1 USD.WayGate for every 0.9 EUR.ACME. If there were no transfer fees, Salazar could deliver 100 USD to Rosa by sending 90 EUR. However, ACME has a transfer fee of 1% and WayGate has a transfer fee of 0.2%. This means:
|
||||
|
||||
@@ -59,7 +59,7 @@ A token issuer can submit an [AccountSet transaction][] to change the `TransferR
|
||||
|
||||
Anyone can check an account's `TransferRate` with the [account_info method][]. If the `TransferRate` is omitted, then that indicates no fee.
|
||||
|
||||
**Note:** The ledger may contain accounts with a transfer fee larger than the current maximum. The [fix1201 amendment](../../resources/known-amendments.md#fix1201), enabled on 2017-11-14, lowered the maximum transfer fee to 100% (a `TransferRate` of `2000000000`) from an effective limit of approximately 329% (based on the maximum size of a 32-bit integer). Transfer fees that were already set continue to apply at their stated rate.
|
||||
**Note:** The ledger may contain accounts with a transfer fee larger than the current maximum. The [fix1201 amendment](/resources/known-amendments.md#fix1201), enabled on 2017-11-14, lowered the maximum transfer fee to 100% (a `TransferRate` of `2000000000`) from an effective limit of approximately 329% (based on the maximum size of a 32-bit integer). Transfer fees that were already set continue to apply at their stated rate.
|
||||
|
||||
## Client Library Support
|
||||
|
||||
@@ -79,4 +79,4 @@ Some [client libraries](../../references/client-libraries.md) have convenience f
|
||||
- [AccountSet transaction][]
|
||||
- [AccountRoot Flags](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags)
|
||||
|
||||
{% raw-partial file="/_snippets/common-links.md" /%}
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
Reference in New Issue
Block a user