diff --git a/.env b/.env index 5edbbb2e36..d8721f4191 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ PUBLIC_GITHUB_FORK=https://github.com/XRPLF/xrpl-dev-portal PUBLIC_GITHUB_BRANCH=master -PUBLIC_OWNER_RESERVE=2 XRP -PUBLIC_BASE_RESERVE=10 XRP +PUBLIC_OWNER_RESERVE=0.2 XRP +PUBLIC_BASE_RESERVE=1 XRP diff --git a/.gitignore b/.gitignore index c285d68523..5a9811c83b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ yarn-error.log /.idea *.iml .venv/ - _code-samples/*/js/package-lock.json # PHP diff --git a/@l10n/es-ES/docs/concepts/accounts/deleting-accounts.md b/@l10n/es-ES/docs/concepts/accounts/deleting-accounts.md index 47cedd2f29..5f6e0bfce9 100644 --- a/@l10n/es-ES/docs/concepts/accounts/deleting-accounts.md +++ b/@l10n/es-ES/docs/concepts/accounts/deleting-accounts.md @@ -24,13 +24,13 @@ Para ser eliminada, una cuenta debe cumplir los siguientes requisitos: - `RippleState` - `Check` - La cuenta debe tener menos de 1000 objetos en el ledger. -- La transacción debe pagar un [coste de transacción][] especial igual al menos a la [reserva de propietario](reserves.md) de un artículo (actualmente 2 XRP). +- La transacción debe pagar un [coste de transacción][] especial igual al menos a la [reserva de propietario](reserves.md) de un artículo (actualmente {% $env.PUBLIC_OWNER_RESERVE %}). ## Coste de eliminación **Atención:** El coste de transacción de la [transacción AccountDelete][] siempre aplica cuando la transacción está incluida en un ledger validado, incluso si la transacción falla porque la cuenta no reune los requisitos para ser eliminada. Para reducir las posibilidades de pagar un coste de transacción alto si la cuenta no puede ser eliminada, utiliza la opción `fail_hard` cuando envíes una transacción AccountDelete. -A diferencia de Bitcoin y muchas otras criptomonedas, cada nueva versión de la cadena del ledger público de XRP Ledger contiene el estado completo del ledger, lo cual incrementa en tamaño con cada cuenta nueva. Por esa razón, no deberías crear nuevas cuentas XRP Ledger si no tienes necesidad. Puedes recuperar parte de los 10 XRP de la cuenta [reserva](reserves.md) eliminado la cuenta, pero destruirás por lo menos 2 XRP haciéndolo. +A diferencia de Bitcoin y muchas otras criptomonedas, cada nueva versión de la cadena del ledger público de XRP Ledger contiene el estado completo del ledger, lo cual incrementa en tamaño con cada cuenta nueva. Por esa razón, no deberías crear nuevas cuentas XRP Ledger si no tienes necesidad. Puedes recuperar parte de los {% $env.PUBLIC_BASE_RESERVE %} de la cuenta [reserva](reserves.md) eliminado la cuenta, pero destruirás por lo menos {% $env.PUBLIC_OWNER_RESERVE %} haciéndolo. Instituciones que reciben y envían valor en nombre de muchos usuarios pueden utilizar [**Source Tags** y **Destination Tags**](../transactions/source-and-destination-tags.md) para distinguir pagos desde y para sus clientes usando una (o un puñado) de cuentas en el XRP Ledger. diff --git a/@l10n/es-ES/docs/concepts/accounts/depositauth.md b/@l10n/es-ES/docs/concepts/accounts/depositauth.md index 085bc16664..2199308ab5 100644 --- a/@l10n/es-ES/docs/concepts/accounts/depositauth.md +++ b/@l10n/es-ES/docs/concepts/accounts/depositauth.md @@ -42,7 +42,7 @@ Una cuenta con Deposit Authorization activado: - **No puede** ser destinatario de [transacciones Payment][], con **las siguientes excepciones**: - Si el destinatario tiene [preautorizado](#preautorización) al remitente del pago. _(Añadido con la [enmienda DepositPreauth][])_ - - Si el balance XRP de la cuenta es igual o inferior al [requisito de reserva](reserves.md) de la cuenta, puede ser el destinatario de un pago XRP cuya cantidad `Amount` es igual o menor que el mínimo de reserva de la cuenta (actualmente 10 XRP). Esto es para prevenir a una cuenta de quedarse "atascada" no siendo posible enviar transacciones ni tampoco recibir XRP. La reserva de la cuenta del propietario no importa en este caso. + - Si el balance XRP de la cuenta es igual o inferior al [requisito de reserva](reserves.md) de la cuenta, puede ser el destinatario de un pago XRP cuya cantidad `Amount` es igual o menor que el mínimo de reserva de la cuenta (actualmente {% $env.PUBLIC_BASE_RESERVE %}). Esto es para prevenir a una cuenta de quedarse "atascada" no siendo posible enviar transacciones ni tampoco recibir XRP. La reserva de la cuenta del propietario no importa en este caso. - Puede recibir XRP de [transacciones PaymentChannelClaim][] **únicamente en los siguientes casos**: - El remitente de la transacción PaymentChannelClaim es el destino del canal de pago (payment channel). - El destino de la transacción del PaymentChannelClaim tiene [preautorizado](#preautorización) al remitente del PaymentChannelClaim. _(Añadido en la [enmienda DepositPreauth][])_ diff --git a/@l10n/es-ES/docs/concepts/accounts/index.md b/@l10n/es-ES/docs/concepts/accounts/index.md index cd00e9410f..4bbf850e8e 100644 --- a/@l10n/es-ES/docs/concepts/accounts/index.md +++ b/@l10n/es-ES/docs/concepts/accounts/index.md @@ -46,7 +46,7 @@ La forma típica de obtener una cuenta en el XRP Ledger es la siguiente: - Por ejemplo, puedes comprar XRP en un exchange privado, después retirar el XRP del exchange a la dirección que especificaste. - **Atención:** La primera vez que recibes XRP en tu propia dirección del XRP Ledger, debes pagar la [reserva de la cuenta](reserves.md) (actualmente 10 XRP), lo que bloquea esa cantidad de XRP indefinidamente. En contraste, los exchanges privados suelen almacenar todo el XRP de los clientes en unas pocas cuentas del XRP Ledger compartidas, así los clientes no tienen que pagar la reserva de cuentas individuales en el exchange. Antes de retirar XRP, considera si pagar el precio de tener tu propia cuenta en el XRP Ledger merece la pena. + **Atención:** La primera vez que recibes XRP en tu propia dirección del XRP Ledger, debes pagar la [reserva de la cuenta](reserves.md) (actualmente {% $env.PUBLIC_BASE_RESERVE %}), lo que bloquea esa cantidad de XRP indefinidamente. En contraste, los exchanges privados suelen almacenar todo el XRP de los clientes en unas pocas cuentas del XRP Ledger compartidas, así los clientes no tienen que pagar la reserva de cuentas individuales en el exchange. Antes de retirar XRP, considera si pagar el precio de tener tu propia cuenta en el XRP Ledger merece la pena. diff --git a/@l10n/es-ES/docs/concepts/accounts/reserves.md b/@l10n/es-ES/docs/concepts/accounts/reserves.md index b09442550d..bc7ae9d7b5 100644 --- a/@l10n/es-ES/docs/concepts/accounts/reserves.md +++ b/@l10n/es-ES/docs/concepts/accounts/reserves.md @@ -25,8 +25,8 @@ Los requisito de reserva consta de dos partes: Los requerimientos de reserva actuales en Mainnet son: -- Reserva base: **10 XRP** -- Reserva de propietario: **2 XRP** por artículo +- Reserva base: **{% $env.PUBLIC_BASE_RESERVE %}** +- Reserva de propietario: **{% $env.PUBLIC_OWNER_RESERVE %}** por artículo Reservas en otras redes pueden variar. diff --git a/@l10n/es-ES/docs/concepts/accounts/tickets.md b/@l10n/es-ES/docs/concepts/accounts/tickets.md index 4967187f8c..10f9fd6bf8 100644 --- a/@l10n/es-ES/docs/concepts/accounts/tickets.md +++ b/@l10n/es-ES/docs/concepts/accounts/tickets.md @@ -40,7 +40,7 @@ Más tarde, puedes enviar una transacción utilizando un Ticket específico en v Continuando con el ejemplo anterior, puedes enviar una transacción utilizando el número de secuencia 105 o cualquiera de los tres Tickets que has creado. Si envías una transacción utilizando el Ticket 103, esto eliminará el Ticket 103 del ledger. Tu próxima transacción despues de esa puede uitlizar el número de secuencia 105, el Ticket 102, o el Ticket 104. -**Atención:** Cada Ticket cuenta como un objeto separado para la [reserva de propietario](reserves.md), así que debes apartar 2 XRP por cada Ticket. (El XRP vuelve a estar disponible una vez que se haya utilizado el Ticket.) Este coste puede subir rápidamente si creas un grán número de Tickets a la vez. +**Atención:** Cada Ticket cuenta como un objeto separado para la [reserva de propietario](reserves.md), así que debes apartar {% $env.PUBLIC_OWNER_RESERVE %} por cada Ticket. (El XRP vuelve a estar disponible una vez que se haya utilizado el Ticket.) Este coste puede subir rápidamente si creas un grán número de Tickets a la vez. Como con los números de secuencia, enviar una transacción consume el Ticket _si y solo si_ la transacción es confirmada por [consenso](../consensus-protocol/index.md). Sin embargo, las transacciones que fallan en hacer lo que intentaban pueden ser confirmadas por el consenso con los [códigos de resultado de clase`tec`](../../references/protocol/transactions/transaction-results/tec-codes.md). @@ -53,7 +53,7 @@ Cualquier cuenta puede crear y utilizar Tickets en cualquier tipo de transaccion - Cada Ticket puede ser utilizado solo una vez. Es posible tener múltiples transacciones diferentes candidatas que podrían usar el mismo Ticket Secuencia, pero solo uno de esos candidatos será validado por el consenso. - Una cuenta no puede tener más de 250 Tickets en el ledger a la vez. No puedes crear más de 250 Tickets a la vez, tampoco. - _Puedes_ usar un Ticket para crear más Tickets. Si lo haces, el Ticket utilizado no cuenta para el número total de Tickets que puedes tener a la vez. -- Cada Ticket cuenta para la [reserva de propietario](reserves.md), por lo que debes apartar 2 XRP por cada Ticket que no has usado todavía. El XRP vuelve a estar disponible para ti despues de utilizar el Ticket. +- Cada Ticket cuenta para la [reserva de propietario](reserves.md), por lo que debes apartar {% $env.PUBLIC_OWNER_RESERVE %} por cada Ticket que no has usado todavía. El XRP vuelve a estar disponible para ti despues de utilizar el Ticket. - Dentro de un ledger individual, las transacciones que usan Tickets se ejecutan después que otras transacciones desde el mismo remitente. Si una cuenta tiene múltiples transacciones utilizando Tickets en la misma versión del ledger, esos Tickets se ejecutan en orden desde el Ticket con la secuencia más baja hasta la más alta. (Para más información, ver la documentación del [orden canónico](../consensus-protocol/consensus-structure.md#calculate-and-share-validations) del consenso.) - Para "cancelar" un Ticket, usa el Ticket para [realizar una operación no operativa](../transactions/finality-of-results/canceling-a-transaction.md) [transacción AccountSet][]. Esto elimina el Ticket y tu no tienes que cumplir con los requisitos de reserva. diff --git a/@l10n/es-ES/docs/concepts/consensus-protocol/fee-voting.md b/@l10n/es-ES/docs/concepts/consensus-protocol/fee-voting.md index 30488760a9..faab408406 100644 --- a/@l10n/es-ES/docs/concepts/consensus-protocol/fee-voting.md +++ b/@l10n/es-ES/docs/concepts/consensus-protocol/fee-voting.md @@ -20,8 +20,10 @@ Los parámetros que puedes configurar son los siguientes: | Parámetro | Descripción | Valor recomendado | |-----------|-------------|-------------------| | `reference_fee` | Cantidad de XRP, en _drops_ (1 XRP = 1 millón de drops.), que debe ser destruido para enviar la transacción de referencia, la transacción más barata posible. El coste de una transacción real es un múltiplo de ese valor, escalado dinámicamente basado en la carga de de los servidores individuales. | `10` (0.00001 XRP) | -| `account_reserve` | Cantidad mínima de XRP, en _drops_, que una cuenta debe tener en reserva. Esta es la cantidad más pequeña que se puede enviar para financiar una nueva cuenta en el ledger. | `10000000` (10 XRP) | -| `owner_reserve` | XRP de más, en _drops_, que se debe poseer en una dirección por _cada_ objeto que posees en el ledger. | `2000000` (2 XRP) | +| `account_reserve` | Cantidad mínima de XRP, en _drops_, que una cuenta debe tener en reserva. Esta es la cantidad más pequeña que se puede enviar para financiar una nueva cuenta en el ledger. | `1000000` ({% $env.PUBLIC_BASE_RESERVE %}) | +| `owner_reserve` | XRP de más, en _drops_, que se debe poseer en una dirección por _cada_ objeto que posees en el ledger. | `200000` ({% $env.PUBLIC_OWNER_RESERVE %}) | + + ## Proceso de votación diff --git a/@l10n/es-ES/docs/concepts/networks-and-servers/peer-protocol.md b/@l10n/es-ES/docs/concepts/networks-and-servers/peer-protocol.md index 99f13eb38b..7abf05acb4 100644 --- a/@l10n/es-ES/docs/concepts/networks-and-servers/peer-protocol.md +++ b/@l10n/es-ES/docs/concepts/networks-and-servers/peer-protocol.md @@ -18,7 +18,7 @@ El protocolo de pares es el modo principal de comunicación entre servidores en - Solicitar datos de ledger de ledgers históricos, o proporcionar esos datos. - Proponer una conjunto de transacciones para el consenso, o compartir el resultado calculado de aplicar el conjunto de transacciones de consenso. -Para establecer una conexión peer-to-peer, un servidor se conecta a otro usando HTTPS y solicita una [actualización HTTP](https://tools.ietf.org/html/rfc7230#section-6.7) para cambiar al protocolo `XRPL/2.0` (anteriormente `RTXP/1.2`). (Para más información, consultar el artículo [Red de superposición](https://github.com/XRPLF/rippled/blob/96bbabbd2ece106779bb544aa0e4ce174e99fdf6/src/ripple/overlay/README.md#handshake) en el [repositorio `rippled`](https://github.com/ripple/rippled).) +Para establecer una conexión peer-to-peer, un servidor se conecta a otro usando HTTPS y solicita una [actualización HTTP](https://tools.ietf.org/html/rfc7230#section-6.7) para cambiar al protocolo `XRPL/2.0` (anteriormente `RTXP/1.2`). (Para más información, consultar el artículo [Red de superposición](https://github.com/XRPLF/rippled/blob/96bbabbd2ece106779bb544aa0e4ce174e99fdf6/src/ripple/overlay/README.md#handshake) en el [repositorio `rippled`](https://github.com/XRPLF/rippled).) ## Descubrimiento de pares diff --git a/@l10n/ja/docs/concepts/accounts/reserves.md b/@l10n/ja/docs/concepts/accounts/reserves.md index 1a20588c5f..f1f914d5ee 100644 --- a/@l10n/ja/docs/concepts/accounts/reserves.md +++ b/@l10n/ja/docs/concepts/accounts/reserves.md @@ -25,8 +25,8 @@ XRP Ledgerでは、スパムや悪意のある使用によって、共有グロ メインネットにおける現在の準備金要件は次の通りです。 -- 基本準備金 **10 XRP** -- 所有者準備金 アイテムにつき**2 XRP** +- 基本準備金 **{% $env.PUBLIC_BASE_RESERVE %}** +- 所有者準備金 アイテムにつき **{% $env.PUBLIC_OWNER_RESERVE %}** 他のネットワークでの準備金は異なる場合があります。 diff --git a/@l10n/ja/docs/concepts/accounts/tickets.md b/@l10n/ja/docs/concepts/accounts/tickets.md index 340de6188f..0c182ec656 100644 --- a/@l10n/ja/docs/concepts/accounts/tickets.md +++ b/@l10n/ja/docs/concepts/accounts/tickets.md @@ -28,7 +28,7 @@ XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引 ## チケットは予約済みのシーケンス番号 -チケットとは、あるシーケンス番号が後に使用されるために確保されたという記録です。アカウントは、まず[TicketCreate トランザクション][]を送信して、1つまたは複数のシーケンス番号をチケットとして確保します。これにより、[台帳の状態データ](../ledgers/index.md)に、予約された各シーケンス番号について[Ticket オブジェクト][]の形で記録が残されます。 +チケットとは、あるシーケンス番号が後に使用されるために確保されたという記録です。アカウントは、まず[TicketCreateトランザクション][]を送信して、1つまたは複数のシーケンス番号をチケットとして確保します。これにより、[台帳の状態データ](../ledgers/index.md)に、予約された各シーケンス番号について[Ticketオブジェクト][]の形で記録が残されます。 チケットには、チケット作成時に設定されたシーケンス番号が使用されます。例えば、あなたのアカウントの現在のシーケンス番号が101で、3枚のチケットを作成した場合、それらのチケットにはチケットシーケンス番号102、103、104が付けられます。これにより、あなたのアカウントのシーケンス番号は105になります。 @@ -44,7 +44,7 @@ XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引 シーケンス番号と同様に、トランザクションの送信は、そのトランザクションが[コンセンサス](../consensus-protocol/index.md)によって確認された場合にのみ、チケットを使用します。しかし、意図した通りにならなかった取引でも、[`tec`クラスの結果コード](../../references/protocol/transactions/transaction-results/tec-codes.md)を用いてコンセンサスで確認することができます。 -あるアカウントで利用可能なチケットを調べるには、[account_objects メソッド][]を使用します。 +あるアカウントで利用可能なチケットを調べるには、[account_objectsメソッド][]を使用します。 ## 制約事項 @@ -65,9 +65,9 @@ XRP Ledgerのチケットは、取引をすぐに送信せずに、その取引 - **Tutorials:** - [チケットを使用する](../../tutorials/how-tos/manage-account-settings/use-tickets.md) - **References:** - - [TicketCreate トランザクション][] + - [TicketCreateトランザクション][] - [トランザクションの共通フィールド](../../references/protocol/transactions/common-fields.md) - [Ticket オブジェクト](../../references/protocol/ledger-data/ledger-entry-types/ticket.md) - - [account_objects メソッド][] + - [account_objectsメソッド][] {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/concepts/consensus-protocol/fee-voting.md b/@l10n/ja/docs/concepts/consensus-protocol/fee-voting.md index 333048d6e9..e1041823f4 100644 --- a/@l10n/ja/docs/concepts/consensus-protocol/fee-voting.md +++ b/@l10n/ja/docs/concepts/consensus-protocol/fee-voting.md @@ -15,11 +15,13 @@ labels: 設定できるパラメーターは次の通りです。 -| パラメータ | 説明 | 推奨される値 | -| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | -| `reference_fee` | **リファレンストランザクションのコスト**。これは、リファレンストランザクション(最も安価なトランザクション)を送信するためにバーンしなければならないXRPの量(1 XRP = 100万ドロップ)です。実際のトランザクションコストは、個々のサーバの負荷に応じて動的に調整される、この値の倍数です。 | `10` (0.00001 XRP) | -| `account_reserve` | **基本アカウント準備金**。これは、アカウントが保持しなければならないXRPの量(1 XRP = 100万ドロップ)です。これは、新しいアカウントを作成するための最小要件でもあります。 | `10000000` (10 XRP) | -| `owner_reserve` | **所有者準備金の増加量**。これは、アカウントがレジャー内で所有する各オブジェクトに対して保持しなければならないXRPの量(1 XRP = 100万ドロップ)です。 | `2000000` (2 XRP) | +| パラメーター | 説明 | 推奨される値 | +|-------------------|-------------|-------------------| +| `reference_fee` | **リファレンストランザクションのコスト**。これは、リファレンストランザクション(最も安価なトランザクション)を送信するためにバーンしなければならないXRPの量(1 XRP = 100万ドロップ)です。実際のトランザクションコストは、個々のサーバの負荷に応じて動的に調整される、この値の倍数です。 | `10` (0.000010 XRP) | +| `account_reserve` | **基本アカウント準備金**。これは、アカウントが保持しなければならないXRPの量(1 XRP = 100万ドロップ)です。これは、新しいアカウントを作成するための最小要件でもあります。 | `1000000` ({% $env.PUBLIC_BASE_RESERVE %}) | +| `owner_reserve` | **所有者準備金の増加量**。これは、アカウントがレジャー内で所有する各オブジェクトに対して保持しなければならないXRPの量(1 XRP = 100万ドロップ)です。 | `200000` ({% $env.PUBLIC_OWNER_RESERVE %}) | + + ## 注意事項 diff --git a/@l10n/ja/docs/concepts/consensus-protocol/negative-unl.md b/@l10n/ja/docs/concepts/consensus-protocol/negative-unl.md index 0f4c02655f..5ed1d77550 100644 --- a/@l10n/ja/docs/concepts/consensus-protocol/negative-unl.md +++ b/@l10n/ja/docs/concepts/consensus-protocol/negative-unl.md @@ -171,7 +171,7 @@ Vaは、サーバ側のコンセンサス見解と一致した過去2 - **リファレンス:** - [negativeUNL オブジェクト](../../references/protocol/ledger-data/ledger-entry-types/negativeunl.md) - [UNLModify pseudo-transaction][] - - [ledger_entry メソッド][] - - [consensus_info メソッド][] + - [ledger_entryメソッド][] + - [consensus_infoメソッド][] {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/concepts/networks-and-servers/peer-protocol.md b/@l10n/ja/docs/concepts/networks-and-servers/peer-protocol.md index 163e5bf490..1556c000ed 100644 --- a/@l10n/ja/docs/concepts/networks-and-servers/peer-protocol.md +++ b/@l10n/ja/docs/concepts/networks-and-servers/peer-protocol.md @@ -18,7 +18,7 @@ XRP Ledgerのサーバは、XRP Ledgerピアプロトコル(RTXP)を使用 - 履歴レジャーへのレジャーデータのリクエスト、またはレジャーデータの提供。 - コンセンサスのための一連のトランザクションの提示、またはコンセンサストランザクションセットの適用に関する算出結果の共有。 -ピアツーピア接続を確立するには、サーバどうしをHTTPSで接続し、一方のサーバはRTXPへの切り替えのために[HTTPアップグレード](https://tools.ietf.org/html/rfc7230#section-6.7)をリクエストします。(詳細は、[`rippled`リポジトリ](https://github.com/ripple/rippled)の[Overlay Network](https://github.com/XRPLF/rippled/blob/906ef761bab95f80b0a7e0cab3b4c594b226cf57/src/ripple/overlay/README.md#handshake)をご覧ください。) +ピアツーピア接続を確立するには、サーバどうしをHTTPSで接続し、一方のサーバはRTXPへの切り替えのために[HTTPアップグレード](https://tools.ietf.org/html/rfc7230#section-6.7)をリクエストします。(詳細は、[`rippled`リポジトリ](https://github.com/XRPLF/rippled)の[Overlay Network](https://github.com/XRPLF/rippled/blob/906ef761bab95f80b0a7e0cab3b4c594b226cf57/src/ripple/overlay/README.md#handshake)をご覧ください。) ## ピアの検出 diff --git a/@l10n/ja/docs/concepts/payment-types/partial-payments.md b/@l10n/ja/docs/concepts/payment-types/partial-payments.md index f4f3bdfb3c..2c97b29ab2 100644 --- a/@l10n/ja/docs/concepts/payment-types/partial-payments.md +++ b/@l10n/ja/docs/concepts/payment-types/partial-payments.md @@ -9,6 +9,8 @@ labels: --- # Partial Payment +{% admonition type="warning" name="警告" %}このページでは、`Payment`トランザクションおよび各種APIメソッドに表示される`Amount`フィールドの詳細について説明します。`Amount`とPartial Paymentに関するコンテキスト情報は依然として関連性がありますが、`rippled` [API v2](../../references/http-websocket-apis/index.md)においてフィールド名が`DeliverMax`に変更されました。これは、フィールド名をその動作に特化させ、以下に説明する誤解や悪用を防ぐためです。{% /admonition %} + デフォルトのケースでは、XRP Ledgerの[Paymentトランザクション][]の`Amount`フィールドに、為替レートと[送金手数料](../tokens/transfer-fees.md)を差し引いた実際の送金額が指定されます。「Partial Payment」フラグ([**tfPartialPayment**](../../references/protocol/transactions/types/payment.md#paymentのフラグ))を使うと、送金額を増額する代わりに受取金額を減額して、支払を正常に実行できます。Partial Paymentは、追加コストなしで[支払を返金](bouncing-payments.md)したい場合に便利です。 [トランザクションコスト](../transactions/transaction-cost.md)に使用されるXRPの額は、トランザクションタイプに関わらず常に送金元のアカウントから差し引かれます。 diff --git a/@l10n/ja/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md b/@l10n/ja/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md index 1c3f313bda..06b8dde509 100644 --- a/@l10n/ja/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md +++ b/@l10n/ja/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md @@ -100,6 +100,18 @@ LPトークンは、160ビットの16進法["非標準"フォーマット](../.. AMMは、流動性プロバイダに対して、保有するLPトークンの数に応じて、手数料に関する投票権を与えます。投票するには、流動性供給者が[AMMVote][]トランザクションを送信します。誰かが新しい票を入れるたびに、AMMは手数料を再計算し、直近の票の平均を、それらの投票者が保有するLPトークンの数で重み付けしたものにします。この方法では、最大8つの流動性供給者の投票がカウントされます。それ以上の流動性供給者が投票しようとすると、上位8つの投票(保有LPトークンの多い順)だけがカウントされます。流動性供給者のLPトークンのシェアは、様々な理由(例えば[オファー](offers.md)を使ったトークンの取引)で急速に変化しますが、取引手数料は誰かが新しい票を入れるたびに再計算されます(その票がトップ8に入っていない場合でも計算されます)。 +{% admonition type="info" name="注記" %} + +_AMMの取引手数料(Trading Fees)_ と _トークンの送金手数料(Transfer Fees)_ は異なるものです。 + +| 違い | AMMの取引手数料 | トークンの送金手数料 | +| ---------------------------- | ------------------------------------------ | -------------------------------- | +| 誰が手数料を設定する? | AMMの流動性提供者 | トークンの発行者 | +| 手数料が適用されるタイミング | AMMプールを利用した取引時 | トークンの送金時 | +| 手数料を回収できるか? | はい、流動性提供者がLPトークンを引き出す時 | いいえ、手数料はバーンされます。 | + +{% /admonition %} + ### オークションスロット XRP LedgerのAMMの設計には「オークションスロット」が含まれています。流動性プロバイダはLPトークンを落札に利用してオークションスロットを獲得し、24時間取引手数料の割引を受けることができます。落札に利用されたLPトークンはAMMに回収されます。 diff --git a/@l10n/ja/docs/concepts/tokens/decentralized-exchange/offers.md b/@l10n/ja/docs/concepts/tokens/decentralized-exchange/offers.md index 5a21c1378b..d1214f650b 100644 --- a/@l10n/ja/docs/concepts/tokens/decentralized-exchange/offers.md +++ b/@l10n/ja/docs/concepts/tokens/decentralized-exchange/offers.md @@ -17,7 +17,7 @@ XRP Ledgerの[分散型取引所](index.md)では、通貨の取引注文は「 ## オファーのライフサイクル -[OfferCreate トランザクション][]は、2つのトークン、またはトークンとXRPの間で取引を行なうための命令です。それぞれのトランザクションは購入額(`TakerPays`)と売却額(`TakerGets`)を含みます。トランザクションが処理されると、自動的に約定またはクロスするオファーが可能な限り約定されます。その結果、新しいオファーを完全に約定しきれない場合、残りは台帳上のOfferオブジェクトとなります。 +[OfferCreateトランザクション][]は、2つのトークン、またはトークンとXRPの間で取引を行なうための命令です。それぞれのトランザクションは購入額(`TakerPays`)と売却額(`TakerGets`)を含みます。トランザクションが処理されると、自動的に約定またはクロスするオファーが可能な限り約定されます。その結果、新しいオファーを完全に約定しきれない場合、残りは台帳上のOfferオブジェクトとなります。 Offerオブジェクトは、他のオファーやクロスカレンシー決済で完全に約定されるまで、台帳に保存されます。オファーを作成したアカウントは、そのオファーの所有者と呼ばれます。自分が作成したオファーは、専用の[OfferCancelトランザクション][]、または[OfferCreateトランザクション][]のオプションとして、いつでもキャンセルすることが可能です。 diff --git a/@l10n/ja/docs/concepts/tokens/fungible-tokens/index.md b/@l10n/ja/docs/concepts/tokens/fungible-tokens/index.md index f4a9e3f3a2..47438fde4f 100644 --- a/@l10n/ja/docs/concepts/tokens/fungible-tokens/index.md +++ b/@l10n/ja/docs/concepts/tokens/fungible-tokens/index.md @@ -16,7 +16,7 @@ labels: トラストラインとは、XRP Ledgerにおける[トークン](../index.md)を保持するための仕組みを指します。トラストラインは、XRP Ledgerのルールである「不要なトークンを他者に保有させることはできない」という原則を強制するものです。この制限は、XRP Ledgerのユースケースである[コミュニティクレジット](../index.md#コミュニティクレジット)などを実現するために不可欠なものです。 -それぞれの「トラストライン」は、以下のような _双方向_ の関係から成り立っています。 +トラストラインは[RippleState](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate.md)オブジェクトとして定義されます。それぞれのトラストラインは、以下のような _双方向_ の関係から成り立っています。 - トラストラインが接続する **2つの[アカウント](../../accounts/index.md)** の識別子 - 一方のアカウントから見てプラス、他方のアカウントから見てマイナスとなる、単一の共有された**残高** diff --git a/@l10n/ja/docs/concepts/tokens/fungible-tokens/stablecoins/settings.md b/@l10n/ja/docs/concepts/tokens/fungible-tokens/stablecoins/settings.md index 241964cf6b..8519c73766 100644 --- a/@l10n/ja/docs/concepts/tokens/fungible-tokens/stablecoins/settings.md +++ b/@l10n/ja/docs/concepts/tokens/fungible-tokens/stablecoins/settings.md @@ -18,7 +18,7 @@ labels: ほとんどの実装では、"ウォーム"ウォレットとしてスタンバイアカウントを使用します。信頼できる人間のオペレータは、スタンバイアカウントを使用してステーブルコインを運用アカウントに配布します。
- +
運用アカウント、または「ホット」ウォレットは、XRPL上で他のアカウントと取引します。自動化されたインターネット接続システムは、これらのアドレスの秘密鍵を使用して、顧客やパートナーへの送金などの日常業務を行います。 diff --git a/@l10n/ja/docs/concepts/tokens/nfts/index.md b/@l10n/ja/docs/concepts/tokens/nfts/index.md index ba3142de91..25f551efe3 100644 --- a/@l10n/ja/docs/concepts/tokens/nfts/index.md +++ b/@l10n/ja/docs/concepts/tokens/nfts/index.md @@ -33,9 +33,9 @@ XRP Ledgerでは、容量を節約するために、一つのアカウントで ## `NFToken`のライフサイクル -誰もが[NFTokenMint トランザクション][]を使って新しい`NFToken`を作成することができます。`NFToken`は発行者アカウントの[NFTokenPage オブジェクト][]に格納されます。所有者または利害関係者は[NFTokenCreateOffer トランザクション][]を送信して`NFToken`の売買を提案できます。レジャーは提案された転送を[NFTokenOffer オブジェクト][]として追跡し、一方が承諾またはキャンセルすると`NFTokenOffer`を削除します。`NFToken`が転送可能であれば、アカウント間で複数回取引することができます。 +誰もが[NFTokenMintトランザクション][]を使って新しい`NFToken`を作成することができます。`NFToken`は発行者アカウントの[NFTokenPageオブジェクト][]に格納されます。所有者または利害関係者は[NFTokenCreateOfferトランザクション][]を送信して`NFToken`の売買を提案できます。レジャーは提案された転送を[NFTokenOfferオブジェクト][]として追跡し、一方が承諾またはキャンセルすると`NFTokenOffer`を削除します。`NFToken`が転送可能であれば、アカウント間で複数回取引することができます。 -[NFTokenBurn トランザクション][]を使用して、自分が所有する`NFToken`を破棄することができます。発行者が`tfBurnable`フラグを有効にしてトークンを発行した場合、発行者は現在の所有者に関係なくトークンを破棄することが可能です。(例えば、あるイベントのチケットを表すトークンである場合、そのチケットをある時点で消費するといった場合に便利です)。 +[NFTokenBurnトランザクション][]を使用して、自分が所有する`NFToken`を破棄することができます。発行者が`tfBurnable`フラグを有効にしてトークンを発行した場合、発行者は現在の所有者に関係なくトークンを破棄することが可能です。(例えば、あるイベントのチケットを表すトークンである場合、そのチケットをある時点で消費するといった場合に便利です)。 ![The NFT Lifecycle](/docs/img/nft-lifecycle.png "NFT Lifecycle Image") diff --git a/@l10n/ja/docs/concepts/tokens/nfts/reserve-requirements.md b/@l10n/ja/docs/concepts/tokens/nfts/reserve-requirements.md index fbb700ae5a..143c29b473 100644 --- a/@l10n/ja/docs/concepts/tokens/nfts/reserve-requirements.md +++ b/@l10n/ja/docs/concepts/tokens/nfts/reserve-requirements.md @@ -29,10 +29,12 @@ NFTの保有枚数や保有ページ数によって、所有者準備金の総 | NFTの保有数 | 最良のケース | 標準的なケース | 最悪のケース | |:------------|:----------|:-------------|:-----------| -| 32以下 | 2 XRP | 2 XRP | 2 XRP | -| 50 | 4 XRP | 6 XRP | 8 XRP | -| 200 | 14 XRP | 18 XRP | 26 XRP | -| 1000 | 64 XRP | 84 XRP | 126 XRP | +| 32以下 | 0.2 XRP | 0.2 XRP | 0.2 XRP | +| 50 | 0.4 XRP | 0.6 XRP | 0.8 XRP | +| 200 | 1.4 XRP | 1.8 XRP | 2.6 XRP | +| 1000 | 6.4 XRP | 8.4 XRP | 12.6 XRP | + + ## `NFTokenOffer`の準備金 @@ -46,11 +48,10 @@ NFTをミントし、保有し、売買のオファーをする場合、必要 | 準備金の種類 | 準備金の額 | |:--------------------|--------:| -| 基本 | 10 XRP | -| NFTokenページ | 2 XRP | -| NFTokenオファー | 2 XRP | -| 合計 | 14 XRP | -| | | +| 基本 | {% $env.PUBLIC_BASE_RESERVE %} | +| NFTokenページ | {% $env.PUBLIC_OWNER_RESERVE %} | +| NFTokenオファー | {% $env.PUBLIC_OWNER_RESERVE % | +| 合計 | 1.4 XRP | {% admonition type="info" name="注記" %}準備金要件ではありませんが、ミントと売却のプロセスにおけるトランザクションの些細な手数料(通常12drops、または.000012XRP)を負担するために、少なくとも必要準備金より1XRPより多く用意しておきくべきです。{% /admonition %} @@ -58,10 +59,9 @@ NFTをミントし、保有し、売買のオファーをする場合、必要 | 準備金の種類 | 準備金の額 | |:--------------------|--------:| -| 基本 | 10 XRP | -| NFTokenページ | 26 XRP | -| NFTokenオファー | 400 XRP | -| 合計 | 436 XRP | -| | | +| 基本 | {% $env.PUBLIC_BASE_RESERVE %} | +| NFTokenページ | 2.6 XRP | +| NFTokenオファー | 40 XRP | +| 合計 | 43.6 XRP | 必要準備金の額が余裕を持って確保できる額を超える場合は、オンデマンドミントモデルを使用して、一度に保有するNFTとオファーの数を減らすことを検討してください。[オンデマンドMint](batch-minting.md#オンデマンドmint-遅延minting)をご覧ください。 diff --git a/@l10n/ja/docs/concepts/transactions/transaction-queue.md b/@l10n/ja/docs/concepts/transactions/transaction-queue.md index a2894cc46a..85b780c510 100644 --- a/@l10n/ja/docs/concepts/transactions/transaction-queue.md +++ b/@l10n/ja/docs/concepts/transactions/transaction-queue.md @@ -40,7 +40,7 @@ labels: - `AccountTxnID`フィールドが指定されているトランザクションはキューに入れることができません。 - 1つの送信側アドレスには、同時に最大10個のトランザクションを入れることができます。 - トランザクションをキューに入れるには、送信者が以下のすべてを行うのに十分なXRPを保有している必要があります。{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.2.0" %}更新: rippled 1.2.0{% /badge %} - - キュー内のすべての送信者のトランザクションの`Fee`フィールドに指定されているXRP[トランザクションコスト](transaction-cost.md)の消却。キュー内のトランザクションの合計額は、アカウントの基本準備金(現時点では10 XRP)を超えることはできません。(トランザクションコストの支払いが最小額の0.00001 XRPを大幅に上回るトランザクションは、キューをスキップし、オープンレジャーに直接追加されます。) + - キュー内のすべての送信者のトランザクションの`Fee`フィールドに指定されているXRP[トランザクションコスト](transaction-cost.md)の消却。キュー内のトランザクションの合計額は、アカウントの基本準備金(現時点では{% $env.PUBLIC_BASE_RESERVE %})を超えることはできません。(トランザクションコストの支払いが最小額の0.00001 XRPを大幅に上回るトランザクションは、キューをスキップし、オープンレジャーに直接追加されます。) - キュー内のすべての送信者のトランザクションの送金を可能とするXRPの最大合計額の送信。 - アカウントの[必要準備金](../accounts/reserves.md)を確保するのに十分なXRPの保有。 - あるトランザクションが、送信側アドレスがトランザクションを承認する方法に影響する場合、同じアドレスからの他のトランザクションをそのトランザクションの後にキューに入れることはできません。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} diff --git a/@l10n/ja/docs/infrastructure/configuration/configure-amendment-voting.md b/@l10n/ja/docs/infrastructure/configuration/configure-amendment-voting.md index 1339039b57..11cab493c2 100644 --- a/@l10n/ja/docs/infrastructure/configuration/configure-amendment-voting.md +++ b/@l10n/ja/docs/infrastructure/configuration/configure-amendment-voting.md @@ -9,7 +9,7 @@ labels: --- # Amendment投票機能の設定 -バリデータとして設定されたサーバは、[feature メソッド][]を使ってXRP Ledgerプロトコルの[Amendment](../../concepts/networks-and-servers/amendments.md)に投票することができます。(この方法には[管理者アクセス](../../tutorials/http-websocket-apis/build-apps/get-started.md#管理者アクセス権限)が必要です). +バリデータとして設定されたサーバは、[featureメソッド][]を使ってXRP Ledgerプロトコルの[Amendment](../../concepts/networks-and-servers/amendments.md)に投票することができます。(この方法には[管理者アクセス](../../tutorials/http-websocket-apis/build-apps/get-started.md#管理者アクセス権限)が必要です). 例えば、「SHAMapV2」Amendmentに反対票を投じるには、以下のコマンドを実行します。 @@ -67,6 +67,6 @@ rippled feature SHAMapV2 reject - [Amendment](../../concepts/networks-and-servers/amendments.md) - [既知のAmendment](/resources/known-amendments.md) -- [feature メソッド][] +- [featureメソッド][] {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/infrastructure/configuration/connect-your-rippled-to-the-xrp-test-net.md b/@l10n/ja/docs/infrastructure/configuration/connect-your-rippled-to-the-xrp-test-net.md index f33614ed00..440433a503 100644 --- a/@l10n/ja/docs/infrastructure/configuration/connect-your-rippled-to-the-xrp-test-net.md +++ b/@l10n/ja/docs/infrastructure/configuration/connect-your-rippled-to-the-xrp-test-net.md @@ -110,7 +110,7 @@ labels: https://vl.devnet.rippletest.net [validator_list_keys] - EDDF2F53DFEC79358F7BE76BC884AC31048CFF6E2A00C628EAE06DB7750A247B12 + EDBB54B0D9AEE071BB37784AF5A9E7CC49AC7A0EFCE868C54532BCB966B9CFC13B ``` ```{% label="Mainnet" %} diff --git a/@l10n/ja/docs/infrastructure/configuration/data-retention/online-deletion.md b/@l10n/ja/docs/infrastructure/configuration/data-retention/online-deletion.md index 1a70cf987b..4cc043aac7 100644 --- a/@l10n/ja/docs/infrastructure/configuration/data-retention/online-deletion.md +++ b/@l10n/ja/docs/infrastructure/configuration/data-retention/online-deletion.md @@ -8,7 +8,7 @@ labels: - コアサーバ --- # オンライン削除 -[[ソース]
](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/misc/SHAMapStoreImp.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/misc/SHAMapStoreImp.cpp "Source") オンライン削除機能により、`rippled`サーバはレジャーの古いバージョンのローカルコピーを削除できます。これにより、時間とともにディスク使用量が急増しないようにできます。デフォルトの構成ファイルにはオンライン削除の自動実行が設定されていますが、指示があった場合にのみオンライン削除を実行するようにも設定できます。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.27.0" %}新規: rippled 0.27.0{% /badge %} diff --git a/@l10n/ja/docs/infrastructure/installation/capacity-planning.md b/@l10n/ja/docs/infrastructure/installation/capacity-planning.md index 91445a80e1..6da47b480a 100644 --- a/@l10n/ja/docs/infrastructure/installation/capacity-planning.md +++ b/@l10n/ja/docs/infrastructure/installation/capacity-planning.md @@ -209,8 +209,8 @@ AWSインスタンスストア(`ephemeral`ストレージ)では適切なパ - **リファレンス:** - [rippled APIリファレンス](../../references/http-websocket-apis/index.md) - [`rippled`コマンドラインの使用](../commandline-usage.md) - - [logrotate メソッド][] - サーバのデバッグログを閉じたり再開したりして、標準的なツールでローテーション可能にします。 - - [server_info メソッド][] - 同期の状態や、ディスク上で利用可能なレジャー履歴のバージョン数など、サーバに関する一般的な情報を取得します。 - - [get_counts メソッド][] - 追加のサーバの正常情報、特にRAM内に様々な種類のオブジェクトをいくつ保持しているかを取得します。 + - [logrotateメソッド][] - サーバのデバッグログを閉じたり再開したりして、標準的なツールでローテーション可能にします。 + - [server_infoメソッド][] - 同期の状態や、ディスク上で利用可能なレジャー履歴のバージョン数など、サーバに関する一般的な情報を取得します。 + - [get_countsメソッド][] - 追加のサーバの正常情報、特にRAM内に様々な種類のオブジェクトをいくつ保持しているかを取得します。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/infrastructure/troubleshooting/server-wont-start.md b/@l10n/ja/docs/infrastructure/troubleshooting/server-wont-start.md index 50d4846ce5..8cad238be2 100644 --- a/@l10n/ja/docs/infrastructure/troubleshooting/server-wont-start.md +++ b/@l10n/ja/docs/infrastructure/troubleshooting/server-wont-start.md @@ -68,7 +68,7 @@ Aborted (core dumped) - `rippled`ユーザが読み取ることができる構成ファイルを`$HOME/.config/ripple/rippled.cfg`に作成します(`$HOME`は`rippled`ユーザのホームディレクトリを指しています)。 - {% admonition type="success" name="ヒント" %}`rippled`リポジトリには、RPMのインストール時にデフォルトの構成として提供される[`rippled.cfg`サンプルファイル](https://github.com/XRPLF/rippled/blob/master/cfg/rippled-example.cfg)が含まれています。このファイルがない場合は、上記のリンク先からコピーできます。{% /admonition %} + {% admonition type="success" name="ヒント" %}`rippled`リポジトリには、パケージのインストール時にデフォルトの構成として提供される[`rippled.cfg`サンプルファイル](https://github.com/XRPLF/rippled/blob/master/cfg/rippled-example.cfg)が含まれています。このファイルがない場合は、上記のリンク先からコピーできます。{% /admonition %} - `--conf`[コマンドラインオプション](../commandline-usage.md)を使用して、使用する構成ファイルのパスを指定します。 @@ -84,9 +84,9 @@ Aborted (core dumped) 考えられる解決策: -- `[validators.txt]`ファイルが存在し、`rippled`ユーザにこのファイルの読み取り権限があることを確認します。 +- `validators.txt`ファイルが存在し、`rippled`ユーザにこのファイルの読み取り権限があることを確認します。 - {% admonition type="success" name="ヒント" %}`rippled`リポジトリには、RPMのインストール時にデフォルトの構成として提供される[`validators.txt`サンプルファイル](https://github.com/XRPLF/rippled/blob/master/cfg/validators-example.txt)が含まれています。このファイルがない場合は、上記のリンク先からコピーできます。{% /admonition %} + {% admonition type="success" name="ヒント" %}`rippled`リポジトリには、パケージのインストール時にデフォルトの構成として提供される[`validators.txt`サンプルファイル](https://github.com/XRPLF/rippled/blob/master/cfg/validators-example.txt)が含まれています。このファイルがない場合は、上記のリンク先からコピーできます。{% /admonition %} - `rippled.cfg`ファイルを編集し、`[validators_file]`設定を変更して、`validators.txt`ファイル(またはこれに相当するファイル)の正しいパスを指定します。ファイル名の前後に余分な空白があるかどうかを確認します。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md b/@l10n/ja/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md index 29f4bd4483..e6d5cca56b 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md +++ b/@l10n/ja/docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md @@ -25,12 +25,13 @@ labels: ```json { "id": 2, + "api_version": 2, "command": "sign", "tx_json" : { "TransactionType" : "Payment", "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Amount" : { + "DeliverMax" : { "currency" : "USD", "value" : "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" @@ -50,10 +51,11 @@ labels: "params": [ { "offline": false, + "api_version": 2, "secret": "s████████████████████████████", "tx_json": { "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { + "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" @@ -71,7 +73,7 @@ labels: {% tab label="コマンドライン" %} ```sh #Syntax: sign secret tx_json [offline] -rippled sign s████████████████████████████ '{"TransactionType": "Payment", "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "Amount": { "currency": "USD", "value": "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" }, "Sequence": 360, "Fee": "10000"}' offline +rippled sign s████████████████████████████ '{"TransactionType": "Payment", "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "DeliverMax": { "currency": "USD", "value": "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" }, "Sequence": 360, "Fee": "10000"}' offline ``` {% /tab %} @@ -119,13 +121,14 @@ rippled sign s██████████████████████ ```json { "id": 2, + "api_version": 2, "status": "success", "type": "response", "result": { "tx_blob": "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7446304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F858081144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", "tx_json": { "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { + "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" @@ -154,7 +157,7 @@ rippled sign s██████████████████████ "tx_blob": "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7446304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F858081144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", "tx_json": { "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { + "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" @@ -184,7 +187,7 @@ Connecting to 127.0.0.1:5005 "tx_blob" : "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7447304502210094D24C795CFFA8E46FE338AF63421DA5CE5E171ED56F8E4CE70FFABA15D3CFA2022063994C52BF0393C8157EBFFCDE6A7E7EDC7B16A462CA53214F64CC8FCBB5E54A81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", "tx_json" : { "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount" : { + "DeliverMax" : { "currency" : "USD", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value" : "1" diff --git a/@l10n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md b/@l10n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md index aa84096b9d..ec21988976 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md +++ b/@l10n/ja/docs/references/http-websocket-apis/api-conventions/request-formatting.md @@ -99,42 +99,4 @@ APIのメソッド名は、通常の(ダッシュで始まる)コマンドライ {% admonition type="warning" name="注意" %}コマンドラインインターフェイスは管理目的でのみ使用することを意図しており、_サポートされているAPIではありません_です。新しいバージョンの`rippled`では、警告なしにコマンドラインAPIに破壊的な変更が導入される可能性があります!{% /admonition %} - -## APIのバージョン管理 - -`rippled`サーバは、使用するAPIバージョンを識別するために単一の整数を使用します。現在、`1`と`2`{% badge href="https://github.com/XRPLF/rippled/releases/tag/2.0.0" %}新規: rippled 2.0.0{% /badge %}の2つのAPIバージョンがあります。サーバは`version`APIメソッドでサポートされるAPIバージョンの範囲を報告します。 - -それぞれのAPIバージョンは、破壊的な変更が導入されるときに新しいAPIバージョン番号を導入します。プレリリースやベータ、開発バージョンでは、同じAPIバージョン番号で破壊的な変更を導入することがあり、`account_tx`リクエストを使用してAPIバージョン2を使用し、同じ接続でAPIバージョン1を使用して別の`account_tx`リクエストを行うことができます。 - -将来の`rippled`のバージョンで破壊的な変更が導入されると、新しいAPIバージョン3が導入されます。 - - -### 破壊的変更 - -次の種類の変更は**破壊的変更**です。 - -- リクエストやレスポンスのフィールドの削除や名前の変更 -- リクエストやレスポンスのフィールドの型の変更 -- リクエストやレスポンスのフィールドの意味の変更 -- リクエストやレスポンスのフィールドの位置の変更、または他のリクエストやレスポンスのフィールドの前への新しいフィールドの追加 -- APIメソッドの削除や名前の変更 -- 既存のクライアントから確認できるAPI関数の動作の変更 -- 次の種類の変更は、gRPC APIにのみ適用されます。 - - `proto`フィールド番号の変更 - - 列挙型または列挙型値の削除または名前の変更 - - `oneof`からのフィールドの追加または削除 - - `oneof`の分割または統合 - - メッセージフィールドが`optional`、`repeated`、または`required`であるかの変更 - - リクエストまたはレスポンスのストリーム値の変更 - - パッケージまたはサービスの削除または名前の変更 - -フルリリースで破壊的変更が加えられると、新しいAPIバージョン番号が導入されます。プレリリース版、ベータ版、開発版では、同じAPIバージョン番号に変更を加えることがあります。 - -### 非破壊的変更 - -次の種類の変更は**非破壊的変更**であり、APIバージョン番号の変更なしに発生する可能性があります。 - -- パラメータの位置の変更を含まない、新しいフィールドの追加 -- 新しいAPIメソッドの追加 - {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/index.md b/@l10n/ja/docs/references/http-websocket-apis/index.md index a087c89a73..18291bf32a 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/index.md +++ b/@l10n/ja/docs/references/http-websocket-apis/index.md @@ -6,7 +6,60 @@ metadata: --- # HTTP / WebSocket API リファレンス -XRP Ledgerを管理するコアのピアツーピアサーバであるrippledと直接通信します。 +rippledサーバの公開APIを通じて、XRP Ledgerと通信することができます。 +現在、APIにはバージョン1とバージョン2の2種類があります{% badge href="https://github.com/XRPLF/rippled/releases/tag/2.0.0" %}新規: rippled 2.0.0{% /badge %}。 サーバは、[`version` APIメソッド](public-api-methods/server-info-methods/version.md)を通じてサポートされているAPIバージョンの範囲を通知します。APIリクエストで使用するバージョンを指定できます。 + +同じ持続的な接続で、異なるAPIリクエストで異なるAPIバージョンを使用できます。例えば、WebSocketを通じて、APIバージョン1と2をサポートするサーバに接続した場合、同じ接続からAPIバージョン2を使用して`account_tx`リクエストを行い、その後、APIバージョン1を使用してもう1つの`account_tx`リクエストを行うことができます。 + + +## デフォルトのAPIバージョン + +以下の表は、リクエストでAPIバージョンを指定しない場合に使用される`rippled` APIのバージョンを示しています。 + +| リクエスト方式 | APIバージョン | 追加の注意事項 | +|----------------|---------------|------------------| +| Websocket | 1 | | +| JSON-RPC | 1 | | +| Commandline | 2 | コマンドラインでは、最新のAPIバージョンのみが使用されます。 | +| [xrpl.js](https://github.com/XRPLF/xrpl.js) | 2 | v4.0.0以降では、[API v2][]がデフォルトで使用されます。 | +| [xrpl-py](https://github.com/XRPLF/xrpl-py) | 2 | v3.0.0以降では、[API v2][]がデフォルトで使用されます。 | + +{% admonition type="info" name="注記" %} +Clioは、[API v1][]をデフォルトで使用しますが、[API v2][]のリクエストもサポートしています。 +{% /admonition %} + +`rippled`の将来のバージョンでは、破壊的な変更を導入すると、APIバージョン3が導入されます。 + +### 破壊的な変更 + +以下のタイプの変更は、**破壊的な変更**です。 + +- リクエストまたはレスポンスのフィールドを削除または変更する。 +- リクエストまたはレスポンスのフィールドの型を変更する。 +- リクエストまたはレスポンスのフィールドの意味を変更する。 +- 位置パラメータの順序を変更する、または他の位置パラメータの前に新しいフィールドを追加する。 +- APIメソッドを削除または変更する。 +- 既存のクライアントからアクセス可能なAPI関数の動作を変更する。 +- 以下のタイプの破壊的な変更は、gRPC APIにのみ適用されます。 + - `proto`フィールド番号を変更する。 + - 列挙型または列挙型の値を削除または変更する。 + - `oneof`にフィールドを追加または削除する。 + - `oneof`を分割またはマージする。 + - メッセージフィールドが`optional`、`repeated`、または`required`であるかどうかを変更する。 + - リクエストまたはレスポンスのストリーム値を変更する。 + - パッケージまたはサービスを削除または変更する。 + +いずれかのリリースで破壊的な変更が導入されると、新しいAPIバージョン番号が導入されます。プレリリース、ベータ、開発バージョンは、同じAPIバージョン番号に対して破壊的な変更を導入する場合があります。 + +### 非破壊的な変更 + +以下のタイプの変更は、**非破壊的な変更**です。APIバージョン番号の変更なしに発生する可能性があります。 + +- リクエストまたはレスポンスに新しいフィールドを追加する(位置パラメータを除く)。 +- APIメソッドを追加する。 + +{% raw-partial file="/docs/_snippets/common-links.md" /%} + {% child-pages /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md index 17fff9bb1c..f2e4befc2d 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md @@ -52,7 +52,7 @@ rippled account_channels rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn ra5nK24KXen9AHvsdFTK {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#account_channels) +{% try-it method="account_channels" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md index 172ad0cd7b..3ccbd9834f 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md @@ -45,7 +45,7 @@ labels: {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#account_currencies) +{% try-it method="account_currencies" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md index 8d354d2e31..c841053b14 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md @@ -54,7 +54,7 @@ rippled account_info rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn validated {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#account_info) +{% try-it method="account_info" /%} リクエストには以下のパラメーターが含まれます。 @@ -253,7 +253,7 @@ rippled account_info rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn validated ## 考えられるエラー * いずれかの[汎用エラータイプ][]。 -* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。例えば、リクエストで`queue`を`true`と指定したが、現在開いているレジャーではない`ledger_index`を指定した場合です。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。例えば、リクエストで`queue`を`true`と指定したが、現在開いているレジャーではない`ledger_index`を指定した場合です。[API v1][]では、`signer_lists`に非真偽値を指定した場合にこのエラーが発生します。 * `actNotFound` - リクエストの`account`フィールドに指定したアドレスが、レジャー内のアカウントに対応していません。 * `lgrNotFound` - `ledger_hash`または`ledger_index`で指定したレジャーが存在しないか、存在してはいるもののサーバが保有していません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md index a4f30f1280..798d14f36a 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md @@ -49,7 +49,7 @@ rippled account_lines r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#account_lines) +{% try-it method="account_lines" /%} リクエストには以下のパラメーターを指定できます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md index 3add8a5568..1244760607 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md @@ -44,7 +44,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました。)_ {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#account_nfts) +{% try-it method="account_nfts" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md index cd455fbc40..9209ee3a68 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md @@ -72,6 +72,8 @@ rippled account_objects r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 validated {% /tabs %} +{% try-it method="account_objects" /%} + リクエストには以下のパラメーターが含まれます。 | `Field` | 型 | 必須? | 説明 | diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md index 66342fdc37..db073cf73b 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md @@ -49,7 +49,7 @@ rippled account_offers r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 current {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#account_offers) +{% try-it method="account_offers" /%} リクエストには以下のパラメーターを指定できます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md index a07f90161b..8c04c22600 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md @@ -28,7 +28,8 @@ labels: "ledger_index_max": -1, "binary": false, "limit": 2, - "forward": false + "forward": false, + "api_version": 2 } ``` {% /tab %} @@ -44,7 +45,8 @@ labels: "forward": false, "ledger_index_max": -1, "ledger_index_min": -1, - "limit": 2 + "limit": 2, + "api_version": 2 } ] } @@ -61,25 +63,25 @@ rippled -- account_tx rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w -1 -1 2 0 binary descen {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#account_tx) +{% try-it method="account_tx" /%} リクエストには以下のパラメーターが含まれます。 -| `Field` | 型 | 説明 | -|:-------------------|:-------------------------------------------|:-----------| -| `account` | 文字列 | アカウントの一意のIDであり、最も一般的なアカウントのアドレスが使用されます。 | -| `tx_type` | 文字列 | _(省略可)_ **Clioのみ** "Clawback"、"AccountSet"、"AccountDelete "など、特定のタイプのトランザクションのみを返します。 See [Transaction Types](../../../../references//protocol/transactions/types/index.md#transaction-types). [新規: Clio v2.0](https://github.com/XRPLF/clio/releases/tag/2.0.0 "BADGE_BLUE") [AMMのサポート: Clio v2.1.0](https://github.com/XRPLF/clio/releases/tag/2.1.0 "BADGE_GREEN") | -| `ledger_index_min` | 整数 | [API v1][]: _(省略可能)_ 含めるトランザクションのレジャーのうち最古のものを指定するのに使用します。`-1`の値は、使用可能な検証済みレジャーのうち最古のバージョンを使用するよう、サーバに指示します。
[API v2][]: v1と同じですが、サーバが持つレジャーの範囲を超えて値を指定すると`lgrIdxMalformed`エラーを返します。 | -| `ledger_index_max` | 整数 | _(省略可能)_ 含めるトランザクションのレジャーのうち最新のものを指定するのに使用します。`-1`の値は、使用可能な検証済みレジャーのうち最新のバージョンを使用するよう、サーバに指示します。
[API v2][]: v1と同じですが、サーバが持つレジャーの範囲を超えて値を指定すると`lgrIdxMalformed`エラーを返します。 | -| `ledger_hash` | 文字列 | [API v1][]: _(省略可能)_ 単一のレジャーからのみトランザクションを検索するのに使用します。([レジャーの指定][]をご覧ください) | -| `ledger_index` | 文字列または符号なし整数 | _(省略可能)_ 単一のレジャーからのみトランザクションを検索するのに使用します。([レジャーの指定][]をご覧ください) | -| `binary` | ブール値 | [API v1][]: _(省略可能)_ デフォルトは`false`です。`true`に設定すると、JSONの代わりに16進文字列でトランザクションが返されます。
[API v2][]: v1と同じですが、 真偽値以外の値を指定すると`invalidParams`エラーを返します。 | -| `forward` | ブール値 | [API v1][]: _(省略可能)_ デフォルトは`false`です。`true`に設定すると、最も古いレジャーを先頭としてインデックスが付けられた値が返されます。そうしない場合、最新のレジャーを先頭として結果にインデックスが付けられます。(結果を示した各ページの中身は順序よく整理されていない場合がありますが、ページ全体としては順序付けされています。)
[API v2][]: v1と同じですが、 真偽値以外の値を指定すると`invalidParams`エラーを返します。 | -| `limit` | 整数 | _(省略可能)_ デフォルトは変化します。取得するトランザクションの数を制限します。サーバはこの値を受け入れる必要はありません。 | -| `marker` | [マーカー][] | 以前にページネーションされたレスポンスの値。そのレスポンスを停止した箇所からデータの取得を再開します。サーバが使用できるレジャーの範囲に変更があっても、この値は変わりません。 | +| `Field` | 型 | 説明 | +| :----------------- | :----------------------- | ---- | +| `account` | 文字列 | アカウントの一意のIDであり、最も一般的なアカウントのアドレスが使用されます。 | +| `tx_type` | 文字列 | _(省略可)_ **Clioのみ** "Clawback"、"AccountSet"、"AccountDelete "など、特定のタイプのトランザクションのみを返します。 See [Transaction Types](../../../../references//protocol/transactions/types/index.md#transaction-types). [新規: Clio v2.0](https://github.com/XRPLF/clio/releases/tag/2.0.0 "BADGE_BLUE") [AMMのサポート: Clio v2.1.0](https://github.com/XRPLF/clio/releases/tag/2.1.0 "BADGE_GREEN") | +| `ledger_index_min` | 整数 | _(省略可能)_ 含めるトランザクションのレジャーのうち最古のものを指定するのに使用します。`-1`の値は、使用可能な検証済みレジャーのうち最古のバージョンを使用するよう、サーバに指示します。 | +| `ledger_index_max` | 整数 | _(省略可能)_ 含めるトランザクションのレジャーのうち最新のものを指定するのに使用します。`-1`の値は、使用可能な検証済みレジャーのうち最新のバージョンを使用するよう、サーバに指示します。 | +| `ledger_hash` | 文字列 | _(省略可能)_ 単一のレジャーからのみトランザクションを検索するのに使用します。([レジャーの指定][]をご覧ください) | +| `ledger_index` | 文字列または符号なし整数 | _(省略可能)_ 単一のレジャーからのみトランザクションを検索するのに使用します。([レジャーの指定][]をご覧ください) | +| `binary` | ブール値 | _(省略可能)_ デフォルトは`false`です。`true`に設定すると、JSONの代わりに16進文字列でトランザクションが返されます。 | +| `forward` | ブール値 | _(省略可能)_ デフォルトは`false`です。`true`に設定すると、最も古いレジャーを先頭としてインデックスが付けられた値が返されます。そうしない場合、最新のレジャーを先頭として結果にインデックスが付けられます。(結果を示した各ページの中身は順序よく整理されていない場合がありますが、ページ全体としては順序付けされています。) | +| `limit` | 整数 | _(省略可能)_ デフォルトは変化します。取得するトランザクションの数を制限します。サーバはこの値を受け入れる必要はありません。 | +| `marker` | [マーカー][] | 以前にページネーションされたレスポンスの値。そのレスポンスを停止した箇所からデータの取得を再開します。サーバが使用できるレジャーの範囲に変更があっても、この値は変わりません。 | - リクエスト内で次の各フィールドのうち1つ以上を使用する必要があります: `ledger_index`、`ledger_hash`、`ledger_index_min`、または`ledger_index_max`。 -- [API v2]: `ledger_index` と `ledger_hash` のどちらかを指定した場合、`ledger_index_min` と `ledger_index_max` を含めると `invalidParams` エラーが返ります。 +- [API v2]: `ledger_index`と`ledger_hash`のどちらかを指定した場合、`ledger_index_min`と`ledger_index_max`を含めると`invalidParams`エラーが返ります。 ### 照会されたデータの繰り返し @@ -97,16 +99,10 @@ rippled -- account_tx rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w -1 -1 2 0 binary descen {% tab label="WebSocket" %} ```json { - "id": 2, "result": { - "account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "ledger_index_max": 57111999, - "ledger_index_min": 55886305, - "limit": 2, - "marker": { - "ledger": 57111981, - "seq": 16 - }, + "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "ledger_index_min": 32570, + "ledger_index_max": 91824401, "transactions": [ { "meta": { @@ -114,130 +110,151 @@ rippled -- account_tx rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w -1 -1 2 0 binary descen { "ModifiedNode": { "FinalFields": { - "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "Balance": "3732969177079", - "Flags": 131072, - "OwnerCount": 0, - "Sequence": 702817 + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "AccountTxnID": "932CC7E9BAC1F7B9FA5381679F293EEC0A646E5E7F2F6D14C85FEE2102F0E66C", + "Balance": "1086222646", + "Domain": "6D64756F31332E636F6D", + "EmailHash": "98B4375E1D753E5B91627516F6D70977", + "Flags": 9568256, + "MessageKey": "0000000000000000000000070000000300", + "OwnerCount": 17, + "RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ", + "Sequence": 393, + "TicketCount": 5, + "TransferRate": 4294967295 }, "LedgerEntryType": "AccountRoot", - "LedgerIndex": "140FA03FE8C39540CA8189BC7A7956795C712BC0A542C6409C041150703C8574", + "LedgerIndex": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", "PreviousFields": { - "Balance": "3713891690008" + "Balance": "1086222601" }, - "PreviousTxnID": "D58864C16344ADCC15995C7986CFC607CB693E88F84D2E019F0A35FB29749202", - "PreviousTxnLgrSeq": 57111994 + "PreviousTxnID": "7E50969CDEF8E12B1AD26E64B338935813624A4D1CDDC4C9457832524F0FF74C", + "PreviousTxnLgrSeq": 89353048 } }, { "ModifiedNode": { "FinalFields": { - "Account": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg", - "Balance": "40010160", - "Flags": 131072, + "Account": "rPJARH5nLWQisdmvDAbvzwS7N32Z1kusTZ", + "Balance": "55022190", + "Flags": 0, "OwnerCount": 0, - "Sequence": 466334 + "Sequence": 89113341 }, "LedgerEntryType": "AccountRoot", - "LedgerIndex": "CC20FEBEA6D2AF969EC46F2BD92684D9FBABC3F238E841B5E056FE4EBF4379A9", + "LedgerIndex": "C0363F86E070B70E7DA129736C3B05E509261C8668F61A7E958C4C10F17EAB90", "PreviousFields": { - "Balance": "19117497271", - "Sequence": 466333 + "Balance": "55022245", + "Sequence": 89113340 }, - "PreviousTxnID": "F6B8274D3D419A95A59681E5F55578084C395FF9051924360CA3EA745F5581E8", - "PreviousTxnLgrSeq": 57111993 + "PreviousTxnID": "60D0FE881F9B1457FB1711011C6E490C22532B1D495557D6488BE3A634167CEE", + "PreviousTxnLgrSeq": 90136515 } } ], - "TransactionIndex": 25, + "TransactionIndex": 2, "TransactionResult": "tesSUCCESS", - "delivered_amount": "19077487071" + "delivered_amount": "45" }, - "tx": { - "Account": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg", - "Amount": "19077487071", - "Destination": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "DestinationTag": 1, - "Fee": "40", - "Flags": 2147483648, - "LastLedgerSequence": 57112020, - "Sequence": 466333, - "SigningPubKey": "0381575032E254BF4D699C3D8D6EFDB63B3A71F97475C6F6885BC7DAEEE55D9A01", + "tx_json": { + "Account": "rPJARH5nLWQisdmvDAbvzwS7N32Z1kusTZ", + "DeliverMax": "45", + "Destination": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "DestinationTag": 316562, + "Fee": "10", + "Sequence": 89113340, + "SigningPubKey": "EDE21591E615E1D77C8C8A7F95372D001B3DF090AB47B99729CFCBC1E4E07D35F4", "TransactionType": "Payment", - "TxnSignature": "3045022100CFC5FD057C7C685C690637AD1E639E2642BBC00EFD8E06E3F6C72FA924BC99D40220317D0708E814F69F874D641B6732E37A53B1220B493B2B8390D9EF51E8062515", - "date": 649200260, - "hash": "46BF0B576677B0DEA2D94591424A57A2DE8E3D89383631E16F40D09A513C656C", - "inLedger": 57111998, - "ledger_index": 57111998 + "TxnSignature": "D229FEB6ED82367102AC12DE5045BE6D548CBB52E0CB8F037A23171910A6158FA3377F5118B6CEAFDB07D6D43F76FE29CC26BE1ACBC7A86C9D86E14043C66104", + "ledger_index": 90136515, + "date": 777284672 }, + "ledger_index": 90136515, + "hash": "894541402AC968C98C329A88D097170B14BF4DEB8B2A7DF377EE89DDD332E018", + "ledger_hash": "14110F60753176E1F6A71AA084B6AD8663CBB46193CCFCDFAC02561626AA6B75", + "close_time_iso": "2024-08-18T08:24:32Z", "validated": true - }, + } { "meta": { "AffectedNodes": [ { "ModifiedNode": { "FinalFields": { - "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "Balance": "3713891690008", - "Flags": 131072, - "OwnerCount": 0, - "Sequence": 702817 + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "AccountTxnID": "932CC7E9BAC1F7B9FA5381679F293EEC0A646E5E7F2F6D14C85FEE2102F0E66C", + "Balance": "1086222601", + "Domain": "6D64756F31332E636F6D", + "EmailHash": "98B4375E1D753E5B91627516F6D70977", + "Flags": 9568256, + "MessageKey": "0000000000000000000000070000000300", + "OwnerCount": 17, + "RegularKey": "rD9iJmieYHn8jTtPjwwkW2Wm9sVDvPXLoJ", + "Sequence": 393, + "TicketCount": 5, + "TransferRate": 4294967295 }, "LedgerEntryType": "AccountRoot", - "LedgerIndex": "140FA03FE8C39540CA8189BC7A7956795C712BC0A542C6409C041150703C8574", + "LedgerIndex": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8", "PreviousFields": { - "Balance": "3714441690048", - "Sequence": 702816 + "Balance": "1086222552" }, - "PreviousTxnID": "FDD5007913B39027BAF10B31144DBC1F7DC147528DF31FF048A06DC5D3108BD6", - "PreviousTxnLgrSeq": 57111981 + "PreviousTxnID": "EED9EB1880B951FAB3EE0DBBEB67B7ABEE3FA77F15782B6BD40342B3C23CFB75", + "PreviousTxnLgrSeq": 89343389 } }, { "ModifiedNode": { "FinalFields": { - "Account": "r9dU6Z7P2i7MrDi1VUZ7uyq6J77eg86YtB", - "Balance": "2629998983", + "Account": "rPSDqHdMPsnkmyUX4BvBkY8rycQYwrhUqw", + "Balance": "52611432", "Flags": 0, "OwnerCount": 0, - "Sequence": 10 + "Sequence": 89196186 }, "LedgerEntryType": "AccountRoot", - "LedgerIndex": "27B96FE681B33825CC95DA197358B30D3A1721F2125F2D76022D46B2418ABA0A", + "LedgerIndex": "20761D2C37004C70318F7A3C5A1C35817A90A0AE56485F6E3281FB2B3F05B0C9", "PreviousFields": { - "Balance": "2079998983" + "Balance": "52611491", + "Sequence": 89196185 }, - "PreviousTxnID": "44A47AC04C0C7237C32BE9A532B578D07641705D3A59DB9B3C5B6225001E39B7", - "PreviousTxnLgrSeq": 56613857 + "PreviousTxnID": "BAF86C2776C08407E0FAF42D374874E10430CB8C23AD464D9D9097EA326ABE92", + "PreviousTxnLgrSeq": 89353024 } } ], - "TransactionIndex": 16, + "TransactionIndex": 4, "TransactionResult": "tesSUCCESS", - "delivered_amount": "550000000" + "delivered_amount": "49" }, - "tx": { - "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "Amount": "550000000", - "Destination": "r9dU6Z7P2i7MrDi1VUZ7uyq6J77eg86YtB", - "Fee": "40", - "Flags": 2147483648, - "LastLedgerSequence": 57112016, - "Sequence": 702816, - "SigningPubKey": "020A46D8D02AC780C59853ACA309EAA92E7D8E02DD72A0B6AC315A7D18A6C3276A", + "tx_json": { + "Account": "rPSDqHdMPsnkmyUX4BvBkY8rycQYwrhUqw", + "DeliverMax": "49", + "Destination": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "DestinationTag": 342662134, + "Fee": "10", + "Sequence": 89196185, + "SigningPubKey": "ED7E4A2970ADFCCE93D59D469322745E98CBEB3D7D5388728B3BB2268E71F30B0F", "TransactionType": "Payment", - "TxnSignature": "3045022100D589029EF63F9E528F6100C7A36D26AFFF84085EC9AC16DA8E30E11F390D4E87022011466E0FE4A90B89142EE47E535545EEA4A2D65E0BD234DFB447721218B59C9B", - "date": 649200241, - "hash": "D58864C16344ADCC15995C7986CFC607CB693E88F84D2E019F0A35FB29749202", - "inLedger": 57111994, - "ledger_index": 57111994 + "TxnSignature": "8CE14FD18BD186694DED8C204C3FCC2A527CC24AD51C2E0B2B792D035C85D662BC1A1450A8DF04BBEC66821B362056311127C627056AC7779B385517FD3A9202", + "ledger_index": 89353048, + "date": 774249571 }, + "ledger_index": 89353048, + "hash": "7E50969CDEF8E12B1AD26E64B338935813624A4D1CDDC4C9457832524F0FF74C", + "ledger_hash": "ED54DA98F3E495C36C2B0D9A511565E04454A1F4503B9DEE3FD39301D7625865", + "close_time_iso": "2024-07-14T05:19:31Z", "validated": true } ], - "validated": true + "validated": true, + "marker": { + "ledger": 89353048, + "seq": 4 + }, + "limit": 2 }, + "api_version": 2, "status": "success", "type": "response" } @@ -246,149 +263,130 @@ rippled -- account_tx rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w -1 -1 2 0 binary descen {% tab label="JSON-RPC" %} ```json -200 OK { "result": { "account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "ledger_index_max": 57112019, - "ledger_index_min": 56248229, - "limit": 2, - "marker": { - "ledger": 57112007, - "seq": 13 - }, - "status": "success", - "transactions": [ - { - "meta": { - "AffectedNodes": [ - { - "ModifiedNode": { - "FinalFields": { - "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "Balance": "3732290013101", - "Flags": 131072, - "OwnerCount": 0, - "Sequence": 702820 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "140FA03FE8C39540CA8189BC7A7956795C712BC0A542C6409C041150703C8574", - "PreviousFields": { - "Balance": "3732745656171", - "Sequence": 702819 - }, - "PreviousTxnID": "7C031FD5B710E3C048EEF31254089BEEC505900BCC9A842257A0319453333998", - "PreviousTxnLgrSeq": 57112010 - } + "ledger_index_min": 32570, + "ledger_index_max": 91824423, + "transactions": [{ + "meta": { + "AffectedNodes": [{ + "ModifiedNode": { + "FinalFields": { + "Account": "rLJmawLfNAFNyyYHFbNErTfCrfsbmRzrTc", + "Balance": "77694521", + "Domain": "7872702D6C65646765722D746F6D6C2E68746D6C", + "EmailHash": "CE29D0E8928E95C3FF5BDD8CFE82F445", + "Flags": 8388608, + "MessageKey": "02000000000000000000000000A9E7611C8B9AFE2DEDA42039DBF09F3BFA185F76", + "OwnerCount": 26, + "RegularKey": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", + "Sequence": 62418073 }, - { - "ModifiedNode": { - "FinalFields": { - "Account": "raLPjTYeGezfdb6crXZzcC8RkLBEwbBHJ5", - "Balance": "4231510602153", - "Flags": 0, - "OwnerCount": 0, - "Sequence": 96486 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "39DC5D448DECEFC3CD20818788E3DA891CA943935E8D7B12FCB5B5871FCB1638", - "PreviousFields": { - "Balance": "4231054959123" - }, - "PreviousTxnID": "33D2014C832610293730028CA37857AC183BFCE3E42B9979C491FB8B82B3E9DC", - "PreviousTxnLgrSeq": 57112004 - } - } - ], - "TransactionIndex": 12, - "TransactionResult": "tesSUCCESS", - "delivered_amount": "455643030" - }, - "tx": { - "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "Amount": "455643030", - "Destination": "raLPjTYeGezfdb6crXZzcC8RkLBEwbBHJ5", - "DestinationTag": 18240312, - "Fee": "40", - "Flags": 2147483648, - "LastLedgerSequence": 57112037, - "Sequence": 702819, - "SigningPubKey": "020A46D8D02AC780C59853ACA309EAA92E7D8E02DD72A0B6AC315A7D18A6C3276A", - "TransactionType": "Payment", - "TxnSignature": "30450221008602B2E390C0C7B65182C6DBC86292052C1961B2BEFB79C2C8431722C0ADB911022024B74DCF910A4C8C95572CF662EB7F5FF67E1AC4D7B9B7BFE2A8EE851EC16576", - "date": 649200322, - "hash": "08EF5BDA2825D7A28099219621CDBECCDECB828FEA202DEB6C7ACD5222D36C2C", - "inLedger": 57112015, - "ledger_index": 57112015 - }, - "validated": true + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "548E97B1F63273FC2F339CBEB8C202FBF9231C4C61BC1BA51A6239501A2F6FB9", + "PreviousFields": { + "Balance": "77694533", + "Sequence": 62418072 + }, + "PreviousTxnID": "5FDB0B2ECE005EEA87DC35B33204424D0766AB37B764F1618A6C69C06BDDD511", + "PreviousTxnLgrSeq": 87319056 + } + }], + "TransactionIndex": 24, + "TransactionResult": "tesSUCCESS" }, - { - "meta": { - "AffectedNodes": [ - { - "ModifiedNode": { - "FinalFields": { - "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "Balance": "3732745656171", - "Flags": 131072, - "OwnerCount": 0, - "Sequence": 702819 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "140FA03FE8C39540CA8189BC7A7956795C712BC0A542C6409C041150703C8574", - "PreviousFields": { - "Balance": "3732246155784" - }, - "PreviousTxnID": "CCBCCB528F602007C937C496F0828C118E073DF180084CCD3646EC1E414844E4", - "PreviousTxnLgrSeq": 57112007 - } + "tx_json": { + "Account": "rLJmawLfNAFNyyYHFbNErTfCrfsbmRzrTc", + "Fee": "12", + "Flags": 131072, + "LastLedgerSequence": 88061884, + "LimitAmount": { + "currency": "QNT", + "issuer": "rGPsXnzAkdv1FYKkhC59GRp3M42axDhE1d", + "value": "500000000" + }, + "Sequence": 62418072, + "SigningPubKey": "023833AB55CD985EB4F7744DC2B02D34886A71ECC0177EE59749A0113ABEE8D64A", + "TransactionType": "TrustSet", + "TxnSignature": "304402201B00F6D2D9C3B290B8EB3CBAB15612C16C7C06E1D5D8A8B55528D4E1762EB7110220565D2A7369884D84F324FB3CA521BA4EDAFF8F2DDDE48AF8992CF99DF0EEB3F0", + "ledger_index": 88061876, + "date": 769309032 + }, + "ledger_index": 88061876, + "hash": "735E296F0F271382FF8FBBBD0058AC7330419B8A1C955388A7384E5E3D5B2FCB", + "ledger_hash": "95B2DA521829572779128884B145DF921B4239CC74057C08EB570DD31641A8F5", + "close_time_iso": "2024-05-18T00:57:12Z", + "validated": true + }, { + "meta": { + "AffectedNodes": [{ + "ModifiedNode": { + "FinalFields": { + "Account": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", + "Balance": "8579705270", + "Flags": 131072, + "OwnerCount": 0, + "Sequence": 1152385 }, - { - "ModifiedNode": { - "FinalFields": { - "Account": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg", - "Balance": "236476361", - "Flags": 131072, - "OwnerCount": 0, - "Sequence": 466335 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "CC20FEBEA6D2AF969EC46F2BD92684D9FBABC3F238E841B5E056FE4EBF4379A9", - "PreviousFields": { - "Balance": "735976788", - "Sequence": 466334 - }, - "PreviousTxnID": "C528B32DD588EFAE2FE833E8AA92E6AE2DF2C8DB3DB8C6C4F334AD37B253D72A", - "PreviousTxnLgrSeq": 57112010 - } - } - ], - "TransactionIndex": 33, - "TransactionResult": "tesSUCCESS", - "delivered_amount": "499500387" - }, - "tx": { - "Account": "rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg", - "Amount": "499500387", - "Destination": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", - "DestinationTag": 1, - "Fee": "40", - "Flags": 2147483648, - "LastLedgerSequence": 57112032, - "Sequence": 466334, - "SigningPubKey": "0381575032E254BF4D699C3D8D6EFDB63B3A71F97475C6F6885BC7DAEEE55D9A01", - "TransactionType": "Payment", - "TxnSignature": "3045022100C7EA1701FE48C75508EEBADBC9864CD3FFEDCEB48AB99AEA960BFA360AE163ED0220453C9577502924C9E1A9A450D4B950A44016813BC70E1F16A65A402528D730B7", - "date": 649200302, - "hash": "7C031FD5B710E3C048EEF31254089BEEC505900BCC9A842257A0319453333998", - "inLedger": 57112010, - "ledger_index": 57112010 - }, - "validated": true - } - ], - "validated": true + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "140FA03FE8C39540CA8189BC7A7956795C712BC0A542C6409C041150703C8574", + "PreviousFields": { + "Balance": "8554705270" + }, + "PreviousTxnID": "DB31B6D0A304777F125CAD069E2D2C60829475BC30A5DB63376C425C10B85752", + "PreviousTxnLgrSeq": 86879421 + } + }, { + "ModifiedNode": { + "FinalFields": { + "Account": "rpKoCafrEz7FxQZ9FfktocuBGNZZyrz4KH", + "Balance": "802086263", + "Flags": 0, + "OwnerCount": 0, + "Sequence": 60818358 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "481C0CDDC838688B61B960A1EE721F657BD8E501F64141A51E9A905A1D87A2C9", + "PreviousFields": { + "Balance": "827086275", + "Sequence": 60818357 + }, + "PreviousTxnID": "7C1671C63D75EBDDD87672D1DE9D5A9EAEAF34C37BDB29D1359301B85ECEF776", + "PreviousTxnLgrSeq": 60818357 + } + }], + "TransactionIndex": 39, + "TransactionResult": "tesSUCCESS", + "delivered_amount": "25000000" + }, + "tx_json": { + "Account": "rpKoCafrEz7FxQZ9FfktocuBGNZZyrz4KH", + "DeliverMax": "25000000", + "Destination": "rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w", + "DestinationTag": 997786069, + "Fee": "12", + "LastLedgerSequence": 87598991, + "Sequence": 60818357, + "SigningPubKey": "0229DA128237D9A63FBA95666C5B8794F455875D843EDF39F6C02DF07FD5B4720D", + "TransactionType": "Payment", + "TxnSignature": "304402203B0048779085087566AABB4B878EF30EB41D3B29581937111F2708780EE4168702203E2D3B1B73F3F8B86EE009F818B226467E3BFC444B831AE851E0E0B0FB7F49C8", + "ledger_index": 87598983, + "date": 767543720 + }, + "ledger_index": 87598983, + "hash": "16DFB8551F5301E3B7D1BCEAA8DB92E9AF5D783E6DCA7C0E11FD143D988E904A", + "ledger_hash": "2B363FD30EA376E2662777CEBDDDE22C035A87DA3CD3EA0E6125CBBC9D8A7873", + "close_time_iso": "2024-04-27T14:35:20Z", + "validated": true + }], + "validated": true, + "marker": { + "ledger": 87598983, + "seq": 39 + }, + "limit": 2, + "status": "success" } } ``` @@ -431,34 +429,74 @@ rippled -- account_tx rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w -1 -1 2 0 binary descen このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 -| `Field` | 型 | 説明 | +{% tabs %} + +{% tab label="API v2" %} + +| `Field` | 型 | 説明 | |:-------------------|:---------------------------|:---------------------------| -| `account` | 文字列 | 関連するアカウントを識別する一意の[アドレス][]。 | +| `account` | 文字列 | 関連するアカウントを識別する一意の[アドレス][] | +| `ledger_index_min` | 数値 - [レジャーインデックス][] | 実際に検索された最小のレジャーのレジャーインデックス。 | +| `ledger_index_max` | 数値 - [レジャーインデックス][] | 実際に検索された最大のレジャーのレジャーインデックス。 | +| `limit` | 数値 | リクエストで使用された`limit`値。(サーバによって強制される実際の制限値とは異なる場合があります。) | +| `marker` | [マーカー][] | レスポンスがページネーションされていることを示す、サーバが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。 | +| `meta` | オブジェクト(JSON) | (JSONモード) トランザクション結果のメタデータのJSON。 | +| `meta_blob` | 文字列(バイナリ) | (バイナリモード) トランザクション結果のメタデータの16進文字列。 | +| `transactions` | 配列 | リクエストの基準を満たすトランザクションの配列。 | +| `validated` | 真偽値 | このフィールドが含まれていて`true`に設定されている場合、このレスポンス内の情報は検証済みのレジャーバージョンから取得されています。そうでない場合、情報は変更される場合があります。 | + +{% admonition type="info" name="注記" %}サーバから返される`ledger_index_min`および`ledger_index_max`の値がリクエストで指定したものとは異なる場合があります。(例えば、サーバに手元の指定したバージョンがない場合など){% /admonition %} + +各トランザクションのオブジェクトには以下のフィールドが含まれます。JSONまたはバイナリ(`"binary":true`)フォーマットのどちらでリクエストされたかによって異なります。 + +| `Field` | 型 | 説明 | +|:-----------------|:---------------------|:------------------| +| `close_time_iso` | 文字列 | ISO 8601形式で表されたレジャー閉鎖時間。 | +| `hash` | 文字列 | トランザクションの一意のハッシュ識別子。 | +| `ledger_hash` | 文字列 | このトランザクションを含むレジャーバージョンのハッシュの16進文字列。 | +| `ledger_index` | 整数 | このトランザクションを含むレジャーバージョンの[レジャーインデックス][]。 | +| `tx_json` | オブジェクト(JSON) | (JSONモード) JSONオブジェクトでトランザクションを定義します。 | +| `tx_blob` | 文字列(バイナリ) | (バイナリモード) トランザクションを定義する一意の16進文字列。 | +| `validated` | 真偽値 | このトランザクションが検証済みのレジャーに含まれるかどうか。検証済みのレジャーに含まれていないトランザクションはすべて、変更される場合があります。 | + +{% /tab %} + +{% tab label="API v1" %} + +| `Field` | 型 | 説明 | +| :----------------- | :------------------------------ | ---- | +| `account` | 文字列 | 関連するアカウントを識別する一意の[アドレス][]。 | | `ledger_index_min` | 整数 - [レジャーインデックス][] | トランザクションで実際に検索された最古のレジャーのレジャーインデックス。 | | `ledger_index_max` | 整数 - [レジャーインデックス][] | トランザクションで実際に検索された最新のレジャーのレジャーインデックス。 | -| `limit` | 整数 | リクエストで使用される`limit`値。(サーバによって強制される実際の制限値とは異なる場合があります。) | -| `marker` | [マーカー][] | レスポンスがページネーションされていることを示す、サーバが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。 | -| `transactions` | 配列 | 以降で説明する、リクエストの基準を満たすトランザクションの配列。 | -| `validated` | ブール値 | このフィールドが含まれていて`true`に設定されている場合、このレスポンス内の情報は検証済みのレジャーバージョンから取得されています。そうでない場合、情報は変更されることがあります。 | +| `limit` | 整数 | リクエストで使用される`limit`値。(サーバによって強制される実際の制限値とは異なる場合があります。) | +| `marker` | [マーカー][] | レスポンスがページネーションされていることを示す、サーバが定義した値。この値を次のコールに渡して、このコールで終わった箇所から再開します。 | +| `meta` | オブジェクト(JSON)または文字列(バイナリ) | `binary`が`true`の場合、これはトランザクション結果のメタデータの16進文字列です。そうでない場合、トランザクション結果のメタデータはJSONフォーマットとなります。 | +| `transactions` | 配列 | 以降で説明する、リクエストの基準を満たすトランザクションの配列。 | +| `validated` | ブール値 | このフィールドが含まれていて`true`に設定されている場合、このレスポンス内の情報は検証済みのレジャーバージョンから取得されています。そうでない場合、情報は変更されることがあります。 | {% admonition type="info" name="注記" %}サーバから返される`ledger_index_min`および`ledger_index_max`の値がリクエストで指定したものとは異なる場合があります。例えば、サーバに手元の指定したバージョンがない場合など。{% /admonition %} 各トランザクションのオブジェクトには以下のフィールドが含まれます。含まれるフィールドは、JSONまたは16進文字列(`"binary":true`)フォーマットのどちらでリクエストされたかによって異なります。 -| `Field` | 型 | 説明 | -|:---------------|:---------------------------------|:-------------------------| -| `ledger_index` | 整数 | このトランザクションを含むレジャーバージョンの[レジャーインデックス][]。 | -| `meta` | オブジェクト(JSON)または文字列(バイナリ) | `binary`がTrueの場合、これは16進文字列のトランザクションメタデータです。そうでない場合、トランザクションメタデータはJSONフォーマットになります。 | -| `tx` | オブジェクト | (JSONモードのみ)トランザクションを定義するJSONオブジェクト。 | -| `tx_blob` | 文字列 | (バイナリモードのみ)トランザクションを表す一意のハッシュ化された文字列。 | -| `validated` | ブール値 | トランザクションが検証済みのレジャーに含まれるかどうか。検証済みのレジャーに含まれていないトランザクションはすべて、変更される場合があります。 | +| `Field` | 型 | 説明 | +| :------------- | :----------- | ---- | +| `ledger_index` | 整数 | このトランザクションを含むレジャーバージョンの[レジャーインデックス][]。 | +| `tx` | オブジェクト | (JSONモード) トランザクションのJSON表現。 | +| `tx_blob` | 文字列 | (バイナリモード) トランザクションの16進文字列表現。 | +| `validated` | ブール値 | トランザクションが検証済みのレジャーに含まれるかどうか。検証済みのレジャーに含まれていないトランザクションはすべて、変更される場合があります。 | + +{% /tab %} + +{% /tabs %} ## 考えられるエラー * いずれかの[汎用エラータイプ][]。 -* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* 1つ以上のフィールドが正しく指定されていないか、1つ以上の必須フィールドが欠落しています。[API v1][]では、以下のように指定することで、このエラーを回避できます。 + * `ledger_index_min`または`ledger_index_max`、または`ledger_index`または`ledger_hash`を指定します。 + * `binary`または`forward`フィールドに対して非ブール値を指定します。 * `actMalformed` - リクエストの`account`フィールドに指定した[アドレス][]が、正しいフォーマットではありません。 -* `lgrIdxMalformed` - `ledger_index_min`または`ledger_index_max`で指定したレジャーが存在しないか、存在してはいるもののサーバが保有していません。 +* `lgrIdxMalformed` - `ledger_index_min`または`ledger_index_max`で指定したレジャーが存在しないか、存在してはいるもののサーバが保有していません。[API v1][]では、`ledger_index_min`または`ledger_index_max`にサーバが保有していないレジャーの範囲を指定した場合にこのエラーが発生します。 * `lgrIdxsInvalid` - リクエストで`ledger_index_min`の前にある`ledger_index_max`を指定したか、[ネットワークと同期](../../../../infrastructure/troubleshooting/index.md)されていないためにサーバに検証済みレジャーの範囲が存在しません。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md index fbb538b17e..82481ba745 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md @@ -51,6 +51,8 @@ labels: {% /tabs %} +{% try-it method="gateway_balances" /%} + リクエストには以下のパラメーターが含まれます。 | `Field` | 型 | 説明 | diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md index d99f80435e..5224936c14 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md @@ -49,18 +49,20 @@ labels: {% /tabs %} +{% try-it method="noripple_check" /%} + {% admonition type="info" name="注記" %}このメソッドのコマンドライン構文はありません。コマンドラインからアクセスするには[jsonメソッド][]を使用してください。{% /admonition %} リクエストには以下のパラメーターが含まれます。 -| `Field` | 型 | 説明 | -|:---------------|:---------------------------|:-------------------------------| +| `Field` | 型 | 説明 | +|:---------------|:---------------------------|:-----| | `account` | 文字列 | アカウントの一意のIDであり、通常はアカウントのアドレスです。 | | `role` | 文字列 | アドレスが`gateway`と`user`のいずれを指しているか。推奨事項はアカウントの役割に応じて異なります。イシュアーのDefaultRippleを有効にし、すべてのトラストラインでNoRippleを無効にする必要があります。ユーザのDefaultRippleを無効にし、すべてのトラストラインでNoRippleを有効にする必要があります。 | -| `transactions` | ブール値 | _(省略可)_ `true`の場合、提案される[トランザクション](../../../protocol/transactions/index.md)(JSONオブジェクト)の配列を指定します。問題を修正するために、これらのトランザクションに署名して送信することができます。デフォルトではfalseです。 | -| `limit` | 符号なし整数 | _(省略可)_ 結果に含めることができるトラストライン問題の最大数。デフォルトでは300です。 | -| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進数文字列。([レジャーの指定][]をご覧ください。) | -| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]をご覧ください。) | +| `transactions` | ブール値 | _(省略可)_ `true`の場合、提案される[トランザクション](../../../protocol/transactions/index.md)(JSONオブジェクト)の配列を指定します。問題を修正するために、これらのトランザクションに署名して送信することができます。デフォルトでは`false`です。 | +| `limit` | 符号なし整数 | _(省略可)_ 結果に含めることができるトラストライン問題の最大数。デフォルトでは300です。 | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進数文字列。([レジャーの指定][]をご覧ください。 | +| `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーのシーケンス番号、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]をご覧ください。 | ## レスポンスのフォーマット @@ -184,7 +186,7 @@ labels: ## 考えられるエラー * [汎用エラータイプ][]のすべて。 -* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 +* `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。[API v1][]では、`transactions`フィールドに非ブール値を指定した場合にこのエラーが発生します。 * `actNotFound` - リクエストの`account`フィールドに指定されている[アドレス][]が、レジャーのアカウントに対応していません。 * `lgrNotFound` - `ledger_hash`または`ledger_index`に指定されているレジャーが存在しないか、存在しているがサーバにはありません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-server/index.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/index.md similarity index 100% rename from @l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-server/index.md rename to @l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/index.md diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md index bede69ab71..f9a1afbff3 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md @@ -28,7 +28,7 @@ Clioサーバはデフォルトで検証済みのレジャーデータを返す {% /tabs %} - +{% try-it method="ledger" server="s1" /%} リクエストには以下のパラメータを含めることができます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md index 0333985d73..e0891573c4 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md @@ -44,7 +44,7 @@ labels: {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#nft_history) +{% try-it method="nft_history" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md index 309289248d..2af887b85f 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md @@ -41,7 +41,7 @@ labels: {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#nft_info) +{% try-it method="nft_info" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md index 7f33079e8a..d9b37d6933 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md @@ -39,7 +39,7 @@ labels: {% /tabs %} - +{% try-it method="server_info" server="s1" /%} リクエストにパラメーターは含みません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/index.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/index.md index fba5c0dad7..6c68c9691d 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/index.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/index.md @@ -49,7 +49,6 @@ XRP Ledgerのアカウントとは、XRPの保有者と取引の送信者を意 * **[`submit_multisigned`](transaction-methods/submit_multisigned.md)** - マルチ署名済みトランザクションをネットワークに送信します。 * **[`transaction_entry`](transaction-methods/transaction_entry.md)** - レジャーの特定のバージョンからトランザクションについての情報を取得します。 * **[`tx`](transaction-methods/tx.md)** - 手元にあるすべてのレジャーからトランザクションについての情報を取得します。 -* **[`tx_history`](transaction-methods/tx_history.md)** - 最新の全トランザクションについての情報を取得します。 ## [パスおよびオーダーブックのメソッド](path-and-order-book-methods/index.md) @@ -99,6 +98,11 @@ Payment Channel は、2名の当事者間での一方向の繰り返しの支払 * **[`random`](utility-methods/random.md)** - 乱数を生成します。 -## 廃止予定のメソッド +## 非推奨のメソッド -`owner_info`コマンドは廃止される予定です。代わりに[`account_objects`](account-methods/account_objects.md)を使用してください。 +以下の方法は廃止予定であり、すでに削除されているか、または予告なく削除される場合があります。 + +* **`owner_info`** - 代わりに[`account_objects`](account-methods/account_objects.md)を使用してください。 +* **[`tx_history`](transaction-methods/tx_history.md)** - 代わりに[`account_tx`](account-methods/account_tx.md)メソッド、または[`ledger`](ledger-methods/ledger.md)メソッドを使用し、`transactions`フィールドを`true`に設定してください。 + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md index 5cc8064e3c..0961c7f7aa 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md @@ -56,7 +56,7 @@ rippled ledger current {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger) +{% try-it method="ledger" server="xrplcluster" /%} リクエストには以下のパラメーターを含めることができます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md index b45e9bd77d..944b547830 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md @@ -45,7 +45,7 @@ rippled ledger_closed {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_closed) +{% try-it method="ledger_closed" /%} このメソッドはパラメーターを受け入れません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md index 9b180c17ea..d8a1833574 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md @@ -46,7 +46,7 @@ rippled ledger_current {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_current) +{% try-it method="ledger_current" /%} このリクエストにはパラメーターは含まれていません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md index ded5cace69..527a3b415b 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md @@ -96,7 +96,7 @@ rippled json ledger_entry '{ "index": "7DB0788C020F02780A673DC74757F23823FA3014C {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-by-object-id) +{% try-it method="ledger_entry-by-object-id" /%} {% admonition type="success" name="ヒント" %} このタイプのリクエストは、レジャーデータにシングルトンエントリが存在する場合、そのIDは常に同一であるため、任意のシングルトンエントリを取得するために使用できます。たとえば @@ -153,7 +153,7 @@ rippled json ledger_entry '{ "account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-accountroot) +{% try-it method="ledger_entry-accountroot" /%} @@ -221,7 +221,7 @@ rippled json ledger_entry '{ "amm": { "asset": { "currency": "XRP" }, "asset2": {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-amm) +{% try-it method="ledger_entry-amm" server="testnet" /%} ### Bridgeエントリを取得する @@ -292,7 +292,7 @@ rippled json ledger_entry '{ "bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuq {% /tabs %} -[試してみよう! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-bridge) +{% try-it method="ledger_entry-bridge" server="devnet" /%} ### Credentialエントリを取得する @@ -401,7 +401,7 @@ rippled json ledger_entry '{ "directory": { "owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwu {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-directorynode) +{% try-it method="ledger_entry-directorynode" /%} @@ -457,7 +457,7 @@ rippled json ledger_entry '{ "offer": { "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJY {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-offer) +{% try-it method="ledger_entry-offer" /%} @@ -517,7 +517,7 @@ rippled json ledger_entry '{ "ripple_state": { "accounts": ["rf1BiGeXwwQoi8Z2ueF {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-ripplestate) +{% try-it method="ledger_entry-ripplestate" /%} @@ -563,7 +563,7 @@ rippled json ledger_entry '{ "check": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D79 {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-check) +{% try-it method="ledger_entry-check" /%} @@ -617,7 +617,7 @@ rippled json ledger_entry '{ "escrow": { "owner": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9 {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-escrow) +{% try-it method="ledger_entry-escrow" /%} @@ -662,7 +662,7 @@ rippled json ledger_entry '{ "payment_channel": "C7F634794B79DB40E87179A9D1BF05D {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-paychannel) +{% try-it method="ledger_entry-paychannel" /%} ### DepositPreauthエントリを取得する @@ -723,7 +723,7 @@ rippled json ledger_entry '{ "deposit_preauth": { "owner": "rf1BiGeXwwQoi8Z2ueFY {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-depositpreauth) +{% try-it method="ledger_entry-depositpreauth" /%} ### Ticketエントリを取得する @@ -776,7 +776,7 @@ rippled json ledger_entry '{ "ticket": { "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJ {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-ticket) +{% try-it method="ledger_entry-ticket" /%} ### NFT Pageを取得する @@ -821,7 +821,7 @@ rippled json ledger_entry '{ "nft_page": "255DD86DDF59D778081A06D02701E9B2C9F4F0 {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ledger_entry-nft-page) +{% try-it method="ledger_entry-nft-page" /%} ## レスポンスのフォーマット diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md index bb9cc5fbb7..4c7e7743a4 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md @@ -59,7 +59,7 @@ _([AMM amendment][]により追加されました。)_ {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Famm.devnet.rippletest.net%3A51233%2F#amm_info) +{% try-it method="amm_info" server="testnet" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md index 0d9cddb4e5..dfde649f9f 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md @@ -46,7 +46,7 @@ rippled book_changes 88530953 {% /tabs %} -[試してみる! >](/resources/dev-tools/websocket-api-tool#book_changes) +{% try-it method="book_changes" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md index f8eba5f141..c32ab594b5 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md @@ -65,7 +65,7 @@ rippled book_offers 'USD/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' 'EUR/rvYAfWj5gh67oV6 {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#book_offers) +{% try-it method="book_offers" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md new file mode 100644 index 0000000000..a1460a42a6 --- /dev/null +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md @@ -0,0 +1,168 @@ +--- +html: get_aggregate_price.html +parent: ledger-methods.html +blurb: 指定されたOracleインスタンスの集計価格を計算します。 +labels: + - オラクル +--- +# get_aggregate_price + +_([PriceOracle amendment][])_ + +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/GetAggregatePrice.cpp "ソース") + + +`get_aggregate_price`メソッドは、指定された`Oracle`オブジェクトの集計価格を取得し、平均値、中央値、整形された平均値の3つの価格情報を返します。 + + +## リクエストフォーマット + +リクエストの例: + +{% tabs %} + +{% tab label="WebSocket" %} +```json +{ + "command": "get_aggregate_price", + "ledger_index": "current", + "base_asset": "XRP", + "quote_asset": "USD", + "trim": 20, + "oracles": [ + { + "account": "rp047ow9WcPmnNpVHMQV5A4BF6vaL9Abm6", + "oracle_document_id": 34 + }, + { + "account": "rp147ow9WcPmnNpVHMQV5A4BF6vaL9Abm7", + "oracle_document_id": 56 + }, + { + "account": "rp247ow9WcPmnNpVHMQV5A4BF6vaL9Abm8", + "oracle_document_id": 2 + }, + { + "account": "rp347ow9WcPmnNpVHMQV5A4BF6vaL9Abm9", + "oracle_document_id": 7 + }, + { + "account": "rp447ow9WcPmnNpVHMQV5A4BF6vaL9Abm0", + "oracle_document_id": 109 + } + ] +} +``` +{% /tab %} + +{% tab label="JSON-RPC" %} +```json +{ + "method": "get_aggregate_price", + "params": [ + { + "ledger_index": "current", + "base_asset": "XRP", + "quote_asset": "USD", + "trim": 20, + "oracles": [ + { + "account": "rNZ9m6AP9K7z3EVg6GhPMx36V4QmZKeWds", + "oracle_document_id": 34 + }, + { + "account": "rMVKq8zrVsJZQFEiTARyC6WfZznhhLMcNi", + "oracle_document_id": 100 + }, + { + "account": "r92kJTnUbUUq15t2BBZYGYxY79RnNc7rLQ", + "oracle_document_id": 2 + } + ] + } + ] +} +``` +{% /tab %} + +{% /tabs %} + +{% try-it method="get_aggregate_price" server="devnet" /%} + +リクエストには以下のパラメータが含まれています: + +| フィールド | 型 | 必須? | 説明 | +| ---------------- | ------ | ------ | ---- | +| `base_asset` | 文字列 | はい | 価格を計算する資産の通貨コード。 | +| `quote_asset` | 文字列 | はい | 基軸資産の価格を計算する資産の通貨コード。 | +| `trim` | 数値 | いいえ | 外れ値を削除する割合。有効な削除範囲は1-25。削除範囲が含まれている場合、APIは整形された平均値の統計情報を返します。 | +| `trim_threshold` | 数値 | いいえ | 古い価格データをフィルタリングする秒単位の時間範囲を定義します。デフォルト値は0で、データをフィルタリングしません。 | +| `oracles` | 配列 | はい | Oracleを識別するオブジェクトの配列。Oracleオブジェクトは1から200のOracleの識別子をリストする必要があります。 | + +`oracles`配列の各メンバーは、次のフィールドを持つOracleオブジェクトです。 + +| フィールド | 型 | 必須? | 説明 | +| -------------------- | ------ | ------ | -------------------------------------------- | +| `account` | 文字列 | はい | `Oracle`オブジェクトを制御するXRPLアカウント | +| `oracle_document_id` | 数値 | はい | `Account`の価格Oracleの一意の識別子 | + + +## レスポンスフォーマット + +レスポンスの例: + +```json +{ + "result": { + "entire_set": { + "mean": "0.78", + "size": 3, + "standard_deviation": "0.03464101615137754" + }, + "ledger_current_index": 3677185, + "median": "0.8", + "time": 1724877762, + "trimmed_set": { + "mean": "0.78", + "size": 3, + "standard_deviation": "0.03464101615137754" + }, + "validated": false + }, + "status": "success", + "type": "response" +} +``` + +| フィールド | 型 | 説明 | +| -------------------------------- | ------------- | ---- | +| `entire_set` | オブジェクト | 収集されたOracleの価格の統計情報。 | +| `entire_set.mean` | 文字列 - 数値 | 単純な平均値。 | +| `entire_set.size` | 数値 | 平均値を計算するデータセットのサイズ。 | +| `entire_set.standard_deviation` | 文字列 - 数値 | 標準偏差。 | +| `trimmed_set` | オブジェクト | 整形されたOracleの価格の統計情報。`trim`フィールドがリクエストに指定されている場合にのみ表示されます。 | +| `trimmed_set.mean` | 文字列 - 数値 | 整形されたデータの単純な平均値。 | +| `trimmed_set.size` | 数値 | 整形された平均値を計算するデータセットのサイズ。 | +| `trimmed_set.standard_deviation` | 文字列 - 数値 | 整形されたデータの標準偏差。 | +| `time` | 数値 | すべての`LastUpdateTime`値の中で最も新しいタイムスタンプ。Unix時間で表されます。 | + +{% admonition type="info" name="注記" %} + +- 指定されたOracleの最新の`Oracle`オブジェクトが取得されます。 +- すべてのオブジェクトの中で最も新しい`LastUpdateTime`が上限時間として選択されます。 +- `Oracle`オブジェクトは、指定された`base_asset`/`quote_asset`ペアを含み、`AssetPrice`フィールドを持ち、その`LastUpdateTime`が指定された時間範囲内である場合、集計データセットに含まれます。 +- `Oracle`オブジェクトが指定されたトークンペアの`AssetPrice`を含まない場合、最大3つの過去の`Oracle`オブジェクトが調査され、要件を満たす最新のものが含まれます。 + +{% /admonition %} + + +## 起こりうるエラー + +- すべての[汎用エラータイプ][]。 +- `invalidParams` - 1つ以上のフィールドが正しく指定されていないか、1つ以上の必須フィールドが欠けています。 +- `internal` - `trim_threshold`の設定によりすべての価格が削除された。 +- `objectNotFound` - データセットに価格がない。 +- `oracleMalformed` - `oracles`配列が不正。少なくとも1つのオブジェクトフィールドが正しく指定されていないか、オブジェクトの数が1から200の範囲外です。 +- + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md index 2a4eee5e07..a76dfdb295 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md @@ -44,7 +44,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました。)_ {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#nft_buy_offers) +{% try-it method="nft_buy_offers" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md index 4d94ffc52a..8ef9759894 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md @@ -45,7 +45,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました。)_ {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#nft_sell_offers) +{% try-it method="nft_sell_offers" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md index 0a32b651e2..76a9b53937 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md @@ -51,7 +51,7 @@ path_findコマンドには3種類のモード(サブコマンド)があり {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#path_find) +{% try-it method="path_find" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md index 423900656d..568b867e31 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md @@ -81,7 +81,7 @@ rippled ripple_path_find '{"source_account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59" {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ripple_path_find) +{% try-it method="ripple_path_find" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md index 11978cbfeb..64e0debe1c 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md @@ -37,7 +37,7 @@ labels: {% /tabs %} -[試してみよう! >](/resources/dev-tools/websocket-api-tool#server_definitions) +{% try-it method="server_definitions" /%} リクエストにパラメータは含まれません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md index 812503cab2..f24302e9d6 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md @@ -45,7 +45,7 @@ rippled server_info {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#server_info) +{% try-it method="server_info" /%} リクエストにパラメーターは何も含まれません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md index 62be5fdc4d..63b9e9bc99 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md @@ -49,7 +49,7 @@ rippled server_state {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#server_state) +{% try-it method="server_state" /%} リクエストはパラメーターをとりません。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md index fc6e5c1ade..455a84539a 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md @@ -62,41 +62,46 @@ labels: {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#subscribe) +{% try-it method="subscribe" /%} リクエストには以下のパラメーターが含まれます。 -| `Field` | 型 | 説明 | -|:--------------------|:-------|:----------------------------------------------| -| `streams` | 配列 | _(省略可)_ 以下に説明する、サブスクライブする汎用ストリームの文字列名の配列。 | -| `accounts` | 配列 | _(省略可)_ 検証済みトランザクションを監視するアカウントの一意のアドレスを持つ配列。これらのアドレスはXRP Ledgerの[base58][]フォーマットで記述されている必要があります。サーバは、1つ以上のアカウントに影響するすべてのトランザクションについて通知を送信します。 | -| `accounts_proposed` | 配列 | _(省略可)_ `accounts`と同様ですが、まだファイナライズされていないトランザクションを含みます。 | -| `books` | 配列 | _(省略可)_ 以下に説明するとおり、更新の監視のために[オーダーブック](http://www.investopedia.com/terms/o/order-book.asp)を定義するオブジェクトの配列。 | -| `url` | 文字列 | (Websocketでは省略可、それ以外では必須)サーバが各イベントのJSON-RPCコールバックを送信するURL。*管理者専用。* | -| `url_username` | 文字列 | _(省略可)_ コールバックURLで基本認証を行うためのユーザ名。 | -| `url_password` | 文字列 | _(省略可)_ コールバックURLで基本認証を行うためのパスワード。 | +| `Field` | 型 | 説明 | +| :------------------ | :----- | ---- | +| `streams` | 配列 | _(省略可)_ 以下に説明する、サブスクライブする汎用ストリームの文字列名の配列。 | +| `accounts` | 配列 | _(省略可)_ 検証済みトランザクションを監視するアカウントの一意のアドレスを持つ配列。これらのアドレスはXRP Ledgerの[base58][]フォーマットで記述されている必要があります。サーバは、1つ以上のアカウントに影響するすべてのトランザクションについて通知を送信します。 | +| `accounts_proposed` | 配列 | _(省略可)_ `accounts`と同様ですが、まだファイナライズされていないトランザクションを含みます。 | +| `books` | 配列 | _(省略可)_ 以下に説明するとおり、更新の監視のために[オーダーブック](http://www.investopedia.com/terms/o/order-book.asp)を定義するオブジェクトの配列。 | +| `url` | 文字列 | (Websocketでは省略可、それ以外では必須)サーバが各イベントのJSON-RPCコールバックを送信するURL。*管理者専用。* | +| `url_username` | 文字列 | _(省略可)_ コールバックURLで基本認証を行うためのユーザ名。 | +| `url_password` | 文字列 | _(省略可)_ コールバックURLで基本認証を行うためのパスワード。 | 以下のパラメーターは廃止予定で、今後予告なしに削除される可能性があります。`user`、`password`、`rt_accounts`。 `streams`パラメーターは、以下のデフォルトの情報ストリームへのアクセスを可能にします。 -* `server` - `rippled`サーバのステータス(ネットワーク接続など)が変更されるたびにメッセージを送信します。 -* `ledger` - コンセンサスプロセスで新しい検証済みレジャーが宣言されるたびにメッセージを送信します。 -* `transactions` - 決済済みレジャーにトランザクションが追加されるたびにメッセージを送信します。 -* `transactions_proposed` - 決済済みレジャーにトランザクションが追加される場合や、検証済みレジャーにまだ追加されておらず、今後も追加される見込みのない一部のトランザクションが決済済みレジャーに追加される場合に、メッセージを送信します。提案されたすべてのトランザクションが検証前に表示されるわけではありません。**注記:** 検証済みレジャーには[失敗したトランザクションも記録されます](../../../protocol/transactions/transaction-results/index.md)。これは、このようなトランザクションにはスパム対策のトランザクション手数料が課されるためです。 -* `validations` - サーバがバリデータを信頼しているか否かにかかわらず、サーバが検証メッセージを受信するたびに、メッセージを送信します。(個々の`rippled`は、サーバが少なくとも定数の信頼できるバリデータから検証メッセージを受信した時点で、レジャーが検証済みであると宣言します。) -* `consensus` - サーバがコンセンサスサイクルのフェーズ(open、establish、acceptedなど)を変更するたびにメッセージを送信します。 -* `peer_status` - **(管理者専用)** 接続しているピア`rippled`サーバに関する情報(特にコンセンサスプロセスに関する情報)。 +- `book_changes` - コンセンサスプロセスが新しい有効なレジャーを作成するたびに、オーダーブックの変更をメッセージで送信します。 +- `consensus` - サーバがコンセンサスサイクルのフェーズを変更するたびにメッセージを送信します。 +- `ledger` - コンセンサスプロセスで新しい検証済みレジャーが宣言されるたびにメッセージを送信します。 +- `manifests` - バリデータのephemeral署名鍵の更新を受け取るたびにメッセージを送信します。 +- `peer_status` - **(管理者専用)** 接続している`rippled`のピアサーバに関する情報(特にコンセンサスプロセスに関する情報)。 +- `transactions` - 閉鎖済みレジャーにトランザクションが追加されるたびにメッセージを送信します。 +- `transactions_proposed` - 閉鎖済みレジャーにトランザクションが追加される場合や、検証済みレジャーにまだ追加されておらず、今後も追加される見込みのない一部のトランザクションが検証済みレジャーに追加される場合に、メッセージを送信します。提案されたすべてのトランザクションが検証前に表示されるわけではありません。 + {% admonition type="info" name="注記" %}[成功しなかったトランザクション](../../../protocol/transactions/transaction-results/index.md) 成功しなかったトランザクションも、スパム対策取引手数料を取るため、検証済みレジャーに含まれます。{% /admonition %} +- `server` - `rippled`サーバのステータス(ネットワーク接続など)が変更されるたびにメッセージを送信します。 +- `validations` - サーバがバリデータを信頼しているか否かにかかわらず、サーバが検証メッセージを受信するたびに、メッセージを送信します。(個々の`rippled`は、サーバが少なくとも定数の信頼できるバリデータから検証メッセージを受信した時点で、レジャーが検証済みであると宣言します。) + +{% admonition type="info" name="注記" %}以下のストリームは Clioおよび[レポートモード][]の`rippled`サーバからは利用できません: `server`、`peer_status`、`consensus`。これらのストリームを要求すると、どちらも`reportingUnsupported`エラーを返します。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1" %}更新: rippled 1.8.1{% /badge %} {% badge href="https://github.com/XRPLF/clio/releases/tag/2.0.0" %}新規: Clio v2.0{% /badge %}{% /admonition %} `books`配列が指定されている場合、この配列の各要素は、以下のフィールドを持つオブジェクトです。 -| `Field` | 型 | 説明 | -|:-------------|:--------|:----------------------------------------------------| +| `Field` | 型 | 説明 | +| :----------- | :----------- | ---- | | `taker_gets` | オブジェクト | オファーを受諾するアカウントが受け取る通貨を[金額なしの通貨オブジェクト](../../../protocol/data-types/currency-formats.md#金額なしでの通貨の指定)として指定します。 | | `taker_pays` | オブジェクト | オファーを受諾するアカウントが支払う通貨を[金額なしの通貨オブジェクト](../../../protocol/data-types/currency-formats.md#金額なしでの通貨の指定)として指定します。 | -| `taker` | 文字列 | オファーを表示するパースペクティブとして使用する一意のアカウントアドレス(XRP Ledgerの[base58][]フォーマット)。(これはオファーの資金提供ステータスと手数料に影響します。) | -| `snapshot` | ブール値 | (省略可、デフォルトではfalse)trueの場合は、更新の送信前にサブスクライブした時点でオーダーブックの現在の状態を一度返します。 | -| `both` | ブール値 | (省略可、デフォルトではfalse)trueの場合は、オーダーブックの両サイドを返します。 | +| `taker` | 文字列 | オファーを表示するパースペクティブとして使用する一意のアカウントアドレス(XRP Ledgerの[base58][]フォーマット)。(これはオファーの資金提供ステータスと手数料に影響します。) | +| `snapshot` | ブール値 | (省略可)`true`の場合は、更新の送信前にサブスクライブした時点でオーダーブックの現在の状態を一度返します。デフォルトは`false` | +| `both` | ブール値 | (省略可)`true`の場合は、オーダーブックの両サイドを返します。デフォルトは`false` | ## レスポンスのフォーマット @@ -120,9 +125,9 @@ labels: レスポンスは[標準フォーマット][]に従っています。レスポンスに含まれるフィールドは、リクエストに指定されたサブスクリプションに応じて異なります。 * `accounts`および`accounts_proposed` - フィールドが返されません。 -* *Stream: server* - `load_base`(サーバの現在の読み込みレベル)、`random`(ランダムに生成された値)などのサーバのステータスに関する情報。これらの情報は変更される可能性があります。 -* *Stream: transactions*、*Stream: transactions_proposed*、*Stream: validations*、および*Stream: consensus* - フィールドは返されません。 -* *Stream: ledger* - 手元にあるレジャーと現在の手数料体系に関する情報。`fee_base`(XRP単位のトランザクションの現行基本手数料)、`fee_ref`(手数料単位のトランザクションの現行基本手数料)、`ledger_hash`(最新の検証済みレジャーのハッシュ)、`reserve_base`(アカウントの最低必要準備金)などがあります。 +* *Stream: `server`* - `load_base`(サーバの現在の読み込みレベル)、`random`(ランダムに生成された値)などのサーバのステータスに関する情報。これらの情報は変更される可能性があります。 +* *Stream: `transactions`*、*Stream: `transactions_proposed`*、*Stream: `validations`*、および*Stream: `consensus`* - フィールドは返されません。 +* *Stream: `ledger`* - 手元にあるレジャーと現在の料金に関する情報。これは、[ledgerストリームメッセージ](#レジャーストリーム)と同じフィールドを含みますが、`type`と`txn_count`フィールドは省略されています。 * `books` - フィールドはデフォルトで返されません。リクエストが`"snapshot": true`に設定されている場合、`offers`(オーダーブックを定義するオファー定義オブジェクトの配列)を返します。 ## 考えられるエラー @@ -162,24 +167,22 @@ labels: レジャーストリームメッセージのフィールドは次のとおりです。 -| `Field` | 型 | 説明 | -|:--------------------|:--------------------------|:---------------------------| -| `type` | 文字列 | `ledgerClosed`は、このメッセージがレジャーストリームからのものであることを示します。 | -| `fee_base` | 数値 | このレジャーバージョン時点の[Referenceトランザクションコスト](../../../../concepts/transactions/transaction-cost.md#referenceトランザクションコスト)([XRPのdrop数][])。このレジャーバージョンに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が含まれている場合は、次のレジャーバージョンから新しいトランザクションコストが適用されます。 | -| `fee_ref` | 数値 | 「手数料単位」の[Referenceトランザクションコスト](../../../../concepts/transactions/transaction-cost.md#referenceトランザクションコスト)。 | -| `ledger_hash` | 文字列 - [ハッシュ][] | 決済されたレジャーバージョンの識別用ハッシュ。 | -| `ledger_index` | 数値 - [レジャーインデックス][] | 決済されたレジャーのレジャーインデックス。 | -| `ledger_time` | 数値 | レジャーが閉鎖された時刻([Rippleエポック以降の経過秒数][]) | -| `reserve_base` | 数値 | アカウントの最低必要[準備金](../../../../concepts/accounts/reserves.md)([XRPのdrop数][])。このレジャーバージョンに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が含まれる場合は、次のレジャーバージョンから新しい基本準備金が適用されます。 | -| `reserve_inc` | 数値 | アカウントがレジャーに所有しているオブジェクトごとの[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)([XRPのdrop数][])。レジャーに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が記録されている場合、このレジャー以降は新しい所有者準備金が適用されます。 | -| `txn_count` | 数値 | このレジャーバージョンに含まれる新規トランザクションの数。 | -| `validated_ledgers` | 文字列 | _(省略される場合があります)_ サーバで使用可能なレジャーの範囲。これは連続的ではない可能性があります。サーバがネットワークに接続されていない場合や、サーバが接続されていてもネットワークからレジャーをまだ取得していない場合は、このフィールドは返されません。 | +| `Field` | 型 | 説明 | +| :------------------ | :------------------------------ | ---- | +| `type` | 文字列 | `ledgerClosed`は、このメッセージがレジャーストリームからのものであることを示します。 | +| `fee_base` | 数値 | このレジャーバージョン時点の[Referenceトランザクションコスト](../../../../concepts/transactions/transaction-cost.md#referenceトランザクションコスト)([XRPのdrop数][])。このレジャーバージョンに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が含まれている場合は、次のレジャーバージョンから新しいトランザクションコストが適用されます。 | +| `fee_ref` | 数値 | (省略される場合があります)「手数料単位」の[Referenceトランザクションコスト](../../../../concepts/transactions/transaction-cost.md#referenceトランザクションコスト)。 _[XRPFees amendment][]_ が有効である場合, このフィールドは永久に省略されます。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | 閉鎖されたレジャーバージョンの識別用ハッシュ。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | 閉鎖されたレジャーのレジャーインデックス。 | +| `ledger_time` | 数値 | レジャーが閉鎖された時刻([Rippleエポック以降の経過秒数][]) | +| `reserve_base` | 数値 | アカウントの最低必要[準備金](../../../../concepts/accounts/reserves.md)([XRPのdrop数][])。このレジャーバージョンに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が含まれる場合は、次のレジャーバージョンから新しい基本準備金が適用されます。 | +| `reserve_inc` | 数値 | アカウントがレジャーに所有しているオブジェクトごとの[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)([XRPのdrop数][])。レジャーに[SetFee疑似トランザクション](../../../protocol/transactions/pseudo-transaction-types/setfee.md)が記録されている場合、このレジャー以降は新しい所有者準備金が適用されます。 | +| `txn_count` | 数値 | このレジャーバージョンに含まれる新規トランザクションの数。 | +| `validated_ledgers` | 文字列 | _(省略される場合があります)_ サーバが利用可能なレジャーの範囲。これは、`24900901-24900984,24901116-24901158`のような不連続なシーケンスである可能性があります。サーバがネットワークに接続されていない場合、または接続されているがまだネットワークからレジャーを取得していない場合は、このフィールドは返されません。 | ## 検証ストリーム -{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.29.0" %}新規: rippled 0.29.0{% /badge %} - 検証ストリームは、検証メッセージ(検証投票とも呼ばれる)を受信するたびにメッセージを送信します。検証メッセージが信頼できるバリデータからのものであるかどうかは関係ありません。次のようなメッセージを送信します。 ```json @@ -209,22 +212,25 @@ labels: 検証ストリームメッセージのフィールドは次のとおりです。 -| `Field`         | 型        | 説明     | -|:------------------------|:-----------------|:--------------------------------| -| `type` | 文字列 | 値`validationReceived`は、このメッセージが検証ストリームからであることを示します。 | -| `amendments` | 文字列の配列 | (省略される場合があります)このサーバがプロトコルへの追加を求める[Amendment](../../../../concepts/networks-and-servers/amendments.md)。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `base_fee` | 整数 | (省略される場合があります)サーバが[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)による設定を希望するスケーリングされていないトランザクションコスト(`reference_fee`値)。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `flags` | 数値 | この検証メッセージに追加されるフラグのビットマスク。フラグ0x80000000は、検証の署名が完全に正規であることを示します。フラグ0x00000001は、完全な検証であることを示します。それ以外の場合は部分検証です。部分検証とは、特定のレジャーに対する投票ではありません。部分検証は、バリデータがオンラインであるがコンセンサスにまだ同意していないことを示します。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `full` | ブール値 | `true`の場合は、完全な検証です。それ以外の場合は部分検証です。部分検証とは、特定のレジャーに対する投票ではありません。部分検証は、バリデータがオンラインであるがコンセンサスにまだ同意していないことを示します。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `ledger_hash` | 文字列 | 提案されたレジャーの識別ハッシュを検証中です。 | -| `ledger_index` | 文字列 - 整数 | 提案されたレジャーの[レジャーインデックス][]。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.31.0" %}新規: rippled 0.31.0{% /badge %} | -| `load_fee` | 整数 | (省略される場合があります)このバリデータにより現在施行されているローカルの負荷スケーリングされたトランザクションコスト(手数料単位)。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `master_key` | 文字列 | _(省略される場合があります)_ バリデータのマスター公開鍵(バリデータがXRP Ledgerの[base58][]フォーマットのバリデータトークンを使用している場合)。(関連項目: [`rippled`サーバで検証を有効化](../../../../infrastructure/configuration/server-modes/run-rippled-as-a-validator.md#3-rippledサーバで検証を有効化)。){% badge href="https://github.com/XRPLF/rippled/releases/tag/1.4.0" %}新規: rippled 1.4.0{% /badge %} | -| `reserve_base` | 整数 | (省略される場合があります)このバリデータが[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)による設定を希望する最低必要準備金(`account_reserve`値)。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `reserve_inc` | 整数 | (省略される場合があります)このバリデータが[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)による設定を希望する必要準備金(`owner_reserve`値)の増分。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `signature` | 文字列 | バリデータがこのレジャーへの投票に署名するときに使用する署名。 | -| `signing_time` | 数値 | この検証投票が署名された時刻([Rippleエポック以降の経過秒数][])。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.32.0" %}新規: rippled 0.32.0{% /badge %} | -| `validation_public_key` | 文字列 | バリデータがメッセージの署名に使用したキーペアの公開鍵(XRP Ledgerの[base58][]形式)。このフィールドは、メッセージを送信するバリデータを特定します。また`signature`の検証にも使用できます。バリデータがトークンを使用している場合は一時的な公開鍵です。 | +| `Field` | 型 | 説明 | +| :---------------------- | :------------ | ---- | +| `type` | 文字列 | 値`validationReceived`は、このメッセージが検証ストリームからであることを示します。 | +| `amendments` | 文字列の配列 | (省略される場合があります)このサーバがプロトコルへの追加を求める[Amendment](../../../../concepts/networks-and-servers/amendments.md)。 | +| `base_fee` | 整数 | (省略される場合があります)サーバが[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)による設定を希望するスケーリングされていないトランザクションコスト(`reference_fee`値)。 | +| `cookie` | 文字列 - 数値 | _(省略される場合があります)_ サーバが起動時に選択した任意の値。同じ検証キーペアで異なるクッキーを使用して同時に有効な検証を送信する場合、通常は複数のサーバが同じ検証キーペアを使用していることを示します。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1" %}新規: rippled 1.8.1{% /badge %} | +| `flags` | 数値 | この検証メッセージに追加されるフラグのビットマスク。フラグ`0x80000000`は、検証の署名が完全に正規であることを示します。フラグ`0x00000001`は、完全な検証であることを示します。それ以外の場合は部分検証です。部分検証とは、特定のレジャーに対する投票ではありません。部分検証は、バリデータがオンラインであるがコンセンサスにまだ同意していないことを示します。 | +| `full` | ブール値 | `true`の場合は、完全な検証です。それ以外の場合は部分検証です。部分検証とは、特定のレジャーに対する投票ではありません。部分検証は、バリデータがオンラインであるがコンセンサスにまだ同意していないことを示します。 | +| `ledger_hash` | 文字列 | 提案されたレジャーの識別ハッシュを検証中です。 | +| `ledger_index` | 文字列 - 整数 | 提案されたレジャーの[レジャーインデックス][]。 | +| `load_fee` | 整数 | (省略される場合があります)このバリデータにより現在施行されているローカルの負荷スケーリングされたトランザクションコスト(手数料単位)。 | +| `master_key` | 文字列 | _(省略される場合があります)_ バリデータのマスター公開鍵(バリデータがXRP Ledgerの[base58][]フォーマットのバリデータトークンを使用している場合)。(関連項目: [`rippled`サーバで検証を有効化](../../../../infrastructure/configuration/server-modes/run-rippled-as-a-validator.md#3-rippledサーバで検証を有効化)。) | +| `reserve_base` | 整数 | (省略される場合があります)このバリデータが[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)による設定を希望する最低必要準備金(`account_reserve`値)。 | +| `reserve_inc` | 整数 | (省略される場合があります)このバリデータが[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)による設定を希望する必要準備金(`owner_reserve`値)の増分。 | +| `server_version` | 文字列 - 数値 | _(省略される場合があります)_ バリデータサーバのバージョン番号を表す 64 ビットの整数。例えば`「1745990410175512576」`。256レジャーに一度だけ提供されます。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1" %}新規: rippled 1.8.1{% /badge %} | +| `signature` | 文字列 | バリデータがこのレジャーへの投票に署名するときに使用する署名。 | +| `signing_time` | 数値 | この検証投票が署名された時刻([Rippleエポック以降の経過秒数][])。 | +| `validated_hash` | 文字列 | この検証が適用される提案レジャーの一意のハッシュ。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1" %}新規: rippled 1.8.1{% /badge %} | +| `validation_public_key` | 文字列 | バリデータがメッセージの署名に使用したキーペアの公開鍵(XRP Ledgerの[base58][]形式)。このフィールドは、メッセージを送信するバリデータを特定します。また`signature`の検証にも使用できます。バリデータがトークンを使用している場合は一時的な公開鍵です。 | ## トランザクションストリーム @@ -251,119 +257,117 @@ labels: ```json { - "status": "closed", - "type": "transaction", + "close_time_iso": "2024-11-01T23:59:01Z", "engine_result": "tesSUCCESS", "engine_result_code": 0, - "engine_result_message": "The transaction was applied.", - "ledger_hash": "989AFBFD65D820C6BD85301B740F5D592F060668A90EEF5EC1815EBA27D58FE8", - "ledger_index": 7125442, + "engine_result_message": "The transaction was applied. Only final in a validated ledger.", + "hash": "6489E52A909208E371ACE82E19CAE59896C7F8BA40E7C36C5B8AA3C451914BED", + "ledger_hash": "0B6F44849E6D702D0CFB447FDBD7B603C269E9EEECE9176882EF376E0C9DFF6A", + "ledger_index": 1969852, "meta": { "AffectedNodes": [ { "ModifiedNode": { "FinalFields": { + "Account": "rH3PxjJPrrkvsATddBXkayjAyWR8xigaE8", + "Balance": "39999964", "Flags": 0, - "IndexPrevious": "0000000000000000", - "Owner": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", - "RootIndex": "ABD8CE2D1205D0C062876E9E1F3CBDC902ED8EF4E8D3D071B962C7ED0E113E68" + "OwnerCount": 0, + "Sequence": 1969812 }, - "LedgerEntryType": "DirectoryNode", - "LedgerIndex": "0BBDEE7D0BE120F7BF27640B5245EBFE0C5FD5281988BA823C44477A70262A4D" - } - }, - { - "DeletedNode": { - "FinalFields": { - "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", - "BookDirectory": "892E892DC63D8F70DCF5C9ECF29394FF7DD3DC6F47DB8EB34A03920BFC5E99BE", - "BookNode": "0000000000000000", - "Flags": 0, - "OwnerNode": "000000000000006E", - "PreviousTxnID": "58A17D95770F8D07E08B81A85896F4032A328B6C2BDCDEC0A00F3EF3914DCF0A", - "PreviousTxnLgrSeq": 7125330, - "Sequence": 540691, - "TakerGets": "4401967683", - "TakerPays": { - "currency": "BTC", - "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", - "value": "0.04424" - } + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "EDE60B24659BCC06CCE1EA2804A4A202F1C88155CEAED9C140833C0C39100617", + "PreviousFields": { + "Balance": "59999976", + "Sequence": 1969811 }, - "LedgerEntryType": "Offer", - "LedgerIndex": "386B7803A9210747941B0D079BB408F31ACB1CB98832184D0287A1CBF4FE6D00" - } - }, - { - "DeletedNode": { - "FinalFields": { - "ExchangeRate": "4A03920BFC5E99BE", - "Flags": 0, - "RootIndex": "892E892DC63D8F70DCF5C9ECF29394FF7DD3DC6F47DB8EB34A03920BFC5E99BE", - "TakerGetsCurrency": "0000000000000000000000000000000000000000", - "TakerGetsIssuer": "0000000000000000000000000000000000000000", - "TakerPaysCurrency": "0000000000000000000000004254430000000000", - "TakerPaysIssuer": "92D705968936C419CE614BF264B5EEB1CEA47FF4" - }, - "LedgerEntryType": "DirectoryNode", - "LedgerIndex": "892E892DC63D8F70DCF5C9ECF29394FF7DD3DC6F47DB8EB34A03920BFC5E99BE" + "PreviousTxnID": "1DBC93373D47794A684A5013178D0EBE10E6641D7C262BF20151B0E19156FF79", + "PreviousTxnLgrSeq": 1969843 } }, { "ModifiedNode": { "FinalFields": { - "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", - "Balance": "11133297300", + "Account": "rfdGuuVnq9juqWDV4W3LoLiNcW8g2hAXhN", + "Balance": "160000000", "Flags": 0, - "OwnerCount": 9, - "Sequence": 540706 + "OwnerCount": 0, + "Sequence": 1969810 }, "LedgerEntryType": "AccountRoot", - "LedgerIndex": "A6C2532E1008A513B3F822A92B8E5214BD0D413DC20AD3631C1A39AD6B36CD07", + "LedgerIndex": "F7D350FB54C5BBA734AE574EE6BF7A9294E11F9B75413972F98846AFC587C62C", "PreviousFields": { - "Balance": "11133297310", - "OwnerCount": 10, - "Sequence": 540705 + "Balance": "140000000" }, - "PreviousTxnID": "484D57DFC4E446DA83B4540305F0CE836D4E007361542EC12CC0FFB5F0A1BE3A", - "PreviousTxnLgrSeq": 7125358 + "PreviousTxnID": "1DBC93373D47794A684A5013178D0EBE10E6641D7C262BF20151B0E19156FF79", + "PreviousTxnLgrSeq": 1969843 } } ], - "TransactionIndex": 1, - "TransactionResult": "tesSUCCESS" + "TransactionIndex": 4, + "TransactionResult": "tesSUCCESS", + "delivered_amount": "20000000" }, - "transaction": { - "Account": "rRh634Y6QtoqkwTTrGzX66UYoCAvgE6jL", - "Fee": "10", - "Flags": 2147483648, - "OfferSequence": 540691, - "Sequence": 540705, - "SigningPubKey": "030BB49C591C9CD65C945D4B78332F27633D7771E6CF4D4B942D26BA40748BB8B4", - "TransactionType": "OfferCancel", - "TxnSignature": "30450221008223604A383F3AED25D53CE7C874700619893A6EEE4336508312217850A9722302205E0614366E174F2DFF78B879F310DB0B3F6DA1967E52A32F65E25DCEC622CD68", - "date": 455751680, - "hash": "94CF924C774DFDBE474A2A7E40AEA70E7E15D130C8CBEF8AF1D2BE97A8269F14" + "status": "closed", + "tx_json": { + "Account": "rH3PxjJPrrkvsATddBXkayjAyWR8xigaE8", + "DeliverMax": "20000000", + "Destination": "rfdGuuVnq9juqWDV4W3LoLiNcW8g2hAXhN", + "Fee": "12", + "Flags": 0, + "LastLedgerSequence": 1969870, + "Sequence": 1969811, + "SigningPubKey": "ED0761CDA5507784F6CEB445DE2343F861DD5EC7A869F75B08C7E8F29A947AD9FC", + "TransactionType": "Payment", + "TxnSignature": "20D5447ED7095BCCC3D42EA1955600D97D791811072E93D2A358AD9FB258C3A7F004974039D25708F5AE598C78F85B688DD586158F7E9C13AE0F30CC18E3390D", + "date": 783820741 }, + "type": "transaction", "validated": true } ``` トランザクションストリームメッセージには次のフィールドがあります。 -| `Field`         | 型             | 説明       | -|:------------------------|:--------------------------|:-----------------------| -| `type` | 文字列 | `transaction`は、トランザクションの通知であることを示します。この通知はさまざまなストリームから送信される可能性があります。 | -| `engine_result` | 文字列 | 文字列の[トランザクション結果コード](../../../protocol/transactions/transaction-results/index.md) | -| `engine_result_code` | 数値 | 数値の[トランザクションレスポンスコード](../../../protocol/transactions/transaction-results/index.md)(該当する場合) | -| `engine_result_message` | 文字列 | 人間が読み取れる形式のトランザクションレスポンスの説明 | -| `ledger_current_index` | 数値 - [レジャーインデックス][] | _(未検証のトランザクションのみ)_ このトランザクションが現在提案されている現在進行中の[レジャーバージョン](../../../../concepts/ledgers/index.md)のレジャーインデックス。 | -| `ledger_hash` | 文字列 - [ハッシュ][] | _(検証済みのトランザクションのみ)_ このトランザクションを含む レジャーバージョンの識別用ハッシュ。 | -| `ledger_index` | 数値 - [レジャーインデックス][] | _(検証済みのトランザクションのみ)_ このトランザクションを含むレジャーバージョンのレジャーインデックス。 | -| `meta` | オブジェクト | _(検証済みのトランザクションのみ)_ [トランザクションのメタデータ](../../../protocol/transactions/metadata.md)。トランザクションの正確な結果を詳細に表示します。 | -| `transaction` | オブジェクト | JSONフォーマットの[トランザクションの定義](../../../protocol/transactions/index.md)。 | -| `validated` | ブール値 | `true`の場合、このトランザクションは検証済みのレジャーに含まれており、最終的な結果であることを意味します。`transaction`ストリームからのレスポンスは常に検証される必要があります。 | +{% tabs %} +{% tab label="API v2" %} + +| `Field` | 型 | 説明 | +|:------------------------|:--------------------------|:-----| +| `close_time_iso` | 文字列 | レジャーの終了時刻をISO 8601の時刻形式で表します。 | +| `type` | 文字列 | `transaction`は、複数の可能なストリームからのトランザクションの通知であることを示します。 | +| `engine_result` | 文字列 | 文字列での[取引結果コード](../../../protocol/transactions/transaction-results/index.md) | +| `engine_result_code` | 数値 | 数値での[取引結果コード](../../../protocol/transactions/transaction-results/index.md) (該当する場合) | +| `engine_result_message` | 文字列 | 人間が読み取れる形式のトランザクションレスポンスの説明 | +| `hash` | 文字列 | トランザクションの一意のハッシュ識別子。 | +| `ledger_current_index` | 数値 - [レジャーインデックス][] | _(未検証のトランザクションのみ)_ このトランザクションが現在提案されている現在進行中の[レジャーバージョン](../../../../concepts/ledgers/index.md)のレジャーインデックス。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | _(検証済みのトランザクションのみ)_ このトランザクションを含むレジャーバージョンの識別用ハッシュ。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | _(検証済みのトランザクションのみ)_ このトランザクションを含むレジャーバージョンのレジャーインデックス。 | +| `meta` | オブジェクト | _(検証済みのトランザクションのみ)_ [トランザクションメタデータ](../../../protocol/transactions/metadata.md)。トランザクションの正確な結果を詳細に表示します。 | +| `tx_json` | オブジェクト | JSONフォーマットの[トランザクションの定義](../../../protocol/transactions/index.md)。 | +| `validated` | ブール値 | `true`の場合、このトランザクションは検証済みのレジャーに含まれており、その結果は最終的であることを意味します。`transaction`ストリームからのレスポンスは常に検証される必要があります。 | + +{% /tab %} + +{% tab label="API v1" %} + +| `Field` | 型 | 説明 | +| :---------------------- | :------------------------------ | ---- | +| `type` | 文字列 | `transaction`は、トランザクションの通知であることを示します。この通知はさまざまなストリームから送信される可能性があります。 | +| `engine_result` | 文字列 | 文字列の[トランザクション結果コード](../../../protocol/transactions/transaction-results/index.md) | +| `engine_result_code` | 数値 | 数値の[トランザクションレスポンスコード](../../../protocol/transactions/transaction-results/index.md)(該当する場合) | +| `engine_result_message` | 文字列 | 人間が読み取れる形式のトランザクションレスポンスの説明 | +| `ledger_current_index` | 数値 - [レジャーインデックス][] | _(未検証のトランザクションのみ)_ このトランザクションが現在提案されている現在進行中の[レジャーバージョン](../../../../concepts/ledgers/index.md)のレジャーインデックス。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | _(検証済みのトランザクションのみ)_ このトランザクションを含む レジャーバージョンの識別用ハッシュ。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | _(検証済みのトランザクションのみ)_ このトランザクションを含むレジャーバージョンのレジャーインデックス。 | +| `meta` | オブジェクト | _(検証済みのトランザクションのみ)_ [トランザクションのメタデータ](../../../protocol/transactions/metadata.md)。トランザクションの正確な結果を詳細に表示します。 | +| `transaction` | オブジェクト | JSONフォーマットの[トランザクションの定義](../../../protocol/transactions/index.md)。 | +| `validated` | ブール値 | `true`の場合、このトランザクションは検証済みのレジャーに含まれており、最終的な結果であることを意味します。`transaction`ストリームからのレスポンスは常に検証される必要があります。 | + +{% /tab %} + +{% /tabs %} ## ピアステータスストリーム @@ -383,28 +387,28 @@ labels: } ``` -ピアステータスストリームメッセージは、ピア`rippled`サーバのステータスが変化したイベントを表します。これらのメッセージは、次のフィールドを持つJSONオブジェクトです。 +ピアステータスストリームメッセージは、`rippled`ピアサーバのステータスが変化したイベントを表します。これらのメッセージは、次のフィールドを持つJSONオブジェクトです。 -| `Field`      | 値   | 説明      | -|:-------------------|:-------|:-----------------------------------------------| -| `type` | 文字列 | `peerStatusChange`は、ピアステータスストリームからのメッセージであることを示します。 | -| `action` | 文字列 | このメッセージが送信される原因となったイベントのタイプ。有効な値については、[ピアステータスイベント](#ピアステータスイベント)をご覧ください。 | -| `date` | 数値 | このイベントが発生した時刻([Rippleエポック以降の経過秒数][]) | -| `ledger_hash` | 文字列 | (省略される場合があります)このメッセージに関連するレジャーバージョンの識別用[ハッシュ][]。 | -| `ledger_index` | 数値 | (省略される場合があります)このメッセージに関連するレジャーバージョンの[レジャーインデックス][]。 | -| `ledger_index_max` | 数値 | (省略される場合があります)ピアで現在使用可能な最大[レジャーインデックス][]。 | -| `ledger_index_min` | 数値 | (省略される場合があります)ピアで現在使用可能な最小[レジャーインデックス][]。 | +| `Field` | 値 | 説明 | +| :----------------- | :----- | ---- | +| `type` | 文字列 | `peerStatusChange`は、ピアステータスストリームからのメッセージであることを示します。 | +| `action` | 文字列 | このメッセージが送信される原因となったイベントのタイプ。有効な値については、[ピアステータスイベント](#ピアステータスイベント)をご覧ください。 | +| `date` | 数値 | このイベントが発生した時刻([Rippleエポック以降の経過秒数][]) | +| `ledger_hash` | 文字列 | (省略される場合があります)このメッセージに関連するレジャーバージョンの識別用[ハッシュ][]。 | +| `ledger_index` | 数値 | (省略される場合があります)このメッセージに関連するレジャーバージョンの[レジャーインデックス][]。 | +| `ledger_index_max` | 数値 | (省略される場合があります)ピアで現在使用可能な最大[レジャーインデックス][]。 | +| `ledger_index_min` | 数値 | (省略される場合があります)ピアで現在使用可能な最小[レジャーインデックス][]。 | ### ピアステータスイベント ピアステータスストリームメッセージの`action`フィールドには次のいずれかの値が含まれます。 -| `Value`      | 意味      | -|:------------------|:---------------------------------------------------------| -| `CLOSING_LEDGER` | ピアがこの[レジャーインデックス][]のレジャーバージョンを閉鎖しました。 | +| `Value` | 意味 | +| :---------------- | ---- | +| `CLOSING_LEDGER` | ピアがこの[レジャーインデックス][]のレジャーバージョンを閉鎖しました。 | | `ACCEPTED_LEDGER` | ピアがコンセンサスラウンドの結果としてこのレジャーバージョンを作成しました。**注記:** このレジャーが不変的に検証済みになるかどうかはまだ確実ではありません。 | | `SWITCHED_LEDGER` | ピアは、ネットワークの他の部分に従っていないと結論付け、異なるレジャーバージョンに切り替えました。 | -| `LOST_SYNC` | ピアは検証済みのレジャーバージョンとコンセンサス処理中のレジャーバージョンの追跡でネットワークの他の部分に遅れをとりました。 | +| `LOST_SYNC` | ピアは検証済みのレジャーバージョンとコンセンサス処理中のレジャーバージョンの追跡でネットワークの他の部分に遅れをとりました。 | ## オーダーブックストリーム @@ -415,140 +419,293 @@ labels: ```json { - "engine_result": "tesSUCCESS", - "engine_result_code": 0, - "engine_result_message": "The transaction was applied. Only final in a validated ledger.", - "ledger_hash": "08547DD866F099CCB3666F113116B7AA2DF520FA2E3011DD1FF9C9C04A6C7C3E", - "ledger_index": 18852105, - "meta": { - "AffectedNodes": [{ - "ModifiedNode": { - "FinalFields": { - "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", - "AccountTxnID": "D295E2BE50E3B78AED24790D7B9096996DAF43F095BF17DB83EEACC283D14050", - "Balance": "3070332374272", - "Flags": 0, - "OwnerCount": 23, - "RegularKey": "r9S56zu6QeJD5d8A7QMfLAeYavgB9dhaX4", - "Sequence": 12142921 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "2880A9B4FB90A306B576C2D532BFE390AB3904642647DCF739492AA244EF46D1", - "PreviousFields": { - "AccountTxnID": "3CA3422B0E42D76A7A677B0BA0BE72DFCD93676E0C80F8D2EB27C04BD8457A0F", - "Balance": "3070332385272", - "Sequence": 12142920 - }, - "PreviousTxnID": "3CA3422B0E42D76A7A677B0BA0BE72DFCD93676E0C80F8D2EB27C04BD8457A0F", - "PreviousTxnLgrSeq": 18852102 - } - }, { - "ModifiedNode": { - "FinalFields": { - "Flags": 0, - "IndexPrevious": "00000000000022D2", - "Owner": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", - "RootIndex": "F435FBBEC9654204D7151A01E686BAA8CB325A472D7B61C7916EA58B59355767" - }, - "LedgerEntryType": "DirectoryNode", - "LedgerIndex": "29A543B6681AD7FC8AFBD1386DAE7385F02F9B8C4756A467DF6834AB54BBC9DB" - } - }, { - "ModifiedNode": { - "FinalFields": { - "ExchangeRate": "4C1BA999A513EF78", - "Flags": 0, - "RootIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78", - "TakerGetsCurrency": "0000000000000000000000000000000000000000", - "TakerGetsIssuer": "0000000000000000000000000000000000000000", - "TakerPaysCurrency": "0000000000000000000000005553440000000000", - "TakerPaysIssuer": "2ADB0B3959D60A6E6991F729E1918B7163925230" - }, - "LedgerEntryType": "DirectoryNode", - "LedgerIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78" - } - }, { - "CreatedNode": { - "LedgerEntryType": "Offer", - "LedgerIndex": "92E235EE80D2B28A89BEE2C905D4545C2A004FD5D4097679C8A3FB25507FD9EB", - "NewFields": { - "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", - "BookDirectory": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78", - "Expiration": 508543674, - "OwnerNode": "00000000000022F4", - "Sequence": 12142920, - "TakerGets": "6537121438", - "TakerPays": { - "currency": "USD", - "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "value": "50.9" - } - } - } - }, { - "DeletedNode": { - "FinalFields": { - "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", - "BookDirectory": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784C1BA999A513EF78", - "BookNode": "0000000000000000", - "Expiration": 508543133, - "Flags": 0, - "OwnerNode": "00000000000022F4", - "PreviousTxnID": "58B3279C2D56AAC3D9B06106E637C01E3D911E9D31E2FE4EA0D886AC9F4DEE1E", - "PreviousTxnLgrSeq": 18851945, - "Sequence": 12142889, - "TakerGets": "6537121438", - "TakerPays": { - "currency": "USD", - "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "value": "50.9" - } - }, - "LedgerEntryType": "Offer", - "LedgerIndex": "D3436CE21925E1CB12C5C444963B47D7EA0CD9A0E387926DC76B23FE5CD1C15F" - } - }], - "TransactionIndex": 26, - "TransactionResult": "tesSUCCESS" + "tx_json": { + "Account": "rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah", + "Fee": "20", + "Flags": 0, + "LastLedgerSequence": 91826205, + "OfferSequence": 156917168, + "Sequence": 156917177, + "SigningPubKey": "0253C1DFDCF898FE85F16B71CCE80A5739F7223D54CC9EBA4749616593470298C5", + "TakerGets": "35992000000", + "TakerPays": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "18570.025718376" }, - "status": "closed", - "transaction": { - "Account": "rfCFLzNJYvvnoGHWQYACmJpTgkLUaugLEw", - "Expiration": 508543674, - "Fee": "11000", - "Flags": 2147483648, - "LastLedgerSequence": 18852106, - "OfferSequence": 12142889, - "Sequence": 12142920, - "SigningPubKey": "034841BF24BD72C7CC371EBD87CCBF258D8ADB05C18DE207130364A97D8A3EA524", - "TakerGets": "6537121438", - "TakerPays": { - "currency": "USD", - "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "value": "50.9" - }, - "TransactionType": "OfferCreate", - "TxnSignature": "3045022100B9AD678A773FB61F8F9B565713C80CBF187A2F9EB8E9CE0DAC7B839CA6F4B04C02200613D173A0636CD9BE13F2E3EBD13A16932B5B7D8A96BB5F6D561CA5CDBC4AD3", - "date": 508543090, - "hash": "D295E2BE50E3B78AED24790D7B9096996DAF43F095BF17DB83EEACC283D14050", - "owner_funds": "3070197374272" - }, - "type": "transaction", - "validated": true + "TransactionType": "OfferCreate", + "TxnSignature": "30440220520439D8DDB6B6D0E4EA1504873D780ADE524E3961E02A5DD84B8B4C456BA3240220533CF99250737C13FD376C18F6D64149332BA1FE6EA04895442247BD29952193", + "date": 783819060, + "owner_funds": "36054185999" + }, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "IndexNext": "0", + "IndexPrevious": "0", + "Owner": "rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah", + "RootIndex": "0A2600D85F8309FE7F75A490C19613F1CE0C37483B856DB69B8140154C2335F3" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "0A2600D85F8309FE7F75A490C19613F1CE0C37483B856DB69B8140154C2335F3", + "PreviousTxnID": "73BBE254DDC97EAD6ECB2D9F7A7EB13DBA1A5B816C2727548FCFBC41B40604EF", + "PreviousTxnLgrSeq": 91826203 + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Account": "rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah", + "Balance": "36092186059", + "Flags": 0, + "OwnerCount": 14, + "Sequence": 156917178 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "1ED8DDFD80F275CB1CE7F18BB9D906655DE8029805D8B95FB9020B30425821EB", + "PreviousFields": { + "Balance": "36092186079", + "Sequence": 156917177 + }, + "PreviousTxnID": "73BBE254DDC97EAD6ECB2D9F7A7EB13DBA1A5B816C2727548FCFBC41B40604EF", + "PreviousTxnLgrSeq": 91826203 + } + }, + { + "CreatedNode": { + "LedgerEntryType": "Offer", + "LedgerIndex": "3B4D42B185D1FE4EBED70F7E35A8E8AEA39028FB6B16DCDFC175363EA38DED28", + "NewFields": { + "Account": "rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah", + "BookDirectory": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784E125486AFA57980", + "Sequence": 156917177, + "TakerGets": "35992000000", + "TakerPays": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "18570.025718376" + } + } + } + }, + { + "DeletedNode": { + "FinalFields": { + "ExchangeRate": "4e12547b29376a80", + "Flags": 0, + "PreviousTxnID": "D4CB92E19CBADB14F82B0E0703B3F157338253EE1DD46DB91F6C98C93D01DA9C", + "PreviousTxnLgrSeq": 91826201, + "RootIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784E12547B29376A80", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "0000000000000000000000005553440000000000", + "TakerPaysIssuer": "2ADB0B3959D60A6E6991F729E1918B7163925230" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784E12547B29376A80" + } + }, + { + "CreatedNode": { + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784E125486AFA57980", + "NewFields": { + "ExchangeRate": "4e125486afa57980", + "RootIndex": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784E125486AFA57980", + "TakerPaysCurrency": "0000000000000000000000005553440000000000", + "TakerPaysIssuer": "2ADB0B3959D60A6E6991F729E1918B7163925230" + } + } + }, + { + "DeletedNode": { + "FinalFields": { + "Account": "rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah", + "BookDirectory": "79C54A4EBD69AB2EADCE313042F36092BE432423CC6A4F784E12547B29376A80", + "BookNode": "0", + "Flags": 0, + "OwnerNode": "0", + "PreviousTxnID": "D4CB92E19CBADB14F82B0E0703B3F157338253EE1DD46DB91F6C98C93D01DA9C", + "PreviousTxnLgrSeq": 91826201, + "Sequence": 156917168, + "TakerGets": "35992000000", + "TakerPays": { + "currency": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "value": "18569.847557976" + } + }, + "LedgerEntryType": "Offer", + "LedgerIndex": "F72F9E5C9C81C6D2403C062365B34AA371D5D0BB13E1787622E936D0B8B4A499" + } + } + ], + "TransactionIndex": 23, + "TransactionResult": "tesSUCCESS" + }, + "type": "transaction", + "validated": true, + "status": "closed", + "close_time_iso": "2024-11-01T23:31:00Z", + "ledger_index": 91826203, + "ledger_hash": "746D115326E08B884D7EA5F0E379272774F1B41443C000044D5DF97781E0601D", + "hash": "2250BB2914AC7BC143AD62E7DD36F23A22F2BC50495FC29B36C6B0CA570BB4FA", + "engine_result_code": 0, + "engine_result": "tesSUCCESS", + "engine_result_message": "The transaction was applied. Only final in a validated ledger." } ``` オーダーブックストリームメッセージの形式は、[トランザクションストリームメッセージ](#トランザクションストリーム)と同様ですが、`OfferCreate`トランザクションに以下のフィールドも含まれている点が異なります。 -| `Field`          | 値   | 説明       | -|:--------------------------|:-------|:----------------------------------------| -| `transaction.owner_funds` | 文字列 | このOfferCreateトランザクションを送信する`Account`が、このトランザクション実行後に有する`TakerGets`通貨の金額。この通貨額が[凍結](../../../../concepts/tokens/fungible-tokens/freezes.md)されているかどうかはチェックされません。 | +| `Field` | 値 | 説明 | +| :------------------------ | :----- | ---- | +| `transaction.owner_funds` | 文字列 | このOfferCreateトランザクションを送信する`Account`が、このトランザクション実行後に有する`TakerGets`通貨の金額。この通貨額が[凍結](../../../../concepts/tokens/fungible-tokens/freezes.md)されているかどうかはチェックされません。
[API v2][]では`tx_json.owner_funds`に変更されました。 | + + +## Book Changesストリーム + +`book_changes`ストリームは、新しいレジャーが検証されると`bookChanges`メッセージを送信します。このメッセージには、そのレジャーで分散型取引所で発生したすべてのオーダーブックの変更の概要が含まれています。 + +例 `bookChanges`メッセージ: + +```json +{ + "type": "bookChanges", + "ledger_index": 88530525, + "ledger_hash": "E2F24290E1714C842D34A1057E6D6B7327C7DDD310263AFBC67CA8EFED7A331B", + "ledger_time": 771099232, + "changes": [ + { + "currency_a": "XRP_drops", + "currency_b": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", + "volume_a": "23020993", + "volume_b": "11.51049687275246", + "high": "1999999.935232603", + "low": "1999999.935232603", + "open": "1999999.935232603", + "close": "1999999.935232603" + }, + { + "currency_a": "XRP_drops", + "currency_b": "rRbiKwcueo6MchUpMFDce9XpDwHhRLPFo/43525950544F0000000000000000000000000000", + "volume_a": "28062", + "volume_b": "0.000643919229004", + "high": "43580000.00000882", + "low": "43580000.00000882", + "open": "43580000.00000882", + "close": "43580000.00000882" + }, + { + "currency_a": "XRP_drops", + "currency_b": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu/5553444300000000000000000000000000000000", + "volume_a": "147797392", + "volume_b": "70.41143840513008", + "high": "2099053.724049922", + "low": "2099053.724049922", + "open": "2099053.724049922", + "close": "2099053.724049922" + }, + { + "currency_a": "XRP_drops", + "currency_b": "rcRzGWq6Ng3jeYhqnmM4zcWcUh69hrQ8V/LTC", + "volume_a": "350547165", + "volume_b": "2.165759976556748", + "high": "162573356.3100158", + "low": "160134763.7403094", + "open": "162573356.3100158", + "close": "160134763.7403094" + }, + { + "currency_a": "XRP_drops", + "currency_b": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL/BTC", + "volume_a": "352373535", + "volume_b": "0.00249291478138912", + "high": "1413500174054660e-4", + "low": "1413499999999996e-4", + "open": "1413500174054660e-4", + "close": "1413499999999996e-4" + }, + { + "currency_a": "XRP_drops", + "currency_b": "rcvxE9PS9YBwxtGg1qNeewV6ZB3wGubZq/5553445400000000000000000000000000000000", + "volume_a": "8768045", + "volume_b": "4.193604075536", + "high": "2090813.734932601", + "low": "2090813.734932601", + "open": "2090813.734932601", + "close": "2090813.734932601" + }, + { + "currency_a": "XRP_drops", + "currency_b": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq/USD", + "volume_a": "28113", + "volume_b": "0.013405652999", + "high": "2097100.380123005", + "low": "2097100.380123005", + "open": "2097100.380123005", + "close": "2097100.380123005" + }, + { + "currency_a": "r3dVizzUAS3U29WKaaSALqkieytA2LCoRe/58434F5245000000000000000000000000000000", + "currency_b": "rcoreNywaoz2ZCQ8Lg2EbSLnGuRBmun6D/434F524500000000000000000000000000000000", + "volume_a": "75.626516003375", + "volume_b": "63.022096669479", + "high": "1.200000000000003", + "low": "1.200000000000003", + "open": "1.200000000000003", + "close": "1.200000000000003" + }, + { + "currency_a": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/CNY", + "currency_b": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y/USD", + "volume_a": "83.9115222024", + "volume_b": "11.51049687275", + "high": "7.290000000004561", + "low": "7.290000000004561", + "open": "7.290000000004561", + "close": "7.290000000004561" + }, + { + "currency_a": "rcRzGWq6Ng3jeYhqnmM4zcWcUh69hrQ8V/LTC", + "currency_b": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL/BTC", + "volume_a": "0.64167647147626", + "volume_b": "0.00073047551165797", + "high": "878.4366638381051", + "low": "878.4366638381051", + "open": "878.4366638381051", + "close": "878.4366638381051" + }, + { + "currency_a": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq/USD", + "currency_b": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B/USD", + "volume_a": "0.013432464305", + "volume_b": "0.013566788948", + "high": "0.9900990099046391", + "low": "0.9900990099046391", + "open": "0.9900990099046391", + "close": "0.9900990099046391" + } + ] +} +``` + +[Book Changes]ストリームメッセージのフィールドは以下のとおりです: + +| Field | 値 | 説明 | +|:---------------|:-------------------------|:-----| +| `type` | 文字列 | 値`bookChanges`は、これがBook Changesストリームからのものであることを示します。 | +| `ledger_index` | [レジャーインデックス][] | これらの変更を含むレジャーのレジャーインデックス。 | +| `ledger_hash` | [ハッシュ][] | これらの変更を含むレジャーの識別用ハッシュ。 | +| `ledger_time` | 数値 | これらの変更を含むレジャーの公式的な閉鎖時刻。[リップルエポック](../../../../concepts/ledgers/index.md#ripple-epoch)からの秒数。 | +| `changes` | 配列 | [Book Update Objects](../path-and-order-book-methods/book_changes.md#book-update-objects)のリスト。このレジャーバージョンで更新された各オーダーブックに対して1つのエントリが含まれます。オーダーブックが更新されなかった場合、配列は空です。 | ## コンセンサスストリーム -{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.4.0" %}新規: rippled 1.4.0{% /badge %} - `consensus`ストリームは、[コンセンサスプロセス](../../../../concepts/consensus-protocol/index.md)でフェーズが変更されると、`consensusPhase`メッセージを送信します。このメッセージには、サーバで実行されているコンセンサスの新しいフェーズが含まれます。 ```json @@ -560,9 +717,9 @@ labels: コンセンサスストリームメッセージのフィールドは次のとおりです。 -| `Field`       | 型             | 説明        | -|:--------------------|:--------------------------|:---------------------------| -| `type` | 文字列 | `consensusPhase`は、このメッセージがコンセンサスストリームからのものであることを示します。 | -| `consensus` | 文字列 | サーバで実行されている新しいコンセンサスフェーズ。値には、open、establish、acceptedなどがあります。 | +| `Field` | 型 | 説明 | +| :---------- | :----- | ---- | +| `type` | 文字列 | `consensusPhase`は、このメッセージがコンセンサスストリームからのものであることを示します。 | +| `consensus` | 文字列 | サーバで実行されている新しいコンセンサスフェーズ。値には、`open`、`establish`、`accepted`などがあります。 | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md index cc0bd90e01..1b22cae0b3 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md @@ -45,7 +45,7 @@ labels: {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#unsubscribe) +{% try-it method="unsubscribe" /%} このリクエストのパラメーターは、[subscribeメソッド][]のパラメーターとほぼ同様の方法で指定されますが、終了するサブスクリプションを定義するために使用される点が異なります。これらのパラメーターを以下に示します。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md index 1b43ab5070..49a3850ca6 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md @@ -64,7 +64,7 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534 {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#submit) +{% try-it method="submit" /%} ## 署名と送信モード @@ -105,12 +105,13 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534 ```json { "id": 2, + "api_version": 2, "command": "submit", "tx_json" : { "TransactionType" : "Payment", "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Amount" : { + "DeliverMax" : { "currency" : "USD", "value" : "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" @@ -130,10 +131,11 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534 "params": [ { "offline": false, + "api_version": 2, "secret": "s████████████████████████████", "tx_json": { "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { + "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" @@ -151,13 +153,13 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534 {% tab label="コマンドライン" %} ```sh #Syntax: submit secret json [offline] -rippled submit s████████████████████████████ '{"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Amount": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" }, "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "TransactionType": "Payment", "Fee": "10000"}' +rippled submit s████████████████████████████ '{"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" }, "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "TransactionType": "Payment", "Fee": "10000"}' ``` {% /tab %} {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#submit) +{% try-it method="submit" /%} ## レスポンスのフォーマット @@ -169,16 +171,25 @@ rippled submit s█████████████████████ ```json { "id": 1, + "api_version": 2, "status": "success", "type": "response", "result": { + "accepted" : true, + "account_sequence_available" : 362, + "account_sequence_next" : 362, + "applied" : true, + "broadcast" : true, "engine_result": "tesSUCCESS", "engine_result_code": 0, - "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "engine_result_message": "The transaction was applied. Only final in a validated ledger.", + "kept" : true, + "open_ledger_cost": "10", + "queued" : false, "tx_blob": "1200002280000000240000016861D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB7446304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F858081144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", "tx_json": { "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { + "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" @@ -191,7 +202,8 @@ rippled submit s█████████████████████ "TransactionType": "Payment", "TxnSignature": "304402200E5C2DD81FDF0BE9AB2A8D797885ED49E804DBF28E806604D878756410CA98B102203349581946B0DDA06B36B35DBC20EDA27552C1F167BCF5C6ECFF49C6A46F8580", "hash": "4D5D90890F8D49519E4151938601EF3D0B30B16CD6A519D9C99102C9FA77F7E0" - } + }, + "validated_ledger_index" : 21184416 } } ``` @@ -201,14 +213,22 @@ rippled submit s█████████████████████ ```json { "result": { + "accepted" : true, + "account_sequence_available" : 362, + "account_sequence_next" : 362, + "applied" : true, + "broadcast" : true, "engine_result": "tesSUCCESS", "engine_result_code": 0, - "engine_result_message": "The transaction was applied.Only final in a validated ledger.", + "engine_result_message": "The transaction was applied. Only final in a validated ledger.", "status": "success", + "kept" : true, + "open_ledger_cost": "10", + "queued" : false, "tx_blob": "1200002280000000240000016961D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100A7CCD11455E47547FF617D5BFC15D120D9053DFD0536B044F10CA3631CD609E502203B61DEE4AC027C5743A1B56AF568D1E2B8E79BB9E9E14744AC87F38375C3C2F181144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", "tx_json": { "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount": { + "DeliverMax": { "currency": "USD", "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "value": "1" @@ -222,7 +242,8 @@ rippled submit s█████████████████████ "TxnSignature": "3045022100A7CCD11455E47547FF617D5BFC15D120D9053DFD0536B044F10CA3631CD609E502203B61DEE4AC027C5743A1B56AF568D1E2B8E79BB9E9E14744AC87F38375C3C2F1", "hash": "5B31A7518DC304D5327B4887CD1F7DC2C38D5F684170097020C7C9758B973847" } - } + }, + "validated_ledger_index" : 21184416 } ``` {% /tab %} @@ -233,29 +254,38 @@ Loading: "/etc/rippled.cfg" Connecting to 127.0.0.1:5005 { - "result" : { - "engine_result" : "tesSUCCESS", - "engine_result_code" : 0, - "engine_result_message" : "The transaction was applied.Only final in a validated ledger.", - "status" : "success", - "tx_blob" : "1200002280000000240000016A61D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100FBBF74057359EC31C3647AD3B33D8954730E9879C35034374858A76B7CFA643102200EAA08C61071396E9CF0987FBEA16CF113CBD8068AA221214D165F151285EECD81144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", - "tx_json" : { - "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "Amount" : { - "currency" : "USD", - "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", - "value" : "1" - }, - "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Fee" : "10000", - "Flags" : 2147483648, - "Sequence" : 362, - "SigningPubKey" : "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", - "TransactionType" : "Payment", - "TxnSignature" : "3045022100FBBF74057359EC31C3647AD3B33D8954730E9879C35034374858A76B7CFA643102200EAA08C61071396E9CF0987FBEA16CF113CBD8068AA221214D165F151285EECD", - "hash" : "CB98A6FA1FAC47F9FCC6A233EB46F8F9AF59CC69BD69AE6D06F298F6FF52162A" - } - } + "result": { + "accepted" : true, + "account_sequence_available" : 362, + "account_sequence_next" : 362, + "applied" : true, + "broadcast" : true, + "engine_result": "tesSUCCESS", + "engine_result_code": 0, + "engine_result_message": "The transaction was applied. Only final in a validated ledger.", + "status": "success", + "kept" : true, + "open_ledger_cost": "10", + "queued" : false, + "tx_blob": "1200002280000000240000016961D4838D7EA4C6800000000000000000000000000055534400000000004B4E9C06F24296074F7BC48F92A97916C6DC5EA9684000000000002710732103AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB74473045022100A7CCD11455E47547FF617D5BFC15D120D9053DFD0536B044F10CA3631CD609E502203B61DEE4AC027C5743A1B56AF568D1E2B8E79BB9E9E14744AC87F38375C3C2F181144B4E9C06F24296074F7BC48F92A97916C6DC5EA983143E9D4A2B8AA0780F682D136F7A56D6724EF53754", + "tx_json": { + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "DeliverMax": { + "currency": "USD", + "issuer": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "value": "1" + }, + "Destination": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Fee": "10000", + "Flags": 2147483648, + "Sequence": 361, + "SigningPubKey": "03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB", + "TransactionType": "Payment", + "TxnSignature": "3045022100A7CCD11455E47547FF617D5BFC15D120D9053DFD0536B044F10CA3631CD609E502203B61DEE4AC027C5743A1B56AF568D1E2B8E79BB9E9E14744AC87F38375C3C2F1", + "hash": "5B31A7518DC304D5327B4887CD1F7DC2C38D5F684170097020C7C9758B973847" + } + }, + "validated_ledger_index" : 21184416 } ``` {% /tab %} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md index 7e6808fe0c..bf4eae16b0 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md @@ -51,15 +51,15 @@ rippled transaction_entry E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDA {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#transaction_entry) +{% try-it method="transaction_entry" /%} リクエストには以下のパラメーターが含まれます。 -| `Field` | 型 | 説明 | -|:---------------|:---------------------------|:-------------------------------| -| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]をご覧ください) | +| `Field` | 型 | 説明 | +| :------------- | :----------------------- | ---- | +| `ledger_hash` | 文字列 | _(省略可)_ 使用するレジャーバージョンの20バイトの16進文字列。([レジャーの指定][]をご覧ください) | | `ledger_index` | 文字列または符号なし整数 | _(省略可)_ 使用するレジャーの[レジャーインデックス][]、またはレジャーを自動的に選択するためのショートカット文字列。([レジャーの指定][]をご覧ください) | -| `tx_hash` | 文字列 | 検索するトランザクションの一意のハッシュ | +| `tx_hash` | 文字列 | 検索するトランザクションの一意のハッシュ | {% admonition type="info" name="注記" %}このメソッドでは、現在進行中のレジャーから情報を取得する操作はサポートされていません。`ledger_index`または`ledger_hash`でレジャーバージョンを指定する必要があります。{% /admonition %} @@ -72,129 +72,371 @@ rippled transaction_entry E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDA {% tab label="WebSocket" %} ```json { - "id": 4, + "id": 4, + "result": { + "ledger_hash": "793E56131D8D4ABFB27FA383BFC44F2978B046E023FF46C588D7E0C874C2472A", + "ledger_index": 56865245, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "ExchangeRate": "4F04C66806CF7400", + "Flags": 0, + "RootIndex": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "000000000000000000000000434E590000000000", + "TakerPaysIssuer": "CED6E99370D5C00EF4EBF72567DA99F5661BFB3A" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400" + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Balance": "10404767991", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 5037711 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "1DECD9844E95FFBA273F1B94BA0BF2564DDF69F2804497A6D7837B52050174A2", + "PreviousFields": { + "Balance": "10404768003", + "Sequence": 5037710 + }, + "PreviousTxnID": "4DC47B246B5EB9CCE92ABA8C482479E3BF1F946CABBEF74CA4DE36521D5F9008", + "PreviousTxnLgrSeq": 56865244 + } + }, + { + "DeletedNode": { + "FinalFields": { + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "BookNode": "0000000000000000", + "Flags": 0, + "OwnerNode": "0000000000000000", + "PreviousTxnID": "8F5FF57B404827F12BDA7561876A13C3E3B3095CBF75334DBFB5F227391A660C", + "PreviousTxnLgrSeq": 56865244, + "Sequence": 5037708, + "TakerGets": "15000000000", + "TakerPays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "20160.75" + } + }, + "LedgerEntryType": "Offer", + "LedgerIndex": "26AAE6CA8D29E28A47C92ADF22D5D96A0216F0551E16936856DDC8CB1AAEE93B" + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "IndexNext": "0000000000000000", + "IndexPrevious": "0000000000000000", + "Owner": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "RootIndex": "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + } + }, + { + "CreatedNode": { + "LedgerEntryType": "Offer", + "LedgerIndex": "8BAEE3C7DE04A568E96007420FA11ABD0BC9AE44D35932BB5640E9C3FB46BC9B", + "NewFields": { + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "Sequence": 5037710, + "TakerGets": "15000000000", + "TakerPays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "20160.75" + } + } + } + } + ], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS" + }, + "tx_json": { + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Fee": "12", + "Flags": 0, + "LastLedgerSequence": 56865248, + "OfferSequence": 5037708, + "Sequence": 5037710, + "SigningPubKey": "03B51A3EDF70E4098DA7FB053A01C5A6A0A163A30ED1445F14F87C7C3295FCB3BE", + "TakerGets": "15000000000", + "TakerPays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "20160.75" + }, + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100A5023A0E64923616FCDB6D664F569644C7C9D1895772F986CD6B981B515B02A00220530C973E9A8395BC6FE2484948D2751F6B030FC7FB8575D1BFB406368AD554D9", + "hash": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9" + }, + "validated": true + }, + "status": "success", + "type": "response" +} +``` +{% /tab %} + + +{% tab label="JSON-RPC" %} +```json +{ "result": { - "ledger_index": 348734, - "metadata": { + "ledger_hash": "793E56131D8D4ABFB27FA383BFC44F2978B046E023FF46C588D7E0C874C2472A", + "ledger_index": 56865245, + "meta": { "AffectedNodes": [ { "ModifiedNode": { "FinalFields": { - "Account": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "Balance": "59328999119", + "ExchangeRate": "4F04C66806CF7400", "Flags": 0, - "OwnerCount": 11, - "Sequence": 89 + "RootIndex": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "TakerGetsCurrency": "0000000000000000000000000000000000000000", + "TakerGetsIssuer": "0000000000000000000000000000000000000000", + "TakerPaysCurrency": "000000000000000000000000434E590000000000", + "TakerPaysIssuer": "CED6E99370D5C00EF4EBF72567DA99F5661BFB3A" }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "E0D7BDE68B468FF0B8D948FD865576517DA987569833A05374ADB9A72E870A06", - "PreviousFields": { - "Balance": "59328999129", - "Sequence": 88 - }, - "PreviousTxnID": "C26AA6B4F7C3B9F55E17CD0D11F12032A1C7AD2757229FFD277C9447A8815E6E", - "PreviousTxnLgrSeq": 348700 + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400" } }, { "ModifiedNode": { "FinalFields": { - "Balance": { - "currency": "USD", - "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", - "value": "-1" - }, - "Flags": 131072, - "HighLimit": { - "currency": "USD", - "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "value": "100" - }, - "HighNode": "0000000000000000", - "LowLimit": { - "currency": "USD", - "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "value": "0" - }, - "LowNode": "0000000000000000" + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Balance": "10404767991", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 5037711 }, - "LedgerEntryType": "RippleState", - "LedgerIndex": "EA4BF03B4700123CDFFB6EB09DC1D6E28D5CEB7F680FB00FC24BC1C3BB2DB959", + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "1DECD9844E95FFBA273F1B94BA0BF2564DDF69F2804497A6D7837B52050174A2", "PreviousFields": { - "Balance": { - "currency": "USD", - "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", - "value": "0" + "Balance": "10404768003", + "Sequence": 5037710 + }, + "PreviousTxnID": "4DC47B246B5EB9CCE92ABA8C482479E3BF1F946CABBEF74CA4DE36521D5F9008", + "PreviousTxnLgrSeq": 56865244 + } + }, + { + "DeletedNode": { + "FinalFields": { + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "BookNode": "0000000000000000", + "Flags": 0, + "OwnerNode": "0000000000000000", + "PreviousTxnID": "8F5FF57B404827F12BDA7561876A13C3E3B3095CBF75334DBFB5F227391A660C", + "PreviousTxnLgrSeq": 56865244, + "Sequence": 5037708, + "TakerGets": "15000000000", + "TakerPays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "20160.75" } }, - "PreviousTxnID": "53354D84BAE8FDFC3F4DA879D984D24B929E7FEB9100D2AD9EFCD2E126BCCDC8", - "PreviousTxnLgrSeq": 343570 + "LedgerEntryType": "Offer", + "LedgerIndex": "26AAE6CA8D29E28A47C92ADF22D5D96A0216F0551E16936856DDC8CB1AAEE93B" + } + }, + { + "ModifiedNode": { + "FinalFields": { + "Flags": 0, + "IndexNext": "0000000000000000", + "IndexPrevious": "0000000000000000", + "Owner": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "RootIndex": "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + }, + "LedgerEntryType": "DirectoryNode", + "LedgerIndex": "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + } + }, + { + "CreatedNode": { + "LedgerEntryType": "Offer", + "LedgerIndex": "8BAEE3C7DE04A568E96007420FA11ABD0BC9AE44D35932BB5640E9C3FB46BC9B", + "NewFields": { + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "Sequence": 5037710, + "TakerGets": "15000000000", + "TakerPays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "20160.75" + } + } } } ], "TransactionIndex": 0, "TransactionResult": "tesSUCCESS" }, + "status": "success", "tx_json": { - "Account": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "Amount": { - "currency": "USD", - "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "value": "1" - }, - "Destination": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "Fee": "10", + "Account": "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Fee": "12", "Flags": 0, - "Paths": [ - [ - { - "account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "currency": "USD", - "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "type": 49, - "type_hex": "0000000000000031" - } - ], - [ - { - "account": "rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", - "currency": "USD", - "issuer": "rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", - "type": 49, - "type_hex": "0000000000000031" - }, - { - "account": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", - "currency": "USD", - "issuer": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", - "type": 49, - "type_hex": "0000000000000031" - }, - { - "account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "currency": "USD", - "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "type": 49, - "type_hex": "0000000000000031" - } - ] - ], - "SendMax": { - "currency": "USD", - "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "value": "1.01" + "LastLedgerSequence": 56865248, + "OfferSequence": 5037708, + "Sequence": 5037710, + "SigningPubKey": "03B51A3EDF70E4098DA7FB053A01C5A6A0A163A30ED1445F14F87C7C3295FCB3BE", + "TakerGets": "15000000000", + "TakerPays": { + "currency": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value": "20160.75" }, - "Sequence": 88, - "SigningPubKey": "02EAE5DAB54DD8E1C49641D848D5B97D1B29149106174322EDF98A1B2CCE5D7F8E", - "TransactionType": "Payment", - "TxnSignature": "30440220791B6A3E036ECEFFE99E8D4957564E8C84D1548C8C3E80A87ED1AA646ECCFB16022037C5CAC97E34E3021EBB426479F2ACF3ACA75DB91DCC48D1BCFB4CF547CFEAA0", - "hash": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", - "inLedger": 348734, - "ledger_index": 348734 - } - }, - "status": "success", - "type": "response" + "TransactionType": "OfferCreate", + "TxnSignature": "3045022100A5023A0E64923616FCDB6D664F569644C7C9D1895772F986CD6B981B515B02A00220530C973E9A8395BC6FE2484948D2751F6B030FC7FB8575D1BFB406368AD554D9", + "hash": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9" + }, + "validated": true + } +} +``` +{% /tab %} + +{% tab label="Commandline" %} +```json +{ + "result" : { + "ledger_hash" : "793E56131D8D4ABFB27FA383BFC44F2978B046E023FF46C588D7E0C874C2472A", + "ledger_index" : 56865245, + "meta" : { + "AffectedNodes" : [ + { + "ModifiedNode" : { + "FinalFields" : { + "ExchangeRate" : "4F04C66806CF7400", + "Flags" : 0, + "RootIndex" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "TakerGetsCurrency" : "0000000000000000000000000000000000000000", + "TakerGetsIssuer" : "0000000000000000000000000000000000000000", + "TakerPaysCurrency" : "000000000000000000000000434E590000000000", + "TakerPaysIssuer" : "CED6E99370D5C00EF4EBF72567DA99F5661BFB3A" + }, + "LedgerEntryType" : "DirectoryNode", + "LedgerIndex" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400" + } + }, + { + "ModifiedNode" : { + "FinalFields" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Balance" : "10404767991", + "Flags" : 0, + "OwnerCount" : 3, + "Sequence" : 5037711 + }, + "LedgerEntryType" : "AccountRoot", + "LedgerIndex" : "1DECD9844E95FFBA273F1B94BA0BF2564DDF69F2804497A6D7837B52050174A2", + "PreviousFields" : { + "Balance" : "10404768003", + "Sequence" : 5037710 + }, + "PreviousTxnID" : "4DC47B246B5EB9CCE92ABA8C482479E3BF1F946CABBEF74CA4DE36521D5F9008", + "PreviousTxnLgrSeq" : 56865244 + } + }, + { + "DeletedNode" : { + "FinalFields" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "BookNode" : "0000000000000000", + "Flags" : 0, + "OwnerNode" : "0000000000000000", + "PreviousTxnID" : "8F5FF57B404827F12BDA7561876A13C3E3B3095CBF75334DBFB5F227391A660C", + "PreviousTxnLgrSeq" : 56865244, + "Sequence" : 5037708, + "TakerGets" : "15000000000", + "TakerPays" : { + "currency" : "CNY", + "issuer" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value" : "20160.75" + } + }, + "LedgerEntryType" : "Offer", + "LedgerIndex" : "26AAE6CA8D29E28A47C92ADF22D5D96A0216F0551E16936856DDC8CB1AAEE93B" + } + }, + { + "ModifiedNode" : { + "FinalFields" : { + "Flags" : 0, + "IndexNext" : "0000000000000000", + "IndexPrevious" : "0000000000000000", + "Owner" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "RootIndex" : "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + }, + "LedgerEntryType" : "DirectoryNode", + "LedgerIndex" : "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + } + }, + { + "CreatedNode" : { + "LedgerEntryType" : "Offer", + "LedgerIndex" : "8BAEE3C7DE04A568E96007420FA11ABD0BC9AE44D35932BB5640E9C3FB46BC9B", + "NewFields" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "Sequence" : 5037710, + "TakerGets" : "15000000000", + "TakerPays" : { + "currency" : "CNY", + "issuer" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value" : "20160.75" + } + } + } + } + ], + "TransactionIndex" : 0, + "TransactionResult" : "tesSUCCESS" + }, + "status" : "success", + "tx_json" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Fee" : "12", + "Flags" : 0, + "LastLedgerSequence" : 56865248, + "OfferSequence" : 5037708, + "Sequence" : 5037710, + "SigningPubKey" : "03B51A3EDF70E4098DA7FB053A01C5A6A0A163A30ED1445F14F87C7C3295FCB3BE", + "TakerGets" : "15000000000", + "TakerPays" : { + "currency" : "CNY", + "issuer" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value" : "20160.75" + }, + "TransactionType" : "OfferCreate", + "TxnSignature" : "3045022100A5023A0E64923616FCDB6D664F569644C7C9D1895772F986CD6B981B515B02A00220530C973E9A8395BC6FE2484948D2751F6B030FC7FB8575D1BFB406368AD554D9", + "hash" : "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9" + }, + "validated" : true + } } ``` {% /tab %} @@ -203,12 +445,33 @@ rippled transaction_entry E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDA このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に次のフィールドが含まれます。 -| `Field` | 型 | 説明 | -|:---------------|:--------------------------|:--------------------------------| +{% tabs %} + +{% tab label="API v2" %} + +| `Field` | 型 | 説明 | +|:-----------------|:--------------------------------|:-----| +| `close_time_iso` | 文字列 | レジャーの閉鎖時刻をISO 8601の時刻形式で表します。 | +| `hash` | 文字列 | トランザクションの一意なハッシュ識別子。 | +| `ledger_index` | 数値 - [レジャーインデックス][] | トランザクションが存在するレジャーバージョンのレジャーインデックス。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | _(省略される場合があります)_ トランザクションが存在するレジャーバージョンの識別用ハッシュ。 | +| `meta` | オブジェクト | [トランザクションのメタデータ](../../../protocol/transactions/metadata.md)。トランザクションの正確な結果を詳細に表示します。 | +| `tx_json` | オブジェクト | [Transactionオブジェクト](../../../protocol/transactions/index.md)のJSON表現。 | + +{% /tab %} + +{% tab label="API v1" %} + +| `Field` | 型 | 説明 | +| :------------- | :------------------------------ | ---- | | `ledger_index` | 数値 - [レジャーインデックス][] | トランザクションが検出されたレジャーバージョンのレジャーインデックス。これはリクエストのレジャーインデックスと同じです。 | -| `ledger_hash` | 文字列 - [ハッシュ][] | _(省略される場合があります)_ トランザクションが検出されたレジャーバージョンの識別用ハッシュ。これはリクエストのハッシュと同じです。 | -| `metadata` | オブジェクト | [トランザクションのメタデータ](../../../protocol/transactions/metadata.md)。トランザクションの正確な結果を詳細に表示します。 | -| `tx_json` | オブジェクト | [Transactionオブジェクト](../../../protocol/transactions/index.md)のJSON表現。 | +| `ledger_hash` | 文字列 - [ハッシュ][] | _(省略される場合があります)_ トランザクションが検出されたレジャーバージョンの識別用ハッシュ。これはリクエストのハッシュと同じです。 | +| `metadata` | オブジェクト | [トランザクションのメタデータ](../../../protocol/transactions/metadata.md)。トランザクションの正確な結果を詳細に表示します。 | +| `tx_json` | オブジェクト | [Transactionオブジェクト](../../../protocol/transactions/index.md)のJSON表現。 | + +{% /tab %} + +{% /tabs %} サーバがトランザクションの検出に失敗する原因として、次のようなものが考えられます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md index 1b5eb93690..66dbb00fc1 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md @@ -8,6 +8,7 @@ labels: - 支払い --- # tx + [[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/Tx.cpp "Source") `tx`メソッドは1つのトランザクションに関する情報を取得します。 @@ -18,48 +19,84 @@ labels: {% tabs %} -{% tab label="WebSocket" %} +{% tab label="WebSocket (Hash)" %} ```json { - "id": 1, - "command": "tx", - "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", - "binary": false + "id": 1, + "command": "tx", + "transaction": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", + "binary": false, + "api_version": 2 } ``` {% /tab %} -{% tab label="JSON-RPC" %} +{% tab label="WebSocket (CTID)" %} ```json { - "method": "tx", - "params": [ - { - "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", - "binary": false - } - ] + "id": "CTID example", + "command": "tx", + "ctid": "C005523E00000000", + "binary": false, + "api_version": 2 } ``` {% /tab %} -{% tab label="コマンドライン" %} +{% tab label="JSON-RPC (Hash)" %} +```json +{ + "method": "tx", + "params": [ + { + "transaction": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", + "binary": false, + "api_version": 2 + } + ] +} +``` +{% /tab %} + +{% tab label="JSON-RPC (CTID)" %} +```json +{ + "method": "tx", + "params": [ + { + "ctid": "C005523E00000000", + "binary": false, + "api_version": 2 + } + ] +} +``` +{% /tab %} + +{% tab label="Commandline" %} ```sh #Syntax: tx transaction [binary] -rippled tx E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7 false +rippled tx C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9 false ``` {% /tab %} {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#tx) +{% try-it method="tx" /%} リクエストには以下のパラメーターが含まれます。 -| `Field` | 型 | 説明 | -|:--------------|:--------|:---------------------------------------------------| -| `transaction` | 文字列 | トランザクションの256ビットハッシュ(16進数)。 | -| `binary` | ブール値 | (省略可、デフォルトではfalseです)trueの場合、トランザクションデータとメタデータがJSONではなく16進文字列として返されます。 | +| フィールド | 型 | 必須? | 説明 | +| :------------ | :----- | :----- | --- | +| `ctid` | 文字列 | いいえ | 検索するトランザクションの[コンパクトトランザクション識別子](../../api-conventions/ctid.md)。大文字の16進数のみを使用する必要があります。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.12.0" %}新規: rippled 1.12.0{% /badge %} _(Clio v2.0以前では対応していません)_ | +| `transaction` | 文字列 | いいえ | 検索するトランザクションの16進数の256ビットハッシュ | +| `binary` | 真偽値 | いいえ | `true` の場合、トランザクションデータとメタデータを16進数文字列へのバイナリ[シリアライズ](../../../protocol/binary-format.md)として返します。`false` の場合、トランザクションデータとメタデータを JSON で返します。デフォルトは `false` 。 | +| `min_ledger` | 数値 | いいえ | `max_ledger`と一緒に使うことで、このレジャーを起点として最大1000件までの[レジャーインデックス][ledger index]の範囲を指定することができます(自身を含む)。サーバーが[トランザクションを見つけられない](#not-foundレスポンス)場合、この範囲内のいずれのレジャーにも存在しないことになります。 | +| `max_ledger` | 数値 | いいえ | `min_ledger`と一緒に使うと、このレジャーで終わる最大1000個の[レジャーインデックス][ledger index]の範囲を指定できます(自身を含む)。サーバーが[トランザクションを見つけられない](#not-foundレスポンス)場合、この範囲内のいずれのレジャーにも存在しないことになります。 | + +`ctid`または`transaction`のいずれか一方のみを提供する必要があります。 + +{% admonition type="warning" name="注意" %}このコマンドは、トランザクションが`min_ledger`から`max_ledger`の範囲外のレジャーに含まれている場合でも、トランザクションを見つけることができる場合があります。{% /admonition %} ## レスポンスのフォーマット @@ -67,151 +104,260 @@ rippled tx E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7 fals {% tabs %} -{% tab label="WebSocket" %} +{% tab label="WebSocket (Hash)" %} +{% code-snippet file="/_api-examples/tx/ws-response-hash.json" language="json" /%} +{% /tab %} + +{% tab label="WebSocket (CTID)" %} +{% code-snippet file="/_api-examples/tx/ws-response-ctid.json" language="json" /%} +{% /tab %} + +{% tab label="JSON-RPC (Hash)" %} +{% code-snippet file="/_api-examples/tx/jsonrpc-response-hash.json" language="json" /%} +{% /tab %} + +{% tab label="JSON-RPC (CTID)" %} +{% code-snippet file="/_api-examples/tx/jsonrpc-response-ctid.json" language="json" /%} +{% /tab %} + +{% tab label="Commandline" %} ```json { - "id": 1, - "result": { - "Account": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "Amount": { - "currency": "USD", - "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "value": "1" - }, - "Destination": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "Fee": "10", - "Flags": 0, - "Paths": [ - [ - { - "account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "currency": "USD", - "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "type": 49, - "type_hex": "0000000000000031" + "result" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Fee" : "12", + "Flags" : 0, + "LastLedgerSequence" : 56865248, + "OfferSequence" : 5037708, + "Sequence" : 5037710, + "SigningPubKey" : "03B51A3EDF70E4098DA7FB053A01C5A6A0A163A30ED1445F14F87C7C3295FCB3BE", + "TakerGets" : "15000000000", + "TakerPays" : { + "currency" : "CNY", + "issuer" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value" : "20160.75" + }, + "TransactionType" : "OfferCreate", + "TxnSignature" : "3045022100A5023A0E64923616FCDB6D664F569644C7C9D1895772F986CD6B981B515B02A00220530C973E9A8395BC6FE2484948D2751F6B030FC7FB8575D1BFB406368AD554D9", + "date" : 648248020, + "hash" : "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9", + "inLedger" : 56865245, + "ledger_index" : 56865245, + "meta" : { + "AffectedNodes" : [ + { + "ModifiedNode" : { + "FinalFields" : { + "ExchangeRate" : "4F04C66806CF7400", + "Flags" : 0, + "RootIndex" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "TakerGetsCurrency" : "0000000000000000000000000000000000000000", + "TakerGetsIssuer" : "0000000000000000000000000000000000000000", + "TakerPaysCurrency" : "000000000000000000000000434E590000000000", + "TakerPaysIssuer" : "CED6E99370D5C00EF4EBF72567DA99F5661BFB3A" + }, + "LedgerEntryType" : "DirectoryNode", + "LedgerIndex" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400" } - ], - [ - { - "account": "rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", - "currency": "USD", - "issuer": "rD1jovjQeEpvaDwn9wKaYokkXXrqo4D23x", - "type": 49, - "type_hex": "0000000000000031" - }, - { - "account": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", - "currency": "USD", - "issuer": "rB5TihdPbKgMrkFqrqUC3yLdE8hhv4BdeY", - "type": 49, - "type_hex": "0000000000000031" - }, - { - "account": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "currency": "USD", - "issuer": "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV", - "type": 49, - "type_hex": "0000000000000031" + }, + { + "ModifiedNode" : { + "FinalFields" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "Balance" : "10404767991", + "Flags" : 0, + "OwnerCount" : 3, + "Sequence" : 5037711 + }, + "LedgerEntryType" : "AccountRoot", + "LedgerIndex" : "1DECD9844E95FFBA273F1B94BA0BF2564DDF69F2804497A6D7837B52050174A2", + "PreviousFields" : { + "Balance" : "10404768003", + "Sequence" : 5037710 + }, + "PreviousTxnID" : "4DC47B246B5EB9CCE92ABA8C482479E3BF1F946CABBEF74CA4DE36521D5F9008", + "PreviousTxnLgrSeq" : 56865244 } - ] - ], - "SendMax": { - "currency": "USD", - "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "value": "1.01" - }, - "Sequence": 88, - "SigningPubKey": "02EAE5DAB54DD8E1C49641D848D5B97D1B29149106174322EDF98A1B2CCE5D7F8E", - "TransactionType": "Payment", - "TxnSignature": "30440220791B6A3E036ECEFFE99E8D4957564E8C84D1548C8C3E80A87ED1AA646ECCFB16022037C5CAC97E34E3021EBB426479F2ACF3ACA75DB91DCC48D1BCFB4CF547CFEAA0", - "hash": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7", - "inLedger": 348734, - "ledger_index": 348734, - "meta": { - "AffectedNodes": [ - { - "ModifiedNode": { - "FinalFields": { - "Account": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "Balance": "59328999119", - "Flags": 0, - "OwnerCount": 11, - "Sequence": 89 - }, - "LedgerEntryType": "AccountRoot", - "LedgerIndex": "E0D7BDE68B468FF0B8D948FD865576517DA987569833A05374ADB9A72E870A06", - "PreviousFields": { - "Balance": "59328999129", - "Sequence": 88 - }, - "PreviousTxnID": "C26AA6B4F7C3B9F55E17CD0D11F12032A1C7AD2757229FFD277C9447A8815E6E", - "PreviousTxnLgrSeq": 348700 - } - }, - { - "ModifiedNode": { - "FinalFields": { - "Balance": { - "currency": "USD", - "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", - "value": "-1" - }, - "Flags": 131072, - "HighLimit": { - "currency": "USD", - "issuer": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59", - "value": "100" - }, - "HighNode": "0000000000000000", - "LowLimit": { - "currency": "USD", - "issuer": "r3PDtZSa5LiYp1Ysn1vMuMzB59RzV3W9QH", - "value": "0" - }, - "LowNode": "0000000000000000" - }, - "LedgerEntryType": "RippleState", - "LedgerIndex": "EA4BF03B4700123CDFFB6EB09DC1D6E28D5CEB7F680FB00FC24BC1C3BB2DB959", - "PreviousFields": { - "Balance": { - "currency": "USD", - "issuer": "rrrrrrrrrrrrrrrrrrrrBZbvji", - "value": "0" - } - }, - "PreviousTxnID": "53354D84BAE8FDFC3F4DA879D984D24B929E7FEB9100D2AD9EFCD2E126BCCDC8", - "PreviousTxnLgrSeq": 343570 - } + }, + { + "DeletedNode" : { + "FinalFields" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "BookNode" : "0000000000000000", + "Flags" : 0, + "OwnerNode" : "0000000000000000", + "PreviousTxnID" : "8F5FF57B404827F12BDA7561876A13C3E3B3095CBF75334DBFB5F227391A660C", + "PreviousTxnLgrSeq" : 56865244, + "Sequence" : 5037708, + "TakerGets" : "15000000000", + "TakerPays" : { + "currency" : "CNY", + "issuer" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value" : "20160.75" + } + }, + "LedgerEntryType" : "Offer", + "LedgerIndex" : "26AAE6CA8D29E28A47C92ADF22D5D96A0216F0551E16936856DDC8CB1AAEE93B" } - ], - "TransactionIndex": 0, - "TransactionResult": "tesSUCCESS" - }, - "validated": true - }, - "status": "success", - "type": "response" + }, + { + "ModifiedNode" : { + "FinalFields" : { + "Flags" : 0, + "IndexNext" : "0000000000000000", + "IndexPrevious" : "0000000000000000", + "Owner" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "RootIndex" : "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + }, + "LedgerEntryType" : "DirectoryNode", + "LedgerIndex" : "47FAF5D102D8CE655574F440CDB97AC67C5A11068BB3759E87C2B9745EE94548" + } + }, + { + "CreatedNode" : { + "LedgerEntryType" : "Offer", + "LedgerIndex" : "8BAEE3C7DE04A568E96007420FA11ABD0BC9AE44D35932BB5640E9C3FB46BC9B", + "NewFields" : { + "Account" : "rhhh49pFH96roGyuC4E5P4CHaNjS1k8gzM", + "BookDirectory" : "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F04C66806CF7400", + "Sequence" : 5037710, + "TakerGets" : "15000000000", + "TakerPays" : { + "currency" : "CNY", + "issuer" : "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "value" : "20160.75" + } + } + } + } + ], + "TransactionIndex" : 0, + "TransactionResult" : "tesSUCCESS" + }, + "status" : "success", + "validated" : true + } } ``` {% /tab %} {% /tabs %} +{% tabs %} + +{% tab label="API v2" %} + このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に[Transactionオブジェクト](../../../protocol/transactions/index.md)フィールドと以下の追加のフィールドが含まれています。 -| `Field` | 型 | 説明 | -|:---------------|:-----------------|:-----------------------------------------| -| `hash` | 文字列 | トランザクションのSHA-512ハッシュ | -| `inLedger` | 符号なし整数 | (廃止予定)`ledger_index`のエイリアス。 | -| `ledger_index` | 符号なし整数 | このトランザクションが記録されているレジャーのシーケンス番号。 | -| `meta` | オブジェクト | トランザクションに関する各種メタデータ。 | -| `validated` | ブール値 | このデータが検証済みレジャーバージョンのデータである場合はtrue。省略されている場合またはfalseに設定されている場合は、このデータは最終データではありません。 | -| (各種) | (各種) | [Transactionオブジェクト](../../../protocol/transactions/index.md)のその他のフィールド | +| `Field` | 型 | 説明 | +| :------------- | :------------------ | ---- | +| `ctid` | 文字列 | 検索するトランザクションの[コンパクトトランザクション識別子](../../api-conventions/ctid.md)。大文字の16進数のみを使用する必要があります。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.12.0" %}新規: rippled 1.12.0{% /badge %} _(Clio v2.0以前では対応していません)_ | +| `date` | 数値 | トランザクションが適用されたレジャーの[閉鎖時間](../../../../concepts/ledgers/ledger-close-times.md)。[Ripple Epoch][]からの秒数で表されます。 | +| `hash` | 文字列 | トランザクションの一意の[識別ハッシュ][] | +| `inLedger` | 数値 | _(非推奨)_ `ledger_index`の別名。 | +| `ledger_index` | 数値 | トランザクションが含まれるレジャーの[レジャーインデックス][]。 | +| `meta` | オブジェクト (JSON) | (JSONモード) [Transaction metadata](../../../protocol/transactions/metadata.md)。トランザクションの結果を詳細に表示します。 | +| `meta_blob` | 文字列 (バイナリ) | (バイナリモード) [Transaction metadata](../../../protocol/transactions/metadata.md)。トランザクションの結果を詳細に表示します。 | +| `tx_blob` | 文字列 (バイナリ) | (バイナリモード) トランザクションデータを16進数の文字列で表したもの。 | +| `tx_json` | オブジェクト (JSON) | (JSONモード) トランザクションデータをJSONで表したもの。 | +| `validated` | 真偽値 | `true`の場合、このデータは検証済みのレジャーバージョンからのものです。`false`の場合、このデータはまだ検証されていません。 | + +{% /tab %} + +{% tab label="API v1" %} + +このレスポンスは[標準フォーマット][]に従っており、正常に完了した場合は結果に[Transactionオブジェクト](../../../protocol/transactions/index.md)フィールドと以下の追加のフィールドが含まれています。 + +| `Field` | 型 | 説明 | +| :------------- | :--------------------------------------- | --- | +| `ctid` | 文字列 | 検索するトランザクションの[コンパクトトランザクション識別子](../../api-conventions/ctid.md)。大文字の16進数のみを使用する必要があります。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.12.0" %}新規: rippled 1.12.0{% /badge %} _(Clio v2.0以前では対応していません)_ | +| `date` | 数値 | トランザクションが適用されたレジャーの[閉鎖時間](../../../../concepts/ledgers/ledger-close-times.md)。[Ripple Epoch][]からの秒数で表されます。 | +| `hash` | 文字列 | トランザクションの一意の[識別ハッシュ][] | +| `inLedger` | 数値 | _(非推奨)_ `ledger_index`の別名。 | +| `ledger_index` | 数値 | トランザクションが含まれるレジャーの[レジャーインデックス][]。 | +| `meta` | オブジェクト (JSON) or 文字列 (バイナリ) | [Transaction metadata](../../../protocol/transactions/metadata.md)。トランザクションの結果を詳細に表示します。 | +| `tx` | 文字列 (バイナリ) | (バイナリモード) トランザクションデータを16進数の文字列で表したもの。 | +| `tx_json` | オブジェクト (JSON) | (JSONモード) トランザクションデータをJSONで表したもの。 | +| `validated` | 真偽値 | `true`の場合、このデータは検証済みのレジャーバージョンからのものです。`false`の場合、このデータはまだ検証されていません。 | +| (その他) | (その他) | [Transactionオブジェクト](../../../protocol/transactions/index.md)のその他のフィールド | + +{% /tab %} + +{% /tabs %} + +### Not Foundレスポンス + +サーバがトランザクションを見つけられない場合、`txnNotFound`エラーを返します。これは2つのことを意味する可能性があります。 + +- トランザクションはどのレジャーバージョンにも含まれておらず、送信されていません。 +- トランザクションは、サーバが保持していないレジャーバージョンに含まれていました。 + +`txnNotFound`単体では、トランザクションの[最終的な結果](../../../../concepts/transactions/finality-of-results/index.md)を知るためには不十分です。 + +さらに可能性を絞り込むために、リクエストに`min_ledger`と`max_ledger`フィールドを指定してレジャーの範囲を指定することができます。リクエストに`min_ledger`と`max_ledger`フィールドを指定した場合、`txnNotFound`レスポンスには以下のフィールドが含まれます。 + +| フィールド | 型 | 説明 | +|:---------------|:----------|:-----------------------------------------| +| `searched_all` | 真偽値 | _(リクエストに`min_ledger`と`max_ledger`が指定されていない場合は省略)_ サーバが指定されたすべてのレジャーバージョンを検索できた場合は`true`。サーバが指定されたすべてのレジャーバージョンを持っていないため、トランザクションがそれらのいずれかに含まれているかどうかを確認できない場合は`false`。 | + +リクエストされたレジャー範囲を完全に検索した`txnNotFound`レスポンスの例: + +{% tabs %} + +{% tab label="WebSocket" %} +```json +{ + "error": "txnNotFound", + "error_code": 29, + "error_message": "Transaction not found.", + "id": 1, + "request": { + "binary": false, + "command": "tx", + "id": 1, + "max_ledger": 54368673, + "min_ledger": 54368573, + "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7" + }, + "searched_all": true, + "status": "error", + "type": "response" +} +``` +{% /tab %} + +{% tab label="JSON-RPC" %} +```json +200 OK + +{ + "result": { + "error": "txnNotFound", + "error_code": 29, + "error_message": "Transaction not found.", + "request": { + "binary": false, + "command": "tx", + "max_ledger": 54368673, + "min_ledger": 54368573, + "transaction": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BDDACFCD1698C7" + }, + "searched_all": true, + "status": "error" + } +} +``` +{% /tab %} + +{% /tabs %} ## 考えられるエラー * [汎用エラータイプ][]のすべて。 * `invalidParams` - 1つ以上のフィールドの指定が正しくないか、1つ以上の必須フィールドが指定されていません。 * `txnNotFound` - トランザクションが存在しないか、または`rippled`で使用できない古いレジャーバージョンのトランザクションです。 +* `excessiveLgrRange` - リクエストの`min_ledger`と`max_ledger`フィールドの差が1000を超えています。 +* `invalidLgrRange` - 指定された`min_ledger`が`max_ledger`より大きいか、それらのパラメータのいずれかが有効なレジャーインデックスではありません。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md index 448008d921..463d8d6a92 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md @@ -48,7 +48,7 @@ rippled tx_history 0 {% /tabs %} -[試してみる>](/resources/dev-tools/websocket-api-tool#tx_history) +{% try-it method="tx_history" /%} リクエストには以下のパラメーターが含まれます。 diff --git a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md index 9f986b3915..0e8fc509e4 100644 --- a/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md +++ b/@l10n/ja/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md @@ -45,7 +45,7 @@ rippled ping {% /tabs %} -[試してみる >](/resources/dev-tools/websocket-api-tool#ping) +{% try-it method="ping" /%} リクエストにはパラメーターが含まれていません。 diff --git a/@l10n/ja/docs/references/protocol/binary-format.md b/@l10n/ja/docs/references/protocol/binary-format.md index 18cebd6671..57baf3c5a0 100644 --- a/@l10n/ja/docs/references/protocol/binary-format.md +++ b/@l10n/ja/docs/references/protocol/binary-format.md @@ -155,17 +155,17 @@ curated_anchors: ### タイプコード -各フィールドタイプには任意のタイプコードが含まれており、番号が小さいコードから最初にソートされます。これらのコードは[`SField.h`](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/SField.h#L57-L74)で定義されています。 +各フィールドタイプには任意のタイプコードが含まれており、番号が小さいコードから最初にソートされます。これらのコードは[`SField.h`](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/SField.h#L60-L98)で定義されています。 -たとえば [UInt32のタイプコードが2である](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/SField.h#L59)ので、すべてのUInt32フィールドは、すべての[Amountフィールド(タイプコード6)](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/SField.h#L63)よりも前に位置します。 +たとえば [UInt32のタイプコードが2である](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/SField.h#L67)ので、すべてのUInt32フィールドは、すべての[Amountフィールド(タイプコード6)](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/SField.h#L71)よりも前に位置します。 [定義ファイル](#定義ファイル)には、`TYPES`マップの各タイプのタイプコードがリストされています。 ### フィールドコード -各フィールドにはフィールドコードが含まれています。フィールドコードは、同じタイプのフィールドをソートするときに使用され、番号が小さいコードが最初になるようにソートされます。これらのフィールドは[`SField.cpp`](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L72-L266)で定義されています。 +各フィールドにはフィールドコードが含まれています。フィールドコードは、同じタイプのフィールドをソートするときに使用され、番号が小さいコードが最初になるようにソートされます。これらのフィールドは[`sfields/macro`](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/detail/sfields.macro)で定義されています。 -たとえば[Paymentトランザクション][]の`Account`フィールドの[ソートコードが1である](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L219)場合、このフィールドは`Destination`フィールド([ソートコードが3である](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L221)フィールド)よりも前に位置します。 +たとえば[Paymentトランザクション][]の`Account`フィールドの[ソートコードが1である](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/detail/sfields.macro#L269)場合、このフィールドは`Destination`フィールド([ソートコードが3である](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/detail/sfields.macro#L271)フィールド)よりも前に位置します。 フィールドコードは異なるフィールドタイプのフィールドで再利用されますが、同じタイプのフィールドに同じフィールドコードが含まれることはありません。タイプコードとフィールドコードを組み合わせると、フィールドの一意の[フィールドID](#フィールドid)になります。 diff --git a/@l10n/ja/docs/references/protocol/data-types/nftoken.md b/@l10n/ja/docs/references/protocol/data-types/nftoken.md index 35d9165ee5..fce32c454b 100644 --- a/@l10n/ja/docs/references/protocol/data-types/nftoken.md +++ b/@l10n/ja/docs/references/protocol/data-types/nftoken.md @@ -8,7 +8,7 @@ labels: --- # NFToken -`NFToken`オブジェクトは、1つの非代替性トークン(NFT)を表します。単体では保存されず、他の`NFToken`オブジェクトと共に[NFTokenPage オブジェクト][]に格納されます。 +`NFToken`オブジェクトは、1つの非代替性トークン(NFT)を表します。単体では保存されず、他の`NFToken`オブジェクトと共に[NFTokenPageオブジェクト][]に格納されます。 _([NonFungibleTokensV1_1 amendment][]により追加されました。)_ @@ -58,7 +58,7 @@ E) 32ビットの(自動生成される)単調増加するシーケンス番 | `lsfTransferable` | `0x0008` | 設定されている場合、この`NFToken`は所有者から別の所有者に転送することができます。設定されていない場合、所有者は発行者との間でのみ譲渡が可能です。 | | `lsfReservedFlag` | `0x8000` | 将来の使用に備えて確保されています。このフラグを設定しようとすると失敗します。 | -`NFToken`のフラグは変更できません。[NFTokenMint トランザクション][]でのみ設定可能で、後で変更することはできません。 +`NFToken`のフラグは変更できません。[NFTokenMintトランザクション][]でのみ設定可能で、後で変更することはできません。 ### 例 @@ -100,7 +100,7 @@ E) 32ビットの(自動生成される)単調増加するシーケンス番 ![シーケンス番号](/docs/img/nftokene.png "シーケンス番号") -[NFTokenMint トランザクション][]では`NFTokenID`のこのフィールドを`Issuer`アカウントの`MintedNFTokens`フィールドを基に自動的に設定します。発行者の[AccountRoot オブジェクト][]が`MintedNFTokens`フィールドを持っていない場合、そのフィールドは値 0 と見なされます。フィールドの値は1ずつ増加します。 +[NFTokenMintトランザクション][]では`NFTokenID`のこのフィールドを`Issuer`アカウントの`MintedNFTokens`フィールドを基に自動的に設定します。発行者の[AccountRootオブジェクト][]が`MintedNFTokens`フィールドを持っていない場合、そのフィールドは値 0 と見なされます。フィールドの値は1ずつ増加します。 ## URI diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md index 5f7f584c35..64b4e72022 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md @@ -96,10 +96,12 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ | 所有NFTの数 | 最良のケース | 一般 | 最悪のケース | |:------------|:----------|:--------|:-----------| -| 32以下 | 2 XRP | 2 XRP | 2 XRP | -| 50 | 4 XRP | 6 XRP | 8 XRP | -| 200 | 14 XRP | 18 XRP | 26 XRP | -| 1000 | 64 XRP | 84 XRP | 126 XRP | +| 32以下 | 0.2 XRP | 0.2 XRP | 0.2 XRP | +| 50 | 0.4 XRP | 0.6 XRP | 0.8 XRP | +| 200 | 1.4 XRP | 1.8 XRP | 2.6 XRP | +| 1000 | 6.4 XRP | 8.4 XRP | 12.6 XRP | + + これらの数字は推定であり、実際の数字とは異なる場合があります。 diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md index 091065823a..1eaa52ff30 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md @@ -12,7 +12,7 @@ labels: _([TicketBatch amendment][]が必要です)_ -`Ticket`オブジェクトタイプは、将来の使用のために確保されたアカウント[シーケンス番号](../../data-types/basic-data-types.md#アカウントシーケンス)を追跡する[Ticket](../../../../concepts/accounts/tickets.md)を表します。[TicketCreate トランザクション][]で新しいチケットを作成することができます。 +`Ticket`オブジェクトタイプは、将来の使用のために確保されたアカウント[シーケンス番号](../../data-types/basic-data-types.md#アカウントシーケンス)を追跡する[Ticket](../../../../concepts/accounts/tickets.md)を表します。[TicketCreateトランザクション][]で新しいチケットを作成することができます。 ## {% $frontmatter.seo.title %}のJSONの例 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/accountdelete.md b/@l10n/ja/docs/references/protocol/transactions/types/accountdelete.md index 805351d624..dae0411cca 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/accountdelete.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/accountdelete.md @@ -8,7 +8,7 @@ labels: --- # AccountDelete -[[ソース]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/DeleteAccount.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteAccount.cpp "Source") _[DeletableAccounts Amendment](/resources/known-amendments.md#deletableaccounts)が必要です_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md b/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md index de1eecc833..11afc73b06 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md @@ -7,11 +7,11 @@ labels: - AMM --- # AMMBid -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMBid.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMBid.cpp "Source") _([AMM amendment][]により追加されました。)_ -[自動マーケットメーカー](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md)のオークションスロットに入札することができます。落札されると、競り落とされるか24時間が経過するまで、割引料金でAMMと取引することができます。24時間が経過する前に競り落とされた場合、残り時間に応じて落札価格の一部が払い戻されます。 +[自動マーケットメーカー](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md)のオークションスロットに入札することができます。落札されると、競り落とされるか24時間が経過するまで、割引料金でAMMと取引することができます。24時間が経過する前に競り落とされた場合、残り時間に応じて落札価格の一部が払い戻されます。AMMの取引手数料が0の場合、入札は可能ですが、入札スロットは取引手数料が変更されるまでメリットをもたらしません。 AMMのLPトークンを使って落札すると、落札に利用したLPトークンはAMMに返され、LPトークンの残高が減ります。 @@ -62,8 +62,6 @@ AMMのLPトークンを使って落札すると、落札に利用したLPトー | `BidMax` | [通貨額][] | Amount | いいえ | スロットに支払う最大の金額。落札するためのコストがこの金額より高い場合、取引は失敗します。省略された場合は、落札に必要な金額を支払います。 | | `AuthAccounts` | 配列 | STArray | いいえ | 割引料金で取引を許可する最大4つの追加のアカウントのリスト。これには、トランザクション送信者のアドレスは含めることはできません。これらのオブジェクトはそれぞれ[Auth Accountオブジェクト](#auth-accountオブジェクト)である必要があります。. | -`BidMin` と `BidMax` の両方を指定することはできません。 - ### Auth Accountオブジェクト `AuthAccounts` 配列の各メンバーは、以下のフィールドを持つオブジェクトである必要があります。 @@ -78,14 +76,20 @@ AMMのLPトークンを使って落札すると、落札に利用したLPトー 落札された場合、トランザクションは自動的に前のスロット所有者を競り落とし、送信者のLPトークンから落札価格が引き落とされます。落札価格は、72分ずつ20回に区切られた時間経過とともに減少します。もし送信者が落札するのに十分なLPトークンを持っていなかったり、入札価格がトランザクションの`BidMax`値より高い場合、トランザクションは`tecAMM_FAILED_BID`という結果で失敗します。 -- オークションスロットが現在空であったり、期限切れ、または最後のインターバルである場合、**最低入札価格**は**AMMの総LPトークン残高の0.001%**です。 +- オークションスロットが現在空であったり、期限切れ、または最後のインターバルである場合、**最低入札価格**は次のように定義されます。 - {% admonition type="warning" name="注意" %}この最小値は暫定値であり、AMM機能が最終的に完成する前に変更される可能性があります。{% /admonition %} + ```text + M = L * F / 25 + ``` + + - `M`: 最低入札価格。 + - `L`: AMMによって現在発行されているLPトークンの総数。 + - `F`: 取引手数料。小数で表されます。 - それ以外の場合、現在の保有者に落札価格は、以下の式で計算されます。 ``` - P = B × 1.05 × (1 - t⁶⁰) + M + P = B × 1.05 × (1 - t^60) + M ``` - `P`: 落札価格。単位はLPトークン。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammcreate.md b/@l10n/ja/docs/references/protocol/transactions/types/ammcreate.md index 5589879e34..2193bfc120 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammcreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammcreate.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMCreate -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMCreate.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMCreate.cpp "Source") _([AMM amendment][]により追加されました。)_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammdelete.md b/@l10n/ja/docs/references/protocol/transactions/types/ammdelete.md index e6daf3da26..43a6dbde74 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammdelete.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammdelete.md @@ -7,13 +7,13 @@ labels: - AMM --- # AMMDelete -[[ソース]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/AMMDelete.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDelete.cpp "Source") _([AMM amendment][]により追加されました。)_ 自動で削除しきれなかった空の[自動マーケットメーカー](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md)(AMM)インスタンスを削除します。 -通常、[AMMWithdraw トランザクション][]は、AMMのプールからすべての資産を引き出すと、AMMと関連するすべてのレジャーエントリを自動的に削除します。ただし、AMMアカウントへのトラストラインが多すぎて1回のトランザクションで削除できない場合は、AMMの削除を行わない場合があります。しかしこの場合でも、AMMDeleteトランザクションは最大512のトラストラインを削除します。すべてのトラストラインとそのAMMを削除するには、数回のAMMDeleteトランザクションが必要な場合があります。いずれの場合も、AMMとAccountRootのレジャーエントリが削除されるのは、最後のトランザクションのみです。 +通常、[AMMWithdrawトランザクション][]は、AMMのプールからすべての資産を引き出すと、AMMと関連するすべてのレジャーエントリを自動的に削除します。ただし、AMMアカウントへのトラストラインが多すぎて1回のトランザクションで削除できない場合は、AMMの削除を行わない場合があります。しかしこの場合でも、AMMDeleteトランザクションは最大512のトラストラインを削除します。すべてのトラストラインとそのAMMを削除するには、数回のAMMDeleteトランザクションが必要な場合があります。いずれの場合も、AMMとAccountRootのレジャーエントリが削除されるのは、最後のトランザクションのみです。 ## {% $frontmatter.seo.title %} JSONの例 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammdeposit.md b/@l10n/ja/docs/references/protocol/transactions/types/ammdeposit.md index 86a437f438..9357ddb228 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammdeposit.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammdeposit.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMDeposit -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMDeposit.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDeposit.cpp "Source") _([AMM amendment][]により追加されました。)_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammvote.md b/@l10n/ja/docs/references/protocol/transactions/types/ammvote.md index 8634ec18b2..65d7779f7d 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammvote.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammvote.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMVote -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMVote.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMVote.cpp "Source") _([AMM amendment][]により追加されました。)_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammwithdraw.md b/@l10n/ja/docs/references/protocol/transactions/types/ammwithdraw.md index 19a62d752a..ac2710893a 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammwithdraw.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammwithdraw.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMWithdraw -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMWithdraw.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMWithdraw.cpp "Source") _([AMM amendment][]により追加されました。)_ @@ -85,7 +85,7 @@ AMMの流動性プロバイダトークン(LPトークン)を返却するこ ### AMMの削除 -トランザクションがAMMに存在する全ての資産を出金すると、AMMは関連するすべてのトラストラインとともに自動的に削除されます。ただし、1回のトランザクションで削除できるトラストラインの数には制限があります。トラストラインが多すぎる場合、AMMは空の状態でレジャーに残ります。これは[AMMDelete トランザクション][]で削除するか、「空のAMM」に対する特別なダブルアセット入金([AMMDeposit トランザクション][])で補充することができます。AMMが空の間は、そのAMMに対する他の操作は無効です。 +トランザクションがAMMに存在する全ての資産を出金すると、AMMは関連するすべてのトラストラインとともに自動的に削除されます。ただし、1回のトランザクションで削除できるトラストラインの数には制限があります。トラストラインが多すぎる場合、AMMは空の状態でレジャーに残ります。これは[AMMDeleteトランザクション][]で削除するか、「空のAMM」に対する特別なダブルアセット入金([AMMDepositトランザクション][])で補充することができます。AMMが空の間は、そのAMMに対する他の操作は無効です。 ### AMMWithdrawのフラグ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md b/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md index 02a5adf118..16bc89e775 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md @@ -7,7 +7,7 @@ labels: - Checks --- # CheckCancel -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CancelCheck.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelCheck.cpp "Source") _([Checks Amendment][]が必要です)_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md b/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md index c612762e46..6f1913186a 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md @@ -7,7 +7,7 @@ labels: - Checks --- # CheckCash -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CashCheck.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CashCheck.cpp "Source") _([Checks Amendment][]が必要です)_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md b/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md index 07c5e69bb8..afa51c12a0 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md @@ -7,7 +7,7 @@ labels: - Checks --- # CheckCreate -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp "Source") _([Checks Amendment][]が必要です)_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/clawback.md b/@l10n/ja/docs/references/protocol/transactions/types/clawback.md index 67c0c37621..76aee141a1 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/clawback.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/clawback.md @@ -8,7 +8,7 @@ labels: --- # Clawback -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Clawback.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Clawback.cpp "ソース") {% partial file="/@l10n/ja/docs/_snippets/clawback-disclaimer.md" /%} diff --git a/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md b/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md index 53f4b778b8..b4e2202f80 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md @@ -7,7 +7,7 @@ labels: - セキュリティ --- # DepositPreauth -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DepositPreauth.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DepositPreauth.cpp "Source") _[DepositPreauth Amendment][]により追加されました。_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/diddelete.md b/@l10n/ja/docs/references/protocol/transactions/types/diddelete.md index cbe47eaaff..aa441686b7 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/diddelete.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/diddelete.md @@ -8,7 +8,7 @@ labels: --- # DIDDelete -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DID.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "ソース") _([DID Amendment][])_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/didset.md b/@l10n/ja/docs/references/protocol/transactions/types/didset.md index 2b9fde3862..7aa41bdc73 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/didset.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/didset.md @@ -8,7 +8,7 @@ labels: --- # DIDSet -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DID.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "ソース") _([DID Amendment][])_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/escrowcancel.md b/@l10n/ja/docs/references/protocol/transactions/types/escrowcancel.md index 90ac76c350..8dd6289f36 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/escrowcancel.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/escrowcancel.md @@ -8,7 +8,7 @@ labels: --- # EscrowCancel -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") _[Escrow Amendment][]により追加されました。_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/escrowcreate.md b/@l10n/ja/docs/references/protocol/transactions/types/escrowcreate.md index ce20b64765..c2ac28fe8e 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/escrowcreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/escrowcreate.md @@ -8,7 +8,7 @@ labels: --- # EscrowCreate -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") _[Escrow Amendment][]により追加されました。_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/escrowfinish.md b/@l10n/ja/docs/references/protocol/transactions/types/escrowfinish.md index aac76c5efd..c62a3e04bf 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/escrowfinish.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/escrowfinish.md @@ -8,7 +8,7 @@ labels: --- # EscrowFinish -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") エスクロー(保留中の支払い)から受取人へXRPを送金します。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md index bf1cb5d843..a90742728f 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md @@ -7,7 +7,7 @@ labels: - NFT, 非代替性トークン --- # NFTokenAcceptOffer -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenAcceptOffer.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenAcceptOffer.cpp "ソース") `NFTokenAcceptOffer`トランザクションは`NFToken`の購入または売却のオファーを受け入れるために使用されます。トランザクションは次のいずれかになります。 @@ -36,7 +36,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ } ``` -[トランザクションの例を確認 >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenAcceptOffer%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22BEB64444C36D1072820BAED317BE2E6470AFDAD9D8FB2D16A15A4D46E5A71909%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="BEB64444C36D1072820BAED317BE2E6470AFDAD9D8FB2D16A15A4D46E5A71909" server="s2" /%} ## ブローカー vs. ダイレクト モード diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md index c45902a3f1..dec1ef145e 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md @@ -7,7 +7,7 @@ labels: - 非代替性トークン, NFT --- # NFTokenCreateOffer -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenCreateOffer.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenCreateOffer.cpp "ソース") トランザクションを送信するアカウントが所有する`NFToken`に対する新しい _売却_ オファー、または別のアカウントが所有する`NFToken`に対する新しい _購入_ オファーを作成します。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md index aee6dedea0..0b04b61777 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmint.md @@ -2,12 +2,12 @@ html: nftokenmint.html parent: transaction-types.html seo: - description: TokenMintを使用して新規NFTを発行する。 + description: NFTokenMintを使用して新規NFTを発行する。 labels: - 非代替性トークン, NFT --- # NFTokenMint -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenMint.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenMint.cpp "Source") `NFTokenMint`トランザクションは非代替性トークンを作成し、`NFTokenMinter`に紐付く[NFTokenPageオブジェクト][]に[NFToken][]オブジェクトとして追加します。このトランザクションは`NFTokenMinter`にとって、不変と定義されているトークンフィールド(例えば`Flags`)を設定することができる唯一の方法です。 @@ -38,30 +38,30 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ } ``` -[トランザクションを取得してみる >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenMint%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22B42C7A0C9C3061463C619999942D0F25E4AE5FB051EA0D7A4EE1A924DB6DFEE8%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="B42C7A0C9C3061463C619999942D0F25E4AE5FB051EA0D7A4EE1A924DB6DFEE8" /%} {% raw-partial file="/@l10n/ja/docs/_snippets/tx-fields-intro.md" /%} -| フィールド | JSONの型 | [内部の型][] | 説明 | -|:--------------|:--------------------|:------------------|:-------------------| -| `NFTokenTaxon` | 数値 | UInt32 | トークンに関連する分類群。Taxonは通常、トークンの発行者が選択した値です。1つのTaxonは複数のトークンに使用することができます。`0xFFFFFFFF`より大きいTaxonの識別子は使用できません。 | -| `Issuer` | 文字列 | AccountID | _(省略可)_ 送信元アカウントが他のアカウントの代理としてトークンを発行する場合における、トークンの発行者。トランザクションを送信するアカウントが `NFToken` の発行者である場合、このフィールドは指定してはいけません。指定される場合、発行者の[AccountRootオブジェクト][]には `NFTokenMinter` フィールドが、このトランザクションの送信者(このトランザクションの`Account`フィールド)に設定されていなければなりません。 | -| `TransferFee` | 数値 | UInt16 | _(省略可)_ この値は、`NFToken`の二次販売が許可されている場合に、発行者が徴収する手数料を指定します。このフィールドの有効な値は0から50000の間で、0.001刻みで0.00%から50.00%の送金手数料を設定することができます。このフィールドが設定されている場合、トランザクションは[`tfTransferable`フラグ](#nftokenmintのフラグ) を有効にしなければなりません。 | -| `URI` | 文字列 | Blob | _(省略可)_ 最大256バイトの任意のデータ。JSONでは、16進数の文字列としてエンコードされる必要があります。URIを16進数に変換するために、[`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex)ユーティリティを使用することができます。これは、NFTに関連するデータまたはメタデータを指し示すURIであることを想定しています。コンテンツは、HTTPまたはHTTPS URL、IPFS URI、マグネットリンク、[RFC2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397) としてエンコードされた即値データ、あるいは発行者固有のエンコーディングにデコードされていることがあります。URIの有効性はチェックされません。 | -| `Amount` | [Currency Amount][] | Amount | _(Optional)_ Indicates the amount expected or offered for the corresponding `NFToken`. The amount must be non-zero, except where this is an offer to sell and the asset is XRP; then, it is legal to specify an amount of zero, which means that the current owner of the token is giving it away, gratis, either to anyone at all, or to the account identified by the `Destination` field. | -| `Expiration` | Number | UInt32 | _(Optional)_ Time after which the offer is no longer active, in [seconds since the Ripple Epoch][]. Results in an error if the `Amount` field is not specified. | -| `Destination` | String | AccountID | _(Optional)_ If present, indicates that this offer may only be accepted by the specified account. Attempts by other accounts to accept this offer MUST fail. Results in an error if the `Amount` field is not specified. | +| フィールド | JSONの型 | [内部の型][] | 説明 | +| :------------- | :------------------ | :----------- | ---- | +| `NFTokenTaxon` | 数値 | UInt32 | トークンに関連する分類群。Taxonは通常、トークンの発行者が選択した値です。1つのTaxonは複数のトークンに使用することができます。`0xFFFFFFFF`より大きいTaxonの識別子は使用できません。 | +| `Issuer` | 文字列 | AccountID | _(省略可)_ 送信元アカウントが他のアカウントの代理としてトークンを発行する場合における、トークンの発行者。トランザクションを送信するアカウントが `NFToken` の発行者である場合、このフィールドは指定してはいけません。指定される場合、発行者の[AccountRootオブジェクト][]には `NFTokenMinter` フィールドが、このトランザクションの送信者(このトランザクションの`Account`フィールド)に設定されていなければなりません。 | +| `TransferFee` | 数値 | UInt16 | _(省略可)_ この値は、`NFToken`の二次販売が許可されている場合に、発行者が徴収する手数料を指定します。このフィールドの有効な値は0から50000の間で、0.001刻みで0.00%から50.00%の送金手数料を設定することができます。このフィールドが設定されている場合、トランザクションは[`tfTransferable`フラグ](#nftokenmintのフラグ) を有効にしなければなりません。 | +| `URI` | 文字列 | Blob | _(省略可)_ 最大256バイトの任意のデータ。JSONでは、16進数の文字列としてエンコードされる必要があります。URIを16進数に変換するために、[`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex)ユーティリティを使用することができます。これは、NFTに関連するデータまたはメタデータを指し示すURIであることを想定しています。コンテンツは、HTTPまたはHTTPS URL、IPFS URI、マグネットリンク、[RFC2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397) としてエンコードされた即値データ、あるいは発行者固有のエンコーディングにデコードされていることがあります。URIの有効性はチェックされません。 | +| `Amount` | [通貨額][] | Amount | _(省略可)_ 対応する`NFToken`の売却オファー金額を示します。資産がXRPの場合を除き、金額はゼロ以外でなければなりません。ゼロの場合、トークンの現在の所有者が、誰に対しても、または `Destination` フィールドで指定されたアカウントに対して、無償でトークンを譲渡することを意味します。 | +| `Expiration` | 数値 | UInt32 | _(省略可)_ オファーが有効でなくなるまでの時間([リップルエポックからの秒数][])。Amountフィールドが指定されていない場合、エラーが発生します。 | +| `Destination` | 文字列 | AccountID | _(省略可)_ 存在する場合、このオファーは指定されたアカウントからのみ受け入れられることを示します。他のアカウントでこのオファーを受け入れようとしても、必ず失敗します。`Amount`フィールドが指定されていない場合、エラーが発生します。 | ## NFTokenMintのフラグ NFTokenMint型のトランザクションでは、以下のように[`Flags`フィールド](../common-fields.md#flagsフィールド)に追加の値を設定することが可能です。 -| フラグ名 | 16進数値 | 整数値 | 説明 | -|:--------------|:-------------|:--------------|:------------------------------| -| `tfBurnable` | `0x00000001` | 1 | 発行者(または発行者が許可した者)が`NFToken`を破棄できるようにします。(`NFToken`の所有者は常に破棄することができます)。 | -| `tfOnlyXRP` | `0x00000002` | 2 | 発行された`NFToken`はXRPでのみ売買が可能です。これは、トークンに送金手数料がかかり、発行者がXRP以外のトークンで手数料を受け取りたくない場合に望ましいでしょう。 | -| `tfTrustLine` | `0x00000004` | 4 | **非推奨** 発行者が、発行した`NFToken`を転送する際に受け取る手数料を保有するために、自動的に[トラストライン](../../../../concepts/tokens/fungible-tokens/index.md) を作成します。[fixRemoveNFTokenAutoTrustLine Amendment][]により、このフラグの設定は無効となります。 | -| `tfTransferable` | `0x00000008` | 8 | 発行された`NFToken`は他の人に譲渡することができます。このフラグが _有効でない_ 場合、トークンは _発行者から_ 、または _発行者へ_ のみ転送することができます。 | +| フラグ名 | 16進数値 | 整数値 | 説明 | +| :--------------- | :----------- | :----- | ---- | +| `tfBurnable` | `0x00000001` | 1 | 発行者(または発行者が許可した者)が`NFToken`を破棄できるようにします。(`NFToken`の所有者は常に破棄することができます)。 | +| `tfOnlyXRP` | `0x00000002` | 2 | 発行された`NFToken`はXRPでのみ売買が可能です。これは、トークンに送金手数料がかかり、発行者がXRP以外のトークンで手数料を受け取りたくない場合に望ましいでしょう。 | +| `tfTrustLine` | `0x00000004` | 4 | **非推奨** 発行者が、発行した`NFToken`を転送する際に受け取る手数料を保有するために、自動的に[トラストライン](../../../../concepts/tokens/fungible-tokens/index.md) を作成します。[fixRemoveNFTokenAutoTrustLine Amendment][]により、このフラグの設定は無効となります。 | +| `tfTransferable` | `0x00000008` | 8 | 発行された`NFToken`は他の人に譲渡することができます。このフラグが _有効でない_ 場合、トークンは _発行者から_ 、または _発行者へ_ のみ転送することができます。 | ## 追加情報の埋め込み @@ -106,15 +106,15 @@ NFTokenMint型のトランザクションでは、以下のように[`Flags`フ すべてのトランザクションで発生する可能性のあるエラーに加えて、{% $frontmatter.seo.title %}トランザクションでは、次の[トランザクション結果コード](../transaction-results/index.md)が発生する可能性があります。 -| エラーコード | 説明 | -|:------------------------------|:---------------------------------------------| +| エラーコード | 説明 | +| :---------------------------- | ---- | | `temDISABLED` | [NonFungibleTokensV1 Amendment][]は有効ではありません。 | | `temBAD_NFTOKEN_TRANSFER_FEE` | `TransferFee`が許容範囲外です。 | -| `temINVALID_FLAG` | `Flags`値には、許可されていない、または有効なフラグでないビットが有効になっています。[fixRemoveNFTokenAutoTrustLine amendment][]が有効になっている場合、`tfTrustLine`フラグはこのエラーを発生させます。| +| `temINVALID_FLAG` | `Flags`値には、許可されていない、または有効なフラグでないビットが有効になっています。[fixRemoveNFTokenAutoTrustLine amendment][]が有効になっている場合、`tfTrustLine`フラグはこのエラーを発生させます。 | | `temMALFORMED` | トランザクションが正しく指定されていません。例えば、`URI`フィールドが256バイトより長い場合です。 | | `tecNO_ISSUER` | `Issuer`は、レジャーに存在しないアカウントを指定しています。 | | `tecNO_PERMISSION` | `Issuer`フィールドで参照されるアカウントは、このトランザクションの送信者(`NFTokenMinter`設定を使用)が自身の代わりに発行することを承認していません。 | -| `tecINSUFFICIENT_RESERVE` | トークンを発行した後、オーナーは更新された[準備金要件](../../../../concepts/accounts/reserves.md)を満たせなくなります。新しい`NFToken`は、新しい[NFTokenPageオブジェクト][]を必要とする場合にのみ、オーナーの準備金を増加させることに注意する必要があり、それぞれ最大32NFTを格納することができます。| +| `tecINSUFFICIENT_RESERVE` | トークンを発行した後、オーナーは更新された[準備金要件](../../../../concepts/accounts/reserves.md)を満たせなくなります。新しい`NFToken`は、新しい[NFTokenPageオブジェクト][]を必要とする場合にのみ、オーナーの準備金を増加させることに注意する必要があり、それぞれ最大32NFTを格納することができます。 | | `tecMAX_SEQUENCE_REACHED` | `Issuer`の`MintedNFTokens`フィールドはすでに最大値になっています。これは、発行者またはその代理人が合計で232-1つの`NFToken`を発行した場合にのみ発生します。 | -{% raw-partial file="/docs/_snippets/common-links.md" /%} \ No newline at end of file +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/references/protocol/transactions/types/offercancel.md b/@l10n/ja/docs/references/protocol/transactions/types/offercancel.md index faca687548..65e0a07c9d 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/offercancel.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/offercancel.md @@ -8,7 +8,7 @@ labels: --- # OfferCancel -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CancelOffer.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelOffer.cpp "Source") OfferCancelトランザクションは、XRP LedgerからOfferオブジェクトを削除します。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/offercreate.md b/@l10n/ja/docs/references/protocol/transactions/types/offercreate.md index 04ed7953b0..c69c32bf77 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/offercreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/offercreate.md @@ -8,7 +8,7 @@ labels: --- # OfferCreate -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateOffer.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateOffer.cpp "ソース") OfferCreateトランザクションは[分散型取引所](../../../../concepts/tokens/decentralized-exchange/index.md)で[注文](../../../../concepts/tokens/decentralized-exchange/offers.md)を作成します。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/oracledelete.md b/@l10n/ja/docs/references/protocol/transactions/types/oracledelete.md index daefd4beb5..d6272bf994 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/oracledelete.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/oracledelete.md @@ -8,7 +8,7 @@ labels: # OracleDelete _([PriceOracle Amendment][])_ -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DeleteOracle.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteOracle.cpp "ソース") 既存の`Oracle`レジャーエントリを削除します。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/oracleset.md b/@l10n/ja/docs/references/protocol/transactions/types/oracleset.md index e1ca96aa02..3a0f0902f6 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/oracleset.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/oracleset.md @@ -8,7 +8,7 @@ labels: # OracleSet _([PriceOracle Amendment][])_ -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/SetOracle.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetOracle.cpp "ソース") Oracle Document ID を使用して、新しい`Oracle`レジャーエントリを作成するか、既存のフィールドを更新します。 @@ -45,7 +45,7 @@ Oracle Document ID を使用して、新しい`Oracle`レジャーエントリ | `OracleDocumentID` | Number | UInt32 | はい | `Account`の価格オラクルのユニークな識別子。 | | `Provider` | 文字列 | Blob | 可変 | Oracleプロバイダを識別する任意の値、例えばChainlink、Band、またはDIAなど。このフィールドは文字列で、ASCII 16進コード化文字(0x20~0x7E)を最大256文字まで使用できます。このフィールドは、新しい`Oracle`レジャーエントリを作成する際に必須ですが、更新の場合は任意です。 | | `URI` | 文字列 | Blob | いいえ | 任意で指定可能なユニバーサルリソース識別子で、チェーン外の価格データを参照します。このフィールドは256バイトに制限されています。 | -| `LastUpdateTime` | Number | UInt32 | はい | データが最後に更新された時刻を、[リップルエポックからの秒数]で表します。 | +| `LastUpdateTime` | Number | UInt32 | はい | データが最後に更新された時刻を、Unix時間で表します。 | | `AssetClass` | 文字列 | Blob | 可変 | 「通貨」、「商品」、「指数」などの資産の種類を指定します。このフィールドは、最大16文字のASCII 16進コード文字(0x20~0x7E)の文字列です。このフィールドは、新しい`Oracle`レジャーエントリを新規作成する際に必須ですが、更新の場合は任意です。 | | `PriceDataSeries` | Array | Array | はい | トークンペアの価格情報を表す、最大10個の`PriceData`オブジェクトの配列。`PriceData`が5個を超える場合は、2つの所有者準備金が必要です。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/types/payment.md b/@l10n/ja/docs/references/protocol/transactions/types/payment.md index 0dfbcff0ca..0fc528fa87 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/payment.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/payment.md @@ -23,7 +23,7 @@ Paymentは、[アカウントを作成](#アカウントの作成)する唯一 "TransactionType" : "Payment", "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "Amount" : { + "DeliverMax" : { "currency" : "USD", "value" : "1", "issuer" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn" @@ -34,22 +34,21 @@ Paymentは、[アカウントを作成](#アカウントの作成)する唯一 } ``` -[トランザクションを取得してみる >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_Payment%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%227BF105CFE4EFE78ADB63FE4E03A851440551FE189FD4B51CAAD9279C9F534F0E%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="7BF105CFE4EFE78ADB63FE4E03A851440551FE189FD4B51CAAD9279C9F534F0E" /%} {% raw-partial file="/@l10n/ja/docs/_snippets/tx-fields-intro.md" /%} - - -| フィールド | JSONの型 | [内部の型][] | 説明 | -|:---------------|:--------------|:------------------|:-----------------| -| `Amount` | [通貨額][] | Amount | 送金する通貨額。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。[**tfPartialPayment**フラグ](#paymentのフラグ)が設定されている場合は、この金額を _上限_ とする金額を送金します。 | -| `CredentialIDs` | 文字列の配列 | Vector256 | いいえ | このトランザクションによって作成される入金を承認するための、受取人によって事前承認された資格証明のセット。配列の各メンバは、レジャーのCredentialエントリのレジャーエントリIDでなければなりません。(_[**Credentials** amendment](../../../../concepts/amendments/index.md#credentials)が必要です。_ {% not-enabled /%}) | -| `Destination` | 文字列 | AccountID | 支払いを受取るアカウントの一意アドレス。 | -| `DestinationTag` | 数値 | UInt32 | _(省略可)_ 宛先(支払先となる、ホスティングされている受取人)への支払い理由を明確にするための任意のタグ。 | -| `InvoiceID` | 文字列 | Hash256 | _(省略可)_ この支払いの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | -| `Paths` | パス配列の配列 | PathSet | (省略可。自動入力可能)このトランザクションに使用される[支払いパス](../../../../concepts/tokens/fungible-tokens/paths.md)の配列。XRP間のトランザクションでは省略する必要があります。 | -| `SendMax` | [通貨額][] | Amount | _(省略可)_ [送金手数料](../../../../concepts/tokens/transfer-fees.md)、為替レート、[スリッページ](http://en.wikipedia.org/wiki/Slippage_%28finance%29)を含め、このトランザクションに関して支払い元通貨での負担を許容する上限額。[トランザクションの送信コストとして消却されるXRP](../../../../concepts/transactions/transaction-cost.md)は含めないでください。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。クロスカレンシー支払いまたは複数のトークンを伴う支払いについては、このフィールドを入力する必要があります。XRP間の支払いでは省略する必要があります。 | -| `DeliverMin` | [通貨額][] | Amount | _(省略可)_ このトランザクションで送金する、宛先通貨での最少金額。[Partial Payments](../../../../concepts/payment-types/partial-payments.md)の場合のみ有効になります。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。 | +| フィールド | JSONの型 | [内部の型][] | 説明 | +| :--------------- | :------------------ | :----------- | ---- | +| `Amount` | [通貨額][] | Amount | `DeliverMax`のエイリアス | +| `CredentialIDs` | 文字列の配列 | Vector256 | このトランザクションによって作成される入金を承認するための、受取人によって事前承認された資格証明のセット。配列の各メンバは、レジャーのCredentialエントリのレジャーエントリIDでなければなりません。(_[**Credentials** amendment](../../../../concepts/amendments/index.md#credentials)が必要です。_ {% not-enabled /%}) | +| `DeliverMax` | [Currency Amount][] | Amount | [API v2][]: 送金する通貨額。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。[**tfPartialPayment**フラグ](#paymentのフラグ)が設定されている場合は、この金額を _上限_ とする金額を送金します。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/2.0.0" %}新規: rippled 2.0.0{% /badge %} | +| `DeliverMin` | [通貨額][] | Amount | _(省略可)_ このトランザクションで送金する、宛先通貨での最少金額。[Partial Payments](../../../../concepts/payment-types/partial-payments.md)の場合のみ有効になります。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。 | +| `Destination` | 文字列 | AccountID | 支払いを受取るアカウントの一意アドレス。 | +| `DestinationTag` | 数値 | UInt32 | _(省略可)_ 宛先(支払先となる、ホスティングされている受取人)への支払い理由を明確にするための任意のタグ。 | +| `InvoiceID` | 文字列 | Hash256 | _(省略可)_ この支払いの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | +| `Paths` | パス配列の配列 | PathSet | (省略可。自動入力可能)このトランザクションに使用される[支払いパス](../../../../concepts/tokens/fungible-tokens/paths.md)の配列。XRP間のトランザクションでは省略する必要があります。 | +| `SendMax` | [通貨額][] | Amount | _(省略可)_ [送金手数料](../../../../concepts/tokens/transfer-fees.md)、為替レート、[スリッページ](http://en.wikipedia.org/wiki/Slippage_%28finance%29)を含め、このトランザクションに関して支払い元通貨での負担を許容する上限額。[トランザクションの送信コストとしてバーンされるXRP](../../../../concepts/transactions/transaction-cost.md)は含めないでください。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。クロスカレンシー支払いまたは複数のトークンを伴う支払いについては、このフィールドを入力する必要があります。XRP間の支払いでは省略する必要があります。 | トランザクションを指定する際は、`Amount`または`DeliverMax`のいずれかを指定する必要がありますが、両方を指定することはできません。JSONでトランザクションを表示する場合、API v1では常に`Amount`を使用し、API v2(以降)では常に`DeliverMax`を使用します。 @@ -57,13 +56,13 @@ Paymentは、[アカウントを作成](#アカウントの作成)する唯一 Paymentトランザクションタイプは、いくつかの異なるタイプの抽象的なアクションを表現することができる汎用ツールです。下の表で説明するように、トランザクションのフィールドに基づいてトランザクションタイプを識別することができます。 -| Paymentの種類 | `Amount` | `SendMax` | `Paths` | `Address` = `Destination`? | 説明 | -|:-------------|:----------|:-----------|:----------|:---------------------------|:--| -| [XRP同士の直接支払い][] | String (XRP) | 省略 | 省略 | いいえ | アカウント間でへ直接XRPを送金します。常に正確な金額を送信します。基本的な[取引コスト](../../../../concepts/transactions/transaction-cost.md)以外の手数料は適用されません。 | -| [発行通貨の作成・償還][] | Object | Object (任意) | 任意 | いいえ | XRP Ledgerに追跡されているXRP以外の通貨や資産の量を増減させます。[送金手数料](../../../../concepts/tokens/transfer-fees.md)と[凍結](../../../../concepts/tokens/fungible-tokens/freezes.md)は、直接送金・換金する際には適用されません。 | -| [クロスカレンシー(通貨間)決済][] | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | 通常は必須 | いいえ | 発行された通貨を保有者から別の保有者に送信します。`Amount`と`SendMax`の両方をXRPにすることはできません。これらの支払いは、発行者を介して[リップリング](../../../../concepts/tokens/fungible-tokens/rippling.md)し、トランザクションがパスセットを指定した場合、複数の仲介者を介してより長い[パス](../../../../concepts/tokens/fungible-tokens/paths.md)を取ることができます。トランザクション形式には、発行者が設定した[送金手数料](../../../../concepts/tokens/transfer-fees.md) が適用されます。これらのトランザクションは、異なる通貨間や、場合によっては同じ通貨コードで異なる発行者の通貨間を接続するために、[分散型取引所](../../../../concepts/tokens/decentralized-exchange/index.md)のオファーを利用します。 | -| [Partial payment][] | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | 通常は必須 | いいえ | 任意の通貨を特定の金額まで送ります。[`tfPartialPayment` フラグ](#paymentのフラグ)を使用します。トランザクションが成功するための最小値を指定する `DeliverMin` 値を含めることができます。トランザクションが `DeliverMin` を指定しない場合、_任意の正の値_ を指定して成功させることができる。 | -| 通貨変換 | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | 必須 | はい | [分散型取引所](../../../../concepts/tokens/decentralized-exchange/index.md)のオファーを消費して、ある通貨を別の通貨に交換し、[裁定取引](https://ja.wikipedia.org/wiki/%E8%A3%81%E5%AE%9A%E5%8F%96%E5%BC%95)の機会を得ることが出来ます。`Amount`と `SendMax` の両方を XRP にすることはできません。[Data API](../../../data-api.md) は、このタイプの取引を "payment" ではなく、"exchange" として追跡しています。 | +| Paymentの種類 | `Amount` | `SendMax` | `Paths` | `Address` = `Destination`? | 説明 | +| :--------------------------------- | :------------------------------ | :------------------------------ | :--------- | :------------------------- | ---- | +| [XRP同士の直接支払い][] | String (XRP) | 省略 | 省略 | いいえ | アカウント間でへ直接XRPを送金します。常に正確な金額を送信します。基本的な[取引コスト](../../../../concepts/transactions/transaction-cost.md)以外の手数料は適用されません。 | +| [発行通貨の作成・償還][] | Object | Object (任意) | 任意 | いいえ | XRP Ledgerに追跡されているXRP以外の通貨や資産の量を増減させます。[送金手数料](../../../../concepts/tokens/transfer-fees.md)と[凍結](../../../../concepts/tokens/fungible-tokens/freezes.md)は、直接送金・換金する際には適用されません。 | +| [クロスカレンシー(通貨間)決済][] | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | 通常は必須 | いいえ | 発行された通貨を保有者から別の保有者に送信します。`Amount`と`SendMax`の両方をXRPにすることはできません。これらの支払いは、発行者を介して[リップリング](../../../../concepts/tokens/fungible-tokens/rippling.md)し、トランザクションがパスセットを指定した場合、複数の仲介者を介してより長い[パス](../../../../concepts/tokens/fungible-tokens/paths.md)を取ることができます。トランザクション形式には、発行者が設定した[送金手数料](../../../../concepts/tokens/transfer-fees.md) が適用されます。これらのトランザクションは、異なる通貨間や、場合によっては同じ通貨コードで異なる発行者の通貨間を接続するために、[分散型取引所](../../../../concepts/tokens/decentralized-exchange/index.md)のオファーを利用します。 | +| [Partial payment][] | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | 通常は必須 | いいえ | 任意の通貨を特定の金額まで送ります。[`tfPartialPayment` フラグ](#paymentのフラグ)を使用します。トランザクションが成功するための最小値を指定する `DeliverMin` 値を含めることができます。トランザクションが `DeliverMin` を指定しない場合、_任意の正の値_ を指定して成功させることができる。 | +| 通貨変換 | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | 必須 | はい | [分散型取引所](../../../../concepts/tokens/decentralized-exchange/index.md)のオファーを消費して、ある通貨を別の通貨に交換し、[裁定取引](https://ja.wikipedia.org/wiki/%E8%A3%81%E5%AE%9A%E5%8F%96%E5%BC%95)の機会を得ることが出来ます。`Amount`と `SendMax` の両方を XRP にすることはできません。[Data API](../../../data-api.md) は、このタイプの取引を "payment" ではなく、"exchange" として追跡しています。 | [XRP同士の直接支払い]: ../../../../concepts/payment-types/direct-xrp-payments.md [発行通貨の作成・償還]: ../../../../concepts/tokens/index.md @@ -106,11 +105,11 @@ Payment型のトランザクションでは、資金供給のないアドレス Payment型のトランザクションについては、[`Flags`フィールド](../common-fields.md#flagsフィールド)で以下の値が追加でサポートされます。 -| フラグの名前 | 16進値 | 10進値 | 説明 | -|:-------------------|:-------------|:--------------|:-----------------------------| -| `tfNoRippleDirect` | `0x00010000` | 65536 | デフォルトパスを使用せず、`Paths`フィールドに含まれているパスのみ使用します。これによりトランザクションは強制的に裁定機会を活用することになります。ほとんどのクライアントでは、これは必要ありません。 | -| `tfPartialPayment` | `0x00020000` | 131072 | `SendMax`を超えていないのに指定された`Amount`を送金できない場合、即座に失敗とするのではなく、受取られる額を減額します。詳細は、[Partial Payments](../../../../concepts/payment-types/partial-payments.md)をご覧ください。 | -| `tfLimitQuality` | `0x00040000` | 262144 | すべての変換で、入力と出力との比率が`Amount`と`SendMax`との比率と同一であるか、さらに有利となるパスのみを採用します。詳細は、[クオリティの制限](#クオリティの制限)をご覧ください。 | +| フラグの名前 | 16進値 | 10進値 | 説明 | +| :----------------- | :----------- | :----- | ---- | +| `tfNoRippleDirect` | `0x00010000` | 65536 | デフォルトパスを使用せず、`Paths`フィールドに含まれているパスのみ使用します。これによりトランザクションは強制的に裁定機会を活用することになります。ほとんどのクライアントでは、これは必要ありません。 | +| `tfPartialPayment` | `0x00020000` | 131072 | `SendMax`を超えていないのに指定された`Amount`を送金できない場合、即座に失敗とするのではなく、受取られる額を減額します。詳細は、[Partial Payments](../../../../concepts/payment-types/partial-payments.md)をご覧ください。 | +| `tfLimitQuality` | `0x00040000` | 262144 | すべての変換で、入力と出力との比率が`Amount`と`SendMax`との比率と同一であるか、さらに有利となるパスのみを採用します。詳細は、[クオリティの制限](#クオリティの制限)をご覧ください。 | ## Partial Payments diff --git a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md index 1b0d08cfd3..e88ecb128d 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md @@ -7,7 +7,7 @@ labels: - Payment Channel --- # PaymentChannelClaim -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") _[PayChan Amendment][]により追加されました。_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelcreate.md b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelcreate.md index 12ecb07248..005fbce818 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelcreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelcreate.md @@ -7,7 +7,7 @@ labels: - Payment Channel --- # PaymentChannelCreate -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "ソース") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "ソース") _[PayChan Amendment][]により追加されました。_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md index b32808bb34..ddd9b88531 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md @@ -7,7 +7,7 @@ labels: - Payment Channel --- # PaymentChannelFund -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") _[PayChan Amendment][]により追加されました。_ diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ticketcreate.md b/@l10n/ja/docs/references/protocol/transactions/types/ticketcreate.md index 000cee4dc3..d40e2374b6 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ticketcreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ticketcreate.md @@ -8,7 +8,7 @@ labels: --- # TicketCreate -[[ソース]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/CreateTicket.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateTicket.cpp "Source") _([TicketBatch amendment][]が必要です)_ @@ -33,7 +33,7 @@ TicketCreateトランザクションは、1つまたは複数の[シーケンス |:-----------------|:-----------------|:------------------|:-------------------| | `TicketCount` | 数値 | UInt32 | 作成するチケットの枚数。これは正の数でなければならず、このトランザクションの実行の結果、アカウントが250枚以上のチケットを所有することはできません。 | -トランザクションが要求されたチケット _全て_ を作成できない場合(250チケットの制限または[所有者準備金](../../../../concepts/accounts/reserves.md)のいずれかが原因)、失敗してチケットは作成されません。アカウントが現在所有しているチケットの数を調べるには、[account_info メソッド][]を使用して、`account_data.TicketCount`フィールドを確認してください。 +トランザクションが要求されたチケット _全て_ を作成できない場合(250チケットの制限または[所有者準備金](../../../../concepts/accounts/reserves.md)のいずれかが原因)、失敗してチケットは作成されません。アカウントが現在所有しているチケットの数を調べるには、[account_infoメソッド][]を使用して、`account_data.TicketCount`フィールドを確認してください。 {% admonition type="success" name="ヒント" %}このトランザクションは、送信アカウントの[シーケンス番号][Sequence Number]を1 _+_ 作成するチケットの数(`TicketCount`)だけ増加させます。この取引は、アカウントのシーケンス番号を1より多く増加させる唯一の取引です。{% /admonition %} diff --git a/@l10n/ja/docs/references/protocol/transactions/types/trustset.md b/@l10n/ja/docs/references/protocol/transactions/types/trustset.md index 8acd3c03bc..dc23f17c0e 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/trustset.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/trustset.md @@ -8,7 +8,7 @@ labels: --- # TrustSet -[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/SetTrust.cpp "Source") +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetTrust.cpp "Source") 2つのアカウントをリンクする[トラストライン](../../../../concepts/tokens/fungible-tokens/index.md)を作成または変更します。 diff --git a/@l10n/ja/docs/references/xrpljs2-migration-guide.md b/@l10n/ja/docs/references/xrpljs2-migration-guide.md index b843bb8b45..51f4ae0640 100644 --- a/@l10n/ja/docs/references/xrpljs2-migration-guide.md +++ b/@l10n/ja/docs/references/xrpljs2-migration-guide.md @@ -267,22 +267,22 @@ ripple-lib 1.xでは、全てのメソッドとプロパティは、`RippleAPI` | `connect()` | [`Client.connect()`](https://js.xrpl.org/classes/Client.html#connect) | | | `disconnect()` | [`Client.disconnect()`](https://js.xrpl.org/classes/Client.html#disconnect) | | | `isConnected()` | [`Client.isConnected()`](https://js.xrpl.org/classes/Client.html#isConnected) | | -| `getServerInfo()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [server_info メソッド][] を呼び出してください。 | +| `getServerInfo()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [server_infoメソッド][] を呼び出してください。 | | `getFee()` | (削除済み - 注記カラムを参照) | [トランザクションコスト][]を自動的に提供するには [`Client.autofill()`](https://js.xrpl.org/classes/Client.html#autofill) を使ってください。または `Client.request({"command": "fee"})` を使って、現在のトランザクションコスト ( _XRPのdrops_ ) についての情報を調べることができます。 | | `getLedgerVersion()` | [`Client.getLedgerIndex()`](https://js.xrpl.org/classes/Client.html#getLedgerIndex) | | -| `getTransaction()` | [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [tx メソッド][] を呼び出してください。**警告:** `getTransaction()` とは異なり、`tx` メソッドは [検証されていない最終結果](#バリデーション結果) を返すことがあります。トランザクションに対してアクションを起こす前に、レスポンスオブジェクトの中に `"validated": true` があるかどうかを必ず確認するようにしてください。 | +| `getTransaction()` | [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [txメソッド][] を呼び出してください。**警告:** `getTransaction()` とは異なり、`tx` メソッドは [検証されていない最終結果](#バリデーション結果) を返すことがあります。トランザクションに対してアクションを起こす前に、レスポンスオブジェクトの中に `"validated": true` があるかどうかを必ず確認するようにしてください。 | | `getTransactions()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_txメソッド][] を呼び出してください。 | -| `getTrustlines()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_lines メソッド][] を呼び出してください。**警告:** `getTrustlines()` とは異なり、`account_lines` は [検証されていない最終結果](#バリデーション結果) を返すことがあります。 | +| `getTrustlines()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_linesメソッド][] を呼び出してください。**警告:** `getTrustlines()` とは異なり、`account_lines` は [検証されていない最終結果](#バリデーション結果) を返すことがあります。 | | `getBalances()` | [`Client.getBalances()`](https://js.xrpl.org/classes/Client.html#getBalances) | | | `getBalanceSheet()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.getBalances()`](https://js.xrpl.org/classes/Client.html#getBalances) を使うか、 [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [gateway_balancesメソッド][] を呼び出してください。 | | `getPaths()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [ripple_path_findメソッド][] を呼び出してください。 | -| `getOrders()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_offers メソッド][] を呼び出してください。 | +| `getOrders()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_offersメソッド][] を呼び出してください。 | | `getOrderbook()` | [`Client.getOrderbook()`](https://js.xrpl.org/classes/Client.html#getOrderbook) | | -| `getSettings()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_info メソッド][] を呼び出してください。個々のフラグ設定のブール値を取得するには、 `Flags` フィールドで `xrpl.parseAccountRootFlags()` を使用します。**警告:** `getSettings()`とは異なり、`account_info` は [検証されていない最終結果](#バリデーション結果)を返すことがあります。 | -| `getAccountInfo(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_info メソッド][] を呼び出してください。**警告:** `getAccountInfo()` とは異なり、`account_info` は [検証されていない最終結果](#バリデーション結果) を返すことがあります。 | -| `getAccountObjects(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_objects メソッド][] を呼び出してください。**警告:** `getAccountObjects()` とは異なり、`account_objects` は [検証されていない最終結果](#バリデーション結果) を返すことがあります。 | +| `getSettings()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_infoメソッド][] を呼び出してください。個々のフラグ設定のブール値を取得するには、 `Flags` フィールドで `xrpl.parseAccountRootFlags()` を使用します。**警告:** `getSettings()`とは異なり、`account_info` は [検証されていない最終結果](#バリデーション結果)を返すことがあります。 | +| `getAccountInfo(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_infoメソッド][] を呼び出してください。**警告:** `getAccountInfo()` とは異なり、`account_info` は [検証されていない最終結果](#バリデーション結果) を返すことがあります。 | +| `getAccountObjects(address, options)` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [account_objectsメソッド][] を呼び出してください。**警告:** `getAccountObjects()` とは異なり、`account_objects` は [検証されていない最終結果](#バリデーション結果) を返すことがあります。 | | `getPaymentChannel()` | (削除済み - 注記カラムを参照) | 代わりに [`Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って [ledger_entry method](http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md#get-paychannel-object) を呼び出してください。**警告:** `getPaymentChannel()`とは異なり、`ledger_entry` は [検証されていない最終結果](#バリデーション結果)を返す可能性があります。| -| `getLedger()` | (削除済み - 注記カラムを参照) | `Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って、正確に [ledger メソッド][] を呼び出してください。**渓谷:** `getLedger()`とは異なり、`ledger` は [検証されていない最終的なレジャー](#バリデーション結果)を返すことがあります。 | +| `getLedger()` | (削除済み - 注記カラムを参照) | `Client.request()`](https://js.xrpl.org/classes/Client.html#request) を使って、正確に [ledgerメソッド][] を呼び出してください。**渓谷:** `getLedger()`とは異なり、`ledger` は [検証されていない最終的なレジャー](#バリデーション結果)を返すことがあります。 | | `parseAccountFlags()` | [`xrpl.parseAccountRootFlags()`](https://js.xrpl.org/modules.html#parseAccountRootFlags) | 現在は、モジュールの静的メソッドです。 | | `prepareTransaction()` | [`Client.autofill()`](https://js.xrpl.org/classes/Client.html#autofill) | 詳しくは、[トランザクション送信](#トランザクションの送信)をご覧ください。 | | `preparePayment()` | (削除済み - 注記カラムを参照) | [Paymentトランザクション][] を構築し、代わりに [`Client.autofill()`](https://js.xrpl.org/classes/Client.html#autofill) を使用します。 | diff --git a/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md b/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md index 0d1a991412..9d63b61faa 100644 --- a/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md +++ b/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md @@ -31,7 +31,7 @@ labels: ### 1. トランザクションJSONの作成 -アカウントから、`"SetValue": 4`のフィールドを持つ[AccountSet トランザクション][]を準備します。これは AccountSet フラグ "Disable Master" (`asfDisableMaster`) に対応する値です。このトランザクションの他の必須フィールドは、必須の[共通フィールド](../../../references/protocol/transactions/common-fields.md)のみです。例えば、[自動入力可能なフィールド](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) を省けば、以下のトランザクション指示で十分である。 +アカウントから、`"SetValue": 4`のフィールドを持つ[AccountSetトランザクション][]を準備します。これは AccountSet フラグ "Disable Master" (`asfDisableMaster`) に対応する値です。このトランザクションの他の必須フィールドは、必須の[共通フィールド](../../../references/protocol/transactions/common-fields.md)のみです。例えば、[自動入力可能なフィールド](../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド) を省けば、以下のトランザクション指示で十分である。 ```json { @@ -498,6 +498,6 @@ else: - 結果が0でない場合は `lsfDisableMaster` の値と等しく、 **マスターキーが正常に無効化されたこと** を示します。 - 結果が0の場合は、そのアカウントのマスターキーが無効になっていないことを示します。 -結果が予想と異なる場合は、前の手順で送信したトランザクションが正常に実行されたかどうかを確認してください。それは、その口座のトランザクション履歴([account_tx メソッド][])の中で最も新しいもので、結果コード `tesSUCCESS` がついているはずです。それ以外の[結果コード](../../../references/protocol/transactions/transaction-results/index.md)が表示された場合、そのトランザクションは正常に実行されませんでした。エラーの原因によっては、これらの手順を最初からやり直した方がよいかもしれません。 +結果が予想と異なる場合は、前の手順で送信したトランザクションが正常に実行されたかどうかを確認してください。それは、その口座のトランザクション履歴([account_txメソッド][])の中で最も新しいもので、結果コード `tesSUCCESS` がついているはずです。それ以外の[結果コード](../../../references/protocol/transactions/transaction-results/index.md)が表示された場合、そのトランザクションは正常に実行されませんでした。エラーの原因によっては、これらの手順を最初からやり直した方がよいかもしれません。 {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/use-tickets.md b/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/use-tickets.md index e9eabd2047..1c25ce4054 100644 --- a/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/use-tickets.md +++ b/@l10n/ja/docs/tutorials/how-tos/manage-account-settings/use-tickets.md @@ -8,6 +8,7 @@ filters: - interactive_steps labels: - アカウント +steps: ['Generate', 'Connect', 'Check Sequence', 'Prepare & Sign', 'Submit', 'Wait', 'Intermission', 'Check Tickets', 'Prepare Ticketed Tx', 'Submit Ticketed Tx', 'Wait Again'] --- # チケットの使用 @@ -17,7 +18,7 @@ labels: - + このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](../../javascript/build-apps/get-started.md)をご覧ください。 @@ -88,7 +89,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘 ### 4. TicketCreateの準備と署名 -前のステップで決定したシーケンス番号を使用して、[TicketCreate トランザクション][]を構築します。`TicketCount`フィールドを使って、作成するチケットの枚数を指定します。例えば、10枚のチケットを作成するトランザクションを準備するには、次のようにします。 +前のステップで決定したシーケンス番号を使用して、[TicketCreateトランザクション][]を構築します。`TicketCount`フィールドを使って、作成するチケットの枚数を指定します。例えば、10枚のチケットを作成するトランザクションを準備するには、次のようにします。 {% tabs %} @@ -167,7 +168,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘 ### 7. 有効なチケットの確認 -チケット付きのトランザクションを送信したい場合、どのチケットシーケンス番号を使用するかを知る必要があります。アカウントを注意深く管理していれば、どのチケットを持っているかはすでにわかっていると思いますが、よくわからない場合は、[account_objects メソッド][]を使って、利用可能なチケットを調べることができます。例えば、以下のようになります。 +チケット付きのトランザクションを送信したい場合、どのチケットシーケンス番号を使用するかを知る必要があります。アカウントを注意深く管理していれば、どのチケットを持っているかはすでにわかっていると思いますが、よくわからない場合は、[account_objectsメソッド][]を使って、利用可能なチケットを調べることができます。例えば、以下のようになります。 {% tabs %} @@ -191,7 +192,7 @@ XRP Ledgerでトランザクションを送信するには、アドレスと秘 チケットが利用できるようになったので、それを使用するトランザクションを準備します。 -ここでは、好きな[トランザクションのタイプ](../../../references/protocol/transactions/types/index.md)を使用することができます。次の例では、何も行わない[AccountSet トランザクション][]を使用していますが、これはレジャーに他の設定を必要としないからです。`Sequence`フィールドを`0`に設定して、利用可能なチケットの1つのチケットシーケンス番号を持つ`TicketSequence`フィールドを含めます。 +ここでは、好きな[トランザクションのタイプ](../../../references/protocol/transactions/types/index.md)を使用することができます。次の例では、何も行わない[AccountSetトランザクション][]を使用していますが、これはレジャーに他の設定を必要としないからです。`Sequence`フィールドを`0`に設定して、利用可能なチケットの1つのチケットシーケンス番号を持つ`TicketSequence`フィールドを含めます。 {% tabs %} @@ -264,10 +265,10 @@ TicketCreateトランザクションをすぐに送信する予定がない場 - [マルチシグの設定](set-up-multi-signing.md) - [信頼出来るトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md) - **References:** - - [account_objects メソッド][] - - [sign_for メソッド][] - - [submit_multisigned メソッド][] - - [TicketCreate トランザクション][] + - [account_objectsメソッド][] + - [sign_forメソッド][] + - [submit_multisignedメソッド][] + - [TicketCreateトランザクション][] - [トランザクションの共通フィールド](../../../references/protocol/transactions/common-fields.md) {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/@l10n/ja/docs/use-cases/tokenization/nft-mkt-overview.md b/@l10n/ja/docs/use-cases/tokenization/nft-mkt-overview.md index 7e304f4bf0..cd16efe8d0 100644 --- a/@l10n/ja/docs/use-cases/tokenization/nft-mkt-overview.md +++ b/@l10n/ja/docs/use-cases/tokenization/nft-mkt-overview.md @@ -77,7 +77,7 @@ NFTokenのURLは、NFTのコンテンツが保存されている場所へのリ 新しいウォレットをセットアップします。[Xaman](https://xaman.app/)をご覧ください。 -アカウントを作成する際には、10 XRPの基本準備金が必要であることに注意してください。[準備金](../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve)をご覧ください。 +アカウントを作成する際には、{% $env.PUBLIC_BASE_RESERVE %}の基本準備金が必要であることに注意してください。[準備金](../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve)をご覧ください。 ### NFTの取引 diff --git a/@l10n/ja/resources/contribute-code/create-custom-transactors.md b/@l10n/ja/resources/contribute-code/create-custom-transactors.md index cc45a30005..ac3a558990 100644 --- a/@l10n/ja/resources/contribute-code/create-custom-transactors.md +++ b/@l10n/ja/resources/contribute-code/create-custom-transactors.md @@ -21,8 +21,8 @@ _トランザクタ_ はトランザクションを処理し、XRP Ledgerを変 このチュートリアルでは、既存の`CreateCheck`トランザクションを例として使用します。ソースファイルはここで確認できます。 -- [ヘッダファイル](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.h) -- [CPPファイル](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.cpp) +- [ヘッダファイル](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.h) +- [CPPファイル](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp) ## ヘッダファイル diff --git a/@l10n/ja/resources/known-amendments.md b/@l10n/ja/resources/known-amendments.md index dd3b882f45..8073f28840 100644 --- a/@l10n/ja/resources/known-amendments.md +++ b/@l10n/ja/resources/known-amendments.md @@ -17,6 +17,15 @@ labels: | 名前 | 登場 | ステータス | |:----------------------------------|:-----------|:------------------------------------| +| [AMMClawback][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [Credentials][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [fixAMMv1_2][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [fixEnforceNFTokenTrustline][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [fixInnerObjTemplate2][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [fixNFTokenPageLinks][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [fixReducedOffersV2][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [MPTokensV1][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | +| [NFTokenMintOffer][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}投票中: 2024-11-26{% /badge %} | | [fixXChainRewardRounding][] | v2.2.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.2.0" %}投票中: 2024-06-04{% /badge %} | | [PriceOracle][] | v2.2.0 | {% badge href="https://livenet.xrpl.org/transactions/05D03F7BF08BF4A915483F7B10EAC7016034656A54A8A6AD4A49A9AD362764A1" %}有効: 2024-11-02{% /badge %} | | [DID][] | v2.0.0 | {% badge href="https://livenet.xrpl.org/transactions/7239CF04E6E1EEC606269135DA3C916B82D4B010F5315E7AEB3D5A3B6B5B343D" %}有効: 2024-10-30{% /badge %} | @@ -98,6 +107,7 @@ labels: |:----------------------------------|:------------------------------------|:-------------------------------| | [Hooks][] | {% badge %}開発中: 未定{% /badge %} | [XRPL Hooks](https://hooks.xrpl.org/) | | [OwnerPaysFee][] | {% badge %}開発中: 未定{% /badge %} | | +| [InvariantsV1_1][] | {% badge %}開発中: 未定{% /badge %} | | {% admonition type="info" name="注記" %} このリストは手動で更新されています。もしあなたがAmendmentに取り組んでいて、その変更をテストするためのテストネットワークを持っているなら、このページを編集して開発中のamendmentをこのリストに追加することができます。XRP Ledgerへの貢献についての詳細は、[XRP Ledgerのコードへの貢献](contribute-code/index.md)をご覧ください。 @@ -153,6 +163,26 @@ labels: いくつかの新しい結果コードを追加します。 + +### AMMClawback +[AMMClawback]: #ammclawback + +| Amendment | AMMClawback | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 726F944886BCDF7433203787E93DD9AA87FAB74DFE3AF4785BA03BEFC97ADA1F | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +このAmendmentにより、Clawbackが有効になっているトークンが自動マーケットメーカー(AMM)で使用できるようになります。新しいトランザクションを追加します。 + +- **AMMClawback** - トークンにClawbackが有効になっている場合、発行者は、AMMに預けられたトークンをClawbackできるようになります。 + +AMMDepositトランザクションタイプを修正し、AMMに凍結されたトークンを預けることを防ぎます。 + +詳細については、[XLS-73: AMMClawback specification](https://github.com/XRPLF/XRPL-Standards/discussions/212)をご覧ください。 + + ### CheckCashMakesTrustLine [CheckCashMakesTrustLine]: #checkcashmakestrustline @@ -193,7 +223,7 @@ labels: | Amendment | Clawback | |:-------------|:---------| | Amendment ID | 56B241D7A43D40354D02A9DC4C8DF5C7A1F930D92A9035C4E12291B3CA3E1C2B | -| Status | 有効 | +| ステータス | 有効 | | デフォルトの投票(最新の安定版) | はい | | Amendment前の機能は廃止? | いいえ | @@ -203,6 +233,42 @@ Clawbackはデフォルトでは無効になっています。Clawbackを使用 この修正の詳細については、[Clawback](../docs/concepts/tokens/fungible-tokens/clawing-back-tokens.md)をご覧ください。 +### Credentials +[Credentials]: #credentials + +| Amendment | Credentials | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 1CB67D082CF7D9102412D34258CEDB400E659352D3B207348889297A6D90F5EF | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +XRP Ledgerを使用して資格情報およびコンプライアンス要件を管理するためのツールセット、Credentialsを追加します。 Credentialsを管理するための3つの新しいトランザクションタイプを追加します。 + +- CredentialCreateトランザクション - レジャーにCredentialを作成します。 +- CredentialAcceptトランザクション - 発行されたCredentialを受け入れます。 +- CredentialDeleteトランザクション - レジャーからCredentialを削除します。 + +既存のトランザクションタイプを修正します。 + +- DepositPreauthトランザクション - アカウントへの入金を承認します。Credentialに基づく承認を許可するように修正します。 + +いくつかの既存のトランザクションタイプに新しいフィールドを追加します。 + +- `CredentialIDs`フィールド - 入金の承認を認証するためのクレデンシャル。Payment、EscrowFinish、PaymentChannelClaim、および AccountDelete トランザクション・タイプに追加されます。 + +新しいレジャーエントリタイプを追加します。 + +- Credentialレジャーエントリ - レジャーにCredentialを保存します。 + +既存のレジャーエントリタイプを修正します。 + +- DepositPreauthレジャーエントリ - 特定のアカウントへの入金の承認を記録します。Credentialに基づく承認を許可するように修正します。 + +`deposit_authorized` APIメソッドを修正し、Credentialに基づく認証をチェックするようにします。また、`ledger_entry`メソッドを修正し、Credentialエントリの検索を許可します。 + +詳細については、[XLS-70: Credentials specification](https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0070d-credentials)をご覧ください。 + ### CryptoConditions [CryptoConditions]: #cryptoconditions @@ -660,6 +726,22 @@ fix1623 Amendmentは、固定金額の[CheckCashトランザクション][](`A AMMからのオファーの丸めと低品質なオーダーブックのオファーをAMMがブロックする問題を修正します。 +### fixAMMv1_2 +[fixAMMv1_2]: #fixammv1_2 + +| Amendment | fixAMMv1_2 | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 1E7ED950F2F13C4F8E2A54103B74D57D5D298FFDBD005936164EE9E6484C438C | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +Automated Market Maker (AMM)トランザクション処理の2つのバグを修正します。 + +- AMMWithdrawが、特定の条件下においてトラストラインを作成する前に準備金チェックを適切に行わないバグを修正します。 +- 特定の条件下においてAMMとオーダーブックの組み合わせから利用可能な流動性の全額を使用しない支払い処理のバグを修正します。 + + ### fixCheckThreading [fixCheckThreading]: #fixcheckthreading @@ -718,6 +800,22 @@ Checksトランザクションがアカウントのメタデータに影響を この修正は、[DID][]Amendmentが有効になっていない限り、何の影響もありません。 +### fixEnforceNFTokenTrustline +[fixEnforceNFTokenTrustline]: #fixenforcenftokentrustline + +| Amendment | fixEnforceNFTokenTrustline | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 763C37B352BE8C7A04E810F8E462644C45AFEAD624BF3894A08E5C917CF9FF39 | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +NFTの転送手数料とトラストラインの処理に関する2つのバグを修正します。 + +- NFTの発行者が送金手数料を受け取るためのトラストラインを持っていることを確認するため、[NFTokenAcceptOfferトランザクション][]にチェックを追加します。このAmendmentがない場合、このチェックはNFT取引のオファーが作成されるときにのみ適用され、オファーが承認されるときには適用されません。その結果、オファーの作成と承認の間に必要なトラストラインが削除された場合、オファーが承認されるときに不適切にトラストラインが再作成されてしまいます。このAmendmentでは、ミンターが送金手数料を受け取るためのトラストラインを持っていない場合、NFT取引オファーを承認するトランザクションは失敗します。(詳細については、[issue #4925](https://github.com/XRPLF/rippled/issues/4925)をご覧ください。) +- NFTの発行者が、送金手数料として支払われる代替可能トークンの発行者でもある場合のトラストラインの存在チェックを調整します。このAmendmentがない場合、対象のNFTに送金手数料が設定されており、オファー額が発行者が発行した代替可能トークンで指定され、オファーを出すアカウントがそれらのトークンのトラストラインを持っていない場合、[NFTokenCreateOfferトランザクション][]は結果コード`tecNO_LINE`で失敗します。このAmendmentでは、オファーは正常に作成できます。(詳細については、[issue #4941](https://github.com/XRPLF/rippled/issues/4941)をご覧ください。) + + ### fixFillOrKill [fixFillOrKill]: #fixfillorkill | Amendment | fixFillOrKill | @@ -750,6 +848,31 @@ Checksトランザクションがアカウントのメタデータに影響を 現在、内部オブジェクトのテンプレートはオブジェクトの生成時に設定されません。オブジェクトに`soeDEFAULT`フィールドがあり、初期値にデフォルト値が設定されている場合、そのフィールドにアクセスすると、状況によっては`tefEXCEPTION`エラーが発生します。このamendmentにより、内部オブジェクトテンプレートを設定するための追加の真偽値引数を含む`STObject`コンストラクタのオーバーロードが追加されます。 +### fixInnerObjTemplate2 +[fixInnerObjTemplate2]: #fixinnerobjtemplate2 + +| Amendment | fixInnerObjTemplate2 | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 9196110C23EA879B4229E51C286180C7D02166DA712559F634372F5264D0EC59 | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +このAmendmentは、内部オブジェクト([正規バイナリフォーマットのObject型フィールド](../docs/references/protocol/binary-format.md#object-fields))のフォーマットとデフォルト値の強制方法を標準化します。これは`fixInnerObjTemplate`がAMM関連フィールドに適用するのと同じタイプのチェックですが、このAmendmentは他のすべての種類の内部オブジェクトに適用されます。具体的には次の通りです。 + +- [NegativeUNLレジャーエントリ][]の`DisabledValidator`フィールド +- [Amendmentsレジャーエントリ][]の`Majorities`配列のメンバー +- マルチシグトランザクションの[`Signers`配列](../docs/references/protocol/transactions/common-fields.md#signers-field)のメンバー +- [SignerListレジャーエントリ][]の`SignerEntries`配列のメンバー +- [XChainBridge][] Amendment {% not-enabled /%}の複数の部分: + - [XChainOwnedClaimIDレジャーエントリ][]の`XChainClaimAttestations`配列のメンバー + - [XChainOwnedCreateAccountClaimIDレジャーエントリ][]の`XChainCreateAccountAttestations`配列のメンバー + - [XChainAddClaimAttestationトランザクション][]の`XChainClaimAttestationBatch`配列のメンバー + - [XChainAddClaimAttestationトランザクション][]の`XChainCreateAccountAttestationBatch`配列のメンバー + +この変更はトランザクション処理に影響を与えないと考えられていますが、不適切にフォーマットされたトランザクションが異なるエラーを受け取るエッジケースが存在する可能性があります。このAmendmentでは、そのようなトランザクションは`temMALFORMED`などの異なる結果コードで失敗します。このAmendmentがない場合、それらのトランザクションは代わりに`tefEXCEPTION`コードで失敗すると予想されます。 + + ### fixMasterKeyAsRegularKey [fixMasterKeyAsRegularKey]: #fixmasterkeyasregularkey @@ -797,6 +920,23 @@ Checksトランザクションがアカウントのメタデータに影響を この修正は、[NonFungibleTokensV1][] Amendmentが有効でない限り、何の影響もありません。この修正は、その効果が[NonFungibleTokensV1_1][]の一部として含まれているため、廃止されました。 +### fixNFTokenPageLinks +[fixNFTokenPageLinks]: #fixnftokenpagelinks + +| Amendment | fixNFTokenPageLinks | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | C7981B764EC4439123A86CC7CCBA436E9B3FF73B3F10A0AE51882E404522FC41 | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +このAmendmentは、NFTディレクトリのチェーンの途中でリンクが欠落する可能性があるバグを修正します。また、将来同様の破損が発生するのを防ぐための不変性チェックを導入し、新しいトランザクションタイプも追加します。 + +- [LedgerStateFixトランザクション][]は、レジャーデータの破損を修復するために使用できます。このAmendmentが有効になると、LedgerStateFixトランザクションを使用してNFTディレクトリの破損したリンクを修復できます。将来のバグによって新しいタイプのレジャー破損が発生した場合、このトランザクションタイプを拡張して他のタイプの破損も修復できるようになります。 + +このAmendmentがない場合、特定の状況下でNFTディレクトリの最後のページを削除し、その後、前のページへのリンクが欠落した新しい最後のページを作成することが可能です。この問題を引き起こす可能性のあるシナリオの詳細な説明については、[PR #4945](https://github.com/XRPLF/rippled/pull/4945)をご覧ください。このAmendmentにより、その破損を引き起こしたバグが修正されます。さらに、新しい不変性チェックにより、他のバグが不適切に最後のページを削除できないようになります。 + + ### fixNFTokenRemint [fixNFTokenRemint]: #fixnftokenremint @@ -942,6 +1082,19 @@ NFTオファーに宛先を設定した場合、その宛先のみが仲介で このamendmentがない場合、残額が非常に少ないオファーは、四捨五入後の取引レートが当初よりも大幅に悪化する可能性があります。このため、非常に少額のオファーが、同じオーダーブック内のより良いオファーの取得を「ブロック」してしまう可能性があります。 +### fixReducedOffersV2 +[fixReducedOffersV2]: #fixreducedoffersv2 + +| Amendment | fixReducedOffersV2 | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 31E0DA76FB8FB527CADCDF0E61CB9C94120966328EFA9DCA202135BAF319C0BA | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +このAmendmentは、「減額された」オファーによってオーダーブックがブロックされる可能性がある特定のケースにおける丸め処理を調整します。これはfixReducedOffersV1 Amendmentと同じ症状に対処するものですが、そのAmendmentでカバーされていなかった追加のケースに対応します。 + + ### fixRemoveNFTokenAutoTrustLine [fixRemoveNFTokenAutoTrustLine]: #fixremovenftokenautotrustline @@ -1134,7 +1287,7 @@ XRP Ledgerの分散型取引所において、オファーの掛け合わせの | Amendment | Hooks | |:-------------|:------| | Amendment ID | ECE6819DBA5DB528F1A241695F5A9811EF99467CDE22510954FD357780BBD078 | -| Status | 開発中 | +| ステータス | 開発中 | | デフォルトの投票(最新の安定版) | いいえ | | Amendment前の機能は廃止? | いいえ | @@ -1156,6 +1309,53 @@ XRP Ledgerの分散型取引所において、オファーの掛け合わせの この修正が適用されない場合、資金の移動に失敗した「Immediate or Cancel」注文は、結果コード「tesSUCCESS」を返し、そのトランザクションが事実上何もしなかったため、混乱する可能性を残します。 +### InvariantsV1_1 +[InvariantsV1_1]: #invariantsv1_1 + +| Amendment | InvariantsV1_1 | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | D8ED3BE0B2673496CB49DE8B5588C8805DF7B1DE203F38FE0367ACE703D36C0F | +| ステータス | 開発中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +このAmendmentは、トランザクション処理におけるバグからレジャーを保護するために、いくつかの新しい不変性チェックを追加します。開発者は、複数の不変性チェックが実装された後、投票のために開放することを意図しています。含まれる不変性は次の通りです。 + +- アカウントを削除する際、そのアカウントの`DirectoryNode`、`SignerList`、`NFTokenPage`、`AMM`ディレクトリなど、特定のタイプのレジャーエントリも一緒に削除されることを確認します。 + + +### MPTokensV1 +[MPTokensV1]: #mptokensv1 + +| Amendment | MPTokensV1 | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | 950AE2EA4654E47F04AA8739C0B214E242097E802FD372D24047A89AB1F5EC38 | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +_多目的トークン(MPT)_ と呼ばれる新しいタイプの代替可能トークンを実装します。このトークンタイプは、ステーブルコインなどの一般的なトークンのユースケースに最適化されており、双方向のトラストラインに保存されるXRP Ledgerの既存の代替可能トークンに固有の複雑さを回避することを目的としています。このAmendmentは次のものを追加します。 + +**新しいレジャーエントリタイプ:** + +- MPToken - 特定のアカウントが保有するトークンを表し、保有量と発行者の情報を含みます。 +- MPTokenIssuance - MPTの特定の発行に関する情報と設定(スケールや送金手数料など)を記録します。 + +**トランザクションタイプ:** + +- (新規) MPTokenIssuanceCreate - MPTの新しい発行を定義します。 +- (新規) MPTokenIssuanceDestroy - MPTの発行定義を削除します。 +- (新規) MPTokenIssuanceSet - MPTの発行定義を変更します。 +- (新規) MPTokenAuthorize - アカウントが特定のMPTを保持することを許可します。 +- (更新) [Paymentトランザクション][]でもMPTを送信できます。 +- (更新) 発行定義でクローバックが許可されている場合、[Clawbackトランザクション][]でMPTのClawbackも可能です。 + +**APIメソッド:** + +- (新規) `mpt_holders`メソッド - 特定のMPT発行を保有するアカウントのリストを返します。 +- (更新) `ledger_entry`メソッド - MPTokenとMPTokenIssuanceのレジャーエントリタイプを検索できます。 + + ### MultiSign [MultiSign]: #multisign @@ -1213,6 +1413,27 @@ XRP Ledgerアカウントが[マルチシグ](../docs/concepts/accounts/multi-si ネットワークがどのバリデータが一時的にオフラインになったかを追跡し、定足数計算の際にそれらのバリデータを無視できる「ネガティブUNL」システムを実装します。これにより、ネットワークが不安定な状態でも、ネットワークを進展させる能力を高めることができます。 +### NFTokenMintOffer +[NFTokenMintOffer]: #nftokenmintoffer + +| Amendment | NFTokenMintOffer | +| :----------------------------- | :--------------------------------------------------------------- | +| Amendment ID | EE3CF852F0506782D05E65D49E5DCC3D16D50898CD1B646BAE274863401CC3CE | +| ステータス | 投票中 | +| デフォルトの投票(最新の安定版) | いいえ | +| Amendment前の機能は廃止? | いいえ | + +NFTの発行処理を変更し、同時にトークンの売却オファーも作成できるようにします。 + +このAmendmentにより、[NFTokenMintトランザクション][]でミントしたトークンの売却オファーを同時に出すことができます。これにより、トランザクションに3つのオプションフィールドが追加され、これらを提供するとNFTの売却オファーを定義できます。 + +- `Amount` - NFTの売却価格 +- `Destination` - このアカウントのみが受け入れ可能となるように販売を制限 +- `Expiration` - この売却オファーが期限切れとなる時間 + +このAmendmentがない場合、NFTをミントした後に売却オファーを出すには、別途[NFTokenCreateOfferトランザクション][]を送信する必要があります。 + + ### NonFungibleTokensV1 [NonFungibleTokensV1]: #nonfungibletokensv1 @@ -1443,7 +1664,7 @@ XRP Ledgerプロトコルの署名要件を変更し、いかなる場合にも | Amendment | XChainBridge | |:-------------|:-----------------| | Amendment ID | C98D98EE9616ACD36E81FDEB8D41D349BF5F1B41DD64A0ABC1FE9AA5EA267E9C | -| Status | 投票中 | +| ステータス | 投票中 | | デフォルトの投票(最新の安定版) | いいえ | | Amendment前の機能は廃止? | いいえ | diff --git a/@l10n/ja/translations.yaml b/@l10n/ja/translations.yaml index 1d7f636f51..4717f8d888 100644 --- a/@l10n/ja/translations.yaml +++ b/@l10n/ja/translations.yaml @@ -10,7 +10,7 @@ search.keys.navigate: 選択 search.keys.select: 決定 search.keys.exit: 閉じる feedback.settings.label: 参考になりましたか? -footer.copyrightText: © 2024 XRP Ledger. オープンソース. +footer.copyrightText: © 2025 XRP Ledger. オープンソース. navbar.about: 概要 navbar.docs: ドキュメント @@ -118,6 +118,9 @@ footer.community.xrpl-grants: XRPL Grants footer.community.github: GitHub footer.community.report-a-scam: 詐欺の報告 +component.tryit: 試してみる +component.queryexampletx: トランザクションの例を確認 + # index.page.tsx home.hero.h1part1: ビジネスのための home.hero.h1part2: ブロックチェーン @@ -491,6 +494,52 @@ Featured real world projects: 注目の実世界プロジェクト Related Articles: 関連記事 More related articles: 追加の関連記事 +# docs/use-cases/tokenization/real-world-assets.page.tsx +Build Real-World Asset Tokenization Solutions on the XRP Ledger: XRP Ledgerで現物資産のトークン化ソリューションを構築しましょう +Get Started Now: 今すぐ始める +Access the blockchain built for business to power financial asset tokenization with decentralized architecture, fast settlement, and institutional-grade tools.: 分散型アーキテクチャ、高速な決済、そして機関レベルのツールを備えたビジネス向けのブロックチェーンにアクセスして、金融資産のトークン化を可能にしましょう。 +XRP Ledger's open-source, decentralized technology is scalable, interoperable and highly efficient—specifically designed to enable tokenization of real-world financial assets.: XRP Ledgerのオープンソースかつ分散型の技術は、スケーラブル、相互運用可能、かつ高度に効率的であり、特に現物金融資産のトークン化に適したように設計されています。 +Benefits of Real-World Asset Tokenization Development on XRP Ledger: XRP Ledgerを使った現物資産のトークン化の利点 +Fast Settlement and Low Fees: 高速な決済と低い手数料 +Leverage transaction finality in 3-5 seconds at fractions of a cent, making XRP Ledger an ideal platform for handling large-scale tokenization with cost-effective, high-speed transactions.: 3-5秒でのトランザクションのファイナリティの特徴から、XRP Ledgerは高コストパフォーマンス、高速なトランザクションを使った大規模なトークン化を処理するための理想的なプラットフォームです。 +Access to Liquidity: 流動性へのアクセス +Integrate XRP Ledger's native liquidity pools and order books directly into your applications via API. Liquidity is aggregated at the protocol layer, rather than fragmented across various applications, providing developers with seamless access at the core blockchain level.: XRP Ledgerのネイティブの流動性プールとオーダーブックをAPIを通じてアプリケーションに直接統合しましょう。流動性はプロトコルレイヤーで集約され、さまざまなアプリケーション間で断片化されるのではなく、開発者にコアブロックチェーンレベルでのシームレスなアクセスを提供します。 +Full-Stack Tokenization Tools: フルスタックのトークン化ツール +Issue, manage, and trade real-world assets without needing to build smart contracts. XRP Ledger's built-in functionality and compliance-enabling features allows you to focus on building without additional layers of complexity.: スマートコントラクトを構築することなく、現物資産の発行、管理、および取引を行うことができます。XRP Ledgerのビルトイン機能とコンプライアンスを促進する機能により、追加の複雑さなしに構築できます。 +Best-in-Class On-chain DEX: 最高クラスのオンチェーンDEX +Utilize XRP Ledger's native decentralized exchange (DEX) with integrated Automated Market Makers (AMM) and on-chain 24/7 order books, providing a developer-friendly environment to create DeFi solutions for traditional finance applications.: XRP Ledgerのネイティブの分散型取引所(DEX)を利用して、統合された自動マーケットメーカーAMMとオンチェーンのオーダーブックを活用し、従来の金融アプリケーションのためのDeFiソリューションを開発しやすい環境を提供します。 +Cross-Chain Interoperability: ブロックチェーン間の相互運用性 +Enable seamless interaction with other blockchains via secure cross-chain bridges, allowing you to expand your project's functionality and liquidity options across ecosystems.: ブロックチェーン間の安全な相互運用性を利用して、他のブロックチェーンとのシームレスな相互作用を可能にし、プロジェクトの機能と流動性オプションをエコシステム間で拡張しましょう。 +Start Building Now: 今すぐ構築を始める +Explore the companies pioneering tokenization using XRP Ledger: XRP Ledgerを利用してトークン化の最先端を走る企業 +Developer Tools & APIs: 開発者ツールとAPI +"Streamline development and build powerful RWA tokenization solutions with XRP Ledger's comprehensive developer toolset:": XRP Ledgerの包括的な開発者ツールセットを使って、開発をスムーズにし、強力なRWAトークン化ソリューションを構築しましょう。 +Token Issuance Tutorial: トークン発行のチュートリアル +DEX Integration: DEXの統合 +Cross-chain Interoperability: クロスチェーンの相互運用性 +Why Developers Choose XRPL for RWA Tokenization: なぜ開発者がXRPLをRWAトークン化に選ぶのか +A developer-first blockchain for building efficient, scalable tokenization solutions.: 効率的でスケーラブルなトークン化ソリューションを構築するための開発者向けブロックチェーン +Proven Open-Source Technology: 実績あるオープンソース技術 +XRP Ledger has been a trusted, battle-tested blockchain for over a decade, supported by a global developer community committed to financial innovation.: XRP Ledgerは、10年以上にわたり、金融革新を追求するグローバルな開発者コミュニティによって支持されている信頼できる、実戦テスト済みのブロックチェーンです。 +Purpose-Built for Finance: 金融向けに特化 +XRP Ledger provides out-of-the-box institutional-grade functionality, reducing development overhead and eliminating the need for smart contracts.: XRP Ledgerは、金融向けに特化したビルトイン機能を提供し、開発オーバーヘッドを削減し、スマートコントラクトの必要性を排除します。 +Native Compliance & Security: ネイティブのコンプライアンスとセキュリティ +Maintain control over tokenized assets and user access with XRP Ledger's asset control features, multi-signature accounts, and built-in compliance tools.: XRP Ledgerの資産管理機能、マルチサインアカウント、およびビルトインのコンプライアンスツールを使って、トークン化された資産とユーザへのアクセスを制御できます。 +Pathfinding & Auto-Bridging for Liquidity: 流動性のためのパスファインディングとオートブリッジ +Streamline cross-currency transactions and trading with XRP Ledger's auto-bridging and pathfinding features to automatically increase liquidity between issued tokens and XRP.: XRP Ledgerのオートブリッジとパスファインディング機能を使って、発行されたトークンとXRP間の流動性を自動的に増加させ、通貨間の取引と交換をスムーズにしましょう。 +Learn About Auto-bridging: オートブリッジについて +Explore Pathfinding: パスファインディングについて +Developer Resources: 開発者リソース +use-cases.rwa.dev-resources.p1: " " +use-cases.rwa.dev-resources.p2: 既存のインフラストラクチャ +use-cases.rwa.dev-resources.p3: に簡単に統合し、開発の旅をサポートするリソースにアクセスできます。プロジェクトの資金調達にはXRPL Grantsを検討してみてください。または、Dev Advocateにご相談ください。 +Apply for XRPL Grants: XRPL Grantsへ応募 +Talk to a Dev Advocate: Dev Advocateへ相談 +Learn & Stay Updated: 知識を深め、最新情報を入手 +Stay ahead of the curve with the latest developments in RWA tokenization on the XRP Ledger by joining the developer Discord and signing up for the XRPL Community Newsletter.: XRPLのコミュニティディスコードとコミュニティニュースレターに参加して、RWAトークン化に関する最新の開発をキャッチアップしましょう。 +Join the Developer Discord: 開発者ディスコードに参加 +Sign up for the Newsletter: ニュースレターに登録 + # community/index.page.tsx XRPL Community: XRPLコミュニティ community.index.h1part1: 開発者とイノベーターによる diff --git a/@theme/components/Navbar/Navbar.tsx b/@theme/components/Navbar/Navbar.tsx index a4c9bd81d2..fe0b67ccac 100644 --- a/@theme/components/Navbar/Navbar.tsx +++ b/@theme/components/Navbar/Navbar.tsx @@ -1,21 +1,63 @@ import * as React from "react"; -import styled from "styled-components"; import { useThemeConfig, useThemeHooks } from "@redocly/theme/core/hooks"; import { LanguagePicker } from "@redocly/theme/components/LanguagePicker/LanguagePicker"; import { slugify } from "../../helpers"; import { Link } from "@redocly/theme/components/Link/Link"; import { ColorModeSwitcher } from "@redocly/theme/components/ColorModeSwitcher/ColorModeSwitcher"; import { AlgoliaSearch } from "./AlgoliaSearch"; +import arrowUpRight from "../../../static/img/icons/arrow-up-right-custom.svg"; // @ts-ignore const alertBanner = { - show: false, - message: "XRP Ledger Apex is back in Amsterdam", - button: "Register Now", - link: "https://www.xrpledgerapex.com/?utm_source=email&utm_medium=email_marketing&utm_campaign=EVENTS_XRPL_Apex_2024_Q2&utm_term=events_page_cta_button", + show: true, + message: "XRP LEDGER APEX 2025", + button: "GET TICKETS", + link: "https://www.xrpledgerapex.com/?utm_source=xrplwebsite&utm_medium=direct&utm_campaign=xrpl-event-ho-xrplapex-glb-2025-q1_xrplwebsite_ari_arp_bf_rsvp&utm_content=cta_btn_english_pencilbanner", + date: "JUNE 10-12", }; +export function AlertBanner({ message, date, button, link, show }) { + const { useTranslate } = useThemeHooks(); + const { translate } = useTranslate(); + const bannerRef = React.useRef(null); + React.useEffect(() => { + const banner = bannerRef.current; + if (!banner) return; + const handleMouseEnter = () => { + banner.classList.add('has-hover'); + }; + // Attach the event listener + banner.addEventListener('mouseenter', handleMouseEnter); + // Clean up the event listener on unmount + return () => { + banner.removeEventListener('mouseenter', handleMouseEnter); + }; + }, []); + + if (show) { + return ( + +
+
{translate(message)}
+
{translate(date)}
+
+
+
{translate(button)}
+ Get Tickets Icon +
+
+ ); + } + return null; +} export function Navbar(props) { // const [isOpen, setIsOpen] = useMobileMenu(false); const themeConfig = useThemeConfig(); @@ -49,6 +91,7 @@ export function Navbar(props) { } }); + React.useEffect(() => { // Turns out jQuery is necessary for firing events on Bootstrap v4 // dropdowns. These events set classes so that the search bar and other @@ -86,12 +129,7 @@ export function Navbar(props) { return ( <> - + @@ -120,30 +158,6 @@ export function Navbar(props) { ); } -const StyledColorModeSwitcher = styled(ColorModeSwitcher)` - padding: 10px; -`; - -export function AlertBanner({ message, button, link, show }) { - if (show) { - return ( -
-
- -

{message}

-
- - - {button} - - -
-
- ); - } - return null; -} - export function TopNavCollapsible({ children }) { return (
{props.children} diff --git a/@theme/components/XRPLoader.tsx b/@theme/components/XRPLoader.tsx index eeaa3eff08..25a535e8dc 100644 --- a/@theme/components/XRPLoader.tsx +++ b/@theme/components/XRPLoader.tsx @@ -2,12 +2,15 @@ import * as React from 'react'; export interface XRPLoaderProps { message?: string + show: boolean } export default function XRPLoader(props: XRPLoaderProps) { + const classnames = props.show ? "loader" : "loader collapse" return ( -
- (loading) - {props.message} -
); +
+ (loading) + {props.message} +
+ ) } diff --git a/@theme/markdoc/components.tsx b/@theme/markdoc/components.tsx index b93a9572ce..168f8752bc 100644 --- a/@theme/markdoc/components.tsx +++ b/@theme/markdoc/components.tsx @@ -5,6 +5,7 @@ import dynamicReact from '@markdoc/markdoc/dist/react'; import { Link } from '@redocly/theme/components/Link/Link'; import { useThemeHooks } from '@redocly/theme/core/hooks' import { idify } from '../helpers'; +import { Button } from '@redocly/theme/components/Button/Button'; export {default as XRPLoader} from '../components/XRPLoader'; export { XRPLCard, CardGrid } from '../components/XRPLCard'; @@ -144,6 +145,58 @@ export function Badge(props: { } } +type TryItServer = 's1' | 's2' | 'xrplcluster' | 'testnet' | 'devnet' + +export function TryIt(props: { + method: string, + server?: TryItServer +}) { + const { useTranslate } = useThemeHooks() + const { translate } = useTranslate() + let use_server = ""; + if (props.server == "s1") { + use_server = "?server=wss%3A%2F%2Fs1.ripple.com%2F" + } else if (props.server == "s2") { + use_server = "?server=wss%3A%2F%2Fs2.ripple.com%2F" + } else if (props.server == "xrplcluster") { + use_server = "?server=wss%3A%2F%2Fxrplcluster.com%2F" + } else if (props.server == 'devnet') { + use_server = "?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F" + } else if (props.server == 'testnet') { + use_server = "?server=wss%3A%2F%2Fs.altnet.rippletest.net%3A51233%2F" + } + const to_path = `/resources/dev-tools/websocket-api-tool${use_server}#${props.method}` + return ( + {translate("component.tryit", "Try it!")} + ) +} + +export function TxExample(props: { + txid: string, + server?: TryItServer +}) { + const { useTranslate } = useThemeHooks() + const { translate } = useTranslate() + let use_server = ""; + if (props.server == "s1") { + use_server = "&server=wss%3A%2F%2Fs1.ripple.com%2F" + } else if (props.server == "s2") { + use_server = "&server=wss%3A%2F%2Fs2.ripple.com%2F" + } else if (props.server == "xrplcluster") { + use_server = "&server=wss%3A%2F%2Fxrplcluster.com%2F" + } else if (props.server == 'devnet') { + use_server = "&server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F" + } else if (props.server == 'testnet') { + use_server = "&server=wss%3A%2F%2Fs.altnet.rippletest.net%3A51233%2F" + } + + const ws_req = `req=%7B%22id%22%3A%22example_tx_lookup%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22${props.txid}%22%2C%22binary%22%3Afalse%2C%22api_version%22%3A2%7D` + const to_path = `/resources/dev-tools/websocket-api-tool?${ws_req}${use_server}` + return ( + {translate("component.queryexampletx", "Query example transaction")} + ) +} + function shieldsIoEscape(s: string) { return s.trim().replaceAll('-', '--').replaceAll('_', '__') } diff --git a/@theme/markdoc/schema.ts b/@theme/markdoc/schema.ts index 4531c5fcc6..36683a0ae4 100644 --- a/@theme/markdoc/schema.ts +++ b/@theme/markdoc/schema.ts @@ -181,3 +181,37 @@ export const cardGrid: Schema & { tagName: string } = { }, render: 'CardGrid' } + +export const tryIt: Schema & { tagName: string } = { + tagName: 'try-it', + attributes: { + method: { + type: 'String', + required: true + }, + server: { + type: 'String', + required: false, + default: "" + } + }, + render: 'TryIt', + selfClosing: true +} + +export const txExample: Schema & { tagName: string } = { + tagName: 'tx-example', + attributes: { + txid: { + type: 'String', + required: true + }, + server: { + type: 'String', + required: false, + default: "" + } + }, + render: 'TxExample', + selfClosing: true +} diff --git a/@theme/plugins/code-samples.js b/@theme/plugins/code-samples.js index 53b66f2fe8..27ba4fbd5a 100644 --- a/@theme/plugins/code-samples.js +++ b/@theme/plugins/code-samples.js @@ -28,7 +28,7 @@ export function codeSamples() { samples.push({ path: dirPath, title: title || toTitleCase(dirname(dirPath)), - description: getInnerText([data.ast.children[1]]).replace(title, '').trim(), + description: getInnerText([data.ast.children[1]]).trim(), href: joinPath('content', dirPath), langs, }); diff --git a/@theme/styles.css b/@theme/styles.css index 3b10481d11..b958e9f130 100644 --- a/@theme/styles.css +++ b/@theme/styles.css @@ -223,6 +223,8 @@ ul.nav.navbar-nav { --md-list-left-padding: 40px; --md-table-header-bg-color: #32343E; --md-table-border-color: #32343E; + + --md-tabs-content-padding: 0; } :root.light { diff --git a/_api-examples/ledger_index/jsonrpc-response.json b/_api-examples/ledger_index/jsonrpc-response.json new file mode 100644 index 0000000000..196f5d80c7 --- /dev/null +++ b/_api-examples/ledger_index/jsonrpc-response.json @@ -0,0 +1,15 @@ +{ + "result": { + "ledger_index": 3679660, + "ledger_hash": "346C9211428A102081A3BFFCCBE1F698E7E56163BBD1DF81B446418B3213DBD7", + "closed": "2024-08-28T23:00:00Z", + "validated": true, + "status": "success" + }, + "warnings": [ + { + "id": 2001, + "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request" + } + ] +} diff --git a/_api-examples/ledger_index/ws-response.json b/_api-examples/ledger_index/ws-response.json new file mode 100644 index 0000000000..293a248a31 --- /dev/null +++ b/_api-examples/ledger_index/ws-response.json @@ -0,0 +1,17 @@ +{ + "result": { + "ledger_index": 3679660, + "ledger_hash": "346C9211428A102081A3BFFCCBE1F698E7E56163BBD1DF81B446418B3213DBD7", + "closed": "2024-08-28T23:00:00Z", + "validated": true + }, + "id": "example_ledger_index", + "status": "success", + "type": "response", + "warnings": [ + { + "id": 2001, + "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request" + } + ] +} diff --git a/_code-samples/amm-clob/README.md b/_code-samples/amm-clob/README.md new file mode 100644 index 0000000000..7abd5a44e8 --- /dev/null +++ b/_code-samples/amm-clob/README.md @@ -0,0 +1,3 @@ +# AMM CLOB Demo + +Simulate how offers interact with each other and AMMs on the XRPL DEX. \ No newline at end of file diff --git a/_code-samples/amm-clob/js/amm-clob.js b/_code-samples/amm-clob/js/amm-clob.js new file mode 100644 index 0000000000..e39b249663 --- /dev/null +++ b/_code-samples/amm-clob/js/amm-clob.js @@ -0,0 +1,303 @@ +if (typeof module !== "undefined") { + // Use var here because const/let are block-scoped to the if statement. + var xrpl = require('xrpl') + } + +const client = new xrpl.Client("wss://s.devnet.rippletest.net:51233"); +client.connect() + +let aliceWallet = null +let bobWallet = null +let issuerWallet = null + +let aliceWalletBalance = null +let bobWalletBalance = null + +// Add an event listener to the startButton +document.addEventListener("DOMContentLoaded", function() { + startButton.addEventListener("click", start) + aCreateOfferButton.addEventListener("click", aliceCreateOffer) + bCreateOfferButton.addEventListener("click", bobCreateOffer) +}); + +// Function to get Alice and Bob balances + +async function getBalances() { + aliceWalletBalance = await client.getBalances(aliceWallet.address) + bobWalletBalance = await client.getBalances(bobWallet.address) + + aliceWalletField.value = `${aliceWalletBalance[0].value} XRP / ${aliceWalletBalance[1].value} USD` + bobWalletField.value = `${bobWalletBalance[0].value} XRP / ${bobWalletBalance[1].value} USD` +} + +// Function to update AMM + +async function ammInfoUpdate() { + const ammInfo = await client.request({ + "command": "amm_info", + "asset": { + "currency": "XRP" + }, + "asset2": { + "currency": "USD", + "issuer": issuerWallet.address + }, + "ledger_index": "validated" + }) + + ammInfoField.value = JSON.stringify(ammInfo.result.amm, null, 2) +} + +// Function to update Alice and Bobs offers + +async function updateOffers() { + const aliceOffers = await client.request({ + "command": "account_offers", + "account": aliceWallet.address + }) + + if ( aliceOffers.result.offers == "" ) { + aliceOffersField.value = `No offers.` + } else { + aliceOffersField.value = `${JSON.stringify(aliceOffers.result.offers, null, 2)}` + } + + const bobOffers = await client.request({ + "command": "account_offers", + "account": bobWallet.address + }) + + if ( bobOffers.result.offers == "" ) { + bobOffersField.value = `No offers.` + } else { + bobOffersField.value = `${JSON.stringify(bobOffers.result.offers, null, 2)}` + } +} + +// Function to set up test harness +async function start() { + + // Fund wallets and wait for each to complete + startButton.textContent = "Loading wallets..."; + + const issuerStart = client.fundWallet() + const ammStart = client.fundWallet() + const aliceStart = client.fundWallet() + const bobStart = client.fundWallet() + + const [issuerResult, ammResult, aliceResult, bobResult] = await Promise.all([issuerStart, ammStart, aliceStart, bobStart]) + + issuerWallet = issuerResult.wallet + const ammWallet = ammResult.wallet + aliceWallet = aliceResult.wallet + bobWallet = bobResult.wallet + + // Set up account settings + startButton.textContent = "Setting up account settings..."; + + const issuerSetRipple = client.submitAndWait({ + "TransactionType": "AccountSet", + "Account": issuerWallet.address, + "SetFlag": xrpl.AccountSetAsfFlags.asfDefaultRipple + }, {autofill: true, wallet: issuerWallet}) + + const ammSetTrust = client.submitAndWait({ + "TransactionType": "TrustSet", + "Account": ammWallet.address, + "LimitAmount": { + "currency": "USD", + "issuer": issuerWallet.address, + "value": "10000" + } + }, {autofill: true, wallet: ammWallet}) + + const aliceSetTrust = client.submitAndWait({ + "TransactionType": "TrustSet", + "Account": aliceWallet.address, + "LimitAmount": { + "currency": "USD", + "issuer": issuerWallet.address, + "value": "10000" + } + }, {autofill: true, wallet: aliceWallet}) + + const bobSetTrust = client.submitAndWait({ + "TransactionType": "TrustSet", + "Account": bobWallet.address, + "LimitAmount": { + "currency": "USD", + "issuer": issuerWallet.address, + "value": "10000" + } + }, {autofill: true, wallet: bobWallet}) + + await Promise.all([issuerSetRipple, ammSetTrust, aliceSetTrust, bobSetTrust]) + + // Send USD token + startButton.textContent = "Sending USD..."; + + const issuerAccountInfo = await client.request({ + "command": "account_info", + "account": issuerWallet.address + }) + + let sequence = issuerAccountInfo.result.account_data.Sequence + + const ammUSD = client.submitAndWait({ + "TransactionType": "Payment", + "Account": issuerWallet.address, + "Amount": { + "currency": "USD", + "value": "1000", + "issuer": issuerWallet.address + }, + "Destination": ammWallet.address, + "Sequence": sequence ++ + }, {autofill: true, wallet: issuerWallet}) + + const aliceUSD = client.submitAndWait({ + "TransactionType": "Payment", + "Account": issuerWallet.address, + "Amount": { + "currency": "USD", + "value": "1000", + "issuer": issuerWallet.address + }, + "Destination": aliceWallet.address, + "Sequence": sequence ++ + }, {autofill: true, wallet: issuerWallet}) + + const bobUSD = client.submitAndWait({ + "TransactionType": "Payment", + "Account": issuerWallet.address, + "Amount": { + "currency": "USD", + "value": "1000", + "issuer": issuerWallet.address + }, + "Destination": bobWallet.address, + "Sequence": sequence ++ + }, {autofill: true, wallet: issuerWallet}) + + await Promise.all([ammUSD, aliceUSD, bobUSD]) + + // Update Alice and Bob's XRP and USD balances + + getBalances() + + // Set up AMM + startButton.textContent = "Creating AMM..."; + + await client.submitAndWait({ + "TransactionType": "AMMCreate", + "Account": ammWallet.address, + "Amount": "50000000", // XRP as drops + "Amount2": { + "currency": "USD", + "issuer": issuerWallet.address, + "value": "500" + }, + "TradingFee": 500 // 0.5% + }, {autofill: true, wallet: ammWallet}) + + // Update AMM + ammInfoUpdate() + + startButton.textContent = "Ready (Click to Restart)"; + +} + + +// Submit Alice Offers +async function aliceCreateOffer() { + + aCreateOfferButton.textContent = "Creating Offer..." + + try { + let aliceTakerGets = null + let aliceTakerPays = null + + if ( aliceTakerGetsCurrency.value == 'XRP' ) { + aliceTakerGets = xrpl.xrpToDrops(aliceTakerGetsAmount.value) + } else { + aliceTakerGets = { + "currency": "USD", + "issuer": issuerWallet.address, + "value": aliceTakerGetsAmount.value + } + } + + if ( aliceTakerPaysCurrency.value == 'XRP' ) { + aliceTakerPays = xrpl.xrpToDrops(aliceTakerPaysAmount.value) + } else { + aliceTakerPays = { + "currency": "USD", + "issuer": issuerWallet.address, + "value": aliceTakerPaysAmount.value + } + } + + await client.submitAndWait({ + "TransactionType": "OfferCreate", + "Account": aliceWallet.address, + "TakerGets": aliceTakerGets, + "TakerPays": aliceTakerPays + }, {autofill: true, wallet: aliceWallet}) + + updateOffers() + getBalances() + ammInfoUpdate() + + } catch (error) { + aliceOffersField.value = `${error.message}` + } + + aCreateOfferButton.textContent = "Create Another Offer" +} + +// Submit Bob Offers +async function bobCreateOffer() { + + bCreateOfferButton.textContent = "Creating Offer..." + + try { + let bobTakerGets = null + let bobTakerPays = null + + if ( bobTakerGetsCurrency.value == 'XRP' ) { + bobTakerGets = xrpl.xrpToDrops(bobTakerGetsAmount.value) + } else { + bobTakerGets = { + "currency": "USD", + "issuer": issuerWallet.address, + "value": bobTakerGetsAmount.value + } + } + + if ( bobTakerPaysCurrency.value == 'XRP' ) { + bobTakerPays = xrpl.xrpToDrops(bobTakerPaysAmount.value) + } else { + bobTakerPays = { + "currency": "USD", + "issuer": issuerWallet.address, + "value": bobTakerPaysAmount.value + } + } + + await client.submitAndWait({ + "TransactionType": "OfferCreate", + "Account": bobWallet.address, + "TakerGets": bobTakerGets, + "TakerPays": bobTakerPays + }, {autofill: true, wallet: bobWallet}) + + updateOffers() + getBalances() + ammInfoUpdate() + + } catch (error) { + bobOffersField.value = `${error.message}` + } + + bCreateOfferButton.textContent = "Create Another Offer" +} \ No newline at end of file diff --git a/_code-samples/amm-clob/js/demo.html b/_code-samples/amm-clob/js/demo.html new file mode 100644 index 0000000000..102b37d039 --- /dev/null +++ b/_code-samples/amm-clob/js/demo.html @@ -0,0 +1,72 @@ + + + +
+ +
+

XRP/USD AMM

+ +
+
+
+

Alice's Wallet

+ +
+ + +
+
+ + +
+ +

Alice's Offers

+ +
+
+

Bob's Wallet

+ +
+ + +
+
+ + +
+ +

Bob's Offers

+ +
+
+
\ No newline at end of file diff --git a/_code-samples/build-a-browser-wallet/README.md b/_code-samples/build-a-browser-wallet/README.md index 640e29134a..ac2be2a3e5 100644 --- a/_code-samples/build-a-browser-wallet/README.md +++ b/_code-samples/build-a-browser-wallet/README.md @@ -1,3 +1,3 @@ # Build a Browser Wallet -Implement a non-custodial wallet application that runs on in a web browser and can check an account's balances, send XRP, and notify when the account receives incoming transactions. +Implement a non-custodial wallet application that runs in a web browser and can check an account's balances, send XRP, and notify when the account receives incoming transactions. diff --git a/_code-samples/did/README.md b/_code-samples/did/README.md new file mode 100644 index 0000000000..b5f62cc239 --- /dev/null +++ b/_code-samples/did/README.md @@ -0,0 +1,3 @@ +# Create, Update, and Delete Decentralized Identifiers (DIDs) + +Create, update, and delete decentralized identifiers (DIDs). A Decentralized Identifier (DID) is a new type of identifier defined by the World Wide Web Consortium (W3C) that enables verifiable, digital identities. diff --git a/_code-samples/did/py/README.md b/_code-samples/did/py/README.md new file mode 100644 index 0000000000..2f44604452 --- /dev/null +++ b/_code-samples/did/py/README.md @@ -0,0 +1,5 @@ +# How to DID + +Modify and run the did_set.py file to create or update a DID object for an XRPL account. + +After you run the did_set.py file it returns a seed which you will input upon request from the did_delete.py file to delete the account's DID diff --git a/_code-samples/did/py/account_did.py b/_code-samples/did/py/account_did.py new file mode 100644 index 0000000000..8d86cd90e0 --- /dev/null +++ b/_code-samples/did/py/account_did.py @@ -0,0 +1,30 @@ +from xrpl.models import LedgerEntry +from xrpl.clients import JsonRpcClient + + +# connect to the xrpl via a client +print("Connecting to client") +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") +print("connected!!!") + + +# address of an account that has an existing DID +account_did_creator = "rQB1cBMMyFXshFQd6cj3eg7vSJZtYb6d8e" + +# build the request for the account's DID +req = LedgerEntry(ledger_index="validated", did=account_did_creator) + +# submit request and awaiting result +print("submitting request") +response = client.request(req) +result = response.result + + +# parse result +if "index" in result and "Account" in result["node"]: + print(f'DID index: {result["node"]["index"]}') + print(f'DID Document: {result["node"]["DIDDocument"]}') + print(f'Data: {result["node"]["Data"]}') + print(f'URI: {result["node"]["URI"]}') +else: + print("No DID found for this account") diff --git a/_code-samples/did/py/did_delete.py b/_code-samples/did/py/did_delete.py new file mode 100644 index 0000000000..77cbfd791b --- /dev/null +++ b/_code-samples/did/py/did_delete.py @@ -0,0 +1,36 @@ +# neccasary imports +from xrpl.models import DIDDelete +from xrpl.clients import JsonRpcClient +from xrpl.wallet import Wallet +from xrpl.transaction import submit_and_wait + + +# connect to the xrpl via a client +print("Connecting to client") +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") +print("connected!!!") + + +# input the seed that was generated from running the did_set.py +seed = input("now, enter the seed of the account that has a DID object to delete: ") + +# restore an account that has an existing DID +account_did_creator = Wallet.from_seed(seed=seed) + +# define the account DIDDelete transaction +did_delete_txn = DIDDelete(account=account_did_creator.address) + +# sign, submit the did delete transaction and wait for result +print("signed and submitting did delete transaction. awaiting response...") +did_delete_response = submit_and_wait( + transaction=did_delete_txn, + wallet=account_did_creator, + client=client, +) + +# Parse response for result +did_delete_result = did_delete_response.result + +# Print result and transaction hash +print(did_delete_result["meta"]["TransactionResult"]) +print(did_delete_result["hash"]) diff --git a/_code-samples/did/py/did_set.py b/_code-samples/did/py/did_set.py new file mode 100644 index 0000000000..8004f85637 --- /dev/null +++ b/_code-samples/did/py/did_set.py @@ -0,0 +1,57 @@ +# This allows you to create or update a DID +from xrpl.models import DIDSet +from xrpl.clients import JsonRpcClient +from xrpl.wallet import generate_faucet_wallet +from xrpl.transaction import submit_and_wait +from xrpl.utils import str_to_hex + + +# connect to the xrpl via a client +print("Connecting to client") +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") +print("connected!!!") + + +# define/generate a wallet / account +account_did_creator = generate_faucet_wallet(client) + +print("⭐successfully generated wallet") +print("here's your seed. You'll need it to modify and delete the DID set by this account/wallet") +# it is not good practise to expose your seed. +print(f"seed: {account_did_creator.seed}") + + +# define the document associated with the DID +document = "did:example:123#public-key-0" + +# define the data associated with the DID +# The public attestations of identity credentials associated with the DID. +data = "did:example:123#key-1" + +# define the uri associated with the DID +# The Universal Resource Identifier associated with the DID. +uri = "https://example.did.com/123" + + +# build DID SET transaction +# str_to_hex() converts the inputted string to blockchain understandable hexadecimal +did_set_txn = DIDSet( + account=account_did_creator.address, + did_document=str_to_hex(document), + data=str_to_hex(data), + uri=str_to_hex(uri), +) + + +# sign, submit the transaction and wait for the response +print("siging and submitting the transaction, awaiting a response") +did_set_txn_response = submit_and_wait( + transaction=did_set_txn, client=client, wallet=account_did_creator +) + +# Parse response for result +did_set_txn_result = did_set_txn_response.result + +# Print result and transaction hash +print(did_set_txn_result["meta"]["TransactionResult"]) +print(did_set_txn_result["hash"]) diff --git a/_code-samples/did/py/requirements.txt b/_code-samples/did/py/requirements.txt new file mode 100644 index 0000000000..e18375ef2e --- /dev/null +++ b/_code-samples/did/py/requirements.txt @@ -0,0 +1 @@ +xrpl-py==4.0.0 diff --git a/_code-samples/partial-payment/py/partial-payment.py b/_code-samples/partial-payment/py/partial-payment.py index 907f92879c..0d1a7c9bce 100644 --- a/_code-samples/partial-payment/py/partial-payment.py +++ b/_code-samples/partial-payment/py/partial-payment.py @@ -8,7 +8,7 @@ from xrpl.wallet import generate_faucet_wallet # References # - https://xrpl.org/partial-payments.html#partial-payments -# - https://xrpl.org/payment.html#payment-flags +# - https://xrpl.org/docs/references/protocol/transactions/types/payment#payment-flags # - https://xrpl.org/trustset.html#trustset # - https://xrpl.org/account_lines.html#account_lines diff --git a/_code-samples/price_oracles/README.md b/_code-samples/price_oracles/README.md new file mode 100644 index 0000000000..e075240cc5 --- /dev/null +++ b/_code-samples/price_oracles/README.md @@ -0,0 +1,3 @@ +# Create, Update, and Delete Price Oracles + +Create, update, and delete Price Oracles. A price oracle is a mechanism that feeds external data, such as asset prices, and exchange rates, onto the XRPLedger. diff --git a/_code-samples/price_oracles/py/README.md b/_code-samples/price_oracles/py/README.md new file mode 100644 index 0000000000..778c7c76f5 --- /dev/null +++ b/_code-samples/price_oracles/py/README.md @@ -0,0 +1,3 @@ +# How to Price Oracle + +After you run the create_price_oracle.py file it returns a seed which you will input upon request from the delete_price_oracle.py file to delete the account's DID diff --git a/_code-samples/price_oracles/py/account_price_oracles.py b/_code-samples/price_oracles/py/account_price_oracles.py new file mode 100644 index 0000000000..33a9fb60b1 --- /dev/null +++ b/_code-samples/price_oracles/py/account_price_oracles.py @@ -0,0 +1,77 @@ +# neccesary imports +import datetime +from xrpl.clients import JsonRpcClient +from xrpl.models import AccountObjects, AccountObjectType + + +print("connecting to the test network") +# Connect to XRPL test network +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") +print("connected!!!") + + +# define the account we are going to query +oracle_creator = "rBoSibkbwaAUEpkehYixQrXp4AqZez9WqA" + +# define array for holding oracles an account has created +oracles_ = [] + +# build the request object +req = AccountObjects( + account=oracle_creator, + ledger_index="validated", + type=AccountObjectType.ORACLE, +) + +# mak the request object +response = client.request(req) + +# return the result +result = response.result + +# parse the result and print +if "account_objects" in result: + oracles = result["account_objects"] + for oracle in oracles: + oracle_data = {} + price_data_ = [] + oracle_data["oracle_id"] = oracle["index"] + oracle_data["owner"] = oracle["Owner"] + oracle_data["provider"] = oracle["Provider"] + oracle_data["asset_class"] = oracle["AssetClass"] + oracle_data["uri"] = oracle["URI"] if "URI" in oracle else "" + oracle_data["last_update_time"] = ( + str(datetime.datetime.fromtimestamp(oracle["LastUpdateTime"])) + if "LastUpdateTime" in oracle + else "" + ) + oracle_data["price_data_series"] = ( + oracle["PriceDataSeries"] if "PriceDataSeries" in oracle else [] + ) + + # sort price data series if any + if "PriceDataSeries" in oracle and len(oracle["PriceDataSeries"]) > 0: + price_data_series = oracle["PriceDataSeries"] + for price_data_serie in price_data_series: + price_data = {} + price_data["base_asset"] = price_data_serie["PriceData"]["BaseAsset"] + + price_data["quote_asset"] = price_data_serie["PriceData"]["QuoteAsset"] + + price_data["scale"] = ( + price_data_serie["PriceData"]["Scale"] + if "Scale" in price_data_serie["PriceData"] + else "" + ) + price_data["asset_price"] = ( + price_data_serie["PriceData"]["AssetPrice"] + if "AssetPrice" in price_data_serie["PriceData"] + else "" + ) + + price_data_.append(price_data) + oracle_data["price_data_series"] = price_data_ + oracles_.append(oracle_data) + + +print(oracles_) diff --git a/_code-samples/price_oracles/py/create_price_oracle.py b/_code-samples/price_oracles/py/create_price_oracle.py new file mode 100644 index 0000000000..ffbf93a4be --- /dev/null +++ b/_code-samples/price_oracles/py/create_price_oracle.py @@ -0,0 +1,82 @@ +# neccesary imports +import datetime +from xrpl.wallet import generate_faucet_wallet +from xrpl.clients import JsonRpcClient +from xrpl.models import ( + OracleSet, +) +from xrpl.transaction import submit_and_wait, sign_and_submit +from xrpl.models.transactions.oracle_set import PriceData + +from xrpl.utils import str_to_hex + + +print("connecting to the test network") +# Connect to XRPL test network +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") +print("connected!!!") + +# create demo wallet +oracle_creator = generate_faucet_wallet(client=client) +print("⭐successfully generated wallet") +print("here's your seed. You'll need it to modify and delete the DID set by this account/wallet") +# it is not good practise to expose your seed. +print(f"seed: {oracle_creator.seed}") + +# define the oracle document id +# this should be stored offline as the blockchain doesn't retrieve it in requests +oracle_document_id = 1 + +# define the provider's name and convert to hexadecimal e.g: band, chainlink etc +provider = str_to_hex("provider") + +# define the uri of the provider and convert to hexadecimal +uri = str_to_hex("sampleprovider.com") + + +# define the last update time of the price data being passed to the oracle as a timestamp +# max time into the future is 5 minutes and max time into the past is 4 minutes from the current time +# we'll use the current date time for this +last_update_time = int(datetime.datetime.now().timestamp()) + + +# define the asset class and convert to hexadecimal +# Describes the type of asset, such as "currency", "commodity", or "index". +asset_class = str_to_hex("currency") + + +# create a price data object, that will be tracked by the oracle +pd = PriceData( + base_asset="BTC", + quote_asset="USD", + asset_price=1000, + scale=4, +) + +# create an array of up to 10 Price data objects +price_data_array = [pd] + + +print("building transaction") +# create price oracle transaction +oracle_set = OracleSet( + account=oracle_creator.address, + oracle_document_id=oracle_document_id, + provider=provider, + uri=uri, + last_update_time=last_update_time, + asset_class=asset_class, + price_data_series=price_data_array, +) + + +print("signing and submitting transaction, awaiting response") +# sign, submit, and wait forthe transaction result +oracle_set_txn_response = submit_and_wait( + transaction=oracle_set, client=client, wallet=oracle_creator +) + + +# print the result and transaction hash +print(oracle_set_txn_response.result["meta"]["TransactionResult"]) +print(oracle_set_txn_response.result["hash"]) diff --git a/_code-samples/price_oracles/py/delete_price_oracle.py b/_code-samples/price_oracles/py/delete_price_oracle.py new file mode 100644 index 0000000000..462abf39cd --- /dev/null +++ b/_code-samples/price_oracles/py/delete_price_oracle.py @@ -0,0 +1,47 @@ +# neccesary imports +from xrpl.wallet import Wallet +from xrpl.clients import JsonRpcClient +from xrpl.models import ( + OracleDelete, +) +from xrpl.transaction import submit_and_wait + + +print("connecting to the test network") +# Connect to XRPL test network +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") +print("connected!!!") + +# input the seed that was generated from running the did_set.py +seed = input("now, enter the seed of the account that owns a Price Oracle object to delete: ") + +# create demo wallet or use an existing one as created in the oracle set transaction +oracle_creator = Wallet.from_seed(seed=seed) + +# define the oracle document id +# this should be stored offline as the blockchain doesn't retrieve it in requests +oracle_document_id = 1 + + +print("building transaction") +# create price oracle delete transaction +oracle_set = OracleDelete( + account=oracle_creator.address, + oracle_document_id=oracle_document_id, +) + + +print("signing and submitting transaction, awaiting response") +# sign, submit and wait for transaction result +oracle_set_txn_response = submit_and_wait( + transaction=oracle_set, client=client, wallet=oracle_creator +) + + +# print the result and transaction hash +print(oracle_set_txn_response.result["meta"]["TransactionResult"]) +print(oracle_set_txn_response.result["hash"]) + +# check if the transaction was successful +if oracle_set_txn_response.result["meta"]["TransactionResult"] == "tesSUCCESS": + print("oracle deleted successfully") diff --git a/_code-samples/price_oracles/py/requirements.txt b/_code-samples/price_oracles/py/requirements.txt new file mode 100644 index 0000000000..e18375ef2e --- /dev/null +++ b/_code-samples/price_oracles/py/requirements.txt @@ -0,0 +1 @@ +xrpl-py==4.0.0 diff --git a/about/index.page.tsx b/about/index.page.tsx index bdd838db44..10b4f2d6d4 100644 --- a/about/index.page.tsx +++ b/about/index.page.tsx @@ -235,7 +235,7 @@ export default function XrplOverview() { "Unlike most other blockchains, the XRP Ledger requires no mining and uses negligible energy, key to long-term growth and stability." )}

- + {translate("Learn More")}
@@ -262,7 +262,7 @@ export default function XrplOverview() { "With the XRPL, these developers are building innovative blockchain projects and applications across use cases including tokenization of assets, online gaming, asset custody, NFTs, and DeFi." )}

- + {translate("Explore More")} @@ -438,7 +438,7 @@ export default function XrplOverview() { ))}
- + {translate("View Full FAQ")}
diff --git a/about/uses.page.tsx b/about/uses.page.tsx index 37f76d51b0..7013fa498b 100644 --- a/about/uses.page.tsx +++ b/about/uses.page.tsx @@ -7,7 +7,7 @@ import arrow from "../static/js/ecosystem/arrow-animation.json"; export const frontmatter = { seo: { title: 'Use Cases & Featured Projects', - description: "Here’s how the XRP Ledger is used to power innovative technology across the payments and public blockchain landscape.", + description: "Here's how the XRP Ledger is used to power innovative technology across the payments and public blockchain landscape.", } }; @@ -247,7 +247,7 @@ const cardsData = [ id: "Edge", title: "Edge", description: - "Edge is a secure, easy, and private way to use, store, trade, and exchange crypto assets. Edge ensures sure you’re always in control of your money and information while also providing the tools necessary to protect yourself from others and your own mistakes. Edge has rich functionality, a battle-tested security architecture, and the industry’s best customer support.", + "Edge is a secure, easy, and private way to use, store, trade, and exchange crypto assets. Edge ensures sure you're always in control of your money and information while also providing the tools necessary to protect yourself from others and your own mistakes. Edge has rich functionality, a battle-tested security architecture, and the industry's best customer support.", category_id: "wallet", category_name: "Wallet", link: "https://edge.app/ripple-wallet/", @@ -430,7 +430,7 @@ const uses = [ title: "Infrastructure", number: 7, description: - "Build and operate components or systems that help the functionality of the XRP Ledger, such as Nodes, dev tools, storage, security and more.", + "Build and operate components or systems that help the functionality of the XRP Ledger, such as Nodes, dev tools, storage, security and more." }, { @@ -438,49 +438,49 @@ const uses = [ title: "Developer Tooling", number: 4, description: - "Developers can leverage open-source libraries, SDKs and more to help build their project and access essential XRP Ledger functionality.", + "Developers can leverage open-source libraries, SDKs and more to help build their project and access essential XRP Ledger functionality." }, { id: "interoperability", title: "Interoperability", number: 1, description: - "Developers and node operators can build and run custom sidechains while leveraging the XRPL’s lean and efficient feature set.", + "Developers and node operators can build and run custom sidechains while leveraging the XRPL's lean and efficient feature set." }, { id: "wallet", title: "Wallet", number: 4, description: - "Build digital wallets to store passwords and interact with various blockchains to send and receive digital assets, including XRP.", + "Build digital wallets to store passwords and interact with various blockchains to send and receive digital assets, including XRP." }, { id: "nfts", title: "NFTs", number: 7, description: - "XRPL supports the issuance of IOUs that represent a currency of any value, as well as non-fungible tokens (NFTs).", + "XRPL supports the issuance of IOUs that represent a currency of any value, as well as non-fungible tokens (NFTs)." }, { id: "exchanges", title: "Exchanges", number: 5, description: - "Build sophisticated exchanges where users can invest and trade crypto and assets such as stocks, ETFs, and commodities.", + "Build sophisticated exchanges where users can invest and trade crypto and assets such as stocks, ETFs, and commodities." }, { id: "gaming", title: "Gaming", number: 4, description: - "The XRPL supports gaming at high speed given its reliable throughput, low fees, and sidechain interoperability.", + "The XRPL supports gaming at high speed given its reliable throughput, low fees, and sidechain interoperability." }, { id: "security", title: "Security", number: 1, description: - "Build services and tools that help prevent and combat fraudulent activity with the XRPL.", + "Build services and tools that help prevent and combat fraudulent activity with the XRPL." }, { @@ -488,7 +488,7 @@ const uses = [ title: "Payments", number: 2, description: - "Leverage the efficiency and speed of the XRP Ledger to move value all over the globe.", + "Leverage the efficiency and speed of the XRP Ledger to move value all over the globe." }, { @@ -496,7 +496,7 @@ const uses = [ title: "CBDC", number: 1, description: - "A private version of the XRP Ledger provides Central Banks a secure, controlled, and flexible solution to issue and manage Central Bank Issued Digital Currencies (CBDCs).", + "A private version of the XRP Ledger provides Central Banks a secure, controlled, and flexible solution to issue and manage Central Bank Issued Digital Currencies (CBDCs)." }, { @@ -504,7 +504,7 @@ const uses = [ title: "Sustainability", number: 1, description: - "Use the XRP Ledger to tokenize carbon offsets as non-fungible tokens (NFTs).", + "Use the XRP Ledger to tokenize carbon offsets as non-fungible tokens (NFTs)." }, { @@ -512,7 +512,7 @@ const uses = [ title: "Custody", number: 2, description: - "Use the XRP Ledger to build crypto custody and securely hold, store and use your assets.", + "Use the XRP Ledger to build crypto custody and securely hold, store and use your assets." }, ]; @@ -601,10 +601,9 @@ export default function Uses() { }, [theme]); const [modalData, setModalData] = React.useState({ id: "", - src: "", title: "", description: "", - number: "", + number: "" }); const { View } = useLottie(options); @@ -791,7 +790,7 @@ export default function Uses() {
diff --git a/blog/2024/how-to-mint-nfts.md b/blog/2024/how-to-mint-nfts.md index 421c94d82f..c1b7d49cbd 100644 --- a/blog/2024/how-to-mint-nfts.md +++ b/blog/2024/how-to-mint-nfts.md @@ -64,7 +64,7 @@ To view a list of NFTs associated with your account, simply click **Get NFTs**. ## Burning Your NFT -[Burning an NFT](https://xrpl.org/docs/tutorials/python/modular-tutorials/nfts/mint-and-burn-nfts#mint-and-burn-nfts-using-python) is the process of permanently destroying the token. To burn an NFT: +[Burning an NFT](https://xrpl.org/docs/tutorials/python/nfts/mint-and-burn-nfts) is the process of permanently destroying the token. To burn an NFT: 1. Enter the Token ID of the NFT you wish to destroy. 2. Click **Burn NFT** to remove it permanently from the ledger. diff --git a/blog/2024/lower-reserves-are-in-effect.md b/blog/2024/lower-reserves-are-in-effect.md new file mode 100644 index 0000000000..122f7725ae --- /dev/null +++ b/blog/2024/lower-reserves-are-in-effect.md @@ -0,0 +1,37 @@ +--- +category: 2024 +markdown: + editPage: + hide: true +date: 2024-12-12 +labels: + - Advisories +--- +# Lower Reserves Are In Effect + +On 2024-12-02, the reserve requirements for using the XRP Ledger blockchain changed by the collective voting of the validators. The new requirements are **1 XRP** base reserve per account (down from 10 XRP), and **0.2 XRP** owner reserve increment per item (down from 2 XRP). + +The base cost of sending a transaction (10 drops) remains unchanged. + +## Background + +The XRP Ledger has [reserves](../../docs/concepts/accounts/reserves.md) and a [transaction cost](../../docs/concepts/transactions/transaction-cost.md) to protect the network from spam. The protocol includes a [fee voting](../../docs/concepts/consensus-protocol/fee-voting.md) process for changing both the reserves and transaction cost, to adjust for external factors like the price of XRP and the costs of operating a network node. + +Validators in the decentralized network can configure their fee voting preferences. They need to balance competing priorities of having lower fees to reduce the barrier to entry, but higher fees to protect against overly frivolous or disruptive usage. The network collectively decides on fees based on the votes of trusted validators, with each node advocating for the median of votes from validators it trusts. + +The last time fees changed was [in 2021, when reserves dropped from 20 base and 5 per item to 10 base and 2 per item](../2021/reserves-lowered.md). + +## Action Recommended + +### FeeSettings Format + +Due to the [XRPFees amendment](../../resources/known-amendments.md#xrpfees), the format of the `FeeSettings` ledger entry changed when the new reserve settings went into effect. If you have code that reads the `FeeSettings` ledger entry directly, make sure your code is capable of reading the new format. + +Code that uses the `fee`, `server_info`, or `server_state` API methods should continue to work as before. + +### Fee Volatility + +Currently, votes among recommended validators on Mainnet are divided among a few different preferred settings for reserves and the transaction cost. While the numbers are close to 50% one way or another, a validator temporarily going offline could cause the median vote to move, causing the fee settings to change again temporarily; validators changing their votes could also cause further fee movements in the near future. To be prepared for any future possible movements in both the reserve requirements and transaction cost, you should: + +- Instead of hard-coding reserve requirements or transaction costs, look up the necessary settings using the [`fee` API method](../../docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md). +- Consider holding more XRP than the minimum, so that your account still meets the requirements if reserves go back up. diff --git a/blog/2025/devnet-reset.md b/blog/2025/devnet-reset.md new file mode 100644 index 0000000000..87cf39f63f --- /dev/null +++ b/blog/2025/devnet-reset.md @@ -0,0 +1,66 @@ +--- +category: 2025 +date: 2025-01-24 +seo: + description: Devnet is scheduled to reset on Monday, February 3, 2025 due to Clio databases nearing capacity. Learn more. +labels: + - Advisories +markdown: + editPage: + hide: true +--- +# Upcoming Devnet Reset + +Devnet is scheduled for a reset on **Monday, February 3, 2025**. Clio server databases on the network are nearing storage capacity and need to be cleared. + +{% admonition type="success" name="Update" %} +The reset has completed successfully. Devnet is online and fully operational. +{% /admonition %} + +## Background + +Ripple operates Clio servers on Devnet to help the community access validated ledger data efficiently. Clio handles API calls better and stores data in a more space-efficient format than `rippled` servers, ultimately reducing the load on the network. + +The virtual machines running the Clio servers are nearing storage capacity. In order to continue serving the community, Devnet will be reset to clear the Clio databases. + +## Impact + +This reset affects Devnet only. Other networks will continue to operate as usual, including XRPL Mainnet, XRPL Testnet, Xahau, and the Hooks Testnet. + +The reset will delete all ledger data in Devnet, including all accounts, transactions, balances, settings, offers, AMMs, escrows, and other data. This means all balances will be reset to zero and the block number will start at one again. No changes are anticipated to services such as Devnet APIs, faucets, Explorers, access rights, and wallet integrations; these services usually manage resets without issues. + +Any existing accounts or other data will need new test XRP from the faucet and will need to be re-created. + +If code relies on specific addresses, a request to the faucet can fund the same address again. However, any AMMs that are re-created after the reset will generally have different account addresses. As a reminder, it's best not to use the same addresses or key pairs on Mainnet and any developer networks. + +As part of the reset, we'll also be updating the validator list with a new publisher key. The important URLs and Network ID will remain the same. + +## Actions Required + +If you run a `rippled` server that is connected to Devnet, after the reset you should delete your database data and restart the server. Database files and folders are defined in the config file in the `[database_path]` and `[node_db]` stanzas. If you use the default config, you can run the following commands: + +```sh +rm -r /var/lib/rippled/db/* + +systemctl restart rippled.service +``` + +You will also have to update the `[validator_list_keys]` keys stanza in your `validators.txt` file with a new key, as in the following example: + +``` +[validator_list_sites] +https://vl.devnet.rippletest.net + +[validator_list_keys] +EDBB54B0D9AEE071BB37784AF5A9E7CC49AC7A0EFCE868C54532BCB966B9CFC13B +``` + +## Learn, Ask Questions, and Discuss + +We’re exploring long-term solutions to enhance network resilience and ensure you’re well-prepared, including: + +* Optimizing resource allocation to manage devnet resources to prevent overuse. +* Implementing additional safeguards and resource management strategies. +* Establishing a regular reset schedule to provide consistency and predictability for developers by setting a clear timeline for devnet maintenance. + +We’d like to hear from you! Join the [XRPL Dev Discord](https://discord.gg/sfX3ERAMjH) to share your feedback. Your input and feedback on what changes would be beneficial is invaluable to improve devnet management and better support the community's needs. \ No newline at end of file diff --git a/blog/2025/move-to-the-new-xrpl-foundation-commences.md b/blog/2025/move-to-the-new-xrpl-foundation-commences.md new file mode 100644 index 0000000000..52ec6a0da2 --- /dev/null +++ b/blog/2025/move-to-the-new-xrpl-foundation-commences.md @@ -0,0 +1,41 @@ +--- +category: 2025 +date: 2025-02-19 +seo: + title: Move to the New Foundation Commences + description: With the new XRPL Foundation now incorporated in France, the Founding Members are migrating assets from the previous entity. Learn about the Unique Node List (UNL) transition and necessary actions for community members. + +labels: + - General +markdown: + editPage: + hide: true +--- +# Move to the New XRPL Foundation Commences + +_By the XRPL Foundation_ + +Late last year the initial groundwork for the launch of the new XRPL Foundation was laid, including the [incorporation of the new Foundation](../2024/a-new-era-for-the-xrp-ledger.md) in France. This major milestone has enabled the Founding Members (XRPL Commons, XRPL Labs, Ripple, and XAO DAO) to continue with immediate next steps. In line with this, the migration of assets (listed in an [earlier blog post](../2024/a-new-era-for-the-xrp-ledger.md)) from the previous entity to the newly established Foundation is now underway. + +The migration includes the transition of the Unique Node List (UNL) published by the old XRPL Foundation to the new XRPL Foundation. Importantly, any validators and node operators that rely on the old UNL will need to update their configurations to reflect the new Foundation’s infrastructure. + +To ensure continued network participation and avoid potential downtime, validators and node operators must take this action **by Monday, March 10, 2025**. + +### Why this Transition Matters + +Throughout its history, the XRPL Foundation has played a critical role in maintaining the security and decentralized status of the XRPL by publishing a trusted UNL. Validators and node operators are able to contribute to maintaining an up-to-date, secure, and well-managed network by updating their configurations to the new UNL, ensuring a smoother and more reliable blockchain infrastructure. + +### Required Actions for Validators and Node Operators + +Ahead of the migration date, validators and node operators need to take the following actions: + +1. Update their configuration to reflect the new cryptographic public key provided by the new Foundation. +2. Restart their node to apply the updated configuration. + +Failure to complete these actions may result in network disruptions, impacting connectivity and participation in consensus processes. + +Detailed instructions of the actions validators and node operators are required to take will be communicated soon. + +The transition to the new XRPL Foundation marks an important step in ensuring the continued stability and security of the XRPL network. Validators and node operators play a pivotal role in this process, and their timely action is crucial for maintaining a robust and decentralized infrastructure. + +As the migration from the old to the new Foundation progresses, additional support and updates will be provided on XRPL.org to ensure a seamless transition for all participants. \ No newline at end of file diff --git a/blog/2025/rippled-2.3.1.md b/blog/2025/rippled-2.3.1.md new file mode 100644 index 0000000000..c5c43e2657 --- /dev/null +++ b/blog/2025/rippled-2.3.1.md @@ -0,0 +1,73 @@ +--- +category: 2025 +date: 2025-01-30 +seo: + title: Introducing XRP Ledger version 2.3.1 + description: rippled version 2.3.1 is now available. This version includes stability fixes. +labels: + - rippled Release Notes +markdown: + editPage: + hide: true +--- +# Introducing XRP Ledger version 2.3.1 + +Version 2.3.1 of `rippled`, the reference server implementation of the XRP Ledger protocol, is now available. + +This release fixes an ongoing issue where normal peer traffic is charged incorrectly, causing peers to be disconnected inappropriately during normal operations. This affects network connectivity and the ability of some UNL validators to reach consensus with the others. + +## Action Recommended + +If you run an XRP Ledger server, upgrade to version 2.3.1 as soon as possible to ensure service continuity. + +## Install / Upgrade + +On supported platforms, see the [instructions on installing or updating `rippled`](../../docs/infrastructure/installation/index.md). + +| Package | SHA-256 | +|:--------|:--------| +| [RPM for Red Hat / CentOS (x86-64)](https://repos.ripple.com/repos/rippled-rpm/stable/rippled-2.3.1-1.el7.x86_64.rpm) | `db3ad27d3b61675caad0e0f74e66b2e2004c7d7ee97b5decd297168d27e48a25` | +| [DEB for Ubuntu / Debian (x86-64)](https://repos.ripple.com/repos/rippled-deb/pool/stable/rippled_2.3.1-1_amd64.deb) | `21931aa5fbf8cd2cf3fb4dc71a3b593bff754e4a804ba712891dea5ed48357e9` | +| [Portable Builds (Linux x86-64)](https://github.com/XRPLF/rippled-portable-builds) | (Use signature verification) | + +For other platforms, please [build from source](https://github.com/XRPLF/rippled/blob/master/BUILD.md). The most recent commit in the git log should be the change setting the version: + +```text +commit 8458233a31c98cbb13cfae212189ce3d8a1095d4 +Author: Ed Hennis +Date: Wed Jan 29 09:26:27 2025 -0500 + + Set version to 2.3.1 +``` + + +## Full Changelog + +### Amendments and New Features + +- None + +### Bug Fixes and Updates + +- Reduce peer charges for well-behaved peers. ([#5243](https://github.com/XRPLF/rippled/pull/5243)) + - Fix an erroneous high fee penalty that some peers could incur for sending older transactions. + - Update the fees charged for imposing a load on the server. + - Fix to prevent interal pseudo-transactions from relaying. Previously, pseudo-transcations received from a peer failed the signature check because they had no signature--even if they were requested using `TMGetObjectByHash`. This caused the peer to be charged for an invalid signature. This fix places pseudo-transactions only in the global cache (TransactionMaster). If the transaction is not part of a `TMTransactions` batch, the peer is charged an unwanted data fee. These fees won't be a problem in the normal course of operations, but should dissuade peers from sending many unwanted transactions. + - Improve logging to specify the reason for fees charged to a peer. + +## Credits + +The following people contributed directly to this release: + +- Ed Hennis +- JoelKatz +- Sophia Xie <106177003+sophiax851@users.noreply.github.com> +- Valentin Balaschenko <13349202+vlntb@users.noreply.github.com> + + +## Bug Bounties and Responsible Disclosures + +We welcome reviews of the `rippled` code and urge researchers to responsibly disclose any issues they may find. + +To report a bug, please send a detailed report to: + diff --git a/blog/2025/vulnerabilitydisclosurereport-bug-nov2024.md b/blog/2025/vulnerabilitydisclosurereport-bug-nov2024.md new file mode 100644 index 0000000000..7f05404edb --- /dev/null +++ b/blog/2025/vulnerabilitydisclosurereport-bug-nov2024.md @@ -0,0 +1,109 @@ +--- +category: 2025 +date: 2025-01-10 +seo: + title: Malicious transaction crashed network node(s) and paused new transactions momentarily + description: This vulnerability disclosure report contains technical details of the XRP Ledger bug reported on November 25, 2024. +labels: + - Advisories +markdown: + editPage: + hide: true +--- +# Malicious transaction can cause network node(s) to crash and pause new transactions momentarily + +This vulnerability disclosure report contains technical details of the XRP Ledger bug reported on November 25, 2024. + +**Date Reported:** November 2024 + +**Affected Version(s):** rippled 2.0.1 to rippled 2.2.x + +## Summary of Vulnerability + +On 13:39 UTC on November 25 2024, the XRP Ledger experienced an issue where several nodes across the network crashed and restarted at similar times. As a result, the network temporarily stopped processing transactions for approximately 10 minutes as it recovered; no funds were lost during this period. The network resumed normal behavior and made forward progress at 13:49 UTC on the same day, after the affected nodes restarted. + +## Impact + +Pause in forward progress while nodes restart, and delays in transaction processing. During periods of instability, the XRPL network consensus model favors safety over progress, and as a result, the network did not process any transactions for approximately 10 minutes as it recovered. There was a pause in the validation of new transactions. There was no loss of funds. The network resumed normal behavior and forward progress at 13:49 UTC on the same day. + +## Technical Details + +### Discovery + +On 18 November 2024, Mayukha Vadari (a RippleX Engineer) discovered the bug while writing automation testing for the XLS-80 Permissioned Domain code, and further investigation revealed that this same bug could occur for other live transactions as well. In particular, when an account’s ledger object ID was used in the CheckID field of the CheckCash transaction, rippled crashed. + +The transactions and fields that caused this issue: + + +* `CheckCash`/`CheckCancel` (`CheckID`) +* `PaymentChannelClaim` (`Channel`) +* `NFTokenAcceptOffer` (`NFTokenBuyOffer/NFTokenSellOffer`) +* The `CredentialID` field in several transactions (this code is not yet live) + +The common factor of the vulnerable transactions was that they accepted an ID of an object of a specific type (e.g. check, payment channel, NFT token offer, credential etc.) provided in the transaction and used it to lookup the object referred to by the transaction. This was expected to work, and the worst that could happen (assuming there were no bugs) was that the object found was of the wrong type, which should have been handled the same way as if the object was not found. The bug turned the “found object of unexpected type“ condition into an exception, which crashed the program. + +### Root Cause + +The issue stems from a bug introduced in this [refactor](https://github.com/XRPLF/rippled/pull/4822) from January 2024. This refactor was meant to reduce memory pressure, particularly for pathfinding servers, by changing the type of data stored in the cache from the full serialized ledger entry for some data, to only the relevant key or digest needed to lookup that ledger data. As part of this change, a check on the type of data found in the cache was moved to later in the code. + +In some circumstances, the type was not properly checked and data returned by the caching layer was inconsistent, and could cause a server to crash if the object type didn’t match what was expected. This meant that in some transactions, if the transaction was expecting one type of object but received the ID of an object of a different type, and the object was in the server’s cache, the server would crash. + +Although this bug went undetected during testing of this refactor, there is no evidence of exploitation prior to this incident. + +The original investigation believed that the spread would be contained to only the node that received the bad transaction, since it would crash. However, this proved to be incorrect (likely due to the less-than-predictable nature of caching) during the 25 November incident. + +### Triggering Transaction + +On 25 November, 3 identical PaymentChannelClaim transactions - other than the sequence number - were submitted that referenced a RippleState (trustline) ledger object (instead of a PayChannel object, as expected). These all failed successfully, without crashing the ledger. Then the same account submitted a TrustSet for that RippleState object, and submitted the same PaymentChannelClaim transaction again. The TrustSet transaction made the RippleState ledger object more likely to be in the cache, which then allowed the following PaymentChannelClaim transaction to crash any node that had it in its cache. One of the [transactions](https://livenet.xrpl.org/transactions/5729C3A94A9950419292649D9E649F0BDC9D86499EE5A0CDB009DEA963DAF727) can be seen in ledger [92346897](https://livenet.xrpl.org/ledgers/92346897). + +The current hypothesis for the spread is that some nodes had flushed that RippleState ledger object out of their cache and were thus able to process the transaction and propagate it to other nodes. This would also explain why there were still some crashes later when nodes started catching up again, and why the crashes eventually did stop (after the crash, a node wouldn’t have its cache populated, so it would be correctly handle the invalid PaymentChannelClaim). + +{% admonition type="info" name="Note" %} + +The PaymentChannelClaim transactions without a valid PayChannel object are processed and stored in the ledger in order to collect the transaction fee. This is done to induce some cost for submitting [malformed transactions](https://xrpl.org/docs/references/protocol/transactions/transaction-results/tec-codes) for the network to process, thereby reducing spam. This is why we can see these transactions recorded in the ledger now, and this is how the transactions were propagated to other nodes, causing them to crash. + +{% /admonition %} + +### Remediation + +This bug is fixed by properly type checking cached data. Given the relative ease of exploiting the bug, the [fix](https://github.com/XRPLF/rippled/commit/f419c18056889c857dbfa1f9a97c8ca4779ffa7d#diff-5d7d532f402d967cdaecd6993567a4e6cb6eb266ff67ea51c3fb67a43e742ad3R66-R77) was obfuscated by including it within a larger [commit](https://github.com/XRPLF/rippled/commit/f419c18056889c857dbfa1f9a97c8ca4779ffa7d). + +These changes were included in version 2.3.0, released on 25 November. The team had originally planned the release for 2 December to avoid publishing it during a US holiday week when engineering support would be less available. The team decided against a 2.2.4 release with just the fix, since QA had already verified 2.3.0, and a smaller release wouldn’t obfuscate the fix as well. Naturally, given the urgency, the release was pushed out after additional last-minute checks and subsequent coordination with UNL validators. + +The reason for requiring all nodes to update as soon as possible was that once a node had been upgraded, it would propagate the invalid transaction to other nodes, which could then cause a wave of crashes in nodes that had not yet updated. + +## Steps to Reproduce + +As part of this full disclosure, an example of how to trigger the bug is covered by [this unit test](https://github.com/XRPLF/rippled/pull/5242), which will be added to the `rippled` codebase. In the controlled setting of a unit test, this code sets the state of the cache system such that a specific series of calls would trigger the bug (if the fix were not present). This test was used to confirm the fix in rippled 2.3.0, but was excluded from the release at the time to avoid malicious exploitation of the bug while users upgraded their rippled software. + +## Fixes / Patches Available + +A patch has been implemented to fix the issue and the fix is available in rippled 2.3.0. + +If you haven't already done so, we strongly recommend upgrading to 2.3.0 as soon as possible. + +## Acknowledgements + +Thanks to RippleX, Wietse Wind, Jon Nilsen (hat tip to Mayukha Vadari in particular) for helping investigate this vulnerability. + +And thanks to the global community of validators, developers, and contributors who keep the XRP Ledger running and help keep the network safe and secure. + +## References + +* [Rippled 2.3.0 Upgrade status](https://livenet.xrpl.org/network/upgrade-status) +* [Blog post](https://dev.to/ripplexdev/november-25-xrpl-bug-current-status-and-whats-next-b61) + + +## Contact + +For more information or to report further issues, please contact the team at bugs@xrpl.org. + +## Incident Response Timeline + +| Key Actions | Timestamp | Description | +|:---------|:------------|:---------------------------------------------------------| +| Initial Discovery | November 25 2024 13:39 UTC | Issue identified and reported. | +| Mitigation Action Taken | November 25 2024 13:49 UTC | Following a pause in the validation of new transactions, the network resumed normal behavior and forward progress at 13:49 UTC. There was no loss of funds. | +| Resolution Completed | November 25 2024 | The vulnerability has been fully mitigated and the fix was made available as part of rippled 2.3.0 release. | +| Blog Published | November 27, 2024 | Blog published with private disclosure and included a call to upgrade to rippled 2.3.0. | +| Report Published | January 10, 2025 | Report published with technical details after 80% of the network has upgraded to rippled 2.3.0. | \ No newline at end of file diff --git a/blog/sidebars.yaml b/blog/sidebars.yaml index 6dda3f8c01..fe8bb3c0f0 100644 --- a/blog/sidebars.yaml +++ b/blog/sidebars.yaml @@ -3,10 +3,18 @@ page: index.page.tsx expanded: true items: + - group: '2025' + expanded: false + items: + - page: 2025/move-to-the-new-xrpl-foundation-commences.md + - page: 2025/rippled-2.3.1.md + - page: 2025/devnet-reset.md + - page: 2025/vulnerabilitydisclosurereport-bug-nov2024.md - group: '2024' expanded: false items: - - page: 2024/a-new-era-for-the-xrp-ledger.md + - page: 2024/lower-reserves-are-in-effect.md + - page: 2024/a-new-era-for-the-xrp-ledger.md - page: 2024/rippled-2.3.0.md - page: 2024/rippled-2.2.3.md - page: 2024/rippled-2.2.2.md diff --git a/community/events.page.tsx b/community/events.page.tsx index cc14b26402..b602bdaeff 100644 --- a/community/events.page.tsx +++ b/community/events.page.tsx @@ -1,4 +1,4 @@ -import React, { useState, useMemo } from "react"; +import { useState, useMemo } from "react"; import { useThemeHooks } from "@redocly/theme/core/hooks"; const moment = require("moment"); const amaImage = require("../static/img/events/AMAs.png"); @@ -1030,6 +1030,39 @@ const events = [ image: townHall, end_date: "December 11, 2024", }, + { + name: "XRPL Meetup in London", + description: + "Calling all blockchain and XRP Ledger enthusiasts in London! Join XRPL Meetups to share knowledge, build real-life connections, and foster communities centered around blockchain and XRP Ledger. We're establishing local “XRPL Hubs” across Europe, and we want you to be a part of it!", + type: "meetup", + link: "https://xrpl.at/XRPL-Meetup-London", + location: "London, United Kingdom", + date: "January 30, 2025", + image: require('../static/img/events/commons-london.png'), + end_date: "January 30, 2025", + }, + { + name: "Building on the XRP Ledger", + description: + "This 2-day intensive hands-on training is designed for developers who are curious to learn about XRP Ledger. Meet your peers, share insights, and join a community of builders.", + type: "meetup", + link: "https://xrpl.at/Building-on-the-XRPLedger-january", + location: "Paris, France", + date: "January 27, 2025", + image: require('../static/img/events/commons-building.png'), + end_date: "January 28, 2025", + }, + { + name: "XRPL Commons Soirée", + description: + "XRPL Commons Soiree hosted by XRPL Commons, Deloitte and Pyratz Labs, focusing on: Exploring the Agentic Web: Blockchain, AI & Digital Identity", + type: "meetup", + link: "https://xrpl.at/XRPL-Commons-soiree-20250212", + location: "Paris, France", + date: "February 12, 2025", + image: require("../static/img/events/commons-soiree.png"), + end_date: "February 12, 2025", + }, ]; diff --git a/docs/_snippets/common-links.md b/docs/_snippets/common-links.md index cfd8eae079..ff3594d8f2 100644 --- a/docs/_snippets/common-links.md +++ b/docs/_snippets/common-links.md @@ -1,93 +1,76 @@ [AMM amendment]: /resources/known-amendments.md#amm [AMM entry]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md +[AMMClawback amendment]: /resources/known-amendments.md#ammclawback [AMM object]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md -[AMM エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md -[AMM オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md +[AMMエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md +[AMMオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md [AMMBid transaction]: /docs/references/protocol/transactions/types/ammbid.md [AMMBid transactions]: /docs/references/protocol/transactions/types/ammbid.md -[AMMBid トランザクション]: /docs/references/protocol/transactions/types/ammbid.md [AMMBid]: /docs/references/protocol/transactions/types/ammbid.md [AMMBidトランザクション]: /docs/references/protocol/transactions/types/ammbid.md +[AMMClawback transaction]: /docs/references/protocol/transactions/types/ammclawback.md [AMMCreate transaction]: /docs/references/protocol/transactions/types/ammcreate.md [AMMCreate transactions]: /docs/references/protocol/transactions/types/ammcreate.md -[AMMCreate トランザクション]: /docs/references/protocol/transactions/types/ammcreate.md [AMMCreate]: /docs/references/protocol/transactions/types/ammcreate.md [AMMCreateトランザクション]: /docs/references/protocol/transactions/types/ammcreate.md [AMMDelete transaction]: /docs/references/protocol/transactions/types/ammdelete.md [AMMDelete transactions]: /docs/references/protocol/transactions/types/ammdelete.md -[AMMDelete トランザクション]: /docs/references/protocol/transactions/types/ammdelete.md [AMMDelete]: /docs/references/protocol/transactions/types/ammdelete.md [AMMDeleteトランザクション]: /docs/references/protocol/transactions/types/ammdelete.md [AMMDeposit transaction]: /docs/references/protocol/transactions/types/ammdeposit.md [AMMDeposit transactions]: /docs/references/protocol/transactions/types/ammdeposit.md -[AMMDeposit トランザクション]: /docs/references/protocol/transactions/types/ammdeposit.md [AMMDeposit]: /docs/references/protocol/transactions/types/ammdeposit.md [AMMDepositトランザクション]: /docs/references/protocol/transactions/types/ammdeposit.md [AMMVote transaction]: /docs/references/protocol/transactions/types/ammvote.md [AMMVote transactions]: /docs/references/protocol/transactions/types/ammvote.md -[AMMVote トランザクション]: /docs/references/protocol/transactions/types/ammvote.md [AMMVote]: /docs/references/protocol/transactions/types/ammvote.md [AMMVoteトランザクション]: /docs/references/protocol/transactions/types/ammvote.md [AMMWithdraw transaction]: /docs/references/protocol/transactions/types/ammwithdraw.md [AMMWithdraw transactions]: /docs/references/protocol/transactions/types/ammwithdraw.md -[AMMWithdraw トランザクション]: /docs/references/protocol/transactions/types/ammwithdraw.md [AMMWithdraw]: /docs/references/protocol/transactions/types/ammwithdraw.md [AMMWithdrawトランザクション]: /docs/references/protocol/transactions/types/ammwithdraw.md -[AMMの修正]: /resources/known-amendments.md#amm -[AMMエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md -[AMMオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/amm.md [API v1]: /docs/references/http-websocket-apis/api-conventions/request-formatting.md#api-versioning [API v2]: /docs/references/http-websocket-apis/api-conventions/request-formatting.md#api-versioning [AccountDelete transaction]: /docs/references/protocol/transactions/types/accountdelete.md [AccountDelete transactions]: /docs/references/protocol/transactions/types/accountdelete.md -[AccountDelete トランザクション]: /docs/references/protocol/transactions/types/accountdelete.md [AccountDelete]: /docs/references/protocol/transactions/types/accountdelete.md [AccountDeleteトランザクション]: /docs/references/protocol/transactions/types/accountdelete.md [AccountRoot entry]: /docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md [AccountRoot object]: /docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md -[AccountRoot エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md -[AccountRoot オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md [AccountRootエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md [AccountRootオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md [AccountSet transaction]: /docs/references/protocol/transactions/types/accountset.md [AccountSet transactions]: /docs/references/protocol/transactions/types/accountset.md -[AccountSet トランザクション]: /docs/references/protocol/transactions/types/accountset.md [AccountSet]: /docs/references/protocol/transactions/types/accountset.md [AccountSetトランザクション]: /docs/references/protocol/transactions/types/accountset.md [Address]: /docs/references/protocol/data-types/basic-data-types.md#addresses [Amendments entry]: /docs/concepts/networks-and-servers/amendments.md [Amendments object]: /docs/concepts/networks-and-servers/amendments.md -[Amendments エントリ]: /docs/concepts/networks-and-servers/amendments.md -[Amendments オブジェクト]: /docs/concepts/networks-and-servers/amendments.md [Amendmentsエントリ]: /docs/concepts/networks-and-servers/amendments.md [Amendmentsオブジェクト]: /docs/concepts/networks-and-servers/amendments.md [Check entry]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md [Check object]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md -[Check エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md -[Check オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md +[Checkエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md +[Checkオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md [CheckCancel transaction]: /docs/references/protocol/transactions/types/checkcancel.md [CheckCancel transactions]: /docs/references/protocol/transactions/types/checkcancel.md -[CheckCancel トランザクション]: /docs/references/protocol/transactions/types/checkcancel.md [CheckCancel]: /docs/references/protocol/transactions/types/checkcancel.md [CheckCancelトランザクション]: /docs/references/protocol/transactions/types/checkcancel.md [CheckCash transaction]: /docs/references/protocol/transactions/types/checkcash.md [CheckCash transactions]: /docs/references/protocol/transactions/types/checkcash.md -[CheckCash トランザクション]: /docs/references/protocol/transactions/types/checkcash.md [CheckCashMakesTrustLine amendment]: /resources/known-amendments.md#checkcashmakestrustline -[CheckCashMakesTrustLineの修正]: /resources/known-amendments.md#checkcashmakestrustline [CheckCash]: /docs/references/protocol/transactions/types/checkcash.md [CheckCashトランザクション]: /docs/references/protocol/transactions/types/checkcash.md [CheckCreate transaction]: /docs/references/protocol/transactions/types/checkcreate.md [CheckCreate transactions]: /docs/references/protocol/transactions/types/checkcreate.md -[CheckCreate トランザクション]: /docs/references/protocol/transactions/types/checkcreate.md [CheckCreate]: /docs/references/protocol/transactions/types/checkcreate.md [CheckCreateトランザクション]: /docs/references/protocol/transactions/types/checkcreate.md [Checks amendment]: /resources/known-amendments.md#checks -[Checksの修正]: /resources/known-amendments.md#checks -[Checkエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md -[Checkオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/check.md [Clawback amendment]: /resources/known-amendments.md#clawback [Clawbackの修正]: /resources/known-amendments.md#clawback +[Clawback transaction]: /docs/references/protocol/transactions/types/clawback.md +[Clawback transactions]: /docs/references/protocol/transactions/types/clawback.md +[Clawbackトランザクション]: /docs/references/protocol/transactions/types/clawback.md [Credentials amendment]: /resources/known-amendments.md#credentials [CredentialCreate transaction]: /docs/references/protocol/transactions/types/credentialcreate.md [CredentialCreate transactions]: /docs/references/protocol/transactions/types/credentialcreate.md @@ -101,170 +84,128 @@ [CredentialDelete transactions]: /docs/references/protocol/transactions/types/credentialdelete.md [CredentialDelete]: /docs/references/protocol/transactions/types/credentialdelete.md [CredentialDeleteトランザクション]: /docs/references/protocol/transactions/types/credentialdelete.md +[Credential entry]: /docs/references/protocol/ledger-data/ledger-entry-types/credential +[Credentialエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/credential [Crypto-Conditions Specification]: https://tools.ietf.org/html/draft-thomas-crypto-conditions-04 [CryptoConditions amendment]: /resources/known-amendments.md#cryptoconditions [CryptoConditionsSuite amendment]: /resources/known-amendments.md#cryptoconditionssuite -[CryptoConditionsSuiteの修正]: /resources/known-amendments.md#cryptoconditionssuite -[CryptoConditionsの修正]: /resources/known-amendments.md#cryptoconditions [Currency Amount]: /docs/references/protocol/data-types/basic-data-types.md#specifying-currency-amounts [Currency Code]: /docs/references/protocol/data-types/currency-formats.md#currency-codes [DID amendment]: /resources/known-amendments.md#did [DID entry]: /docs/references/protocol/ledger-data/ledger-entry-types/did.md [DIDエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/did.md -[DIDの修正]: /resources/known-amendments.md#did [DeletableAccounts amendment]: /resources/known-amendments.md#deletableaccounts -[DeletableAccountsの修正]: /resources/known-amendments.md#deletableaccounts [DepositAuth amendment]: /resources/known-amendments.md#depositauth -[DepositAuthの修正]: /resources/known-amendments.md#depositauth [DepositPreauth amendment]: /resources/known-amendments.md#depositpreauth [DepositPreauth entry]: /docs/references/protocol/transactions/types/depositpreauth.md [DepositPreauth object]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauth transaction]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauth transactions]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauth エントリ]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauth オブジェクト]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauth トランザクション]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauth]: /docs/references/protocol/transactions/types/depositpreauth.md -[DepositPreauthの修正]: /resources/known-amendments.md#depositpreauth [DepositPreauthエントリ]: /docs/references/protocol/transactions/types/depositpreauth.md [DepositPreauthオブジェクト]: /docs/references/protocol/transactions/types/depositpreauth.md +[DepositPreauth transaction]: /docs/references/protocol/transactions/types/depositpreauth.md +[DepositPreauth transactions]: /docs/references/protocol/transactions/types/depositpreauth.md +[DepositPreauth]: /docs/references/protocol/transactions/types/depositpreauth.md [DepositPreauthトランザクション]: /docs/references/protocol/transactions/types/depositpreauth.md +[DIDSet transaction]: /docs/references/protocol/transactions/types/didset.md +[DIDSet transactions]: /docs/references/protocol/transactions/types/didset.md +[DIDSet]: /docs/references/protocol/transactions/types/didset.md +[DIDSetトランザクション]: /docs/references/protocol/transactions/types/didset.md [DirectoryNode entry]: /docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md [DirectoryNode object]: /docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md -[DirectoryNode エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md -[DirectoryNode オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md [DirectoryNodeエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md [DirectoryNodeオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md [DisallowIncoming amendment]: /resources/known-amendments.md#disallowincoming -[DisallowIncomingの修正]: /resources/known-amendments.md#disallowincoming [EnableAmendment pseudo-transaction]: /docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md [EnableAmendment pseudo-transactions]: /docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md [EnableAmendment]: /docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md [EnableAmendment疑似トランザクション]: /docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md [EnforceInvariants amendment]: /resources/known-amendments.md#enforceinvariants -[EnforceInvariantsの修正]: /resources/known-amendments.md#enforceinvariants [Escrow amendment]: /resources/known-amendments.md#escrow [Escrow entry]: /docs/concepts/payment-types/escrow.md [Escrow object]: /docs/concepts/payment-types/escrow.md -[Escrow エントリ]: /docs/concepts/payment-types/escrow.md -[Escrow オブジェクト]: /docs/concepts/payment-types/escrow.md +[Escrowエントリ]: /docs/concepts/payment-types/escrow.md +[Escrowオブジェクト]: /docs/concepts/payment-types/escrow.md [EscrowCancel transaction]: /docs/references/protocol/transactions/types/escrowcancel.md [EscrowCancel transactions]: /docs/references/protocol/transactions/types/escrowcancel.md -[EscrowCancel トランザクション]: /docs/references/protocol/transactions/types/escrowcancel.md [EscrowCancel]: /docs/references/protocol/transactions/types/escrowcancel.md [EscrowCancelトランザクション]: /docs/references/protocol/transactions/types/escrowcancel.md [EscrowCreate transaction]: /docs/references/protocol/transactions/types/escrowcreate.md [EscrowCreate transactions]: /docs/references/protocol/transactions/types/escrowcreate.md -[EscrowCreate トランザクション]: /docs/references/protocol/transactions/types/escrowcreate.md [EscrowCreate]: /docs/references/protocol/transactions/types/escrowcreate.md [EscrowCreateトランザクション]: /docs/references/protocol/transactions/types/escrowcreate.md [EscrowFinish transaction]: /docs/references/protocol/transactions/types/escrowfinish.md [EscrowFinish transactions]: /docs/references/protocol/transactions/types/escrowfinish.md -[EscrowFinish トランザクション]: /docs/references/protocol/transactions/types/escrowfinish.md [EscrowFinish]: /docs/references/protocol/transactions/types/escrowfinish.md [EscrowFinishトランザクション]: /docs/references/protocol/transactions/types/escrowfinish.md -[Escrowの修正]: /resources/known-amendments.md#escrow -[Escrowエントリ]: /docs/concepts/payment-types/escrow.md -[Escrowオブジェクト]: /docs/concepts/payment-types/escrow.md [ExpandedSignerList amendment]: /resources/known-amendments.md#expandedsignerlist -[ExpandedSignerListの修正]: /resources/known-amendments.md#expandedsignerlist [FeeEscalation amendment]: /resources/known-amendments.md#feeescalation -[FeeEscalationの修正]: /resources/known-amendments.md#feeescalation [FeeSettings entry]: /docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md [FeeSettings object]: /docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md -[FeeSettings エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md -[FeeSettings オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md [FeeSettingsエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md [FeeSettingsオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md [Flow amendment]: /resources/known-amendments.md#flow [FlowCross amendment]: /resources/known-amendments.md#flowcross -[FlowCrossの修正]: /resources/known-amendments.md#flowcross [FlowV2 amendment]: /resources/known-amendments.md#flowv2 -[FlowV2の修正]: /resources/known-amendments.md#flowv2 -[Flowの修正]: /resources/known-amendments.md#flow [Hash]: /docs/references/protocol/data-types/basic-data-types.md#hashes [ImmediateOfferKilled amendment]: /resources/known-amendments.md#immediateofferkilled -[ImmediateOfferKilledの修正]: /resources/known-amendments.md#immediateofferkilled [Interledger Protocol]: https://interledger.org/ [Internal Type]: /docs/references/protocol/binary-format.md [Ledger Index]: /docs/references/protocol/data-types/basic-data-types.md#ledger-index [LedgerHashes entry]: /docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md [LedgerHashes object]: /docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md -[LedgerHashes エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md -[LedgerHashes オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md [LedgerHashesエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md [LedgerHashesオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md [Marker]: /docs/references/http-websocket-apis/api-conventions/markers-and-pagination.md +[MPToken amendment]: /resources/known-amendments.md#mptokensv1 [MultiSign amendment]: /resources/known-amendments.md#multisign [MultiSignReserve amendment]: /resources/known-amendments.md#multisignreserve -[MultiSignReserveの修正]: /resources/known-amendments.md#multisignreserve -[MultiSignの修正]: /resources/known-amendments.md#multisign [NFTokenAcceptOffer transaction]: /docs/references/protocol/transactions/types/nftokenacceptoffer.md [NFTokenAcceptOffer transactions]: /docs/references/protocol/transactions/types/nftokenacceptoffer.md -[NFTokenAcceptOffer トランザクション]: /docs/references/protocol/transactions/types/nftokenacceptoffer.md [NFTokenAcceptOffer]: /docs/references/protocol/transactions/types/nftokenacceptoffer.md [NFTokenAcceptOfferトランザクション]: /docs/references/protocol/transactions/types/nftokenacceptoffer.md [NFTokenBurn transaction]: /docs/references/protocol/transactions/types/nftokenburn.md [NFTokenBurn transactions]: /docs/references/protocol/transactions/types/nftokenburn.md -[NFTokenBurn トランザクション]: /docs/references/protocol/transactions/types/nftokenburn.md [NFTokenBurn]: /docs/references/protocol/transactions/types/nftokenburn.md [NFTokenBurnトランザクション]: /docs/references/protocol/transactions/types/nftokenburn.md [NFTokenCancelOffer transaction]: /docs/references/protocol/transactions/types/nftokencanceloffer.md [NFTokenCancelOffer transactions]: /docs/references/protocol/transactions/types/nftokencanceloffer.md -[NFTokenCancelOffer トランザクション]: /docs/references/protocol/transactions/types/nftokencanceloffer.md [NFTokenCancelOffer]: /docs/references/protocol/transactions/types/nftokencanceloffer.md [NFTokenCancelOfferトランザクション]: /docs/references/protocol/transactions/types/nftokencanceloffer.md [NFTokenCreateOffer transaction]: /docs/references/protocol/transactions/types/nftokencreateoffer.md [NFTokenCreateOffer transactions]: /docs/references/protocol/transactions/types/nftokencreateoffer.md -[NFTokenCreateOffer トランザクション]: /docs/references/protocol/transactions/types/nftokencreateoffer.md [NFTokenCreateOffer]: /docs/references/protocol/transactions/types/nftokencreateoffer.md [NFTokenCreateOfferトランザクション]: /docs/references/protocol/transactions/types/nftokencreateoffer.md [NFTokenMint transaction]: /docs/references/protocol/transactions/types/nftokenmint.md [NFTokenMint transactions]: /docs/references/protocol/transactions/types/nftokenmint.md -[NFTokenMint トランザクション]: /docs/references/protocol/transactions/types/nftokenmint.md [NFTokenMint]: /docs/references/protocol/transactions/types/nftokenmint.md [NFTokenMintトランザクション]: /docs/references/protocol/transactions/types/nftokenmint.md [NFTokenOffer entry]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md [NFTokenOffer object]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md -[NFTokenOffer エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md -[NFTokenOffer オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md [NFTokenOfferエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md [NFTokenOfferオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md [NFTokenPage entry]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md [NFTokenPage object]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md -[NFTokenPage エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md -[NFTokenPage オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md [NFTokenPageエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md [NFTokenPageオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md [NFToken]: /docs/references/protocol/data-types/nftoken.md [NegativeUNL amendment]: /resources/known-amendments.md#negativeunl [NegativeUNL entry]: /docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md [NegativeUNL object]: /docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md -[NegativeUNL エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md -[NegativeUNL オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md -[NegativeUNLの修正]: /resources/known-amendments.md#negativeunl [NegativeUNLエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md [NegativeUNLオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md [NonFungibleTokensV1 amendment]: /resources/known-amendments.md#nonfungibletokensv1 [NonFungibleTokensV1_1 amendment]: /resources/known-amendments.md#nonfungibletokensv1_1 -[NonFungibleTokensV1_1の修正]: /resources/known-amendments.md#nonfungibletokensv1_1 -[NonFungibleTokensV1の修正]: /resources/known-amendments.md#nonfungibletokensv1 [Offer entry]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md [Offer object]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md -[Offer エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md -[Offer オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md +[Offerエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md +[Offerオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md [OfferCancel transaction]: /docs/references/protocol/transactions/types/offercancel.md [OfferCancel transactions]: /docs/references/protocol/transactions/types/offercancel.md -[OfferCancel トランザクション]: /docs/references/protocol/transactions/types/offercancel.md [OfferCancel]: /docs/references/protocol/transactions/types/offercancel.md [OfferCancelトランザクション]: /docs/references/protocol/transactions/types/offercancel.md [OfferCreate transaction]: /docs/references/protocol/transactions/types/offercreate.md [OfferCreate transactions]: /docs/references/protocol/transactions/types/offercreate.md -[OfferCreate トランザクション]: /docs/references/protocol/transactions/types/offercreate.md [OfferCreate]: /docs/references/protocol/transactions/types/offercreate.md [OfferCreateトランザクション]: /docs/references/protocol/transactions/types/offercreate.md -[Offerエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md -[Offerオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/offer.md [OracleDelete transaction]: /docs/references/protocol/transactions/types/oracledelete.md [OracleDeleteトランザクション]: /docs/references/protocol/transactions/types/oracledelete.md [OracleDelete transactions]: /docs/references/protocol/transactions/types/oracledelete.md @@ -278,31 +219,23 @@ [OracleSet transactions]: /docs/references/protocol/transactions/types/oracleset.md [OracleSetトランザクション]: /docs/references/protocol/transactions/types/oracleset.md [OwnerPaysFee amendment]: /resources/known-amendments.md#ownerpaysfee -[OwnerPaysFeeの修正]: /resources/known-amendments.md#ownerpaysfee [PayChan amendment]: /resources/known-amendments.md#paychan [PayChannel entry]: /docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md [PayChannel object]: /docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md -[PayChannel エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md -[PayChannel オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md [PayChannelエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md [PayChannelオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md -[PayChanの修正]: /resources/known-amendments.md#paychan [Payment transaction]: /docs/references/protocol/transactions/types/payment.md [Payment transactions]: /docs/references/protocol/transactions/types/payment.md -[Payment トランザクション]: /docs/references/protocol/transactions/types/payment.md [PaymentChannelClaim transaction]: /docs/references/protocol/transactions/types/paymentchannelclaim.md [PaymentChannelClaim transactions]: /docs/references/protocol/transactions/types/paymentchannelclaim.md -[PaymentChannelClaim トランザクション]: /docs/references/protocol/transactions/types/paymentchannelclaim.md [PaymentChannelClaim]: /docs/references/protocol/transactions/types/paymentchannelclaim.md [PaymentChannelClaimトランザクション]: /docs/references/protocol/transactions/types/paymentchannelclaim.md [PaymentChannelCreate transaction]: /docs/references/protocol/transactions/types/paymentchannelcreate.md [PaymentChannelCreate transactions]: /docs/references/protocol/transactions/types/paymentchannelcreate.md -[PaymentChannelCreate トランザクション]: /docs/references/protocol/transactions/types/paymentchannelcreate.md [PaymentChannelCreate]: /docs/references/protocol/transactions/types/paymentchannelcreate.md [PaymentChannelCreateトランザクション]: /docs/references/protocol/transactions/types/paymentchannelcreate.md [PaymentChannelFund transaction]: /docs/references/protocol/transactions/types/paymentchannelfund.md [PaymentChannelFund transactions]: /docs/references/protocol/transactions/types/paymentchannelfund.md -[PaymentChannelFund トランザクション]: /docs/references/protocol/transactions/types/paymentchannelfund.md [PaymentChannelFund]: /docs/references/protocol/transactions/types/paymentchannelfund.md [PaymentChannelFundトランザクション]: /docs/references/protocol/transactions/types/paymentchannelfund.md [Payment]: /docs/references/protocol/transactions/types/payment.md @@ -311,18 +244,14 @@ [RFC-1751]: https://tools.ietf.org/html/rfc1751 [Reporting Mode]: /docs/concepts/networks-and-servers/rippled-server-modes.md#reporting-mode [RequireFullyCanonicalSig amendment]: /resources/known-amendments.md#requirefullycanonicalsig -[RequireFullyCanonicalSigの修正]: /resources/known-amendments.md#requirefullycanonicalsig [RippleState entry]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md [RippleState object]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md -[RippleState エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md -[RippleState オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md [RippleStateエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md [RippleStateオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md [Rippleエポック以降の経過秒数]: /docs/references/protocol/data-types/basic-data-types.md#時間の指定 [SHA-512Half]: /docs/references/protocol/data-types/basic-data-types.md#hashes [SHA-512ハーフ]: /docs/references/protocol/data-types/basic-data-types.md#ハッシュ [SHAMapV2 amendment]: /resources/known-amendments.md#shamapv2 -[SHAMapV2の修正]: /resources/known-amendments.md#shamapv2 [Sequence Number]: /docs/references/protocol/data-types/basic-data-types.md#account-sequence [SetFee pseudo-transaction]: /docs/references/protocol/transactions/pseudo-transaction-types/setfee.md [SetFee pseudo-transactions]: /docs/references/protocol/transactions/pseudo-transaction-types/setfee.md @@ -330,398 +259,310 @@ [SetFee疑似トランザクション]: /docs/references/protocol/transactions/pseudo-transaction-types/setfee.md [SetRegularKey transaction]: /docs/references/protocol/transactions/types/setregularkey.md [SetRegularKey transactions]: /docs/references/protocol/transactions/types/setregularkey.md -[SetRegularKey トランザクション]: /docs/references/protocol/transactions/types/setregularkey.md [SetRegularKey]: /docs/references/protocol/transactions/types/setregularkey.md [SetRegularKeyトランザクション]: /docs/references/protocol/transactions/types/setregularkey.md [SignerList entry]: /docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md [SignerList object]: /docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md -[SignerList エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md -[SignerList オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md -[SignerListSet transaction]: /docs/references/protocol/transactions/types/signerlistset.md -[SignerListSet transactions]: /docs/references/protocol/transactions/types/signerlistset.md -[SignerListSet トランザクション]: /docs/references/protocol/transactions/types/signerlistset.md -[SignerListSet]: /docs/references/protocol/transactions/types/signerlistset.md -[SignerListSetトランザクション]: /docs/references/protocol/transactions/types/signerlistset.md [SignerListエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md [SignerListオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md +[SignerListSet transaction]: /docs/references/protocol/transactions/types/signerlistset.md +[SignerListSet transactions]: /docs/references/protocol/transactions/types/signerlistset.md +[SignerListSet]: /docs/references/protocol/transactions/types/signerlistset.md +[SignerListSetトランザクション]: /docs/references/protocol/transactions/types/signerlistset.md [SortedDirectories amendment]: /resources/known-amendments.md#sorteddirectories -[SortedDirectoriesの修正]: /resources/known-amendments.md#sorteddirectories [Specifying Currency Amounts]: /docs/references/protocol/data-types/basic-data-types.md#specifying-currency-amounts [Specifying Ledgers]: /docs/references/protocol/data-types/basic-data-types.md#specifying-ledgers [Specifying Time]: /docs/references/protocol/data-types/basic-data-types.md#specifying-time [SusPay amendment]: /resources/known-amendments.md#suspay -[SusPayの修正]: /resources/known-amendments.md#suspay [TickSize amendment]: /resources/known-amendments.md#ticksize -[TickSizeの修正]: /resources/known-amendments.md#ticksize [Ticket entry]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md [Ticket object]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md -[Ticket エントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md -[Ticket オブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md +[Ticketエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md +[Ticketオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md [TicketBatch amendment]: /resources/known-amendments.md#ticketbatch -[TicketBatchの修正]: /resources/known-amendments.md#ticketbatch [TicketCreate transaction]: /docs/references/protocol/transactions/types/ticketcreate.md [TicketCreate transactions]: /docs/references/protocol/transactions/types/ticketcreate.md -[TicketCreate トランザクション]: /docs/references/protocol/transactions/types/ticketcreate.md [TicketCreate]: /docs/references/protocol/transactions/types/ticketcreate.md [TicketCreateトランザクション]: /docs/references/protocol/transactions/types/ticketcreate.md [Tickets amendment]: /resources/known-amendments.md#tickets -[Ticketsの修正]: /resources/known-amendments.md#tickets -[Ticketエントリ]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md -[Ticketオブジェクト]: /docs/references/protocol/ledger-data/ledger-entry-types/ticket.md [Transaction Cost]: /docs/concepts/transactions/transaction-cost.md [TrustSet transaction]: /docs/references/protocol/transactions/types/trustset.md [TrustSet transactions]: /docs/references/protocol/transactions/types/trustset.md -[TrustSet トランザクション]: /docs/references/protocol/transactions/types/trustset.md [TrustSetAuth amendment]: /resources/known-amendments.md#trustsetauth -[TrustSetAuthの修正]: /resources/known-amendments.md#trustsetauth [TrustSet]: /docs/references/protocol/transactions/types/trustset.md [TrustSetトランザクション]: /docs/references/protocol/transactions/types/trustset.md [UNLModify pseudo-transaction]: /docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md [UNLModify pseudo-transactions]: /docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md [UNLModify]: /docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md [UNLModify疑似トランザクション]: /docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md +[XChainAddAccountCreateAttestation transaction]: /docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md +[XChainAddAccountCreateAttestation transactions]: /docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md +[XChainAddAccountCreateAttestation]: /docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md +[XChainAddAccountCreateAttestationトランザクション]: /docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md +[XChainAddClaimAttestation transaction]: /docs/references/protocol/transactions/types/xchainaddclaimattestation.md +[XChainAddClaimAttestation transactions]: /docs/references/protocol/transactions/types/xchainaddclaimattestation.md +[XChainAddClaimAttestationトランザクション]: /docs/references/protocol/transactions/types/xchainaddclaimattestation.md [XChainBridge amendment]: /resources/known-amendments.md#xchainbridge -[XChainBridgeの修正]: /resources/known-amendments.md#xchainbridge +[XChainCreateBridge transaction]: /docs/references/protocol/transactions/types/xchaincreatebridge.md +[XChainCreateBridge transactions]: /docs/references/protocol/transactions/types/xchaincreatebridge.md +[XChainCreateBridge]: /docs/references/protocol/transactions/types/xchaincreatebridge.md +[XChainCreateBridgeトランザクション]: /docs/references/protocol/transactions/types/xchaincreatebridge.md +[XChainCreateClaimID transaction]: /docs/references/protocol/transactions/types/xchaincreateclaimid.md +[XChainCreateClaimID transactions]: /docs/references/protocol/transactions/types/xchaincreateclaimid.md +[XChainCreateClaimID]: /docs/references/protocol/transactions/types/xchaincreateclaimid.md +[XChainCreateClaimIDトランザクション]: /docs/references/protocol/transactions/types/xchaincreateclaimid.md +[XChainOwnedClaimID entry]: /docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid [XRP, in drops]: /docs/references/protocol/data-types/basic-data-types.md#specifying-currency-amounts [XRPFees amendment]: /resources/known-amendments.md#xrpfees -[XRPFeesの修正]: /resources/known-amendments.md#xrpfees [XRP、drop単位]: /docs/references/protocol/data-types/basic-data-types.md#通貨額の指定 [XRPのdrop数]: /docs/references/protocol/data-types/basic-data-types.md#通貨額の指定 [account_channels command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md [account_channels method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md -[account_channels メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md [account_channelsメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_channels.md [account_currencies command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md [account_currencies method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md -[account_currencies メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md [account_currenciesメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_currencies.md [account_info command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md [account_info method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md -[account_info メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md [account_infoメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md [account_lines command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md [account_lines method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md -[account_lines メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md [account_linesメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md [account_nfts command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md [account_nfts method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md -[account_nfts メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md [account_nftsメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md [account_objects command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md [account_objects method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md -[account_objects メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md [account_objectsメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md [account_offers command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md [account_offers method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md -[account_offers メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md [account_offersメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md [account_tx command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md [account_tx method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md -[account_tx メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md [account_txメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md [admin command]: /docs/references/http-websocket-apis/admin-api-methods/index.md [amm_info command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md [amm_info method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md -[amm_info メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md [amm_infoメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md [base58]: /docs/references/protocol/data-types/base58-encodings.md [book_offers command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md [book_offers method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md -[book_offers メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md [book_offersメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md [can_delete command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/can_delete.md [can_delete method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/can_delete.md -[can_delete メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/can_delete.md [can_deleteメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/can_delete.md [channel_authorize command]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_authorize.md [channel_authorize method]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_authorize.md -[channel_authorize メソッド]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_authorize.md [channel_authorizeメソッド]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_authorize.md [channel_verify command]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_verify.md [channel_verify method]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_verify.md -[channel_verify メソッド]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_verify.md [channel_verifyメソッド]: /docs/references/http-websocket-apis/public-api-methods/payment-channel-methods/channel_verify.md [common fields]: /docs/references/protocol/transactions/common-fields.md [connect command]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/connect.md [connect method]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/connect.md -[connect メソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/connect.md [connectメソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/connect.md [consensus_info command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/consensus_info.md [consensus_info method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/consensus_info.md -[consensus_info メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/consensus_info.md [consensus_infoメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/consensus_info.md [crawl_shards command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/crawl_shards.md [crawl_shards method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/crawl_shards.md -[crawl_shards メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/crawl_shards.md [crawl_shardsメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/crawl_shards.md [crypto-condition]: https://tools.ietf.org/html/draft-thomas-crypto-conditions-04 [crypto-conditions]: https://tools.ietf.org/html/draft-thomas-crypto-conditions-04 [deposit_authorized command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/deposit_authorized.md [deposit_authorized method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/deposit_authorized.md -[deposit_authorized メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/deposit_authorized.md [deposit_authorizedメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/deposit_authorized.md [download_shard command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/download_shard.md [download_shard method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/download_shard.md -[download_shard メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/download_shard.md [download_shardメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/download_shard.md [drops of XRP]: /docs/references/protocol/data-types/basic-data-types.md#specifying-currency-amounts [feature command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/feature.md [feature method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/feature.md -[feature メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/feature.md [featureメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/feature.md [fee command]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md [fee levels]: /docs/concepts/transactions/transaction-cost.md#fee-levels [fee method]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md -[fee メソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md [feeメソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md [fetch_info command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/fetch_info.md [fetch_info method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/fetch_info.md -[fetch_info メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/fetch_info.md [fetch_infoメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/fetch_info.md [fix1201 amendment]: /resources/known-amendments.md#fix1201 -[fix1201の修正]: /resources/known-amendments.md#fix1201 [fix1368 amendment]: /resources/known-amendments.md#fix1368 -[fix1368の修正]: /resources/known-amendments.md#fix1368 [fix1373 amendment]: /resources/known-amendments.md#fix1373 -[fix1373の修正]: /resources/known-amendments.md#fix1373 [fix1512 amendment]: /resources/known-amendments.md#fix1512 -[fix1512の修正]: /resources/known-amendments.md#fix1512 [fix1513 amendment]: /resources/known-amendments.md#fix1513 -[fix1513の修正]: /resources/known-amendments.md#fix1513 [fix1515 amendment]: /resources/known-amendments.md#fix1515 -[fix1515の修正]: /resources/known-amendments.md#fix1515 [fix1523 amendment]: /resources/known-amendments.md#fix1523 -[fix1523の修正]: /resources/known-amendments.md#fix1523 [fix1528 amendment]: /resources/known-amendments.md#fix1528 -[fix1528の修正]: /resources/known-amendments.md#fix1528 [fix1543 amendment]: /resources/known-amendments.md#fix1543 -[fix1543の修正]: /resources/known-amendments.md#fix1543 [fix1571 amendment]: /resources/known-amendments.md#fix1571 -[fix1571の修正]: /resources/known-amendments.md#fix1571 [fix1578 amendment]: /resources/known-amendments.md#fix1578 -[fix1578の修正]: /resources/known-amendments.md#fix1578 [fix1623 amendment]: /resources/known-amendments.md#fix1623 -[fix1623の修正]: /resources/known-amendments.md#fix1623 [fixCheckThreading amendment]: /resources/known-amendments.md#fixcheckthreading -[fixCheckThreadingの修正]: /resources/known-amendments.md#fixcheckthreading [fixDisallowIncomingV1 amendment]: /resources/known-amendments.md#fixdisallowincomingv1 -[fixDisallowIncomingV1の修正]: /resources/known-amendments.md#fixdisallowincomingv1 [fixFillOrKill amendment]: /resources/known-amendments.md#fixfillorkill -[fixFillOrKillの修正]: /resources/known-amendments.md#fixfillorkill [fixMasterKeyAsRegularKey amendment]: /resources/known-amendments.md#fixmasterkeyasregularkey -[fixMasterKeyAsRegularKeyの修正]: /resources/known-amendments.md#fixmasterkeyasregularkey [fixNFTokenDirV1 amendment]: /resources/known-amendments.md#fixnftokendirv1 -[fixNFTokenDirV1の修正]: /resources/known-amendments.md#fixnftokendirv1 +[fixNFTokenPageLinks amendment]: /resources/known-amendments.md#fixnftokenpagelinks [fixNFTokenRemint amendment]: /resources/known-amendments.md#fixnftokenremint -[fixNFTokenRemintの修正]: /resources/known-amendments.md#fixnftokenremint [fixPayChanRecipientOwnerDir amendment]: /resources/known-amendments.md#fixpaychanrecipientownerdir -[fixPayChanRecipientOwnerDirの修正]: /resources/known-amendments.md#fixpaychanrecipientownerdir [fixPreviousTxnID amendment]: /resources/known-amendments.md#fixprevioustxnid -[fixPreviousTxnIDの修正]: /resources/known-amendments.md#fixprevioustxnid [fixQualityUpperBound amendment]: /resources/known-amendments.md#fixqualityupperbound -[fixQualityUpperBoundの修正]: /resources/known-amendments.md#fixqualityupperbound [fixRemoveNFTokenAutoTrustLine amendment]: /resources/known-amendments.md#fixremovenftokenautotrustline -[fixRemoveNFTokenAutoTrustLineの修正]: /resources/known-amendments.md#fixremovenftokenautotrustline [fixTakerDryOfferRemoval amendment]: /resources/known-amendments.md#fixtakerdryofferremoval -[fixTakerDryOfferRemovalの修正]: /resources/known-amendments.md#fixtakerdryofferremoval [fixTrustLinesToSelf amendment]: /resources/known-amendments.md#fixtrustlinestoself -[fixTrustLinesToSelfの修正]: /resources/known-amendments.md#fixtrustlinestoself [get_aggregate_price command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md [get_aggregate_priceコマンド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md [get_aggregate_price method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md [get_aggregate_priceメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md [gateway_balances command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md [gateway_balances method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md -[gateway_balances メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md [gateway_balancesメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md [get_counts command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/get_counts.md [get_counts method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/get_counts.md -[get_counts メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/get_counts.md [get_countsメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/get_counts.md [hexadecimal]: https://en.wikipedia.org/wiki/Hexadecimal [identifying hash]: /docs/concepts/transactions/index.md#identifying-transactions [json command]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/json.md [json method]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/json.md -[json メソッド]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/json.md [jsonメソッド]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/json.md [ledger command]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md [ledger format]: /docs/references/protocol/ledger-data/ledger-entry-types/index.md [ledger index]: /docs/references/protocol/data-types/basic-data-types.md#ledger-index [ledger method]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md -[ledger メソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md [ledger_accept command]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/ledger_accept.md [ledger_accept method]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/ledger_accept.md -[ledger_accept メソッド]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/ledger_accept.md [ledger_acceptメソッド]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/ledger_accept.md [ledger_cleaner command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_cleaner.md [ledger_cleaner method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_cleaner.md -[ledger_cleaner メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_cleaner.md [ledger_cleanerメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_cleaner.md [ledger_closed command]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md [ledger_closed method]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md -[ledger_closed メソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md [ledger_closedメソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md [ledger_current command]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md [ledger_current method]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md -[ledger_current メソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md [ledger_currentメソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md [ledger_data command]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md [ledger_data method]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md -[ledger_data メソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md [ledger_dataメソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md [ledger_entry command]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md [ledger_entry method]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md -[ledger_entry メソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md [ledger_entryメソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md [ledger_request command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_request.md [ledger_request method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_request.md -[ledger_request メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_request.md [ledger_requestメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/ledger_request.md [ledgerメソッド]: /docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md [log_level command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/log_level.md [log_level method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/log_level.md -[log_level メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/log_level.md [log_levelメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/log_level.md [logrotate command]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md [logrotate method]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md -[logrotate メソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md [logrotateメソッド]: /docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md [manifest command]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md [manifest method]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md -[manifest メソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md [manifestメソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md [nft_buy_offers command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md [nft_buy_offers method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md -[nft_buy_offers メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md [nft_buy_offersメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md [nft_info command]: /docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md [nft_info method]: /docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md -[nft_info メソッド]: /docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md [nft_infoメソッド]: /docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md [nft_sell_offers command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md [nft_sell_offers method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md -[nft_sell_offers メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md [nft_sell_offersメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md [node key pair]: /docs/concepts/networks-and-servers/peer-protocol.md#node-key-pair [node public key]: /docs/concepts/networks-and-servers/peer-protocol.md#node-key-pair [noripple_check command]: /docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md [noripple_check method]: /docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md -[noripple_check メソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md [noripple_checkメソッド]: /docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md [path_find command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md [path_find method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md -[path_find メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md [path_findメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md [peer reservation]: /docs/concepts/networks-and-servers/peer-protocol.md#fixed-peers-and-peer-reservations [peer reservations]: /docs/concepts/networks-and-servers/peer-protocol.md#fixed-peers-and-peer-reservations [peer_reservations_add command]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_add.md [peer_reservations_add method]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_add.md -[peer_reservations_add メソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_add.md [peer_reservations_addメソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_add.md [peer_reservations_del command]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_del.md [peer_reservations_del method]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_del.md -[peer_reservations_del メソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_del.md [peer_reservations_delメソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_del.md [peer_reservations_list command]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_list.md [peer_reservations_list method]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_list.md -[peer_reservations_list メソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_list.md [peer_reservations_listメソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peer_reservations_list.md [peers command]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peers.md [peers method]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peers.md -[peers メソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peers.md [peersメソッド]: /docs/references/http-websocket-apis/admin-api-methods/peer-management-methods/peers.md [ping command]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md [ping method]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md -[ping メソッド]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md [pingメソッド]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md [print command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/print.md [print method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/print.md -[print メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/print.md [printメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/print.md [public servers]: /docs/tutorials/public-servers.md [random command]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/random.md [random method]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/random.md -[random メソッド]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/random.md [randomメソッド]: /docs/references/http-websocket-apis/public-api-methods/utility-methods/random.md [result code]: /docs/references/protocol/transactions/transaction-results/index.md [ripple-lib]: https://github.com/XRPLF/xrpl.js [ripple_path_find command]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md [ripple_path_find method]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md -[ripple_path_find メソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md [ripple_path_findメソッド]: /docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md [seconds since the Ripple Epoch]: /docs/references/protocol/data-types/basic-data-types.md#specifying-time [リップルエポックからの秒数]: /docs/references/protocol/data-types/basic-data-types.md#specifying-time [server_info command]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md [server_info method]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md -[server_info メソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md [server_infoメソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md [server_state command]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md [server_state method]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md -[server_state メソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md [server_stateメソッド]: /docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md [sign command]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md [sign method]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md -[sign メソッド]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md [sign_for command]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.md [sign_for method]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.md -[sign_for メソッド]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.md [sign_forメソッド]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign_for.md [signメソッド]: /docs/references/http-websocket-apis/admin-api-methods/signing-methods/sign.md [stand-alone mode]: /docs/concepts/networks-and-servers/rippled-server-modes.md#stand-alone-mode [standard format]: /docs/references/http-websocket-apis/api-conventions/response-formatting.md [stop command]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/stop.md [stop method]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/stop.md -[stop メソッド]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/stop.md [stopメソッド]: /docs/references/http-websocket-apis/admin-api-methods/server-control-methods/stop.md [submit command]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md [submit method]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md -[submit メソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md [submit_multisigned command]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.md [submit_multisigned method]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.md -[submit_multisigned メソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.md [submit_multisignedメソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit_multisigned.md [submitメソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md [subscribe command]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md [subscribe method]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md -[subscribe メソッド]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md [subscribeメソッド]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md [transaction cost]: /docs/concepts/transactions/transaction-cost.md [transaction_entry command]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md [transaction_entry method]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md -[transaction_entry メソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md [transaction_entryメソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md [tx command]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md [tx method]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md -[tx メソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md [tx_history command]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md [tx_history method]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md -[tx_history メソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md [tx_historyメソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx_history.md [txメソッド]: /docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md [universal error types]: /docs/references/http-websocket-apis/api-conventions/error-formatting.md#universal-errors [unsubscribe command]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md [unsubscribe method]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md -[unsubscribe メソッド]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md [unsubscribeメソッド]: /docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md [validation_create command]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/validation_create.md [validation_create method]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/validation_create.md -[validation_create メソッド]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/validation_create.md [validation_createメソッド]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/validation_create.md [validator_info command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_info.md [validator_info method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_info.md -[validator_info メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_info.md [validator_infoメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_info.md [validator_list_sites command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_list_sites.md [validator_list_sites method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_list_sites.md -[validator_list_sites メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_list_sites.md [validator_list_sitesメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validator_list_sites.md [validators command]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validators.md [validators method]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validators.md -[validators メソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validators.md [validatorsメソッド]: /docs/references/http-websocket-apis/admin-api-methods/status-and-debugging-methods/validators.md [wallet_propose command]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.md [wallet_propose method]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.md -[wallet_propose メソッド]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.md [wallet_proposeメソッド]: /docs/references/http-websocket-apis/admin-api-methods/key-generation-methods/wallet_propose.md [アドレス]: /docs/references/protocol/data-types/basic-data-types.md#アドレス [シーケンス番号]: /docs/references/protocol/data-types/basic-data-types.md#アカウントシーケンス diff --git a/docs/_snippets/data_types/currency_code.md b/docs/_snippets/data_types/currency_code.md index e947ae17d0..11ccf66d24 100644 --- a/docs/_snippets/data_types/currency_code.md +++ b/docs/_snippets/data_types/currency_code.md @@ -1,6 +1,6 @@ The [HTTP / WebSocket APIs](../../references/http-websocket-apis/index.md) support two formats of currency code: - **[Standard Currency Codes](../../references/protocol/data-types/currency-formats.md#standard-currency-codes):** As a 3-character string such as `"EUR"` or `"USD"`. -- **[Nonstandard Currency Codes](../../references/protocol/data-types/currency-formats.md#nonstandard-currency-codes):** As a 160-bit hexadecimal string, such as `"0158415500000000C1F76FF6ECB0BAC600000000"`. This is uncommon. +- **[Nonstandard Currency Codes](../../references/protocol/data-types/currency-formats.md#nonstandard-currency-codes):** As a 160-bit hexadecimal string, such as `"444F4C4C415259444F4F00000000000000000000"`. Tokens with the same code can [ripple](../../concepts/tokens/fungible-tokens/rippling.md) across connected trust lines. Currency codes have no other behavior built into the XRP Ledger. diff --git a/docs/_snippets/mpts-disclaimer.md b/docs/_snippets/mpts-disclaimer.md new file mode 100644 index 0000000000..464c71897f --- /dev/null +++ b/docs/_snippets/mpts-disclaimer.md @@ -0,0 +1,3 @@ +{% admonition type="info" name="Attention" %} +Multi-purpose Token functionality is part of the proposed XLS-33d extension to the XRP Ledger protocol. You can use these functions on test networks for now. Until there is an amendment in a stable release, the details documented on these pages are subject to change. +{% /admonition %} diff --git a/docs/concepts/accounts/deleting-accounts.md b/docs/concepts/accounts/deleting-accounts.md index 944589e9b9..b1a8414e43 100644 --- a/docs/concepts/accounts/deleting-accounts.md +++ b/docs/concepts/accounts/deleting-accounts.md @@ -25,13 +25,13 @@ To be deleted, an account must meet the following requirements: - `RippleState` - `Check` - The account must own fewer than 1000 objects in the ledger. -- The transaction must pay a special [transaction cost][] equal to at least the [owner reserve](reserves.md) for one item (currently 2 XRP). +- The transaction must pay a special [transaction cost][] equal to at least the [owner reserve](reserves.md) for one item (currently {% $env.PUBLIC_OWNER_RESERVE %}). ## Cost of Deleting {% admonition type="danger" name="Warning" %}The [AccountDelete transaction][]'s transaction cost always applies when the transaction is included in a validated ledger, even if the transaction failed because the account does not meet the requirements to be deleted. To greatly reduce the chances of paying the high transaction cost if the account cannot be deleted, use the `fail_hard` option when submitting an AccountDelete transaction.{% /admonition %} -Unlike Bitcoin and many other cryptocurrencies, each new version of the XRP Ledger's public ledger chain contains the full state of the ledger, which increases in size with each new account. For that reason, you should not create new XRP Ledger accounts unless necessary. You can recover some of an account's 10 XRP [reserve](reserves.md) by deleting the account, but you must still destroy at least 2 XRP to do so. +Unlike Bitcoin and many other cryptocurrencies, each new version of the XRP Ledger's public ledger chain contains the full state of the ledger, which increases in size with each new account. For that reason, you should not create new XRP Ledger accounts unless necessary. You can recover some of an account's {% $env.PUBLIC_BASE_RESERVE %} [reserve](reserves.md) by deleting the account, but you must still destroy at least {% $env.PUBLIC_OWNER_RESERVE %} to do so. Institutions who send and receive value on behalf of many users can use [**Source Tags** and **Destination Tags**](../transactions/source-and-destination-tags.md) to distinguish payments from and to their customers while only using one (or a handful) of accounts in the XRP Ledger. diff --git a/docs/concepts/accounts/depositauth.md b/docs/concepts/accounts/depositauth.md index b097e96b6f..d58522dbec 100644 --- a/docs/concepts/accounts/depositauth.md +++ b/docs/concepts/accounts/depositauth.md @@ -42,7 +42,7 @@ An account with Deposit Authorization enabled: - **Cannot** be the destination of [Payment transactions][], with **the following exceptions**: - If the destination has [preauthorized](#preauthorization) the sender of the Payment. _(Added by the [DepositPreauth amendment][])_ - - If the account's XRP balance is equal to or below the minimum account [reserve requirement](reserves.md), it can be the destination of an XRP Payment whose `Amount` is equal or less than the minimum account reserve (currently 10 XRP). This is to prevent an account from becoming "stuck" by being unable to send transactions but also unable to receive XRP. The account's owner reserve does not matter for this case. + - If the account's XRP balance is equal to or below the minimum account [reserve requirement](reserves.md), it can be the destination of an XRP Payment whose `Amount` is equal or less than the minimum account reserve (currently {% $env.PUBLIC_BASE_RESERVE %}). This is to prevent an account from becoming "stuck" by being unable to send transactions but also unable to receive XRP. The account's owner reserve does not matter for this case. - Can receive XRP from [PaymentChannelClaim transactions][] **only in the following cases**: - The sender of the PaymentChannelClaim transaction is the destination of the payment channel. - The destination of the PaymentChannelClaim transaction has [preauthorized](#preauthorization) the sender of the PaymentChannelClaim. _(Added by the [DepositPreauth amendment][])_ diff --git a/docs/concepts/accounts/index.md b/docs/concepts/accounts/index.md index ce2fbfd017..6928418d05 100644 --- a/docs/concepts/accounts/index.md +++ b/docs/concepts/accounts/index.md @@ -46,7 +46,7 @@ The typical way to get an account in the XRP Ledger is as follows: - For example, you can buy XRP in a private exchange, then withdraw XRP from the exchange to the address you specified. - {% admonition type="warning" name="Caution" %}The first time you receive XRP at your own XRP Ledger address, you must pay the [account reserve](reserves.md) (currently 10 XRP), which locks up that amount of XRP indefinitely. In contrast, private exchanges usually hold all their customers' XRP in a few shared XRP Ledger accounts, so customers don't have to pay the reserve for individual accounts at the exchange. Before withdrawing, consider whether having your own account directly on the XRP Ledger is worth the price.{% /admonition %} + {% admonition type="warning" name="Caution" %}The first time you receive XRP at your own XRP Ledger address, you must pay the [account reserve](reserves.md) (currently {% $env.PUBLIC_BASE_RESERVE %}), which locks up that amount of XRP indefinitely. In contrast, private exchanges usually hold all their customers' XRP in a few shared XRP Ledger accounts, so customers don't have to pay the reserve for individual accounts at the exchange. Before withdrawing, consider whether having your own account directly on the XRP Ledger is worth the price.{% /admonition %} diff --git a/docs/concepts/accounts/reserves.md b/docs/concepts/accounts/reserves.md index fc17a33455..bcfd4e8e5c 100644 --- a/docs/concepts/accounts/reserves.md +++ b/docs/concepts/accounts/reserves.md @@ -27,12 +27,12 @@ The reserve requirement has two parts: The current reserve requirements on Mainnet are: -- Base reserve: **1 XRP** -- Owner reserve: **0.2 XRP** per item +- Base reserve: **{% $env.PUBLIC_BASE_RESERVE %}** +- Owner reserve: **{% $env.PUBLIC_OWNER_RESERVE %}** per item Reserves on other networks may vary. -An exception to the owner reserve is that you can create your first two trust lines on the XRPL without the required reserves of 2 XRP per trust line. Create your new account with the 10 XRP base reserve, then create your 2 trust lines and the reserves are not required. If you fund your account with more than 10 XRP, your account will be charged the normal reserve fees for your first two trust lines. +An exception to the owner reserve is that you can create your first two trust lines on the XRPL with just the base reserve. Create your new account with the {% $env.PUBLIC_BASE_RESERVE %} base reserve, then you can create your 2 trust lines and the reserves are not required. If you fund your account with more than {% $env.PUBLIC_BASE_RESERVE %}, your account will be charged the normal reserve fees for your first two trust lines. ## Owner Reserves diff --git a/docs/concepts/accounts/tickets.md b/docs/concepts/accounts/tickets.md index aa3a3e114e..fc86ebe84a 100644 --- a/docs/concepts/accounts/tickets.md +++ b/docs/concepts/accounts/tickets.md @@ -40,7 +40,7 @@ Later, you can send a transaction using a specific Ticket instead of a sequence Continuing the above example, you can send a transaction using sequence number 105 or any of the three Tickets you created. If you send a transaction using Ticket 103, doing so deletes Ticket 103 from the ledger. Your next transaction after that can use sequence number 105, Ticket 102, or Ticket 104. -{% admonition type="warning" name="Caution" %}Each Ticket counts as a separate item for the [owner reserve](reserves.md), so you must set aside 2 XRP for each Ticket. (The XRP becomes available again after you use the Ticket.) This cost can add up quickly if you create a large number of Tickets at once.{% /admonition %} +{% admonition type="warning" name="Caution" %}Each Ticket counts as a separate item for the [owner reserve](reserves.md), so you must set aside {% $env.PUBLIC_OWNER_RESERVE %} for each Ticket. (The XRP becomes available again after you use the Ticket.) This cost can add up quickly if you create a large number of Tickets at once.{% /admonition %} As with sequence numbers, sending a transaction uses up the Ticket _if and only if_ the transaction is confirmed by [consensus](../consensus-protocol/index.md). However, transactions that fail to do what they were intended to do can still be confirmed by consensus with [`tec`-class result codes](../../references/protocol/transactions/transaction-results/tec-codes.md). @@ -53,7 +53,7 @@ Any account can create and use Tickets on any type of transaction. However, some - Each Ticket can only be used once. It is possible to have multiple different candidate transactions that would use the same Ticket Sequence, but only one of those candidates can be validated by consensus. - Each account cannot have more than 250 Tickets in the ledger at a time. You cannot create more than 250 Tickets at a time, either. - You _can_ use a Ticket to create more Tickets. If you do, the Ticket you used does not count towards the total number of Tickets you can have at once. -- Each Ticket counts toward the [owner reserve](reserves.md), so you must set aside 2 XRP for each Ticket you have not used yet. The XRP becomes available for you to use again after the Ticket is used. +- Each Ticket counts toward the [owner reserve](reserves.md), so you must set aside {% $env.PUBLIC_OWNER_RESERVE %} for each Ticket you have not used yet. The XRP becomes available for you to use again after the Ticket is used. - Within an individual ledger, transactions that use Tickets execute after other transactions from the same sender. If an account has multiple transactions using Tickets in the same ledger version, those Tickets execute in order from lowest Ticket Sequence to highest. (For more information, see the documentation on consensus's [canonical order](../consensus-protocol/consensus-structure.md#calculate-and-share-validations).) - To "cancel" a Ticket, use the Ticket to [perform a no-op](../transactions/finality-of-results/canceling-a-transaction.md) [AccountSet transaction][]. This deletes the Ticket so that you don't have to meet its reserve requirement. diff --git a/docs/concepts/consensus-protocol/fee-voting.md b/docs/concepts/consensus-protocol/fee-voting.md index d3ae08fe3f..b9b8c3ccfc 100644 --- a/docs/concepts/consensus-protocol/fee-voting.md +++ b/docs/concepts/consensus-protocol/fee-voting.md @@ -18,8 +18,10 @@ The parameters you can set are as follows: | Parameter | Description | Recommended Value | |-----------|-------------|-------------------| | `reference_fee` | The **reference transaction cost.** This is the amount of XRP, in _drops_ (1 XRP = 1 million drops.), that must be destroyed to send the reference transaction, the cheapest possible transaction. The actual transaction cost is a multiple of this value, scaled dynamically based on the load of individual servers. | `10` (0.00001 XRP) | -| `account_reserve` | The **base account reserve.** This is the minimum amount of XRP, in _drops_, that an account must hold in reserve, which is also the minimum requirement to fund a new account. | `10000000` (10 XRP) | -| `owner_reserve` | The **owner reserve increment.** This is how much more XRP, in _drops_, that an account must hold for _each_ object it owns in the ledger. | `2000000` (2 XRP) | +| `account_reserve` | The **base account reserve.** This is the minimum amount of XRP, in _drops_, that an account must hold in reserve, which is also the minimum requirement to fund a new account. | `1000000` ({% $env.PUBLIC_BASE_RESERVE %}) | +| `owner_reserve` | The **owner reserve increment.** This is how much more XRP, in _drops_, that an account must hold for _each_ object it owns in the ledger. | `200000` ({% $env.PUBLIC_OWNER_RESERVE %}) | + + ## Precautions diff --git a/docs/concepts/decentralized-storage/credentials.md b/docs/concepts/decentralized-storage/credentials.md index 6ec539e967..72504b4f66 100644 --- a/docs/concepts/decentralized-storage/credentials.md +++ b/docs/concepts/decentralized-storage/credentials.md @@ -1,9 +1,16 @@ +--- +seo: + description: Create and manage credentials on the blockchain, which can provide authorization for payments or other features, while respecting privacy and decentralization. +status: not_enabled +--- # Credentials The Credentials feature is a set of tools for managing authorization and compliance requirements using the XRP Ledger blockchain, while respecting privacy and decentralization. This feature extends and interconnects with other features of the XRP Ledger including [Deposit Authorization](../../concepts/accounts/depositauth.md)). The goal of this feature is to streamline the process of compliance checks such as [KYC (Know Your Customer)](https://en.wikipedia.org/wiki/Know_your_customer) and to enable further trust-based applications within the XRP Ledger ecosystem. The design of the Credentials standard draws from the [W3C Verifiable Credentials standard](https://www.w3.org/TR/vc-data-model-2.0/). It is intended to be compatible to an extent that makes sense in the context of the XRP Ledger. There are some differences in data structures and formatting: for example, the subject of a credential is identified by an XRP Ledger address rather than a URL. +_(Requires the [Credentials amendment][] {% not-enabled /%})_ + ## Overview _Credentials_ are signed statements that can be stored in the ledger and can attest to a user's identity, legal status, or other status. This feature includes issuance, storage, and verification of credentials directly on the XRP Ledger, while still supporting the privacy needs of users. @@ -45,3 +52,5 @@ All three parties need XRP Ledger accounts. The flow works as follows: Importantly, the documents that Alice sends to Isabel can include personally identifiable or private information that's needed to verify Alice's identity, but this information is never published or stored on the blockchain and Verity does not need to see it. Also, other businesses that trust Isabel can accept the same credentials so Alice does not need to repeatedly re-verify for every party she wants to interact with. To revoke a credential, Isabel can delete it from the ledger. Alice can also delete her own credentials. + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/concepts/networks-and-servers/peer-protocol.md b/docs/concepts/networks-and-servers/peer-protocol.md index 1dfc6b9e78..57786226df 100644 --- a/docs/concepts/networks-and-servers/peer-protocol.md +++ b/docs/concepts/networks-and-servers/peer-protocol.md @@ -107,7 +107,7 @@ The pros and cons of each configuration are as follows: Discovered Peers
  • Simplest configuration, with a low maintenance burden.

  • -
  • Creates the opportunity for a lot of direct peer connections. Having more direct peers comes with several benefits. Your server can fetch history from multiple peers in parallel, both when syncing and when backfilling history. Since not all peers maintain full history, having access to more peers can also provide access to a wider range of historical data.

  • +
  • Creates the opportunity for a lot of direct peer connections. Having more direct peers comes with several benefits. Your server can fetch history from multiple peers in parallel, both when syncing and when backfilling history. Since not all peers maintain full history, having access to more peers can also provide access to a wider range of historical data.

  • Lowers the possibility of disconnecting from the network because your server can replace disconnected peers with new ones.

    @@ -119,7 +119,7 @@ The pros and cons of each configuration are as follows:
    • Most secure and reliable configuration when implemented effectively.

    • As reliable and as redundant as you make it.

    • -
    • Can optimize the private server's performance with clustering.

    • +
    • Can optimize the private server's performance with clustering.

    • Enables you to create as many direct peer connections as you want. Your private server can fetch history from multiple peers in parallel. Since you run the peers, you also control how much ledger history each peer keeps.

      diff --git a/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md b/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md index efa7842f30..93346078da 100644 --- a/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md +++ b/docs/concepts/tokens/decentralized-exchange/automated-market-makers.md @@ -65,6 +65,22 @@ The diagram below illustrates how an offer interacts with other offers and AMM l ![Offer path through DEX.](/docs/img/amm-clob-diagram.png) +
      + +
      + + + ### Restrictions on Assets To prevent misuse, some restrictions apply to the assets used in an AMM. If you try to create an AMM with an asset that does not meet these restrictions, the transaction fails. The rules are as follows: @@ -100,6 +116,18 @@ Liquidity providers can vote to set the fee from 0% to 1%, in increments of 0.00 Each AMM gives its liquidity providers the power to vote on its fees, in proportion to the number of LP tokens they hold. To vote, a liquidity provider sends an [AMMVote][] transaction. Whenever anyone places a new vote, the AMM recalculates its fee to be an average of the latest votes, weighted by how many LP tokens those voters hold. Up to 8 liquidity providers' votes can be counted this way; if more liquidity providers try to vote, then only the top 8 votes (by most LP tokens held) are counted. Even though liquidity providers' share of LP tokens can shift rapidly for many reasons (such as trading those tokens using [Offers](offers.md)), the trading fees are only recalculated whenever someone places a new vote (even if that vote is not one of the top 8). +{% admonition type="info" name="Note" %} + +_Trading fees_ differ from _transfer fees_. + +| Differences | AMM Trading Fees | Token Transfer Fees | +|-------------|------------------|---------------------| +| Who sets the fee? | AMM liquidity providers. | Token issuer. | +| When does the fee apply? | When swapping against the AMM. | Any time the token transfers accounts, except when sending or receiving _directly_ to and from the token issuer. | +| Can fees be redeemed? | Yes, by liquidity providers when they turn in their LP tokens. | No, fees are burned. | + +{% /admonition %} + ### Auction Slot The XRP Ledger's AMM design includes an _auction slot_. A liquidity provider can bid LP Tokens to claim the auction slot to receive a discount on the trading fee for a 24-hour period. The LP tokens that were bid are returned to the AMM. diff --git a/docs/concepts/tokens/fungible-tokens/authorized-trust-lines.md b/docs/concepts/tokens/fungible-tokens/authorized-trust-lines.md index 218f4a5137..6c0b3a2f22 100644 --- a/docs/concepts/tokens/fungible-tokens/authorized-trust-lines.md +++ b/docs/concepts/tokens/fungible-tokens/authorized-trust-lines.md @@ -21,11 +21,11 @@ The transaction to authorize a trust line must be signed by the issuing address, ## Reserves -Trust lines are ledger objects that require a reserve of 2 XRP each. To help new users get started, the reserve amounts are waived for the first 2 trust lines you create for a new account. Fund your new account with 10 XRP and create your new trust lines. If you have more than 10 XRP in your account, up to 4 XRP are reserved for your first 2 trust lines. If you remove the trust line later, the reserves are freed up for future use. +Trust lines are ledger objects that require a reserve of {% $env.PUBLIC_OWNER_RESERVE %} each. To help new users get started, the reserve amounts are waived for the first 2 trust lines you create for a new account. Fund your new account with {% $env.PUBLIC_BASE_RESERVE %} and create your new trust lines. If you have more than {% $env.PUBLIC_BASE_RESERVE %} in your account, up to 0.4 XRP are reserved for your first 2 trust lines. If you remove the trust line later, the reserves are freed up for future use. ## With Stablecoin Issuing -With a stablecoin on the XRP Ledger and use Authorized Trust Lines, the process of onboarding a new customer might look something like the following: +With a stablecoin on the XRP Ledger and the use of Authorized Trust Lines, the process of onboarding a new customer might look something like the following: 1. The customer registers with the stablecoin issuer's systems and sends proof of their identity (also known as "Know Your Customer", or KYC, information). 2. The customer and stablecoin issuer tell each other their XRP Ledger addresses. diff --git a/docs/concepts/tokens/fungible-tokens/index.md b/docs/concepts/tokens/fungible-tokens/index.md index a6a2434974..9b9b61bab0 100644 --- a/docs/concepts/tokens/fungible-tokens/index.md +++ b/docs/concepts/tokens/fungible-tokens/index.md @@ -16,7 +16,7 @@ Fungible tokens are interchangeable and indistinguishable from one another. They Trust lines are structures in the XRP Ledger for holding fungible [tokens](../index.md). Trust lines enforce the XRP Ledger's rule that you cannot cause someone else to hold a token they don't want. This precaution is necessary to enable the XRP Ledger's use case for [community credit](../index.md#community-credit) among other benefits. -Each "trust line" is a _bidirectional_ relationship consisting of: +A trust line is defined as a [RippleState](../../../references/protocol/ledger-data/ledger-entry-types/ripplestate) object. Each trust line is a _bidirectional_ relationship consisting of: - The identifiers for the two [accounts](../../accounts/index.md) that the trust line connects. - A single, shared balance, which is positive from the perspective of one account and negative from the other perspective. diff --git a/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens.md b/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens.md new file mode 100644 index 0000000000..ba35763dee --- /dev/null +++ b/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens.md @@ -0,0 +1,66 @@ +--- +blurb: Multi-purpose tokens offer a more compact, flexible token type than trust lines. +labels: + - Tokens + - MPTs + - Multi-purpose Tokens +status: not_enabled +--- +# Multi-purpose Tokens + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +Multi-purpose tokens (MPTs) are a more compact and flexible type of fungible token. + +MPTs let you take advantage of ready-to-use tokenization features with a few lines of code. You can create many token experiences from one token program itself. Notable features include: + +- MPTs store their metadata directly on the XRPL blockchain. +- A 1024-byte URI field provides a metadata pointer that allows you to use an off-chain source for metadata in addition to the on-chain source. This lets your application access necessary information directly from the chain, prompting higher interoperability for tokens, without losing the ability to attach additional information. +- MPTs can have a fixed token supply where you set a cap on the maximum number of tokens that can be minted. +- You can define MPTs as non-transferable, tokens that can only be transferred back to the issuer, but not among tokenholders. Useful for cases such as issuing airline credits or loyalty rewards. +- Issuers can set transfer fees to collect on-chain revenue each time the token is traded among tokenholders. +- MPTs also have advanced compliance features: + - The ability to lock tokens held by a tokenholder to support compliance requirements. + - The ability to set a global lock for all MPT balances across all tokenholders. + - The issuer can configure MPTs that can be clawed back from tokenholder wallets, either to revoke them, or to reassign them in the case of lost wallet keys. + - An opt-in feature can allow only wallets authorized by the issuer to hold issued tokens. + +## MPTs versus Trust Lines + +Unlike trust lines, MPTs do not represent bidirectional debt relationships. Instead, MPTs function more like a unidirectional trust line with only one balance. This reduces the overhead to support common tokenization requirements, including non-monetary use cases such as tracking reputation points in an online game. + +MPTs offer a less complicated conceptual model than trust lines. + +MPTs require significantly less space than trust lines. They require roughly 52 bytes for each MPT held by a token holder, compared to at least 234 bytes for every new trust line. + +They reduce the long-term infrastructure and storage burdens for node operators, increasing network resiliency. + +MPTs also improve node perfomance when processing large volumes of transactions. + +MPTs are unidirectional. While trust lines use "balance netting," MPTs have only a single balance. + +An account can issue a maximum of 32 unique MPT issuances. If an issuer wants to support more than this number of MPTs, they can open additional accounts. + +Since token holders will not acquire an MPT without first making an off-ledger trust decision, MPTs have no trust limits. For example, a common use case for an MPT is a fiat-backed stablecoin, where a token holder wouldn't purchase more stablecoins than they would feel comfortable holding. + +Unlike some existing capabilities of the ledger, MPTs are not subject to rippling, and do not require configurability settings related to that functionality. + +## MPTs versus IOUs + +On a technical level, MPTs provide a fundamentally different way to represent fungible tokens on the ledger. While IOUs are represented by trustlines and have bilateral debt relationships, MPTs use a simpler, unilateral relationship captured by an MPToken object. This results in substantial space savings on the ledger. The representation of a fungible token as a token object instead of a trustline makes it easier to enable functionality for real-world financial assets on-chain, such as token-level metadata, fixed supply, and fixed-point balance. + +On a usage level, MPTs provide a straightforward conceptual model compared to trustlines and rippling. Developers can more easily build web3 applications around `MPToken` and `MPTokenIssuance` objects, with some similarities to the conceptual model of XLS-20 NFTs. It is also simpler for ordinary users to understand what tokens are available, what tokens they have issued, and what they hold in their wallet. For both issuers and holders of MPTs, there will typically be a smaller XRP reserve compared to the equivalent representations with IOU trustlines. + +MPTs are intended to be complementary to IOUs. While there might be use cases where either MPTs or IOUs might be suitable, there will likely be a need for both over the long term. There will be use cases such as credit lines for lending and borrowing that might be better represented by IOUs long term. The MPT feature set should evolve in an incremental manner to unlock more common use cases first and deliver additional feature support at a later time. During the MPT development period, some cases might still be better represented by an IOU, then later be better supported with MPTs. + +## See Also + +- **References:** + - [MPToken](../../../references/protocol/ledger-data/ledger-entry-types/mptoken.md) + - [MPTokenIssuance](../../../references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md) + - [MPTokenAuthorize](../../../references/protocol/transactions/types/mptokenauthorize.md) + - [MPTokenIssuanceCreate](../../../references/protocol/transactions/types/mptokenissuancecreate.md) + - [MPTokenIssuanceDestroy](../../../references/protocol/transactions/types/mptokenissuancedestroy.md) + - [MPTokenIssuanceSet](../../../references/protocol/transactions/types/mptokenissuanceset.md) + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/concepts/tokens/fungible-tokens/rippling.md b/docs/concepts/tokens/fungible-tokens/rippling.md index 9330ed0008..c90e08187f 100644 --- a/docs/concepts/tokens/fungible-tokens/rippling.md +++ b/docs/concepts/tokens/fungible-tokens/rippling.md @@ -1,6 +1,4 @@ --- -html: rippling.html -parent: trust-lines-and-issuing.html seo: description: Rippling is automatic multi-party net settlement of token balances. labels: @@ -9,85 +7,67 @@ labels: --- # Rippling -In the XRP Ledger, "rippling" describes a process of atomic net settlement between multiple connected parties who have [trust lines](index.md) for the same token. Rippling is essential, because it enables token holders to transfer funds directly to each other, without any issuer involvement in the debiting and crediting process. In a sense, rippling is like a passive, two-way [exchange order](../decentralized-exchange/offers.md) with no limit and a 1:1 exchange rate for two tokens with the same currency code but different issuers. +Rippling is the _indirect movement_ of funds that occurs for any payment of fungible tokens (except when an issuing account exchanges tokens directly with another account). This includes when one holder sends tokens to another holder of the same token. -Rippling only occurs along the [paths](paths.md) of a payment. [Direct XRP-to-XRP payments](../../payment-types/direct-xrp-payments.md) do not involve rippling. - -For non-issuing accounts, rippling can be undesirable because it lets other users shift obligations between tokens with the same currency code but different issuers. The [No Ripple Flag](#the-no-ripple-flag) disables rippling by default when others open trust lines to your account, unless you enable rippling by default using the [Default Ripple flag](#the-default-ripple-flag). - -{% admonition type="warning" name="Caution" %}When you create a trust line, you must explicitly enable the `tfSetNoRipple` flag to block rippling on your side of that trust line.{% /admonition %} +Rippling can automatically exchange tokens that have the same currency code, even if they have different issuers. This helps to facilitate longer and more complex payments between accounts. ## Example of Rippling -"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: +Issuers distribute currency to holders over trust lines. When a holder creates a trust line to an issuer for a specific token, they are willing to accept payments of that token. For example, in the chart below, Holder A and Holder B both have trust lines to the Issuer of the token USD. -[{% inline-svg file="/docs/img/noripple-01.svg" /%}](/docs/img/noripple-01.svg "Charlie --($10)-- Alice -- ($20) -- Bob") +[![Issuer with trust lines to two holders.](/docs/img/cpt-rippling1.png "Issuer with trust lines to two holders.")](/docs/img/cpt-rippling1.png) -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: +The Issuer transfers 50 USD to Holder A, and 10 USD to Holder B. For these trust lines, the Issuer has a net balance of -60 USD. -[{% inline-svg file="/docs/img/noripple-02.svg" /%}](/docs/img/noripple-02.svg "Charlie --($13)-- Alice --($17)-- Bob") +[![Issuer sends tokens to holders.](/docs/img/cpt-rippling2.png "Issuer sends tokens to holders.")](/docs/img/cpt-rippling2.png) -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. +Since both accounts are willing to accept payments in USD tokens, Holder A can send a payment of 20 USD to Holder B. This appears to be a single transaction, but it actually involves two steps. Holder A sees their balance go down by 20 USD, Holder B sees their balance go up by 20 USD. Behind the scenes, though, Holder A’s side of the trust line to the Issuer is reduced by 20 USD. The Issuer’s side of the trust line is increased by 20 USD, bringing its net balance to -40 USD. -## The No Ripple Flag +[![Holder A sends currency through the Issuer.](/docs/img/cpt-rippling3.png "Holder A sends currency through the Issuer.")](/docs/img/cpt-rippling3.png) -Non-issuing accounts, especially liquidity providers who may hold balances from different issuers with different fees and policies, usually do not want their balances to ripple. +Then the Issuer side of the trust line to Holder B is reduced by 20 USD, and the account of Holder B is increased by 20 USD. -The **No Ripple** flag is a setting on a trust line. When two trust lines both have No Ripple enabled by the same address, payments from third parties cannot ripple through that address on those trust lines. This protects liquidity providers from having balances shift unexpectedly between different issuers using the same currency code. +[![Holder B receives tokens through the Issuer.](/docs/img/cpt-rippling4.png "Holder B receives tokens through the Issuer.")](/docs/img/cpt-rippling4.png) -An account can disable No Ripple on a single trust line, which can allow rippling through any pair that includes that trust line. The account can also enable rippling by default by enabling the [Default Ripple flag](#the-default-ripple-flag). +The tokens are transferred through the Issuer, but ultimately the Issuer’s balance doesn’t change. This flow of tokens is known as _rippling_. Issuing accounts must allow rippling so that their holders can transfer tokens to one another. -For example, imagine Emily has money issued by two different financial institutions, like so +Rippling can involve several accounts as the XRP Ledger finds a path to transfer the tokens. For example, the tokens might flow between two issuer accounts that have a trust line between them. -[{% inline-svg file="/docs/img/noripple-03.svg" /%}](/docs/img/noripple-03.svg "Charlie --($10)-- Institution A --($1)-- Emily --($100)-- Institution B --($2)-- Daniel") +[![Holder A transfers tokens through Issuers A and B to get to Holder B.](/docs/img/cpt-rippling5.png "Holder A transfers tokens through Issuers A and B to get to Holder B.")](/docs/img/cpt-rippling5.png) -Now Charlie can pay Daniel by rippling through Emily's address. For example, if Charlie pays Daniel $10: +Tokens might also flow through intermediary exchanger accounts to reach a holder. -[{% inline-svg file="/docs/img/noripple-04.svg" /%}](/docs/img/noripple-04.svg "Charlie --($0)-- Institution A --($11)-- Emily --($90)-- Institution B --($12)-- Daniel") +[![Holder A transfers tokens through Issuers A and B and Exchanger X to get to Holder B.](/docs/img/cpt-rippling6.png "Holder A transfers tokens through Issuers A and B and Exchanger X to get to Holder B.")](/docs/img/cpt-rippling6.png) -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. +Other accounts, such as liquidity providers and normal holders, should not allow rippling. Rippling can lead to exploits where balances shift unexpectedly, tokens are allocated at higher rates, and the holder ends up losing value on a transaction where they played no part. -For example: +# The Default Ripple Flag -[{% 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") +The Default Ripple flag is an account level setting that enables rippling for all incoming trust lines. The default setting of the Default Ripple flag is false. Issuers must enable this flag for their customers to be able to send tokens to one another. -Now the above scenario, where Charlie pays Daniel while rippling through Emily's address, is no longer possible. +The Default Ripple setting doesn’t affect trust lines that you create, only trust lines that others open to your account. If you change the setting, trust lines that were created before the change keep their existing No Ripple settings. You can use a [TrustSet transaction][] to change the No Ripple setting of a trust line to match your account’s new default. -### Specifics - -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="/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 - -The **Default Ripple** flag is an account setting that enables rippling on all _incoming_ trust lines by default. Issuers MUST enable this flag for their customers to be able to send tokens to each other. - -The Default Ripple setting of your account does not affect trust lines that you create; only trust lines that others open to you. If you change the Default Ripple setting of your account, trust lines that were created before the change keep their existing No Ripple settings. You can use a [TrustSet transaction][] to change the No Ripple setting of a trust line to match your address's new default. +# The No Ripple Flag +Accounts that do not want to allow rippling can enable the No Ripple flag. If you enable the No Ripple flag on two of your trust lines, other accounts cannot use that pair of trust lines to ripple payments through your account. However, if you have any other trust lines that do not have the No Ripple flag enabled, payments can still ripple through your account as long as _one_ of the trust lines involved does not have No Ripple enabled. ## Using No Ripple - -### Enabling / Disabling No Ripple +The No Ripple flag can only be enabled on a trust line if the address has a positive or zero balance. This is so that the feature cannot be abused to remove the obligation the trust line balance represents. -The No Ripple flag can only be enabled on a trust line if the address has a positive or zero balance on that trust line. This is so that the feature cannot be abused to default on the obligation the trust line balance represents. (Of course, you can still default by abandoning the address.) +To enable the No Ripple flag, send a [TrustSet transaction][] with the `tfSetNoRipple` flag. To disable the No Ripple flag, send a TrustSet transaction with the `tfClearNoRipple` flag. -To enable the No Ripple flag, send a [TrustSet transaction][] with the `tfSetNoRipple` flag. You can disable the No Ripple flag (that is, allow rippling) with the `tfClearNoRipple` flag instead. - - -### Looking Up No Ripple Status +## Looking up No Ripple status In the case of two accounts that mutually trust each other, the No Ripple flag is tracked separately for each account. -Using the [HTTP / WebSocket APIs](../../../references/http-websocket-apis/index.md) or your preferred [client library](../../../references/client-libraries.md), look up trust lines with the [account_lines method][]. For each trust line, the `no_ripple` field shows whether the current address has enabled the No Ripple flag on that trust line, and the `no_ripple_peer` field shows whether the counterparty has enabled the No Ripple flag. +Using the HTTP / WebSocket APIs or your preferred client library, look up trust lines with the `account_lines` method. For each trust line, the `no_ripple` field shows whether the current address has enabled the No Ripple flag on that trust line. The `no_ripple_peer` field shows whether the counterparty has enabled the No Ripple flag. ## See Also - **Concepts:** - [Paths](paths.md) -- **Tutorials:** +- **Use Cases:** - [Stablecoin Issuer](../../../use-cases/tokenization/stablecoin-issuer.md) - **References:** - [account_lines method][] diff --git a/docs/concepts/tokens/nfts/reserve-requirements.md b/docs/concepts/tokens/nfts/reserve-requirements.md index 12b2ae7af7..0dc7a9e978 100644 --- a/docs/concepts/tokens/nfts/reserve-requirements.md +++ b/docs/concepts/tokens/nfts/reserve-requirements.md @@ -12,11 +12,11 @@ Minting, holding, and offering NFTs for sale require XRP held in reserve. The re ## Base Reserve -Your account must set aside a base reserve, currently 10 XRP. The base reserve XRP amount is subject to change. See [Base Reserve and Owner Reserve](../../accounts/reserves.md#base-reserve-and-owner-reserve). +Your account must set aside a base reserve, currently {% $env.PUBLIC_BASE_RESERVE %}. The base reserve XRP amount is subject to change. See [Base Reserve and Owner Reserve](../../accounts/reserves.md#base-reserve-and-owner-reserve). ## Owner Reserve -For each object you own on the XRP Ledger, there is an owner reserve, currently 2 XRP. This is to discourage users from spamming the ledger with unnecessary data, and to encourage them to clean up any data that is no longer necessary. The owner reserve amount is subject to change. See [Base Reserve and Owner Reserve](../../accounts/reserves.md#base-reserve-and-owner-reserve). +For each object you own on the XRP Ledger, there is an owner reserve, currently 0.2 XRP. This is to discourage users from spamming the ledger with unnecessary data, and to encourage them to clean up any data that is no longer necessary. The owner reserve amount is subject to change. See [Base Reserve and Owner Reserve](../../accounts/reserves.md#base-reserve-and-owner-reserve). For NFTs, the _object_ does not refer to the individual NFTs, but to the `NFTokenPage` objects owned by the account. `NFTokenPage` objects can store up to 32 NFTs. @@ -27,16 +27,18 @@ Therefore, you can estimate the reserve requirements for minting or owning _N_ N The following table provides examples of how much the total owner reserve might be, depending on the number of NFTs owned and the number of pages holding them. -| NFTs Owned | Best Case | Typical Case | Worst Case | +| NFTs Owned | Best Case | Typical Case | Worst Case | |:------------|:----------|:-------------|:-----------| -| 32 or fewer | 2 XRP | 2 XRP | 2 XRP | -| 50 | 4 XRP | 6 XRP | 8 XRP | -| 200 | 14 XRP | 18 XRP | 26 XRP | -| 1000 | 64 XRP | 84 XRP | 126 XRP | +| 32 or fewer | 0.2 XRP | 0.2 XRP | 0.2 XRP | +| 50 | 0.4 XRP | 0.6 XRP | 0.8 XRP | +| 200 | 1.4 XRP | 1.8 XRP | 2.6 XRP | +| 1000 | 6.4 XRP | 8.4 XRP | 12.6 XRP | + + ## `NFTokenOffer` Reserve -Each `NFTokenOffer` object costs the account placing the offer one incremental reserve. As of this writing, the incremental reserve is 2 XRP. The reserve can be recovered by cancelling the offer. The reserve is also recovered if the offer is accepted, which removes the offer from the XRP Ledger. +Each `NFTokenOffer` object costs the account placing the offer one incremental reserve. As of this writing, the incremental reserve is 0.2 XRP. The reserve can be recovered by cancelling the offer. The reserve is also recovered if the offer is accepted, which removes the offer from the XRP Ledger. {% admonition type="success" name="Tip" %}After you sell an NFT, as a courtesy, cancel any stale `NFTokenOffer` objects on behalf of your bidders to give them back their reserve. You can do this with [NFTokenCancelOffer](../../../references/protocol/transactions/types/nftokencanceloffer.md) transactions.{% /admonition %} @@ -44,26 +46,24 @@ Each `NFTokenOffer` object costs the account placing the offer one incremental r When minting, holding, and offering to buy and sell NFTs, the reserve requirements can add up quickly. This can result in your account going below the reserve requirement during a transaction. Going below the requirement can limit your ability to trade on the XRPL. See [Going Below the Reserve Requirement](../../accounts/reserves.md#going-below-the-reserve-requirement). -If you create a new account, mint an NFT, and create an `NFTokenSellOffer` on the XRP Ledger, that requires a minimum reserve of 14 XRP. +If you create a new account, mint an NFT, and create an `NFTokenSellOffer` on the XRP Ledger, that requires a minimum reserve of 1.4 XRP. | Reserve Type | Amount | |:--------------------|--------:| -| Base | 10 XRP | -| NFToken Page | 2 XRP | -| NFToken Offers | 2 XRP | -| Total | 14 XRP | -| | | +| Base | 1 XRP | +| NFToken Page | 0.2 XRP | +| NFToken Offers | 0.2 XRP | +| Total | 1.4 XRP | {% admonition type="info" name="Note" %}While not a reserve requirement, keep in mind that you would want to have at least 1 XRP above your reserves to cover the trivial fee for each transaction in the mint and sell process (typically 12 drops, or .000012 XRP).{% /admonition %} -If you were to mint 200 NFTs and create an `NFTokenSellOffer`for each, that would require as much as 436 XRP held in reserve. +If you were to mint 200 NFTs and create an `NFTokenSellOffer`for each, that would require as much as 43.6 XRP held in reserve. | Reserve Type | Amount | |:--------------------|--------:| -| Base | 10 XRP | -| NFToken Pages | 26 XRP | -| NFToken Offers | 400 XRP | -| Total | 436 XRP | -| | | +| Base | 1 XRP | +| NFToken Pages | 2.6 XRP | +| NFToken Offers | 40 XRP | +| Total | 43.6 XRP | If the required reserves exceed the amount you are comfortable setting aside, consider using the mint-on-demand model to reduce the number of NFTs and offers you hold at any one time. For details, see [Batch Minting](batch-minting.md). diff --git a/docs/concepts/tokens/nfts/trading.md b/docs/concepts/tokens/nfts/trading.md index c63b36f6ae..21d1bc6c45 100644 --- a/docs/concepts/tokens/nfts/trading.md +++ b/docs/concepts/tokens/nfts/trading.md @@ -15,7 +15,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ ## Reserve Requirements -Every `NFTokenOffer` object requires that your account increase its owner reserve, currently 2 XRP per `NFTokenSellOffer` and 2 XRP per `NFTokenBuyOffer`. This is to prevent accounts from spamming the ledger with offers they don't intend to complete. +Every `NFTokenOffer` object requires that your account increase its owner reserve, currently {% $env.PUBLIC_OWNER_RESERVE %} per `NFTokenSellOffer` and {% $env.PUBLIC_OWNER_RESERVE %} per `NFTokenBuyOffer`. This is to prevent accounts from spamming the ledger with offers they don't intend to complete. See [NFT Reserve Requirements](reserve-requirements.md). diff --git a/docs/concepts/transactions/transaction-queue.md b/docs/concepts/transactions/transaction-queue.md index e23a686ad0..3679ede9da 100644 --- a/docs/concepts/transactions/transaction-queue.md +++ b/docs/concepts/transactions/transaction-queue.md @@ -40,7 +40,7 @@ The `rippled` server uses a variety of heuristics to estimate which transactions - Transactions with an `AccountTxnID` field cannot be queued. - A single sending address can have at most 10 transactions queued at the same time. - To queue a transaction, the sender must have enough XRP for all of the following: - - Destroying the XRP [transaction cost](transaction-cost.md) as specified in the `Fee` fields of all the sender's queued transactions. The total amount among queued transactions cannot be more than the base account reserve (currently 10 XRP). (Transactions paying significantly more than the minimum transaction cost of 0.00001 XRP typically skip the queue and go straight into the open ledger.) + - Destroying the XRP [transaction cost](transaction-cost.md) as specified in the `Fee` fields of all the sender's queued transactions. The total amount among queued transactions cannot be more than the base account reserve (currently {% $env.PUBLIC_BASE_RESERVE %}). (Transactions paying significantly more than the minimum transaction cost of 0.00001 XRP typically skip the queue and go straight into the open ledger.) - Sending the maximum sum of XRP that all the sender's queued transactions could send. - Keeping enough XRP to meet the account's [reserve requirements](../accounts/reserves.md). - If a transaction affects how the sending address authorizes transactions, no other transactions from the same address can be queued behind it. diff --git a/docs/img/cpt-rippling1.png b/docs/img/cpt-rippling1.png new file mode 100644 index 0000000000..0111971b72 Binary files /dev/null and b/docs/img/cpt-rippling1.png differ diff --git a/docs/img/cpt-rippling2.png b/docs/img/cpt-rippling2.png new file mode 100644 index 0000000000..d1ac8c52dc Binary files /dev/null and b/docs/img/cpt-rippling2.png differ diff --git a/docs/img/cpt-rippling3.png b/docs/img/cpt-rippling3.png new file mode 100644 index 0000000000..b716542a5d Binary files /dev/null and b/docs/img/cpt-rippling3.png differ diff --git a/docs/img/cpt-rippling4.png b/docs/img/cpt-rippling4.png new file mode 100644 index 0000000000..20e3c3a0b1 Binary files /dev/null and b/docs/img/cpt-rippling4.png differ diff --git a/docs/img/cpt-rippling5.png b/docs/img/cpt-rippling5.png new file mode 100644 index 0000000000..83989e103c Binary files /dev/null and b/docs/img/cpt-rippling5.png differ diff --git a/docs/img/cpt-rippling6.png b/docs/img/cpt-rippling6.png new file mode 100644 index 0000000000..3c49c6d8a7 Binary files /dev/null and b/docs/img/cpt-rippling6.png differ diff --git a/docs/img/decentralized-exchange-example-trade.svg b/docs/img/decentralized-exchange-example-trade.svg index 97fc188250..7521a84d3f 100644 --- a/docs/img/decentralized-exchange-example-trade.svg +++ b/docs/img/decentralized-exchange-example-trade.svg @@ -1,8 +1,10 @@ - + decentralized exchange example + Diagram: Partially filled offer to buy a token for XRP. + ](/resources/dev-tools/websocket-api-tool#account_currencies) +{% try-it method="account_currencies" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md index 289b66ef2f..18951af03d 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_info.md @@ -54,7 +54,7 @@ rippled account_info rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn validated {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#account_info) +{% try-it method="account_info" /%} The request contains the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md index b374a2562e..9aab9333f4 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_lines.md @@ -49,7 +49,7 @@ rippled account_lines r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#account_lines) +{% try-it method="account_lines" /%} The request accepts the following parameters: @@ -419,6 +419,7 @@ The response follows the [standard format][], with a successful result containin | `ledger_index` | Integer - [Ledger Index][] | _(Omitted if `ledger_current_index` provided instead)_ The ledger index of the ledger version that was used when retrieving this data. | | `ledger_hash` | String - [Hash][] | _(May be omitted)_ The identifying hash the ledger version that was used when retrieving this data. | | `marker` | [Marker][] | Server-defined value indicating the response is paginated. Pass this to the next call to resume where this call left off. Omitted when there are no additional pages after this one. | +|`limit` | Unsigned Integer | The maximum number of trust lines retrieved. The server may return fewer than the specified limit, even if more results are available. If no limit was specified in the request, this defaults to 200. | Each trust line object has some combination of the following fields: @@ -427,8 +428,8 @@ Each trust line object has some combination of the following fields: | `account` | String | The unique [Address][] of the counterparty to this trust line. | | `balance` | String | Representation of the numeric balance currently held against this line. A positive balance means that the perspective account holds value; a negative balance means that the perspective account owes value. | | `currency` | String | A [Currency Code][] identifying what currency this trust line can hold. | -| `limit` | String | The maximum amount of the given currency that this account is willing to owe the peer account | -| `limit_peer` | String | The maximum amount of currency that the counterparty account is willing to owe the perspective account | +| `limit` | String | The maximum amount of the given currency that this account is willing to owe the peer account. | +| `limit_peer` | String | The maximum amount of currency that the counterparty account is willing to owe the perspective account. | | `quality_in` | Unsigned Integer | Rate at which the account values incoming balances on this trust line, as a ratio of this value per 1 billion units. (For example, a value of 500 million represents a 0.5:1 ratio.) As a special case, 0 is treated as a 1:1 ratio. | | `quality_out` | Unsigned Integer | Rate at which the account values outgoing balances on this trust line, as a ratio of this value per 1 billion units. (For example, a value of 500 million represents a 0.5:1 ratio.) As a special case, 0 is treated as a 1:1 ratio. | | `no_ripple` | Boolean | _(May be omitted)_ If `true`, this account has enabled the [No Ripple flag](../../../../concepts/tokens/fungible-tokens/rippling.md) for this trust line. If present and `false`, this account has disabled the No Ripple flag, but, because the account also has the Default Ripple flag disabled, that is not considered [the default state](../../../protocol/ledger-data/ledger-entry-types/ripplestate.md#contributing-to-the-owner-reserve). If omitted, the account has the No Ripple flag disabled for this trust line and Default Ripple enabled. {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.7.0" %}Updated in: rippled 1.7.0{% /badge %} | diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md index 948d878908..538fb997bc 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_nfts.md @@ -44,7 +44,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#account_nfts) +{% try-it method="account_nfts" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md index 8a7896221d..0f458195e5 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects.md @@ -72,6 +72,8 @@ rippled account_objects r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 validated {% /tabs %} +{% try-it method="account_objects" /%} + The request includes the following parameters: | `Field` | Type | Required? | Description | diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md index 506b0f6039..19d23f84ac 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_offers.md @@ -49,7 +49,7 @@ rippled account_offers rpP2JgiMyTF5jR5hLG3xHCPi1knBb1v9cM current {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#account_offers) +{% try-it method="account_offers" /%} A request can include the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md index b6b69f5635..78481c5ce6 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/account_tx.md @@ -63,7 +63,7 @@ rippled -- account_tx rLNaPoKeeBjZe2qs6x52yVPZpZ8td4dc6w -1 -1 2 0 binary descen {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#account_tx) +{% try-it method="account_tx" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md index 8833de03ff..0bb1252818 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/gateway_balances.md @@ -61,6 +61,8 @@ rippled json gateway_balances ' {"account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q" {% /tabs %} +{% try-it method="gateway_balances" /%} + The request includes the following parameters: | `Field` | Type | Description | diff --git a/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md b/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md index b0ac9948f9..3c87c9b7be 100644 --- a/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md +++ b/docs/references/http-websocket-apis/public-api-methods/account-methods/noripple_check.md @@ -52,6 +52,8 @@ An example of the request format: {% /tabs %} +{% try-it method="noripple_check" /%} + The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/index.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/index.md new file mode 100644 index 0000000000..ec46932c8f --- /dev/null +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/index.md @@ -0,0 +1,9 @@ +--- +metadata: + indexPage: true +--- +# Clio Methods + +These API methods are provided only by the Clio server, not `rippled`. + +{% child-pages /%} diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md index a597732cf9..b966026935 100644 --- a/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md @@ -28,7 +28,7 @@ An example of the request format: {% /tabs %} - +{% try-it method="ledger" server="s1" /%} The request can contain the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger_index.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger_index.md new file mode 100644 index 0000000000..f51b231018 --- /dev/null +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger_index.md @@ -0,0 +1,88 @@ +--- +seo: + description: Look up a ledger by its close time. +labels: + - Blockchain +--- +# ledger_index +[[Source]](https://github.com/XRPLF/clio/blob/develop/src/rpc/handlers/LedgerIndex.cpp "Source") + +The `ledger_index` command looks up information about the last closed ledger at a given real-world time. This may be useful for correlating events that happened off-chain with historical data in the XRP Ledger. {% badge href="https://github.com/XRPLF/clio/releases/tag/2.3.0" date="TBD" %}New in: Clio v2.3.0{% /badge %} + +This method is only available from the Clio server, not `rippled`. + +## Request Format +An example of the request format: + +{% tabs %} + +{% tab label="WebSocket" %} +```json +{ + "id": "example_ledger_index", + "command": "ledger_index", + "date": "2024-08-28T22:59:00Z" +} +``` +{% /tab %} + +{% tab label="JSON-RPC" %} +```json +{ + "method": "ledger_index", + "params": [ + { + "date": "2024-08-28T22:59:00Z" + } + ] +} +``` +{% /tab %} + +{% /tabs %} + +{% try-it method="ledger_index" /%} + +The request can contain the following parameters: + +| `Field` | Type | Required? | Description | +|:--------|:-------|:----------|-------------| +| `date` | String | No | An ISO 8601 timestamp of the time to look up. Must be formatted without microseconds, and using `Z` as the time zone marker. For example, `2024-08-28T22:59:00Z`. If omitted, use the current time. | + +## Response Format + +An example of a successful response: + +{% tabs %} + +{% tab label="WebSocket" %} +{% code-snippet file="/_api-examples/ledger_index/ws-response.json" language="json" /%} +{% /tab %} + +{% tab label="JSON-RPC" %} +{% code-snippet file="/_api-examples/ledger_index/jsonrpc-response.json" language="json" prefix="200 OK\n\n" /%} +{% /tab %} + +{% /tabs %} + +The response follows the [standard format][], with a successful result containing information about the most recently closed ledger at the requested time, including the following fields: + +| Field | Type | Description | +|:---------------|:--------|:------------------------------------| +| `ledger_index` | Number | The [Ledger Index][] of the most recently closed ledger at the specified time. | +| `ledger_hash` | String | The identifying [Hash][] of the most recently closed ledger at the specified time. | +| `closed` | String | The official close time of the most recently closed ledger at the specified time. | +| `validated` | Boolean | If `true`, the ledger has been validated by the consensus process and is immutable. Otherwise, the contents of the ledger are not final and may change. | + +{% admonition type="info" name="Note" %} +Due to the rounding on ledger close times, there may be a difference of up to 10 seconds between the "official" close time of a ledger and the real-world clock time when the ledger was closed. For more details, see [Ledger Close Times](../../../../concepts/ledgers/ledger-close-times.md). +{% /admonition %} + +## Possible Errors + +* Any of the [universal error types][]. +* `invalidParams` - One or more fields are specified incorrectly, or one or more required fields are missing. + * For example, this can occur if the specified `date` included a microseconds component. +* `lgrNotFound` - The server does not have ledger history for the specified point in time. + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/mpt_holders.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/mpt_holders.md new file mode 100644 index 0000000000..9d60f3d212 --- /dev/null +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/mpt_holders.md @@ -0,0 +1,158 @@ +--- +blurb: Get the holders for a given `MPTokenIssuanceID` and ledger sequence. +labels: + - Accounts + - XRP +--- + +# mpt_holders + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +For a given `MPTokenIssuanceID` and ledger sequence, `mpt_holders` returns all holders of that MPT 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. + +## Request Format + +*Websocket* + +```json +{ + "command": "mpt_holders", + "mpt_issuance_id": "00070C4495F14B0E44F78A264E41713C64B5F89242540EE255534400000000000000", + "ledger_index": "validated" +} +``` + +*JSON-RPC* + +```json +{ + "method": "mpt_holders", + "params": [ + { + "mpt_issuance_id": "00070C4495F14B0E44F78A264E41713C64B5F89242540EE255534400000000000000", + "ledger_index": "validated" + } + ] +} +``` + + +The request contains the following parameters: + +| Field | Type | Required? | Description | +|:------------------|:---------------------|:----------|-------------| +| `mpt_issuance_id` | string | Yes | The `MPTokenIssuance` to query. | +| `ledger_index` | string or number (positive integer) | No | The ledger index of the max ledger to use, ora shortcut string to choose a ledger automatically. You must specify either ledger_index or ledger_hash. | +| `ledger_hash` | string | No | A 32-byte hex string for the ledger version to use. You must specify either ledger_index or ledger_hash. | +| `marker` | string | No | Used to continue your query where it left off in paginating. | +| `limit` | number (positive integer) | No | Specify a limit to the number of MPTs returned. | + +## Response Format + +```json +{ + "mpt_issuance_id": "000004C463C52827307480341125DA0577DEFC38405B0E3E", + "limit":50, + "ledger_index": 2, + "mptokens": [{ + "account": "rEiNkzogdHEzUxPfsri5XSMqtXUixf2Yx", + "flags": 0, + "mpt_amount": "20", + "mptoken_index": "36D91DEE5EFE4A93119A8B84C944A528F2B444329F3846E49FE921040DE17E65" + }, + { + "account": "rrnAZCqMahreZrKMcZU3t2DZ6yUndT4ubN", + "flags": 0, + "mpt_amount": "1", + "mptoken_index": "D137F2E5A5767A06CB7A8F060ADE442A30CFF95028E1AF4B8767E3A56877205A" + }], + "validated": true +} +``` + +### Response Fields + +The response follows the [standard format][], with the result containing the following fields: + +| Field | Type | Description | +|:-----------------------|:--------|:------------------------------------------| +| `mpt_issuance_id` | string | The `MPTokenIssuance` queried | +| `mptokens` | array | An array of mptokens. Includes all relevant fields in the underlying MPToken object. | +| `marker` | string | Used to continue querying where we left off when paginating. Omitted if there are no more entries after this result. | +| `limit` | number | The limit, as specfied in the request +| `ledger_index` | number | The index of the ledger used. | + +An `mptoken` object has the following parameters: + +| Field | Type | Description | +|:-----------------------|:--------|:------------------------------------------| +| `account` | string | The account address of the holder who owns the `MPToken`. | +| `flags` | number | The flags assigned to the`MPToken` object. | +| `mpt_amount` | string | Base 10-encoded amount of the holder's balance. | +| `mptoken_index` | string | Key of the `MPToken` object. | + +##### Example +Example of a `tx` response: + +```json +{ + "result": { + "Account": "rBT9cUqK6UvpvZhPFNQ2qpUTin8rDokBeL", + "AssetScale": 2, + "Fee": "10", + "Flags": 64, + "Sequence": 303, + "SigningPubKey": "ED39955DEA2D083C6CBE459951A0A84DB337925389ACA057645EE6E6BA99D4B2AE", + "TransactionType": "MPTokenIssuanceCreate", + "TxnSignature": "80D7B7409980BE9854F7217BB8E836C8A2A191E766F24B5EF2EA7609E1420AABE6A1FDB3038468679081A45563B4D0B49C08F4F70F64E41B578F288A208E4206", + "ctid": "C000013100000000", + "date": 760643692, + "hash": "E563D7942E3E4A79AD73EC12E9E4C44B7C9950DF7BF5FDB75FAD0F5CE0554DB3", + "inLedger": 305, + "ledger_index": 305, + "meta": { + "AffectedNodes": [...], + "TransactionIndex": 0, + "TransactionResult": "tesSUCCESS", + "mpt_issuance_id": "0000012F72A341F09A988CDAEA4FF5BE31F25B402C550ABE" + }, + "status": "success", + "validated": true + } +} +``` + +##### Object +An `mpt_issuance_id` field is provided in JSON MPTokenIssuance objects (not available for binary). The following APIs are impacted: `ledger_data` and `account_objects`. + +##### Example +Example of an `account_objects` response: + +```json +{ + "result": { + "account": "rBT9cUqK6UvpvZhPFNQ2qpUTin8rDokBeL", + "account_objects": [ + { + "AssetScale": 2, + "Flags": 64, + "Issuer": "rBT9cUqK6UvpvZhPFNQ2qpUTin8rDokBeL", + "LedgerEntryType": "MPTokenIssuance", + "OutstandingAmount": "100", + "OwnerNode": "0", + "PreviousTxnID": "BDC5ECA6B115C74BF4DA83E36325A2F55DF9E2C968A5CC15EB4D009D87D5C7CA", + "PreviousTxnLgrSeq": 308, + "Sequence": 303, + "index": "75EC6F2939ED6C5798A5F369A0221BC4F6DDC50F8614ECF72E3B976351057A63", + "mpt_issuance_id": "0000012F72A341F09A988CDAEA4FF5BE31F25B402C550ABE" + } + ], + "ledger_current_index": 309, + "status": "success", + "validated": false + } +} +``` + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md index ed3a0c50fd..4ada4b7fa0 100644 --- a/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md @@ -44,7 +44,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#nft_history) +{% try-it method="nft_history" /%} The request contains the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md index 9266be7385..b9731b0f6b 100644 --- a/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md @@ -41,7 +41,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#nft_info) +{% try-it method="nft_info" /%} The request contains the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/nfts_by_issuer.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/nfts_by_issuer.md index e8887b1f82..8215757099 100644 --- a/docs/references/http-websocket-apis/public-api-methods/clio-methods/nfts_by_issuer.md +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/nfts_by_issuer.md @@ -22,7 +22,7 @@ An example of the request format: } ``` -[Try it! >](/resources/dev-tools/websocket-api-tool#nfts_by_issuer) +{% try-it method="nfts_by_issuer" /%} The request contains the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md index 8c7ac78dce..64b23c4466 100644 --- a/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md @@ -7,12 +7,13 @@ labels: - Core Server --- # server_info + [[Source]](https://github.com/XRPLF/clio/blob/master/src/rpc/handlers/ServerInfo.cpp "Source") The `server_info` command asks the [Clio server](../../../../concepts/networks-and-servers/the-clio-server.md) for a human-readable version of various information about the Clio server being queried. For `rippled` servers, see [`server_info` (`rippled`)](../server-info-methods/server_info.md) instead. {% badge href="https://github.com/XRPLF/clio/releases/tag/1.0.0" %}New in: Clio v1.0.0{% /badge %} - ## Request Format + An example of the request format: {% tabs %} @@ -39,7 +40,7 @@ An example of the request format: {% /tabs %} - +{% try-it method="server_info" server="s1" /%} The request does not take any parameters. @@ -569,12 +570,7 @@ The `info` object may have some arrangement of the following fields: |:------------------------------------|:----------------|:---------------------| | `complete_ledgers` | String | Range expression indicating the sequence numbers of the ledger versions the local `rippled` has in its database. This may be a disjoint sequence such as `24900901-24900984,24901116-24901158`. If the server does not have any complete ledgers (for example, it recently started syncing with the network), this is the string `empty`. | | `counters` | Object | _(May be omitted)_ Stats on API calls handled since server startup. This is present only if the client connects to the Clio server over `localhost`. -| `rpc` | Object | _(May be omitted)_ Stats on each API call handled by the Clio server since startup. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. | -| `rpc.*.started` | Number | Number of API calls of this type that the Clio server has started processing since startup. | -| `rpc.*.finished` | Number | Number of API calls of this type that the Clio server has finished processing since startup. | -| `rpc.*.errored` | Number | Number of API calls of this type that have resulted in some sort of error since startup. | -| `rpc.*.forwarded` | Number | Number of API calls of this type that the Clio server has forwarded to a `rippled` P2P server since startup. | -| `rpc.*.duration_us` | Number | The total number of microseconds spent processing API calls of this type since startup. | +| `rpc` | Object | _(May be omitted)_ Stats on each API call handled by the Clio server since startup. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. The rpc object is a map of API method names to [API Stats Objects](#api-stats-objects). | | `subscriptions` | Object | _(May be omitted)_ Number of current subscribers for each stream type. Since this is nested within the `counters` object, this is also present only if the client connects to the Clio server over `localhost`. | | `subscriptions.ledger` | | | | `subscriptions.transactions` | | | @@ -619,6 +615,17 @@ The `info` object may have some arrangement of the following fields: | `validated` | Boolean | When true, this indicates that the response uses a ledger version that has been validated by consensus. In Clio, this is always true as Clio stores and returns validated ledger data. If a request was forwarded to `rippled` and the server returns current data, a missing or false value indicates that this ledger's data is not final. | | `status` | String | Returns the status of the API request: `success` when the request completes successfully. | +### API Stats Objects + +An API Stats object provides key metrics for every API call handled by the Clio server since startup. It includes the following fields: + +| `Field` | Type | Description | +| :------------ | :----- | :----------------------------------------------------------------------------------------------------------- | +| `started` | Number | Number of API calls of this type that the Clio server has started processing since startup. | +| `finished` | Number | Number of API calls of this type that the Clio server has finished processing since startup. | +| `errored` | Number | Number of API calls of this type that have resulted in some sort of error since startup. | +| `forwarded` | Number | Number of API calls of this type that the Clio server has forwarded to a `rippled` P2P server since startup. | +| `duration_us` | Number | The total number of microseconds spent processing API calls of this type since startup. | ## Possible Errors diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-methods/version.md b/docs/references/http-websocket-apis/public-api-methods/clio-methods/version.md index e1d20d75a1..b9b4eb5da5 100644 --- a/docs/references/http-websocket-apis/public-api-methods/clio-methods/version.md +++ b/docs/references/http-websocket-apis/public-api-methods/clio-methods/version.md @@ -36,7 +36,7 @@ An example of the request format: {% /tabs %} - +{% try-it method="version" /%} The request does not take any parameters. diff --git a/docs/references/http-websocket-apis/public-api-methods/clio-server/index.md b/docs/references/http-websocket-apis/public-api-methods/clio-server/index.md deleted file mode 100644 index ea1ad9a328..0000000000 --- a/docs/references/http-websocket-apis/public-api-methods/clio-server/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -html: clio-methods.html -parent: public-api-methods.html -metadata: - indexPage: true ---- -# Clio Server - -Use these methods to retrieve information using Clio server APIs. - - -{% child-pages /%} diff --git a/docs/references/http-websocket-apis/public-api-methods/index.md b/docs/references/http-websocket-apis/public-api-methods/index.md index 517a555d9f..fe8e4fc6c4 100644 --- a/docs/references/http-websocket-apis/public-api-methods/index.md +++ b/docs/references/http-websocket-apis/public-api-methods/index.md @@ -91,9 +91,10 @@ Use these methods to retrieve information about the current state of the `ripple * **[`fee`](server-info-methods/fee.md)** - Get information about transaction cost. * **[`server_info`](server-info-methods/server_info.md)** - Retrieve status of the server in human-readable format. * **[`server_state`](server-info-methods/server_state.md)** - Retrieve status of the server in machine-readable format. -- **[`manifest`](server-info-methods/manifest.md)** - Retrieve the latest ephemeral public key information about a known validator. +* **[`server_definitions`](server-info-methods/server_definitions.md)** - Retrieve a list of types and fields used for the XRPL's canonical binary format. +* **[`manifest`](server-info-methods/manifest.md)** - Retrieve the latest ephemeral public key information about a known validator. -## [Clio Methods](clio-server/index.md) +## [Clio Methods](clio-methods/index.md) Use these methods to retrieve information using Clio server APIs. diff --git a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md index 7180f05a60..56f708d56b 100644 --- a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md +++ b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger.md @@ -56,7 +56,7 @@ rippled ledger validated {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger) +{% try-it method="ledger" server="xrplcluster" /%} The request can contain the following parameters: @@ -105,7 +105,7 @@ The response follows the [standard format][], with a successful result containin | `ledger.close_time_resolution` | Number | Ledger close times are rounded to within this many seconds. | | `ledger.closed` | Boolean | Whether or not this ledger has been closed. | | `ledger.ledger_hash` | String | Unique identifying hash of the entire ledger. | -| `ledger.ledger_index` | String | The [Ledger Index][] of this ledger, as a quoted integer. | +| `ledger.ledger_index` | [API v1][]: String
      [API v2][]: Number | The [Ledger Index][] of this ledger. | | `ledger.parent_close_time` | Number | The time at which the previous ledger was closed. | | `ledger.parent_hash` | String | The unique identifying hash of the ledger that came immediately before this one, as hexadecimal. | | `ledger.total_coins` | String | Total number of XRP drops in the network, as a quoted integer. (This decreases as transaction costs destroy XRP.) | diff --git a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md index 1ea1b95122..01b489f67f 100644 --- a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md +++ b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_closed.md @@ -45,7 +45,7 @@ rippled ledger_closed {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_closed) +{% try-it method="ledger_closed" /%} This method accepts no parameters. diff --git a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md index 399090b7e6..546a92b417 100644 --- a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md +++ b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_current.md @@ -46,7 +46,7 @@ rippled ledger_current {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_current) +{% try-it method="ledger_current" /%} The request contains no parameters. diff --git a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md index 3a1b022b3e..86130d2950 100644 --- a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md +++ b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data.md @@ -48,6 +48,7 @@ An example of the request format: {% /tabs %} +{% try-it method="ledger_data" /%} A request can include the following fields: diff --git a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md index 4052e5048c..4051e9e111 100644 --- a/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md +++ b/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md @@ -49,6 +49,8 @@ In addition to the general fields above, you must specify *exactly 1* of the fol - [Get DepositPreauth Entry](#get-depositpreauth-object) - [Get Ticket Entry](#get-ticket-object) - [Get NFT Page](#get-nft-page) + - [Get MPT Issuance Object](#get-mpt-issuance-object) + - [Get MPToken Object](#get-mptoken-object) - [Response Format](#response-format) - [Possible Errors](#possible-errors) @@ -98,7 +100,7 @@ rippled json ledger_entry '{ "index": "7DB0788C020F02780A673DC74757F23823FA3014C {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-by-object-id) +{% try-it method="ledger_entry-by-object-id" /%} {% admonition type="success" name="Tip" %} You can use this type of request to get any singleton ledger entry, if it exists in the ledger data, because its ID is always the same. For example: @@ -155,7 +157,7 @@ rippled json ledger_entry '{ "account_root": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-accountroot) +{% try-it method="ledger_entry-accountroot" /%} @@ -223,7 +225,7 @@ rippled json ledger_entry '{ "amm": { "asset": { "currency": "XRP" }, "asset2": {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-amm) +{% try-it method="ledger_entry-amm" server="testnet" /%} ### Get Bridge Entry @@ -294,7 +296,7 @@ rippled json ledger_entry '{ "bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuq {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-bridge) +{% try-it method="ledger_entry-bridge" server="devnet" /%} ### Get Credential Entry @@ -346,7 +348,7 @@ rippled json ledger_entry '{ "credential": {"subject": "rsUiUMpnrgxQp24dJYZDhmV4 ``` @@ -403,7 +405,7 @@ rippled json ledger_entry '{ "directory": { "owner": "rf1BiGeXwwQoi8Z2ueFYTEXSwu {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-directorynode) +{% try-it method="ledger_entry-directorynode" /%} @@ -459,7 +461,7 @@ rippled json ledger_entry '{ "offer": { "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJY {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-offer) +{% try-it method="ledger_entry-offer" /%} ### Get Oracle Entry @@ -516,7 +518,7 @@ rippled json ledger_entry '{ "oracle": { "account": "rNZ9m6AP9K7z3EVg6GhPMx36V4Q {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-oracle) +{% try-it method="ledger_entry-oracle" server="devnet" /%} ### Get RippleState Entry @@ -575,7 +577,7 @@ rippled json ledger_entry '{ "ripple_state": { "accounts": ["rf1BiGeXwwQoi8Z2ueF {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-ripplestate) +{% try-it method="ledger_entry-ripplestate" /%} @@ -621,7 +623,7 @@ rippled json ledger_entry '{ "check": "C4A46CCD8F096E994C4B0DEAB6CE98E722FC17D79 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-check) +{% try-it method="ledger_entry-check" /%} @@ -675,7 +677,7 @@ rippled json ledger_entry '{ "escrow": { "owner": "rL4fPHi2FWGwRGRQSH7gBcxkuo2b9 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-escrow) +{% try-it method="ledger_entry-escrow" /%} @@ -721,7 +723,7 @@ rippled json ledger_entry '{ "payment_channel": "C7F634794B79DB40E87179A9D1BF05D {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-paychannel) +{% try-it method="ledger_entry-paychannel" /%} ### Get DepositPreauth Entry @@ -782,7 +784,7 @@ rippled json ledger_entry '{ "deposit_preauth": { "owner": "rf1BiGeXwwQoi8Z2ueFY {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-depositpreauth) +{% try-it method="ledger_entry-depositpreauth" /%} ### Get Ticket Entry @@ -835,7 +837,7 @@ rippled json ledger_entry '{ "ticket": { "account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJ {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-ticket) +{% try-it method="ledger_entry-ticket" /%} ### Get NFT Page @@ -879,7 +881,108 @@ rippled json ledger_entry '{ "nft_page": "255DD86DDF59D778081A06D02701E9B2C9F4F0 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ledger_entry-nft-page) +{% try-it method="ledger_entry-nft-page" /%} + +### Get MPT Issuance Object + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +Return an `MPTokenIssuance` object. + +| Field | Type | Description | +|:---------------|:-------|:----------------------| +| `mpt_issuance` | String | The 192-bit `MPTokenIssuanceID` that's associated with the MPTokenIssuance, as hexadecimal. | + +{% tabs %} + +{% tab label="WebSocket" %} +```json +{ + "id": "example_get_mpt_issuance", + "command": "ledger_entry", + "mpt_issuance": "000004C463C52827307480341125DA0577DEFC38405B0E3E", + "ledger_index": "validated" +} +``` +{% /tab %} + +{% tab label="JSON-RPC" %} +```json +{ + "method": "ledger_entry", + "params": [{ + "mpt_issuance": "000004C463C52827307480341125DA0577DEFC38405B0E3E", + "ledger_index": "validated" + }] +} +``` +{% /tab %} + +{% tab label="Commandline" %} +```sh +rippled json ledger_entry '{ "mpt_issuance": "000004C463C52827307480341125DA0577DEFC38405B0E3E", "ledger_index": "validated" }' +``` +{% /tab %} +{% /tabs %} + + + +### Get MPToken Object + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +Return an `MPToken` object. + +| Field | Type | Description | +|:--------------------------|:-----------------|:------------| +| `mptoken` | ️Object or String | If a string, interpret as ledger entry ID of the MPToken to retrieve. If an object, requires the sub-fields `account` and `mpt_issuance_id` to uniquely identify the MPToken. | +| `mptoken.mpt_issuance_id` | String | (Required if the `MPToken` is specified as an object) The 192-bit MPTokenIssuanceID that's associated with the MPTokenIssuance. | +| `mptoken.account` ️ | String | (Required if the `MPToken` is specified as an object) The account that owns the MPToken. | + +{% tabs %} + +{% tab label="WebSocket" %} +```json +{ + "id": "example_get_mpt_issuance", + "command": "ledger_entry", + "mptoken": { + "mpt_issuance_id": "000002DFA4D893CFBC4DC6AE877EB585F90A3B47528B958D", + "account":"r33kves44ksufkHSGg3M6GPPAsoVHEN8C1" + } +} +``` +{% /tab %} + +{% tab label="JSON-RPC" %} +```json +{ + "method": "ledger_entry", + "params": [ + { + "mptoken":{ + "mpt_issuance_id": "000002DFA4D893CFBC4DC6AE877EB585F90A3B47528B958D", + "account":"r33kves44ksufkHSGg3M6GPPAsoVHEN8C1" + } + } + ] +} +``` +{% /tab %} + +{% tab label="Commandline" %} +```sh +rippled json ledger_entry '{ "mptoken": {"mpt_issuance_id": "000002DFA4D893CFBC4DC6AE877EB585F90A3B47528B958D", "account":"r33kves44ksufkHSGg3M6GPPAsoVHEN8C1"} }' +``` +{% /tab %} +{% /tabs %} + + + ## Response Format diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md index a2b5591df1..0916b98bd3 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/amm_info.md @@ -11,7 +11,7 @@ labels: # amm_info [[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/AMMInfo.cpp "Source") -The {% code-page-name /%} method gets information about an Automated Market Maker (AMM) instance. +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][])_ @@ -58,7 +58,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.altnet.rippletest.net%3A51233%2F#amm_info) +{% try-it method="amm_info" server="testnet" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md index 524a6d8e84..d1511a0121 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_changes.md @@ -46,7 +46,7 @@ rippled book_changes 88530953 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#book_changes) +{% try-it method="book_changes" /%} The request includes the following parameters: @@ -55,17 +55,6 @@ The request includes the following parameters: | `ledger_hash` | [Hash][] | No | A 32-byte hex string for 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][]) | -{% admonition type="warning" name="Known Issues" %} -There are several known issue with this method in `rippled`. - -- You must specify the `ledger_index` or `ledger_hash` explicitly instead of using a default or a shortcut string. ([Issue #5034](https://github.com/XRPLF/rippled/issues/5034)) -- JSON-RPC API responses may be missing the `validated` field even when querying validated ledgers. ([#5035](https://github.com/XRPLF/rippled/issues/5035)) -- When querying a recently-closed ledger, a successful response may sometimes return a Ledger Request Object instead of the intended data. ([#5033](https://github.com/XRPLF/rippled/issues/5033)) -- When querying data from older ledgers, the server may take a long time (over 30 seconds) to respond. ([#5036](https://github.com/XRPLF/rippled/issues/5036)) - -These bugs do not apply to Clio servers. -{% /admonition %} - ## Response Format An example of a successful response: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md index f3d2b4f062..0606582b4d 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/book_offers.md @@ -65,7 +65,7 @@ rippled book_offers 'USD/rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B' 'EUR/rvYAfWj5gh67oV6 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#book_offers) +{% try-it method="book_offers" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md index 95222a4727..c896ba703d 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/get_aggregate_price.md @@ -87,9 +87,7 @@ An example of the request format: {% /tabs %} - -[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#get_aggregate_price) - +{% try-it method="get_aggregate_price" server="devnet" /%} The request contains the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md index 30aa85ee02..32ce41ff97 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_buy_offers.md @@ -44,7 +44,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#nft_buy_offers) +{% try-it method="nft_buy_offers" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md index fc899ba85f..fc73d24976 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/nft_sell_offers.md @@ -45,7 +45,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#nft_sell_offers) +{% try-it method="nft_sell_offers" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md index 1a83e0899e..8c8c23f346 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/path_find.md @@ -51,7 +51,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#path_find) +{% try-it method="path_find" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md index bd885e8602..375c44a388 100644 --- a/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md +++ b/docs/references/http-websocket-apis/public-api-methods/path-and-order-book-methods/ripple_path_find.md @@ -81,7 +81,7 @@ rippled ripple_path_find '{"source_account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ripple_path_find) +{% try-it method="ripple_path_find" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md index ee357629d8..b36c6059cb 100644 --- a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md +++ b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/fee.md @@ -45,6 +45,8 @@ rippled fee {% /tabs %} +{% try-it method="fee" /%} + The request does not include any parameters. ## Response Format diff --git a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md index 29a1a59a46..5b741d5324 100644 --- a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md +++ b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest.md @@ -47,6 +47,8 @@ rippled {% $frontmatter.seo.title %} nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsf {% /tabs %} +{% try-it method="manifest" /%} + The request includes the following parameters: | `Field` | Type | Description | diff --git a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md index 2e05ddd31b..94a12e04ec 100644 --- a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md +++ b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md @@ -37,7 +37,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#server_definitions) +{% try-it method="server_definitions" /%} The request does not take any parameters. diff --git a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md index f13bf042f1..94fc1a6dd1 100644 --- a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md +++ b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_info.md @@ -47,7 +47,7 @@ rippled server_info {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#server_info) +{% try-it method="server_info" server="xrplcluster" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md index 5ce9eb2b8e..3e5fd8465d 100644 --- a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md +++ b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md @@ -49,7 +49,7 @@ rippled server_state {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#server_state) +{% try-it method="server_state" server="xrplcluster" /%} The request does not takes any parameters. diff --git a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version.md b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version.md index e1277840d9..d7e1d9de86 100644 --- a/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version.md +++ b/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version.md @@ -44,7 +44,7 @@ rippled version {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#version) +{% try-it method="version" /%} The request does not takes any parameters. diff --git a/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md b/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md index e6dcf7b4ab..c4548185de 100644 --- a/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md +++ b/docs/references/http-websocket-apis/public-api-methods/subscription-methods/subscribe.md @@ -62,7 +62,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#subscribe) +{% try-it method="subscribe" /%} The request includes the following parameters: @@ -183,8 +183,6 @@ The fields from a ledger stream message are as follows: ## Validations Stream -{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.29.0" %}New in: rippled 0.29.0{% /badge %} - The validations stream sends messages whenever it receives validation messages, also called validation votes, regardless of whether or not the validation message is from a trusted validator. The message looks like the following: ```json diff --git a/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md b/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md index e443ac4b35..0b0a7eafd8 100644 --- a/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md +++ b/docs/references/http-websocket-apis/public-api-methods/subscription-methods/unsubscribe.md @@ -46,7 +46,7 @@ An example of the request format: {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#unsubscribe) +{% try-it method="unsubscribe" /%} The parameters in the request are specified almost exactly like the parameters to the [subscribe method][], except that they are used to define which subscriptions to end instead. The parameters are: diff --git a/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md b/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md index 06a11525a4..0a0aaf7aed 100644 --- a/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md +++ b/docs/references/http-websocket-apis/public-api-methods/transaction-methods/submit.md @@ -64,7 +64,7 @@ submit 1200002280000000240000000361D4838D7EA4C6800000000000000000000000000055534 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#submit) +{% try-it method="submit" /%} ## Sign-and-Submit Mode @@ -159,7 +159,7 @@ rippled submit s█████████████████████ {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#submit) +{% try-it method="submit" /%} ## Response Format diff --git a/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md b/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md index d197d2eb04..6c8e94bf3a 100644 --- a/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md +++ b/docs/references/http-websocket-apis/public-api-methods/transaction-methods/transaction_entry.md @@ -51,7 +51,7 @@ rippled transaction_entry C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444 {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#transaction_entry) +{% try-it method="transaction_entry" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md b/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md index 017ecab4e9..a5835af244 100644 --- a/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md +++ b/docs/references/http-websocket-apis/public-api-methods/transaction-methods/tx.md @@ -82,7 +82,7 @@ rippled tx C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9 fals {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#tx) +{% try-it method="tx" /%} The request includes the following parameters: diff --git a/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md b/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md index 794582d2ea..c790915926 100644 --- a/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md +++ b/docs/references/http-websocket-apis/public-api-methods/utility-methods/ping.md @@ -45,7 +45,7 @@ rippled ping {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool#ping) +{% try-it method="ping" /%} The request includes no parameters. diff --git a/docs/references/protocol/binary-format.md b/docs/references/protocol/binary-format.md index 5a80b58bee..051b3eb15f 100644 --- a/docs/references/protocol/binary-format.md +++ b/docs/references/protocol/binary-format.md @@ -155,17 +155,17 @@ All fields in a transaction are sorted in a specific order based first on the fi ### Type Codes -Each field type has an arbitrary type code, with lower codes sorting first. These codes are defined in [`SField.h`](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/SField.h#L57-L74). +Each field type has an arbitrary type code, with lower codes sorting first. These codes are defined in [`SField.h`](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/SField.h#L60-L98). -For example, [UInt32 has type code 2](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/SField.h#L59), so all UInt32 fields come before all [Amount fields, which have type code 6](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/SField.h#L63). +For example, [UInt32 has type code 2](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/SField.h#L67), so all UInt32 fields come before all [Amount fields, which have type code 6](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/SField.h#L71). The [definitions file](#definitions-file) lists the type codes for each type in the `TYPES` map. ### Field Codes -Each field has a field code, which is used to sort fields that have the same type as one another, with lower codes sorting first. These fields are defined in [`SField.cpp`](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L72-L266). +Each field has a field code, which is used to sort fields that have the same type as one another, with lower codes sorting first. These fields are defined in [`sfields.macro`](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/detail/sfields.macro). -For example, the `Account` field of a [Payment transaction][] [has sort code 1](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L219), so it comes before the `Destination` field which [has sort code 3](https://github.com/XRPLF/rippled/blob/72e6005f562a8f0818bc94803d222ac9345e1e40/src/ripple/protocol/impl/SField.cpp#L221). +For example, the `Account` field of a [Payment transaction][] [has sort code 1](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/detail/sfields.macro#L269), so it comes before the `Destination` field which [has sort code 3](https://github.com/XRPLF/rippled/blob/master/include/xrpl/protocol/detail/sfields.macro#L271). Field codes are reused for fields of different field types, but fields of the same type never have the same field code. When you combine the type code with the field code, you get the field's unique [Field ID](#field-ids). diff --git a/docs/references/protocol/data-types/currency-formats.md b/docs/references/protocol/data-types/currency-formats.md index 3c032d214b..7082493d44 100644 --- a/docs/references/protocol/data-types/currency-formats.md +++ b/docs/references/protocol/data-types/currency-formats.md @@ -130,6 +130,9 @@ At the protocol level, this format is [serialized](../binary-format.md#currency- ### Nonstandard Currency Codes -You can also use a 160-bit (40-character) hexadecimal string such as `015841551A748AD2C1F76FF6ECB0CCCD00000000` as the currency code. To prevent this from being treated as a "standard" currency code, the first 8 bits MUST NOT be `0x00`. +You can also use a 160-bit (40-character) hexadecimal string, such as `444F4C4C415259444F4F00000000000000000000` as the currency code. To prevent this from being treated as a "standard" currency code, the first 8 bits MUST NOT be `0x00`. When using or reading a nonstandard currency code, consider the following: -**Deprecated:** Some previous versions of [ripple-lib](https://github.com/XRPLF/xrpl.js) supported an "interest-bearing" or "demurraging" currency code type. These codes have the first 8 bits `0x01`. Demurraging / interest-bearing currencies are no longer supported, but you may find them in ledger data. For more information, see [Demurrage](../../../concepts/tokens/fungible-tokens/demurrage.md). +- Most interfaces that read currency codes translate them into ASCII when the currency code is nonstandard. +- Not all hexadecimal strings have a direct, human-readable format. See: [Normalize Currency Codes](https://github.com/XRPLF/xrpl-dev-portal/tree/master/_code-samples/normalize-currency-codes). + +**Deprecated:** Some previous versions of [ripple-lib](https://github.com/XRPLF/xrpl.js) supported an "interest-bearing" or "demurraging" currency code type, such as `015841551A748AD2C1F76FF6ECB0CCCD00000000`. These codes have the first 8 bits `0x01`. Demurraging / interest-bearing currencies are no longer supported, but you may find them in ledger data. For more information, see [Demurrage](../../../concepts/tokens/fungible-tokens/demurrage.md). diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md b/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md index c9452077d6..9035c9405d 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md @@ -1,6 +1,4 @@ --- -html: accountroot.html -parent: ledger-entry-types.html seo: description: The settings, XRP balance, and other metadata for one account. labels: @@ -8,9 +6,9 @@ labels: - XRP --- # AccountRoot -[[Source]](https://github.com/XRPLF/rippled/blob/264280edd79b7f764536e02459f33f66a59c0531/src/ripple/protocol/impl/LedgerFormats.cpp#L36-L60 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L136-L158 "Source") -An `AccountRoot` ledger entry type describes a single [account](../../../../concepts/accounts/index.md), its settings, and XRP balance. +An `AccountRoot` ledger entry type describes a single [account](../../../../concepts/accounts/index.md), its settings, and XRP balance. You can create a new account by sending a [Payment transaction][] with enough XRP to a mathematically-valid address. ## Example {% $frontmatter.seo.title %} JSON diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md b/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md index 19dbd8f9aa..89bf252e24 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md @@ -1,13 +1,11 @@ --- -html: amendments-object.html #amendments.html is taken by the concept page -parent: ledger-entry-types.html seo: description: Singleton ledger entry with status of enabled and pending amendments. labels: - Blockchain --- # Amendments -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L138-L144 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L187-L192 "Source") The `Amendments` ledger entry type contains a list of [Amendments](../../../../concepts/networks-and-servers/amendments.md) that are currently active. Each ledger version contains **at most one** `Amendments` entry. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/amm.md b/docs/references/protocol/ledger-data/ledger-entry-types/amm.md index 708e5c49e5..91887f5e36 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/amm.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/amm.md @@ -1,18 +1,16 @@ --- -html: amm.html -parent: ledger-entry-types.html seo: description: The definition and details of an Automated Market Maker (AMM) instance. labels: - AMM --- # AMM -[[Source]](https://github.com/XRPLF/rippled/blob/89780c8e4fd4d140fcb912cf2d0c01c1b260539e/src/ripple/protocol/impl/LedgerFormats.cpp#L272-L284 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L369-L380 "Source") + +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][])_ -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). - ## Example AMM JSON diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/bridge.md b/docs/references/protocol/ledger-data/ledger-entry-types/bridge.md index 84e76f90cf..74456f234b 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/bridge.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/bridge.md @@ -1,6 +1,4 @@ --- -html: bridge.html -parent: ledger-entry-types.html seo: description: A `bridge` object represents a single cross-chain bridge that connects and enables value to move efficiently between two blockchains. labels: @@ -8,13 +6,12 @@ labels: status: not_enabled --- # Bridge +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L212-L223 "Source") + +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 /%})_ -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L286-L300 "Source") - -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. - - ## Example Bridge JSON ```json diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/check.md b/docs/references/protocol/ledger-data/ledger-entry-types/check.md index d1b7a26595..0042ac338d 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/check.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/check.md @@ -1,18 +1,16 @@ --- -html: check.html -parent: ledger-entry-types.html seo: description: A check that can be redeemed for money by its destination. labels: - Checks --- # Check -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L157-L170 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L50-L63 "Source") + +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][].)_ -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. - ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/credential.md b/docs/references/protocol/ledger-data/ledger-entry-types/credential.md index 406e1ad8cb..00431bb301 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/credential.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/credential.md @@ -1,11 +1,14 @@ --- seo: description: An attestation about a subject account from a credential issuer account, which can be used to preauthorize payments. +status: not_enabled --- # Credential 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 /%})_ + ## Example Credential JSON ```json @@ -36,7 +39,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `Issuer` | String - [Address][] | AccountID | Yes | The account that issued this credential. | | `IssuerNode` | String | UInt64 | Yes | A hint indicating which page of the issuer's directory links to this entry, in case the directory consists of multiple pages. | | `PreviousTxnID` | String - [Hash][] | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | -| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains 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 entry. | | `Subject` | String - [Address][] | AccountID | Yes | The account that this credential is for. | | `SubjectNode` | String | UInt64 | Yes | A hint indicating which page of the subject's owner directory links to this entry, in case the directory consists of multiple pages. | | `URI` | String - Hexadecimal | Blob | No | Arbitrary additional data about the credential, for example a URL where a W3C-formatted Verifiable Credential can be retrieved. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md b/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md index 1040f414ff..eba9325cbd 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md @@ -1,15 +1,13 @@ --- -html: depositpreauth-object.html #depositpreauth.html is taken by the tx type -parent: ledger-entry-types.html seo: description: A record of preauthorization for sending payments to an account that requires authorization. labels: - Security --- # DepositPreauth -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L172-L178 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L246-L253 "Source") -A `DepositPreauth` entry tracks a preauthorization from one account. You can always create a preauthorization by sending a [DepositPreauth transaction][], but it has no effect unless you are using [Deposit Authorization](../../../../concepts/accounts/depositauth.md). +A `DepositPreauth` entry tracks a preauthorization from one account. You can create a preauthorization by sending a [DepositPreauth transaction][], but it has no effect unless you are using [Deposit Authorization](../../../../concepts/accounts/depositauth.md). A preauthorization allows specific others to send money directly to you even if you have Deposit Authorization enabled. Preauthorizations are one-directional, and have no effect on payments going the opposite direction. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/did.md b/docs/references/protocol/ledger-data/ledger-entry-types/did.md index 3c527627f4..3dfde91db5 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/did.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/did.md @@ -1,18 +1,15 @@ --- -html: did.html -parent: ledger-entry-types.html seo: description: The definition and details of a Decentralized Identifier (DID). labels: - DID --- # DID -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L330-L341 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L69-L77 "Source") -_(Requires the [DID amendment][])_ - -A `DID` ledger entry holds references to, or data associated with, a single [DID](../../../../concepts/decentralized-storage/decentralized-identifiers.md). +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][])_ ## Example DID JSON diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md b/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md index 6eeca01230..58bf047239 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md @@ -6,7 +6,7 @@ labels: - Decentralized Exchange --- # DirectoryNode -[[Source]](https://github.com/XRPLF/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L44 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L165-L179 "Source") The `DirectoryNode` ledger entry type provides a list of links to other entries in the ledger's state data. A single conceptual _Directory_ takes the form of a doubly linked list, with one or more DirectoryNode entries each containing up to 32 [IDs of other entries](../common-fields.md). The first DirectoryNode entry is called the root of the directory, and all entries other than the root can be added or deleted as necessary. @@ -16,6 +16,8 @@ There are three kinds of directory: * _Offer directories_ list the offers available in the [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md). A single Offer directory contains all the offers that have the same exchange rate for the same token (currency code and issuer). * _NFT Offer directories_ list buy and sell offers for NFTs. Each NFT has up to two directories, one for buy offers, the other for sell offers. +All types of directories are automatically updated by the protocol as necessary. + ## Example {% $frontmatter.seo.title %} JSON {% tabs %} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md b/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md index 6e3c6b0f7a..7501e507c1 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md @@ -1,18 +1,16 @@ --- -html: escrow-object.html #escrow.html is taken by the concept page -parent: ledger-entry-types.html seo: description: Contains XRP held for a conditional payment. labels: - Escrow --- # Escrow -[[Source]](https://github.com/XRPLF/rippled/blob/c6b6d82a754fe449cc533e18659df483c10a5c98/src/ripple/protocol/impl/LedgerFormats.cpp#L90-L101 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L329-L342 "Source") + +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][].)_ -An `Escrow` ledger entry represents an [escrow](../../../../concepts/payment-types/escrow.md), which holds XRP until specific conditions are met. - ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md b/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md index 9c8667dc8d..416314fca3 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md @@ -1,13 +1,11 @@ --- -html: feesettings.html -parent: ledger-entry-types.html seo: description: Singleton object with consensus-approved base transaction cost and reserve requirements. labels: - Fees --- # FeeSettings -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L115-L120 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L297-L309 "Source") The `FeeSettings` entry contains the current base [transaction cost](../../../../concepts/transactions/transaction-cost.md) and [reserve amounts](../../../../concepts/accounts/reserves.md) as determined by [fee voting](../../../../concepts/consensus-protocol/fee-voting.md). Each ledger version contains **at most one** `FeeSettings` entry. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md b/docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md index ae5b5a43a1..074ab3f804 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md @@ -1,26 +1,24 @@ --- -html: ledgerhashes.html -parent: ledger-entry-types.html seo: description: Lists of prior ledger versions' hashes for history lookup. labels: - Blockchain --- # LedgerHashes -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L104-L108 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L202-L206 "Source") -(Not to be confused with the ["ledger hash" string data type][Hash], which uniquely identifies a ledger version. This section describes the `LedgerHashes` ledger object type.) +(Not to be confused with the ["ledger hash" string data type][Hash], which uniquely identifies a ledger version. This page describes the `LedgerHashes` ledger entry type.) -The `LedgerHashes` object type contains a history of prior ledgers that led up to this ledger version, in the form of their hashes. Objects of this ledger type are modified automatically when closing a ledger. (This is one of the only times a ledger's state data is modified without a [transaction](../../../../concepts/transactions/index.md) or [pseudo-transaction](../../transactions/pseudo-transaction-types/pseudo-transaction-types.md).) The `LedgerHashes` objects exist to make it possible to look up a previous ledger's hash with only the current ledger version and at most one lookup of a previous ledger version. +The `LedgerHashes` ledger entry type contains a history of prior ledgers that led up to this ledger version, in the form of their hashes. Entries of this type are modified automatically when closing a ledger. (This is one of the only times a ledger's state data is modified without a [transaction](../../../../concepts/transactions/index.md) or [pseudo-transaction](../../transactions/pseudo-transaction-types/pseudo-transaction-types.md).) The `LedgerHashes` entries exist to make it possible to look up a previous ledger's hash with only the current ledger version and at most one lookup of a previous ledger version. -There are two kinds of `LedgerHashes` object. Both types have the same fields. Each ledger version contains: +There are two kinds of `LedgerHashes` entry. Both types have the same fields. Each ledger version contains: -- Exactly one "recent history" `LedgerHashes` object -- A number of "previous history" `LedgerHashes` objects based on the current ledger index (that is, the length of the ledger history). Specifically, the XRP Ledger adds a new "previous history" object every 65536 ledger versions. +- Exactly one "recent history" `LedgerHashes` entry. +- A number of "previous history" `LedgerHashes` entries based on the current ledger index (that is, the length of the ledger history). Specifically, the XRP Ledger adds a new "previous history" object every 65536 ledger versions. {% admonition type="info" name="Note" %}As an exception, a new genesis ledger has no `LedgerHashes` objects at all, because it has no ledger history.{% /admonition %} -Example `LedgerHashes` object (trimmed for length): +Example `LedgerHashes` entry (trimmed for length): ```json { @@ -54,16 +52,16 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e ## Recent History LedgerHashes -There is exactly one `LedgerHashes` object of the "recent history" sub-type in every ledger after the genesis ledger. This object contains the identifying hashes of the most recent 256 ledger versions (or fewer, if the ledger history has less than 256 ledgers total) in the `Hashes` array. Whenever a new ledger is closed, part of the process of closing it involves updating the "recent history" object with the hash of the previous ledger version this ledger version is derived from (also known as this ledger version's _parent ledger_). When there are more than 256 hashes, the oldest one is removed. +There is exactly one `LedgerHashes` entry of the "recent history" sub-type in every ledger after the genesis ledger. This entry contains the identifying hashes of the most recent 256 ledger versions (or fewer, if the ledger history has less than 256 ledgers total) in the `Hashes` array. Whenever a new ledger is closed, part of the process of closing it involves updating the "recent history" entry with the hash of the previous ledger version this ledger version is derived from (also known as this ledger version's _parent ledger_). When there are more than 256 hashes, the oldest one is removed. -Using the "recent history" `LedgerHashes` object of a given ledger, you can get the hash of any ledger index within the 256 ledger versions before the given ledger version. +Using the "recent history" `LedgerHashes` entry of a given ledger, you can get the hash of any of the 256 ledger versions before it. ## Previous History LedgerHashes -The "previous history" `LedgerHashes` entries collectively contain the hash of every 256th ledger version (also called "flag ledgers") in the full history of the ledger. When the child of a flag ledger closes, the flag ledger's hash is added to the `Hashes` array of the newest "previous history" `LedgerHashes` object. Every 65536 ledgers, `rippled` creates a new `LedgerHashes` object, so that each "previous history" object has the hashes of 256 flag ledgers. +The "previous history" `LedgerHashes` entries collectively contain the hash of every 256th ledger version (also called "flag ledgers") in the full history of the ledger. When the child of a flag ledger closes, the flag ledger's hash is added to the `Hashes` array of the newest "previous history" `LedgerHashes` entry. Every 65536 ledgers, `rippled` creates a new `LedgerHashes` entry, so that each "previous history" entry has the hashes of 256 flag ledgers. -{% admonition type="info" name="Note" %}The oldest "previous history" `LedgerHashes` object contains only 255 entries because the genesis ledger has ledger index 1, not 0.{% /admonition %} +{% admonition type="info" name="Note" %}The oldest "previous history" `LedgerHashes` entry contains only 255 hashes because the genesis ledger has ledger index 1, not 0.{% /admonition %} The "previous history" `LedgerHashes` objects act as a [skip list](https://en.wikipedia.org/wiki/Skip_list) so you can get the hash of any historical flag ledger from its index. From there, you can use that flag ledger's "recent history" object to get the hash of any other ledger. @@ -76,15 +74,15 @@ There are no flags defined for {% code-page-name /%} entries. ## LedgerHashes ID Formats [[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/Indexes.cpp#L26-L42) -There are two formats for `LedgerHashes` object IDs, depending on whether the object is a "recent history" sub-type or a "previous history" sub-type. +There are two formats for `LedgerHashes` ledger entry IDs, depending on whether the entry is a "recent history" sub-type or a "previous history" sub-type. -The **"recent history"** `LedgerHashes` object has an ID that is the [SHA-512Half][] of the `LedgerHashes` space key (`0x0073`). In other words, the "recent history" always has the ID `B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B`. +The **"recent history"** `LedgerHashes` entry has an ID that is the [SHA-512Half][] of the `LedgerHashes` space key (`0x0073`). In other words, the "recent history" always has the ID `B4979A36CDC7F3D3D5C31A4EAE2AC7D7209DDA877588B9AFC66799692AB0D66B`. -The **"previous history"** `LedgerHashes` objects have an ID that is the [SHA-512Half][] of the following values, concatenated in order: +Each **"previous history"** `LedgerHashes` entry has an ID that is the [SHA-512Half][] of the following values, concatenated in order: - The `LedgerHashes` space key (`0x0073`) - The 32-bit [Ledger Index][] of a flag ledger in the object's `Hashes` array, divided by 65536. - {% admonition type="success" name="Tip" %}Dividing by 65536 keeps the most significant 16 bits, which are the same for all the flag ledgers listed in a "previous history" object, and only those ledgers. You can use this fact to look up the `LedgerHashes` object that contains the hash of any flag ledger.{% /admonition %} + {% admonition type="success" name="Tip" %}Dividing by 65536 keeps the most significant 16 bits, which are the same for all the flag ledgers listed in a "previous history" entry, and only those ledgers. You can use this fact to look up the `LedgerHashes` entry that contains the hash of any flag ledger.{% /admonition %} {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md b/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md new file mode 100644 index 0000000000..79e82175ca --- /dev/null +++ b/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md @@ -0,0 +1,60 @@ +--- +blurb: Describes the XRPL multi-purpose token object. +labels: + - Multi-purpose Tokens, MPTs, Tokens +--- +# MPToken + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +The `MPToken` object represents a number of tokens held by an account that is not the token issuer. MPTs are acquired via ordinary payment or DEX transactions, and can optionally be redeemed or exchanged using these same types of transactions. The object key of the MPToken is derived from hashing the space key, the holder's address, and the `MPTokenIssuanceID`. + + + +## Example MPToken JSON + +```json +{ + "LedgerEntryType": "MPToken", + "Account": "rajgkBmMxmz161r8bWYH7CQAFZP5bA9oSG", + "MPTokenIssuanceID": "000004C463C52827307480341125DA0577DEFC38405B0E3E", + "Flags": 0, + "MPTAmount": "100000000", + "OwnerNode": "1" +} +``` + +## MPTokenID + +The `MPTokenID` is the result of SHA512-Half of the following values, concatenated in order: + +- The `MPToken` space key (0x0074). +- The `MPTokenIssuanceID` for the issuance being held. +- The `AccountID` of the token holder. + +## MPToken Fields + +`MPToken` objects have the following fields. + +| Field Name | JSON Type | Internal Type | Description | +|:------------------|:----------|:--------------|:------------| +| `LedgerEntryType` | number | UInt16 | The value 0x007F, mapped to the string `MPToken`, indicates that this object describes an individual account's holding of an MPT. | +| `Account` | string | AccountID | The owner of the MPT. | +| `MPTokenIssuanceID` | string | UInt192 | The `MPTokenIssuance` identifier. | +| `MPTAmount` | string | UInt64 | This value specifies a positive amount of tokens currently held by the owner. Valid values for this field are between 0x0 and 0x7FFFFFFFFFFFFFFF. | +| `Flags` | number | UInt32 | (Default) See [MPToken Flags](#mptoken-flags) | +| `PreviousTxnID` | string | Hash256 | Transaction ID of the transaction that most recently modified this object. | +| `PreviousTxnLgrSeq` | number | UInt32 | The sequence of the ledger that contains the transaction that most recently modified this object. | +| `OwnerNode` | string | UInt64 | (Default) The page in the owner's directory where this item is referenced. | + +### MPToken Flags + +Flags are properties or other options associated with the `MPToken` object. + + +| Flag Name | Flag Value | Description | +|:------------------|:-----------|:--------------------------------------------| +| `lsfMPTLocked` | `0x00000001` | If enabled, indicates that the MPT owned by this account is currently locked and cannot be used in any XRP transactions other than sending value back to the issuer. | +| `lsfMPTAuthorized` | `0x00000002` | (Only applicable for allow-listing) If set, indicates that the issuer has authorized the holder for the MPT. This flag can be set using a `MPTokenAuthorize` transaction; it can also be "un-set" using a `MPTokenAuthorize` transaction specifying the `tfMPTUnauthorize` flag. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md b/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md new file mode 100644 index 0000000000..6afc33a8dc --- /dev/null +++ b/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md @@ -0,0 +1,93 @@ +--- +blurb: The `MPTokenIssuance` object represents a single MPT issuance and holds data associated with the issuance itself. +labels: + - Multi-purpose Tokens, MPTs, Tokens +--- +# MPTokenIssuance + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +The `MPTokenIssuance` object represents a single MPT issuance and holds data associated with the issuance itself. Token issuances are created using the `MPTokenIssuanceCreate` transaction and can be destroyed by the `MPTokenIssuanceDestroy` transaction. + + + +## Example MPTokenIssuance JSON + +```json +{ + "LedgerEntryType": "MPTokenIssuance", + "Flags": 131072, + "Issuer": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW", + "AssetScale": 2, + "MaximumAmount": "100000000", + "OutstandingAmount": "100", + "TransferFee": 50000, + "MPTokenMetadata": "{ + "name": "US Treasury Bill Token", + "symbol": "USTBT", + "issuer": "US Treasury", + "issueDate": "2024-03-25", + "maturityDate": "2025-03-25", + "faceValue": 1000, + "interestRate": 2.5, + "interestFrequency": "Quarterly", + "collateral": "US Government", + "jurisdiction": "United States", + "regulatoryCompliance": "SEC Regulations", + "securityType": "Treasury Bill", + "external_url": "https://example.com/t-bill-token-metadata.json" + }", + "OwnerNode": "74" +} +``` + +## MPTokenIssuanceID + + +The key of an `MPTokenIssuance` object is the result of SHA512-Half of the following values, concatenated in order: + +- The `MPTokenIssuance` space key (0x007E). +- The transaction sequence number. +- The `AccountID` of the issuer. + +The `MPTokenIssuanceID` is a 192-bit integer, concatenated in order: + +- The transaction sequence number. +- The AccountID of the issuer. + + +## MPTokenIssuance Fields + +`MPTokenIssuance` objects have the following fields. + +| Field Name | JSON Type | Internal Type | Description | +|:------------------|:----------|:--------------|:------------| +| `LedgerEntryType` | number | UInt16 | The value 0x007E, mapped to the string MPTokenIssuance, indicates that this object describes a Multi-Purpose Token (MPT). | +| `Flags` | number | UInt32 | See [MPTokenIssuance Flags](#mptokenissuance-flags) | +| `Issuer` | string | AccountID | The address of the account that controls both the issuance amounts and characteristics of a particular fungible token. | +| `AssetScale` | number | UInt8 | An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. If the fractional unit equals the standard unit, then the asset scale is 0. | +| `MaximumAmount` | string | UInt64 | This value is an unsigned number that specifies the maximum number of MPTs that can be distributed to non-issuing accounts (i.e., minted). For issuances that do not have a maximum limit, this value should be set to 0x7FFFFFFFFFFFFFFF. | +| `OutstandingAmount` | string | UInt64 | Specifies the sum of all token amounts that have been minted to all token holders. This value can be stored on ledger as a default type so that when its value is 0 it takes up less space on ledger. This value is increased whenever an issuer pays MPTs to a non-issuer account, and decreased whenever a non-issuer pays MPTs into the issuing account. | +| `TransferFee` | number | UInt16 | This value specifies the fee, in tenths of a basis point, charged by the issuer for secondary sales of the token, if such sales are allowed at all. Valid values for this field are between 0 and 50,000 inclusive. A value of 1 is equivalent to 1/10 of a basis point or 0.001%, allowing transfer rates between 0% and 50%. A `TransferFee` of 50,000 corresponds to 50%. The default value for this field is 0. Any decimals in the transfer fee are rounded down. The fee can be rounded down to zero if the payment is small. Issuers should make sure that their MPT's `AssetScale` is large enough. | +| `MPTokenMetadata` | string | Blob | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | +| `PreviousTxnID` | string | Hash256 | Transaction ID of the transaction that most recently modified this object. | +| `PreviousTxnLgrSeq` | number | UInt32 | The sequence of the ledger that contains the transaction that most recently modified this object. | +| `OwnerNode` | string | UInt64 | The page in the owner's directory where this item is referenced. | +| `Sequence` | number | UInt32 | A 32-bit unsigned integer that is used to ensure issuances from a given sender can only ever exist once, even if an issuance is later deleted. Whenever a new issuance is created, this value must match the account's current `Sequence` number. `Tickets` make some exceptions from these rules so that it is possible to send transactions out of the normal order. `Tickets` represent sequence numbers reserved for later use; a transaction can use a `Ticket` instead of a normal account Sequence number. Whenever a transaction to create an MPT is included in a ledger, it uses up a sequence number (or Ticket), regardless of whether the transaction executed successfully or failed with a tec-class error code. Other transaction failures don't get included in ledgers, so they don't change the sender's sequence number (or have any other effects). It is possible for multiple unconfirmed MPT-creation transactions to have the same Issuer and sequence number. Such transactions are mutually exclusive, and at most one of them can be included in a validated ledger. (Any others ultimately have no effect.) | + +### MPTokenIssuance Flags + +Flags are properties or other options associated with the `MPToken` object. Except for `lsfMPTLocked`, which can be mutated via `MPTokenIssuanceSet` transactions, these flags are immutable: they can only be set during the `MPTokenIssuanceCreate` transaction and cannot be changed later. + + +| Flag Name | Flag Value | Description | +|:--------------------|:-----------|:------------------------------------------------| +| `lsfMPTLocked` | `0x00000001` | If set, indicates that all balances are locked. | +| `lsfMPTCanLock` | `0x00000002` | If set, indicates that the issuer can lock an individual balance or all balances of this MPT. If not set, the MPT cannot be locked in any way. | +| `lsfMPTRequireAuth` | `0x00000004` | If set, indicates that individual holders must be authorized. This enables issuers to limit who can hold their assets. | +| `lsfMPTCanEscrow` | `0x00000008` | If set, indicates that individual holders can place their balances into an escrow. | +| `lsfMPTCanTrade` | `0x00000010` | If set, indicates that individual holders can trade their balances using the XRP Ledger DEX or AMM. | +| `lsfMPTCanTransfer` | `0x00000020` | If set, indicates that tokens held by non-issuers can be transferred to other accounts. If not set, indicates that tokens held by non-issuers cannot be transferred except back to the issuer; this enables use cases such as store credit. | +| `lsfMPTCanClawback` | `0x00000040` | If set, indicates that the issuer may use the `Clawback` transaction to claw back value from individual holders. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md b/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md index 7932757a56..8a20c49ad1 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md @@ -1,12 +1,11 @@ --- -html: negativeunl.html -parent: ledger-entry-types.html seo: description: List of validators currently believed to be offline. labels: - Blockchain --- # NegativeUNL +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L85-L91 "Source") _(Added by the [NegativeUNL amendment][].)_ @@ -42,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 | Hash256 | 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 | Hash256 | 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][].)_ | | `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. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md index e128ae69e2..7a6458c122 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md @@ -1,14 +1,13 @@ --- -html: nftokenoffer.html -parent: ledger-entry-types.html seo: description: Create offers to buy or sell NFTs. labels: - Non-fungible Tokens, NFTs --- # NFTokenOffer +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L34-L44 "Source") -An `NFTokenOffer` entry represents an offer to buy, sell or transfer an [NFT](../../../../concepts/tokens/nfts/index.md). +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][].)_ diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md index 2d4e19ec25..c5d8c1d0e9 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md @@ -1,14 +1,13 @@ --- -html: nftokenpage.html -parent: ledger-entry-types.html seo: description: Ledger structure for recording NFTokens. labels: - Non-fungible Tokens, NFTs --- # NFTokenPage +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L97-L103 "Source") -The `NFTokenPage` object 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. +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][].)_ @@ -92,14 +91,16 @@ Since each page can hold up to 32 entries, the _effective_ reserve cost per NFT Because of the way splitting and combining pages works, the actual number of `NFToken` objects per page is somewhat unpredictable and depends on the actual `NFTokenID` values involved. In practice, after minting or receiving a large number of NFTs, each page can have as few as 16 items, or as many as 32, with the typical case being around 24 `NFToken` objects per page. -Currently, the reserve per item is 2 XRP. The table below shows how much the **total owner reserve** is for various numbers of NFTs owned under various scenarios: +Currently, the reserve per item is {% $env.PUBLIC_OWNER_RESERVE %}. The table below shows how much the **total owner reserve** is for various numbers of NFTs owned under various scenarios: | NFTs Owned | Best Case | Typical | Worst Case | |:------------|:----------|:--------|:-----------| -| 32 or fewer | 2 XRP | 2 XRP | 2 XRP | -| 50 | 4 XRP | 6 XRP | 8 XRP | -| 200 | 14 XRP | 18 XRP | 26 XRP | -| 1000 | 64 XRP | 84 XRP | 126 XRP | +| 32 or fewer | 0.2 XRP | 0.2 XRP | 0.2 XRP | +| 50 | 0.4 XRP | 0.6 XRP | 0.8 XRP | +| 200 | 1.4 XRP | 1.8 XRP | 2.6 XRP | +| 1000 | 6.4 XRP | 8.4 XRP | 12.6 XRP | + + These numbers are estimates; the actual numbers may vary. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/offer.md b/docs/references/protocol/ledger-data/ledger-entry-types/offer.md index 04760704d7..af0a6fa952 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/offer.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/offer.md @@ -1,15 +1,13 @@ --- -html: offer.html -parent: ledger-entry-types.html seo: description: An order to make a currency trade. labels: - Decentralized Exchange --- # Offer -[[Source]](https://github.com/XRPLF/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L57 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L229-L240 "Source") -The `Offer` ledger entry describes an [Offer](../../../../concepts/tokens/decentralized-exchange/offers.md) to exchange currencies in the XRP Ledger's [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md). (In finance, this is more traditionally known as an _order_.) An [OfferCreate transaction][] only creates an `Offer` entry in the ledger when the Offer cannot be fully executed immediately by consuming other Offers already in the ledger. +An `Offer` ledger entry describes an [Offer](../../../../concepts/tokens/decentralized-exchange/offers.md) to exchange currencies in the XRP Ledger's [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md). (In finance, this is more traditionally known as an _order_.) You an create a new Offer entry by sending an [OfferCreate transaction][] that is not fully executed immediately. An Offer can become unfunded through other activities in the network, while remaining in the ledger. When processing transactions, the network automatically removes any unfunded Offers that those transactions come across. (Otherwise, unfunded Offers remain, because _only_ transactions can change the ledger state.) diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/oracle.md b/docs/references/protocol/ledger-data/ledger-entry-types/oracle.md index 344e6bd0c5..44325f5d17 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/oracle.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/oracle.md @@ -1,17 +1,15 @@ +--- +seo: + description: A ledger entry to publish price information about currency pairs. +labels: + - Decentralized Exchange +--- # Oracle +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L385-L395 "Source") -_(Requires the [PriceOracle amendment][])_ - -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L353-L366 "Source") - -An `Oracle` ledger entry holds data associated with a single price oracle object. - -{% admonition type="info" name="Note" %} - -A price oracle object can store information for up to 10 token pairs. - -{% /admonition %} +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][])_ ## Example Oracle JSON @@ -42,12 +40,12 @@ A price oracle object can store information for up to 10 token pairs. | Field | JSON Type | Internal Type | Required? | Description | |---------------------|-----------|---------------|-----------|-------------| -| `Owner` | String | AccountID | Yes | The XRPL account with update and delete privileges for the oracle. It's recommended to set up [multi-signing](../../../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md) on this account. | -| `Provider` | String | Blob | Yes | 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). | -| `PriceDataSeries` | Array | Array | Yes | An array of up to 10 `PriceData` objects, each representing the price information for a token pair. More than five `PriceData` objects require two owner reserves. | -| `LastUpdateTime` | Number | UInt32 | Yes | The time the data was last updated, represented in Unix time. | +| `Owner` | String | AccountID | Yes | The [account](../../../../concepts/accounts/index.md) with update and delete privileges for the oracle. It's recommended to set up [multi-signing](../../../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md) on this account. | +| `Provider` | String | Blob | Yes | 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`). | +| `PriceDataSeries` | Array | Array | Yes | An array of up to 10 `PriceData` objects, each representing the price information for an asset pair. More than five `PriceData` objects require two owner reserves. | +| `LastUpdateTime` | Number | UInt32 | Yes | The time the data was last updated, represented in Unix time. (**Note:** Unlike many other time values on the XRP Ledger, this value does not use the Ripple Epoch.) | | `URI` | String | Blob | No | An optional Universal Resource Identifier to reference price data off-chain. This field is limited to 256 bytes. | -| `AssetClass` | String | Blob | Yes | 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). | +| `AssetClass` | String | Blob | Yes | Arbitrary string to describe the type of asset, such as _currency_, _commodity_, or _index_. Must be formatted as hexadecimal representing ASCII characters (`0x20`-`0x7E`), maximum 16 bytes. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the oracle owner's owner directory links to this entry, in case the directory consists of multiple pages. | | `PreviousTxnID` | String | UInt256 | Yes | The hash of the previous transaction that modified this entry. | | `PreviousTxnLgrSeq` | String | UInt32 | Yes | The ledger index that this object was most recently modified or created in. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md b/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md index ea35782ba7..902a2fcd0d 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md @@ -1,19 +1,16 @@ --- -html: paychannel.html -parent: ledger-entry-types.html seo: description: A channel for asynchronous XRP payments. labels: - Payment Channels --- # PayChannel -[[Source]](https://github.com/XRPLF/rippled/blob/c0a0b79d2d483b318ce1d82e526bd53df83a4a2c/src/ripple/protocol/impl/LedgerFormats.cpp#L180-L198 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L348-L363 "Source") + +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][].)_ -A `PayChannel` entry represents a [payment channel](../../../../concepts/payment-types/payment-channels.md). - - ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md b/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md index 331cf3a76e..e352300d15 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md @@ -1,15 +1,13 @@ --- -html: ripplestate.html -parent: ledger-entry-types.html seo: description: This entry represents a trust line, tracking the net balance of tokens between them. labels: - Tokens --- # RippleState -[[Source]](https://github.com/XRPLF/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L70 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L277-L289 "Source") -A `RippleState` ledger entry represents a [trust line](../../../../concepts/tokens/fungible-tokens/index.md) between two accounts. Each account can change its own limit and other settings, but the balance is a single shared value. A trust line that is entirely in its default state is considered the same as a trust line that does not exist and is automatically deleted. +A `RippleState` ledger entry represents a [trust line](../../../../concepts/tokens/fungible-tokens/index.md) between two accounts. Each account can change its own limit and other settings, but the balance is a single shared value. A trust line that is entirely in its default state is considered the same as a trust line that does not exist and is automatically deleted. You can create or modify a trust line with a [TrustSet transaction][]. ## High vs. Low Account diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md b/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md index 91f009b629..642d5a44dd 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md @@ -1,19 +1,16 @@ --- -html: signerlist.html -parent: ledger-entry-types.html seo: description: A list of addresses for multi-signing transactions. labels: - Security --- # SignerList -[[Source]](https://github.com/XRPLF/rippled/blob/6d2e3da30696bd10e3bb11a5ff6d45d2c4dae90f/src/ripple/protocol/impl/LedgerFormats.cpp#L127 "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L111-L118 "Source") + +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][].)_ -A `SignerList` entry represents a list of parties that, as a group, are authorized to sign a transaction in place of an individual account. You can create, replace, or remove a signer list using a [SignerListSet transaction][]. - - ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md b/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md index 2d98f227de..d25a0e2c82 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md @@ -7,12 +7,12 @@ labels: - Transaction Sending --- # Ticket +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L124-L130 "Source") -[[Source]](https://github.com/XRPLF/rippled/blob/76a6956138c4ecd156c5c408f136ed3d6ab7d0c1/src/ripple/protocol/impl/LedgerFormats.cpp#L155-L164) +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][].)_ -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][]. ## Example {% $frontmatter.seo.title %} JSON diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md index 41f4e756bf..4a7dae0194 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md @@ -1,6 +1,4 @@ --- -html: xchainownedclaimid.html -parent: ledger-entry-types.html seo: description: An `XChainOwnedClaimID` object represents *one* cross-chain transfer of value. labels: @@ -8,16 +6,16 @@ labels: status: not_enabled --- # XChainOwnedClaimID +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L259-L269 "Source") + +An `XChainOwnedClaimID` entry represents *one* cross-chain transfer of value and includes information of the account on the source chain that locks or burns the funds on the source chain. + +The `XChainOwnedClaimID` entry must be acquired on the destination chain before submitting a `XChainCommit` on the source chain. Its purpose is to prevent transaction replay attacks. It is also used as a place to collect attestations from witness servers. + +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 /%})_ -[[Source]](https://github.com/seelabs/rippled/blob/xbridge/src/ripple/protocol/impl/LedgerFormats.cpp#L281-L293 "Source") - -An `XChainOwnedClaimID` object represents *one* cross-chain transfer of value and includes information of the account on the source chain that locks or burns the funds on the source chain. - -The `XChainOwnedClaimID` object must be acquired on the destination chain before submitting a `XChainCommit` on the source chain. Its purpose is to prevent transaction replay attacks and is also used as a place to collect attestations from witness servers. - -An `XChainCreateClaimID` transaction is used to create a new `XChainOwnedClaimID`. The ledger object is destroyed when the funds are successfully claimed on the destination chain. - ## Example XChainOwnedClaimID JSON diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md index 713fc09675..26f63f7dee 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md @@ -1,6 +1,4 @@ --- -html: xchainownedcreateaccountclaimid.html -parent: ledger-entry-types.html seo: description: The `XChainOwnedCreateAccountClaimID` ledger object is used to collect attestations for creating an account via a cross-chain transfer. labels: @@ -8,16 +6,16 @@ labels: status: not_enabled --- # XChainOwnedCreateAccountClaimID +[[Source]](https://github.com/XRPLF/rippled/blob/f64cf9187affd69650907d0d92e097eb29693945/include/xrpl/protocol/detail/ledger_entries.macro#L315-L323 "Source") + +An `XChainOwnedCreateAccountClaimID` ledger entry collects attestations for creating an account via a cross-chain transfer. + +You can create a new `XChainOwnedCreateAccountClaimID` entry by sending an [XChainAddAccountCreateAttestation transaction][] with a signed attestation of a relevant transaction occurring on another chain. + +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 /%})_ -[[Source]](https://github.com/seelabs/rippled/blob/xbridge/src/ripple/protocol/impl/LedgerFormats.cpp#L296-L306 "Source") - -The `XChainOwnedCreateAccountClaimID` ledger object is used to collect attestations for creating an account via a cross-chain transfer. - -It is created when an `XChainAddAccountCreateAttestation` transaction adds a signature attesting to a `XChainAccountCreateCommit` transaction and the `XChainAccountCreateCount` is greater than or equal to the current `XChainAccountClaimCount` on the `Bridge` ledger object. - -The ledger object is destroyed when all the attestations have been received and the funds have transferred to the new account. - ## Example XChainOwnedCreateAccountClaimID JSON diff --git a/docs/references/protocol/transactions/metadata.md b/docs/references/protocol/transactions/metadata.md index 9278f5152e..e1552289fb 100644 --- a/docs/references/protocol/transactions/metadata.md +++ b/docs/references/protocol/transactions/metadata.md @@ -254,7 +254,15 @@ Transactions (`tx` and `account_tx`) involving NFTs can contain the following fi | `nftoken_id` | String | Shows the `NFTokenID` for the `NFToken` that changed on the ledger as a result of the transaction. Only present if the transaction is `NFTokenMint` or `NFTokenAcceptOffer`. See [NFTokenID](../data-types/nftoken.md#nftokenid). | | `nftoken_ids` | Array | Shows all the `NFTokenIDs` for the `NFTokens` that changed on the ledger as a result of the transaction. Only present if the transaction is `NFTokenCancelOffer`. | | `offer_id` | String | Shows the `OfferID`of a new `NFTokenOffer` in a response from a `NFTokenCreateOffer` transaction. | +## MPT Fields +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +### 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`. + +### Transaction Metadata +An `mpt_issuance_id` field is provided in JSON transaction metadata (not available for binary) for all successful `MPTokenIssuanceCreate` transactions. The following APIs are impacted: `tx`, `account_tx`, `subscribe` and `ledger`. ## delivered_amount diff --git a/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md b/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md index 4b1d631a4c..3db16ac531 100644 --- a/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md +++ b/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md @@ -1,29 +1,19 @@ --- -html: enableamendment.html -parent: pseudo-transaction-types.html seo: description: Enable a change in transaction processing. labels: - Blockchain --- # EnableAmendment +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Change.cpp "Source") -An `EnableAmendment` pseudo-transaction marks a change in the status of a proposed amendment when it: +An `EnableAmendment` pseudo-transaction marks a change in the status of a proposed amendment. The possible status changes are: -- Gains supermajority approval from validators. -- Loses supermajority approval. -- Is enabled on the XRP Ledger protocol. +- The amendment gains supermajority approval from validators. +- The amendment loses supermajority approval. +- The amendment becomes enabled. - +{% admonition type="info" name="Note" %}You cannot send a pseudo-transaction, but you may find one when processing ledgers.{% /admonition %} ## Example {% $frontmatter.seo.title %} JSON @@ -41,7 +31,6 @@ A server only enables amendments when these conditions are met: {% partial file="/docs/_snippets/pseudo-tx-fields-intro.md" /%} - | Field | JSON Type | [Internal Type][] | Description | |:-----------------|:----------|:------------------|:--------------------------| diff --git a/docs/references/protocol/transactions/pseudo-transaction-types/setfee.md b/docs/references/protocol/transactions/pseudo-transaction-types/setfee.md index 49543b38a0..78d0d85231 100644 --- a/docs/references/protocol/transactions/pseudo-transaction-types/setfee.md +++ b/docs/references/protocol/transactions/pseudo-transaction-types/setfee.md @@ -1,12 +1,11 @@ --- -html: setfee.html -parent: pseudo-transaction-types.html seo: description: Change global reserve and transaction cost settings. labels: - Fees --- # SetFee +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Change.cpp "Source") A `SetFee` [pseudo-transaction](pseudo-transaction-types.md) marks a change in [transaction cost](../../../../concepts/transactions/transaction-cost.md) or [reserve requirements](../../../../concepts/accounts/reserves.md) as a result of [Fee Voting](../../../../concepts/consensus-protocol/fee-voting.md). @@ -14,6 +13,28 @@ A `SetFee` [pseudo-transaction](pseudo-transaction-types.md) marks a change in [ ## Example {% $frontmatter.seo.title %} JSON +This transaction has two formats, depending on whether the [XRPFees amendment][] was enabled at the time: + +{% tabs %} +{% tab label="Current Format" %} +```json +{ + "Account": "rrrrrrrrrrrrrrrrrrrrrhoLvTp", + "BaseFeeDrops": "10", + "Fee": "0", + "LedgerSequence": 92508417, + "ReserveBaseDrops": "1000000", + "ReserveIncrementDrops": "200000", + "Sequence": 0, + "SigningPubKey": "", + "TransactionType": "SetFee", + "date": 786494751, + "ledger_index": 92508417 +} +``` +{% /tab %} + +{% tab label="Legacy Format" %} ```json { "Account": "rrrrrrrrrrrrrrrrrrrrrhoLvTp", @@ -30,28 +51,35 @@ A `SetFee` [pseudo-transaction](pseudo-transaction-types.md) marks a change in [ "ledger_index": 3721729, } ``` +{% /tab %} +{% /tabs %} {% partial file="/docs/_snippets/pseudo-tx-fields-intro.md" /%} - -| Field | JSON Type | [Internal Type][] | Description | -|:--------------------|:-----------------|:------------------|:----------------| -| `BaseFee` | String | UInt64 | The charge, in drops of XRP, for the reference transaction, as hex. (This is the [transaction cost](../../../../concepts/transactions/transaction-cost.md) before scaling for load.) | -| `ReferenceFeeUnits` | Unsigned Integer | UInt32 | The cost, in fee units, of the reference transaction | -| `ReserveBase` | Unsigned Integer | UInt32 | The base reserve, in drops | -| `ReserveIncrement` | Unsigned Integer | UInt32 | The incremental reserve, in drops | -| `LedgerSequence` | Number | UInt32 | _(Omitted for some historical `SetFee` pseudo-transactions)_ The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. | +## {% $frontmatter.seo.title %} Fields +The fields of a SetFee pseudo-transaction depend on whether the [XRPFees amendment][] was enabled at the time. In addition to the [common fields](./pseudo-transaction-types.md), they can use the following: -If the _[XRPFees amendment][]_ is enabled, `SetFee` pseudo-transactions use these fields instead: - +{% tabs %} +{% tab label="Current Format" %} | Field | JSON Type | [Internal Type][] | Description | |:------------------------|:----------|:------------------|:----------------| | `BaseFeeDrops` | String | Amount | The charge, in drops of XRP, for the reference transaction. (This is the [transaction cost](../../../../concepts/transactions/transaction-cost.md) before scaling for load.) | -| `ReserveBaseDrops` | String | Amount | The base reserve, in drops | -| `ReserveIncrementDrops` | String | Amount | The incremental reserve, in drops | +| `ReserveBaseDrops` | String | Amount | The base reserve, in drops. | +| `ReserveIncrementDrops` | String | Amount | The incremental reserve, in drops. | | `LedgerSequence` | Number | UInt32 | _(Omitted for some historical `SetFee` pseudo-transactions)_ The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. | +{% /tab %} +{% tab label="Legacy Format" %} +| Field | JSON Type | [Internal Type][] | Description | +|:--------------------|:----------|:------------------|:----------------| +| `BaseFee` | String | UInt64 | The charge, in drops of XRP, for the reference transaction, as hex. (This is the [transaction cost](../../../../concepts/transactions/transaction-cost.md) before scaling for load.) | +| `ReferenceFeeUnits` | Number | UInt32 | The cost, in fee units, of the reference transaction. | +| `ReserveBase` | Number | UInt32 | The base reserve, in drops. | +| `ReserveIncrement` | Number | UInt32 | The incremental reserve, in drops | +| `LedgerSequence` | Number | UInt32 | _(Omitted for some historical `SetFee` pseudo-transactions)_ The index of the ledger version where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. | +{% /tab %} +{% /tabs %} {% raw-partial file="/docs/_snippets/setfee_uniqueness_note.md" /%} diff --git a/docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md b/docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md index d621506b11..4f92cec549 100644 --- a/docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md +++ b/docs/references/protocol/transactions/pseudo-transaction-types/unlmodify.md @@ -7,6 +7,7 @@ labels: - Blockchain --- # UNLModify +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Change.cpp "Source") _(Added by the [NegativeUNL amendment][].)_ diff --git a/docs/references/protocol/transactions/types/accountdelete.md b/docs/references/protocol/transactions/types/accountdelete.md index 792a88adff..08b9ee5721 100644 --- a/docs/references/protocol/transactions/types/accountdelete.md +++ b/docs/references/protocol/transactions/types/accountdelete.md @@ -1,6 +1,4 @@ --- -html: accountdelete.html -parent: transaction-types.html seo: description: Delete an account. labels: @@ -8,9 +6,9 @@ labels: --- # AccountDelete -[[Source]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/DeleteAccount.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteAccount.cpp "Source") -_Added by the [DeletableAccounts amendment](/resources/known-amendments.md#deletableaccounts)_ +_Added by the [DeletableAccounts amendment][]_ 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. @@ -22,13 +20,14 @@ An AccountDelete transaction deletes an [account](../../ledger-data/ledger-entry "Account": "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm", "Destination": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe", "DestinationTag": 13, - "Fee": "2000000", + "Fee": "200000", "Sequence": 2470665, "Flags": 2147483648 } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_AccountDelete%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%221AF19BF9717DA0B05A3BFC5007873E7743BA54C0311CCCCC60776AAEAC5C4635%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="1AF19BF9717DA0B05A3BFC5007873E7743BA54C0311CCCCC60776AAEAC5C4635" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} @@ -40,7 +39,7 @@ An AccountDelete transaction deletes an [account](../../ledger-data/ledger-entry ## Special Transaction Cost -As an additional deterrent against ledger spam, the AccountDelete transaction requires a much higher than usual [transaction cost](../../../../concepts/transactions/transaction-cost.md): instead of the standard minimum of 0.00001 XRP, AccountDelete must destroy at least the owner reserve amount, currently 2 XRP. This discourages excessive creation of new accounts because the [reserve requirement](../../../../concepts/accounts/reserves.md) cannot be fully recouped by deleting the account. +As an additional deterrent against ledger spam, the AccountDelete transaction requires a much higher than usual [transaction cost](../../../../concepts/transactions/transaction-cost.md): instead of the standard minimum of 0.00001 XRP, AccountDelete must destroy at least the owner reserve amount, currently {% $env.PUBLIC_OWNER_RESERVE %}. This discourages excessive creation of new accounts because the [reserve requirement](../../../../concepts/accounts/reserves.md) cannot be fully recouped by deleting the account. The transaction cost always applies when a transaction is included in a validated ledger, even if the transaction fails to delete the account. (See [Error Cases](#error-cases).) To greatly reduce the chances of paying the high transaction cost if the account cannot be deleted, [submit the transaction](../../../http-websocket-apis/public-api-methods/transaction-methods/submit.md) with `fail_hard` enabled. @@ -57,7 +56,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | `tecNO_DST` | Occurs if the `Destination` account is not a funded account in the ledger. | | `tecNO_PERMISSION` | Occurs if the `Destination` account requires [deposit authorization](../../../../concepts/accounts/depositauth.md) and the sender is not preauthorized. | | `tecTOO_SOON` | Occurs if the sender's `Sequence` number is too high. The transaction's `Sequence` number plus 256 must be less than the current [Ledger Index][]. This prevents replay of old transactions if this account is resurrected after it is deleted. | -| `tecHAS_OBLIGATIONS` | Occurs if the account to be deleted is connected to objects that cannot be deleted in the ledger. (This includes objects created by other accounts, such as [escrows](../../../../concepts/payment-types/escrow.md) and for example [NFT's minted](nftokenmint.md), [even if owned by another account](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/DeleteAccount.cpp#L197).) | +| `tecHAS_OBLIGATIONS` | Occurs if the account to be deleted is connected to objects that cannot be deleted in the ledger. (This includes objects created by other accounts, such as [escrows](../../../../concepts/payment-types/escrow.md) and for example [NFT's minted](nftokenmint.md), [even if owned by another account](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteAccount.cpp#L197).) | | `tefTOO_BIG` | Occurs if the sending account is linked to more than 1000 objects in the ledger. The transaction could succeed on retry if some of those objects were deleted separately first. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/accountset.md b/docs/references/protocol/transactions/types/accountset.md index 9451a27c21..5e44e143c4 100644 --- a/docs/references/protocol/transactions/types/accountset.md +++ b/docs/references/protocol/transactions/types/accountset.md @@ -1,6 +1,4 @@ --- -html: accountset.html -parent: transaction-types.html seo: description: Set options on an account. labels: @@ -8,7 +6,7 @@ labels: --- # AccountSet -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/SetAccount.cpp "Source") +[[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). @@ -26,7 +24,7 @@ An AccountSet transaction modifies the properties of an [account in the XRP Ledg } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_AccountSet%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22327FD263132A4D08170E1B01FE1BB2E21D0126CE58165C97A9173CA9551BCD70%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="327FD263132A4D08170E1B01FE1BB2E21D0126CE58165C97A9173CA9551BCD70" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/ammbid.md b/docs/references/protocol/transactions/types/ammbid.md index d2a5c7b4b1..386c100601 100644 --- a/docs/references/protocol/transactions/types/ammbid.md +++ b/docs/references/protocol/transactions/types/ammbid.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMBid -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMBid.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMBid.cpp "Source") _(Added by the [AMM amendment][])_ diff --git a/docs/references/protocol/transactions/types/ammclawback.md b/docs/references/protocol/transactions/types/ammclawback.md new file mode 100644 index 0000000000..a6f19a5409 --- /dev/null +++ b/docs/references/protocol/transactions/types/ammclawback.md @@ -0,0 +1,69 @@ +# AMMClawback + +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMClawback.cpp "Source") + +_(Added by the [AMMClawback amendment][])_ + +Claw back tokens from a holder who has deposited your issued tokens into an AMM pool. + +Clawback is disabled by default. To use clawback, you must send an [AccountSet transaction](https://xrpl.org/docs/references/protocol/transactions/types/accountset) 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. + + +## Example {% $frontmatter.seo.title %} JSON + +```json +{ + "TransactionType": "AMMClawback", + "Account": "rPdYxU9dNkbzC5Y2h4jLbVJ3rMRrk7WVRL", + "Holder": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "Asset": { + "currency" : "FOO", + "issuer" : "rPdYxU9dNkbzC5Y2h4jLbVJ3rMRrk7WVRL" + }, + "Asset2" : { + "currency" : "BAR", + "issuer" : "rHtptZx1yHf6Yv43s1RWffM3XnEYv3XhRg" + }, + "Amount": { + "currency" : "FOO", + "issuer" : "rPdYxU9dNkbzC5Y2h4jLbVJ3rMRrk7WVRL", + "value" : "1000" + } +} +``` + + +{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} + + +| Field | JSON Type | [Internal Type][] | Required | Description | +|:-------------------|:----------|:------------------|:---------|:------------------| +| `Account` | String | AccountID | Yes | The issuer of the asset being clawed back. Only the issuer can submit this transaction. | +| `Asset` | Object | STIssue | Yes | Specifies the asset that the issuer wants to claw back from the AMM pool. In JSON, this is an object with `currency` and `issuer` fields. The `issuer` field must match with `Account`. | +| `Asset2` | Object | STIssue | Yes | Specifies the other asset in the AMM's pool. In JSON, this is an object with `currency` and `issuer` fields (omit `issuer` for XRP). | +| `Amount` | [Currency Amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) | Amount | No | The maximum amount to claw back from the AMM account. The `currency` and `issuer` subfields should match the `Asset` subfields. If this field isn't specified, or the `value` subfield exceeds the holder's available tokens in the AMM, all of the holder's tokens are clawed back. | +| `Holder` | String | AccountID | Yes | The account holding the asset to be clawed back. | + + +## AMMClawback Flags + +| Flag Name | Hex Value | Decimal Value | Description | +|----------|------------|---------------|-------------| +| `tfClawTwoAssets` | `0x00000001` | 1 | Claw back the specified amount of `Asset`, and a corresponding amount of `Asset2` based on the AMM pool's asset proportion; both assets must be issued by the issuer in the `Account` field. If this flag isn't enabled, the issuer claws back the specified amount of `Asset`, while a corresponding proportion of `Asset2` goes back to the `Holder`. | + + +## Error Cases + +Besides errors that can occur for all transactions, `AMMClawback` transactions can result in the following [transaction result codes](https://xrpl.org/docs/references/protocol/transactions/transaction-results): + +| Error Code | Description | +|:-------------------|:------------| +| `tecNO_PERMISSION` | Occurs if you attempt to claw back tokens from an AMM without the `lsfAllowTrustlineClawback` flag enabled, or the `tfClawTwoAssets` flag is enabled when you didn't issue both assets in the AMM. Also occurs if the `Asset` issuer doesn't match `Account`. | +| `tecAMM_BALANCE` | Occurs if the `Holder` doesn't hold any LP tokens from the AMM pool. | +| `temDISABLED` | Occurs if the [AMMClawback amendment](#) is not enabled. | +| `temBAD_AMOUNT` | Occurs if the `Amount` field in the `AMMClawback` transaction is less than or equal to 0, or the `currency` and `issuer` subfields don't match between `Amount` and `Asset`. | +| `temINVALID_FLAG` | Occurs if you try enabling flags besides `tfClawTwoAssets`. | +| `temMALFORMED` | Occurs if the `issuer` subfield doesn't match between `Asset` and `Account`, `Account` is the same as the `Holder`, or `Asset` is XRP. | +| `terNO_AMM` | Occurs if the AMM pool specified by `Asset` and `Asset2` doesn't exist. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} \ No newline at end of file diff --git a/docs/references/protocol/transactions/types/ammcreate.md b/docs/references/protocol/transactions/types/ammcreate.md index e490091d3a..ea9ed1c41e 100644 --- a/docs/references/protocol/transactions/types/ammcreate.md +++ b/docs/references/protocol/transactions/types/ammcreate.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMCreate -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMCreate.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMCreate.cpp "Source") _(Added by the [AMM amendment][])_ @@ -44,11 +44,11 @@ Creates both an [AMM entry][] and a [special AccountRoot entry](../../ledger-dat | `Amount2` | [Currency Amount][] | Amount | Yes | The second of the two assets to fund this AMM with. This must be a positive amount. | | `TradingFee` | Number | UInt16 | Yes | The fee to charge for trades against this AMM instance, in units of 1/100,000; a value of 1 is equivalent to 0.001%. The maximum value is `1000`, indicating a 1% fee. The minimum value is `0`. | -One or both of `Amount` and `Amount2` can be [tokens](../../../../concepts/tokens/index.md); at most one of them can be [XRP](../../../../introduction/what-is-xrp.md). They cannot both have the same currency code and issuer. The tokens' issuers must have [Default Ripple](../../../../concepts/tokens/fungible-tokens/rippling.md#the-default-ripple-flag) enabled. If the [Clawback amendment][] is enabled, those issuers must not have enabled the Allow Clawback flag. The assets _cannot_ be LP tokens for another AMM. +One or both of `Amount` and `Amount2` can be [tokens](../../../../concepts/tokens/index.md); at most one of them can be [XRP](../../../../introduction/what-is-xrp.md). They cannot both have the same currency code and issuer. The tokens' issuers must have [Default Ripple](../../../../concepts/tokens/fungible-tokens/rippling.md#the-default-ripple-flag) enabled. The assets _cannot_ be LP tokens for another AMM. ## Special Transaction Cost -Since each AMM instance involves an AccountRoot ledger entry, an AMM ledger entry, and a trust line for each token in its pool, an AMMCreate transaction requires a much higher than usual [transaction cost][] to deter ledger spam. Instead of the standard minimum of 0.00001 XRP, AMMCreate must destroy at least the incremental owner reserve amount, currently 2 XRP. This is the same special transaction cost as [AccountDelete transactions][]. +Since each AMM instance involves an AccountRoot ledger entry, an AMM ledger entry, and a trust line for each token in its pool, an AMMCreate transaction requires a much higher than usual [transaction cost][] to deter ledger spam. Instead of the standard minimum of 0.00001 XRP, AMMCreate must destroy at least the incremental owner reserve amount, currently {% $env.PUBLIC_OWNER_RESERVE %}. This is the same special transaction cost as [AccountDelete transactions][]. ## Error Cases @@ -62,7 +62,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | `tecINSUF_RESERVE_LINE` | The sender of this transaction does meet the increased [reserve requirement](../../../../concepts/accounts/reserves.md) of processing this transaction, probably because they need a new trust line to hold the LP Tokens, and they don't have enough XRP to meet the additional owner reserve for a new trust line. | | `tecNO_AUTH` | At least one of the deposit assets uses [authorized trust lines](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) and the sender does not have authorization to hold that asset. | | `tecNO_LINE` | The sender does not have a trust line for at least one of the deposit assets. | -| `tecNO_PERMISSION` | At least one of the deposit assets cannot be used in an AMM. For example, the issuer has enabled Clawback support. | +| `tecNO_PERMISSION` | At least one of the deposit assets cannot be used in an AMM. | | `tecUNFUNDED_AMM` | The sender does not hold enough of the assets specified in `Amount` and `Amount2` to fund the AMM. | | `terNO_RIPPLE` | The issuer of at least one of the assets has not enabled the [Default Ripple flag](../../../../concepts/tokens/fungible-tokens/rippling.md#the-default-ripple-flag). | | `temAMM_BAD_TOKENS` | The values of `Amount` and `Amount2` are not valid: for example, both refer to the same token. | diff --git a/docs/references/protocol/transactions/types/ammdelete.md b/docs/references/protocol/transactions/types/ammdelete.md index ae427e4804..4eb0486056 100644 --- a/docs/references/protocol/transactions/types/ammdelete.md +++ b/docs/references/protocol/transactions/types/ammdelete.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMDelete -[[Source]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/AMMDelete.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDelete.cpp "Source") _(Added by the [AMM amendment][])_ diff --git a/docs/references/protocol/transactions/types/ammdeposit.md b/docs/references/protocol/transactions/types/ammdeposit.md index 01befae179..9fc4d25b43 100644 --- a/docs/references/protocol/transactions/types/ammdeposit.md +++ b/docs/references/protocol/transactions/types/ammdeposit.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMDeposit -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMDeposit.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDeposit.cpp "Source") _(Added by the [AMM amendment][])_ @@ -15,6 +15,12 @@ Deposit funds into an [Automated Market Maker](../../../../concepts/tokens/decen If successful, this transaction creates a [trust line](../../../../concepts/tokens/fungible-tokens/index.md) to the AMM Account (limit 0) to hold the LP Tokens. +{% admonition type="info" name="Note" %} +You can't deposit either asset into an AMM if: +- At least one of the pooled assets is frozen by the token issuer. +- You aren't authorized to hold at least one of the pooled assets. +{% /admonition %} + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -40,6 +46,8 @@ If successful, this transaction creates a [trust line](../../../../concepts/toke } ``` +{% tx-example txid="BB00ECE591DFD0F8F410C5C2C639F1C1D1D2EFD92DF567AA226C3BDBE712FDD9" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} | Field | JSON Type | [Internal Type][] | Required? | Description | @@ -129,7 +137,7 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | `tecAMM_EMPTY` | The AMM currently holds no assets, so you cannot do a normal deposit. You must use the Empty AMM Special Case deposit instead. | | `tecAMM_NOT_EMPTY` | The transaction specified `tfTwoAssetIfEmpty`, but the AMM was not empty. | | `tecAMM_FAILED` | The conditions on the deposit could not be satisfied. For example, the requested effective price in the `EPrice` field is too low. | -| `tecFROZEN` | The transaction tried to deposit a [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md) token. | +| `tecFROZEN` | The transaction tried to deposit a [frozen](../../../../concepts/tokens/fungible-tokens/freezes.md) token, or at least one of the paired tokens is frozen. | | `tecINSUF_RESERVE_LINE` | The sender of this transaction does meet the increased [reserve requirement](../../../../concepts/accounts/reserves.md) of processing this transaction, probably because they need a new trust line to hold the LP Tokens, and they don't have enough XRP to meet the additional owner reserve for a new trust line. | | `tecUNFUNDED_AMM` | The sender does not have a high enough balance to make the specified deposit. | | `temBAD_AMM_TOKENS` | The transaction specified the LP Tokens incorrectly. For example, the `issuer` is not the AMM's associated AccountRoot address or the `currency` is not the currency code for this AMM's LP Tokens, or the transaction specified this AMM's LP Tokens in one of the asset fields. | diff --git a/docs/references/protocol/transactions/types/ammvote.md b/docs/references/protocol/transactions/types/ammvote.md index e61462dcda..3a00f062fc 100644 --- a/docs/references/protocol/transactions/types/ammvote.md +++ b/docs/references/protocol/transactions/types/ammvote.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMVote -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMVote.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMVote.cpp "Source") _(Added by the [AMM amendment][])_ @@ -33,6 +33,8 @@ Vote on the trading fee for an [Automated Market Maker](../../../../concepts/tok } ``` +{% tx-example txid="BE72A46233F91C71030DC88D8D86077D37FD98223E9114A46180C09FC5C11E5B" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} | Field | JSON Type | [Internal Type][] | Required? | Description | diff --git a/docs/references/protocol/transactions/types/ammwithdraw.md b/docs/references/protocol/transactions/types/ammwithdraw.md index 4ba2476d83..c856778518 100644 --- a/docs/references/protocol/transactions/types/ammwithdraw.md +++ b/docs/references/protocol/transactions/types/ammwithdraw.md @@ -7,7 +7,7 @@ labels: - AMM --- # AMMWithdraw -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMWithdraw.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMWithdraw.cpp "Source") _(Added by the [AMM amendment][])_ @@ -38,6 +38,8 @@ Withdraw assets from an [Automated Market Maker](../../../../concepts/tokens/dec } ``` +{% tx-example txid="E606F37847E012E0D71267ED18CEA8B235AD9409BB6C2383A7D53ADEC2F314D4" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} | Field | JSON Type | [Internal Type][] | Required? | Description | diff --git a/docs/references/protocol/transactions/types/checkcancel.md b/docs/references/protocol/transactions/types/checkcancel.md index 107e0b8fa2..1fa7aedf74 100644 --- a/docs/references/protocol/transactions/types/checkcancel.md +++ b/docs/references/protocol/transactions/types/checkcancel.md @@ -7,7 +7,7 @@ labels: - Checks --- # CheckCancel -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CancelCheck.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelCheck.cpp "Source") _(Added by the [Checks amendment][].)_ @@ -24,10 +24,10 @@ Cancels an unredeemed Check, removing it from the ledger without sending any mon } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_CheckCancel%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22D3328000315C6DCEC1426E4E549288E3672752385D86A40D56856DBD10382953%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="D3328000315C6DCEC1426E4E549288E3672752385D86A40D56856DBD10382953" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - | Field | JSON Type | [Internal Type][] | Description | |:------------|:----------|:------------------|:-------------------------------| diff --git a/docs/references/protocol/transactions/types/checkcash.md b/docs/references/protocol/transactions/types/checkcash.md index f2e8e2439d..a966b6ccbf 100644 --- a/docs/references/protocol/transactions/types/checkcash.md +++ b/docs/references/protocol/transactions/types/checkcash.md @@ -7,7 +7,7 @@ labels: - Checks --- # CheckCash -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CashCheck.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CashCheck.cpp "Source") _(Added by the [Checks amendment][].)_ @@ -27,10 +27,10 @@ Since the funds for a check are not guaranteed, redeeming a Check can fail becau } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_CheckCash%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%2267B71B13601CDA5402920691841AC27A156463678E106FABD45357175F9FF406%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="67B71B13601CDA5402920691841AC27A156463678E106FABD45357175F9FF406" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - | Field | JSON Type | [Internal Type][] | Description | |:-------------|:--------------------|:------------------|:--------------------| diff --git a/docs/references/protocol/transactions/types/checkcreate.md b/docs/references/protocol/transactions/types/checkcreate.md index 749d72c962..c04f17c491 100644 --- a/docs/references/protocol/transactions/types/checkcreate.md +++ b/docs/references/protocol/transactions/types/checkcreate.md @@ -7,7 +7,7 @@ labels: - Checks --- # CheckCreate -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp "Source") _(Added by the [Checks amendment][].)_ @@ -28,10 +28,9 @@ Create a Check object in the ledger, which is a deferred payment that can be cas } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_CheckCreate%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%224E0AA11CBDD1760DE95B68DF2ABBE75C9698CEB548BEA9789053FCB3EBD444FB%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="4E0AA11CBDD1760DE95B68DF2ABBE75C9698CEB548BEA9789053FCB3EBD444FB" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - | Field | JSON Type | [Internal Type][] | Description | |:-----------------|:--------------------|:------------------|:----------------| diff --git a/docs/references/protocol/transactions/types/clawback.md b/docs/references/protocol/transactions/types/clawback.md index 5b2e4fecf6..f335297096 100644 --- a/docs/references/protocol/transactions/types/clawback.md +++ b/docs/references/protocol/transactions/types/clawback.md @@ -1,16 +1,13 @@ --- -html: clawback.html -parent: transaction-types.html seo: description: Claw back tokens you've issued. labels: - Tokens --- # Clawback +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Clawback.cpp "Source") -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Clawback.cpp "Source") - -{% partial file="/docs/_snippets/clawback-disclaimer.md" /%} +_(Added by the [Clawback amendment][].)_ Claw back tokens issued by your account. @@ -35,8 +32,12 @@ Clawback is disabled by default. To use clawback, you must send an [AccountSet t | Field | JSON Type | [Internal Type][] | Description | |:-------------------|:----------|:------------------|:------------------| | `Amount` | [Currency Amount][] | Amount |Indicates 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 [MPToken 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 %} -{% admonition type="info" name="Note" %}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 %} ## Error Cases @@ -48,6 +49,6 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | `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. | | `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. | +| `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. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/credentialaccept.md b/docs/references/protocol/transactions/types/credentialaccept.md index ee9599abc2..8228f48e9d 100644 --- a/docs/references/protocol/transactions/types/credentialaccept.md +++ b/docs/references/protocol/transactions/types/credentialaccept.md @@ -1,11 +1,14 @@ --- seo: description: Accept a credential provisionally issued to your account. +status: not_enabled --- # CredentialAccept A CredentialAccept transaction accepts a credential, which makes the credential valid. Only the subject of the credential can do this. +_(Requires the [Credentials amendment][] {% not-enabled /%})_ + ## Example CredentialAccept JSON ```json diff --git a/docs/references/protocol/transactions/types/credentialcreate.md b/docs/references/protocol/transactions/types/credentialcreate.md index 6e37c383dc..810968b320 100644 --- a/docs/references/protocol/transactions/types/credentialcreate.md +++ b/docs/references/protocol/transactions/types/credentialcreate.md @@ -1,12 +1,14 @@ --- seo: description: Provisionally issue a credential to a subject account. +status: not_enabled --- - # CredentialCreate 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][]. +_(Requires the [Credentials amendment][] {% not-enabled /%})_ + ## Example CredentialCreate JSON ```json @@ -30,7 +32,7 @@ In addition to the [common fields][], CredentialCreate transactions use the foll |:-----------------|:-----------------|:------------------|:----------|:------------| | `Subject` | String - [Address][] | AccountID | Yes | The subject of the credential. | | `CredentialType` | String - Hexadecimal | Blob | Yes | Arbitrary data defining the type of credential this entry represents. The minimum length is 1 byte and the maximum length is 64 bytes. | -| `Expiration` | Number | UInt32 | No | Time after which this credential should be considered expired, in [seconds since the Ripple Epoch][]. | +| `Expiration` | Number | UInt32 | No | Time after which this credential expires, in [seconds since the Ripple Epoch][]. | | `URI` | String | Blob | No | Arbitrary additional data about the credential, such as the URL where users can look up an associated Verifiable Credential document. If present, the minimum length is 1 byte and the maximum is 256 bytes. | The `Account` field (the sender) of the transaction is the issuer of the credential. It is possible for the issuer and the subject to be the same account. diff --git a/docs/references/protocol/transactions/types/credentialdelete.md b/docs/references/protocol/transactions/types/credentialdelete.md index 6609898983..e206162051 100644 --- a/docs/references/protocol/transactions/types/credentialdelete.md +++ b/docs/references/protocol/transactions/types/credentialdelete.md @@ -1,11 +1,14 @@ --- seo: description: Remove a credential from the ledger, effectively revoking it. +status: not_enabled --- # CredentialDelete 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). +_(Requires the [Credentials amendment][] {% not-enabled /%})_ + ## Example CredentialDelete JSON ```json diff --git a/docs/references/protocol/transactions/types/depositpreauth.md b/docs/references/protocol/transactions/types/depositpreauth.md index 9aa1814ba0..fdef893ee3 100644 --- a/docs/references/protocol/transactions/types/depositpreauth.md +++ b/docs/references/protocol/transactions/types/depositpreauth.md @@ -7,7 +7,7 @@ labels: - Security --- # DepositPreauth -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DepositPreauth.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DepositPreauth.cpp "Source") _Added by the [DepositPreauth amendment][]._ @@ -51,7 +51,8 @@ A DepositPreauth transaction grants preauthorization to deliver payments to your {% /tab %} {% /tabs %} -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_DepositPreauth%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22CB1BF910C93D050254C049E9003DA1A265C107E0C8DE4A7CFF55FADFD39D5656%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="CB1BF910C93D050254C049E9003DA1A265C107E0C8DE4A7CFF55FADFD39D5656" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/diddelete.md b/docs/references/protocol/transactions/types/diddelete.md index 4bf6b9ecee..b72e1c52b1 100644 --- a/docs/references/protocol/transactions/types/diddelete.md +++ b/docs/references/protocol/transactions/types/diddelete.md @@ -8,7 +8,7 @@ labels: --- # DIDDelete -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DID.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "Source") _(Requires the [DID amendment][])_ diff --git a/docs/references/protocol/transactions/types/didset.md b/docs/references/protocol/transactions/types/didset.md index e6df63d79e..43f397832d 100644 --- a/docs/references/protocol/transactions/types/didset.md +++ b/docs/references/protocol/transactions/types/didset.md @@ -8,7 +8,7 @@ labels: --- # DIDSet -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DID.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "Source") _(Requires the [DID amendment][])_ diff --git a/docs/references/protocol/transactions/types/escrowcancel.md b/docs/references/protocol/transactions/types/escrowcancel.md index fef939b91a..3d297238c7 100644 --- a/docs/references/protocol/transactions/types/escrowcancel.md +++ b/docs/references/protocol/transactions/types/escrowcancel.md @@ -8,7 +8,7 @@ labels: --- # EscrowCancel -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") _Added by the [Escrow amendment][]._ @@ -25,11 +25,10 @@ Return escrowed XRP to the sender. } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_EscrowCancel%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22B24B9D7843F99AED7FB8A3929151D0CCF656459AE40178B77C9D44CED64E839B%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="B24B9D7843F99AED7FB8A3929151D0CCF656459AE40178B77C9D44CED64E839B" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - - | Field | JSON Type | [Internal Type][] | Description | |:----------------|:----------|:------------------|:---------------------------| diff --git a/docs/references/protocol/transactions/types/escrowcreate.md b/docs/references/protocol/transactions/types/escrowcreate.md index d58a6f50e1..b6cfb2e2af 100644 --- a/docs/references/protocol/transactions/types/escrowcreate.md +++ b/docs/references/protocol/transactions/types/escrowcreate.md @@ -8,7 +8,7 @@ labels: --- # EscrowCreate -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") _Added by the [Escrow amendment][]._ @@ -30,11 +30,10 @@ Sequester XRP until the escrow process either finishes or is canceled. } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_EscrowCreate%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22C44F2EB84196B9AD820313DBEBA6316A15C9A2D35787579ED172B87A30131DA7%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="C44F2EB84196B9AD820313DBEBA6316A15C9A2D35787579ED172B87A30131DA7" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - - | Field | JSON Type | [Internal Type][] | Description | |:-----------------|:----------|:------------------|:--------------------------| diff --git a/docs/references/protocol/transactions/types/escrowfinish.md b/docs/references/protocol/transactions/types/escrowfinish.md index 7a38de7cc7..863930c718 100644 --- a/docs/references/protocol/transactions/types/escrowfinish.md +++ b/docs/references/protocol/transactions/types/escrowfinish.md @@ -8,7 +8,9 @@ labels: --- # EscrowFinish -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/Escrow.cpp "Source") +[[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 (held payment) to the recipient. @@ -28,7 +30,8 @@ _Added by the [Escrow amendment][]._ } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_EscrowFinish%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22317081AF188CDD4DBE55C418F41A90EC3B959CDB3B76105E0CBE6B7A0F56C5F7%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="317081AF188CDD4DBE55C418F41A90EC3B959CDB3B76105E0CBE6B7A0F56C5F7" /%} + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/ledgerstatefix.md b/docs/references/protocol/transactions/types/ledgerstatefix.md new file mode 100644 index 0000000000..9d27c91324 --- /dev/null +++ b/docs/references/protocol/transactions/types/ledgerstatefix.md @@ -0,0 +1,72 @@ +--- +seo: + description: Repair corruptions to the XRP ledger. +labels: + - 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. + +_(Added by the [fixNFTokenPageLinks amendment][])_ + + +## Example {% $frontmatter.seo.title %} JSON + +```json +{ + "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Fee" : "2000000", + "LedgerFixType" : 1, + "Owner" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "Sequence" : 2, + "TransactionType" : "LedgerStateFix" +} +``` + +{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} + +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:----------------|:---------------------|:------------------|:----------|:------------| +| `LedgerFixType` | Number | UInt16 | Yes | The type of fix to apply. See [LedgerFixType](#ledgerfixtype) for possible values. Currently the only type is `1`, which fixes the NFToken directory for a single account. | +| `Owner` | String - [Address][] | Account | No | _(Required if `LedgerFixType` is `1`.)_ The account that owns the NFToken directory to fix. Does not need any relationship to the sender of the transaction. | + + +## LedgerFixType + +`LedgerStateFix` transactions are targeted solutions for rare and specific issues. They can only be used to fix a specific type of ledger corruption, described below. + +### Type 1 + +Corrupt NFT directories resulting from these conditions: + +- At least two NFToken pages were in the directory. +- The next-to-last page was completely full, holding 32 NFTokens. +- The last page of the directory contained only one NFToken. +- A transaction removed the last remaining token from the last page, causing the directory to delete the page. + +When these conditions were met, the NFToken directory didn't properly update page links, causing holes in the directory when new last pages were created for additional NFTokens. + +The [fixNFTokenPageLinks amendment][] prevents new instances of this type of ledger corruption from happening. + + +## Special Transaction Cost + +The `LedgerStateFix` transaction is rare and potentially compute intensive, so the transaction must pay a special [transaction cost][] equal to at least the [owner reserve](../../../../concepts/accounts/reserves.md) for one item (currently {% $env.PUBLIC_OWNER_RESERVE %}). + +The transaction cost always applies when a transaction is included in a validated ledger, even if the transaction fails. (See [Error Cases](#error-cases).) To greatly reduce the chances of paying the high transaction cost if the transaction fails, [submit the transaction](../../../http-websocket-apis/public-api-methods/transaction-methods/submit.md) with `fail_hard` enabled. + + +## Error Cases + +Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} transactions can result in the following [transaction result codes](../transaction-results/index.md): + +| Error Code | Description | +|:-----------------------------|:------------| +| `tecFAILED_PROCESSING` | The transaction failed to apply the fix. For example, the transaction attempted to repair an NFT directory that was not broken. | +| `tecOBJECT_NOT_FOUND` | A ledger entry specified in the transaction does not exist. For example, the transaction tried to repair the NFT directory of an account that does not hold any NFTs. | +| `tefINVALID_LEDGER_FIX_TYPE` | The [`LedgerFixType`](#ledgerfixtype) value specified in the transaction is not valid. Currently, the only valid type is `1`. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} \ No newline at end of file diff --git a/docs/references/protocol/transactions/types/mptokenauthorize.md b/docs/references/protocol/transactions/types/mptokenauthorize.md new file mode 100644 index 0000000000..142def04cf --- /dev/null +++ b/docs/references/protocol/transactions/types/mptokenauthorize.md @@ -0,0 +1,37 @@ +--- +html: mptokenauthorize.html +parent: transaction-types.html +blurb: Allow an account to hold an amount of a particular MPT. +labels: + - Multi-purpose Tokens, MPTs +--- + +# MPTokenAuthorize +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenAuthorize.cpp "Source") + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +This transaction enables an account to hold an amount of a particular MPT issuance. When applied successfully, it creates a new `MPToken` object with an initial zero balance, owned by the holder account. + +If the issuer has set `lsfMPTRequireAuth` (allow-listing) on the `MPTokenIssuance`, the issuer must submit an `MPTokenAuthorize` transaction as well in order to give permission to the holder. If `lsfMPTRequireAuth` is not set and the issuer attempts to submit this transaction, it will fail. + + + +{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} + +| Field | JSON Type | [Internal Type][] | Description | +|:--------------------|:--------------------|:------------------|:-------------------| +| `Account` | string | `AccountID` | This address can indicate either an issuer or a potential holder of a MPT. | +| `TransactionType` | object | `UInt16` | Indicates the new transaction type MPTokenAuthorize. The integer value is 29. | +| `MPTokenIssuanceID` | string | `UIn192` | Indicates the ID of the MPT involved. | +| `Holder` | string | `AccountID` | (Optional) Specifies the holder's address that the issuer wants to authorize. Only used for authorization/allow-listing; must be empty if submitted by the holder. | +| `Flags` | number | `UInt32` | See [MPTokenAuthorize Flags](#mptokenauthorize-flags). | + +### MPTokenAuthorize Flags +Transactions of the MPTokenAuthorize type support additional values in the Flags field, as follows: + +| Flag Name | Hex Value | Decimal Value | Description | +|:-------------------|:-------------|:--------------|:------------------------------| +| `tfMPTUnauthorize` | `0x00000001` | 1 | If set, and transaction is submitted by a holder, it indicates that the holder no longer wants to hold the `MPToken`, which will be deleted as a result. If the holder's `MPToken` has a non-zero balance while trying to set this flag, the transaction fails. On the other hand, if set, and transaction is submitted by an issuer, it would mean that the issuer wants to unauthorize the holder (only applicable for allow-listing), which would unset the `lsfMPTAuthorized` flag on the `MPToken`. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} \ No newline at end of file diff --git a/docs/references/protocol/transactions/types/mptokenissuancecreate.md b/docs/references/protocol/transactions/types/mptokenissuancecreate.md new file mode 100644 index 0000000000..56ddb9ef70 --- /dev/null +++ b/docs/references/protocol/transactions/types/mptokenissuancecreate.md @@ -0,0 +1,63 @@ +--- +html: mptokenissuancecreate.html +parent: transaction-types.html +blurb: Issue a new Multi-purpose Token. +labels: + - Multi-purpose Tokens, MPTs +--- + +# MPTokenIssuanceCreate +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp "Source") + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +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). + +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. + +## Example MPTokenIssuanceCreate JSON + +This example assumes that the issuer of the token is the signer of the transaction. + +```json +{ + "TransactionType": "MPTokenIssuanceCreate", + "Account": "rajgkBmMxmz161r8bWYH7CQAFZP5bA9oSG", + "AssetScale": 2, + "TransferFee": 314, + "MaximumAmount": "50000000", + "Flags": 83659, + "MPTokenMetadata": "FOO", + "Fee": "10" +} +``` + + + +{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} + +| Field | JSON Type | [Internal Type][] | Description | +|:----------------|:--------------------|:------------------|:-------------------| +| `TransactionType` | string | UInt16 | Indicates the new transaction type MPTokenIssuanceCreate. | +| `AssetScale` | number | UInt8 | (Optional) An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. If the fractional unit equals the standard unit, then the asset scale is 0. Note that this value is optional, and will default to 0 if not supplied. | +| `Flags` | number | UInt16 | Specifies the flags for this transaction. See [MPTokenIssuanceCreate Flags](#mptokenissuancecreate-flags). | +| `TransferFee` | number | UInt16 | (Optional) The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | +| `MaximumAmount` | string | UInt64 | (Optional) The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | +| `MPTokenMetadata` | string | Blob | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | + +## MPTokenIssuanceCreate Flags + +Transactions of the MPTokenIssuanceCreate type support additional values in the [`Flags` field](../common-fields.md#flags-field), as follows: + +| Flag Name | Hex Value | Decimal Value | Description | +|:-------------------|:-------------|:--------------|:------------------------------| +| `tfMPTCanLock` | `0x00000002` | `2` | If set, indicates that the MPT can be locked both individually and globally. If not set, the MPT cannot be locked in any way. | +| `tfMPTRequireAuth` | `0x00000004` | `4` | If set, indicates that individual holders must be authorized. This enables issuers to limit who can hold their assets. | +| `tfMPTCanEscrow` | `0x00000008` | `8` | If set, indicates that individual holders can place their balances into an escrow. | +| `tfMPTCanTrade` | `0x00000010` | `16` | If set, indicates that individual holders can trade their balances using the XRP Ledger DEX. | +| `tfMPTCanTransfer` | `0x00000020` | `32` | If set, indicates that tokens can be transferred to other accounts that are not the issuer. | +| `tfMPTCanClawback` | `0x00000040` | `64` | If set, indicates that the issuer can use the `Clawback` transaction to claw back value from individual holders. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/mptokenissuancedestroy.md b/docs/references/protocol/transactions/types/mptokenissuancedestroy.md new file mode 100644 index 0000000000..cb260f55c6 --- /dev/null +++ b/docs/references/protocol/transactions/types/mptokenissuancedestroy.md @@ -0,0 +1,36 @@ +--- +html: mptokenissuancedestroy.html +parent: transaction-types.html +blurb: Remove a Multi-purpose Token from the ledger. +labels: + - Multi-purpose Tokens, MPTs +--- +# MPTokenIssuanceDestroy +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceDestroy.cpp "Source") + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +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. + +## Example MPTokenIssuanceDestroy JSON + +```json +{ + "TransactionType": "MPTokenIssuanceDestroy", + "Fee": "10", + "MPTokenIssuanceID": "00070C4495F14B0E44F78A264E41713C64B5F89242540EE255534400000000000000" +} +``` + + + +{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} + +| Field | JSON Type | [Internal Type][] | Description | +|:--------------------|:--------------------|:------------------|:-------------------| +| `TransactionType` | string | UInt16 | Indicates the new transaction type MPTokenIssuanceDestroy. | +| `MPTokenIssuanceID` | string | UInt192 | Identifies the `MPTokenIssuance` object to be removed by the transaction. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/mptokenissuanceset.md b/docs/references/protocol/transactions/types/mptokenissuanceset.md new file mode 100644 index 0000000000..44d3daf446 --- /dev/null +++ b/docs/references/protocol/transactions/types/mptokenissuanceset.md @@ -0,0 +1,46 @@ +--- +html: mptokenissuanceset.html +parent: transaction-types.html +blurb: Set mutable properties for an MPT. +labels: + - Multi-purpose Tokens, MPTs +--- +# MPTokenIssuanceSet +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceSet.cpp "Source") + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +Use this transaction to update a mutable property for a Multi-purpose Token. + +## Example + +```json +{ + "TransactionType": "MPTokenIssuanceSet", + "Fee": "10", + "MPTokenIssuanceID": "00070C4495F14B0E44F78A264E41713C64B5F89242540EE255534400000000000000", + "Flags": 1 +} +``` + + + +{% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} + +| Field | JSON Type | [Internal Type][] | Description | +|:-------------------|:--------------------|:------------------|:-------------------| +| `TransactionType` | string | UInt16 | Indicates the new transaction type `MPTokenIssuanceSet`. | +| `MPTokenIssuanceID`| string | UInt192 | The `MPTokenIssuance` identifier. | +| `Holder` | string | AccountID | (Optional) XRPL Address of an individual token holder balance to lock/unlock. If omitted, this transaction applies to all any accounts holding MPTs. | +| `Flag` | number | UInt64 | Specifies flags for this transaction. See [MPTokenIssuanceSet Flags](#mptokenissuanceset-flags). | + +### MPTokenIssuanceSet Flags + +Transactions of the `MPTokenIssuanceSet` type support additional values in the `Flags` field, as follows: + +| Flag Name | Hex Value | Decimal Value | Description | +|:-------------------|:-------------|:--------------|:------------------------------| +| `tfMPTLock` | `0x00000001` | 1 | If set, indicates that all MPT balances for this asset should be locked. | +| `tfMPTUnlock` | `0x00000002` | 2 | If set, indicates that all MPT balances for this asset should be unlocked. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/nftokenacceptoffer.md b/docs/references/protocol/transactions/types/nftokenacceptoffer.md index 4881928dfd..f8f3e520a3 100644 --- a/docs/references/protocol/transactions/types/nftokenacceptoffer.md +++ b/docs/references/protocol/transactions/types/nftokenacceptoffer.md @@ -7,7 +7,7 @@ labels: - NFTs, Non-fungible Tokens --- # NFTokenAcceptOffer -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenAcceptOffer.cpp "Source") +[[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 `NFToken`. It can either: @@ -36,7 +36,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenAcceptOffer%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22BEB64444C36D1072820BAED317BE2E6470AFDAD9D8FB2D16A15A4D46E5A71909%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="BEB64444C36D1072820BAED317BE2E6470AFDAD9D8FB2D16A15A4D46E5A71909" /%} ## Brokered vs. Direct Mode diff --git a/docs/references/protocol/transactions/types/nftokenburn.md b/docs/references/protocol/transactions/types/nftokenburn.md index 6b9660bf14..ab17a2e3cf 100644 --- a/docs/references/protocol/transactions/types/nftokenburn.md +++ b/docs/references/protocol/transactions/types/nftokenburn.md @@ -7,7 +7,7 @@ labels: - Non-fungible Tokens, NFTs --- # NFTokenBurn -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenBurn.cpp "Source") +[[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). @@ -30,7 +30,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenBurn%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%227B9EFDFDC801C58F2B61B89AA2751634F49CE2A93923671FF0F4F099C7EE17FF%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="7B9EFDFDC801C58F2B61B89AA2751634F49CE2A93923671FF0F4F099C7EE17FF" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/nftokencanceloffer.md b/docs/references/protocol/transactions/types/nftokencanceloffer.md index bdb4b6ba81..d3333b0ac6 100644 --- a/docs/references/protocol/transactions/types/nftokencanceloffer.md +++ b/docs/references/protocol/transactions/types/nftokencanceloffer.md @@ -7,7 +7,7 @@ labels: - NFTs, Non-fungible Tokens --- # NFTokenCancelOffer -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenCancelOffer.cpp "Source") +[[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`. @@ -25,7 +25,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenCancelOffer%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%229FF6366C19F762AE3479DC01390CDE17F1055EFF0C52A28B8ACF0CC11AEF0CC5%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="9FF6366C19F762AE3479DC01390CDE17F1055EFF0C52A28B8ACF0CC11AEF0CC5" /%} ## Permissions diff --git a/docs/references/protocol/transactions/types/nftokencreateoffer.md b/docs/references/protocol/transactions/types/nftokencreateoffer.md index d082883ef1..64f62d56db 100644 --- a/docs/references/protocol/transactions/types/nftokencreateoffer.md +++ b/docs/references/protocol/transactions/types/nftokencreateoffer.md @@ -7,7 +7,7 @@ labels: - Non-fungible Tokens, NFTs --- # NFTokenCreateOffer -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenCreateOffer.cpp "Source") +[[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. @@ -27,7 +27,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenCreateOffer%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22780C44B2EDFF8FC4152B3F7E98D4C435C13DF9BB5498E4BB2D019FCC7EF45BC6%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="780C44B2EDFF8FC4152B3F7E98D4C435C13DF9BB5498E4BB2D019FCC7EF45BC6" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/nftokenmint.md b/docs/references/protocol/transactions/types/nftokenmint.md index 95c02f6be4..f91028798f 100644 --- a/docs/references/protocol/transactions/types/nftokenmint.md +++ b/docs/references/protocol/transactions/types/nftokenmint.md @@ -7,7 +7,7 @@ labels: - Non-fungible Tokens, NFTs --- # NFTokenMint -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/NFTokenMint.cpp "Source") +[[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`). @@ -38,7 +38,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_NFTokenMint%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22B42C7A0C9C3061463C619999942D0F25E4AE5FB051EA0D7A4EE1A924DB6DFEE8%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="B42C7A0C9C3061463C619999942D0F25E4AE5FB051EA0D7A4EE1A924DB6DFEE8" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} @@ -48,7 +48,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | `Issuer` | String | AccountID | _(Optional)_ The issuer of the token, if the sender of the account is issuing it on behalf of another account. This field must be omitted if the account sending the transaction is the issuer of the `NFToken`. If provided, the issuer's [AccountRoot object][] must have the `NFTokenMinter` field set to the sender of this transaction (this transaction's `Account` field). | | `TransferFee` | Number | UInt16 | _(Optional)_ The value specifies the fee charged by the issuer for secondary sales of the `NFToken`, if such sales are allowed. Valid values for this field are between 0 and 50000 inclusive, allowing transfer rates of between 0.00% and 50.00% in increments of 0.001. If this field is provided, the transaction MUST have the [`tfTransferable` flag](#nftokenmint-flags) enabled. | | `URI` | String | Blob | _(Optional)_ Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is NOT checked for validity. | -| `Amount` | [Currency Amount][] | Amount | _(Optional)_ Indicates the amount expected or offered for the corresponding `NFToken`. The amount must be non-zero, except where this is an offer to sell and the asset is XRP; then, it is legal to specify an amount of zero, which means that the current owner of the token is giving it away, gratis, either to anyone at all, or to the account identified by the `Destination` field. | +| `Amount` | [Currency Amount][] | Amount | _(Optional)_ Indicates the amount expected or offered for the corresponding `NFToken`. The amount must be non-zero, except where the asset is XRP; then, it is legal to specify an amount of zero, which means that the current owner of the token is giving it away, gratis, either to anyone at all, or to the account identified by the `Destination` field. | | `Expiration` | Number | UInt32 | _(Optional)_ Time after which the offer is no longer active, in [seconds since the Ripple Epoch][]. Results in an error if the `Amount` field is not specified. | | `Destination` | String | AccountID | _(Optional)_ If present, indicates that this offer may only be accepted by the specified account. Attempts by other accounts to accept this offer MUST fail. Results in an error if the `Amount` field is not specified. | diff --git a/docs/references/protocol/transactions/types/offercancel.md b/docs/references/protocol/transactions/types/offercancel.md index cfa1fcc083..2843bfb72b 100644 --- a/docs/references/protocol/transactions/types/offercancel.md +++ b/docs/references/protocol/transactions/types/offercancel.md @@ -8,7 +8,7 @@ labels: --- # OfferCancel -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CancelOffer.cpp "Source") +[[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. @@ -26,7 +26,7 @@ An OfferCancel transaction removes an Offer object from the XRP Ledger. } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_OfferCancel%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22E7697D162A606FCC138C5732BF0D2A4AED49386DC59235FC3E218650AAC19744%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="E7697D162A606FCC138C5732BF0D2A4AED49386DC59235FC3E218650AAC19744" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/offercreate.md b/docs/references/protocol/transactions/types/offercreate.md index c5dbd86e69..d916c84dcf 100644 --- a/docs/references/protocol/transactions/types/offercreate.md +++ b/docs/references/protocol/transactions/types/offercreate.md @@ -8,7 +8,7 @@ labels: --- # OfferCreate -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateOffer.cpp "Source") +[[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). @@ -31,7 +31,7 @@ An OfferCreate transaction places an [Offer](../../../../concepts/tokens/decentr } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_OfferCreate%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%220CD69FD1F0A890CC57CDA430213FD294F7D65FF4A0F379A0D09D07A222D324E6%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="0CD69FD1F0A890CC57CDA430213FD294F7D65FF4A0F379A0D09D07A222D324E6" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/oracledelete.md b/docs/references/protocol/transactions/types/oracledelete.md index 4ba7be51e9..2cd1574916 100644 --- a/docs/references/protocol/transactions/types/oracledelete.md +++ b/docs/references/protocol/transactions/types/oracledelete.md @@ -8,7 +8,7 @@ labels: # OracleDelete _(Requires the [PriceOracle amendment][])_ -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/DeleteOracle.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteOracle.cpp "Source") Delete an `Oracle` ledger entry. diff --git a/docs/references/protocol/transactions/types/oracleset.md b/docs/references/protocol/transactions/types/oracleset.md index b1b1fe874b..cb9484643d 100644 --- a/docs/references/protocol/transactions/types/oracleset.md +++ b/docs/references/protocol/transactions/types/oracleset.md @@ -8,7 +8,7 @@ labels: # OracleSet _(Requires the [PriceOracle amendment][])_ -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/SetOracle.cpp "Source") +[[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. diff --git a/docs/references/protocol/transactions/types/payment.md b/docs/references/protocol/transactions/types/payment.md index 990de8f8f7..3851e15992 100644 --- a/docs/references/protocol/transactions/types/payment.md +++ b/docs/references/protocol/transactions/types/payment.md @@ -34,7 +34,7 @@ Payments are also the only way to [create accounts](#creating-accounts). } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_Payment%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%227BF105CFE4EFE78ADB63FE4E03A851440551FE189FD4B51CAAD9279C9F534F0E%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="7BF105CFE4EFE78ADB63FE4E03A851440551FE189FD4B51CAAD9279C9F534F0E" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} @@ -65,6 +65,7 @@ The `Payment` transaction type functions differently depending on how you fill i | [Cross-currency Payment][] | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | Usually required | No | Send tokens from one holder to another. The `Amount` or `SendMax` can be XRP or tokens, but can't both be XRP. These payments [ripple through](../../../../concepts/tokens/fungible-tokens/rippling.md) the issuer and can take longer [paths](../../../../concepts/tokens/fungible-tokens/paths.md) through several intermediaries if the transaction specifies a path set. [Transfer fees](../../../../concepts/tokens/transfer-fees.md) set by the issuer(s) apply to this type of transaction. These transactions consume offers in the [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md) to connect different currencies, or currencies with the same currency code and different issuers. | | [Partial payment][] | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | Usually required | No | Sends _up to_ a specific amount of any currency. Uses the [`tfPartialPayment` flag](#payment-flags). May include a `DeliverMin` amount specifying the minimum that the transaction must deliver to be successful; if the transaction does not specify `DeliverMin`, it can succeed by delivering _any positive amount_. | | Currency conversion | Object (non-XRP) / String (XRP) | Object (non-XRP) / String (XRP) | Required | Yes | Consumes offers in the [decentralized exchange](../../../../concepts/tokens/decentralized-exchange/index.md) to convert one currency to another, possibly taking [arbitrage](https://en.wikipedia.org/wiki/Arbitrage) opportunities. The `Amount` and `SendMax` cannot both be XRP. Also called a _circular payment_ because it delivers money to the sender. This type of transaction may be classified as an "exchange" and not a "payment". | +| MPT Payment | Object | Omitted | Omitted | Yes | Send MPTs to a holder. See [MPT Payments](#mpt-payments). | [Direct XRP Payment]: ../../../../concepts/payment-types/direct-xrp-payments.md [Creating or redeeming tokens]: ../../../../concepts/tokens/index.md @@ -140,8 +141,40 @@ The `tfLimitQuality` flag is most useful when combined with [partial payments](. In the above example with a ¥95/$15 offer and a ¥5/$2 offer, the situation is different if my transaction has both `tfPartialPayment` and `tfLimitQuality` enabled. If we keep my `SendMax` of 20 USD and a destination `Amount` of 100 CNY, then the limit quality is still `5`. However, because I am doing a partial payment, the transaction sends as much as it can instead of failing if the full destination amount cannot be sent. This means that my transaction consumes the ¥95/$15 offer, whose quality is about `6.3`, but it rejects the ¥5/$2 offer because that offer's quality of `2.5` is worse than the quality limit of `5`. In the end, my transaction only delivers ¥95 instead of the full ¥100, but it avoids wasting money on poor exchange rates. +## MPT Payments + +_(Requires the [MPToken amendment][] {% not-enabled /%})_ + +When you send a payment using MPTs, 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. + +### Sample MPT Payment transaction + +```json +{ + "Account": "rLWSJKbwYSzG32JuGissYd66MFTvfMk4Bt", + "Amount": { + "mpt_issuance_id": "006419063CEBEB49FC20032206CE0F203138BFC59F1AC578", + "value": "100" + }, + "DeliverMax": { + "mpt_issuance_id": "006419063CEBEB49FC20032206CE0F203138BFC59F1AC578", + "value": "100" + }, + "SendMax": { + "mpt_issuance_id": "006419063CEBEB49FC20032206CE0F203138BFC59F1AC578", + "value": "100" + }, + "Destination": "raZ3wTTKiMHn3BiStvz4ET9rbCHfU1DMak", + "Fee": "120", + "Flags": 0, +} +``` ## Credential IDs +_(Requires the [Credentials amendment][] {% not-enabled /%})_ + 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. The credentials provided in the `CredentialIDs` field must all be valid, meaning: diff --git a/docs/references/protocol/transactions/types/paymentchannelclaim.md b/docs/references/protocol/transactions/types/paymentchannelclaim.md index 39cbc819ab..bde559aeae 100644 --- a/docs/references/protocol/transactions/types/paymentchannelclaim.md +++ b/docs/references/protocol/transactions/types/paymentchannelclaim.md @@ -7,7 +7,7 @@ labels: - Payment Channels --- # PaymentChannelClaim -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") _Added by the [PayChan amendment][]._ @@ -41,7 +41,7 @@ The **destination address** of a channel can: } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_PaymentChannelClaim%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%229C0CAAC3DD1A74461132DA4451F9E53BDF4C93DFDBEFCE1B10021EC569013B33%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="9C0CAAC3DD1A74461132DA4451F9E53BDF4C93DFDBEFCE1B10021EC569013B33" /%} diff --git a/docs/references/protocol/transactions/types/paymentchannelcreate.md b/docs/references/protocol/transactions/types/paymentchannelcreate.md index 9760249788..ef8d63f2d8 100644 --- a/docs/references/protocol/transactions/types/paymentchannelcreate.md +++ b/docs/references/protocol/transactions/types/paymentchannelcreate.md @@ -7,7 +7,7 @@ labels: - Payment Channels --- # PaymentChannelCreate -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") _Added by the [PayChan amendment][]._ @@ -29,10 +29,9 @@ Create a [payment channel](../../../../concepts/payment-types/payment-channels.m } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_PaymentChannelCreate%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22711C4F606C63076137FAE90ADC36379D7066CF551E96DA6FE2BDAB5ECBFACF2B%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="711C4F606C63076137FAE90ADC36379D7066CF551E96DA6FE2BDAB5ECBFACF2B" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - | Field | JSON Type | [Internal Type][] | Description | diff --git a/docs/references/protocol/transactions/types/paymentchannelfund.md b/docs/references/protocol/transactions/types/paymentchannelfund.md index 0e8b779ff9..699b8f4469 100644 --- a/docs/references/protocol/transactions/types/paymentchannelfund.md +++ b/docs/references/protocol/transactions/types/paymentchannelfund.md @@ -7,7 +7,7 @@ labels: - Payment Channels --- # PaymentChannelFund -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/PayChan.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") _Added by the [PayChan amendment][]._ @@ -25,7 +25,7 @@ Example PaymentChannelFund: } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_PaymentChannelFund%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22877FA6E2FF8E08597D1F24E30BE8E52D0C9C06F0D620C5721E55622B6A632DFF%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="877FA6E2FF8E08597D1F24E30BE8E52D0C9C06F0D620C5721E55622B6A632DFF" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/setregularkey.md b/docs/references/protocol/transactions/types/setregularkey.md index 413115872b..16829f8346 100644 --- a/docs/references/protocol/transactions/types/setregularkey.md +++ b/docs/references/protocol/transactions/types/setregularkey.md @@ -26,7 +26,7 @@ You can protect your account by assigning a regular key pair to it and using it } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_SetRegularKey%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%226AA6F6EAAAB56E65F7F738A9A2A8A7525439D65BA990E9BA08F6F4B1C2D349B4%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="6AA6F6EAAAB56E65F7F738A9A2A8A7525439D65BA990E9BA08F6F4B1C2D349B4" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/signerlistset.md b/docs/references/protocol/transactions/types/signerlistset.md index 8c58517d34..9a4c4b2296 100644 --- a/docs/references/protocol/transactions/types/signerlistset.md +++ b/docs/references/protocol/transactions/types/signerlistset.md @@ -8,7 +8,7 @@ labels: --- # SignerListSet -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/SetSignerList.cpp "Source") +[[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][]. @@ -44,7 +44,7 @@ The SignerListSet transaction creates, replaces, or removes a list of signers th } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_SignerListSet%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%2209A9C86BF20695735AB03620EB1C32606635AC3DA0B70282F37C674FC889EFE7%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="09A9C86BF20695735AB03620EB1C32606635AC3DA0B70282F37C674FC889EFE7" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/ticketcreate.md b/docs/references/protocol/transactions/types/ticketcreate.md index 65fc63755d..42757d43ed 100644 --- a/docs/references/protocol/transactions/types/ticketcreate.md +++ b/docs/references/protocol/transactions/types/ticketcreate.md @@ -8,7 +8,7 @@ labels: --- # TicketCreate -[[Source]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/CreateTicket.cpp "Source") +[[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateTicket.cpp "Source") _(Added by the [TicketBatch amendment][].)_ @@ -26,7 +26,7 @@ A TicketCreate transaction sets aside one or more [sequence numbers][Sequence Nu } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22id%22%3A%22example_TicketCreate%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%22738AEF36B48CA4A2D85C2B74910DC34DDBBCA4C83643F2DB84A58785ED5AD3E3%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="738AEF36B48CA4A2D85C2B74910DC34DDBBCA4C83643F2DB84A58785ED5AD3E3" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/references/protocol/transactions/types/trustset.md b/docs/references/protocol/transactions/types/trustset.md index 689f952485..5de2e5395e 100644 --- a/docs/references/protocol/transactions/types/trustset.md +++ b/docs/references/protocol/transactions/types/trustset.md @@ -8,7 +8,7 @@ labels: --- # TrustSet -[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/SetTrust.cpp "Source") +[[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. @@ -30,7 +30,7 @@ Create or modify a [trust line](../../../../concepts/tokens/fungible-tokens/inde } ``` -[Query example transaction. >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fxrplcluster.com%2F&req=%7B%22id%22%3A%22example_TrustSet%22%2C%22command%22%3A%22tx%22%2C%22transaction%22%3A%228566673ECD0A9731C516906E5D2F47129C5C13713602140733831A56CEAE1A05%22%2C%22binary%22%3Afalse%7D) +{% tx-example txid="8566673ECD0A9731C516906E5D2F47129C5C13713602140733831A56CEAE1A05" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} diff --git a/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md b/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md index 125e3e5035..0e88ee4c4d 100644 --- a/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md +++ b/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md @@ -17,7 +17,7 @@ This tutorial demonstrates how to enable multi-signing for an address. - You must have a funded XRP Ledger [address](../../../concepts/accounts/index.md) with enough spare XRP to send transactions and meet the [reserve requirement](../../../concepts/accounts/reserves.md) of a new signer list. - - With the [MultiSignReserve amendment][] enabled, multi-signing requires 2 XRP for the account reserve, regardless of the number of signers and signatures you use. (The MultiSignReserve amendment has been enabled in the production XRP Ledger since **2019-04-07**.) + - With the [MultiSignReserve amendment][] enabled, multi-signing requires {% $env.PUBLIC_OWNER_RESERVE %} for the account reserve, regardless of the number of signers and signatures you use. (The MultiSignReserve amendment has been enabled in the production XRP Ledger since **2019-04-07**.) - If you are on a test network that does not have the [MultiSignReserve amendment][] enabled, multi-signing requires more than the usual amount of XRP for the [account reserve](../../../concepts/accounts/reserves.md), increasing with the number of signers in the list. diff --git a/docs/tutorials/how-tos/send-xrp.md b/docs/tutorials/how-tos/send-xrp.md index 2508a5e906..b23e5e9191 100644 --- a/docs/tutorials/how-tos/send-xrp.md +++ b/docs/tutorials/how-tos/send-xrp.md @@ -244,7 +244,7 @@ If you see any other result, you should check the following: - Are you using the correct addresses for the sender and destination? - Did you forget any other fields of the transaction, skip any steps, or make any other typos? -- Do you have enough Test XRP to send the transaction? The amount of XRP you can send is limited by the [reserve requirement](../../concepts/accounts/reserves.md), which is currently 10 XRP with an additional 2 XRP for each "object" you own in the ledger. (If you generated a new address with the Testnet Faucet, you don't own any objects.) +- Do you have enough Test XRP to send the transaction? The amount of XRP you can send is limited by the [reserve requirement](../../concepts/accounts/reserves.md), which is currently {% $env.PUBLIC_BASE_RESERVE %} with an additional {% $env.PUBLIC_OWNER_RESERVE %} for each "object" you own in the ledger. (If you generated a new address with the Testnet Faucet, you don't own any objects.) - Are you connected to a server on the test network? See the full list of [transaction results](../../references/protocol/transactions/transaction-results/index.md) for more possibilities. diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md index 5a60fc9132..9556f9aca0 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/open-a-payment-channel-to-enable-an-inter-exchange-network.md @@ -67,7 +67,7 @@ Along these lines, there's a good chance that you are following industry best pr - The payer exchange must have a funded XRP Ledger account to be used to send XRP to the payee exchange. ``` - Aside from the [base reserve](../../../../concepts/accounts/reserves.md) (10 XRP) and the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) of a payment channel (2 XRP), the account must also be able to set aside enough XRP in the payment channel to cover the intended number of transactions. + Aside from the [base reserve](../../../../concepts/accounts/reserves.md) ({% $env.PUBLIC_BASE_RESERVE %}) and the [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves) of a payment channel ({% $env.PUBLIC_OWNER_RESERVE %}), the account must also be able to set aside enough XRP in the payment channel to cover the intended number of transactions. The payer exchange can always top-off the channel using the [PaymentChannelFund](../../../../references/protocol/transactions/types/paymentchannelfund.md) transaction if it runs out of XRP. However, topping-off requires an actual on-ledger transaction and confirmation, so it could take 4-5 seconds of processing time and ~10 drops of XRP to complete the top-off transaction. The more XRP the payer exchange pre-funds, the less often they need to top-off, so they can save some time and money by pre-funding more XRP. @@ -81,7 +81,7 @@ Along these lines, there's a good chance that you are following industry best pr - The payee exchange must have a funded XRP Ledger account to be used to redeem (receive) XRP sent by the payer exchange. ``` - The account needs at least 11 XRP, which provides the 10 XRP [base reserve](../../../../concepts/accounts/reserves.md), plus enough to pay the transaction costs of redeeming claims, which are trivial. For example, you could redeem thousands of claims for less than 1 XRP in total. + The account needs at least the {% $env.PUBLIC_BASE_RESERVE %} [base reserve](../../../../concepts/accounts/reserves.md), plus enough to pay the transaction costs of redeeming claims, which are trivial. For example, you could redeem thousands of claims for less than 1 XRP in total. ``` [Fund XRP Ledger accounts with enough XRP >](../../../../concepts/accounts/index.md) diff --git a/docs/tutorials/how-tos/use-tokens/create-an-automated-market-maker.md b/docs/tutorials/how-tos/use-tokens/create-an-automated-market-maker.md index 7ddf0c1ff8..1409f357cf 100644 --- a/docs/tutorials/how-tos/use-tokens/create-an-automated-market-maker.md +++ b/docs/tutorials/how-tos/use-tokens/create-an-automated-market-maker.md @@ -141,7 +141,7 @@ If the AMM does already exist, you should double-check that you specified the ri Creating an AMM has a special [transaction cost][] to prevent spam: since it creates objects in the ledger that no one owns, you must burn at least one [owner reserve increment](../../../concepts/accounts/reserves.md) of XRP to send the AMMCreate transaction. The exact value can change due to [fee voting](https://xrpl.org/fee-voting.html), so you should look up the current incremental reserve value using the [server_state method][]. -It is also a good practice to display this value and give a human operator a chance to stop before you send the transaction. Burning an owner reserve is typically a much higher cost than sending a normal transaction, so you don't want it to be a surprise. (Currently, on both Mainnet and Devnet, the cost of sending a typical transaction is 0.000010 XRP but the cost of AMMCreate is 2 XRP.) +It is also a good practice to display this value and give a human operator a chance to stop before you send the transaction. Burning an owner reserve is typically a much higher cost than sending a normal transaction, so you don't want it to be a surprise. (Currently, on both Mainnet and Devnet, the cost of sending a typical transaction is 0.000010 XRP but the cost of AMMCreate is {% $env.PUBLIC_OWNER_RESERVE %}.) {% tabs %} diff --git a/docs/tutorials/javascript/amm/add-assets-to-amm.md b/docs/tutorials/javascript/amm/add-assets-to-amm.md index 11379e7b2a..54fda48b01 100644 --- a/docs/tutorials/javascript/amm/add-assets-to-amm.md +++ b/docs/tutorials/javascript/amm/add-assets-to-amm.md @@ -4,7 +4,7 @@ Follow the steps from the [Create an AMM](/docs/tutorials/javascript/amm/create- This example shows how to: -1. Deposit assets to an existing AMM and receive LP tokens. +1. Deposit assets to an existing [AMM](/docs/concepts/tokens/decentralized-exchange/automated-market-makers) and receive LP tokens. 2. Vote on AMM trading fees. 3. Check the value of your LP tokens. 4. Redeem LP tokens for assets in the AMM pair. diff --git a/docs/tutorials/javascript/amm/create-an-amm.md b/docs/tutorials/javascript/amm/create-an-amm.md index ff33968cdd..3088aca186 100644 --- a/docs/tutorials/javascript/amm/create-an-amm.md +++ b/docs/tutorials/javascript/amm/create-an-amm.md @@ -2,7 +2,7 @@ This example shows how to: -1. Check if an AMM pair exists. +1. Check if an [AMM](/docs/concepts/tokens/decentralized-exchange/automated-market-makers) pair exists. 2. Issue a token. 3. Create an AMM pair with the issued tokens and XRP. 4. Create another AMM pair with two issued tokens. diff --git a/docs/tutorials/javascript/amm/trade-with-auction-slot.md b/docs/tutorials/javascript/amm/trade-with-auction-slot.md index fd1c016a8c..13a86f32e0 100644 --- a/docs/tutorials/javascript/amm/trade-with-auction-slot.md +++ b/docs/tutorials/javascript/amm/trade-with-auction-slot.md @@ -4,7 +4,7 @@ Follow the steps from the [Create an AMM](/docs/tutorials/javascript/amm/create- This example shows how to: -1. Calculate the exact cost of swapping one token for another in an AMM pool. +1. Calculate the exact cost of swapping one token for another in an [AMM](/docs/concepts/tokens/decentralized-exchange/automated-market-makers) pool. 2. Check the difference in trading fees with and without an auction slot. 3. Bid on an auction slot with LP tokens. 4. Create an offer to swap tokens with the AMM. diff --git a/docs/tutorials/public-servers.md b/docs/tutorials/public-servers.md index 6f302d19c7..166df4fd21 100644 --- a/docs/tutorials/public-servers.md +++ b/docs/tutorials/public-servers.md @@ -7,17 +7,22 @@ labels: - Core Server --- # Public Servers - If you don't [run your own `rippled` server](../infrastructure/installation/index.md), you can use the following public servers to submit transactions or read data from the ledger. -## Mainnet - +## Non-Commercial | Operator | [Network][] | JSON-RPC URL | WebSocket URL | Notes | |:----------|:------------|:-------------|:--------------|:---------------------| | XRP Ledger Foundation | **Mainnet** | `https://xrplcluster.com/`
      `https://xrpl.ws/` [²][] | `wss://xrplcluster.com/`
      `wss://xrpl.ws/` [²][] | Full history server cluster with CORS support. | | Ripple[¹][] | **Mainnet** | `https://s1.ripple.com:51234/` | `wss://s1.ripple.com/` | General purpose server cluster | | Ripple[¹][] | **Mainnet** | `https://s2.ripple.com:51234/` | `wss://s2.ripple.com/` | [Full-history server](../concepts/networks-and-servers/ledger-history.md#full-history) cluster | +## Commercial +| Operator | [Network][] | JSON-RPC | Notes | +|:----------|:------------|:-------------|:---------------------| +| XRP Ledger Foundation full history paid API via [Dhali](https://dhali.io/) | **Mainnet** | `https://run.api.dhali.io/199fd80b-1776-4708-b1a1-4b2bb386435d/` | You must [create a paid API key](https://pay.dhali.io/?uuids=199fd80b-1776-4708-b1a1-4b2bb386435d) and embed it in the request's `Payment-Claim` header. | +| [QuickNode](https://www.quicknode.com/chains/xrpl) | Testnet/Mainnet | N/A | QuickNode provides hosted XRPL RPC mainnet and testnet under their free and paid plans, granting flexible and reliable access to the network. + + ## Test Networks | Operator | [Network][] | JSON-RPC URL | WebSocket URL | Notes | @@ -31,6 +36,8 @@ If you don't [run your own `rippled` server](../infrastructure/installation/inde | XRPL Labs | Xahau Testnet | `https://xahau-test.net/` | `wss://xahau-test.net/` | [Hooks-enabled](https://hooks.xrpl.org/) Xahau Testnet | + + [Network]: ../concepts/networks-and-servers/parallel-networks.md [¹]: #footnote-1 [²]: #footnote-2 diff --git a/docs/tutorials/python/build-apps/build-a-desktop-wallet-in-python.md b/docs/tutorials/python/build-apps/build-a-desktop-wallet-in-python.md index e568b45e6a..dc567d5b00 100644 --- a/docs/tutorials/python/build-apps/build-a-desktop-wallet-in-python.md +++ b/docs/tutorials/python/build-apps/build-a-desktop-wallet-in-python.md @@ -430,7 +430,7 @@ You can now use your wallet to send XRP! You can even fund an entirely new accou 3. Open your wallet app and provide a **Secret** (seed) value from an already-funded address, such as one you got from the [Testnet Faucet](/resources/dev-tools/xrp-faucets). -4. Send at least the [base reserve](../../../concepts/accounts/reserves.md) (currently 10 XRP) to the brand-new classic address you generated in the Python interpreter. +4. Send at least the [base reserve](../../../concepts/accounts/reserves.md) (currently {% $env.PUBLIC_BASE_RESERVE %}) to the brand-new classic address you generated in the Python interpreter. 5. Wait for the transaction to be confirmed, then close your wallet app. diff --git a/docs/use-cases/tokenization/authorized-minter.md b/docs/use-cases/tokenization/authorized-minter.md index 56ff25678c..2eb5dc11b2 100644 --- a/docs/use-cases/tokenization/authorized-minter.md +++ b/docs/use-cases/tokenization/authorized-minter.md @@ -55,11 +55,11 @@ You can act as a broker, connecting sellers with bidders, completing the transfe ### Reserve requirements -There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of 2 XRP. A NFToken page can store 16-32 NFTs. +There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. A NFToken page can store 16-32 NFTs. ![Reserves](/docs/img/uc-nft-reserves.png) -Each `NFTokenOffer` object requires a reserve of 2 XRP. +Each `NFTokenOffer` object requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. When you post the `NFTokenOffer` or sell the NFT, there are trivial transfer fees (roughly 6000 drops, or .006 XRP). When you are selling at a high volume, the trivial amounts can add up quickly, and need to be considered as part of your cost of doing business. diff --git a/docs/use-cases/tokenization/digital-artist.md b/docs/use-cases/tokenization/digital-artist.md index 480c0d1614..d82fb93af6 100644 --- a/docs/use-cases/tokenization/digital-artist.md +++ b/docs/use-cases/tokenization/digital-artist.md @@ -49,9 +49,9 @@ You can sell your NFTs in an auction format. See [Running an NFT Auction](../../ ### Reserve requirements -There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of 2 XRP. A NFToken page can store 16-32 NFTs. +There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. A NFToken page can store 16-32 NFTs. -Each `NFTokenOffer` object requires a reserve of 2 XRP. +Each `NFTokenOffer` object requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. ![Reserves](/docs/img/uc-nft-reserves.png) diff --git a/docs/use-cases/tokenization/nft-mkt-overview.md b/docs/use-cases/tokenization/nft-mkt-overview.md index f281bebb2b..bc00db1b49 100644 --- a/docs/use-cases/tokenization/nft-mkt-overview.md +++ b/docs/use-cases/tokenization/nft-mkt-overview.md @@ -70,7 +70,7 @@ Once the authorized minter has finished creating NFTs for you, you can revoke th See [Authorized Minter](../../concepts/tokens/nfts/authorizing-another-minter.md). -Minted NFTs are listed on a `NFTokenPage`. There is a reserve requirement of 2 XRP for every `NFTokenPage` on your account. See [NFT Reserve Requirements](../../concepts/tokens/nfts/reserve-requirements.md). +Minted NFTs are listed on a `NFTokenPage`. There is a reserve requirement of {% $env.PUBLIC_OWNER_RESERVE %} for every `NFTokenPage` on your account. See [NFT Reserve Requirements](../../concepts/tokens/nfts/reserve-requirements.md). Each `NFTokenPage` holds 16-32 NFTs. Minting a large number of NFTs can tie up a great deal of your XRP. You can keep your XRP liquid by minting on demand (or _lazy minting_). For details of different approaches, see [Batch minting](../../concepts/tokens/nfts/batch-minting.md). @@ -79,7 +79,7 @@ Each `NFTokenPage` holds 16-32 NFTs. Minting a large number of NFTs can tie up a Set up a new wallet. See [Xaman](https://xaman.app/). -When you set up your account, keep in mind that there is a base reserve requirement of 10 XRP. See [Reserves](../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve). +When you set up your account, keep in mind that there is a base reserve requirement of {% $env.PUBLIC_BASE_RESERVE %}. See [Reserves](../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve). ### Transferring NFTs @@ -93,9 +93,9 @@ You can act as a broker, connecting sellers with bidders, completing the transfe #### Reserve requirements -There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of 2 XRP. A NFToken page can store 16-32 NFTs. +There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. A NFToken page can store 16-32 NFTs. -Each `NFTokenOffer` object requires a reserve of 2 XRP. +Each `NFTokenOffer` object requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. ![Reserves](/docs/img/uc-nft-reserves.png) diff --git a/docs/use-cases/tokenization/nftoken-marketplace.md b/docs/use-cases/tokenization/nftoken-marketplace.md index 060050be7a..7f7aebb3e0 100644 --- a/docs/use-cases/tokenization/nftoken-marketplace.md +++ b/docs/use-cases/tokenization/nftoken-marketplace.md @@ -43,11 +43,11 @@ You can act as a broker, connecting sellers with bidders, completing the transfe ### Reserve requirements -There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of 2 XRP. A NFToken page can store 16-32 NFTs. +There are several XRP reserve requirements when you mint NFTs for sale. Each NFToken page requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. A NFToken page can store 16-32 NFTs. ![Reserves](/docs/img/uc-nft-reserves.png) -Each `NFTokenOffer` object requires a reserve of 2 XRP. +Each `NFTokenOffer` object requires a reserve of {% $env.PUBLIC_OWNER_RESERVE %}. When you post the `NFTokenOffer` or sell the NFT, there are trivial transfer fees (roughly 6000 drops, or .006 XRP). When you are selling at a high volume, the trivial amounts can add up quickly, and need to be considered as part of your cost of doing business. diff --git a/docs/use-cases/tokenization/real-world-assets.page.tsx b/docs/use-cases/tokenization/real-world-assets.page.tsx index c707ace648..f6c30c992f 100644 --- a/docs/use-cases/tokenization/real-world-assets.page.tsx +++ b/docs/use-cases/tokenization/real-world-assets.page.tsx @@ -37,7 +37,7 @@ const benefitsData = [ }, { iconClass: "cross-chain", - title: "Cross-Chain Interoperability*", + title: "Cross-Chain Interoperability", description: "Enable seamless interaction with other blockchains via secure cross-chain bridges, allowing you to expand your project's functionality and liquidity options across ecosystems.", }, @@ -122,7 +122,7 @@ function FeatureCard({ title, description }) { return (
      -

      {title}

      +

      {translate(title)}

      {translate(description)}

      @@ -385,14 +385,15 @@ export default function RwaTokenization() {
      {translate("Developer Resources")}

      - {translate("Easily integrate with ")} + {translate("use-cases.rwa.dev-resources.p1", "Easily integrate with ")} - {translate("existing infrastructure ")} + {translate("use-cases.rwa.dev-resources.p2", "existing infrastructure ")} {translate( + "use-cases.rwa.dev-resources.p3", "and access resources to support your development journey. Fund your project with XRPL Grants or speak to our dev advocates today." )}

      diff --git a/index.page.tsx b/index.page.tsx index 744a65953f..c4a2c19d3d 100644 --- a/index.page.tsx +++ b/index.page.tsx @@ -76,7 +76,7 @@ const cards3 = [ description: 'Access everything you need to get started working with the XRPL', }, { href: '/docs/tutorials', title: 'Guided Tutorials', description: 'Follow step-by-step guides for frequent tasks' }, - { href: '/docs/concepts', title: 'XRPL Fundamentals', description: 'Read about the XRPL’s foundational concepts' }, + { href: '/docs/concepts', title: 'XRPL Fundamentals', description: 'Read about the XRPL\u2019s foundational concepts' }, { href: '/docs/references/client-libraries/', title: 'Choose a Language', @@ -112,7 +112,7 @@ export default function Index() {
      - (stylized X graphic surrounded by a diverse mix of people) + (stylized X graphic surrounded by a diverse mix of people)
      @@ -129,8 +129,8 @@ export default function Index() {
      - - + +
      @@ -254,7 +254,7 @@ export default function Index() {

      {translate('Connect at XRPL.org, a community by and for the developers ')}
      - {translate(' and entrepeneurs who rely on the XRPL.')} + {translate(' and entrepreneurs who rely on the XRPL.')}

      {translate('Get Involved')} diff --git a/locale/babel.cfg b/locale/babel.cfg deleted file mode 100644 index c7bfb23954..0000000000 --- a/locale/babel.cfg +++ /dev/null @@ -1,5 +0,0 @@ -# PyBabel is for extracting strings from templates -[jinja2: **/template/**.jinja] -encoding = utf-8 -[extractors] -jinja2 = jinja2.ext:babel_extract diff --git a/locale/ja/LC_MESSAGES/messages.mo b/locale/ja/LC_MESSAGES/messages.mo deleted file mode 100644 index ecab7b430a..0000000000 Binary files a/locale/ja/LC_MESSAGES/messages.mo and /dev/null differ diff --git a/locale/ja/LC_MESSAGES/messages.po b/locale/ja/LC_MESSAGES/messages.po deleted file mode 100644 index 4703387b31..0000000000 --- a/locale/ja/LC_MESSAGES/messages.po +++ /dev/null @@ -1,5077 +0,0 @@ -# Japanese translations for XRPL.org. -# Copyright (C) 2020 XRP Ledger Project -# This file is distributed under the same license as the XRPL.org project. -# Rome Reginelli , 2020. -# -msgid "" -msgstr "" -"Project-Id-Version: XRPL.org v0.0\n" -"Report-Msgid-Bugs-To: docs@ripple.com\n" -"POT-Creation-Date: 2023-09-27 01:30+0000\n" -"PO-Revision-Date: 2020-05-12 15:25-0700\n" -"Last-Translator: FULL NAME \n" -"Language: ja\n" -"Language-Team: ja \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.12.1\n" - -#: template/component-footer.html.jinja:25 -msgid "Open Source." -msgstr "オープンソース" - -#: template/component-footer.html.jinja:33 -msgid "Jump to top of page" -msgstr "ページの先頭へ" - -#: template/component-github-edit.html.jinja:26 -msgid "Edit page" -msgstr "ページを編集" - -# Tooltip on the button to close the search box -#: template/component-top-nav.html.jinja:69 template/page-404.html.jinja:11 -#, fuzzy -msgid "Search" -msgstr "検索" - -#: template/component-top-nav.html.jinja:70 -msgid "Search site..." -msgstr "サイトを検索" - -#: template/page-404.html.jinja:12 -msgid "Search for articles, training, and code samples..." -msgstr "記事、トレーニング、コードサンプルを検索..." - -#: template/page-ambassadors.html.jinja:27 -msgid "Become an XRP Ledger Campus Ambassador" -msgstr "XRP Ledgerキャンパスアンバサダーになる" - -#: template/page-ambassadors.html.jinja:28 -msgid "Join the Student Cohort" -msgstr "学生コミュニティに参加" - -#: template/page-ambassadors.html.jinja:30 -msgid "" -"The XRPL Campus Ambassador program engages, supports, connects, and " -"recognizes a group of student champions of the XRPL and empowers them to " -"further advance engagement on the ledger." -msgstr "XRPLキャンパスアンバサダープログラムは、XRPLの学生チャンピオンのグループを巻き込み、サポートし、つなげ、認識し、レジャーへの関与をさらに進めるための力を与えるものです。" - -#: template/page-ambassadors.html.jinja:45 -msgid "XRPL Campus Ambassadors" -msgstr "XRPLキャンパスアンバサダー" - -#: template/page-ambassadors.html.jinja:46 -msgid "Current Students" -msgstr "現役学生" - -#: template/page-ambassadors.html.jinja:48 -msgid "" -"The XRPL Campus Ambassador program aims to elevate the impact of college " -"students who are passionate about blockchain technology. In their role, " -"Campus Ambassadors help educate other students about crypto and how to " -"start building on the XRPL." -msgstr "XRPLキャンパスアンバサダープログラムは、ブロックチェーン技術に情熱を傾ける大学生の影響力を高めることを目的としています。その役割として、キャンパスアンバサダーは、クリプトとXRPLでの構築を開始する方法について他の学生を教育することを支援します。" - -#: template/page-ambassadors.html.jinja:78 -msgid "Why become an XRPL Campus Ambassador?" -msgstr "XRPLキャンパスアンバサダーになる理由" - -#: template/page-ambassadors.html.jinja:79 template/page-home.html.jinja:50 -#: template/page-xrp-overview.html.jinja:63 -msgid "Benefits" -msgstr "メリット" - -#: template/page-ambassadors.html.jinja:81 -msgid "Join a global cohort of students empowering others to build on the XRPL." -msgstr "XRPLをベースに他の人に力を与える、世界的な学生グループに参加しましょう。" - -#: template/page-ambassadors.html.jinja:94 -msgid "Exclusive Opportunities" -msgstr "特別な機会" - -#: template/page-ambassadors.html.jinja:95 -msgid "" -" Get access and invitations to Ambassador-only events, conferences, and " -"opportunities" -msgstr "アンバサダー限定のイベント、カンファレンス、チャンスの情報を入手できます。" - -#: template/page-ambassadors.html.jinja:102 -#: template/page-ambassadors.html.jinja:150 -msgid "Education" -msgstr "学習" - -#: template/page-ambassadors.html.jinja:103 -#: template/page-ambassadors.html.jinja:151 -msgid "Tutorials and workshops from leading XRPL and blockchain developers" -msgstr "トップクラスのXRPLおよびブロックチェーン開発者によるチュートリアルとワークショップ" - -#: template/page-ambassadors.html.jinja:110 -msgid "Swag" -msgstr "グッズ" - -#: template/page-ambassadors.html.jinja:111 -msgid "New XRPL swag for Ambassadors and swag to share with other students" -msgstr "アンバサダー用の特別なXRPLグッズと他の学生と共有できるグッズ" - -#: template/page-ambassadors.html.jinja:119 -#: template/page-ambassadors.html.jinja:158 -msgid "Mentorship" -msgstr "メンター" - -#: template/page-ambassadors.html.jinja:120 -#: template/page-ambassadors.html.jinja:159 -msgid "" -"Serve as an advocate and receive support from notable members of the " -"community" -msgstr "アドボケートとなり、コミュニティの主要メンバーからサポートを受ける" - -#: template/page-ambassadors.html.jinja:127 -#, fuzzy -msgid "Career Acceleration" -msgstr "キャリア促進" - -#: template/page-ambassadors.html.jinja:128 -msgid "" -"Gain hands-on experience building communities and grow your professional " -"network in the blockchain industry" -msgstr "ブロックチェーン業界におけるコミュニティ構築の経験を積み、プロフェッショナルなネットワークを拡大する" - -#: template/page-ambassadors.html.jinja:136 -#: template/page-ambassadors.html.jinja:166 -msgid "Stipend" -msgstr "奨学金" - -#: template/page-ambassadors.html.jinja:137 -#: template/page-ambassadors.html.jinja:167 -msgid "" -"Receive a stipend to fund your ideas and initiatives that fuel XRPL " -"growth on your campus" -msgstr "キャンパスでのXRPLの成長を促進するアイデアや イニシアチブの資金となる奨学金を受け取ります" - -#: template/page-ambassadors.html.jinja:187 -msgid "Should You Apply?" -msgstr "応募すべき?" - -#: template/page-ambassadors.html.jinja:188 -msgid "Eligibility for XRPL Campus Ambassadors" -msgstr "XRPLキャンパスアンバサダーの参加資格" - -#: template/page-ambassadors.html.jinja:190 -msgid "" -"Students currently enrolled in an undergraduate or postgraduate program " -"at an accredited college or university are eligible to apply." -msgstr "現在、認定された大学の学部または大学院に在籍している学生が応募可能です。" - -#: template/page-ambassadors.html.jinja:202 -msgid "A Leader" -msgstr "リーダー" - -#: template/page-ambassadors.html.jinja:203 -msgid "" -"Interested in leading meetups and workshops for your local campus " -"community" -msgstr "地元の学生コミュニティでミートアップやワークショップを開催することに関心を持っている" - -#: template/page-ambassadors.html.jinja:211 -#: template/page-ambassadors.html.jinja:250 -msgid "Active" -msgstr "アクティブ" - -#: template/page-ambassadors.html.jinja:212 -#: template/page-ambassadors.html.jinja:251 -msgid "" -"An active participant in the XRPL community or interested in blockchain " -"and crypto technologies" -msgstr "XRPLコミュニティに積極的に参加している、またはブロックチェーンや暗号技術に興味を持っている" - -#: template/page-ambassadors.html.jinja:219 -msgid "Curious" -msgstr "好奇心旺盛" - -#: template/page-ambassadors.html.jinja:220 -msgid "Eager to learn more about technical blockchain topics and the XRPL" -msgstr "技術的なブロックチェーンのトピックやXRPLについてより深く学びたい" - -#: template/page-ambassadors.html.jinja:228 -#: template/page-ambassadors.html.jinja:257 -msgid "Passionate" -msgstr "情熱的" - -#: template/page-ambassadors.html.jinja:229 -#: template/page-ambassadors.html.jinja:258 -msgid "" -"Passionate about increasing XRPL education and awareness through events, " -"content, and classroom engagement" -msgstr "イベント、コンテンツ、授業への参加を通じて、XRPLの教育と認知度を高めることに情熱を持っている" - -#: template/page-ambassadors.html.jinja:236 -msgid "Creative" -msgstr "クリエイティブ" - -#: template/page-ambassadors.html.jinja:237 -msgid "Ability to think outside the box to grow the XRPL student community" -msgstr "既成概念にとらわれず、XRPLの学生コミュニティを成長させる思考力" - -#: template/page-ambassadors.html.jinja:331 -msgid "Process to become a Campus Ambassador" -msgstr "キャンパスアンバサダー就任までの流れ" - -#: template/page-ambassadors.html.jinja:332 -msgid "How it Works" -msgstr "主な仕組み" - -#: template/page-ambassadors.html.jinja:335 -msgid "Apply now to become an XRPL Campus Ambassador." -msgstr "XRPLキャンパスアンバサダーになりたい方は今すぐ応募しましょう。" - -#: template/page-ambassadors.html.jinja:354 template/page-uses.html.jinja:309 -#: template/page-uses.html.jinja:334 -msgid "Apply" -msgstr "応募" - -#: template/page-ambassadors.html.jinja:355 -msgid "Submit an application to be considered for the Campus Ambassador program." -msgstr "キャンパスアンバサダープログラムの選考を受けるには、応募書類を提出してください。" - -#: template/page-ambassadors.html.jinja:363 -#: template/page-ambassadors.html.jinja:393 -#, fuzzy -msgid "Interview" -msgstr "面接" - -#: template/page-ambassadors.html.jinja:364 -#: template/page-ambassadors.html.jinja:394 -msgid "" -"Tell the XRPL community-led panel more about yourself and your interest " -"in the program during an interview." -msgstr "XRPLコミュニティが中心となって運営する委員との面接で、あなた自身について、またプログラムへの関心について詳しく話してください。" - -#: template/page-ambassadors.html.jinja:371 -msgid "Join" -msgstr "参加" - -#: template/page-ambassadors.html.jinja:372 -msgid "" -"Congrats on your new role! Join the global cohort of Ambassadors and meet" -" with community participants during onboarding." -msgstr "就任おめでとうございます!グローバルなアンバサダーグループに参加し、新しいコミュニティ参加者とお会いしましょう。" - -#: template/page-ambassadors.html.jinja:380 -#: template/page-ambassadors.html.jinja:400 -msgid "Learn" -msgstr "学習" - -#: template/page-ambassadors.html.jinja:381 -#: template/page-ambassadors.html.jinja:401 -msgid "" -"Participate in personalized learning and training sessions for " -"Ambassadors on the XRPL and blockchain technology." -msgstr "XRPLおよびブロックチェーン技術に関するアンバサダー向けの個別学習およびトレーニングセッションへ参加しましょう。" - -#: template/page-ambassadors.html.jinja:414 -msgid "Apply for Fall 2023" -msgstr "2023年秋の申し込み" - -#: template/page-ambassadors.html.jinja:431 -msgid "Join a global cohort of Student Ambassadors" -msgstr "学生アンバサダーのグローバルなコミュニティに参加する" - -#: template/page-ambassadors.html.jinja:432 -#, fuzzy -msgid "Global Community" -msgstr "グローバルコミュニティ" - -#: template/page-ambassadors.html.jinja:458 -msgid "Stay connected to the XRPL Campus Ambassadors" -msgstr "XRPL キャンパスアンバサダーとの繋がりを持つ" - -#: template/page-ambassadors.html.jinja:459 template/page-impact.html.jinja:146 -#: template/page-impact.html.jinja:167 -#, fuzzy -msgid "Connect" -msgstr "繋がる" - -#: template/page-ambassadors.html.jinja:462 -msgid "" -"To stay up-to-date on the latest activity, meetups, and events of the " -"XRPL Campus Ambassadors be sure to follow these channels:" -msgstr "XRPL キャンパスアンバサダーの最新の活動、ミートアップ、イベントに関する最新情報を得るには、次のチャンネルをフォローしましょう。" - -#: template/page-ambassadors.html.jinja:477 -msgid "MeetUp" -msgstr "ミートアップ" - -#: template/page-ambassadors.html.jinja:478 -msgid "Attend an XRPL Meetup in your local area" -msgstr "地域のXRPLミートアップに参加しましょう。" - -#: template/page-ambassadors.html.jinja:484 -#, fuzzy -msgid "Dev.to Blog" -msgstr "Dev.to ブログ" - -#: template/page-ambassadors.html.jinja:485 -msgid "Read more about the activity of the XRPL Ambassadors" -msgstr "XRPLアンバサダーの活動についてもっと知る。" - -#: template/page-ambassadors.html.jinja:496 -msgid "Discord" -msgstr "" - -#: template/page-ambassadors.html.jinja:497 -msgid "Join the conversation on the XRPL Developer Discord" -msgstr "XRPL開発者Discordで意見交換しましょう。" - -#: template/page-code-samples.html.jinja:13 -msgid "Start Building with Example Code" -msgstr "コードサンプルから開発を始める" - -#: template/page-code-samples.html.jinja:14 -msgid "Code Samples" -msgstr "コードサンプル" - -#: template/page-code-samples.html.jinja:26 -msgid "Browse sample code for building common use cases on the XRP Ledger" -msgstr "XRP Ledger上で一般的なユースケースを構築するためのコードサンプルを見ることができます" - -#: template/page-code-samples.html.jinja:65 -msgid "Contribute Code Samples" -msgstr "コードサンプルへの貢献" - -#: template/page-code-samples.html.jinja:66 -msgid "Help the XRPL community by submitting your
      own code samples" -msgstr "コードサンプルを投稿して、XRPLコミュニティに貢献しましょう" - -#: template/page-community.html.jinja:33 -msgid "Open for Business,
       Driven to Innovate" -msgstr "" - -#: template/page-community.html.jinja:34 -msgid "The XRPL Community" -msgstr "XRPL コミュニティ" - -#: template/page-community.html.jinja:42 -msgid "Find the community on the platforms below" -msgstr "以下のプラットフォームでコミュニティにアクセスできます。" - -#: template/page-community.html.jinja:43 -msgid "Join the Conversation" -msgstr "参加する" - -#: template/page-community.html.jinja:87 -msgid "Run an XRP Ledger network node" -msgstr "XRP Ledgerのネットワークノードを実行する" - -#: template/page-community.html.jinja:88 -msgid "Contribute to Consensus" -msgstr "コンセンサスへの貢献" - -#: template/page-community.html.jinja:121 -#, fuzzy -msgid "Apply for funding to build your XRPL project" -msgstr "将来のXRPLプロジェクトのための資金調達に応募する" - -#: template/page-community.html.jinja:122 template/page-funding.html.jinja:134 -msgid "XRPL Grants" -msgstr "" - -#: template/page-community.html.jinja:124 -#, fuzzy -msgid "" -"The XRPL Grants program funds select open-source projects that solve " -"problems and grow the XRP Ledger community." -msgstr "" -"XRPL Grantsプログラムは、拡大を続ける XRP Ledger " -"コミュニティに貢献する厳選されたオープンソースプロジェクトに資金を提供します。" - -#: template/page-community.html.jinja:128 -msgid "Apply for a Grant" -msgstr "" - -#: template/page-community.html.jinja:134 -msgid "Awarded in a single grant" -msgstr "1回のGrantでの助成金" - -#: template/page-community.html.jinja:138 -msgid "Distributed to grant recipients" -msgstr "助成対象者への配布" - -#: template/page-community.html.jinja:142 -msgid "Open-source projects funded " -msgstr "オープンソースプロジェクトへの資金提供" - -#: template/page-community.html.jinja:148 template/page-events.html.jinja:56 -#: template/page-home.html.jinja:161 template/page-xrpl-overview.html.jinja:99 -msgid "Learn More" -msgstr "もっと知る" - -#: template/page-community.html.jinja:164 -msgid "Showcase your XRPL project, application or product" -msgstr "XRPLプロジェクト、アプリケーション、製品の紹介" - -#: template/page-community.html.jinja:165 -msgid "XRPL Community Spotlight" -msgstr "XRPL コミュニティの紹介" - -#: template/page-community.html.jinja:167 -#, fuzzy -msgid "" -"Get featured on the Developer Reflections blog or Blockchain Use Cases page, and explore XRPL " -"community highlights." -msgstr "" -"開発者向けブログ「Developer Reflections」や「Use " -"Cases」ページでの紹介や、XRPLコミュニティのハイライトなどをご紹介します。" - -#: template/page-community.html.jinja:174 -msgid "Submit Your Projects" -msgstr "プロジェクトを登録する" - -#: template/page-community.html.jinja:175 -msgid "Read the Blog" -msgstr "ブログを読む" - -#: template/page-community.html.jinja:191 -#: template/page-community.html.jinja:216 -msgid "Welcome to Apex 2021" -msgstr "" - -#: template/page-community.html.jinja:195 -#: template/page-community.html.jinja:220 -msgid "XRPL Community Meetup" -msgstr "" - -#: template/page-community.html.jinja:199 -#: template/page-community.html.jinja:224 -msgid "XRPL Hackathon 2022" -msgstr "" - -#: template/page-community.html.jinja:206 -msgid "Check out global events across the XRPL community" -msgstr "XRPLコミュニティで開催されるグローバルなイベントをチェック" - -#: template/page-community.html.jinja:207 -msgid "XRPL Events" -msgstr "XRPLイベント" - -#: template/page-community.html.jinja:209 -msgid "" -"Meet the XRPL community at meetups, hackathons, conferences, and more " -"across global regions." -msgstr "世界各地でのミートアップ、ハッカソン、カンファレンスなどでXRPLコミュニティと出会えます。" - -#: template/page-community.html.jinja:229 -#, fuzzy -msgid "View All Events" -msgstr "全てのイベントを見る" - -#: template/page-community.html.jinja:247 -msgid "Discover your next career opportunity in the XRPL community" -msgstr "XRPLコミュニティであなたの次のキャリアを見つけましょう" - -#: template/page-community.html.jinja:248 -#, fuzzy -msgid "XRPL Careers" -msgstr "XRPLキャリア" - -#: template/page-community.html.jinja:250 -msgid "" -"Teams across the XRPL community are looking for talented individuals to " -"help build their next innovation." -msgstr "XRPLコミュニティの各チームは、次のイノベーションの構築に貢献する優秀な人材を求めています。" - -#: template/page-community.html.jinja:256 -msgid "View Open Roles" -msgstr "募集職種を見る" - -#: template/page-community.html.jinja:268 -msgid "Review guidelines for using XRPL design assets" -msgstr "XRPLのデザインアセットを使用するためのガイドラインを確認" - -#: template/page-community.html.jinja:269 -msgid "XRPL Assets" -msgstr "XRPLのアセット" - -#: template/page-community.html.jinja:271 -msgid "" -"Just like the technology itself, XRPL assets are open source and " -"available for anyone to use. Check out this helpful framework for using " -"XRPL visuals. " -msgstr "" -"テクノロジーそのものと同様に、XRPLアセットもオープンソースであり、誰でも利用することができます。XRPL " -"のデータを使用するためのフレームワークをご覧ください。" - -#: template/page-community.html.jinja:279 -msgid "Download the PDF and Assets" -msgstr "PDFとアセットをダウンロード" - -#: template/page-community.html.jinja:297 -#, fuzzy -msgid "A community-driven resource for all things XRPL.org" -msgstr "XRPとXRP Ledgerのあらゆるものを提供する、コミュニティ主体のリソース" - -#: template/page-community.html.jinja:298 -msgid "Contribute to XRPL.org" -msgstr "XRPL.orgに貢献する" - -#: template/page-community.html.jinja:300 -#, fuzzy -msgid "" -"Thank you for your interest in contributing to XRPL.org. This website was" -" created as an XRPL community resource and is meant to be a living, " -"breathing source of truth for XRP Ledger resources. This portal is open-" -"source and anyone can suggest changes." -msgstr "" -"XRPL.orgへの貢献に関心をお持ちいただき、ありがとうございます。このウェブサイトはXRPLコミュニティのリソースとして作成され、XRP " -"Ledgerのリソースの信頼できる生きた情報源となることを目的としています。このポータルはオープンソースであり、誰でも変更を提案することができます。" - -#: template/page-community.html.jinja:301 -msgid "Read Contributor Guidelines" -msgstr "コントリビュータガイドラインを読む" - -#: template/page-dev-tools.html.jinja:13 -msgid "" -"Use the developer tools to test, explore, and validate XRP Ledger\n" -" API requests and behavior." -msgstr "開発者ツールを使用して、XRP Ledger APIのリクエストと動作をテスト、調査、検証してみましょう。" - -#: template/page-dev-tools.html.jinja:16 -msgid "Dev Tools" -msgstr "開発者ツール" - -#: template/page-dev-tools.html.jinja:28 template/page-dev-tools.html.jinja:74 -#, fuzzy -msgid "Explorers" -msgstr "エクスプローラ" - -#: template/page-dev-tools.html.jinja:31 template/page-dev-tools.html.jinja:89 -msgid "API Access" -msgstr "APIアクセス" - -#: template/page-dev-tools.html.jinja:34 template/page-dev-tools.html.jinja:146 -#: template/page-uses.html.jinja:82 template/page-uses.html.jinja:299 -#, fuzzy -msgid "Other" -msgstr "その他" - -#: template/page-dev-tools.html.jinja:203 -msgid "Have an Idea For a Tool?" -msgstr "ツールのアイデアをお持ちですか?" - -#: template/page-dev-tools.html.jinja:204 -msgid "" -"Contribute to the XRP Ledger community by submitting your idea for a tool" -" or open a pull request if you've developed a tool." -msgstr "ツールのアイデアを提出したり、ツールを開発した場合はプルリクエストを開いて、XRP Ledgerコミュニティに貢献しましょう。" - -#: template/page-dev-tools.html.jinja:205 -msgid "Open a pull Request" -msgstr "プルリクエストを作成する" - -#: template/page-docs-index.html.jinja:8 -#, fuzzy -msgid "Full documentation index" -msgstr "全ドキュメントの目次" - -#: template/page-docs-index.html.jinja:9 -msgid "See Everything" -msgstr "全てを見る" - -#: template/page-docs.html.jinja:16 -msgid "XRP Ledger Developer Resources" -msgstr "XRP Ledger 開発者向けリソース" - -#: template/page-docs.html.jinja:17 -#, fuzzy -msgid "Documentation" -msgstr "XRP Ledger ドキュメント" - -#: template/page-docs.html.jinja:90 -msgid "rippled API Reference" -msgstr "rippled APIリファレンス" - -#: template/page-docs.html.jinja:94 -msgid "XRP Faucet" -msgstr "XRP Faucet" - -#: template/page-docs.html.jinja:98 -msgid "Getting Started with Python" -msgstr "Pythonを使ってみよう" - -#: template/page-docs.html.jinja:102 -msgid "Websocket API Tool" -msgstr "Websocket APIツール" - -#: template/page-docs.html.jinja:105 template/page-docs.html.jinja:226 -msgid "XRP Ledger Explorer" -msgstr "XRP Ledgerエクスプローラ" - -#: template/page-docs.html.jinja:112 -msgid "Advanced Payment Features" -msgstr "高度な支払い機能" - -#: template/page-docs.html.jinja:117 -msgid "Governance and the Amendment Process" -msgstr "ガバナンスとAmendmentプロセス" - -#: template/page-docs.html.jinja:122 -msgid "Federated Sidechains" -msgstr "連合サイドチェーン" - -#: template/page-docs.html.jinja:129 -msgid "On-Chain Finance" -msgstr "オンチェーン金融" - -#: template/page-docs.html.jinja:134 -#, fuzzy -msgid "Trade on the decentralized exchange" -msgstr "分散型取引所でトレード" - -#: template/page-docs.html.jinja:138 -#, fuzzy -msgid "Make payments" -msgstr "支払いを実行" - -#: template/page-docs.html.jinja:142 -#, fuzzy -msgid "Use specialized payment types" -msgstr "専門的な種類の支払いを行う" - -#: template/page-docs.html.jinja:148 template/page-home.html.jinja:103 -msgid "Tokens" -msgstr "トークン" - -#: template/page-docs.html.jinja:153 -#, fuzzy -msgid "Non-fungible Tokens" -msgstr "非代替性トークン" - -#: template/page-docs.html.jinja:157 -msgid "Issue a stablecoin" -msgstr "ステーブルコインを発行" - -#: template/page-docs.html.jinja:161 -msgid "Assign an authorized minter" -msgstr "認可Minterの割り当て" - -#: template/page-docs.html.jinja:167 template/page-uses.html.jinja:66 -#: template/page-uses.html.jinja:186 template/page-uses.html.jinja:293 -#: template/page-uses.html.jinja:394 -#, fuzzy -msgid "Payments" -msgstr "ペイメント" - -#: template/page-docs.html.jinja:172 -msgid "Peer to peer payments" -msgstr "直接支払い" - -#: template/page-docs.html.jinja:176 -#, fuzzy -msgid "Cross-currency payments" -msgstr "クロスカレンシー決済" - -#: template/page-docs.html.jinja:180 -#, fuzzy -msgid "Escrows" -msgstr "エスクロー" - -#: template/page-docs.html.jinja:191 -#, fuzzy -msgid "Intro to XRP Ledger" -msgstr "XRP Ledger クイックスタート" - -#: template/page-docs.html.jinja:196 -msgid "Accounts" -msgstr "アカウント" - -#: template/page-docs.html.jinja:201 template/page-home.html.jinja:91 -msgid "Decentralized Exchange" -msgstr "分散型取引所" - -#: template/page-docs.html.jinja:206 -#, fuzzy -msgid "Tokenization" -msgstr "Tokenization" - -#: template/page-docs.html.jinja:214 -#, fuzzy -msgid "Faucets" -msgstr "XRP Faucet" - -#: template/page-docs.html.jinja:217 -msgid "Get credentials and test-XRP for XRP Ledger Testnet or Devnet." -msgstr "XRP Ledger TestnetまたはDevnetでアカウントとテスト用XRPを取得しましょう" - -#: template/page-docs.html.jinja:220 -#, fuzzy -msgid "WebSocket Tool" -msgstr "Websocketツール" - -#: template/page-docs.html.jinja:223 -msgid "Send sample requests and get responses from the rippled API." -msgstr "サンプルリクエストを送信し、rippled APIからレスポンスを取得します。" - -#: template/page-docs.html.jinja:229 -msgid "" -"View validations of new ledger versions in real-time, chart the location " -"of servers in the XRP Ledger." -msgstr "新しいレジャーバージョンの検証結果をリアルタイムで表示し、XRP Ledger内のサーバの位置をチャートで表示します。" - -#: template/page-docs.html.jinja:232 template/page-tx-sender.html.jinja:30 -msgid "Transaction Sender" -msgstr "トランザクション送信ツール" - -#: template/page-docs.html.jinja:235 -msgid "" -"Test how your code handles various XRP Ledger transactions by sending " -"them over the Testnet to the address." -msgstr "コードが様々なXRP Ledgerのトランザクションをどのように処理するか、テストネットを通じてテストしましょう。" - -#: template/page-docs.html.jinja:244 -#, fuzzy -msgid "Concepts" -msgstr "コンセプト" - -#: template/page-docs.html.jinja:245 -#, fuzzy -msgid "" -"Learn the \"what\" and the \"why\" behind fundamental aspects of the XRP " -"Ledger." -msgstr "XRP Ledgerの基本的な機能の背景を学びましょう。" - -#: template/page-docs.html.jinja:246 -#, fuzzy -msgid "Read the Docs" -msgstr "ドキュメントを読む" - -#: template/page-docs.html.jinja:251 -#, fuzzy -msgid "Tutorials" -msgstr "チュートリアル" - -#: template/page-docs.html.jinja:252 -msgid "Get step-by-step guidance to perform common tasks with the XRP Ledger." -msgstr "XRP Ledgerで一般的な作業の手順をご覧ください。" - -#: template/page-docs.html.jinja:253 -#, fuzzy -msgid "View Tutorials" -msgstr "チュートリアルを見る" - -#: template/page-docs.html.jinja:258 -#, fuzzy -msgid "References" -msgstr "リファレンス" - -#: template/page-docs.html.jinja:259 -msgid "" -"Look up reference documentation for the XRP Ledger protocol, API methods," -" and more." -msgstr "XRP LedgerプロトコルやAPIメソッドなどのリファレンスドキュメントをご覧ください。" - -#: template/page-docs.html.jinja:260 -#, fuzzy -msgid "View References" -msgstr "リファレンスを見る" - -#: template/page-docs.html.jinja:267 -#, fuzzy -msgid "Use Cases" -msgstr "ユースケース" - -#: template/page-docs.html.jinja:276 -#, fuzzy -msgid "Getting Started" -msgstr "始めましょう" - -#: template/page-docs.html.jinja:280 -msgid "Quickstart to XRP Ledger" -msgstr "XRP Ledger クイックスタート" - -#: template/page-docs.html.jinja:282 -#, fuzzy -msgid "An introduction to fundamental aspects of the XRP Ledger." -msgstr "XRP Ledgerの基本的な機能の紹介" - -#: template/page-docs.html.jinja:288 -msgid "Get Started" -msgstr "始めましょう" - -#: template/page-docs.html.jinja:306 -#, fuzzy -msgid "Watch Full Series" -msgstr "全てのシリーズを見る" - -#: template/page-docs.html.jinja:314 -msgid "Interact with the XRP Ledger in a language of your choice" -msgstr "お好みの言語でXRP Ledgerへアクセスできます" - -#: template/page-docs.html.jinja:315 -#, fuzzy -msgid "Explore SDKs" -msgstr "SDKを探す" - -#: template/page-docs.html.jinja:327 -msgid "Javascript" -msgstr "" - -#: template/page-docs.html.jinja:337 -msgid "Python" -msgstr "" - -#: template/page-docs.html.jinja:347 -msgid "Java" -msgstr "" - -#: template/page-docs.html.jinja:361 -msgid "Intermediate Learning Sources" -msgstr "次の学習教材" - -#: template/page-docs.html.jinja:378 -msgid "Explore, Test, Verify" -msgstr "探索、テスト、検証" - -#: template/page-docs.html.jinja:379 -msgid "Explore Dev Tools" -msgstr "開発者ツールを探索" - -#: template/page-docs.html.jinja:382 -msgid "" -"Use these web-based tools to assist during all stages of development, " -"from getting your first payment to testing your implementation for best " -"practices." -msgstr "これらのウェブベースのツールを使用して、最初の支払いからベストプラクティスのための実装テストまで、開発のすべてのステージをサポートします。" - -#: template/page-docs.html.jinja:398 -msgid "Browse By Recommended Pages" -msgstr "おすすめのページを見る" - -#: template/page-docs.html.jinja:410 -msgid "Get Free Test XRP" -msgstr "テスト用XRPを入手" - -#: template/page-docs.html.jinja:411 -msgid "" -"Connect to the XRP Ledger Testnet network to develop and test your apps " -"built on the XRP Ledger, without risking real money or impacting " -"production XRP Ledger users." -msgstr "XRP Ledger Testnetネットワークに接続することで、XRP Ledger上に構築するアプリを開発・テストすることができます。" - -#: template/page-docs.html.jinja:412 -msgid "Generate Testnet Credentials" -msgstr "テストネットのアカウントを作成" - -#: template/page-docs.html.jinja:419 -#, fuzzy -msgid "See full documentation index" -msgstr "全ドキュメントの目次" - -#: template/page-events.html.jinja:27 -msgid "Find the XRPL Community Around the World" -msgstr "世界中のXRPLコミュニティを見つけよう" - -#: template/page-events.html.jinja:28 template/page-impact.html.jinja:131 -#: template/page-impact.html.jinja:159 -msgid "Events" -msgstr "イベント" - -#: template/page-events.html.jinja:42 -#, fuzzy -msgid "The XRPL Developer Summit" -msgstr "XRPL開発者サミット" - -#: template/page-events.html.jinja:43 -msgid "Save the Date" -msgstr "日程を確認" - -#: template/page-events.html.jinja:45 -msgid "" -"Apex is back and headed to Amsterdam. Apex XRPL Developer Summit is the " -"annual event where developers, contributors, and thought leaders come " -"together to learn, build, share, network, and celebrate all things XRP " -"Ledger." -msgstr "" -"Apexが帰ってきました!アムステルダムに向かいましょう。Apex " -"XRPL開発者サミットは、開発者、貢献者、思想家が集まり、学び、構築し、共有し、ネットワークし、XRP " -"Ledgerのすべてを祝う年に一度のイベントです。" - -#: template/page-events.html.jinja:66 -msgid "" -"Check out meetups, hackathons, and other events hosted by the XRPL " -"Community" -msgstr "XRPLコミュニティが主催するミートアップ、ハッカソン、その他のイベントをチェックしましょう。" - -#: template/page-events.html.jinja:67 -msgid "Upcoming Events" -msgstr "今後のイベント情報" - -#: template/page-events.html.jinja:494 -msgid "Explore past community-hosted events" -msgstr "過去のコミュニティ主催のイベントを見る" - -#: template/page-events.html.jinja:495 -msgid "Past Events" -msgstr "過去のイベント" - -#: template/page-faq2.html.jinja:17 template/pagetype-doc.html.jinja:25 -msgid "Sorry, this page is not available in your language." -msgstr "申し訳ありませんが、このページはお使いの言語では提供されていません。" - -#: template/page-faq2.html.jinja:18 template/pagetype-doc.html.jinja:26 -#, fuzzy -msgid "" -"We are making an effort to offer the XRP Ledger Dev Portal in a variety " -"of languages, but not all pages are available in all languages. If you'd " -"like to help, please contribute!" -msgstr "" -"XRP Ledger Dev " -"Portalをさまざまな言語で提供するよう取り組んでいますが、すべてのページがすべての言語で提供されているわけではありません。コンテンツの翻訳にご協力いただける場合は、ぜひ貢献をお願いいたします" - -#: template/page-faq2.html.jinja:23 template/pagetype-doc.html.jinja:31 -msgid "" -"This translated page is not updated to match the latest changes in the " -"English version." -msgstr "このページは、最新の英語版のコンテンツと一致していない場合があります。" - -#: template/page-faq2.html.jinja:24 template/pagetype-doc.html.jinja:32 -#, fuzzy -msgid "" -"We are making an effort to offer the XRP Ledger Dev Portal in a variety " -"of languages, but not all translated contents are up-to-date. If you'd " -"like to help, please contribute!" -msgstr "" -"XRP Ledger Dev " -"Portalをさまざまな言語で提供するよう取り組んでいますが、すべての翻訳ページが最新版として提供されているわけではありません。コンテンツの更新にご協力いただける場合は、ぜひ貢献をお願いいたします" - -#: template/page-funding.html.jinja:27 -msgid "XRPL Developer Funding Programs" -msgstr "XRPL開発者向け資金提供プログラム" - -#: template/page-funding.html.jinja:28 -msgid "Project Resources" -msgstr "プロジェクト資金" - -#: template/page-funding.html.jinja:36 -msgid "Explore funding opportunities for developers and teams" -msgstr "開発者やチームのための資金調達の方法を見つけましょう" - -#: template/page-funding.html.jinja:37 -msgid "Funding Overview" -msgstr "資金調達の概要" - -#: template/page-funding.html.jinja:39 -msgid "" -"If you’re a software developer or team looking to build your next project" -" or venture on the XRP Ledger (XRPL), there are a number of opportunities" -" to fund your next innovation." -msgstr "" -"あなたがXRP " -"Ledger(XRPL)上に次のプロジェクトやベンチャーを構築しようとしているソフトウェア開発者やチームであれば、次のイノベーションに資金を提供するチャンスは数多く存在します。" - -#: template/page-funding.html.jinja:50 -msgid "XRPL Hackathons" -msgstr "XRPLハッカソン" - -#: template/page-funding.html.jinja:51 -msgid "Join an Event" -msgstr "イベントに参加" - -#: template/page-funding.html.jinja:53 -msgid "" -"Hackathons are open to all developers to explore and invent a project on " -"the XRP Ledger. Visit the events page for updates on upcoming hackathons." -msgstr "" -"ハッカソンは、XRP " -"Ledger上のプロジェクトを調査・考案するために、すべての開発者に開放されています。今後のハッカソンに関する最新情報は、イベントページでご確認ください。" - -#: template/page-funding.html.jinja:56 template/page-funding.html.jinja:121 -msgid "See Upcoming Events" -msgstr "今後のイベントを見る" - -#: template/page-funding.html.jinja:67 template/page-funding.html.jinja:156 -#: template/page-funding.html.jinja:239 -#, fuzzy -msgid "Best for" -msgstr "こんな方に最適" - -#: template/page-funding.html.jinja:68 -msgid "Software developers and teams building directly on the XRP Ledger" -msgstr "XRP Ledger上のソフトウェア開発者やXRP Ledger上で直接開発を行うチーム" - -#: template/page-funding.html.jinja:75 template/page-funding.html.jinja:104 -#: template/page-funding.html.jinja:164 template/page-funding.html.jinja:192 -#: template/page-funding.html.jinja:247 template/page-funding.html.jinja:276 -msgid "Required" -msgstr "必須要件" - -#: template/page-funding.html.jinja:76 template/page-funding.html.jinja:105 -msgid "Some coding experience" -msgstr "コーディング経験" - -#: template/page-funding.html.jinja:82 template/page-funding.html.jinja:171 -#: template/page-funding.html.jinja:254 -msgid "Level" -msgstr "レベル" - -#: template/page-funding.html.jinja:83 -msgid "XRPL beginner to advanced developers" -msgstr "XRPLの初級開発者から上級開発者まで" - -#: template/page-funding.html.jinja:91 template/page-funding.html.jinja:112 -#: template/page-funding.html.jinja:179 template/page-funding.html.jinja:200 -#: template/page-funding.html.jinja:263 template/page-funding.html.jinja:284 -#, fuzzy -msgid "Funding Levels" -msgstr "資金調達の規模" - -#: template/page-funding.html.jinja:92 template/page-funding.html.jinja:113 -msgid "Prize money and awards" -msgstr "賞金および賞品" - -#: template/page-funding.html.jinja:135 -msgid "Fund Your Project" -msgstr "プロジェクトの資金調達" - -#: template/page-funding.html.jinja:137 -#, fuzzy -msgid "" -"Developer grants for projects that contribute to the growing XRP Ledger " -"community." -msgstr "成長するXRP Ledgerコミュニティに貢献するプロジェクトに開発者助成金を提供します。" - -#: template/page-funding.html.jinja:140 -msgid "Past awardees include:" -msgstr "過去の受賞者は次の通り:" - -#: template/page-funding.html.jinja:145 template/page-funding.html.jinja:210 -msgid "Visit XRPL Grants" -msgstr "XRPL Grantsを見る" - -#: template/page-funding.html.jinja:157 -msgid "" -"Software developers, teams, and start-ups building directly on the XRP " -"Ledger" -msgstr "XRP Ledger上で直接開発を行うソフトウェア開発者やチーム、スタートアップ企業" - -#: template/page-funding.html.jinja:165 -#, fuzzy -msgid "" -"Coding experience Github " -"repository Project " -"narrative/description At " -"least one developer on the core team Budget and milestones" -msgstr "" -"コーディング経験 Githubリポジトリ プロジェクトの説明 コアチームに最低1人の開発者 予算とマイルストーン" - -#: template/page-funding.html.jinja:172 -msgid "XRPL intermediate to advanced developers" -msgstr "XRPLの中級開発者から上級開発者" - -#: template/page-funding.html.jinja:180 template/page-funding.html.jinja:201 -msgid "$10,000 - $200,000" -msgstr "$10,000 ~ $200,000" - -#: template/page-funding.html.jinja:193 -msgid "" -"Coding experience Github " -"repository Project " -"narrative/description At " -"least one developer on the core team Budget and milestone" -msgstr "" -"コーディング経験 Githubリポジトリ プロジェクトの説明 コアチームに最低1人の開発者 予算とマイルストーン" - -#: template/page-funding.html.jinja:222 -#, fuzzy -msgid "XRPL Accelerator" -msgstr "XRPLアクセラレータ" - -#: template/page-funding.html.jinja:223 -msgid "Advance your project" -msgstr "プロジェクトの推進" - -#: template/page-funding.html.jinja:225 -msgid "" -"12-week program for entrepreneurs building on the XRP Ledger to scale " -"their projects into thriving businesses." -msgstr "XRP Ledgerをベースにした起業家向けの12週間のプログラムで、プロジェクトを繁栄するビジネスへとスケールアップさせることができます。" - -#: template/page-funding.html.jinja:228 template/page-funding.html.jinja:293 -msgid "View XRPL Accelerator" -msgstr "XRPLアクセラレータを見る" - -#: template/page-funding.html.jinja:240 -msgid "" -"Start-ups building scalable products on XRPL that can capture a large " -"market opportunity" -msgstr "XRPL上でスケーラブルなプロダクトを構築し、大きな市場機会を獲得できるスタートアップ企業" - -#: template/page-funding.html.jinja:248 template/page-funding.html.jinja:277 -msgid "" -" Strong founding team
      " -" Bold, ambitious vision " -"
      Ideally an MVP and " -"monetization strategy" -msgstr "" -" 強力な創業チーム
      大胆で野心的なビジョン
      理想のMVPと収益化戦略" - -#: template/page-funding.html.jinja:255 -msgid "" -" XRPL advanced developers " -"
      Business acumen" -msgstr "" -" XRPLの上級開発者
      ビジネス能力" - -#: template/page-funding.html.jinja:264 template/page-funding.html.jinja:285 -msgid "$50,000 (grant) + pitch for venture funding" -msgstr "$50,000(助成金)+ベンチャー資金へのピッチ" - -#: template/page-history.html.jinja:28 -msgid "Provide a Better Alternative to Bitcoin" -msgstr "Bitcoinに代わる選択肢" - -#: template/page-history.html.jinja:29 -msgid "XRPL's Origin" -msgstr "XRPLの原点" - -#: template/page-history.html.jinja:36 -#, fuzzy -msgid "" -"In 2011, three engineers—David Schwartz, Jed McCaleb, and Arthur " -"Britto—began developing the XRP Ledger (XRPL). Fascinated by Bitcoin, " -"they set out to create a better version that improved upon its " -"limitations—with the goal of creating a digital asset that was more " -"sustainable and built specifically for payments." -msgstr "" -"2011年、David Schwartz、Jed McCaleb、Arthur Brittoの3人のエンジニアがXRP " -"Ledger(XRPL)の開発を開始しました。Bitcoinに魅了されていた3人は、Bitcoinが持つ制約を改善したより優れたバージョンを作ることを目指し、さらに持続可能で決済に特化したデジタルアセットを構築するという目標を掲げました。" - -#: template/page-history.html.jinja:37 -#, fuzzy -msgid "" -"The XRP Ledger first launched in June 2012. Shortly thereafter, they were" -" joined by Chris Larsen, and the group started the Company NewCoin in " -"September 2012 (quickly renamed OpenCoin and now named Ripple)." -msgstr "" -"XRP Ledgerが初めてローンチされたのは2012年6月のことです。そのすぐ後にChris " -"Larsenが加わり、2012年9月にOpenCoinという会社を創設しました(その後社名はOpenCoinに変わり、現在はRippleという名前になっています)。" - -#: template/page-history.html.jinja:38 -msgid "" -"The XRPL founders gifted 80 billion XRP, the platform’s native currency, " -"to the company. Ripple has since put the majority in escrow." -msgstr "XRPLの創設者は、プラットフォームのネイティブ通貨である800億XRPを同社に贈与しました。その後、Ripple社はその大半をエスクローに預けています。" - -#: template/page-history.html.jinja:54 -msgid "2011 XRP Ledger Development" -msgstr "2011年、XRP Ledgerの開発" - -#: template/page-history.html.jinja:57 -msgid "" -"In early 2011, three developers—David Schwartz, Jed McCaleb, and Arthur " -"Britto—were fascinated with Bitcoin but observed the waste inherent in " -"mining. They sought to create a more sustainable system for sending value" -" (an idea outlined in a May 2011 forum post: “Bitcoin without mining”)." -msgstr "" -"2011年初頭、David Schwartz、Jed McCaleb、Arthur " -"Brittの3人の開発者は、Bitcoinに魅了されながらも、Bitcoinに潜む問題を考えていました彼らは、より持続可能な価値の送信システムを作ろうとしました。(このアイデアは、2011年5月のフォーラムへの投稿「Bitcoin without " -"mining」で概説されています)。" - -#: template/page-history.html.jinja:60 -#, fuzzy -msgid "" -"Their initial observations about the high energy consumption and " -"scalability issues that would plague Bitcoin proved prescient. In 2019, " -"estimates suggest Bitcoin mining used more energy than the entire country" -" of Portugal. Moreover, their initial read indicated that significant " -"problems could arise if any miner obtained (or miners colluded to obtain)" -" greater than 50% of the mining power. That risk persists with " -"Bitcoin (and Ethereum) today as mining power has consolidated in China." -msgstr "" -"莫大なエネルギー消費量とスケーラビリティの問題が将来的にBitcoinを悩ませるだろうという最初の気付きには先見の明があったことが実証されました。(2019年には、Bitcoinのマイニングに使用されたエネルギー量はポルトガルの国全体のエネルギー消費量を上回ったと推定されています)。また、3人は当初から、もしいずれかのマイナー(または共謀したマイナー集団)がマイニングパワーの50%以上を獲得した場合、深刻な問題が発生するであろうと考えていました。Bitcoin(とEthereum)のマイニングパワーは中国に集中しているため、現在もなおそのリスクを抱えています。" - -#: template/page-history.html.jinja:68 -msgid "XRPL Launches its Native Currency, XRP" -msgstr "XRPL、ネイティブ通貨「XRP」がローンチ" - -#: template/page-history.html.jinja:71 -msgid "" -"The trio of developers continued the work to build a distributed ledger " -"that improved upon these fundamental limitations of Bitcoin, originally " -"naming the code Ripple. The ledger included a digital asset that would " -"originally be called “ripples” (XRP as the currency code) to follow the " -"same naming convention as Bitcoin (BTC). At the time, the name Ripple " -"stood for the open-source project, the unique consensus ledger (Ripple " -"Consensus Ledger), transaction protocol (Ripple Transaction Protocol or " -"RTXP), the network (Ripple network), and the digital asset (known as " -"“ripples”)." -msgstr "" -"3人の開発者は、このようなBitcoinの基本的な限界を改善した分散型台帳を構築する作業を続け、当初そのコードを「Ripple」と命名しました。この台帳には、Bitcoin(BTC)と同じ命名規則に従って、当初は「ripples」(通貨コードとしてはXRP)と呼ばれるデジタル資産が含まれていました。当時、Rippleはオープンソースプロジェクト、独自のコンセンサスレジャー(Ripple" -" Consensus Ledger)、トランザクションプロトコル(Ripple Transaction " -"ProtocolまたはRTXP)、ネットワーク(Ripple network)、デジタルアセット(「ripples」と呼称)を表す名称でした。" - -#: template/page-history.html.jinja:74 -#, fuzzy -msgid "" -"In practice, this approach led to many broad uses of “Ripple.” For " -"clarity, the community simply started calling the digital asset by its " -"currency code, “XRP.”" -msgstr "このアプローチでは「Ripple」という言葉が幅広い意味でよく使われるため、コミュニティでは明確にするためにデジタルアセットを「XRP」と呼び始めました。" - -#: template/page-history.html.jinja:75 -#, fuzzy -msgid "" -"By June 2012, Schwartz, McCaleb, and Britto finished code development, " -"and the Ledger was complete." -msgstr "2012年6月には、Schwartz、McCaleb、Brittoがコードの開発を完了し、XRP Ledgerが完全に機能するようになっていました。" - -#: template/page-history.html.jinja:76 -#, fuzzy -msgid "" -"Once the XRP Ledger was live, 80% of the XRP was gifted to a new " -"company that set out to build use cases for the digital asset—initially " -"called NewCoin and renamed quickly to OpenCoin." -msgstr "" -"XRP " -"Ledgerが完全に機能するようになると、XRPの80%がこの会社に贈与されました。当初の名前はNewCoinでしたが、すぐにOpenCoinという名前に変更されました。" - -#: template/page-history.html.jinja:77 -msgid "" -"Chris Larsen was the CEO of OpenCoin, and at the company's founding, Jed " -"was co-founder and CTO, David Schwartz was the Chief Cryptography " -"Officer, and Arthur Britto an advisor." -msgstr "" -"Chris LarsenがOpenCoinのCEOになり、創業時点では、Jed McCalebが共同創業者兼CTO、David " -"Schwartzが最高暗号技術責任者、Arthur Brittoが相談役でした。" - -#: template/page-history.html.jinja:85 -#, fuzzy -msgid "OpenCoin Rebranded to Ripple Labs" -msgstr "2013年、OpenCoinからRipple Labsにブランド変更" - -#: template/page-history.html.jinja:88 -msgid "" -"Since the early days, OpenCoin set out to revolutionize the global " -"financial system. Despite the revolutionary ideals of many of Bitcoin’s " -"early believers, Larsen never thought blockchain technology should be " -"used to overthrow the existing financial system. He believed that " -"history’s most transformative innovations have always relied on the great" -" ideas that came before them—not displacing them." -msgstr "OpenCoinはその初期から、世界の金融システムに革命を起こすことを目標としていました。Bitcoinの初期の賛同者の多くが革命的な理想を抱いていたにもかかわらず、Larsenはブロックチェーン技術が既存の金融システムを転覆させるために使用さわれるべきではないと考えていました。彼は、歴史上最も革新的なイノベーションは、常にその前に現れた偉大なアイデアに依存しており、それらを置き換えるものではないと信じていました。" - -#: template/page-history.html.jinja:91 -#, fuzzy -msgid "" -"In early conversations with potential customers, the team was asked about" -" the differences between the Ripple project and OpenCoin company. With " -"the community starting to refer to the digital asset as XRP, company " -"leaders decided to rebrand the company to Ripple Labs, which has been " -"shortened over time to “Ripple.”" -msgstr "" -"創立して間もないころ、見込み顧客との商談のなかで、Rippleプロジェクトと会社であるOpenCoinとの違いについて尋ねられました。コミュニティではデジタルアセットを通貨コードである「XRP」と広く呼ぶようになっていたことから、経営陣は会社をRipple" -" Labsというブランドに変更することを決めました。それが次第に短縮して「Ripple」と呼ばれるようになりました。" - -#: template/page-history.html.jinja:92 -#, fuzzy -msgid "" -"Today, Ripple has created a use case leveraging the XRP Ledger and XRP " -"for liquidity management in its cross-border payments business. Ripple " -"also remains a stakeholder and contributor to the broader XRPL community." -msgstr "" -"現在、この会社は自社の国際送金事業でXRPとXRP " -"Ledgerを流動性管理に使用しています。Ripple社は今でも、広範なXRPコミュニティのステークホルダーでありコントリビューターです。" - -#: template/page-history.html.jinja:100 -msgid "XRPL Foundation Launched" -msgstr "XRPL財団の創設" - -#: template/page-history.html.jinja:103 -#, fuzzy -msgid "" -"Founded September 24, 2020, the XRPL " -"Foundation is an independent and nonprofit entity with a mission to " -"accelerate the development and adoption of the decentralized XRP Ledger. " -"The Foundation received an initial donation of over $6.5M from Coil, " -"Ripple, and Gatehub to fund the Foundation’s work in service of the " -"growing number of developers and other global " -"blockchain community members building on the XRP Ledger." -msgstr "" -"2020年9月24日に設立されたXRPL財団は、分散化されたXRP " -"Ledgerの開発と採用を加速させることをミッションとする独立した非営利団体です。財団は、XRP Ledger " -"を構築する開発者やその他のコミュニティメンバーの増加に対応するための財団の活動資金として、Coil、Ripple、Gatehubから650万ドルを超える初期寄付金の提供を受けています。" - -#: template/page-home.html.jinja:27 -msgid "The Blockchain
      Built for Business" -msgstr "ビジネスのための
      ブロックチェーン" - -#: template/page-home.html.jinja:28 -msgid "XRPL | XRP Ledger" -msgstr "" - -#: template/page-home.html.jinja:30 -msgid "Start Building" -msgstr "始める" - -#: template/page-home.html.jinja:41 -msgid "The XRP Ledger: The Blockchain Built for Business" -msgstr "XRP Ledger: ビジネスのためのブロックチェーン" - -#: template/page-home.html.jinja:42 -#, fuzzy -msgid "" -"The XRP Ledger (XRPL) is a decentralized, public blockchain led by a " -"global community of businesses and developers looking to solve problems " -"and create value." -msgstr "" -"XRP " -"Ledger(XRPL)は、問題解決と価値創造を目指す企業や開発者たちのグローバルコミュニティが主導する分散型のパブリックブロックチェーンです。" - -#: template/page-home.html.jinja:43 -msgid "" -"Proven reliable over more than a decade of error-free functioning, the " -"XRPL offers streamlined development, low transaction costs, high " -"performance, and sustainability. So you can build with confidence–and " -"move your most critical projects forward." -msgstr "10年以上にわたって機能し、高い信頼性が実証されているXRPLは、合理化された開発、低い取引コスト、高いパフォーマンス、そして持続可能性を提供します。これにより、我々は安心して開発し、プロジェクトに専念することができます。" - -#: template/page-home.html.jinja:49 -msgid "Why developers choose the XRP Ledger" -msgstr "開発者がXRP Ledgerを選択する理由" - -#: template/page-home.html.jinja:55 -#, fuzzy -msgid "Public and Decentralized" -msgstr "パブリック&分散型" - -#: template/page-home.html.jinja:56 -msgid "Open source, open to anyone to build on, maintained by the community" -msgstr "オープンソースで、誰でも構築でき、コミュニティによって維持されています" - -#: template/page-home.html.jinja:58 -#, fuzzy -msgid "Streamlined Development" -msgstr "効率的な開発" - -#: template/page-home.html.jinja:59 -#, fuzzy -msgid "Intentional innovations, tools and documentation reduce time to market" -msgstr "開発のスピードアップと市場投入までの時間短縮を実現するツールとドキュメントがあります" - -#: template/page-home.html.jinja:61 -msgid "High Performance" -msgstr "高パフォーマンス" - -#: template/page-home.html.jinja:62 -#, fuzzy -msgid "Thousands of transactions settled in seconds" -msgstr "数千件のトランザクションを数秒で決済することが可能です" - -#: template/page-home.html.jinja:64 -#, fuzzy -msgid "Low Cost" -msgstr "低コスト" - -#: template/page-home.html.jinja:65 -#, fuzzy -msgid "" -"At fractions of a penny per transaction, costs are inexpensive enough to " -"enable a wide variety of blockchain use cases" -msgstr "" -"1トランザクションあたり1円以下のコストで、さまざまなブロックチェーンのユースケースを実現することができます。" - -#: template/page-home.html.jinja:67 -#, fuzzy -msgid "Motivated Community" -msgstr "活発なコミュニティ" - -#: template/page-home.html.jinja:68 -#, fuzzy -msgid "" -"Companies, developers, validators, and users work together to make the " -"XRP Ledger better every day" -msgstr "開発者、バリデータ、ユーザ、そして企業によって、XRP Ledgerは日々進化しています" - -#: template/page-home.html.jinja:70 -msgid "Proven Reliability" -msgstr "確かな信頼性" - -#: template/page-home.html.jinja:71 -#, fuzzy -msgid "" -"10+ years of error-free, uninterrupted performance over more than 63 " -"million ledgers" -msgstr "10年以上、6,300万件以上のレジャーで安定したパフォーマンスを実現しています" - -#: template/page-home.html.jinja:85 -#, fuzzy -msgid "" -"Activate the proven potential of the XRP Ledger and find a trusted " -"foundation for your next innovation" -msgstr "XRP Ledgerの性能を発揮する、次のイノベーションのための要素を見つけよう" - -#: template/page-home.html.jinja:86 -msgid "Powerful Features" -msgstr "パワフルな機能" - -#: template/page-home.html.jinja:92 -msgid "" -"A high-performance decentralized peer-to-peer multi-currency exchange " -"built directly into the blockchain" -msgstr "ブロックチェーンに直接組み込まれた高性能な分散型P2P多通貨取引所" - -#: template/page-home.html.jinja:94 -#, fuzzy -msgid "Cross-Currency Payments" -msgstr "クロスカレンシー決済" - -#: template/page-home.html.jinja:95 -msgid "" -"Atomically settle multi-hop payments that cross currency or national " -"boundaries with ease" -msgstr "通貨や国境を越えたマルチホップ決済を瞬時に行うことが可能です" - -#: template/page-home.html.jinja:97 -msgid "Payment
      Channels" -msgstr "ペイメント
      チャネル" - -#: template/page-home.html.jinja:98 -msgid "Batched micropayments with unlimited speed, secured with XRP" -msgstr "XRPを利用した無制限のスピードでの小額決済が可能です" - -#: template/page-home.html.jinja:100 -msgid "Multi-Signing" -msgstr "マルチシグ" - -#: template/page-home.html.jinja:101 -msgid "Flexible options for custody and security of on-ledger accounts" -msgstr "オンレジャーのアカウントの保護とセキュリティのための柔軟なオプションがあります" - -#: template/page-home.html.jinja:104 -msgid "" -"All currencies other than XRP can be represented in the XRP Ledger as " -"tokens, sometimes called “IOUs”" -msgstr "XRP以外のすべて通貨は、XRP Ledgerでは\"IOU\"と呼ばれることもあるトークンと表されます" - -#: template/page-home.html.jinja:121 -msgid "Choose a path, and bring your project to life on the XRP Ledger" -msgstr "あなたのプロジェクトをXRP Ledger上でスタートさせましょう。" - -#: template/page-home.html.jinja:122 -#, fuzzy -msgid "Where to Start" -msgstr "始めましょう" - -#: template/page-home.html.jinja:127 -msgid "Quickstart" -msgstr "クイックスタート" - -#: template/page-home.html.jinja:128 -msgid "Access everything you need to get started working with the XRPL" -msgstr "XRPLを使うためのあらゆる情報にアクセスできます" - -#: template/page-home.html.jinja:130 -msgid "Guided Tutorials" -msgstr "ガイド付きチュートリアル" - -#: template/page-home.html.jinja:131 -msgid "Follow step-by-step guides for frequent tasks" -msgstr "ステップバイステップのガイドを使って頻出の作業をサポートします" - -#: template/page-home.html.jinja:133 -msgid "XRPL Fundamentals" -msgstr "XRPLの基礎知識" - -#: template/page-home.html.jinja:134 -msgid "Read about the XRPL’s foundational concepts" -msgstr "XRPLの基本概念について学びましょう" - -#: template/page-home.html.jinja:136 -msgid "Choose a Language" -msgstr "開発言語の選択" - -#: template/page-home.html.jinja:137 -msgid "" -"Find tools, documentation, and sample code in Python, Java, Javascript, " -"or use HTTP APIs" -msgstr "Python、Java、Javascriptのツール、ドキュメント、サンプルコードを検索したり、HTTP APIを使用することができます" - -#: template/page-home.html.jinja:139 -msgid "Get Inspired" -msgstr "インスピレーションを得る" - -#: template/page-home.html.jinja:140 -msgid "See what your peers have built on the XRPL" -msgstr "他のユーザがXRPLで構築したものを見てみましょう" - -#: template/page-home.html.jinja:159 -msgid "Our Shared Vision for XRPL’s Future" -msgstr "XRPLの未来に対する私たちの共有のビジョン" - -#: template/page-home.html.jinja:160 -msgid "" -"Together, we're building the greenest infrastructure to drive blockchain " -"innovation that doesn't sacrifice utility or performance, to bring the " -"developer community's vision to life." -msgstr "私たちは、開発者コミュニティのビジョンを実現するために、実用性や性能を犠牲にすることなく、ブロックチェーンのイノベーションを推進する最も環境に配慮したインフラストラクチャを共に構築しています" - -#: template/page-home.html.jinja:168 -msgid "" -"Explore what the community is building to enable new features and use " -"cases on XRPL" -msgstr "XRPLの新機能やユースケースを実現するために、コミュニティがどのような機能を構築しているのかを探ります" - -#: template/page-home.html.jinja:169 -msgid "Preview New Features" -msgstr "新機能のプレビュー" - -#: template/page-home.html.jinja:173 -msgid "In Development" -msgstr "開発中" - -#: template/page-home.html.jinja:174 -msgid "Smart Contracts" -msgstr "スマートコントラクト" - -#: template/page-home.html.jinja:175 -msgid "" -"Hooks are small, efficient WebAssembly modules designed specifically for " -"the XRPL. Check out the hooks amendment and public testnet that enable smart " -"contract functionality." -msgstr "" -"HooksはXRPLのために特別に設計された小さくて効率的なWebAssemblyモジュールです。スマートコントラクトの機能を実現するHooksの修正案と公開テストネットをチェックしてみてください。" - -#: template/page-home.html.jinja:177 -msgid "Enabled" -msgstr "利用可能" - -#: template/page-home.html.jinja:178 -msgid "Non-Fungible Tokens" -msgstr "非代替性トークン" - -#: template/page-home.html.jinja:179 -#, fuzzy -msgid "" -"Lower fees, faster transactions, and custom token functionality make the " -"XRPL ideally suited for building an ecosystem for NFTs. Explore the XRP " -"Ledger's NFT capabilities." -msgstr "" -"手数料の低減、取引の高速化、カスタムトークンの機能性により、XRPLはNFTのエコシステム構築に理想的なものとなっています。XRP " -"LedgerのNFT機能をご覧ください。" - -#: template/page-home.html.jinja:197 -#, fuzzy -msgid "Join the Community
      at XRPL.org" -msgstr "XRPL.orgの
      コミュニティに参加" - -#: template/page-home.html.jinja:199 -msgid "" -"Connect at XRPL.org, a community by and for the developers
      and entrepeneurs who rely on the XRPL." -msgstr "XRPL.orgは、XRPLを利用する開発者と
      起業家のためのコミュニティです。" - -#: template/page-home.html.jinja:200 -msgid "Get Involved" -msgstr "参加する" - -#: template/page-impact.html.jinja:31 -msgid "Today’s Value, Tomorrow’s Vision" -msgstr "現在の価値、将来のビジョン" - -#: template/page-impact.html.jinja:32 template/page-xrpl-overview.html.jinja:40 -#, fuzzy -msgid "XRPL Today, XRPL Tomorrow" -msgstr "現在のXRPL、未来のXRPL" - -#: template/page-impact.html.jinja:44 -msgid "Building for the Future" -msgstr "未来を見据えた開発" - -#: template/page-impact.html.jinja:46 -msgid "Consensus protocol is efficient and sustainable" -msgstr "効率的で持続可能なコンセンサスプロトコル" - -#: template/page-impact.html.jinja:48 -msgid "" -"For more than 272 million migrants worldwide, sending and receiving money" -" across borders is expensive, unreliable and complex." -msgstr "世界で2億7,200万人を超える移民にとって、国境を越えた送金は高額で不確実かつ複雑です。" - -#: template/page-impact.html.jinja:49 -#, fuzzy -msgid "" -"Open and decentralized, blockchain and crypto are seeing an increase in " -"adoption across the financial services industry, from retail and " -"institutional investment to commercial use cases " -"like CBDCs, NFTs, and cross-border payments." -msgstr "オープンで分散型のブロックチェーンと暗号資産は、リテールや機関投資家からCBDC、NFT、クロスボーダー決済などの商業ユースケースまで、金融サービス業界全体で導入が進んでいます。" - -#: template/page-impact.html.jinja:74 -#, fuzzy -msgid "A Sustainable Future" -msgstr "持続可能な未来" - -#: template/page-impact.html.jinja:75 -#, fuzzy -msgid "What makes the XRPL sustainable?" -msgstr "XRPLが持続可能な理由は?" - -#: template/page-impact.html.jinja:76 -msgid "" -"XRPL’s unique consensus mechanism is eco-friendly—it does not require " -"mining to settle transactions. This results in efficiency without " -"sacrificing security, decentralization, or scalability." -msgstr "XRPLのユニークなコンセンサスメカニズムは環境に優しく、トランザクションを処理するためにマイニングを必要としません。このため、セキュリティ、分散化、スケーラビリティを犠牲にすることなく、効率化を実現することができます。" - -#: template/page-impact.html.jinja:77 -msgid "" -"The trivial amount of energy it does consume is then neutralized with " -"carbon credits through EW Zero, an open-source blockchain decarbonization" -" tool." -msgstr "" -"そして、消費するわずかなエネルギーは、オープンソースのブロックチェーンによる脱炭素ツール「EW " -"Zero」を通じて、カーボンクレジットで相殺されます。" - -#: template/page-impact.html.jinja:91 -msgid "Featured companies & projects running on the XRP Ledger." -msgstr "XRP Ledgerで活動する注目の企業とプロジェクト" - -#: template/page-impact.html.jinja:92 -#, fuzzy -msgid "Sustainable Projects" -msgstr "持続可能なプロジェクト" - -#: template/page-impact.html.jinja:94 -msgid "" -"Learn more about companies and developers who are using the XRP Ledger to" -" solve interesting problems efficiently and sustainably." -msgstr "XRP Ledgerを利用して興味深い問題を効率的かつ持続的に解決している企業や開発者について、詳しくご紹介します。" - -#: template/page-impact.html.jinja:95 -#, fuzzy -msgid "See More" -msgstr "利用例を見る" - -#: template/page-impact.html.jinja:107 -#, fuzzy -msgid "How can businesses and developers connect and contribute?" -msgstr "開発者はどのように繋がり、貢献できるのでしょうか?" - -#: template/page-impact.html.jinja:109 -msgid "" -"If you want to advance business with sustainable solutions to real-world " -"problems, you’re invited to join the global, growing XRPL community. Here" -" are some ways to get involved:" -msgstr "現実世界の問題に対する持続可能なソリューションでビジネスを発展させたいと考える方は、グローバルに成長するXRPLコミュニティに参加しましょう。" - -#: template/page-impact.html.jinja:112 template/page-impact.html.jinja:177 -msgid "Join the Community" -msgstr "コミュニティに参加" - -#: template/page-impact.html.jinja:123 -msgid "Blog" -msgstr "ブログ" - -#: template/page-impact.html.jinja:124 -msgid "" -"Check out the XRPL dev blog to " -"stay up-to-date on the latest innovations and developments in the XRPL " -"community." -msgstr "" -"XRPL開発者ブログをチェックして、XRPLコミュニティのイノベーションと開発について最新情報を入手しましょう。" - -#: template/page-impact.html.jinja:132 template/page-impact.html.jinja:160 -msgid "" -"Attend meetups, hackathons, and conferences " -"to meet other members of the community." -msgstr "" -"ミートアップ、ハッカソン、カンファレンスに参加して、コミュニティの他のメンバーと交流しましょう。" - -#: template/page-impact.html.jinja:138 -msgid "Code" -msgstr "コード" - -#: template/page-impact.html.jinja:139 -msgid "" -"View the Github repositories to find blockchain projects to " -"see how you can contribute." -msgstr "" -"Githubリポジトリからブロックチェーンプロジェクトを見つけ、どのように貢献できるかご覧ください。" - -#: template/page-impact.html.jinja:147 template/page-impact.html.jinja:168 -msgid "Join the conversation on social media using #XRPLCommunity." -msgstr "SNSで#XRPLCommunityを使って話題に加わろう。" - -#: template/page-references.html.jinja:9 -msgid "References and APIs" -msgstr "リファレンスとAPI" - -#: template/page-references.html.jinja:10 -msgid "Everything You Need to Know" -msgstr "全てはここに" - -#: template/page-rpc-tool.html.jinja:10 -msgid "" -"This is a debug tool for printing raw information about an account (by " -"classic address), a transaction (by hash) or a ledger (by sequence " -"number)." -msgstr "これは、アカウント(クラシックアドレス)、トランザクション(ハッシュ)、またはレジャー(シーケンス番号)に関する実際の情報を表示するためのデバッグツールです。" - -#: template/page-rpc-tool.html.jinja:13 -msgid "XRP Ledger address, transaction ID, or ledger index" -msgstr "XRP Ledgerアドレス、トランザクションID、またはレジャーインデックス" - -#: template/page-rpc-tool.html.jinja:14 -msgid "Try an account like rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn." -msgstr "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpnのようなアカウントで試してみてください。" - -#: template/page-rpc-tool.html.jinja:15 -msgid "Get info" -msgstr "情報を見る" - -#: template/page-rpc-tool.html.jinja:18 -#: template/page-validator-domain-verifier.html.jinja:20 -msgid "Result" -msgstr "結果" - -#: template/page-rpc-tool.html.jinja:24 -msgid "Permalink" -msgstr "パーマリンク" - -#: template/page-rpc-tool.html.jinja:25 -#, fuzzy -msgid "Explorer" -msgstr "エクスプローラ" - -#: template/page-rpc-tool.html.jinja:30 template/page-rpc-tool.html.jinja:35 -#: template/page-rpc-tool.html.jinja:45 template/page-rpc-tool.html.jinja:50 -#: template/page-rpc-tool.html.jinja:56 template/page-rpc-tool.html.jinja:64 -#: template/page-rpc-tool.html.jinja:71 template/page-rpc-tool.html.jinja:76 -#: template/page-rpc-tool.html.jinja:85 template/page-rpc-tool.html.jinja:91 -msgid "expand all" -msgstr "すべて展開" - -#: template/page-rpc-tool.html.jinja:31 template/page-rpc-tool.html.jinja:36 -#: template/page-rpc-tool.html.jinja:46 template/page-rpc-tool.html.jinja:51 -#: template/page-rpc-tool.html.jinja:57 template/page-rpc-tool.html.jinja:65 -#: template/page-rpc-tool.html.jinja:72 template/page-rpc-tool.html.jinja:77 -#: template/page-rpc-tool.html.jinja:86 template/page-rpc-tool.html.jinja:92 -msgid "collapse all" -msgstr "すべて閉じる" - -#: template/page-rpc-tool.html.jinja:53 -msgid "(last 20)" -msgstr "(直近20件)" - -#: template/page-rpc-tool.html.jinja:55 template/page-rpc-tool.html.jinja:63 -#: template/page-rpc-tool.html.jinja:84 template/page-rpc-tool.html.jinja:90 -msgid "expand tx" -msgstr "txを展開" - -#: template/page-rpc-tool.html.jinja:58 template/page-rpc-tool.html.jinja:66 -msgid "next 20" -msgstr "次の20件" - -#: template/page-rpc-tool.html.jinja:59 template/page-rpc-tool.html.jinja:67 -msgid "prev 20" -msgstr "前の20件" - -#: template/page-tx-sender.html.jinja:8 -msgid "Status" -msgstr "ステータス" - -#: template/page-tx-sender.html.jinja:12 -msgid "XRP Testnet:" -msgstr "" - -#: template/page-tx-sender.html.jinja:13 -msgid "Not Connected" -msgstr "接続されていません" - -#: template/page-tx-sender.html.jinja:14 -msgid "Sending Address:" -msgstr "送金元のアドレス" - -#: template/page-tx-sender.html.jinja:15 template/page-tx-sender.html.jinja:17 -msgid "(None)" -msgstr "" - -#: template/page-tx-sender.html.jinja:16 -msgid "Testnet XRP Available:" -msgstr "" - -#: template/page-tx-sender.html.jinja:20 -msgid "Transaction History" -msgstr "トランザクション履歴" - -#: template/page-tx-sender.html.jinja:33 -msgid "" -"This tool sends transactions to the XRP Testnet address of your choice so you can test how " -"you monitor and respond to incoming transactions." -msgstr "" -"このツールは、選択したアドレスにXRP LedgerトランザクションをTestnet経由で送信し、コードによってさまざまなXRP " -"Ledgerトランザクションが処理される方法をテストします。" - -#: template/page-tx-sender.html.jinja:37 -msgid "Initialize" -msgstr "初期化" - -#: template/page-tx-sender.html.jinja:38 -msgid "Set up the necessary Testnet XRP addresses to send test payments." -msgstr "テスト支払いに必要なTestnet XRPアドレスを設定する。" - -#: template/page-tx-sender.html.jinja:42 -msgid "Destination Address" -msgstr "送金先のアドレス" - -#: template/page-tx-sender.html.jinja:44 -msgid "Send transactions to this XRP Testnet address" -msgstr "このXRP Testnetのアドレスに送信" - -#: template/page-tx-sender.html.jinja:46 -msgid "" -"Caution: This X-address is intended for use on Mainnet. " -"Testnet addresses have a \"T\" prefix instead." -msgstr "" -"注意: このX-" -"addressはMainnetで使用するためのものです。Testnetのアドレスは「T」で始まります。" - -#: template/page-tx-sender.html.jinja:48 -msgid "Send Transaction" -msgstr "トランザクション送信" - -#: template/page-tx-sender.html.jinja:53 -msgid "(loading)" -msgstr "(ローディング中)" - -#: template/page-tx-sender.html.jinja:55 -msgid "Send XRP Payment" -msgstr "XRPを送信する" - -#: template/page-tx-sender.html.jinja:58 template/page-tx-sender.html.jinja:116 -msgid "drops of XRP" -msgstr "XRPのdrop数" - -#: template/page-tx-sender.html.jinja:62 -msgid "Send a simple XRP-to-XRP payment." -msgstr "XRP-to-XRPのシンプルな支払いを送信する" - -#: template/page-tx-sender.html.jinja:70 -msgid "(Getting ready to send partial payments)" -msgstr "(Partial Paymentの準備中)" - -#: template/page-tx-sender.html.jinja:76 -msgid "Send Partial Payment" -msgstr "Partial Paymentを送信する" - -#: template/page-tx-sender.html.jinja:78 -msgid "" -"Deliver a small amount of XRP with a large Amount value, to " -"test your handling of partial " -"payments." -msgstr "" -"Partial " -"Paymentの処理をテストするため高額なXRP額のAmountフィールドでわずかな金額を送信します。" - -#: template/page-tx-sender.html.jinja:88 -msgid "Create Escrow" -msgstr "Escrowを作成" - -#: template/page-tx-sender.html.jinja:91 -msgid "seconds" -msgstr "秒" - -#: template/page-tx-sender.html.jinja:96 -msgid "Finish automatically" -msgstr "自動的に終了" - -#: template/page-tx-sender.html.jinja:99 -msgid "" -"Create a time-based escrow of 1 XRP for the " -"specified number of seconds." -msgstr "指定された秒数の1XRPの時間ベースのEscrowを作成します。" - -#: template/page-tx-sender.html.jinja:102 -msgid "(Waiting to release Escrow when it's ready)" -msgstr "(Escrowの解放を待っています。)" - -#: template/page-tx-sender.html.jinja:113 -msgid "Create Payment Channel" -msgstr "Payment Channelを作成" - -#: template/page-tx-sender.html.jinja:119 -msgid "" -"Create a payment channel and fund " -"it with the specified amount of XRP." -msgstr "Payment Channelを作成して指定されたXRPの額を供給します。" - -#: template/page-tx-sender.html.jinja:129 -msgid "Send Issued Currency" -msgstr "トークンを送信" - -#: template/page-tx-sender.html.jinja:135 -msgid "" -"Your destination address needs a trust line to (the test sender) for the currency in question. Otherwise, " -"you'll get tecPATH_DRY." -msgstr "" -"宛先アドレスには、対象の通貨について(the test " -"sender)へのトラストラインが必要です。設定されていない場合は、tecPATH_DRYとなります。" - -#: template/page-tx-sender.html.jinja:145 -msgid "Trust for" -msgstr "トラストラインの設定" - -#: template/page-tx-sender.html.jinja:151 -msgid "" -"The test sender creates a trust " -"line to your account for the given currency." -msgstr "" -"テスト送信者は、指定された通貨について、あなたのアカウントにトラストラインを作成します。" - -#: template/page-uses.html.jinja:23 -msgid "Aesthetes" -msgstr "" - -#: template/page-uses.html.jinja:24 -msgid "" -"Aesthetes is a bridge between fine art and blockchain, enabling everyone," -" around the world, to buy and sell with just a click for fractional " -"ownership of international physical art." -msgstr "Aesthetesは、美術品とブロックチェーンの架け橋となり、世界中の誰もが、国際的な物理的アートの小口所有権を、クリックだけで売買できるようにします。" - -#: template/page-uses.html.jinja:26 template/page-uses.html.jinja:42 -#: template/page-uses.html.jinja:146 template/page-uses.html.jinja:162 -#: template/page-uses.html.jinja:170 template/page-uses.html.jinja:202 -#: template/page-uses.html.jinja:234 template/page-uses.html.jinja:289 -#: template/page-uses.html.jinja:378 -#, fuzzy -msgid "NFTs" -msgstr "NFT" - -#: template/page-uses.html.jinja:31 -msgid "Anchain.AI" -msgstr "" - -#: template/page-uses.html.jinja:32 -msgid "" -"AnChain.AI offers AI-powered intelligence enhancing blockchain security, " -"risk, and compliance strategies." -msgstr "AnChain.AIは、ブロックチェーンのセキュリティ、リスク、コンプライアンス戦略を強化するAIの力を借りた情報を提供します。" - -#: template/page-uses.html.jinja:34 template/page-uses.html.jinja:292 -#: template/page-uses.html.jinja:390 -msgid "Security" -msgstr "セキュリティ" - -#: template/page-uses.html.jinja:39 -msgid "Audiotarky" -msgstr "" - -#: template/page-uses.html.jinja:40 -msgid "" -"Audiotarky is a new music streaming platform that prioritises artists and" -" privacy over algorithms and shareholders." -msgstr "Audiotarkyは、アルゴリズムや株主よりも、アーティストやプライバシーを優先する新しい音楽ストリーミング・プラットフォームです。" - -#: template/page-uses.html.jinja:47 -#, fuzzy -msgid "BitGo" -msgstr "" - -#: template/page-uses.html.jinja:48 -msgid "" -"BitGo provides custodial and non-custodial asset holdings for digital " -"assets including XRP. BitGo's enterprise-level security empowers " -"businesses to integrate digital currencies like XRP into new and existing" -" financial systems." -msgstr "BitGoは、XRPなどのデジタルアセット向けのカストディ型および非カストディ型アセット保有サービスを提供しています。BitGoのエンタープライズレベルのセキュリティを活用して、さまざまな企業がXRPなどのデジタル通貨を新規や既存の金融システムに統合しています。" - -#: template/page-uses.html.jinja:50 template/page-uses.html.jinja:297 -#: template/page-uses.html.jinja:410 -#, fuzzy -msgid "Custody" -msgstr "カストディ" - -#: template/page-uses.html.jinja:55 -msgid "Bithomp" -msgstr "" - -#: template/page-uses.html.jinja:56 -msgid "" -"Bithomp is an XRPL explorer and toolkit, used by many cryptocurrency " -"exchanges. Bithomp was launched in 2015 with a mission to build the most " -"user-friendly XRPL explorer." -msgstr "Bithompは、多くの暗号通貨取引所で使用されているXRPLエクスプローラーおよびツールキットです。Bithompは、最もユーザフレンドリーなXRPLエクスプローラーを構築することをミッションに、2015年に立ち上げられました。" - -#: template/page-uses.html.jinja:58 template/page-uses.html.jinja:114 -#: template/page-uses.html.jinja:154 template/page-uses.html.jinja:210 -#: template/page-uses.html.jinja:242 template/page-uses.html.jinja:250 -#: template/page-uses.html.jinja:258 template/page-uses.html.jinja:266 -#: template/page-uses.html.jinja:282 template/page-uses.html.jinja:366 -msgid "Infrastructure" -msgstr "インフラストラクチャ" - -#: template/page-uses.html.jinja:63 -msgid "bitpay" -msgstr "" - -#: template/page-uses.html.jinja:64 -msgid "" -"BitPay builds powerful, enterprise-grade tools for accepting and spending" -" cryptocurrencies, including XRP." -msgstr "BitPayは、XRPなどの暗号資産の受け入れや支払いが可能になる、強力なエンタープライズグレードのツールを構築しています。" - -#: template/page-uses.html.jinja:71 -msgid "Carbonland Trust" -msgstr "" - -#: template/page-uses.html.jinja:72 -msgid "" -"Carbonland Trust offers transparent nature-based carbon credits, and " -"inclusive access to voluntary carbon markets for landowners and " -"corporations alike. " -msgstr "" -"Carbonland " -"Trustは、透明性の高い自然由来の炭素クレジットを提供し、土地所有者や企業を問わず、自主的な炭素市場への包括的なアクセスを可能にします。" - -#: template/page-uses.html.jinja:74 -#, fuzzy -msgid "Carbon Markets/Sustainability" -msgstr "持続可能性" - -#: template/page-uses.html.jinja:79 -msgid "Casino Coin" -msgstr "" - -#: template/page-uses.html.jinja:80 -msgid "" -"CasinoCoin (CSC) is a digital currency developed specifically for the " -"regulated gaming industry." -msgstr "CasinoCoin(CSC)は、規制対象のゲーム業界向けに特別に開発されたデジタル通貨です。" - -#: template/page-uses.html.jinja:87 -#, fuzzy -msgid "Cryptum" -msgstr "" - -#: template/page-uses.html.jinja:88 -msgid "" -"Cryptum is an API/SDK platform for integrating the XRP Ledger with any " -"application." -msgstr "Cryptumは、XRP Ledgerをあらゆるアプリケーションと統合するためのAPI/SDKプラットフォームです。" - -#: template/page-uses.html.jinja:90 template/page-uses.html.jinja:98 -#: template/page-uses.html.jinja:218 template/page-uses.html.jinja:283 -#: template/page-uses.html.jinja:370 -#, fuzzy -msgid "Developer Tooling" -msgstr "開発者ツール" - -#: template/page-uses.html.jinja:95 -msgid "Evernode" -msgstr "" - -#: template/page-uses.html.jinja:96 -msgid "" -"Evernode proposes a permissionless, flexible, scalable Layer 2 smart " -"contract network built from the XRP Ledger." -msgstr "" -"Evernodeは、XRP " -"Ledgerで構築された、パーミッションレスで柔軟かつスケーラブルなレイヤー2スマートコントラクトネットワークを提供しています。" - -#: template/page-uses.html.jinja:103 -#, fuzzy -msgid "Forte" -msgstr "" - -#: template/page-uses.html.jinja:104 -msgid "" -"Forte offers an unprecedented set of easy-to-use tools and services for " -"game developers to integrate blockchain technology into their games, to " -"unlock new economic and creative opportunities for gamers across the " -"world." -msgstr "Forteはゲーム開発者向けに、ゲームにブロックチェーン技術を組み込むことができる、今までになかったような使いやすいツールとサービスを提供しています。これらを活用することで、世界中のゲーマーに新たな収益化と創造の機会をもたらすことができます。" - -#: template/page-uses.html.jinja:106 template/page-uses.html.jinja:130 -#: template/page-uses.html.jinja:291 template/page-uses.html.jinja:386 -#, fuzzy -msgid "Gaming" -msgstr "ゲーム" - -#: template/page-uses.html.jinja:111 template/page-xrp-overview.html.jinja:171 -msgid "Gatehub" -msgstr "" - -#: template/page-uses.html.jinja:112 -msgid "" -"Gatehub XRP Ledger Markets is an explorer to track Gatehub's inssuances " -"on the XRP Ledger." -msgstr "Gatehub XRP Ledger Marketsは、XRP Ledger上のGatehubのインサンスを追跡するためのエクスプローラです。" - -#: template/page-uses.html.jinja:119 -#, fuzzy -msgid "Gem Wallet" -msgstr "" - -#: template/page-uses.html.jinja:120 -msgid "" -"GemWallet is a web extension that enables users to make fast payments on " -"the XRP Ledger via a browser. It's a safer alternative to copying and " -"pasting private keys for use with web applications." -msgstr "" -"GemWalletは、XRP " -"Ledger上でブラウザから高速決済を可能にするウェブ拡張機能です。ウェブアプリケーションで使用するための秘密鍵のコピー&ペーストに代わる、より安全な方法です。" - -#: template/page-uses.html.jinja:122 template/page-uses.html.jinja:274 -#: template/page-uses.html.jinja:288 template/page-uses.html.jinja:374 -#, fuzzy -msgid "Wallet" -msgstr "ウォレット" - -#: template/page-uses.html.jinja:127 -#, fuzzy -msgid "Ledger City" -msgstr "" - -#: template/page-uses.html.jinja:128 -msgid "Ledger City is a crypto real estate game powered by the XRP Ledger." -msgstr "Ledger Cityは、XRP Ledgerを利用した暗号不動産ゲームです。" - -#: template/page-uses.html.jinja:135 -#, fuzzy -msgid "Multichain" -msgstr "" - -#: template/page-uses.html.jinja:136 -msgid "" -"Multichain is the ultimate Router for web3. It is an infrastructure " -"developed for arbitrary cross-chain interactions." -msgstr "Multichainはweb3の究極のRouterであり、任意のクロスチェーンインタラクションのために開発されたインフラです。" - -#: template/page-uses.html.jinja:138 template/page-uses.html.jinja:287 -#, fuzzy -msgid "Interoperability" -msgstr "相互運用性" - -#: template/page-uses.html.jinja:143 -#, fuzzy -msgid "NFT Master" -msgstr "" - -#: template/page-uses.html.jinja:144 -msgid "" -"NFT Master is an NFT marketplace where creators can buy, mint and sell " -"NFTs." -msgstr "NFT Masterは、クリエイターがNFTを購入、ミント、販売することができるNFTマーケットプレイスです。" - -#: template/page-uses.html.jinja:151 -#, fuzzy -msgid "OnTheDex" -msgstr "" - -#: template/page-uses.html.jinja:152 -msgid "" -"OnTheDex is a quality source of information for aggregator sites to take " -"live feeds of XRPL token activity." -msgstr "OnTheDexは、XRPLトークンの活動のライブフィードを取るためのアグリゲーターサイトのための質の高い情報源です。" - -#: template/page-uses.html.jinja:159 -#, fuzzy -msgid "onXRP" -msgstr "" - -#: template/page-uses.html.jinja:160 -msgid "" -"onXRP is an NFT marketplace where creators can buy, mint and sell NFTs " -"built by the XPUNKs." -msgstr "onXRPは、クリエイターがXPUNKで構築したNFTを購入、造幣、販売することができるNFTマーケットプレイスです。" - -#: template/page-uses.html.jinja:167 -msgid "Peerkat" -msgstr "" - -#: template/page-uses.html.jinja:168 -msgid "Peerkat is an NFT services and tooling provider for the XRPL community." -msgstr "Peerkatは、XRPLコミュニティのためのNFTサービスおよびツールプロバイダーです。" - -#: template/page-uses.html.jinja:175 -#, fuzzy -msgid "Ripple's CBDC Platform" -msgstr "Ripple社のCBDC Platform\"" - -#: template/page-uses.html.jinja:176 -msgid "" -"Ripple's Central Bank Digital Currency (CBDC) solution enables banks to " -"mint, manage, transact and redeem currency to easily manage the full CBDC" -" lifecycle. Each solution is built on a private ledger that is based upon" -" XRP Ledger technology." -msgstr "" -"Rippleの中央銀行デジタル通貨(CBDC)ソリューションは、銀行が通貨の造幣、管理、トランザクション、償還を行い、CBDCの全ライフサイクルを容易に管理することができます。各ソリューションは、XRP" -" Ledger技術に基づくプライベートな台帳の上に構築されています。" - -#: template/page-uses.html.jinja:178 template/page-uses.html.jinja:406 -msgid "CBDC" -msgstr "" - -#: template/page-uses.html.jinja:183 -#, fuzzy -msgid "Ripple's On-Demand Liquidity" -msgstr "Ripple社のOn-Demand Liquidity" - -#: template/page-uses.html.jinja:184 -msgid "" -"Ripple powers real-time, low-cost cross-border payment settlement by " -"using XRP as a bridge currency between two fiat currencies." -msgstr "Rippleは、XRP を 2 つのフィアット通貨間のブリッジ通貨として使用することで、リアルタイムかつ低コストの国境を越えた決済を実現します。" - -#: template/page-uses.html.jinja:191 -msgid "Sologenic DEX" -msgstr "" - -#: template/page-uses.html.jinja:192 -msgid "" -"Sologenic DEX is a popular decentralized exchange on the XRP Ledger made " -"by Sologenic." -msgstr "Sologenic DEXは、Sologenic社製のXRP Ledger上の人気の分散型取引所です。" - -#: template/page-uses.html.jinja:194 template/page-uses.html.jinja:226 -#: template/page-uses.html.jinja:290 template/page-uses.html.jinja:382 -msgid "Exchanges" -msgstr "取引所" - -#: template/page-uses.html.jinja:199 -msgid "Sologenic NFT" -msgstr "" - -#: template/page-uses.html.jinja:200 -msgid "Sologenic NFT is an NFT marketplace designed by Sologenic." -msgstr "Sologenic NFTは、Sologenicが設計したNFTマーケットプレイスです。" - -#: template/page-uses.html.jinja:207 -msgid "Towo Labs" -msgstr "" - -#: template/page-uses.html.jinja:208 -msgid "" -"Towo Labs was founded in 2019, to develop XRP Ledger and Interledger " -"infrastructures and make non-custodial crypto management easier." -msgstr "" -"Towo Labsは2019年に設立された会社です。XRP " -"LedgerおよびInterledgerのインフラストラクチャの開発を手がけ、より簡単な非カストディ型暗号資産管理を実現するために取り組んでいます。" - -#: template/page-uses.html.jinja:215 -#, fuzzy -msgid "X-tokenize" -msgstr "" - -#: template/page-uses.html.jinja:216 -msgid "" -"X-Tokenize is a command line tool to simplify the process of creating, " -"managing and distributing issued currencies and eventually NFTs on the " -"XRPL." -msgstr "X-Tokenizeは、XRPL上で発行通貨、ひいてはNFTを作成、管理、配布するプロセスを簡素化するコマンドラインツールです。" - -#: template/page-uses.html.jinja:223 -#, fuzzy -msgid "XP Market" -msgstr "" - -#: template/page-uses.html.jinja:224 -msgid "" -"XP Market is a price-tracking website for cryptoassets on the XRPL " -"coupled with a decentralized exchange." -msgstr "XP Marketは、分散型取引所と結合したXRPL上の暗号資産の価格追跡サイトです。" - -#: template/page-uses.html.jinja:231 -#, fuzzy -msgid "XRP Cafe" -msgstr "" - -#: template/page-uses.html.jinja:232 -msgid "" -"XRP Cafe is an NFT marketplace built by the community that aims to be the" -" easiest way to build, sell and mint NFTs." -msgstr "XRP Cafeは、NFTを構築、販売、ミントする最も簡単な方法を目指して、コミュニティによって構築されたNFTマーケットプレイスです。" - -#: template/page-uses.html.jinja:239 -msgid "XRP Toolkit" -msgstr "" - -#: template/page-uses.html.jinja:240 -msgid "" -"XRP Toolkit is a platform for managing crypto assets and trading on the " -"XRP Ledger's decentralized exchange." -msgstr "XRP Toolkitは、暗号資産を管理し、XRP Ledgerの分散型取引所で取引するためのプラットフォームです。" - -#: template/page-uses.html.jinja:247 -#, fuzzy -msgid "XRPL Rosetta" -msgstr "" - -#: template/page-uses.html.jinja:248 -msgid "XRPL Rosetta explores fiat data on XRPL through visualization." -msgstr "XRPL Rosettaは、XRPL上のフィアットデータを可視化することで素晴らしさを追求します。" - -#: template/page-uses.html.jinja:255 -msgid "XRPL.org Ledger Explorer" -msgstr "" - -#: template/page-uses.html.jinja:256 -msgid "XRPL.org's Ledger Explorer is a block explorer of the XRP Ledger." -msgstr "XRPL.orgのLedger Explorerは、XRP Ledgerのブロックエクスプローラーです。" - -#: template/page-uses.html.jinja:263 -#, fuzzy -msgid "XRPScan" -msgstr "" - -#: template/page-uses.html.jinja:264 -msgid "" -"XRPSCAN is an explorer and analytics platform for the XRP Ledger. We " -"provide a clean and simple way to look up accounts, ledgers and " -"transactions." -msgstr "" -"XRPSCANは、XRP " -"Ledgerのためのエクスプローラおよび分析プラットフォームです。アカウント、台帳、トランザクションを調べるためのクリーンでシンプルな方法を提供します。" - -#: template/page-uses.html.jinja:271 -#, fuzzy -msgid "Xumm Wallet" -msgstr "" - -#: template/page-uses.html.jinja:272 -msgid "Xumm Wallet is a non custodial wallet with superpower for the XRP Ledger." -msgstr "Xumm Walletは、XRP Ledgerのための最高能力を備えた非カストディアルウォレットです。" - -#: template/page-uses.html.jinja:294 template/page-uses.html.jinja:398 -msgid "Web Monetization" -msgstr "ウェブ収益化" - -#: template/page-uses.html.jinja:295 template/page-uses.html.jinja:402 -msgid "Sustainability" -msgstr "持続可能性" - -#: template/page-uses.html.jinja:296 -msgid "CBDCs" -msgstr "CBDC" - -#: template/page-uses.html.jinja:298 template/page-uses.html.jinja:414 -msgid "DeFi" -msgstr "" - -#: template/page-uses.html.jinja:308 template/page-uses.html.jinja:335 -msgid "Cancel" -msgstr "キャンセル" - -#: template/page-uses.html.jinja:315 template/page-uses.html.jinja:448 -msgid "Featured Categories" -msgstr "注目のカテゴリ" - -#: template/page-uses.html.jinja:322 template/page-uses.html.jinja:456 -msgid "Other Categories" -msgstr "他のカテゴリ" - -#: template/page-uses.html.jinja:348 -msgid "Proven Powerful for Innovation" -msgstr "イノベーションのための確かな実績" - -#: template/page-uses.html.jinja:349 -#, fuzzy -msgid "XRPL Use Cases" -msgstr "XRPLのユースケース" - -#: template/page-uses.html.jinja:357 -msgid "Building businesses and creating new value" -msgstr "ビジネスの構築と新たな価値の創造" - -#: template/page-uses.html.jinja:358 -#, fuzzy -msgid "XRPL Ecosystem" -msgstr "XRPLエコシステム" - -#: template/page-uses.html.jinja:367 -msgid "" -"Build and operate components or systems that help the functionality of " -"the XRP Ledger, such as Nodes, dev tools, storage, security and more." -msgstr "ノード、開発ツール、ストレージ、セキュリティなど、XRP Ledgerの機能を助けるコンポーネントやシステムを構築・運用します。" - -#: template/page-uses.html.jinja:371 -#, fuzzy -msgid "" -"Developers can leverage open-source libraries, SDKs and more to help " -"build their blockchain project and " -"across essential XRP Ledger functionality." -msgstr "" -"開発者は、オープンソースのライブラリやSDKなどを活用して、ブロックチェーンプロジェクトの構築や、XRP Ledgerの必須機能全般をサポートすることができます。" - -#: template/page-uses.html.jinja:375 -#, fuzzy -msgid "" -"Build digital wallets to store passwords and interact with various " -"blockchains to send and receive digital assets, including XRP." -msgstr "パスワードを保存するデジタルウォレットを構築し、様々なブロックチェーンとやり取りして、XRPを含むデジタル資産を送受信します。" - -#: template/page-uses.html.jinja:379 -msgid "" -"XRPL supports the issuance of IOUs that represent a currency of any " -"value, as well as non-fungible tokens (NFTs)." -msgstr "XRPLは、あらゆる価値の通貨を表すIOUのほか、非代替性トークン(NFT)の発行にも対応しています" - -#: template/page-uses.html.jinja:383 -msgid "" -"Build sophisticated exchanges where users can invest and trade crypto and" -" assets such as stocks, ETFs, and commodities." -msgstr "ユーザが暗号と株式、ETF、コモディティなどの資産を投資・取引できる高度な取引所を構築します。" - -#: template/page-uses.html.jinja:387 -msgid "" -"The XRPL supports gaming at high speed given its reliable throughput, low" -" fees, and sidechain interoperability." -msgstr "XRPLは、信頼性の高いスループット、低い手数料、サイドチェーンの相互運用性から、高速なゲームに対応しています。" - -#: template/page-uses.html.jinja:391 -msgid "" -"Build services and tools that help prevent and combat fraudulent activity" -" with the XRPL." -msgstr "XRPLを使った不正行為の防止と対策に役立つサービスやツールを構築します。" - -#: template/page-uses.html.jinja:395 -msgid "" -"Leverage the efficiency and speed of the XRP Ledger to move value all " -"over the globe." -msgstr "XRP Ledgerの効率とスピードを活用して、世界中で価値を移動させます。" - -#: template/page-uses.html.jinja:399 -msgid "" -"Support creators and their content directly leveraging the power of the " -"XRP Ledger." -msgstr "XRP Ledgerのパワーを活用し、クリエイターとそのコンテンツを直接サポートします。" - -#: template/page-uses.html.jinja:403 -msgid "" -"Use the XRP Ledger to tokenize carbon offsets as non-fungible tokens " -"(NFTs)." -msgstr "XRP Ledgerを使用して、カーボンオフセットをNFT(Non-Fungible Token)としてトークン化します。" - -#: template/page-uses.html.jinja:407 -msgid "" -"A private version of the XRP Ledger provides Central Banks a secure, " -"controlled, and flexible solution to issue and manage Central Bank Issued" -" Digital Currencies (CBDCs)." -msgstr "" -"XRP " -"Ledgerのプライベートバージョンは、中央銀行が中央銀行発行デジタル通貨(CBDC)を発行・管理するための、安全で統制のとれた柔軟なソリューションを提供します。" - -#: template/page-uses.html.jinja:411 -msgid "" -"Use the XRP Ledger to build crypto custody and securely hold, store and " -"use your assets." -msgstr "XRP Ledgerを使用して暗号カストディを構築し、資産を安全に保持、保管、使用することができます。" - -#: template/page-uses.html.jinja:415 -msgid "" -"Provide access to financial products and services replacing the " -"traditional role of financial institutions." -msgstr "従来の金融機関の役割に代わって、金融商品・サービスへのアクセスを提供します。" - -#: template/page-uses.html.jinja:431 -#, fuzzy -msgid "Businesses and developers 
      rely on the XRP Ledger" -msgstr "XRP Ledger上で活動するビジネスやプロジェクト" - -#: template/page-uses.html.jinja:432 -#, fuzzy -msgid "Solving Real-World Problems" -msgstr "さまざまな業界の実際の問題を解決しています" - -#: template/page-uses.html.jinja:434 -msgid "" -"With intentional innovations, tools and documentation that accelerate " -"development and minimize time to market, XRP Ledger is used to create " -"solutions across an expansive range of industries and use cases." -msgstr "" -"XRP " -"Ledgerは、開発を加速させ、市場投入までの時間を最短にする意図的なイノベーション、ツール、ドキュメントによって、幅広い業界やユースケースにおけるソリューションの構築に利用されています。" - -#: template/page-uses.html.jinja:438 -msgid "Filter by Categories" -msgstr "カテゴリでフィルタ" - -#: template/page-validator-domain-verifier.html.jinja:5 -msgid "Domain Verification Checker" -msgstr "ドメイン検証チェッカー" - -#: template/page-validator-domain-verifier.html.jinja:7 -msgid "" -"This tool allows you to verify that domain verification is properly configured." -msgstr "" -"このツールを使用すると、ドメイン検証が正しく設定されていることを確認できます。" - -#: template/page-validator-domain-verifier.html.jinja:8 -msgid "" -"Enter the manifest found in your validator-keys.json file. Do not confuse" -" this with your validator's secret key." -msgstr "validator-keys.jsonファイルに記載されているマニフェストを入力してください。バリデータの秘密鍵と間違えないようにご注意ください。" - -#: template/page-validator-domain-verifier.html.jinja:9 -msgid "To do this with the validator-keys-tool use the following command:" -msgstr "validator-keys-toolを使う場合は、以下のコマンドを使ってください。" - -#: template/page-validator-domain-verifier.html.jinja:14 -msgid "Your Manifest Here" -msgstr "マニフェストをこちらに入力してください" - -#: template/page-xrp-overview.html.jinja:26 -#, fuzzy -msgid "Your Questions About XRP, Answered" -msgstr "XRPに関する質問にお答えします" - -#: template/page-xrp-overview.html.jinja:27 -msgid "XRP Overview" -msgstr "XRPの概要" - -#: template/page-xrp-overview.html.jinja:37 -msgid "#about-xrp" -msgstr "" - -#: template/page-xrp-overview.html.jinja:38 -msgid "About XRP" -msgstr "XRPについて" - -#: template/page-xrp-overview.html.jinja:39 -msgid "#xrp-trading" -msgstr "#xrp-trading" - -#: template/page-xrp-overview.html.jinja:40 -msgid "XRP in Trading" -msgstr "XRPの取引" - -#: template/page-xrp-overview.html.jinja:41 -msgid "#ripple" -msgstr "" - -#: template/page-xrp-overview.html.jinja:42 -msgid "Ripple vs. XRP" -msgstr "RippleとXRPの違い" - -#: template/page-xrp-overview.html.jinja:43 -msgid "#wallets" -msgstr "#wallets" - -#: template/page-xrp-overview.html.jinja:44 -msgid "XRP Wallets" -msgstr "XRPウォレット" - -#: template/page-xrp-overview.html.jinja:45 -msgid "#exchanges" -msgstr "#exchanges" - -#: template/page-xrp-overview.html.jinja:46 -msgid "XRP Exchanges" -msgstr "XRPが取り扱われている取引所" - -#: template/page-xrp-overview.html.jinja:56 -#, fuzzy -msgid "What Is XRP?" -msgstr "XRPとは何ですか?" - -#: template/page-xrp-overview.html.jinja:57 -#, fuzzy -msgid "" -"XRP is a digital asset that’s native to the XRP Ledger—an open-source, " -"permissionless and decentralized blockchain technology." -msgstr "" -"XRPとは、XRP Ledger(パーミッションレスかつ、オープンソースで分散型のブロックチェーン技術)に固有のデジタルアセットです。" - -#: template/page-xrp-overview.html.jinja:58 -#, fuzzy -msgid "" -"Created in 2012 specifically for payments, XRP can settle transactions on" -" the ledger in 3-5 seconds. It was built to be a better Bitcoin—faster, " -"cheaper and greener than any other digital asset." -msgstr "送金に特化したデジタルアセットとして2012年に作成されたXRPは、レジャーの取引を3秒から5秒で決済できます。より優れたBitcoinをつくることを目指して設計されており、他のどのデジタルアセットよりも速く、低コストで、環境にやさしいのが特徴です。" - -#: template/page-xrp-overview.html.jinja:64 -msgid "XRP" -msgstr "XRP" - -#: template/page-xrp-overview.html.jinja:65 -msgid "Bitcoin" -msgstr "Bitcoin" - -#: template/page-xrp-overview.html.jinja:70 -msgid "Fast" -msgstr "高速性" - -#: template/page-xrp-overview.html.jinja:71 -msgid "3-5 seconds to settle" -msgstr "3秒から5秒で決済完了" - -#: template/page-xrp-overview.html.jinja:72 -msgid "500 seconds to settle" -msgstr "500秒で決済完了" - -#: template/page-xrp-overview.html.jinja:75 -msgid "Low-Cost" -msgstr "低価格" - -#: template/page-xrp-overview.html.jinja:76 -#, fuzzy -msgid "$0.0002/tx" -msgstr "$0.0002(1取引あたり)" - -#: template/page-xrp-overview.html.jinja:77 -msgid "$0.50/tx" -msgstr "$0.50(1取引あたり)" - -#: template/page-xrp-overview.html.jinja:80 -msgid "Scalable" -msgstr "スケーラブル" - -#: template/page-xrp-overview.html.jinja:81 -#, fuzzy -msgid "1,500 tx per second" -msgstr "1秒あたり1,500取引" - -#: template/page-xrp-overview.html.jinja:82 -#, fuzzy -msgid "3 tx per second" -msgstr "1秒あたり3取引" - -#: template/page-xrp-overview.html.jinja:85 -msgid "Sustainable" -msgstr "持続可能性" - -#: template/page-xrp-overview.html.jinja:86 -msgid "Environmentally sustainable (negligible energy consumption)" -msgstr "環境にやさしい(エネルギー消費量が少ない)" - -#: template/page-xrp-overview.html.jinja:87 -#, fuzzy -msgid "0.3% of global energy consumption" -msgstr "世界のエネルギー消費量の0.3%を占める" - -#: template/page-xrp-overview.html.jinja:93 -msgid "" -"XRP can be sent directly without needing a central intermediary, making " -"it a convenient instrument in bridging two different currencies quickly " -"and efficiently. It is freely exchanged on the open market and used in " -"the real world for enabling cross-border payments and microtransactions." -msgstr "XRPは中央の仲介機関を必要とせずに直接送金できるため、2つの通貨間で迅速に効率よく取引できる便利な手段です。オープンな市場で自由に取引されており、実社会で国際送金や少額取引に使用されています。" - -#: template/page-xrp-overview.html.jinja:97 -msgid "Financial Institutions" -msgstr "金融機関" - -#: template/page-xrp-overview.html.jinja:98 -msgid "" -"Leverage XRP as a bridge currency to facilitate faster, more affordable " -"cross-border payments around the world." -msgstr "XRPをブリッジ通貨として活用し、世界中のクロスボーダー決済をより速く、より安価に実現します。" - -#: template/page-xrp-overview.html.jinja:102 -#, fuzzy -msgid "Individual Consumers" -msgstr "個人" - -#: template/page-xrp-overview.html.jinja:103 -msgid "Use XRP to move different currencies around the world. " -msgstr "XRPを使って、世界中のさまざまな通貨を移動させることができます。" - -#: template/page-xrp-overview.html.jinja:109 -#, fuzzy -msgid "The XRP Ledger was designed with sustainability in mind." -msgstr "XRP Ledgerは、持続可能性を意識して設計されています。" - -#: template/page-xrp-overview.html.jinja:110 -msgid "" -"Explore the impact of the world's first major, global, public carbon-" -"neutral blockchain." -msgstr "世界初の主要な、グローバルな、パブリックなカーボンニュートラル・ブロックチェーンがもたらす影響を探ります。" - -#: template/page-xrp-overview.html.jinja:111 -msgid "Impact" -msgstr "インパクト" - -#: template/page-xrp-overview.html.jinja:117 -msgid "How Is XRP Used in Trading?" -msgstr "取引でXRPを使用するにはどうすればいいですか?" - -#: template/page-xrp-overview.html.jinja:118 -#, fuzzy -msgid "XRP is traded on more than 100 markets and exchanges worldwide." -msgstr "XRPは世界中の100以上の市場と取引所で取引されています" - -#: template/page-xrp-overview.html.jinja:119 -#, fuzzy -msgid "" -"XRP’s low transaction fees, reliability and high-speed enable traders to " -"use the digital asset as high-speed, cost-efficient and reliable " -"collateral across trading venues—seizing arbitrage " -"opportunities, servicing margin calls and managing general trading " -"inventory in real time." -msgstr "" -"XRPは取引手数料が低額で、信頼性が高く、高速であるため、トレーダーが取引所間で、高速かつコスト効率が高く信頼できる担保としてこのデジタルアセットを使用し、裁定取引の好機をとらえたり、マージンコールを支払ったり、全般的な取引インベントリを管理したりといったことをリアルタイムで行えるようになります。" - -#: template/page-xrp-overview.html.jinja:120 -msgid "" -"Because of the properties inherent to XRP and the ecosystem around it, " -"traders worldwide are able to shift collateral, bridge currencies and " -"switch from one crypto into another nearly instantly, across any exchange" -" on the planet." -msgstr "XRPとそのエコシステムが本質的に持つ特性により、トレーダーが世界中の任意の取引所で担保の移動、通貨間の取引、ある暗号資産から別の暗号資産への切り替えをほぼ瞬時に実行できます。" - -#: template/page-xrp-overview.html.jinja:124 -msgid "What Is the Relationship Between Ripple and XRP?" -msgstr "RippleとXRPはどのような関係があるのですか?" - -#: template/page-xrp-overview.html.jinja:125 -msgid "" -"Ripple is a " -"technology company that makes it easier to build a high-performance, " -"global payments business. XRP is a digital asset independent of this." -msgstr "" -"Rippleは、高性能でグローバルな決済ビジネスを簡単に構築できるようにするテクノロジー企業です。XRPはこれとは独立したデジタル資産です。" - -#: template/page-xrp-overview.html.jinja:126 -#, fuzzy -msgid "" -"There is a finite amount of XRP. All XRP is already in existence today—no" -" more than the original 100 billion can be created. The XRPL founders " -"gifted 80 billion XRP, the platform’s native currency, to Ripple. To " -"provide predictability to the XRP supply, Ripple has locked 55 billion " -"XRP (55% of the total possible supply) into a series of escrows using" -" the XRP Ledger itself. The XRPL's transaction processing rules, enforced" -" by the consensus protocol, control the release of the XRP." -msgstr "" -"XRPの総量は有限です。すべてのXRPは現在すでに存在しており、当初の1,000億を越えることはできません。XRPLの創設者は、このプラットフォームのネイティブ通貨である800億XRPをRipple社に贈与しました。XRPの供給に予測可能性を持たせるため、Ripple社は550億XRP(供給可能な総量の55%)をXRP" -" " -"Ledgerを使用した一連のエスクローにロックしています。コンセンサスプロトコルによって強制されるXRPLのトランザクション処理ルールが、XRPの放出を制御しています。" - -#: template/page-xrp-overview.html.jinja:130 -msgid "" -"As of December " -"2017
      \n" -" 55B
      \n" -" XRP remains in escrow" -msgstr "" -"December " -"2017時点
      \n" -" 55B
      \n" -" XRPがエスクローに存在します。" - -#: template/page-xrp-overview.html.jinja:153 -msgid "What Wallets Support XRP?" -msgstr "XRPをサポートするウォレットは?" - -#: template/page-xrp-overview.html.jinja:154 -#, fuzzy -msgid "" -"Digital wallets are pieces of software that allow people to send, " -"receive, and store cryptocurrencies, including XRP. There are two types " -"of digital wallets: hardware and software." -msgstr "デジタルウォレットとは、XRPなどの暗号資産の送金、受け取り、保管を行えるソフトウェアです。デジタルウォレットには、カストディ型と非カストディ型という2つのタイプがあります。" - -#: template/page-xrp-overview.html.jinja:157 -#, fuzzy -msgid "Software Wallets" -msgstr "ソフトウェアウォレット" - -#: template/page-xrp-overview.html.jinja:162 -msgid "Towo" -msgstr "" - -#: template/page-xrp-overview.html.jinja:165 -msgid "Xumm" -msgstr "" - -#: template/page-xrp-overview.html.jinja:166 -msgid "https://trustwallet.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:168 -msgid "Trust Wallet" -msgstr "" - -#: template/page-xrp-overview.html.jinja:169 -msgid "https://gatehub.net/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:180 -#, fuzzy -msgid "Hardware Wallets" -msgstr "ハードウェアウォレット" - -#: template/page-xrp-overview.html.jinja:185 -#, fuzzy -msgid "Ledger" -msgstr "" - -#: template/page-xrp-overview.html.jinja:189 -msgid "Keystone" -msgstr "" - -#: template/page-xrp-overview.html.jinja:193 -msgid "Dcent" -msgstr "" - -#: template/page-xrp-overview.html.jinja:197 -msgid "Trezor" -msgstr "" - -#: template/page-xrp-overview.html.jinja:206 -#: template/page-xrp-overview.html.jinja:269 -msgid "" -"Disclaimer: This information is drawn from other sources on the internet." -" XRPL.org does not endorse or recommend any exchanges or make any " -"representations with respect to exchanges or the purchase or sale of " -"digital assets more generally. It’s advisable to conduct your own due " -"diligence before relying on any third party or third-party technology, " -"and providers may vary significantly in their compliance, data security, " -"and privacy practices." -msgstr "" -"免責事項: " -"この情報はインターネット上の他の情報源から取得したものです。XRPL.orgは、いかなる取引所の支持、推奨も、取引所やデジタル資産の購入および販売に関するいかなる表明も一般的には行いません。サードパーティやサードパーティ技術を利用する前に、ご自身でデューデリジェンスを実施することをお勧めします。コンプライアンス、データセキュリティ、プライバシー慣習はプロバイダーによって大きく異なる場合があります。" - -#: template/page-xrp-overview.html.jinja:210 -msgid "What Exchanges Support XRP?" -msgstr "XRPをサポートしている取引所は?" - -#: template/page-xrp-overview.html.jinja:211 -#, fuzzy -msgid "" -"Exchanges are where people trade currencies. XRP is traded on more than " -"100 markets and exchanges worldwide." -msgstr "取引所とは、人々が通貨を取引する場所です。XRPは、世界中の100以上の市場や取引所で取引されています。" - -#: template/page-xrp-overview.html.jinja:212 -msgid "" -"There are different types of exchanges that vary depending on the type of" -" market (spot, futures, options, swaps), and the type of security model " -"(custodial, non-custodial)." -msgstr "市場のタイプ(スポット、先物、オプション、スワップ)とセキュリティモデルのタイプ(カストディ、非カストディ)に応じて、さまざまなタイプの取引所があります。" - -#: template/page-xrp-overview.html.jinja:215 -#, fuzzy -msgid "Spot Exchanges" -msgstr "取引所について見る" - -#: template/page-xrp-overview.html.jinja:216 -msgid "" -"Spot exchanges allow people to buy and sell cryptocurrencies at current " -"(spot) market rates." -msgstr "スポット取引所では、現在の(スポット)市場レートで暗号通貨を売買することができます。" - -#: template/page-xrp-overview.html.jinja:219 -msgid "Futures, Options and Swap Exchanges" -msgstr "先物・オプション・スワップ取引所" - -#: template/page-xrp-overview.html.jinja:220 -#, fuzzy -msgid "" -"Futures, options and swap exchanges allow people to buy and sell " -"standardized contracts of cryptocurrency market rates in the future." -msgstr "先物、オプション、スワップ取引所では、将来における暗号通貨市場レートの標準化された契約を売買することができます。" - -#: template/page-xrp-overview.html.jinja:223 -msgid "Custodial Exchanges" -msgstr "カストディアル取引所" - -#: template/page-xrp-overview.html.jinja:224 -msgid "" -"Custodial exchanges manage a user’s private keys, and publish centralized" -" order books of buyers and sellers." -msgstr "カストディアル取引所は、ユーザの秘密鍵を管理し、買い手と売り手の集中的なオーダーブックを作成します。" - -#: template/page-xrp-overview.html.jinja:227 -msgid "Non-Custodial Exchanges" -msgstr "ノンカストディアル取引所" - -#: template/page-xrp-overview.html.jinja:228 -#, fuzzy -msgid "" -"Non-custodial exchanges, also known as decentralized exchanges, do not " -"manage a user’s private keys, and publish decentralized order books of " -"buyers and sellers on a blockchain." -msgstr "ノンカストディアル取引所は、分散型取引所とも呼ばれ、ユーザの秘密鍵を管理せず、ブロックチェーン上で売り手と買い手の分散型オーダーブックを公開します。" - -#: template/page-xrp-overview.html.jinja:231 -#, fuzzy -msgid "Top Exchanges, according to CryptoCompare" -msgstr "CryptoCompareによる主要な取引所" - -#: template/page-xrp-overview.html.jinja:236 -msgid "Bitstamp" -msgstr "" - -#: template/page-xrp-overview.html.jinja:237 -msgid "https://www.kraken.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:239 -msgid "Kraken" -msgstr "" - -#: template/page-xrp-overview.html.jinja:240 -msgid "https://cex.io/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:242 -msgid "Cex.io" -msgstr "" - -#: template/page-xrp-overview.html.jinja:243 -msgid "https://www.liquid.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:245 -msgid "Liquid" -msgstr "" - -#: template/page-xrp-overview.html.jinja:246 -msgid "https://www.lmax.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:248 -msgid "LMAX" -msgstr "" - -#: template/page-xrp-overview.html.jinja:249 -msgid "https://www.bitfinex.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:251 -msgid "Bitfinex" -msgstr "" - -#: template/page-xrp-overview.html.jinja:252 -msgid "https://www.etoro.com/crypto/exchange/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:254 -msgid "eToro" -msgstr "" - -#: template/page-xrp-overview.html.jinja:255 -msgid "https://currency.com" -msgstr "" - -#: template/page-xrp-overview.html.jinja:257 -msgid "Currency.com" -msgstr "" - -#: template/page-xrp-overview.html.jinja:258 -msgid "https://bittrex.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:260 -msgid "Bittrex" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:39 -#, fuzzy -msgid "The Business
      of Impact" -msgstr "高性能" - -#: template/page-xrpl-overview.html.jinja:53 -#, fuzzy -msgid "How the XRP Ledger works" -msgstr "XRP Ledgerはどのような仕組みですか?" - -#: template/page-xrpl-overview.html.jinja:54 -msgid "XRP Ledger Basics" -msgstr "XRP Ledgerの基礎知識" - -#: template/page-xrpl-overview.html.jinja:56 -#, fuzzy -msgid "The XRP Ledger is a decentralized public blockchain built for business. " -msgstr "XRP Ledgerは、分散型パブリックブロックチェーンです。" - -#: template/page-xrpl-overview.html.jinja:57 -#, fuzzy -msgid "" -"The peer-to-peer network that manages the ledger is open to everyone. The" -" XRP Ledger is maintained by software engineers, server operators, users," -" and businesses–a global community working to solve problems and create " -"real-world value." -msgstr "" -"誰でも自分のコンピュータを、台帳を管理するピアツーピアのネットワークに接続することができます。ソフトウェア・エンジニア、サーバ・オペレーター、ユーザ、企業など、さまざまな人々が集まるグローバルなXRP" -" Ledgerコミュニティが、台帳を管理しています。" - -#: template/page-xrpl-overview.html.jinja:59 -#: template/page-xrpl-overview.html.jinja:69 -#, fuzzy -msgid "Read Technical Docs" -msgstr "技術を知る" - -#: template/page-xrpl-overview.html.jinja:59 -#: template/page-xrpl-overview.html.jinja:69 -msgid "Watch Explainer Videos " -msgstr "解説動画を見る " - -#: template/page-xrpl-overview.html.jinja:80 -msgid "How the Consensus Protocol works" -msgstr "コンセンサスプロトコルの仕組み" - -#: template/page-xrpl-overview.html.jinja:81 -msgid "Consensus" -msgstr "コンセンサス" - -#: template/page-xrpl-overview.html.jinja:83 -#, fuzzy -msgid "" -"To uphold performance, XRPL uses a consensus protocol. Designated servers" -" called validators, which " -"anyone can operate, come to an agreement on the order and outcome of XRP " -"transactions every three to five seconds." -msgstr "" -"XRPLはコンセンサスプロトコルを採用しており、バリデータと呼ばれる指定されたサーバが、3~5秒ごとにXRPトランザクションの順序と結果について合意に至ります。" - -#: template/page-xrpl-overview.html.jinja:84 -#, fuzzy -msgid "" -"All servers in the network process each transaction according to the same" -" rules, and any transaction that follows the protocol is confirmed right " -"away. All transactions are public, and strong cryptography guarantees the" -" integrity of the system." -msgstr "ネットワーク内のすべてのサーバが、同じルールに従って各取引を処理します。このプロトコルに従っている取引はすべて、バリデータが定数に達した時点ですぐに確認されます。" - -#: template/page-xrpl-overview.html.jinja:85 -#, fuzzy -msgid "" -"Currently, over 120 validators are active on the ledger, operated by " -"universities, exchanges, businesses, and individuals. As the validator " -"pool grows, the consensus protocol ensures decentralization of the " -"blockchain over time." -msgstr "" -"バリデータは誰でも運営できます。現在、レジャーでは、大学、取引所、企業、個人が運営している150以上のバリデータがアクティブです。さらに、コンセンサスプロトコルは、バリデータ・プールが成長するにつれて、ブロックチェーンがより分散化されることを保証します。" - -#: template/page-xrpl-overview.html.jinja:97 -#, fuzzy -msgid "A Sustainable Blockchain" -msgstr "XRP Ledger: スケーラブルで持続可能なブロックチェーン" - -#: template/page-xrpl-overview.html.jinja:98 -msgid "" -"Unlike most other blockchains, the XRP Ledger requires no mining and uses" -" negligible energy, key to long-term growth and stability." -msgstr "" -"他のほとんどのブロックチェーンとは異なり、XRP " -"Ledgerはマイニングを必要とせず、長期的な成長と安定性の鍵となるエネルギー消費もごくわずかです。" - -#: template/page-xrpl-overview.html.jinja:108 -msgid "Building with confidence on
      proven technology" -msgstr "実績ある技術で
      信頼性のある開発" - -#: template/page-xrpl-overview.html.jinja:109 -msgid "XRPL Today" -msgstr "XRPLの現在" - -#: template/page-xrpl-overview.html.jinja:111 -msgid "" -"With 10+ years of error-free functioning and enterprise companies as " -"champions, XRPL has established reliability." -msgstr "XRPLは、10年以上にわたって機能を提供し、エンタープライズ企業を顧客として、信頼性を確立してきました。" - -#: template/page-xrpl-overview.html.jinja:112 -#, fuzzy -msgid "" -"With the XRPL, these developers are building innovative blockchain " -"projects and applications across use cases including tokenization of " -"assets, online gaming, asset custody, NFTs, and DeFi." -msgstr "XRPLにより、開発者たちは、資産のトークン化、オンラインゲーム、資産保管、NFT、DeFiなどのブロックチェーンのユースケースにわたって革新的なプロジェクトやアプリケーションを構築しています。" - -#: template/page-xrpl-overview.html.jinja:113 -#, fuzzy -msgid "Explore More" -msgstr "利用例を見る" - -#: template/page-xrpl-overview.html.jinja:117 -msgid "Creating new value for long-term growth" -msgstr "長期的な成長を見据えた
      新たな価値の創造" - -#: template/page-xrpl-overview.html.jinja:118 -msgid "XRPL Tomorrow" -msgstr "XRPLの未来" - -#: template/page-xrpl-overview.html.jinja:120 -msgid "" -"As a community-led blockchain built for business, XRPL attracts companies" -" and developers driven to solve real problems and generate real value–now" -" and into the future." -msgstr "ビジネスの発展のために構築されたコミュニティ主導のブロックチェーンであるXRPLは、現在そして将来にわたって真の問題を解決し、真の価値を生み出そうとする企業や開発者を惹きつけています。" - -#: template/page-xrpl-overview.html.jinja:121 -msgid "" -"Significant investment in development, along with low transaction costs " -"and energy usage, is fueling growth and opening up a wide variety of use " -"cases at scale." -msgstr "低い取引コストとエネルギー使用量に加え、開発への多額の投資が成長を促し、大規模で多様なユースケースを開拓しています。" - -#: template/page-xrpl-overview.html.jinja:128 -msgid "Watch the explainer video series to learn more about the XRP Ledger" -msgstr "XRP Ledgerの詳細については、説明用のビデオシリーズをご覧ください。" - -#: template/page-xrpl-overview.html.jinja:129 -msgid "Tune In" -msgstr "視聴する" - -#: template/page-xrpl-overview.html.jinja:138 -msgid "The Consensus Mechanism" -msgstr "コンセンサスの仕組み" - -#: template/page-xrpl-overview.html.jinja:146 -#, fuzzy -msgid "Nodes and Validators" -msgstr "ノードとバリデータ" - -#: template/page-xrpl-overview.html.jinja:154 -msgid "Sustainability of the XRP Ledger" -msgstr "XRP Ledgerの持続可能性" - -#: template/page-xrpl-overview.html.jinja:159 -msgid "Watch Full Series on YouTube" -msgstr "YouTubeで全てのシリーズを見る" - -#: template/page-xrpl-overview.html.jinja:167 -msgid "Tomorrow’s Blockchain Starts With You" -msgstr "未来のブロックチェーンは、あなたから始まる" - -#: template/page-xrpl-overview.html.jinja:168 -#, fuzzy -msgid "" -"XRP Ledger’s innovation relies on the shared community experience of " -"builders like you. If you’re ready to start your next big blockchain " -"project, explore the XRPL now and consider applying for funding on your " -"next blockchain project." -msgstr "" -"XRP Ledgerのイノベーションは、皆さんのような開発者が共有するコミュニティーの経験を大切にしています。もしあなたが次の大きなブロックチェーン・プロジェクトを始める準備ができているなら、今すぐXRPLを試し、XRPL開発者向け資金提供プログラムへの応募を検討しましょう。" - -#: template/page-xrpl-overview.html.jinja:169 -#, fuzzy -msgid "Explore XRPL Developer Funding" -msgstr "XRPL開発者向け資金提供プログラムを見る" - -#: template/page-xrpl-overview.html.jinja:177 -msgid "Is XRPL a private blockchain, owned by Ripple?" -msgstr "XRPLはRipple社が所有するプライベートブロックチェーンですか?" - -#: template/page-xrpl-overview.html.jinja:178 -#, python-format -msgid "" -"No, the XRP Ledger is a decentralized, public blockchain. Any changes " -"that would impact transaction processing or consensus need to be approved" -" by at least 80%% of the network. Ripple is a contributor to the network," -" but its rights are the same as those of other contributors. In terms of " -"validation, there are 150+ validators on the network with 35+ on the " -"Unique Node List (see “What are Unique Node Lists (UNLs)?” in the Full " -"FAQ) — Ripple runs 6 of these nodes." -msgstr "" -"いいえ、XRP " -"Ledgerは分散型のパブリックブロックチェーンです。取引処理やコンセンサスに影響を与えるような変更は、ネットワークの少なくとも80%の承認が必要です。Ripple社はネットワークへの貢献者ですが、その権利は他の貢献者と同じです。バリデーションの面では、ネットワーク上に150人以上のバリデータが存在し、35人以上がユニークノードリスト(FAQ全文の「ユニークノードリスト(UNL)とは何ですか」参照)に登録されており、Ripple社はこれらのノードのうち1つを運営しています。" - -#: template/page-xrpl-overview.html.jinja:179 -msgid "Isn’t Proof of Work the best validation mechanism?" -msgstr "Proof of Workが最良の検証メカニズムではないでしょうか?" - -#: template/page-xrpl-overview.html.jinja:180 -msgid "" -"Proof of Work (PoW) was the first mechanism to solve the double spend " -"problem without requiring a trusted 3rd party. However the XRP Ledger’s " -"consensus mechanism solves the same problem in a far faster, cheaper and " -"more energy efficient way." -msgstr "" -"Proof of Work(PoW)は、信頼できる第三者を必要とせずに二重消費問題を解決する最初の仕組みでした。しかし、XRP " -"Ledgerのコンセンサスメカニズムは、同じ問題をはるかに速く、安く、エネルギー効率の良い方法で解決しています。" - -#: template/page-xrpl-overview.html.jinja:181 -msgid "How can a blockchain be sustainable?" -msgstr "ブロックチェーンはどうして持続可能なのでしょうか?" - -#: template/page-xrpl-overview.html.jinja:182 -msgid "" -"It’s been widely reported that Bitcoin’s energy consumption, as of 2021, " -"is equivalent to that used by Argentina, with much of the electricity " -"Bitcoin miners use coming from polluting sources. The XRP Ledger confirms" -" transactions through a “consensus” mechanism - which does not waste " -"energy like proof of work does - and leverages carbon offsets to be one of the first " -"truly carbon neutral blockchains." -msgstr "" -"ビットコインのエネルギー消費量は、2021年時点で、アルゼンチンが使用するエネルギーと同等であり、ビットコインの採掘者が使用する電力の多くは環境破壊につながる資源から供給されていると広く報告されています。XRP" -" Ledgerは、Proof of " -"Workのようにエネルギーを浪費しない「コンセンサス」メカニズムを通じてトランザクションを検証し、カーボンオフセットを活用して、最初の真のカーボンニュートラルなブロックチェーンの1つとなっています。" - -#: template/page-xrpl-overview.html.jinja:198 -msgid "View Full FAQ" -msgstr "すべてのFAQを見る" - -# Table of contents -#: template/pagetype-doc.html.jinja:51 -msgid "In this document" -msgstr "目次" - -#~ msgid "Read Documentation" -#~ msgstr "ドキュメントを読む" - -#~ msgid "All Docs" -#~ msgstr "全ドキュメント" - -#~ msgid "Explore the XRP Ledger" -#~ msgstr "XRP Ledgerの動きを観察する" - -#~ msgid "" -#~ "Use the XRPL Explorer to view a" -#~ " stream of ledger activity and see" -#~ " validator statuses." -#~ msgstr "XRP Ledger エクスプローラを使って、レジャーの動きやバリデータのステータスを見ることができます。" - -#~ msgid "Go to the Explorer" -#~ msgstr "XRP Ledger エクスプローラへ" - -#~ msgid "What is the XRP Ledger?" -#~ msgstr "XRP Ledgerとは?" - -#~ msgid "Start Building" -#~ msgstr "XPR Ledgerを活用する" - -#~ msgid "" -#~ "Use these tutorials to get step-" -#~ "by-step guidance to perform common " -#~ "tasks with the XRP Ledger." -#~ msgstr "これらのチュートリアルを通して、XRP Ledgerの一般的な活用方法についてステップバイステップで理解することができます。" - -#~ msgid "More Tutorials" -#~ msgstr "他のチュートリアル" - -#~ msgid "All Tutorials" -#~ msgstr "全チュートリアル" - -#~ msgid "Home" -#~ msgstr "ホーム" - -#~ msgid "Join the Conversation" -#~ msgstr "議論に参加しましょう" - -#~ msgid "Find Your Voice" -#~ msgstr "ご意見をお寄せください" - -#~ msgid "Thank you for your interest in contributing to XRPL.org." -#~ msgstr "XRPL.orgへの貢献に関心をお寄せいただきありがとうございます。" - -#~ msgid "" -#~ "If you'd like to recommend new " -#~ "content or provide feedback, visit the" -#~ " community resources at the RippleX " -#~ "forum or XRP Chat." -#~ msgstr "新しいコンテンツの提案やフィードバックをお寄せいただける場合は、このコミュニティリソースをご覧ください。" - -#~ msgid "Build with XRP" -#~ msgstr "XRPを組み込む" - -#~ msgid "" -#~ "The digital asset XRP was designed " -#~ "with sustainability in mind. The XRP " -#~ "Ledger processes transactions through a " -#~ "unique “consensus” mechanism that consumes " -#~ "negligible energy and all XRP currency" -#~ " is already in circulation." -#~ msgstr "" -#~ "デジタルアセットであるXRPは、サステナビリティを念頭に置いて設計されています。XRP " -#~ "Ledgerは独自の「コンセンサス」メカニズムを通して取引を処理するため、エネルギーをごくわずかしか消費しません。また、XRP通貨はすべて、市場に出回っています。" - -#~ msgid "Environmentally sustainable (negligible energy consumption)" -#~ msgstr "環境の観点から持続可能(エネルギーをごくわずかしか消費しない)" - -#~ msgid "Contribute" -#~ msgstr "貢献する" - -#~ msgid "Sustainability icon" -#~ msgstr "サステナビリティアイコン" - -#~ msgid "*Calculations in million tonne (Mt)" -#~ msgstr "" - -#~ msgid "For Developers" -#~ msgstr "開発者の方" - -#~ msgid "" -#~ "Contributing to XRPL.org is a great " -#~ "way to learn about the XRP Ledger." -#~ " This portal is open-source and " -#~ "anyone can suggest changes. For more " -#~ "information, please read " -#~ "and consider the contributing guidelines." -#~ msgstr "" -#~ "XRP " -#~ "Ledgerについて学ぶには、XRPL.orgに貢献するのが最適です。このポータルはオープンソースであり、誰でも変更を提案できます。詳細については、貢献に関するガイドラインをご覧ください。" - -#~ msgid "" -#~ "You may also be interested in " -#~ "learning about Interledger, RippleX, " -#~ "and PayString." -#~ msgstr "" -#~ "InterledgerRippleXPayIDについても興味を持っていただけることでしょう。" - -#~ msgid "Businesses Running on the XRP Ledger" -#~ msgstr "XRP Ledgerを利用している企業" - -#~ msgid "" -#~ "While exchanges and wallet providers are" -#~ " the most common businesses running " -#~ "on the XRP Ledger, there are many" -#~ " other companies that leverage the " -#~ "technology to solve interesting problems " -#~ "across myriad industries." -#~ msgstr "" -#~ "XRP " -#~ "Ledgerは取引所やウォレットプロバイダーで特によくご利用いただいていますが、その他にも多種多様な業界で、数々の企業がこのテクノロジーを利用して、注目すべき問題を解決しています。" - -#~ msgid "Gaming" -#~ msgstr "ゲーム" - -#~ msgid "Businesses Using XRP" -#~ msgstr "XRPを利用している企業" - -#~ msgid "" -#~ "Coil provides an alternative to the " -#~ "status quo of paid advertisements with" -#~ " web monetization. Coil's web monetization" -#~ " uses the interledger protocol (ILP) " -#~ "to stream micropayments as users consume" -#~ " content. The XRP Ledger's payment " -#~ "channels provide an ideal system for " -#~ "settling these micropayments at high " -#~ "speed and low cost." -#~ msgstr "" -#~ "Coilは、現在の有料広告に代わる新たなウェブ収益化の方法を提供しています。Coilのウェブ収益化では、Interledger " -#~ "Protocol " -#~ "(ILP)を使用して、ユーザがコンテンツを視聴するときにマイクロペイメントをストリーミングします。そのようなマイクロペイメントを高速かつ低コストで決済する理想的なシステムを、XRP" -#~ " LedgerのPayment Channelで実現しています。" - -#~ msgid "" -#~ "GateHub is a platform for the " -#~ "Internet of Value, built on XRP " -#~ "Ledger protocol. It allows everyone to" -#~ " send, receive, trade and manage any" -#~ " type of assets." -#~ msgstr "" - -#~ msgid "" -#~ "Disclaimer: XRPL.org does not endorse or" -#~ " recommend any wallets or exchanges, " -#~ "or make any representations with respect" -#~ " to wallets. It’s advisable to " -#~ "conduct your own due diligence before" -#~ " relying on any third party or " -#~ "third-party technology." -#~ msgstr "" -#~ "免責事項: " -#~ "XRPL.orgは、いかなるウォレットおよび取引所の支持、推奨も、ウォレットに関するいかなる表明も行いません。サードパーティやサードパーティ技術を利用する前に、ご自身でデューデリジェンスを実施することをお勧めします。" - -#~ msgid "Exchanges are where people trade currencies." -#~ msgstr "取引所とは、通貨の取引を行う場所です。" - -#~ msgid "Options for Storing XRP" -#~ msgstr "XRPを保管する際の選択肢" - -#~ msgid "" -#~ "Custodial wallets manage a user's " -#~ "private key, which allows the wallet " -#~ "to withdraw cryptocurrency on a user's" -#~ " behalf. Non-custodial wallets do not" -#~ " manage a user's private key, which" -#~ " is up to the user to manage," -#~ " and therefore cannot send cryptocurrency" -#~ " on the user's behalf." -#~ msgstr "カストディ型ウォレットは、ユーザの秘密鍵を管理しているため、ユーザの代わりにウォレットが暗号資産を引き出すことができます。非カストディ型ウォレットは秘密鍵を管理せず、秘密鍵の管理はユーザ自身が行います。そのため、ユーザの代わりにウォレットが暗号資産を送金することはできません。" - -#~ msgid "XRP Ledger Software Wallets:" -#~ msgstr "XRP Ledgerソフトウェアウォレット:" - -#~ msgid "" -#~ "Disclaimer: XRPL.org does not endorse or" -#~ " recommend any wallets or make any" -#~ " representations with respect to wallets" -#~ " or the purchase or sale of " -#~ "digital assets more generally. It’s " -#~ "advisable to conduct your own due " -#~ "diligence before relying on any third" -#~ " party or third-party technology, and" -#~ " providers may vary significantly in " -#~ "their compliance, data security, and " -#~ "privacy practices." -#~ msgstr "" -#~ "免責事項: " -#~ "XRPL.orgは、いかなるウォレットの支持、推奨も、ウォレットやデジタル資産の購入および販売に関するいかなる表明も一般的には行いません。サードパーティやサードパーティ技術を利用する前に、ご自身でデューデリジェンスを実施することをお勧めします。コンプライアンス、データセキュリティ、プライバシー慣習はプロバイダーによって大きく異なる場合があります。" - -#~ msgid "License" -#~ msgstr "ライセンス" - -#~ msgid "Top" -#~ msgstr "先頭へ" - -# Link to edit this page on GitHub -#~ msgid "Edit" -#~ msgstr "編集" - -#~ msgid "Scroll Down" -#~ msgstr "下にスクロール" - -#~ msgid "XRP: The Best Digital Asset for Payments" -#~ msgstr "XRP: 送金に最適なデジタルアセット" - -#~ msgid "Learn More" -#~ msgstr "もっと詳しく知る" - -#~ msgid "Build with the XRP Ledger" -#~ msgstr "" - -#~ msgid "What is XRPL.org?" -#~ msgstr "XRPL.orgとは何ですか?" - -#~ msgid "" -#~ "Whether you’re a developer building on" -#~ " the XRP Ledger (XRPL) or just " -#~ "getting acquainted with blockchain and " -#~ "digital assets, XRPL.org is your source" -#~ " for technical information, reference " -#~ "materials, tools and all things XRP." -#~ msgstr "" -#~ "XRP " -#~ "Ledger(XRPL)で開発している開発者の方も、ただブロックチェーンやデジタルアセットについて知りたいだけだという方も、XRPL.orgでは役立つ技術情報、リファレンス資料、ツールなど、XRPのあらゆるものを見つけることができます。" - -#~ msgid "A Digital Asset Built for Payments" -#~ msgstr "送金のために設計されたデジタルアセット" - -#~ msgid "" -#~ "XRP is a digital asset built for" -#~ " payments. It is the native digital" -#~ " asset on the XRP Ledger—an open-" -#~ "source, permissionless and decentralized " -#~ "blockchain technology that can settle " -#~ "transactions in 3-5 seconds." -#~ msgstr "" -#~ "XRPは、送金のために設計されたデジタルアセットであり、XRP Ledger固有のデジタルアセットです。XRP " -#~ "Ledgerは、パーミッションを必要としない、オープンソースの分散型ブロックチェーン技術であり、3秒から5秒で取引を決済できます。" - -#~ msgid "" -#~ "It is the best way to move " -#~ "money around the world; the fuel " -#~ "for our growing digital economy." -#~ msgstr "XRPは国際送金に最適です。拡大するデジタル経済をさらに活性化する原動力になります。" - -#~ msgid "Learn about XRP" -#~ msgstr "XRPの詳細" - -#~ msgid "XRP History" -#~ msgstr "XRPの沿革" - -#~ msgid "Use Cases" -#~ msgstr "ユースケース" - -#~ msgid "XRP in the Real World" -#~ msgstr "XRPの実際の利用例" - -#~ msgid "Uses of XRP" -#~ msgstr "XRPの利用例" - -#~ msgid "" -#~ "XRP is helping solve previously " -#~ "unsolvable problems for people and " -#~ "industries around the world, and is " -#~ "one of the only digital assets " -#~ "with a commercial use case." -#~ msgstr "XRPは、世界中の人々や業界が抱える、今まで解決できなかった問題を解決する一助を担っています。また、商用で利用されている数少ないデジタルアセットの1つでもあります。" - -#~ msgid "Businesses on the Ledger" -#~ msgstr "Ledgerを利用している企業" - -#~ msgid "" -#~ "From gaming to web monetization, XRP " -#~ "and the XRP Ledger are powering " -#~ "innovative new technology across the " -#~ "payments space." -#~ msgstr "XRPとXRP Ledgerは、ゲームからウェブ収益化まで、決済のさまざまな分野で革新的な新技術を支えています。" - -#~ msgid "Explore Businesses" -#~ msgstr "企業を見る" - -#~ msgid "Real-World Impact" -#~ msgstr "実社会へのインパクト" - -#~ msgid "" -#~ "With its real-world utility and " -#~ "inherently green design, XRP helps " -#~ "ensure a more sustainable future for " -#~ "our planet and global economy." -#~ msgstr "XRPは実社会のインフラであり、その本質からして環境にやさしい設計です。XRPは私たちの地球と国際経済の持続可能な未来をサポートします。" - -#~ msgid "Explore Impact" -#~ msgstr "インパクトを見る" - -#~ msgid "Green by Nature" -#~ msgstr "本質的に環境にやさしい" - -#~ msgid "" -#~ "XRP was designed with sustainability in" -#~ " mind. Contrary to other blockchains " -#~ "that use proof-of-work, the XRP" -#~ " Ledger confirms transactions through a " -#~ "unique “consensus” mechanism and is " -#~ "one of the first truly carbon neutral" -#~ " blockchains." -#~ msgstr "" -#~ "XRPはサステナビリティを念頭に置いて設計されました。プルーフオブワークを使用する他のブロックチェーンとは異なり、XRP " -#~ "Ledgerは独自の「コンセンサス」メカニズムを通して取引を確認するため、エネルギーをごくわずかしか消費しません。" - -#~ msgid "" -#~ "Explore the energy consumption of XRP" -#~ " compared to cash, credit cards and" -#~ " other popular crypto with the Green Currency " -#~ "Calculator." -#~ msgstr "" -#~ "現金、クレジットカード、他の主要な暗号資産と比べてXRPのエネルギー消費量がどのくらいか、Green Currency " -#~ "Calculatorでご覧ください。" - -#~ msgid "Go Green" -#~ msgstr "環境を大切にする" - -#~ msgid "Partners in Sustainability" -#~ msgstr "サステナビリティのパートナー" - -#~ msgid "Dive into our documentation and start integrating with the XRP Ledger." -#~ msgstr "" - -#~ msgid "" -#~ "Browse by category, or skip straight " -#~ "to the full" -#~ " documentation index." -#~ msgstr "" - -#~ msgid "View All %(parent_name)s" -#~ msgstr "全ての%(parent_name)s" - -#~ msgid "" -#~ "Or, skip ahead to the Full Reference " -#~ "Index." -#~ msgstr "全リファレンス目次にジャンプ。" - -#~ msgid "Full Reference Index" -#~ msgstr "全リファレンス目次" - -#~ msgid "Build a Better Bitcoin" -#~ msgstr "もっと優れたBitcoinをつくる" - -#~ msgid "XRP’s Origin" -#~ msgstr "XRPの原点" - -#~ msgid "" -#~ "In 2011, three engineers—David Schwartz, " -#~ "Jed McCaleb and Arthur Britto—began " -#~ "developing the XRP Ledger." -#~ msgstr "" -#~ "2011年に、David Schwartz、Jed McCaleb、Arthur " -#~ "Brittoという3人のエンジニアがXRP Ledgerの開発に着手しました。" - -#~ msgid "" -#~ "The founders of the XRP Ledger " -#~ "gifted 80 billion XRP to the " -#~ "company. Ripple has since sold some " -#~ "of its XRP and put the rest " -#~ "in escrow." -#~ msgstr "" -#~ "XRP Ledgerの創始者から800億XRPを贈与されたRippleは、それ以来、保有するXRPの一部を販売し、残りをEscrowに預託しています。" - -#~ msgid "Timeline of XRP Evolution" -#~ msgstr "XRPの進化のタイムライン" - -#~ msgid "" -#~ "The history of the XRP Ledger and" -#~ " its native digital asset XRP dates" -#~ " back to early 2011 when three " -#~ "developers—David Schwartz, Jed McCaleb and " -#~ "Arthur Britto—were fascinated with Bitcoin " -#~ "but observed the waste inherent in mining. " -#~ "They sought to create a better " -#~ "system for sending value (an idea " -#~ "outlined in a May 2011 forum post: " -#~ "“Bitcoin without mining”)." -#~ msgstr "" -#~ "XRP Ledgerとその固有のデジタルアセットであるXRPの歴史は、2011年初頭にまでさかのぼります。David " -#~ "Schwartz、Jed McCaleb、Arthur " -#~ "Brittoという3人の開発者はBitcoinに魅了されていましたが、マイニングには本質的に無駄が潜んでいると感じていました。そこで3人は、送金のためのより優れたシステムを構築することを目指しました(このアイデアは2011年5月のフォーラム投稿「Bitcoin without " -#~ "mining」で述べられています)。" - -#~ msgid "2012 XRP Launched" -#~ msgstr "2012年、XRPをローンチ" - -#~ msgid "" -#~ "In 2011 and early 2012, the trio" -#~ " of developers started a project to" -#~ " build a distributed ledger that " -#~ "improved upon these fundamental limitations" -#~ " of Bitcoin—their first ever code " -#~ "commit was in November 2011." -#~ msgstr "2011年から2012年の初頭に、3人はBitcoinが持つこのような根本的な制約を改善する、分散型のレジャーを構築するためのプロジェクトを開始しました。初めてコードをコミットしたのは2011年11月のことでした。" - -#~ msgid "" -#~ "They wrote code, that when executed, " -#~ "would create a distributed ledger, which" -#~ " they named Ripple. It included a " -#~ "digital asset that would be called " -#~ "“ripples” (XRP as the currency code) " -#~ "to follow the same naming convention " -#~ "as Bitcoin (BTC). At the time, " -#~ "Ripple stood for the open-source " -#~ "project, the unique consensus ledger " -#~ "(Ripple Consensus Ledger), transaction " -#~ "protocol (Ripple Transaction Protocol or " -#~ "RTXP), the network (Ripple network) and" -#~ " the digital asset (known as " -#~ "“ripples”)." -#~ msgstr "" -#~ "実行されると分散型レジャーが作られるコードを作成し、それをRippleと名付けました。そのコードには、Bitcoin(BTC)の命名規則にならって、のちに「Ripple」(通貨コードはXRP)と呼ばれるようになるデジタルアセットが含まれていました。当時から、Rippleはオープンソースプロジェクト、独自のコンセンサスレジャー(Ripple" -#~ " Consensus Ledger)、取引プロトコル(Ripple Transaction " -#~ "Protocol(RTXP))、ネットワーク(Ripple " -#~ "Network)、デジタルアセット(「Ripple」)という考えに根ざしていました。" - -#~ msgid "" -#~ "At that time, they decided their " -#~ "next move would be to gift 80 " -#~ "billion XRP to a not-yet-formed" -#~ " private company that would work with" -#~ " the broader community as well as " -#~ "pursue its own payments mission. The " -#~ "ledger code itself would be open " -#~ "source and for anyone to use." -#~ msgstr "その時点で、3人は次の動きとして、まだ設立されていなかった非公開企業に800億XRPを贈与することを決めました。この会社がのちに幅広いコミュニティと連携しながら、独自に掲げた決済のミッションに取り組むことになります。レジャーのコード自体はオープンソースで、誰でも使用できるようになります。" - -#~ msgid "" -#~ "They all agreed on how to allocate" -#~ " the XRP among themselves and the " -#~ "future company, and they eventually " -#~ "created the company along with Chris " -#~ "Larsen in September 2012." -#~ msgstr "" -#~ "3人とこれから設立される会社との間でXRPをどのように分配するか話し合って合意し、最終的に、Chris " -#~ "Larsenが合流して2012年9月に会社を設立しました。" - -#~ msgid "" -#~ "At the outset of the company, " -#~ "OpenCoin set out to revolutionize the" -#~ " global financial system. Despite the " -#~ "revolutionary ideals of many of " -#~ "Bitcoin’s early believers, Larsen never " -#~ "thought blockchain technology should be " -#~ "used to overthrow the existing financial" -#~ " system. He believed that history’s " -#~ "most transformative innovations have always" -#~ " relied on the great ideas that " -#~ "came before them—not disrupting them." -#~ msgstr "会社の創立時点では、OpenCoinはグローバル金融システムを変革することを目指していました。Bitcoinの初期の信奉者の多くも革新という理想を掲げていましたが、それらとは異なり、Larsenは既存の金融システムを覆すためにブロックチェーン技術を使用するべきだとは考えていませんでした。歴史上で大きな変革を起こしてきたイノベーションはどれも、以前からあった優れたアイデアを活用したものであって、破壊してきたわけではないと考えていました。" - -#~ msgid "Podcast" -#~ msgstr "ポッドキャスト" - -#~ msgid "How Digital Assets Will Help Create a Sustainable Global Economy" -#~ msgstr "デジタルアセットが持続可能な国際経済の構築に役立つ仕組み" - -#~ msgid "" -#~ "Hear from Ripple co-founder Chris " -#~ "Larsen in the inaugural episode of " -#~ "the Block Stars podcast." -#~ msgstr "Block Starsポッドキャストの第1回目のエピソードで、Rippleの共同創業者であるChris Larsenの話をお楽しみください。" - -#~ msgid "Listen Now" -#~ msgstr "今すぐ聞く" - -#~ msgid "Global Payments" -#~ msgstr "国際送金" - -#~ msgid "XRP and the XRP Ledger are changing that." -#~ msgstr "XRPとXRP Ledgerがそれを変革します。" - -#~ msgid "" -#~ "The technology has been adopted by " -#~ "financial institutions around the world. " -#~ "They use it to source liquidity " -#~ "for international transactions, and because" -#~ " of the unprecedented efficiency it " -#~ "offers, they’re able to both bring " -#~ "down costs and improve services." -#~ msgstr "この技術は世界中の金融機関で採用されています。国際取引の流動性を供給する際に使用されているほか、これまでにない効率性を実現できるため、コスト削減とサービス向上を同時に達成できます。" - -#~ msgid "Future of Finance" -#~ msgstr "未来の金融" - -#~ msgid "Digital Assets" -#~ msgstr "デジタルアセット" - -#~ msgid "" -#~ "XRP is optimal for transacting—it’s " -#~ "fast, cheap, scalable and energy-" -#~ "efficient. It was designed for use " -#~ "in global payments." -#~ msgstr "XRPは処理が速く、低コストで、スケーラブルであり、省エネルギーであるため、取引に最適です。XRPは国際送金での使用を念頭に置いて設計されています。" - -#~ msgid "" -#~ "The digital asset XRP was designed " -#~ "with sustainability in mind. The XRP " -#~ "Ledger processes transactions through a " -#~ "unique “consensus” mechanism that consumes " -#~ "negligible energy and all XRP currency" -#~ " is already in circulation. It is " -#~ "the first major blockchain network to" -#~ " be fully carbon neutral." -#~ msgstr "" - -#~ msgid "$0.50/transaction" -#~ msgstr "$0.50(1取引あたり)" - -#~ msgid "Environmentally sustainable and carbon neutral" -#~ msgstr "" - -#~ msgid "Finite Supply of XRP" -#~ msgstr "XRPの供給量は有限です" - -#~ msgid "" -#~ "Unlike Bitcoin, there is a finite " -#~ "amount of XRP. All XRP is already" -#~ " in existence today—100 billion in " -#~ "total." -#~ msgstr "Bitcoinとは異なり、XRPの供給量は有限です。XRPの総額は1,000億XRPであり、そのすべてが市場に出回っています。" - -#~ msgid "History of XRP" -#~ msgstr "XRPの沿革" - -#~ msgid "" -#~ "The XRP Ledger is open-source " -#~ "technology on which anyone can build." -#~ " The XRP Ledger is maintained by " -#~ "a global “XRP Community”—a diverse set" -#~ " of participants composed of software " -#~ "engineers, server operators and validators." -#~ msgstr "" -#~ "XRP Ledgerは、誰でも構築が可能なオープンソース技術です。ソフトウェアエンジニア、サーバオペレーター、バリデータなど多様な参加者で構成されるグローバルな「XRPコミュニティ」が、XRP " -#~ "Ledgerを管理しています。" - -#~ msgid "" -#~ "The XRP Ledger uses a consensus " -#~ "protocol, in which validators come to" -#~ " an agreement on the order of " -#~ "XRP transactions every 3-5 seconds. This" -#~ " agreement serves as the final and" -#~ " irreversible settlement." -#~ msgstr "" -#~ "XRP " -#~ "Ledgerはコンセンサスプロトコルを使用します。このプロトコルでは、バリデータが3秒から5秒ごとにXRP取引のオーダーについて合意に至ります。この合意が、最終的な取り消し不可の決済として機能します。" - -#~ msgid "" -#~ "Transactions are executed in a " -#~ "deterministic order to prevent double " -#~ "spending and malicious activity. Unlike " -#~ "other blockchains, transaction fees are " -#~ "destroyed as part of transaction " -#~ "execution. The XRP Ledger adjusts fees" -#~ " in near real time to respond " -#~ "to network conditions, with the twin " -#~ "goals of maximizing transaction throughput " -#~ "while keeping transaction fees as low" -#~ " as possible." -#~ msgstr "" -#~ "取引は、決定論的な順序で実行されるため、二重支払や不正行為を防ぐことができます。他のブロックチェーンとは異なり、取引手数料は取引実行の一環として消却されます。XRP" -#~ " " -#~ "Ledgerは、取引スループットを最大化しながら取引手数料をできるだけ低く抑えるという2つの目標の下、手数料をほぼリアルタイムで調整して、ネットワークの状況に対応します。" - -#~ msgid "XRP Validators" -#~ msgstr "XRPのバリデータ" - -#~ msgid "Why Is XRP Useful?" -#~ msgstr "XRPはなぜ便利なのですか?" - -#~ msgid "" -#~ "XRP is fast, low-cost, sustainable " -#~ "and scalable. It is the key to " -#~ "fueling growth and realizing the true" -#~ " potential of our global economy—the " -#~ "Internet of Value." -#~ msgstr "" -#~ "XRPは、スピード、コスト、持続可能性、スケーラビリティに優れています。これは、成長を促進して国際経済の真の可能性、つまり価値のインターネットを実現するための鍵となる要素です。" - -#~ msgid "Businesses" -#~ msgstr "企業" - -#~ msgid "" -#~ "Many businesses are building on the " -#~ "XRP Ledger, pursuing powerful use cases" -#~ " in decentralized finance, micropayments, " -#~ "gaming, web monetization and more. " -#~ "Additionally, Ripple, the technology company," -#~ " is focused on building a network " -#~ "and infrastructure that leverages XRP to" -#~ " power faster, more affordable cross-" -#~ "border payments around the world." -#~ msgstr "" -#~ "多くの企業が、分散型金融マイクロペイメント、ゲーム、ウェブ収益化など、大きな効果をもたらす用途を実現するために、XRP " -#~ "Ledgerを基盤として開発しています。また、テクノロジー企業であるRippleも、XRPを活用したネットワークとインフラストラクチャを構築し、より速くて低コストな国際送金を実現するために取り組んでいます。" - -#~ msgid "More About Businesses" -#~ msgstr "企業について詳しく見る" - -#~ msgid "" -#~ "Individual consumers can use XRP to " -#~ "move different currencies around the " -#~ "world. For example, through wallets and" -#~ " exchanges that use PayID, " -#~ "anyone can use XRP—or any currency, " -#~ "be it fiat or digital assets—to " -#~ "easily make purchases across any " -#~ "payments network." -#~ msgstr "" -#~ "個人の消費者は、XRPを利用することで、さまざまな通貨での国際送金が可能になります。例えば、PayIDを使用しているウォレットや取引所を通して、XRPはもちろん、法定通貨でもデジタルアセットでも任意の通貨を使って、誰もが任意の決済ネットワークで簡単に購入できます。" - -#~ msgid "More About Uses" -#~ msgstr "使用について詳しく見る" - -#~ msgid "" -#~ "By building on the XRP Ledger, " -#~ "developers can easily integrate payments " -#~ "into their products—seamlessly putting money" -#~ " at the center of their applications." -#~ " Projects like xrpl-py are " -#~ "making it easier for developers to " -#~ "leverage XRP." -#~ msgstr "" -#~ "XRP " -#~ "Ledgerを基盤として開発すると、自社製品に決済を簡単に組み込めるので、決済を中心としたアプリケーションをシームレスに実現できます。RippleX開発者向けプラットフォームなどのプロジェクトを利用すれば、XRPを活用するのがさらに簡単になります。" - -#~ msgid "More About Developers" -#~ msgstr "開発者についてもっと見る" - -#~ msgid "Internet of Value" -#~ msgstr "価値のインターネット" - -#~ msgid "" -#~ "The XRP Ledger settles transactions " -#~ "faster than any other blockchain—in 3-5" -#~ " seconds." -#~ msgstr "XRP Ledgerは、他のどのブロックチェーンよりも速く、3秒から5秒で取引を決済します。" - -#~ msgid "" -#~ "XRP transactions cost a fraction of " -#~ "a penny ($0.0002)—much less than other" -#~ " cryptocurrencies and average fiat " -#~ "payments." -#~ msgstr "XRP取引のコストはほんのわずか($0.0002)で、他の暗号資産や一般的な法定の決済方法よりもはるかに低コストです。" - -#~ msgid "The XRP Ledger can handle up to 1,500 transactions per second." -#~ msgstr "XRP Ledgerは1秒あたりに最大で1,500件の取引を処理できます。" - -#~ msgid "" -#~ "XRP transactions settle without the " -#~ "enormous and unsustainable energy costs " -#~ "associated with proof-of-work (or " -#~ "mining)." -#~ msgstr "XRP取引の決済では、プルーフオブワーク(マイニング)に関連する、とても持続可能とはいえない莫大なエネルギーコストはかかりません。" - -#~ msgid "Real" -#~ msgstr "使用実績がある" - -#~ msgid "" -#~ "XRP is one of the only digital " -#~ "assets with a proven, real-world " -#~ "use case: cross-border payments." -#~ msgstr "XRPは、国際送金という実際のユースケースでの使用実績のある、数少ないデジタルアセットの1つです。" - -#~ msgid "" -#~ "XRP is traded on more than 140 " -#~ "markets and exchanges" -#~ " worldwide." -#~ msgstr "XRPは世界中の140以上の市場とで取引されています。" - -#~ msgid "Find Out More" -#~ msgstr "詳細を見る" - -#~ msgid "" -#~ "Ripple is a technology company that " -#~ "makes it easier to build a " -#~ "high-performance, global payments business " -#~ "through its platform, RippleNet. XRP is" -#~ " a digital asset independent of this," -#~ " and is used in Ripple’s On-" -#~ "Demand Liquidity service to facilitate " -#~ "efficient and cost-effective cross-" -#~ "border transactions. In December of " -#~ "2017, Ripple placed 55 Billion XRP " -#~ "into a cryptographically secured escrow account " -#~ "to support stable and healthy XRP markets." -#~ msgstr "" -#~ "Rippleは、自社が提供するプラットフォームであるRippleNetを通して、効果の高いグローバル決済事業を手軽に構築できるようにしているテクノロジー企業です。XRPはそれとは独立したデジタルアセットであり" -#~ "、効率的でコストパフォーマンスのよい国際送金を実現するRippleのOn-Demand " -#~ "Liquidityサービスで使用されています。2017年12月に、Rippleは安定した健全なXRP市場を支援するために、暗号で保護されたEscrow口座に550億XRPを預託しました。" - -#~ msgid "Visit Ripple's Website" -#~ msgstr "Rippleのウェブサイトを見る" - -#~ msgid "" -#~ "XRPL.org is a community-driven resource" -#~ " for all things XRP and XRP " -#~ "Ledger (XRPL). If you’d like to " -#~ "suggest additional information around XRP, " -#~ "you can suggest changes here." -#~ msgstr "" -#~ "XRPL.orgは、XRPとXRP " -#~ "Ledger(XRPL)のあらゆるものを提供する、コミュニティ主体のリソースです。XRPに関して提案したい追加の情報があれば、こちらから変更を提案できます。" - -#~ msgid "Suggest Changes" -#~ msgstr "変更を提案する" - -#~ msgid "The Best Way To Move Money Around the World" -#~ msgstr "国際送金に最適な手段" - -#~ msgid "Using XRP" -#~ msgstr "XRPの使用" - -#~ msgid "" -#~ "XRP and the XRP Ledger are used" -#~ " to power innovative technology across " -#~ "the payments space." -#~ msgstr "XRPとXRP Ledgerは、決済のさまざまな分野で革新的な技術を支えています。" - -#~ msgid "" -#~ "From cross-border payments to " -#~ "decentralized finance, businesses and " -#~ "developers around the world are " -#~ "leveraging the XRP Ledger and its " -#~ "native digital asset, XRP—a faster, " -#~ "cheaper and greener currency." -#~ msgstr "" -#~ "国際送金から分散型金融まで、世界中の企業や開発者がXRP " -#~ "Ledgerとその固有のデジタルアセットであるXRPを活用しています。XRPは、高速・低コストで環境にやさしい通貨です。" - -#~ msgid "" -#~ "Through RippleNet, financial institutions can" -#~ " use XRP to bridge two currencies " -#~ "in 3-5 seconds, ensuring payments are" -#~ " quickly sent and received in the " -#~ "local currency on either side of a" -#~ " transaction." -#~ msgstr "RippleNetを通じて、金融機関はXRPを利用し、2つの通貨の取引をわずか3秒から5秒で完了でき、取引の両側の現地通貨で資金の送金と着金を迅速に行えます。" - -#~ msgid "Learn About On-Demand Liquidity" -#~ msgstr "On-Demand Liquidityについて" - -#~ msgid "Learn About XRP Ledger Businesses" -#~ msgstr "XRP Ledgerを利用している企業について見る" - -#~ msgid "Digital Cryptocurrency" -#~ msgstr "デジタル暗号資産" - -#~ msgid "Explore Wallets" -#~ msgstr "ウォレットについて見る" - -#~ msgid "" -#~ "Market makers and individuals use " -#~ "exchanges to trade XRP and other " -#~ "digital assets. Exchanges are often also" -#~ " intermediaries in cross-border payments" -#~ " among financial institutions." -#~ msgstr "マーケットメーカーや個人は、取引所を利用してXRPや他のデジタルアセットを取引します。取引所は金融機関同士の国際送金の仲介機関ともなります。" - -#~ msgid "Institutional Trading" -#~ msgstr "機関投資" - -#~ msgid "" -#~ "Market participants use XRP as a " -#~ "high-speed, cost-efficient and reliable " -#~ "trading collateral. This means seizing " -#~ "arbitrage opportunities, servicing margin " -#~ "calls and managing general trade " -#~ "inventory in real time." -#~ msgstr "市場参加者は、高速かつコスト効率が高く信頼できる取引担保としてXRPを使用し、裁定取引の好機をとらえたり、マージンコールを支払ったり、全般的な取引インベントリを管理したりといったことをリアルタイムで行っています。" - -# Tooltip on the button to open the search box -#~ msgid "Open Search" -#~ msgstr "検索を開く" - -#~ msgid "Issued Currencies" -#~ msgstr "発行済み通貨を支払い" - -#~ msgid "二酸化炭素計算について見る" -#~ msgstr "" - -#~ msgid "Read the proposal for a native AMM on XRPL" -#~ msgstr "XRPL上のネイティブAMMの提案を読む" - -#~ msgid "" -#~ "For more than 272 million migrants " -#~ "worldwide, sending and receiving money " -#~ "across borders is expensive, unreliable " -#~ "and complex." -#~ msgstr "" -#~ "世界中の2億7,200万人を超える移民にとって、国際送金は高額なコストがかかり、信頼性が低くて複雑なのが現状です。" - -#~ msgid "Native NFT support is now available on the XRP Ledger" -#~ msgstr "" - -#~ msgid "Native NFT support is now available" -#~ msgstr "" - -#~ msgid "on the XRP Ledger" -#~ msgstr "" - -#~ msgid "" -#~ "The XRPL Campus Ambassador program " -#~ "engages, supports, connects, and recognizes" -#~ " a group of student champions of " -#~ "the XRPL and empowers them to " -#~ "further advance engagement on the XRP" -#~ " Ledger." -#~ msgstr "" - -#~ msgid "Green Currency Interactive Tool" -#~ msgstr "インタラクティブツールを見る" - -#~ msgid "How Green Is Your Currency?" -#~ msgstr "お使いの通貨はどのくらい環境にやさしいですか?" - -#~ msgid "Energy Consumption for Cash, Credit Cards and Crypto" -#~ msgstr "現金、クレジットカード、暗号資産のエネルギー消費量" - -#~ msgid "" -#~ "Moving money carries cost—and not just" -#~ " the fee on your transaction or " -#~ "the value of your payment." -#~ msgstr "資金を移動させるにはコストがかかります。これは取引手数料や支払額だけの話ではありません。" - -#~ msgid "" -#~ "Whether it’s in cash, on a credit" -#~ " card or with crypto, every " -#~ "transaction you make consumes energy, " -#~ "and therefore, emits pollutants into the" -#~ " environment." -#~ msgstr "現金、クレジットカード、暗号資産での取引は、いずれもエネルギーを消費しています。その結果、汚染物質が環境に排出されているのです。" - -#~ msgid "" -#~ "The impact of this is startling " -#~ "when you look at the total " -#~ "transactions across an entire year—for " -#~ "any one form of currency." -#~ msgstr "1年間で行われる総取引量を考えてみれば、1つの通貨形態だけでも、驚くほどの影響があります。" - -#~ msgid "" -#~ "Find out more about the environmental" -#~ " cost of some of the world’s " -#~ "most popular and innovative currencies, " -#~ "and start making more educated choices" -#~ " about how you transact." -#~ msgstr "世界中で特によく利用されている革新的な通貨の環境コストを詳しく確認することで、知識に基づいて取引方法を選べるようになります。" - -#~ msgid "How Does XRP Compare to Other Currencies?" -#~ msgstr "XRPを他の通貨と比較すると?" - -#~ msgid "Change Inputs" -#~ msgstr "入力の変更" - -#~ msgid "Comparing
      Transaction Data" -#~ msgstr "取引データの
      比較" - -#~ msgid "Credit Cards" -#~ msgstr "クレジットカード" - -#~ msgid "Cash" -#~ msgstr "現金" - -#~ msgid "Twitter share" -#~ msgstr "Twitterでシェア" - -#~ msgid "LinkedIn share" -#~ msgstr "LinkedInでシェア" - -#~ msgid "Facebook share" -#~ msgstr "Facebookでシェア" - -#~ msgid "Learn more about the methodology" -#~ msgstr "測定方法について詳しく知る【英語】" - -#~ msgid "Energy Consumption of Portugal" -#~ msgstr "ポルトガルのエネルギー消費量" - -#~ msgid "" -#~ "Comparing " -#~ "Million Transactions in 2019" -#~ msgstr "2019年の取引額百万を比較" - -#~ msgid "" -#~ "The country of Portugal consumes 46.94" -#~ " billion Kilowatt hours (kWh) of " -#~ "energy annually. Explore how much energy" -#~ " today’s various currencies consume in " -#~ "relation to Portugal." -#~ msgstr "ポルトガルの国全体では年間でおよそ50TWh(10億キロワット時【kWh】)のエネルギーを消費しています。ポルトガルと比較して、現代のさまざまな通貨のエネルギー消費量をご覧ください。" - -#~ msgid "Portugal" -#~ msgstr "ポルトガル" - -#~ msgid "kWh" -#~ msgstr "kWh" - -#~ msgid "Ethereum" -#~ msgstr "Ethereum" - -#~ msgid "Visa" -#~ msgstr "Visa" - -#~ msgid "CO2 Emissions from Airline Flights" -#~ msgstr "航空便によるCO2排出量" - -#~ msgid "" -#~ "A 12-hour flight from London to " -#~ "Hong Kong releases 3 tons of " -#~ "carbon dioxide (CO2). Discover how" -#~ " much CO2 different forms of " -#~ "currency release in comparison to " -#~ "emissions from airline flights." -#~ msgstr "ロンドンから香港までの所要12時間の1回のフライトで、二酸化炭素(CO2)が3トン排出されます。航空便による排出量と比較して、さまざまな通貨形態でどれほどのCO2が排出されるかご確認ください。" - -#~ msgid "metric tons of CO2" -#~ msgstr "CO2のメトリックトン" - -#~ msgid "Gas Consumption by the Gallon" -#~ msgstr "ガス消費量(ガロン)" - -#~ msgid "" -#~ "An Ultra Large Crude Carrier (ULCC) " -#~ "carries approximately 120 million gallons " -#~ "of gas. Measure the environmental impact" -#~ " between currencies in relation to " -#~ "the amount of gas they would " -#~ "consume in the real-world." -#~ msgstr "超大型原油タンカー(ULCC)は約1億2,000万ガロンのガスを運ぶことができます。それぞれの通貨が実際に消費するガスの量を比較して、環境への影響を測定してみましょう。" - -#~ msgid "Gallons of Gas" -#~ msgstr "ガロン" - -#~ msgid "Breaking Down Individual Transactions" -#~ msgstr "取引1回分の内訳" - -#~ msgid "" -#~ "Looking at individual transactions below, " -#~ "compare how a single transaction across" -#~ " each form of currency equates to " -#~ "kWh, CO2 emissions, and gallons " -#~ "of gas." -#~ msgstr "各通貨形態の取引1回分がどのくらいのエネルギー消費量(kWh)、ガス消費量(ガロン)、CO2排出量に相当するか比較しました。以下の表をご覧ください。" - -#~ msgid "Kilowatt Hour" -#~ msgstr "キロワット時" - -#~ msgid "CO2 Emissions" -#~ msgstr "CO2排出量" - -#~ msgid "Paper Currency" -#~ msgstr "紙幣" - -#~ msgid "Annual Summit: Apex" -#~ msgstr "" - -#~ msgid "" -#~ "Apex XRPL Developer Summit is the " -#~ "annual event where developers, contributors," -#~ " and thought leaders come together to" -#~ " learn, build, share, network, and " -#~ "celebrate all things XRP Ledger." -#~ msgstr "" - -#~ msgid "Explore Apex" -#~ msgstr "" - -#~ msgid "Apex 2021 On-Demand" -#~ msgstr "" - -#~ msgid "" -#~ "View sessions from the Apex 2021 " -#~ "stages in Las Vegas and Tallinn. " -#~ "Relive the keynote fireside chat with" -#~ " Alexis Ohanian and soak in the " -#~ "knowledge that was shared by passionate" -#~ " XRPL community members." -#~ msgstr "" - -#~ msgid "Watch Sessions On-Demand" -#~ msgstr "" - -#~ msgid "Faster, Cheaper, Green Money" -#~ msgstr "より速く、低コストで、環境にやさしい送金" - -#~ msgid "" -#~ "The digital asset XRP is a truly" -#~ " global currency—ideally suited to enable" -#~ " today’s global economy." -#~ msgstr "デジタルアセットのXRPは真にグローバルな通貨であり、今日の国際経済を実現するのに最適です。" - -#~ msgid "" -#~ "As an optimal medium of exchange, " -#~ "XRP and the XRP Ledger on which" -#~ " it operates help to move money " -#~ "around the world faster, cheaper and " -#~ "more sustainably than any other currency" -#~ " available today. " -#~ msgstr "" -#~ "両替に最適な手段であるXRPとその基盤となるXRP " -#~ "Ledgerは、現在利用できる他のどの通貨よりも速く、低コストで持続可能な国際送金をサポートします。" - -#~ msgid "" -#~ "It was designed this way, and it’s" -#~ " proving its impact in global " -#~ "payments and beyond." -#~ msgstr "このように設計されていることで、国際送金だけにとどまらず、さまざまなところでそのインパクトが実証されています。" - -#~ msgid "Creating Economic Opportunity" -#~ msgstr "経済的機会の創出" - -#~ msgid "" -#~ "For more than 272 million migrants " -#~ "worldwide, sending and receiving money " -#~ "across borders is expensive, unreliable " -#~ "and complex." -#~ msgstr "" - -#~ msgid "" -#~ "XRP and the XRP Ledger are " -#~ "changing that. The technology has been" -#~ " adopted by financial institutions around" -#~ " the world to source liquidity for" -#~ " international transactions. Because of the" -#~ " unprecedented efficiency it offers, " -#~ "they’re able to bring down costs " -#~ "and improve services." -#~ msgstr "" -#~ "XRPとXRP " -#~ "Ledgerがそれを変えています。このテクノロジーは、国際取引の流動性を調達するために、世界中の金融機関に採用されています。前例のない効率性を実現しているため、コストを下げ、サービスを向上させることができるのです" - -#~ msgid "" -#~ "This means hundreds of millions of " -#~ "people worldwide who need to move " -#~ "money safely and securely across borders" -#~ " can do so more affordably and " -#~ "reliably than ever before." -#~ msgstr "つまり、安心かつ安全な国際送金を求める何億人もの人々が、かつてないほどの低コストと高い信頼性で送金できるようになるということです。" - -#~ msgid "Building for the Future" -#~ msgstr "未来を見据えて構築されています" - -#~ msgid "" -#~ "Digital assets and blockchain technology " -#~ "are the future of finance. Open " -#~ "and decentralized, they offer the " -#~ "first-ever global standards for value " -#~ "exchange broadly—whether it’s money, stocks," -#~ " loyalty points, intellectual property or" -#~ " more." -#~ msgstr "デジタルアセットとブロックチェーン技術は未来の金融です。オープンで分散化されており、資金、株式、ロイヤルティポイント、知的財産などさまざまな価値を交換するための史上初の国際標準を提供します。" - -#~ msgid "Projected BTC, ETH and XRP Transactions in USD" -#~ msgstr "BTC、ETH、XRPの米ドル建て取引額の予測" - -#~ msgid "2025" -#~ msgstr "" - -#~ msgid "+195.3%%" -#~ msgstr "" - -#~ msgid "$8.6T" -#~ msgstr "" - -#~ msgid "2030" -#~ msgstr "" - -#~ msgid "+21.4%%" -#~ msgstr "" - -#~ msgid "$10.5T" -#~ msgstr "" - -#~ msgid "Are All Digital Assets Alike?" -#~ msgstr "どのデジタルアセットも似たようなものでしょうか?" - -#~ msgid "" -#~ "All digital assets have different " -#~ "strengths that make them ideal for " -#~ "various use cases." -#~ msgstr "デジタルアセットにはそれぞれ独自の強みがあり、現代のさまざまな用途に適しています。" - -#~ msgid "" -#~ "Bitcoin has historically been recognized " -#~ "as a store of value and Ether " -#~ "(ETH) for its smart contract " -#~ "capabilities." -#~ msgstr "Bitcoinは価値の貯蔵場所として広く認識されており、Ethereum(ETH)はスマートコントラクトでの使用に適しています。" - -#~ msgid "" -#~ "XRP was designed to be optimal for" -#~ " global payments—it’s fast, cheap, scalable" -#~ " and energy-efficient. But the XRP" -#~ " Ledger is also increasingly popular " -#~ "for innovative blockchain use cases, " -#~ "like NFTs and DeFi." -#~ msgstr "" -#~ "XRPはグローバルな決済に最適なように設計されており、高速で安価、スケーラブルでエネルギー効率に優れています。それだけでなく、XRP " -#~ "Ledgerは、NFTやDeFiのような革新的なブロックチェーンのユースケースでもますます人気が高まっています。" - -#~ msgid "" -#~ "The same characteristics that make XRP" -#~ " ideal for global transactions mean " -#~ "it’s also better for our environment." -#~ " XRP is green by nature." -#~ msgstr "また、送金に最適なこの特徴は、環境にもよい効果をもたらします。XRPは本質的に環境にやさしいデジタルアセットです。" - -#~ msgid "" -#~ "Most currencies today—whether digital or " -#~ "physical—are not environmentally friendly. The" -#~ " potential for long-term impact on" -#~ " our planet could hold startling " -#~ "consequences. " -#~ msgstr "デジタル通貨でも物理的な通貨でも、現在利用されているほとんどの通貨は環境にやさしくありません。地球に長期的な影響を及ぼす可能性があり、深刻な結果が解消されないおそれがあります。" - -#~ msgid "" -#~ "The XRP Ledger processes transactions " -#~ "through a unique “consensus” mechanism " -#~ "that consumes negligible energy and all" -#~ " XRP currency is already in " -#~ "circulation." -#~ msgstr "" -#~ "XRP " -#~ "Ledgerは消費エネルギーがごくわずかで、全てのXRP通貨が既に発行されており、独自の「コンセンサス」メカニズムを通じてトランザクションを処理します。" - -#~ msgid "" -#~ "Cash also leaves a substantial carbon" -#~ " footprint, and the environmental impact" -#~ " goes beyond energy consumption—eutrophication" -#~ " (due to waste), photochemical ozone " -#~ "creation, greenhouse gas emissions and " -#~ "more factor into the equation." -#~ msgstr "現金も相当の二酸化炭素排出量があります。その環境への影響は、エネルギー消費量だけでなく、廃棄による富栄養化、光化学オゾンの発生、温室効果ガスの排出など、さまざまな要素がかかわってきます。" - -#~ msgid "" -#~ "Other digital assets, like Bitcoin, rely" -#~ " on a different mechanism to both " -#~ "validate transactions and create new " -#~ "coins. This “proof-of-work” algorithm" -#~ " requires “mining.” Mining is an " -#~ "incredibly energy-intensive process for " -#~ "validating transactions that consumes more " -#~ "energy in a year than entire " -#~ "countries." -#~ msgstr "Bitcoinなど他のデジタルアセットは、取引の確認と新規コインの創出に、XRPとは異なる技術を使用しています。この「プルーフオブワーク」アルゴリズムでは「マイニング」が必要です。マイニングとは、取引の検証を行うために驚くほどのエネルギーを集中的に使用するプロセスです。その年間のエネルギー消費量は国全体の消費量を上回ります。" - -#~ msgid "" -#~ "Adopting XRP more broadly will help " -#~ "limit this waste and ensure a " -#~ "sustainable future for our planet and" -#~ " global economy." -#~ msgstr "XRPを幅広く採用すれば、この無駄を抑制して、私たちの地球と国際経済の持続可能な未来を実現できます。" - -#~ msgid "Explore the Carbon Calculator" -#~ msgstr "" - -#~ msgid "" -#~ "Developers are using the XRP Ledger " -#~ "to build innovative products for gaming," -#~ " content, and web monetization, among " -#~ "other applications where currency is at" -#~ " the center." -#~ msgstr "" -#~ "企業はXRPとXRP " -#~ "Ledgerを活用して、決済を中心としたアプリケーションの中でも特に、ゲーム、コンテンツやウェブの収益化を実現する革新的な製品を構築しています。" - -#~ msgid "Cryptocurrency Wallets" -#~ msgstr "デジタル暗号資産ウォレット" - -#~ msgid "" -#~ "Build sophisticated exchanges where users " -#~ "can invest and trade crypto and " -#~ "non-blockchain assets such as stocks, " -#~ "ETFs, and commodities." -#~ msgstr "" - -#~ msgid "Stablecoins" -#~ msgstr "秒" - -#~ msgid "" -#~ "Financial institutions can use Issued " -#~ "Currencies to issue stablecoins on the" -#~ " XRP Ledger. XRPL’s integrated " -#~ "decentralized exchange (DEX) allows neutral," -#~ " counterparty-free digital assets to " -#~ "be seamlessly exchanged to and from " -#~ "“issued assets,” including stablecoins." -#~ msgstr "" - -#~ msgid "" -#~ "XRPL allows issuance of IOUs which " -#~ "can represent a currency of any " -#~ "value, which can be extended to " -#~ "the issuance of non-fungible tokens " -#~ "(NFTs)." -#~ msgstr "" - -#~ msgid "" -#~ "Provide access to financial products and" -#~ " services online in a decentralized " -#~ "and borderless manner on XRPL, with " -#~ "decentralized smart contract protocols " -#~ "replacing the traditional role of " -#~ "financial institutions." -#~ msgstr "" - -#~ msgid "CBDCs" -#~ msgstr "" - -#~ msgid "" -#~ "The CBDC Private Ledger provides Central" -#~ " Banks a secure, controlled, and " -#~ "flexible solution to issue and manage" -#~ " Central Bank Issued Digital Currencies " -#~ "(CBDCs)." -#~ msgstr "" - -#~ msgid "Payment Processing" -#~ msgstr "決済処理" - -#~ msgid "" -#~ "Coil provides web monetization as an " -#~ "alternative to traditional paid advertising." -#~ " Coil uses the interledger protocol " -#~ "(ILP) to stream micropayments as users" -#~ " consume content. The XRPL’s payment " -#~ "channels provide an ideal system for " -#~ "settling these micropayments at high " -#~ "speed and low cost." -#~ msgstr "" - -#~ msgid "" -#~ "GateHub is a platform for the " -#~ "Internet of Value, built on the " -#~ "XRP Ledger protocol. It allows everyone" -#~ " to send, receive, trade and manage" -#~ " any type of assets." -#~ msgstr "" - -#~ msgid "Wallets and Apps" -#~ msgstr "ウォレットとアプリケーション" - -#~ msgid "" -#~ "Exodus offers wallets and applications " -#~ "for securing, managing and exchanging " -#~ "crypto." -#~ msgstr "Exodusは、暗号資産の保護、管理、交換を行うためのウォレットとアプリケーションを提供しています。" - -#~ msgid "" -#~ "Ripple powers instant, lower-cost " -#~ "settlement of cross-border payments " -#~ "using XRP to source liquidity on " -#~ "demand. XRP is ideally suited for " -#~ "global payments because it's quicker, " -#~ "less costly, and more scalable than " -#~ "any other digital asset." -#~ msgstr "eRippleは、XRPを使用した国際送金の即時決済を低コストに実現して、流動性をオンデマンドで供給しています。XRPは他のどのデジタルアセットよりも、スピード、コスト、拡張性に優れているため、グローバルな決済に最適です。" - -#~ msgid "Music" -#~ msgstr "音楽" - -#~ msgid "" -#~ "Raised in Space is a music/tech " -#~ "investment group focused on raising the" -#~ " value of music, innovating across " -#~ "the entire value chain of the " -#~ "music industry." -#~ msgstr "" -#~ "Raised in " -#~ "Spaceは、音楽の価値を高め、音楽業界のバリューチェーンのあらゆる部分でイノベーションを実現するために取り組んでいる、音楽/テクノロジー専門投資グループです。" - -#~ msgid "Applications" -#~ msgstr "アプリケーション" - -#~ msgid "" -#~ "From cold storage to apps for " -#~ "signing transactions, XRPL Labs is " -#~ "dedicated to building software on the" -#~ " XRP Ledger." -#~ msgstr "" -#~ "コールドストレージからトランザクション署名アプリケーションまで、XRPL LabsはXRP " -#~ "Ledgerでのソフトウェアの構築を専門としています。" - -#~ msgid "" -#~ "Xrplorer offers services and tools that" -#~ " help prevent and combat fraudulent " -#~ "activity on the XRPL as well as" -#~ " custom APIs and analytics that " -#~ "supplement the XRPL APIs where they " -#~ "are not enough." -#~ msgstr "" -#~ "Xrplorerは、XRP Ledger上での不正行為の防止と撲滅を支援するサービスとツールのほか、XRP " -#~ "Ledger APIの機能を補うカスタムAPIや分析を提供しています。" - -#~ msgid "XRP was designed with sustainability in mind." -#~ msgstr "" - -#~ msgid "Explore how the energy consumption of XRP compares to other currencies." -#~ msgstr "" - -#~ msgid "Green Currency Calculator" -#~ msgstr "Green Currency Calculatorを見る" - -#~ msgid "" -#~ "There is a finite amount of XRP." -#~ " All XRP is already in existence " -#~ "today—no more than the original 100 " -#~ "billion can be created. The XRPL " -#~ "founders gifted 80 billion XRP, the " -#~ "platform’s native currency, to Ripple. " -#~ "To provide predictability to the XRP " -#~ "supply, Ripple has locked 55 billion " -#~ "XRP (55%% of the total possible " -#~ "supply) into a series of escrows " -#~ "using the XRP Ledger itself. The " -#~ "XRPL's transaction processing rules, enforced" -#~ " by the consensus protocol, control " -#~ "the release of the XRP." -#~ msgstr "" - -#~ msgid "https://ftx.com/" -#~ msgstr "" - -#~ msgid "FTX" -#~ msgstr "" - -#~ msgid "" -#~ "Unlike most other blockchains, the XRP" -#~ " Ledger does not need mining, so " -#~ "no energy is " -#~ "wasted in the transaction process. " -#~ "Learn how this compares to other " -#~ "platforms with our Green Currency Calculator." -#~ msgstr "" - -#~ msgid "" -#~ "It’s been widely reported that Bitcoin’s" -#~ " energy consumption, as of 2021, is" -#~ " equivalent to that used by " -#~ "Argentina, with much of the electricity" -#~ " Bitcoin miners use coming from " -#~ "polluting sources. The XRP Ledger " -#~ "confirms transactions through a “consensus”" -#~ " mechanism - which does not waste " -#~ "energy like proof of work does -" -#~ " and leverages carbon offsets to be" -#~ " one " -#~ "of the first truly carbon neutral " -#~ "blockchains. Explore the energy " -#~ "consumption of XRP compared to cash, " -#~ "credit cards and other popular " -#~ "cryptocurrencies with the Green Currency Calculator." -#~ msgstr "" - -#~ msgid "What Would You Like to Learn?" -#~ msgstr "何を学びたいですか?" - -#~ msgid "Browse By Popular Topics" -#~ msgstr "人気のあるトピックから探す" - -#~ msgid "Browse By Label" -#~ msgstr "ラベルから探す" - -#~ msgid "Software and SDKs" -#~ msgstr "ソフトウェアとSDK" - -#~ msgid "Start Developing" -#~ msgstr "開発を始める" - -#~ msgid "Article types" -#~ msgstr "記事の種類" - -#~ msgid "Dive In" -#~ msgstr "掘り下げる" - -#~ msgid "Participate in the Network" -#~ msgstr "ネットワークに参加する" - -#~ msgid "Hot Topic" -#~ msgstr "ホットな話題" - -#~ msgid "" -#~ "Interested in non-fungible tokens, but" -#~ " concerned about their large carbon footprint? " -#~ "Read more about issuing NFTs on " -#~ "the XRP Ledger:" -#~ msgstr "" -#~ "非代替性トークンに興味はあるが、二酸化炭素排出量が気になる?XRP" -#~ " LedgerでのNFTの発行について、詳しくはこちらをご覧ください。" - -#~ msgid "A Global Community of Builders and Innovators" -#~ msgstr "開発者とイノベーターのグローバルなコミュニティ" - -#~ msgid "Community
      Powered Utility" -#~ msgstr "" - -#~ msgid "" -#~ "It’s fast, energy efficient, and " -#~ "reliable. With ease of development, low" -#~ " transaction costs, and a knowledgeable " -#~ "community, it provides developers with a" -#~ " strong open-source foundation for " -#~ "executing on the most demanding " -#~ "projects—without hurting the environment." -#~ msgstr "" -#~ "XRP " -#~ "Ledgerは、高速で、エネルギー効率に優れ、信頼性が高いブロックチェーンです。開発の手軽さ、低い取引コスト、知識豊富なコミュニティにより、開発者は高度なプロジェクトを実行するための強力なオープンソースの基盤を、環境への負担をかけることなく利用できます。" - -#~ msgid "Discover Benefits" -#~ msgstr "メリットを見つける" - -#~ msgid "Streamlined
      Development" -#~ msgstr "効率的な開発" - -#~ msgid "Vibrant Community" -#~ msgstr "活発なコミュニティ" - -#~ msgid "Explore Advanced Features" -#~ msgstr "高度な機能を探る" - -#~ msgid "Choose a path to start building on the XRPL" -#~ msgstr "XRPL上で開発をスタートする方法を選びましょう" - -#~ msgid "XRPL.org: by the community, for the community" -#~ msgstr "XRPL.org: コミュニティのために、コミュニティの力で" - -#~ msgid "" -#~ "XRPL.org is a community-driven resource" -#~ " by and for developers who build " -#~ "on the XRP Ledger (XRPL)." -#~ msgstr "XRPL.orgはXRP Ledger(XRPL)上に構築する開発者による、開発者のためのコミュニティ主導のリソースです。" - -#~ msgid "The first major, global, public carbon-neutral blockchain" -#~ msgstr "最初の主要な、グローバルな、パブリックなカーボンニュートラル・ブロックチェーン" - -#~ msgid "XRPL Sustainability & Impact" -#~ msgstr "XRPLの持続可能性と影響力" - -#~ msgid "" -#~ "With usage growing, it’s critical that" -#~ " measures are taken today to ensure" -#~ " that the technology is environmentally " -#~ "sustainable tomorrow." -#~ msgstr "利用が広がるなか、この技術が将来的にも環境の観点から持続可能となるような対策を現時点で取っていくことが重要になります。" - -#~ msgid "" -#~ "If sustainability, security and " -#~ "decentralization are important to you, " -#~ "you’re invited to join the XRPL " -#~ "community in its quest to build a" -#~ " better world. Here are some ways " -#~ "to get involved:" -#~ msgstr "持続可能性、セキュリティ、分散化があなたにとって重要であれば、より良い世界を構築するためにXRPLコミュニティに参加してください。ここでは、その関わり方をご紹介します。" - -#~ msgid "Powering Innovative Technology" -#~ msgstr "革新的な製品を生み出す" - -#~ msgid "Powering innovative use cases and projects" -#~ msgstr "革新的なユースケースとプロジェクトを生み出す" - -#~ msgid "" -#~ "There are companies and developer " -#~ "projects around the world that leverage" -#~ " the XRP Ledger to solve interesting" -#~ " problems across a variety of " -#~ "industries and use cases." -#~ msgstr "XRP Ledgerを活用して、様々な業界やユースケースで興味深い問題を解決している企業や開発者プロジェクトが世界中に存在しています。" - -#~ msgid "XRPL Today and the Vision for Tomorrow" -#~ msgstr "XRPLの現在と未来へのビジョン" - -#~ msgid "XRPL | XRP Ledger Overview" -#~ msgstr "XRPL と XRP Ledger の概要" - -#~ msgid "A Greener Blockchain" -#~ msgstr "より環境に優しいブロックチェーン" - -#~ msgid "" -#~ "Unlike most other blockchains, the XRP" -#~ " Ledger does not need mining, so " -#~ "
      no energy is " -#~ "wasted in the transaction process." -#~ msgstr "" -#~ "他の多くのブロックチェーンとは異なり、XRP Ledgerはマイニングを必要としないため、トランザクションのプロセスでエネルギーを無駄にすることはありません。私たちのGreen Currency " -#~ "Calculatorで、これが他のプラットフォームと比較してどうなのかを学びましょう。" - -#~ msgid "XRPL provides powerful utility across the blockchain space" -#~ msgstr "XRPLはブロックチェーン領域全体で強力なユーティリティを提供" - -#~ msgid "" -#~ "The ledger’s unique properties, such as" -#~ " its fast and efficient consensus " -#~ "algorithm and censorship-resistant transaction" -#~ " processing, are leveraged by thousands " -#~ "of developers." -#~ msgstr "高速で効率的なコンセンサスアルゴリズムや検閲に強いトランザクション処理など、この台帳のユニークな特性は、何千ものデベロッパーによって活用されています。" - -#~ msgid "Fulfilling the vision of the XRPL community" -#~ msgstr "XRPLコミュニティのビジョンを実現するために" - -#~ msgid "" -#~ "While XRPL is the choice of " -#~ "developers who don’t want to sacrifice" -#~ " security or performance and who want" -#~ " to build on the greenest blockchain," -#~ " that’s only the beginning." -#~ msgstr "XRPLは、セキュリティもパフォーマンスも犠牲にしたくない、最も環境に優しいブロックチェーンで作りたいという開発者に選ばれていますが、それはまだ始まりに過ぎません。" - -#~ msgid "" -#~ "As a community-led blockchain, XRPL’s" -#~ " vision is also a community effort." -#~ " The" -#~ " XRPL Foundation is currently " -#~ "collaborating with community members to " -#~ "define a shared vision statement. Stay" -#~ " tuned for more on this effort—we " -#~ "can’t wait to share it with you." -#~ msgstr "" -#~ "コミュニティ主導のブロックチェーンとして、XRPLのビジョンはコミュニティの努力によって生み出されるものでもあります。XRPL財団は現在、コミュニティメンバーと協力して、共有ビジョンステートメントを定義しています。この取り組みについての詳細をご期待ください。皆さんと共有するのを心待ちにしています。" - -#~ msgid "Countdown to" -#~ msgstr "" - -#~ msgid "XRPL Zone " -#~ msgstr "XRPLの原点" - -#~ msgid "@Token2049" -#~ msgstr "トークン" - -#~ msgid " Singapore" -#~ msgstr "" - -#~ msgid " 12 September 2023 " -#~ msgstr "" - -#~ msgid "Register Now" -#~ msgstr "今すぐ登録" - -#~ msgid "Register for APEX Dev Summit 2023" -#~ msgstr "APEX Dev Summit 2023に登録" - -#~ msgid "Amsterdam" -#~ msgstr "アムステルダム" - -#~ msgid "" -#~ "Coding experience Github repository
      " -#~ " " -#~ "Project narrative/description
      At least " -#~ "one developer on the core team " -#~ "
      " -#~ " Budget and milestones" -#~ msgstr "" -#~ "コーディング経験 " -#~ "Githubリポジトリ" -#~ " プロジェクトの説明" -#~ " コアチームに最低1人の開発者 予算とマイルストーン" - -#~ msgid "Fostering the Development of the XRP Ledger" -#~ msgstr "" - -#~ msgid "XRPL Foundation" -#~ msgstr "" - -#~ msgid "The Vision" -#~ msgstr "" - -#~ msgid "" -#~ "The Foundation’s vision is to support" -#~ " the development of a diverse XRP " -#~ "Ledger community by focusing on " -#~ "governance, amendments to the core code," -#~ " and an evolving list of robust " -#~ "validators — all key to creating a" -#~ " dynamic ecosystem that supports a " -#~ "growing and innovative Ledger. " -#~ msgstr "" - -#~ msgid "Key Areas of Focus" -#~ msgstr "" - -#~ msgid "Core Technology" -#~ msgstr "" - -#~ msgid "" -#~ "Enhance and develop infrastructure including" -#~ " high capacity hubs, full history " -#~ "servers, and monitoring systems." -#~ msgstr "" - -#~ msgid "Unique Node List" -#~ msgstr "" - -#~ msgid "" -#~ "Establish a list of public and " -#~ "objective criteria for evaluating the " -#~ "performance of validators." -#~ msgstr "" - -#~ msgid "Developer Ecosystem" -#~ msgstr "開発者" - -#~ msgid "" -#~ "Support a growing ecosystem of global" -#~ " developers to help with the Ledger" -#~ " adoption and use." -#~ msgstr "" - -#~ msgid "Encourage scalable and sustainable practices." -#~ msgstr "" - -#~ msgid "Social and Community Initiatives" -#~ msgstr "" - -#~ msgid "" -#~ "Support development of tools and " -#~ "platforms for financial inclusion globally." -#~ msgstr "" - -#~ msgid "XRP Ledger Foundation Values and Beliefs" -#~ msgstr "" - -#~ msgid "We Value:" -#~ msgstr "" - -#~ msgid "" -#~ "Our role as an independent organization" -#~ " acting in the best interests of " -#~ "the XRP Ledger community" -#~ msgstr "" - -#~ msgid "" -#~ "Having the resources and support to " -#~ "compete on an equal playing field " -#~ "with other blockhain foundations to " -#~ "achieve our goals" -#~ msgstr "" - -#~ msgid "" -#~ "Cultivating a diverse developer ecosystem, " -#~ "where many entities contribute to and" -#~ " benefit from the XRP Ledger" -#~ msgstr "" - -#~ msgid "We Believe:" -#~ msgstr "" - -#~ msgid "" -#~ "Trust is foundational to our mission " -#~ "and understand building trust is a " -#~ "slow, steady process" -#~ msgstr "" - -#~ msgid "" -#~ "Close working relationships between developers" -#~ " and organizations that build on and" -#~ " contribute to the XRP Ledger are " -#~ "critical to its innovation and success" -#~ msgstr "" - -#~ msgid "Contact Us" -#~ msgstr "ステータス" - -#~ msgid "Are you an independent creator?" -#~ msgstr "個人のクリエイターですか?" - -#~ msgid "Ripple’s Creator Fund" -#~ msgstr "Ripple社のCreator Fund" - -#~ msgid "" -#~ "If you’re a creator looking to " -#~ "mint NFTs on the XRP Ledger and" -#~ " do not have technical experience, " -#~ "check out Ripple’s Creator Fund." -#~ msgstr "" -#~ "XRP " -#~ "Ledger上でNFTを作成することを検討しているクリエイターで、技術的な経験がない場合は、Ripple社のCreator " -#~ "Fundをチェックしてみてください。" - -#~ msgid "XRPL Bounties" -#~ msgstr "" - -#~ msgid "Go Deep" -#~ msgstr "より深く" - -#~ msgid "" -#~ "Bounties are awards for developing " -#~ "software and integrations that enable " -#~ "and improve specific use cases for " -#~ "the XRP Ledger." -#~ msgstr "Bounties は、XRP Ledger の特定のユースケースを可能にし、改善するソフトウェアや統合を開発するための報奨金です。" - -#~ msgid "Software developers and teams" -#~ msgstr "ソフトウェア開発者や開発チーム" - -#~ msgid "" -#~ "Coding experience Specialized skills " -#~ "(depending on the bounty)" -#~ msgstr "コーディング経験 専門スキル(報奨金による)" - -#~ msgid "Intermediate to advanced (prior XRPL experience not required)" -#~ msgstr "中級開発者から上級開発者(XRPLの経験は必要ありません)" - -#~ msgid "$500 - $100,000 per milestone" -#~ msgstr "マイルストーンごとに$500~$100,000" - -#~ msgid "Visit XRPL Bounties" -#~ msgstr "XRPL Bountiesを見る" - diff --git a/locale/messages.pot b/locale/messages.pot deleted file mode 100644 index 6c4883bc9e..0000000000 --- a/locale/messages.pot +++ /dev/null @@ -1,2978 +0,0 @@ -# Translations template for PROJECT. -# Copyright (C) 2023 ORGANIZATION -# This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR , 2023. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PROJECT VERSION\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-09-27 01:30+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.12.1\n" - -#: template/component-footer.html.jinja:25 -msgid "Open Source." -msgstr "" - -#: template/component-footer.html.jinja:33 -msgid "Jump to top of page" -msgstr "" - -#: template/component-github-edit.html.jinja:26 -msgid "Edit page" -msgstr "" - -#: template/component-top-nav.html.jinja:69 template/page-404.html.jinja:11 -msgid "Search" -msgstr "" - -#: template/component-top-nav.html.jinja:70 -msgid "Search site..." -msgstr "" - -#: template/page-404.html.jinja:12 -msgid "Search for articles, training, and code samples..." -msgstr "" - -#: template/page-ambassadors.html.jinja:27 -msgid "Become an XRP Ledger Campus Ambassador" -msgstr "" - -#: template/page-ambassadors.html.jinja:28 -msgid "Join the Student Cohort" -msgstr "" - -#: template/page-ambassadors.html.jinja:30 -msgid "" -"The XRPL Campus Ambassador program engages, supports, connects, and " -"recognizes a group of student champions of the XRPL and empowers them to " -"further advance engagement on the ledger." -msgstr "" - -#: template/page-ambassadors.html.jinja:45 -msgid "XRPL Campus Ambassadors" -msgstr "" - -#: template/page-ambassadors.html.jinja:46 -msgid "Current Students" -msgstr "" - -#: template/page-ambassadors.html.jinja:48 -msgid "" -"The XRPL Campus Ambassador program aims to elevate the impact of college " -"students who are passionate about blockchain technology. In their role, " -"Campus Ambassadors help educate other students about crypto and how to " -"start building on the XRPL." -msgstr "" - -#: template/page-ambassadors.html.jinja:78 -msgid "Why become an XRPL Campus Ambassador?" -msgstr "" - -#: template/page-ambassadors.html.jinja:79 template/page-home.html.jinja:50 -#: template/page-xrp-overview.html.jinja:63 -msgid "Benefits" -msgstr "" - -#: template/page-ambassadors.html.jinja:81 -msgid "Join a global cohort of students empowering others to build on the XRPL." -msgstr "" - -#: template/page-ambassadors.html.jinja:94 -msgid "Exclusive Opportunities" -msgstr "" - -#: template/page-ambassadors.html.jinja:95 -msgid "" -" Get access and invitations to Ambassador-only events, conferences, and " -"opportunities" -msgstr "" - -#: template/page-ambassadors.html.jinja:102 -#: template/page-ambassadors.html.jinja:150 -msgid "Education" -msgstr "" - -#: template/page-ambassadors.html.jinja:103 -#: template/page-ambassadors.html.jinja:151 -msgid "Tutorials and workshops from leading XRPL and blockchain developers" -msgstr "" - -#: template/page-ambassadors.html.jinja:110 -msgid "Swag" -msgstr "" - -#: template/page-ambassadors.html.jinja:111 -msgid "New XRPL swag for Ambassadors and swag to share with other students" -msgstr "" - -#: template/page-ambassadors.html.jinja:119 -#: template/page-ambassadors.html.jinja:158 -msgid "Mentorship" -msgstr "" - -#: template/page-ambassadors.html.jinja:120 -#: template/page-ambassadors.html.jinja:159 -msgid "" -"Serve as an advocate and receive support from notable members of the " -"community" -msgstr "" - -#: template/page-ambassadors.html.jinja:127 -msgid "Career Acceleration" -msgstr "" - -#: template/page-ambassadors.html.jinja:128 -msgid "" -"Gain hands-on experience building communities and grow your professional " -"network in the blockchain industry" -msgstr "" - -#: template/page-ambassadors.html.jinja:136 -#: template/page-ambassadors.html.jinja:166 -msgid "Stipend" -msgstr "" - -#: template/page-ambassadors.html.jinja:137 -#: template/page-ambassadors.html.jinja:167 -msgid "" -"Receive a stipend to fund your ideas and initiatives that fuel XRPL " -"growth on your campus" -msgstr "" - -#: template/page-ambassadors.html.jinja:187 -msgid "Should You Apply?" -msgstr "" - -#: template/page-ambassadors.html.jinja:188 -msgid "Eligibility for XRPL Campus Ambassadors" -msgstr "" - -#: template/page-ambassadors.html.jinja:190 -msgid "" -"Students currently enrolled in an undergraduate or postgraduate program " -"at an accredited college or university are eligible to apply." -msgstr "" - -#: template/page-ambassadors.html.jinja:202 -msgid "A Leader" -msgstr "" - -#: template/page-ambassadors.html.jinja:203 -msgid "" -"Interested in leading meetups and workshops for your local campus " -"community" -msgstr "" - -#: template/page-ambassadors.html.jinja:211 -#: template/page-ambassadors.html.jinja:250 -msgid "Active" -msgstr "" - -#: template/page-ambassadors.html.jinja:212 -#: template/page-ambassadors.html.jinja:251 -msgid "" -"An active participant in the XRPL community or interested in blockchain " -"and crypto technologies" -msgstr "" - -#: template/page-ambassadors.html.jinja:219 -msgid "Curious" -msgstr "" - -#: template/page-ambassadors.html.jinja:220 -msgid "Eager to learn more about technical blockchain topics and the XRPL" -msgstr "" - -#: template/page-ambassadors.html.jinja:228 -#: template/page-ambassadors.html.jinja:257 -msgid "Passionate" -msgstr "" - -#: template/page-ambassadors.html.jinja:229 -#: template/page-ambassadors.html.jinja:258 -msgid "" -"Passionate about increasing XRPL education and awareness through events, " -"content, and classroom engagement" -msgstr "" - -#: template/page-ambassadors.html.jinja:236 -msgid "Creative" -msgstr "" - -#: template/page-ambassadors.html.jinja:237 -msgid "Ability to think outside the box to grow the XRPL student community" -msgstr "" - -#: template/page-ambassadors.html.jinja:331 -msgid "Process to become a Campus Ambassador" -msgstr "" - -#: template/page-ambassadors.html.jinja:332 -msgid "How it Works" -msgstr "" - -#: template/page-ambassadors.html.jinja:335 -msgid "Apply now to become an XRPL Campus Ambassador." -msgstr "" - -#: template/page-ambassadors.html.jinja:354 template/page-uses.html.jinja:309 -#: template/page-uses.html.jinja:334 -msgid "Apply" -msgstr "" - -#: template/page-ambassadors.html.jinja:355 -msgid "Submit an application to be considered for the Campus Ambassador program." -msgstr "" - -#: template/page-ambassadors.html.jinja:363 -#: template/page-ambassadors.html.jinja:393 -msgid "Interview" -msgstr "" - -#: template/page-ambassadors.html.jinja:364 -#: template/page-ambassadors.html.jinja:394 -msgid "" -"Tell the XRPL community-led panel more about yourself and your interest " -"in the program during an interview." -msgstr "" - -#: template/page-ambassadors.html.jinja:371 -msgid "Join" -msgstr "" - -#: template/page-ambassadors.html.jinja:372 -msgid "" -"Congrats on your new role! Join the global cohort of Ambassadors and meet" -" with community participants during onboarding." -msgstr "" - -#: template/page-ambassadors.html.jinja:380 -#: template/page-ambassadors.html.jinja:400 -msgid "Learn" -msgstr "" - -#: template/page-ambassadors.html.jinja:381 -#: template/page-ambassadors.html.jinja:401 -msgid "" -"Participate in personalized learning and training sessions for " -"Ambassadors on the XRPL and blockchain technology." -msgstr "" - -#: template/page-ambassadors.html.jinja:414 -msgid "Apply for Fall 2023" -msgstr "" - -#: template/page-ambassadors.html.jinja:431 -msgid "Join a global cohort of Student Ambassadors" -msgstr "" - -#: template/page-ambassadors.html.jinja:432 -msgid "Global Community" -msgstr "" - -#: template/page-ambassadors.html.jinja:458 -msgid "Stay connected to the XRPL Campus Ambassadors" -msgstr "" - -#: template/page-ambassadors.html.jinja:459 template/page-impact.html.jinja:146 -#: template/page-impact.html.jinja:167 -msgid "Connect" -msgstr "" - -#: template/page-ambassadors.html.jinja:462 -msgid "" -"To stay up-to-date on the latest activity, meetups, and events of the " -"XRPL Campus Ambassadors be sure to follow these channels:" -msgstr "" - -#: template/page-ambassadors.html.jinja:477 -msgid "MeetUp" -msgstr "" - -#: template/page-ambassadors.html.jinja:478 -msgid "Attend an XRPL Meetup in your local area" -msgstr "" - -#: template/page-ambassadors.html.jinja:484 -msgid "Dev.to Blog" -msgstr "" - -#: template/page-ambassadors.html.jinja:485 -msgid "Read more about the activity of the XRPL Ambassadors" -msgstr "" - -#: template/page-ambassadors.html.jinja:496 -msgid "Discord" -msgstr "" - -#: template/page-ambassadors.html.jinja:497 -msgid "Join the conversation on the XRPL Developer Discord" -msgstr "" - -#: template/page-code-samples.html.jinja:13 -msgid "Start Building with Example Code" -msgstr "" - -#: template/page-code-samples.html.jinja:14 -msgid "Code Samples" -msgstr "" - -#: template/page-code-samples.html.jinja:26 -msgid "Browse sample code for building common use cases on the XRP Ledger" -msgstr "" - -#: template/page-code-samples.html.jinja:65 -msgid "Contribute Code Samples" -msgstr "" - -#: template/page-code-samples.html.jinja:66 -msgid "Help the XRPL community by submitting your
      own code samples" -msgstr "" - -#: template/page-community.html.jinja:33 -msgid "Open for Business,
       Driven to Innovate" -msgstr "" - -#: template/page-community.html.jinja:34 -msgid "The XRPL Community" -msgstr "" - -#: template/page-community.html.jinja:42 -msgid "Find the community on the platforms below" -msgstr "" - -#: template/page-community.html.jinja:43 -msgid "Join the Conversation" -msgstr "" - -#: template/page-community.html.jinja:87 -msgid "Run an XRP Ledger network node" -msgstr "" - -#: template/page-community.html.jinja:88 -msgid "Contribute to Consensus" -msgstr "" - -#: template/page-community.html.jinja:121 -msgid "Apply for funding to build your XRPL project" -msgstr "" - -#: template/page-community.html.jinja:122 template/page-funding.html.jinja:134 -msgid "XRPL Grants" -msgstr "" - -#: template/page-community.html.jinja:124 -msgid "" -"The XRPL Grants program funds select open-source projects that solve " -"problems and grow the XRP Ledger community." -msgstr "" - -#: template/page-community.html.jinja:128 -msgid "Apply for a Grant" -msgstr "" - -#: template/page-community.html.jinja:134 -msgid "Awarded in a single grant" -msgstr "" - -#: template/page-community.html.jinja:138 -msgid "Distributed to grant recipients" -msgstr "" - -#: template/page-community.html.jinja:142 -msgid "Open-source projects funded " -msgstr "" - -#: template/page-community.html.jinja:148 template/page-events.html.jinja:56 -#: template/page-home.html.jinja:161 template/page-xrpl-overview.html.jinja:99 -msgid "Learn More" -msgstr "" - -#: template/page-community.html.jinja:164 -msgid "Showcase your XRPL project, application or product" -msgstr "" - -#: template/page-community.html.jinja:165 -msgid "XRPL Community Spotlight" -msgstr "" - -#: template/page-community.html.jinja:167 -msgid "" -"Get featured on the Developer Reflections blog or Blockchain Use Cases page, and explore XRPL " -"community highlights." -msgstr "" - -#: template/page-community.html.jinja:174 -msgid "Submit Your Projects" -msgstr "" - -#: template/page-community.html.jinja:175 -msgid "Read the Blog" -msgstr "" - -#: template/page-community.html.jinja:191 -#: template/page-community.html.jinja:216 -msgid "Welcome to Apex 2021" -msgstr "" - -#: template/page-community.html.jinja:195 -#: template/page-community.html.jinja:220 -msgid "XRPL Community Meetup" -msgstr "" - -#: template/page-community.html.jinja:199 -#: template/page-community.html.jinja:224 -msgid "XRPL Hackathon 2022" -msgstr "" - -#: template/page-community.html.jinja:206 -msgid "Check out global events across the XRPL community" -msgstr "" - -#: template/page-community.html.jinja:207 -msgid "XRPL Events" -msgstr "" - -#: template/page-community.html.jinja:209 -msgid "" -"Meet the XRPL community at meetups, hackathons, conferences, and more " -"across global regions." -msgstr "" - -#: template/page-community.html.jinja:229 -msgid "View All Events" -msgstr "" - -#: template/page-community.html.jinja:247 -msgid "Discover your next career opportunity in the XRPL community" -msgstr "" - -#: template/page-community.html.jinja:248 -msgid "XRPL Careers" -msgstr "" - -#: template/page-community.html.jinja:250 -msgid "" -"Teams across the XRPL community are looking for talented individuals to " -"help build their next innovation." -msgstr "" - -#: template/page-community.html.jinja:256 -msgid "View Open Roles" -msgstr "" - -#: template/page-community.html.jinja:268 -msgid "Review guidelines for using XRPL design assets" -msgstr "" - -#: template/page-community.html.jinja:269 -msgid "XRPL Assets" -msgstr "" - -#: template/page-community.html.jinja:271 -msgid "" -"Just like the technology itself, XRPL assets are open source and " -"available for anyone to use. Check out this helpful framework for using " -"XRPL visuals. " -msgstr "" - -#: template/page-community.html.jinja:279 -msgid "Download the PDF and Assets" -msgstr "" - -#: template/page-community.html.jinja:297 -msgid "A community-driven resource for all things XRPL.org" -msgstr "" - -#: template/page-community.html.jinja:298 -msgid "Contribute to XRPL.org" -msgstr "" - -#: template/page-community.html.jinja:300 -msgid "" -"Thank you for your interest in contributing to XRPL.org. This website was" -" created as an XRPL community resource and is meant to be a living, " -"breathing source of truth for XRP Ledger resources. This portal is open-" -"source and anyone can suggest changes." -msgstr "" - -#: template/page-community.html.jinja:301 -msgid "Read Contributor Guidelines" -msgstr "" - -#: template/page-dev-tools.html.jinja:13 -msgid "" -"Use the developer tools to test, explore, and validate XRP Ledger\n" -" API requests and behavior." -msgstr "" - -#: template/page-dev-tools.html.jinja:16 -msgid "Dev Tools" -msgstr "" - -#: template/page-dev-tools.html.jinja:28 template/page-dev-tools.html.jinja:74 -msgid "Explorers" -msgstr "" - -#: template/page-dev-tools.html.jinja:31 template/page-dev-tools.html.jinja:89 -msgid "API Access" -msgstr "" - -#: template/page-dev-tools.html.jinja:34 template/page-dev-tools.html.jinja:146 -#: template/page-uses.html.jinja:82 template/page-uses.html.jinja:299 -msgid "Other" -msgstr "" - -#: template/page-dev-tools.html.jinja:203 -msgid "Have an Idea For a Tool?" -msgstr "" - -#: template/page-dev-tools.html.jinja:204 -msgid "" -"Contribute to the XRP Ledger community by submitting your idea for a tool" -" or open a pull request if you've developed a tool." -msgstr "" - -#: template/page-dev-tools.html.jinja:205 -msgid "Open a pull Request" -msgstr "" - -#: template/page-docs-index.html.jinja:8 -msgid "Full documentation index" -msgstr "" - -#: template/page-docs-index.html.jinja:9 -msgid "See Everything" -msgstr "" - -#: template/page-docs.html.jinja:16 -msgid "XRP Ledger Developer Resources" -msgstr "" - -#: template/page-docs.html.jinja:17 -msgid "Documentation" -msgstr "" - -#: template/page-docs.html.jinja:90 -msgid "rippled API Reference" -msgstr "" - -#: template/page-docs.html.jinja:94 -msgid "XRP Faucet" -msgstr "" - -#: template/page-docs.html.jinja:98 -msgid "Getting Started with Python" -msgstr "" - -#: template/page-docs.html.jinja:102 -msgid "Websocket API Tool" -msgstr "" - -#: template/page-docs.html.jinja:105 template/page-docs.html.jinja:226 -msgid "XRP Ledger Explorer" -msgstr "" - -#: template/page-docs.html.jinja:112 -msgid "Advanced Payment Features" -msgstr "" - -#: template/page-docs.html.jinja:117 -msgid "Governance and the Amendment Process" -msgstr "" - -#: template/page-docs.html.jinja:122 -msgid "Federated Sidechains" -msgstr "" - -#: template/page-docs.html.jinja:129 -msgid "On-Chain Finance" -msgstr "" - -#: template/page-docs.html.jinja:134 -msgid "Trade on the decentralized exchange" -msgstr "" - -#: template/page-docs.html.jinja:138 -msgid "Make payments" -msgstr "" - -#: template/page-docs.html.jinja:142 -msgid "Use specialized payment types" -msgstr "" - -#: template/page-docs.html.jinja:148 template/page-home.html.jinja:103 -msgid "Tokens" -msgstr "" - -#: template/page-docs.html.jinja:153 -msgid "Non-fungible Tokens" -msgstr "" - -#: template/page-docs.html.jinja:157 -msgid "Issue a stablecoin" -msgstr "" - -#: template/page-docs.html.jinja:161 -msgid "Assign an authorized minter" -msgstr "" - -#: template/page-docs.html.jinja:167 template/page-uses.html.jinja:66 -#: template/page-uses.html.jinja:186 template/page-uses.html.jinja:293 -#: template/page-uses.html.jinja:394 -msgid "Payments" -msgstr "" - -#: template/page-docs.html.jinja:172 -msgid "Peer to peer payments" -msgstr "" - -#: template/page-docs.html.jinja:176 -msgid "Cross-currency payments" -msgstr "" - -#: template/page-docs.html.jinja:180 -msgid "Escrows" -msgstr "" - -#: template/page-docs.html.jinja:191 -msgid "Intro to XRP Ledger" -msgstr "" - -#: template/page-docs.html.jinja:196 -msgid "Accounts" -msgstr "" - -#: template/page-docs.html.jinja:201 template/page-home.html.jinja:91 -msgid "Decentralized Exchange" -msgstr "" - -#: template/page-docs.html.jinja:206 -msgid "Tokenization" -msgstr "" - -#: template/page-docs.html.jinja:214 -msgid "Faucets" -msgstr "" - -#: template/page-docs.html.jinja:217 -msgid "Get credentials and test-XRP for XRP Ledger Testnet or Devnet." -msgstr "" - -#: template/page-docs.html.jinja:220 -msgid "WebSocket Tool" -msgstr "" - -#: template/page-docs.html.jinja:223 -msgid "Send sample requests and get responses from the rippled API." -msgstr "" - -#: template/page-docs.html.jinja:229 -msgid "" -"View validations of new ledger versions in real-time, chart the location " -"of servers in the XRP Ledger." -msgstr "" - -#: template/page-docs.html.jinja:232 template/page-tx-sender.html.jinja:30 -msgid "Transaction Sender" -msgstr "" - -#: template/page-docs.html.jinja:235 -msgid "" -"Test how your code handles various XRP Ledger transactions by sending " -"them over the Testnet to the address." -msgstr "" - -#: template/page-docs.html.jinja:244 -msgid "Concepts" -msgstr "" - -#: template/page-docs.html.jinja:245 -msgid "" -"Learn the \"what\" and the \"why\" behind fundamental aspects of the XRP " -"Ledger." -msgstr "" - -#: template/page-docs.html.jinja:246 -msgid "Read the Docs" -msgstr "" - -#: template/page-docs.html.jinja:251 -msgid "Tutorials" -msgstr "" - -#: template/page-docs.html.jinja:252 -msgid "Get step-by-step guidance to perform common tasks with the XRP Ledger." -msgstr "" - -#: template/page-docs.html.jinja:253 -msgid "View Tutorials" -msgstr "" - -#: template/page-docs.html.jinja:258 -msgid "References" -msgstr "" - -#: template/page-docs.html.jinja:259 -msgid "" -"Look up reference documentation for the XRP Ledger protocol, API methods," -" and more." -msgstr "" - -#: template/page-docs.html.jinja:260 -msgid "View References" -msgstr "" - -#: template/page-docs.html.jinja:267 -msgid "Use Cases" -msgstr "" - -#: template/page-docs.html.jinja:276 -msgid "Getting Started" -msgstr "" - -#: template/page-docs.html.jinja:280 -msgid "Quickstart to XRP Ledger" -msgstr "" - -#: template/page-docs.html.jinja:282 -msgid "An introduction to fundamental aspects of the XRP Ledger." -msgstr "" - -#: template/page-docs.html.jinja:288 -msgid "Get Started" -msgstr "" - -#: template/page-docs.html.jinja:306 -msgid "Watch Full Series" -msgstr "" - -#: template/page-docs.html.jinja:314 -msgid "Interact with the XRP Ledger in a language of your choice" -msgstr "" - -#: template/page-docs.html.jinja:315 -msgid "Explore SDKs" -msgstr "" - -#: template/page-docs.html.jinja:327 -msgid "Javascript" -msgstr "" - -#: template/page-docs.html.jinja:337 -msgid "Python" -msgstr "" - -#: template/page-docs.html.jinja:347 -msgid "Java" -msgstr "" - -#: template/page-docs.html.jinja:361 -msgid "Intermediate Learning Sources" -msgstr "" - -#: template/page-docs.html.jinja:378 -msgid "Explore, Test, Verify" -msgstr "" - -#: template/page-docs.html.jinja:379 -msgid "Explore Dev Tools" -msgstr "" - -#: template/page-docs.html.jinja:382 -msgid "" -"Use these web-based tools to assist during all stages of development, " -"from getting your first payment to testing your implementation for best " -"practices." -msgstr "" - -#: template/page-docs.html.jinja:398 -msgid "Browse By Recommended Pages" -msgstr "" - -#: template/page-docs.html.jinja:410 -msgid "Get Free Test XRP" -msgstr "" - -#: template/page-docs.html.jinja:411 -msgid "" -"Connect to the XRP Ledger Testnet network to develop and test your apps " -"built on the XRP Ledger, without risking real money or impacting " -"production XRP Ledger users." -msgstr "" - -#: template/page-docs.html.jinja:412 -msgid "Generate Testnet Credentials" -msgstr "" - -#: template/page-docs.html.jinja:419 -msgid "See full documentation index" -msgstr "" - -#: template/page-events.html.jinja:27 -msgid "Find the XRPL Community Around the World" -msgstr "" - -#: template/page-events.html.jinja:28 template/page-impact.html.jinja:131 -#: template/page-impact.html.jinja:159 -msgid "Events" -msgstr "" - -#: template/page-events.html.jinja:42 -msgid "The XRPL Developer Summit" -msgstr "" - -#: template/page-events.html.jinja:43 -msgid "Save the Date" -msgstr "" - -#: template/page-events.html.jinja:45 -msgid "" -"Apex is back and headed to Amsterdam. Apex XRPL Developer Summit is the " -"annual event where developers, contributors, and thought leaders come " -"together to learn, build, share, network, and celebrate all things XRP " -"Ledger." -msgstr "" - -#: template/page-events.html.jinja:66 -msgid "" -"Check out meetups, hackathons, and other events hosted by the XRPL " -"Community" -msgstr "" - -#: template/page-events.html.jinja:67 -msgid "Upcoming Events" -msgstr "" - -#: template/page-events.html.jinja:494 -msgid "Explore past community-hosted events" -msgstr "" - -#: template/page-events.html.jinja:495 -msgid "Past Events" -msgstr "" - -#: template/page-faq2.html.jinja:17 template/pagetype-doc.html.jinja:25 -msgid "Sorry, this page is not available in your language." -msgstr "" - -#: template/page-faq2.html.jinja:18 template/pagetype-doc.html.jinja:26 -msgid "" -"We are making an effort to offer the XRP Ledger Dev Portal in a variety " -"of languages, but not all pages are available in all languages. If you'd " -"like to help, please contribute!" -msgstr "" - -#: template/page-faq2.html.jinja:23 template/pagetype-doc.html.jinja:31 -msgid "" -"This translated page is not updated to match the latest changes in the " -"English version." -msgstr "" - -#: template/page-faq2.html.jinja:24 template/pagetype-doc.html.jinja:32 -msgid "" -"We are making an effort to offer the XRP Ledger Dev Portal in a variety " -"of languages, but not all translated contents are up-to-date. If you'd " -"like to help, please contribute!" -msgstr "" - -#: template/page-funding.html.jinja:27 -msgid "XRPL Developer Funding Programs" -msgstr "" - -#: template/page-funding.html.jinja:28 -msgid "Project Resources" -msgstr "" - -#: template/page-funding.html.jinja:36 -msgid "Explore funding opportunities for developers and teams" -msgstr "" - -#: template/page-funding.html.jinja:37 -msgid "Funding Overview" -msgstr "" - -#: template/page-funding.html.jinja:39 -msgid "" -"If you’re a software developer or team looking to build your next project" -" or venture on the XRP Ledger (XRPL), there are a number of opportunities" -" to fund your next innovation." -msgstr "" - -#: template/page-funding.html.jinja:50 -msgid "XRPL Hackathons" -msgstr "" - -#: template/page-funding.html.jinja:51 -msgid "Join an Event" -msgstr "" - -#: template/page-funding.html.jinja:53 -msgid "" -"Hackathons are open to all developers to explore and invent a project on " -"the XRP Ledger. Visit the events page for updates on upcoming hackathons." -msgstr "" - -#: template/page-funding.html.jinja:56 template/page-funding.html.jinja:121 -msgid "See Upcoming Events" -msgstr "" - -#: template/page-funding.html.jinja:67 template/page-funding.html.jinja:156 -#: template/page-funding.html.jinja:239 -msgid "Best for" -msgstr "" - -#: template/page-funding.html.jinja:68 -msgid "Software developers and teams building directly on the XRP Ledger" -msgstr "" - -#: template/page-funding.html.jinja:75 template/page-funding.html.jinja:104 -#: template/page-funding.html.jinja:164 template/page-funding.html.jinja:192 -#: template/page-funding.html.jinja:247 template/page-funding.html.jinja:276 -msgid "Required" -msgstr "" - -#: template/page-funding.html.jinja:76 template/page-funding.html.jinja:105 -msgid "Some coding experience" -msgstr "" - -#: template/page-funding.html.jinja:82 template/page-funding.html.jinja:171 -#: template/page-funding.html.jinja:254 -msgid "Level" -msgstr "" - -#: template/page-funding.html.jinja:83 -msgid "XRPL beginner to advanced developers" -msgstr "" - -#: template/page-funding.html.jinja:91 template/page-funding.html.jinja:112 -#: template/page-funding.html.jinja:179 template/page-funding.html.jinja:200 -#: template/page-funding.html.jinja:263 template/page-funding.html.jinja:284 -msgid "Funding Levels" -msgstr "" - -#: template/page-funding.html.jinja:92 template/page-funding.html.jinja:113 -msgid "Prize money and awards" -msgstr "" - -#: template/page-funding.html.jinja:135 -msgid "Fund Your Project" -msgstr "" - -#: template/page-funding.html.jinja:137 -msgid "" -"Developer grants for projects that contribute to the growing XRP Ledger " -"community." -msgstr "" - -#: template/page-funding.html.jinja:140 -msgid "Past awardees include:" -msgstr "" - -#: template/page-funding.html.jinja:145 template/page-funding.html.jinja:210 -msgid "Visit XRPL Grants" -msgstr "" - -#: template/page-funding.html.jinja:157 -msgid "" -"Software developers, teams, and start-ups building directly on the XRP " -"Ledger" -msgstr "" - -#: template/page-funding.html.jinja:165 -msgid "" -"Coding experience Github " -"repository Project " -"narrative/description At " -"least one developer on the core team Budget and milestones" -msgstr "" - -#: template/page-funding.html.jinja:172 -msgid "XRPL intermediate to advanced developers" -msgstr "" - -#: template/page-funding.html.jinja:180 template/page-funding.html.jinja:201 -msgid "$10,000 - $200,000" -msgstr "" - -#: template/page-funding.html.jinja:193 -msgid "" -"Coding experience Github " -"repository Project " -"narrative/description At " -"least one developer on the core team Budget and milestone" -msgstr "" - -#: template/page-funding.html.jinja:222 -msgid "XRPL Accelerator" -msgstr "" - -#: template/page-funding.html.jinja:223 -msgid "Advance your project" -msgstr "" - -#: template/page-funding.html.jinja:225 -msgid "" -"12-week program for entrepreneurs building on the XRP Ledger to scale " -"their projects into thriving businesses." -msgstr "" - -#: template/page-funding.html.jinja:228 template/page-funding.html.jinja:293 -msgid "View XRPL Accelerator" -msgstr "" - -#: template/page-funding.html.jinja:240 -msgid "" -"Start-ups building scalable products on XRPL that can capture a large " -"market opportunity" -msgstr "" - -#: template/page-funding.html.jinja:248 template/page-funding.html.jinja:277 -msgid "" -" Strong founding team
      " -" Bold, ambitious vision " -"
      Ideally an MVP and " -"monetization strategy" -msgstr "" - -#: template/page-funding.html.jinja:255 -msgid "" -" XRPL advanced developers " -"
      Business acumen" -msgstr "" - -#: template/page-funding.html.jinja:264 template/page-funding.html.jinja:285 -msgid "$50,000 (grant) + pitch for venture funding" -msgstr "" - -#: template/page-history.html.jinja:28 -msgid "Provide a Better Alternative to Bitcoin" -msgstr "" - -#: template/page-history.html.jinja:29 -msgid "XRPL's Origin" -msgstr "" - -#: template/page-history.html.jinja:36 -msgid "" -"In 2011, three engineers—David Schwartz, Jed McCaleb, and Arthur " -"Britto—began developing the XRP Ledger (XRPL). Fascinated by Bitcoin, " -"they set out to create a better version that improved upon its " -"limitations—with the goal of creating a digital asset that was more " -"sustainable and built specifically for payments." -msgstr "" - -#: template/page-history.html.jinja:37 -msgid "" -"The XRP Ledger first launched in June 2012. Shortly thereafter, they were" -" joined by Chris Larsen, and the group started the Company NewCoin in " -"September 2012 (quickly renamed OpenCoin and now named Ripple)." -msgstr "" - -#: template/page-history.html.jinja:38 -msgid "" -"The XRPL founders gifted 80 billion XRP, the platform’s native currency, " -"to the company. Ripple has since put the majority in escrow." -msgstr "" - -#: template/page-history.html.jinja:54 -msgid "2011 XRP Ledger Development" -msgstr "" - -#: template/page-history.html.jinja:57 -msgid "" -"In early 2011, three developers—David Schwartz, Jed McCaleb, and Arthur " -"Britto—were fascinated with Bitcoin but observed the waste inherent in " -"mining. They sought to create a more sustainable system for sending value" -" (an idea outlined in a May 2011 forum post: “Bitcoin without mining”)." -msgstr "" - -#: template/page-history.html.jinja:60 -msgid "" -"Their initial observations about the high energy consumption and " -"scalability issues that would plague Bitcoin proved prescient. In 2019, " -"estimates suggest Bitcoin mining used more energy than the entire country" -" of Portugal. Moreover, their initial read indicated that significant " -"problems could arise if any miner obtained (or miners colluded to obtain)" -" greater than 50% of the mining power. That risk persists with " -"Bitcoin (and Ethereum) today as mining power has consolidated in China." -msgstr "" - -#: template/page-history.html.jinja:68 -msgid "XRPL Launches its Native Currency, XRP" -msgstr "" - -#: template/page-history.html.jinja:71 -msgid "" -"The trio of developers continued the work to build a distributed ledger " -"that improved upon these fundamental limitations of Bitcoin, originally " -"naming the code Ripple. The ledger included a digital asset that would " -"originally be called “ripples” (XRP as the currency code) to follow the " -"same naming convention as Bitcoin (BTC). At the time, the name Ripple " -"stood for the open-source project, the unique consensus ledger (Ripple " -"Consensus Ledger), transaction protocol (Ripple Transaction Protocol or " -"RTXP), the network (Ripple network), and the digital asset (known as " -"“ripples”)." -msgstr "" - -#: template/page-history.html.jinja:74 -msgid "" -"In practice, this approach led to many broad uses of “Ripple.” For " -"clarity, the community simply started calling the digital asset by its " -"currency code, “XRP.”" -msgstr "" - -#: template/page-history.html.jinja:75 -msgid "" -"By June 2012, Schwartz, McCaleb, and Britto finished code development, " -"and the Ledger was complete." -msgstr "" - -#: template/page-history.html.jinja:76 -msgid "" -"Once the XRP Ledger was live, 80% of the XRP was gifted to a new " -"company that set out to build use cases for the digital asset—initially " -"called NewCoin and renamed quickly to OpenCoin." -msgstr "" - -#: template/page-history.html.jinja:77 -msgid "" -"Chris Larsen was the CEO of OpenCoin, and at the company's founding, Jed " -"was co-founder and CTO, David Schwartz was the Chief Cryptography " -"Officer, and Arthur Britto an advisor." -msgstr "" - -#: template/page-history.html.jinja:85 -msgid "OpenCoin Rebranded to Ripple Labs" -msgstr "" - -#: template/page-history.html.jinja:88 -msgid "" -"Since the early days, OpenCoin set out to revolutionize the global " -"financial system. Despite the revolutionary ideals of many of Bitcoin’s " -"early believers, Larsen never thought blockchain technology should be " -"used to overthrow the existing financial system. He believed that " -"history’s most transformative innovations have always relied on the great" -" ideas that came before them—not displacing them." -msgstr "" - -#: template/page-history.html.jinja:91 -msgid "" -"In early conversations with potential customers, the team was asked about" -" the differences between the Ripple project and OpenCoin company. With " -"the community starting to refer to the digital asset as XRP, company " -"leaders decided to rebrand the company to Ripple Labs, which has been " -"shortened over time to “Ripple.”" -msgstr "" - -#: template/page-history.html.jinja:92 -msgid "" -"Today, Ripple has created a use case leveraging the XRP Ledger and XRP " -"for liquidity management in its cross-border payments business. Ripple " -"also remains a stakeholder and contributor to the broader XRPL community." -msgstr "" - -#: template/page-history.html.jinja:100 -msgid "XRPL Foundation Launched" -msgstr "" - -#: template/page-history.html.jinja:103 -msgid "" -"Founded September 24, 2020, the XRPL " -"Foundation is an independent and nonprofit entity with a mission to " -"accelerate the development and adoption of the decentralized XRP Ledger. " -"The Foundation received an initial donation of over $6.5M from Coil, " -"Ripple, and Gatehub to fund the Foundation’s work in service of the " -"growing number of developers and other global " -"blockchain community members building on the XRP Ledger." -msgstr "" - -#: template/page-home.html.jinja:27 -msgid "The Blockchain
      Built for Business" -msgstr "" - -#: template/page-home.html.jinja:28 -msgid "XRPL | XRP Ledger" -msgstr "" - -#: template/page-home.html.jinja:30 -msgid "Start Building" -msgstr "" - -#: template/page-home.html.jinja:41 -msgid "The XRP Ledger: The Blockchain Built for Business" -msgstr "" - -#: template/page-home.html.jinja:42 -msgid "" -"The XRP Ledger (XRPL) is a decentralized, public blockchain led by a " -"global community of businesses and developers looking to solve problems " -"and create value." -msgstr "" - -#: template/page-home.html.jinja:43 -msgid "" -"Proven reliable over more than a decade of error-free functioning, the " -"XRPL offers streamlined development, low transaction costs, high " -"performance, and sustainability. So you can build with confidence–and " -"move your most critical projects forward." -msgstr "" - -#: template/page-home.html.jinja:49 -msgid "Why developers choose the XRP Ledger" -msgstr "" - -#: template/page-home.html.jinja:55 -msgid "Public and Decentralized" -msgstr "" - -#: template/page-home.html.jinja:56 -msgid "Open source, open to anyone to build on, maintained by the community" -msgstr "" - -#: template/page-home.html.jinja:58 -msgid "Streamlined Development" -msgstr "" - -#: template/page-home.html.jinja:59 -msgid "Intentional innovations, tools and documentation reduce time to market" -msgstr "" - -#: template/page-home.html.jinja:61 -msgid "High Performance" -msgstr "" - -#: template/page-home.html.jinja:62 -msgid "Thousands of transactions settled in seconds" -msgstr "" - -#: template/page-home.html.jinja:64 -msgid "Low Cost" -msgstr "" - -#: template/page-home.html.jinja:65 -msgid "" -"At fractions of a penny per transaction, costs are inexpensive enough to " -"enable a wide variety of blockchain use cases" -msgstr "" - -#: template/page-home.html.jinja:67 -msgid "Motivated Community" -msgstr "" - -#: template/page-home.html.jinja:68 -msgid "" -"Companies, developers, validators, and users work together to make the " -"XRP Ledger better every day" -msgstr "" - -#: template/page-home.html.jinja:70 -msgid "Proven Reliability" -msgstr "" - -#: template/page-home.html.jinja:71 -msgid "" -"10+ years of error-free, uninterrupted performance over more than 63 " -"million ledgers" -msgstr "" - -#: template/page-home.html.jinja:85 -msgid "" -"Activate the proven potential of the XRP Ledger and find a trusted " -"foundation for your next innovation" -msgstr "" - -#: template/page-home.html.jinja:86 -msgid "Powerful Features" -msgstr "" - -#: template/page-home.html.jinja:92 -msgid "" -"A high-performance decentralized peer-to-peer multi-currency exchange " -"built directly into the blockchain" -msgstr "" - -#: template/page-home.html.jinja:94 -msgid "Cross-Currency Payments" -msgstr "" - -#: template/page-home.html.jinja:95 -msgid "" -"Atomically settle multi-hop payments that cross currency or national " -"boundaries with ease" -msgstr "" - -#: template/page-home.html.jinja:97 -msgid "Payment
      Channels" -msgstr "" - -#: template/page-home.html.jinja:98 -msgid "Batched micropayments with unlimited speed, secured with XRP" -msgstr "" - -#: template/page-home.html.jinja:100 -msgid "Multi-Signing" -msgstr "" - -#: template/page-home.html.jinja:101 -msgid "Flexible options for custody and security of on-ledger accounts" -msgstr "" - -#: template/page-home.html.jinja:104 -msgid "" -"All currencies other than XRP can be represented in the XRP Ledger as " -"tokens, sometimes called “IOUs”" -msgstr "" - -#: template/page-home.html.jinja:121 -msgid "Choose a path, and bring your project to life on the XRP Ledger" -msgstr "" - -#: template/page-home.html.jinja:122 -msgid "Where to Start" -msgstr "" - -#: template/page-home.html.jinja:127 -msgid "Quickstart" -msgstr "" - -#: template/page-home.html.jinja:128 -msgid "Access everything you need to get started working with the XRPL" -msgstr "" - -#: template/page-home.html.jinja:130 -msgid "Guided Tutorials" -msgstr "" - -#: template/page-home.html.jinja:131 -msgid "Follow step-by-step guides for frequent tasks" -msgstr "" - -#: template/page-home.html.jinja:133 -msgid "XRPL Fundamentals" -msgstr "" - -#: template/page-home.html.jinja:134 -msgid "Read about the XRPL’s foundational concepts" -msgstr "" - -#: template/page-home.html.jinja:136 -msgid "Choose a Language" -msgstr "" - -#: template/page-home.html.jinja:137 -msgid "" -"Find tools, documentation, and sample code in Python, Java, Javascript, " -"or use HTTP APIs" -msgstr "" - -#: template/page-home.html.jinja:139 -msgid "Get Inspired" -msgstr "" - -#: template/page-home.html.jinja:140 -msgid "See what your peers have built on the XRPL" -msgstr "" - -#: template/page-home.html.jinja:159 -msgid "Our Shared Vision for XRPL’s Future" -msgstr "" - -#: template/page-home.html.jinja:160 -msgid "" -"Together, we're building the greenest infrastructure to drive blockchain " -"innovation that doesn't sacrifice utility or performance, to bring the " -"developer community's vision to life." -msgstr "" - -#: template/page-home.html.jinja:168 -msgid "" -"Explore what the community is building to enable new features and use " -"cases on XRPL" -msgstr "" - -#: template/page-home.html.jinja:169 -msgid "Preview New Features" -msgstr "" - -#: template/page-home.html.jinja:173 -msgid "In Development" -msgstr "" - -#: template/page-home.html.jinja:174 -msgid "Smart Contracts" -msgstr "" - -#: template/page-home.html.jinja:175 -msgid "" -"Hooks are small, efficient WebAssembly modules designed specifically for " -"the XRPL. Check out the hooks amendment and public testnet that enable smart " -"contract functionality." -msgstr "" - -#: template/page-home.html.jinja:177 -msgid "Enabled" -msgstr "" - -#: template/page-home.html.jinja:178 -msgid "Non-Fungible Tokens" -msgstr "" - -#: template/page-home.html.jinja:179 -msgid "" -"Lower fees, faster transactions, and custom token functionality make the " -"XRPL ideally suited for building an ecosystem for NFTs. Explore the XRP " -"Ledger's NFT capabilities." -msgstr "" - -#: template/page-home.html.jinja:197 -msgid "Join the Community
      at XRPL.org" -msgstr "" - -#: template/page-home.html.jinja:199 -msgid "" -"Connect at XRPL.org, a community by and for the developers
      and entrepeneurs who rely on the XRPL." -msgstr "" - -#: template/page-home.html.jinja:200 -msgid "Get Involved" -msgstr "" - -#: template/page-impact.html.jinja:31 -msgid "Today’s Value, Tomorrow’s Vision" -msgstr "" - -#: template/page-impact.html.jinja:32 template/page-xrpl-overview.html.jinja:40 -msgid "XRPL Today, XRPL Tomorrow" -msgstr "" - -#: template/page-impact.html.jinja:44 -msgid "Building for the Future" -msgstr "" - -#: template/page-impact.html.jinja:46 -msgid "Consensus protocol is efficient and sustainable" -msgstr "" - -#: template/page-impact.html.jinja:48 -msgid "" -"For more than 272 million migrants worldwide, sending and receiving money" -" across borders is expensive, unreliable and complex." -msgstr "" - -#: template/page-impact.html.jinja:49 -msgid "" -"Open and decentralized, blockchain and crypto are seeing an increase in " -"adoption across the financial services industry, from retail and " -"institutional investment to commercial use cases " -"like CBDCs, NFTs, and cross-border payments." -msgstr "" - -#: template/page-impact.html.jinja:74 -msgid "A Sustainable Future" -msgstr "" - -#: template/page-impact.html.jinja:75 -msgid "What makes the XRPL sustainable?" -msgstr "" - -#: template/page-impact.html.jinja:76 -msgid "" -"XRPL’s unique consensus mechanism is eco-friendly—it does not require " -"mining to settle transactions. This results in efficiency without " -"sacrificing security, decentralization, or scalability." -msgstr "" - -#: template/page-impact.html.jinja:77 -msgid "" -"The trivial amount of energy it does consume is then neutralized with " -"carbon credits through EW Zero, an open-source blockchain decarbonization" -" tool." -msgstr "" - -#: template/page-impact.html.jinja:91 -msgid "Featured companies & projects running on the XRP Ledger." -msgstr "" - -#: template/page-impact.html.jinja:92 -msgid "Sustainable Projects" -msgstr "" - -#: template/page-impact.html.jinja:94 -msgid "" -"Learn more about companies and developers who are using the XRP Ledger to" -" solve interesting problems efficiently and sustainably." -msgstr "" - -#: template/page-impact.html.jinja:95 -msgid "See More" -msgstr "" - -#: template/page-impact.html.jinja:107 -msgid "How can businesses and developers connect and contribute?" -msgstr "" - -#: template/page-impact.html.jinja:109 -msgid "" -"If you want to advance business with sustainable solutions to real-world " -"problems, you’re invited to join the global, growing XRPL community. Here" -" are some ways to get involved:" -msgstr "" - -#: template/page-impact.html.jinja:112 template/page-impact.html.jinja:177 -msgid "Join the Community" -msgstr "" - -#: template/page-impact.html.jinja:123 -msgid "Blog" -msgstr "" - -#: template/page-impact.html.jinja:124 -msgid "" -"Check out the XRPL dev blog to " -"stay up-to-date on the latest innovations and developments in the XRPL " -"community." -msgstr "" - -#: template/page-impact.html.jinja:132 template/page-impact.html.jinja:160 -msgid "" -"Attend meetups, hackathons, and conferences " -"to meet other members of the community." -msgstr "" - -#: template/page-impact.html.jinja:138 -msgid "Code" -msgstr "" - -#: template/page-impact.html.jinja:139 -msgid "" -"View the Github repositories to find blockchain projects to " -"see how you can contribute." -msgstr "" - -#: template/page-impact.html.jinja:147 template/page-impact.html.jinja:168 -msgid "Join the conversation on social media using #XRPLCommunity." -msgstr "" - -#: template/page-references.html.jinja:9 -msgid "References and APIs" -msgstr "" - -#: template/page-references.html.jinja:10 -msgid "Everything You Need to Know" -msgstr "" - -#: template/page-rpc-tool.html.jinja:10 -msgid "" -"This is a debug tool for printing raw information about an account (by " -"classic address), a transaction (by hash) or a ledger (by sequence " -"number)." -msgstr "" - -#: template/page-rpc-tool.html.jinja:13 -msgid "XRP Ledger address, transaction ID, or ledger index" -msgstr "" - -#: template/page-rpc-tool.html.jinja:14 -msgid "Try an account like rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn." -msgstr "" - -#: template/page-rpc-tool.html.jinja:15 -msgid "Get info" -msgstr "" - -#: template/page-rpc-tool.html.jinja:18 -#: template/page-validator-domain-verifier.html.jinja:20 -msgid "Result" -msgstr "" - -#: template/page-rpc-tool.html.jinja:24 -msgid "Permalink" -msgstr "" - -#: template/page-rpc-tool.html.jinja:25 -msgid "Explorer" -msgstr "" - -#: template/page-rpc-tool.html.jinja:30 template/page-rpc-tool.html.jinja:35 -#: template/page-rpc-tool.html.jinja:45 template/page-rpc-tool.html.jinja:50 -#: template/page-rpc-tool.html.jinja:56 template/page-rpc-tool.html.jinja:64 -#: template/page-rpc-tool.html.jinja:71 template/page-rpc-tool.html.jinja:76 -#: template/page-rpc-tool.html.jinja:85 template/page-rpc-tool.html.jinja:91 -msgid "expand all" -msgstr "" - -#: template/page-rpc-tool.html.jinja:31 template/page-rpc-tool.html.jinja:36 -#: template/page-rpc-tool.html.jinja:46 template/page-rpc-tool.html.jinja:51 -#: template/page-rpc-tool.html.jinja:57 template/page-rpc-tool.html.jinja:65 -#: template/page-rpc-tool.html.jinja:72 template/page-rpc-tool.html.jinja:77 -#: template/page-rpc-tool.html.jinja:86 template/page-rpc-tool.html.jinja:92 -msgid "collapse all" -msgstr "" - -#: template/page-rpc-tool.html.jinja:53 -msgid "(last 20)" -msgstr "" - -#: template/page-rpc-tool.html.jinja:55 template/page-rpc-tool.html.jinja:63 -#: template/page-rpc-tool.html.jinja:84 template/page-rpc-tool.html.jinja:90 -msgid "expand tx" -msgstr "" - -#: template/page-rpc-tool.html.jinja:58 template/page-rpc-tool.html.jinja:66 -msgid "next 20" -msgstr "" - -#: template/page-rpc-tool.html.jinja:59 template/page-rpc-tool.html.jinja:67 -msgid "prev 20" -msgstr "" - -#: template/page-tx-sender.html.jinja:8 -msgid "Status" -msgstr "" - -#: template/page-tx-sender.html.jinja:12 -msgid "XRP Testnet:" -msgstr "" - -#: template/page-tx-sender.html.jinja:13 -msgid "Not Connected" -msgstr "" - -#: template/page-tx-sender.html.jinja:14 -msgid "Sending Address:" -msgstr "" - -#: template/page-tx-sender.html.jinja:15 template/page-tx-sender.html.jinja:17 -msgid "(None)" -msgstr "" - -#: template/page-tx-sender.html.jinja:16 -msgid "Testnet XRP Available:" -msgstr "" - -#: template/page-tx-sender.html.jinja:20 -msgid "Transaction History" -msgstr "" - -#: template/page-tx-sender.html.jinja:33 -msgid "" -"This tool sends transactions to the XRP Testnet address of your choice so you can test how " -"you monitor and respond to incoming transactions." -msgstr "" - -#: template/page-tx-sender.html.jinja:37 -msgid "Initialize" -msgstr "" - -#: template/page-tx-sender.html.jinja:38 -msgid "Set up the necessary Testnet XRP addresses to send test payments." -msgstr "" - -#: template/page-tx-sender.html.jinja:42 -msgid "Destination Address" -msgstr "" - -#: template/page-tx-sender.html.jinja:44 -msgid "Send transactions to this XRP Testnet address" -msgstr "" - -#: template/page-tx-sender.html.jinja:46 -msgid "" -"Caution: This X-address is intended for use on Mainnet. " -"Testnet addresses have a \"T\" prefix instead." -msgstr "" - -#: template/page-tx-sender.html.jinja:48 -msgid "Send Transaction" -msgstr "" - -#: template/page-tx-sender.html.jinja:53 -msgid "(loading)" -msgstr "" - -#: template/page-tx-sender.html.jinja:55 -msgid "Send XRP Payment" -msgstr "" - -#: template/page-tx-sender.html.jinja:58 template/page-tx-sender.html.jinja:116 -msgid "drops of XRP" -msgstr "" - -#: template/page-tx-sender.html.jinja:62 -msgid "Send a simple XRP-to-XRP payment." -msgstr "" - -#: template/page-tx-sender.html.jinja:70 -msgid "(Getting ready to send partial payments)" -msgstr "" - -#: template/page-tx-sender.html.jinja:76 -msgid "Send Partial Payment" -msgstr "" - -#: template/page-tx-sender.html.jinja:78 -msgid "" -"Deliver a small amount of XRP with a large Amount value, to " -"test your handling of partial " -"payments." -msgstr "" - -#: template/page-tx-sender.html.jinja:88 -msgid "Create Escrow" -msgstr "" - -#: template/page-tx-sender.html.jinja:91 -msgid "seconds" -msgstr "" - -#: template/page-tx-sender.html.jinja:96 -msgid "Finish automatically" -msgstr "" - -#: template/page-tx-sender.html.jinja:99 -msgid "" -"Create a time-based escrow of 1 XRP for the " -"specified number of seconds." -msgstr "" - -#: template/page-tx-sender.html.jinja:102 -msgid "(Waiting to release Escrow when it's ready)" -msgstr "" - -#: template/page-tx-sender.html.jinja:113 -msgid "Create Payment Channel" -msgstr "" - -#: template/page-tx-sender.html.jinja:119 -msgid "" -"Create a payment channel and fund " -"it with the specified amount of XRP." -msgstr "" - -#: template/page-tx-sender.html.jinja:129 -msgid "Send Issued Currency" -msgstr "" - -#: template/page-tx-sender.html.jinja:135 -msgid "" -"Your destination address needs a trust line to (the test sender) for the currency in question. Otherwise, " -"you'll get tecPATH_DRY." -msgstr "" - -#: template/page-tx-sender.html.jinja:145 -msgid "Trust for" -msgstr "" - -#: template/page-tx-sender.html.jinja:151 -msgid "" -"The test sender creates a trust " -"line to your account for the given currency." -msgstr "" - -#: template/page-uses.html.jinja:23 -msgid "Aesthetes" -msgstr "" - -#: template/page-uses.html.jinja:24 -msgid "" -"Aesthetes is a bridge between fine art and blockchain, enabling everyone," -" around the world, to buy and sell with just a click for fractional " -"ownership of international physical art." -msgstr "" - -#: template/page-uses.html.jinja:26 template/page-uses.html.jinja:42 -#: template/page-uses.html.jinja:146 template/page-uses.html.jinja:162 -#: template/page-uses.html.jinja:170 template/page-uses.html.jinja:202 -#: template/page-uses.html.jinja:234 template/page-uses.html.jinja:289 -#: template/page-uses.html.jinja:378 -msgid "NFTs" -msgstr "" - -#: template/page-uses.html.jinja:31 -msgid "Anchain.AI" -msgstr "" - -#: template/page-uses.html.jinja:32 -msgid "" -"AnChain.AI offers AI-powered intelligence enhancing blockchain security, " -"risk, and compliance strategies." -msgstr "" - -#: template/page-uses.html.jinja:34 template/page-uses.html.jinja:292 -#: template/page-uses.html.jinja:390 -msgid "Security" -msgstr "" - -#: template/page-uses.html.jinja:39 -msgid "Audiotarky" -msgstr "" - -#: template/page-uses.html.jinja:40 -msgid "" -"Audiotarky is a new music streaming platform that prioritises artists and" -" privacy over algorithms and shareholders." -msgstr "" - -#: template/page-uses.html.jinja:47 -msgid "BitGo" -msgstr "" - -#: template/page-uses.html.jinja:48 -msgid "" -"BitGo provides custodial and non-custodial asset holdings for digital " -"assets including XRP. BitGo's enterprise-level security empowers " -"businesses to integrate digital currencies like XRP into new and existing" -" financial systems." -msgstr "" - -#: template/page-uses.html.jinja:50 template/page-uses.html.jinja:297 -#: template/page-uses.html.jinja:410 -msgid "Custody" -msgstr "" - -#: template/page-uses.html.jinja:55 -msgid "Bithomp" -msgstr "" - -#: template/page-uses.html.jinja:56 -msgid "" -"Bithomp is an XRPL explorer and toolkit, used by many cryptocurrency " -"exchanges. Bithomp was launched in 2015 with a mission to build the most " -"user-friendly XRPL explorer." -msgstr "" - -#: template/page-uses.html.jinja:58 template/page-uses.html.jinja:114 -#: template/page-uses.html.jinja:154 template/page-uses.html.jinja:210 -#: template/page-uses.html.jinja:242 template/page-uses.html.jinja:250 -#: template/page-uses.html.jinja:258 template/page-uses.html.jinja:266 -#: template/page-uses.html.jinja:282 template/page-uses.html.jinja:366 -msgid "Infrastructure" -msgstr "" - -#: template/page-uses.html.jinja:63 -msgid "bitpay" -msgstr "" - -#: template/page-uses.html.jinja:64 -msgid "" -"BitPay builds powerful, enterprise-grade tools for accepting and spending" -" cryptocurrencies, including XRP." -msgstr "" - -#: template/page-uses.html.jinja:71 -msgid "Carbonland Trust" -msgstr "" - -#: template/page-uses.html.jinja:72 -msgid "" -"Carbonland Trust offers transparent nature-based carbon credits, and " -"inclusive access to voluntary carbon markets for landowners and " -"corporations alike. " -msgstr "" - -#: template/page-uses.html.jinja:74 -msgid "Carbon Markets/Sustainability" -msgstr "" - -#: template/page-uses.html.jinja:79 -msgid "Casino Coin" -msgstr "" - -#: template/page-uses.html.jinja:80 -msgid "" -"CasinoCoin (CSC) is a digital currency developed specifically for the " -"regulated gaming industry." -msgstr "" - -#: template/page-uses.html.jinja:87 -msgid "Cryptum" -msgstr "" - -#: template/page-uses.html.jinja:88 -msgid "" -"Cryptum is an API/SDK platform for integrating the XRP Ledger with any " -"application." -msgstr "" - -#: template/page-uses.html.jinja:90 template/page-uses.html.jinja:98 -#: template/page-uses.html.jinja:218 template/page-uses.html.jinja:283 -#: template/page-uses.html.jinja:370 -msgid "Developer Tooling" -msgstr "" - -#: template/page-uses.html.jinja:95 -msgid "Evernode" -msgstr "" - -#: template/page-uses.html.jinja:96 -msgid "" -"Evernode proposes a permissionless, flexible, scalable Layer 2 smart " -"contract network built from the XRP Ledger." -msgstr "" - -#: template/page-uses.html.jinja:103 -msgid "Forte" -msgstr "" - -#: template/page-uses.html.jinja:104 -msgid "" -"Forte offers an unprecedented set of easy-to-use tools and services for " -"game developers to integrate blockchain technology into their games, to " -"unlock new economic and creative opportunities for gamers across the " -"world." -msgstr "" - -#: template/page-uses.html.jinja:106 template/page-uses.html.jinja:130 -#: template/page-uses.html.jinja:291 template/page-uses.html.jinja:386 -msgid "Gaming" -msgstr "" - -#: template/page-uses.html.jinja:111 template/page-xrp-overview.html.jinja:171 -msgid "Gatehub" -msgstr "" - -#: template/page-uses.html.jinja:112 -msgid "" -"Gatehub XRP Ledger Markets is an explorer to track Gatehub's inssuances " -"on the XRP Ledger." -msgstr "" - -#: template/page-uses.html.jinja:119 -msgid "Gem Wallet" -msgstr "" - -#: template/page-uses.html.jinja:120 -msgid "" -"GemWallet is a web extension that enables users to make fast payments on " -"the XRP Ledger via a browser. It's a safer alternative to copying and " -"pasting private keys for use with web applications." -msgstr "" - -#: template/page-uses.html.jinja:122 template/page-uses.html.jinja:274 -#: template/page-uses.html.jinja:288 template/page-uses.html.jinja:374 -msgid "Wallet" -msgstr "" - -#: template/page-uses.html.jinja:127 -msgid "Ledger City" -msgstr "" - -#: template/page-uses.html.jinja:128 -msgid "Ledger City is a crypto real estate game powered by the XRP Ledger." -msgstr "" - -#: template/page-uses.html.jinja:135 -msgid "Multichain" -msgstr "" - -#: template/page-uses.html.jinja:136 -msgid "" -"Multichain is the ultimate Router for web3. It is an infrastructure " -"developed for arbitrary cross-chain interactions." -msgstr "" - -#: template/page-uses.html.jinja:138 template/page-uses.html.jinja:287 -msgid "Interoperability" -msgstr "" - -#: template/page-uses.html.jinja:143 -msgid "NFT Master" -msgstr "" - -#: template/page-uses.html.jinja:144 -msgid "" -"NFT Master is an NFT marketplace where creators can buy, mint and sell " -"NFTs." -msgstr "" - -#: template/page-uses.html.jinja:151 -msgid "OnTheDex" -msgstr "" - -#: template/page-uses.html.jinja:152 -msgid "" -"OnTheDex is a quality source of information for aggregator sites to take " -"live feeds of XRPL token activity." -msgstr "" - -#: template/page-uses.html.jinja:159 -msgid "onXRP" -msgstr "" - -#: template/page-uses.html.jinja:160 -msgid "" -"onXRP is an NFT marketplace where creators can buy, mint and sell NFTs " -"built by the XPUNKs." -msgstr "" - -#: template/page-uses.html.jinja:167 -msgid "Peerkat" -msgstr "" - -#: template/page-uses.html.jinja:168 -msgid "Peerkat is an NFT services and tooling provider for the XRPL community." -msgstr "" - -#: template/page-uses.html.jinja:175 -msgid "Ripple's CBDC Platform" -msgstr "" - -#: template/page-uses.html.jinja:176 -msgid "" -"Ripple's Central Bank Digital Currency (CBDC) solution enables banks to " -"mint, manage, transact and redeem currency to easily manage the full CBDC" -" lifecycle. Each solution is built on a private ledger that is based upon" -" XRP Ledger technology." -msgstr "" - -#: template/page-uses.html.jinja:178 template/page-uses.html.jinja:406 -msgid "CBDC" -msgstr "" - -#: template/page-uses.html.jinja:183 -msgid "Ripple's On-Demand Liquidity" -msgstr "" - -#: template/page-uses.html.jinja:184 -msgid "" -"Ripple powers real-time, low-cost cross-border payment settlement by " -"using XRP as a bridge currency between two fiat currencies." -msgstr "" - -#: template/page-uses.html.jinja:191 -msgid "Sologenic DEX" -msgstr "" - -#: template/page-uses.html.jinja:192 -msgid "" -"Sologenic DEX is a popular decentralized exchange on the XRP Ledger made " -"by Sologenic." -msgstr "" - -#: template/page-uses.html.jinja:194 template/page-uses.html.jinja:226 -#: template/page-uses.html.jinja:290 template/page-uses.html.jinja:382 -msgid "Exchanges" -msgstr "" - -#: template/page-uses.html.jinja:199 -msgid "Sologenic NFT" -msgstr "" - -#: template/page-uses.html.jinja:200 -msgid "Sologenic NFT is an NFT marketplace designed by Sologenic." -msgstr "" - -#: template/page-uses.html.jinja:207 -msgid "Towo Labs" -msgstr "" - -#: template/page-uses.html.jinja:208 -msgid "" -"Towo Labs was founded in 2019, to develop XRP Ledger and Interledger " -"infrastructures and make non-custodial crypto management easier." -msgstr "" - -#: template/page-uses.html.jinja:215 -msgid "X-tokenize" -msgstr "" - -#: template/page-uses.html.jinja:216 -msgid "" -"X-Tokenize is a command line tool to simplify the process of creating, " -"managing and distributing issued currencies and eventually NFTs on the " -"XRPL." -msgstr "" - -#: template/page-uses.html.jinja:223 -msgid "XP Market" -msgstr "" - -#: template/page-uses.html.jinja:224 -msgid "" -"XP Market is a price-tracking website for cryptoassets on the XRPL " -"coupled with a decentralized exchange." -msgstr "" - -#: template/page-uses.html.jinja:231 -msgid "XRP Cafe" -msgstr "" - -#: template/page-uses.html.jinja:232 -msgid "" -"XRP Cafe is an NFT marketplace built by the community that aims to be the" -" easiest way to build, sell and mint NFTs." -msgstr "" - -#: template/page-uses.html.jinja:239 -msgid "XRP Toolkit" -msgstr "" - -#: template/page-uses.html.jinja:240 -msgid "" -"XRP Toolkit is a platform for managing crypto assets and trading on the " -"XRP Ledger's decentralized exchange." -msgstr "" - -#: template/page-uses.html.jinja:247 -msgid "XRPL Rosetta" -msgstr "" - -#: template/page-uses.html.jinja:248 -msgid "XRPL Rosetta explores fiat data on XRPL through visualization." -msgstr "" - -#: template/page-uses.html.jinja:255 -msgid "XRPL.org Ledger Explorer" -msgstr "" - -#: template/page-uses.html.jinja:256 -msgid "XRPL.org's Ledger Explorer is a block explorer of the XRP Ledger." -msgstr "" - -#: template/page-uses.html.jinja:263 -msgid "XRPScan" -msgstr "" - -#: template/page-uses.html.jinja:264 -msgid "" -"XRPSCAN is an explorer and analytics platform for the XRP Ledger. We " -"provide a clean and simple way to look up accounts, ledgers and " -"transactions." -msgstr "" - -#: template/page-uses.html.jinja:271 -msgid "Xumm Wallet" -msgstr "" - -#: template/page-uses.html.jinja:272 -msgid "Xumm Wallet is a non custodial wallet with superpower for the XRP Ledger." -msgstr "" - -#: template/page-uses.html.jinja:294 template/page-uses.html.jinja:398 -msgid "Web Monetization" -msgstr "" - -#: template/page-uses.html.jinja:295 template/page-uses.html.jinja:402 -msgid "Sustainability" -msgstr "" - -#: template/page-uses.html.jinja:296 -msgid "CBDCs" -msgstr "" - -#: template/page-uses.html.jinja:298 template/page-uses.html.jinja:414 -msgid "DeFi" -msgstr "" - -#: template/page-uses.html.jinja:308 template/page-uses.html.jinja:335 -msgid "Cancel" -msgstr "" - -#: template/page-uses.html.jinja:315 template/page-uses.html.jinja:448 -msgid "Featured Categories" -msgstr "" - -#: template/page-uses.html.jinja:322 template/page-uses.html.jinja:456 -msgid "Other Categories" -msgstr "" - -#: template/page-uses.html.jinja:348 -msgid "Proven Powerful for Innovation" -msgstr "" - -#: template/page-uses.html.jinja:349 -msgid "XRPL Use Cases" -msgstr "" - -#: template/page-uses.html.jinja:357 -msgid "Building businesses and creating new value" -msgstr "" - -#: template/page-uses.html.jinja:358 -msgid "XRPL Ecosystem" -msgstr "" - -#: template/page-uses.html.jinja:367 -msgid "" -"Build and operate components or systems that help the functionality of " -"the XRP Ledger, such as Nodes, dev tools, storage, security and more." -msgstr "" - -#: template/page-uses.html.jinja:371 -msgid "" -"Developers can leverage open-source libraries, SDKs and more to help " -"build their blockchain project and " -"across essential XRP Ledger functionality." -msgstr "" - -#: template/page-uses.html.jinja:375 -msgid "" -"Build digital wallets to store passwords and interact with various " -"blockchains to send and receive digital assets, including XRP." -msgstr "" - -#: template/page-uses.html.jinja:379 -msgid "" -"XRPL supports the issuance of IOUs that represent a currency of any " -"value, as well as non-fungible tokens (NFTs)." -msgstr "" - -#: template/page-uses.html.jinja:383 -msgid "" -"Build sophisticated exchanges where users can invest and trade crypto and" -" assets such as stocks, ETFs, and commodities." -msgstr "" - -#: template/page-uses.html.jinja:387 -msgid "" -"The XRPL supports gaming at high speed given its reliable throughput, low" -" fees, and sidechain interoperability." -msgstr "" - -#: template/page-uses.html.jinja:391 -msgid "" -"Build services and tools that help prevent and combat fraudulent activity" -" with the XRPL." -msgstr "" - -#: template/page-uses.html.jinja:395 -msgid "" -"Leverage the efficiency and speed of the XRP Ledger to move value all " -"over the globe." -msgstr "" - -#: template/page-uses.html.jinja:399 -msgid "" -"Support creators and their content directly leveraging the power of the " -"XRP Ledger." -msgstr "" - -#: template/page-uses.html.jinja:403 -msgid "" -"Use the XRP Ledger to tokenize carbon offsets as non-fungible tokens " -"(NFTs)." -msgstr "" - -#: template/page-uses.html.jinja:407 -msgid "" -"A private version of the XRP Ledger provides Central Banks a secure, " -"controlled, and flexible solution to issue and manage Central Bank Issued" -" Digital Currencies (CBDCs)." -msgstr "" - -#: template/page-uses.html.jinja:411 -msgid "" -"Use the XRP Ledger to build crypto custody and securely hold, store and " -"use your assets." -msgstr "" - -#: template/page-uses.html.jinja:415 -msgid "" -"Provide access to financial products and services replacing the " -"traditional role of financial institutions." -msgstr "" - -#: template/page-uses.html.jinja:431 -msgid "Businesses and developers 
      rely on the XRP Ledger" -msgstr "" - -#: template/page-uses.html.jinja:432 -msgid "Solving Real-World Problems" -msgstr "" - -#: template/page-uses.html.jinja:434 -msgid "" -"With intentional innovations, tools and documentation that accelerate " -"development and minimize time to market, XRP Ledger is used to create " -"solutions across an expansive range of industries and use cases." -msgstr "" - -#: template/page-uses.html.jinja:438 -msgid "Filter by Categories" -msgstr "" - -#: template/page-validator-domain-verifier.html.jinja:5 -msgid "Domain Verification Checker" -msgstr "" - -#: template/page-validator-domain-verifier.html.jinja:7 -msgid "" -"This tool allows you to verify that domain verification is properly configured." -msgstr "" - -#: template/page-validator-domain-verifier.html.jinja:8 -msgid "" -"Enter the manifest found in your validator-keys.json file. Do not confuse" -" this with your validator's secret key." -msgstr "" - -#: template/page-validator-domain-verifier.html.jinja:9 -msgid "To do this with the validator-keys-tool use the following command:" -msgstr "" - -#: template/page-validator-domain-verifier.html.jinja:14 -msgid "Your Manifest Here" -msgstr "" - -#: template/page-xrp-overview.html.jinja:26 -msgid "Your Questions About XRP, Answered" -msgstr "" - -#: template/page-xrp-overview.html.jinja:27 -msgid "XRP Overview" -msgstr "" - -#: template/page-xrp-overview.html.jinja:37 -msgid "#about-xrp" -msgstr "" - -#: template/page-xrp-overview.html.jinja:38 -msgid "About XRP" -msgstr "" - -#: template/page-xrp-overview.html.jinja:39 -msgid "#xrp-trading" -msgstr "" - -#: template/page-xrp-overview.html.jinja:40 -msgid "XRP in Trading" -msgstr "" - -#: template/page-xrp-overview.html.jinja:41 -msgid "#ripple" -msgstr "" - -#: template/page-xrp-overview.html.jinja:42 -msgid "Ripple vs. XRP" -msgstr "" - -#: template/page-xrp-overview.html.jinja:43 -msgid "#wallets" -msgstr "" - -#: template/page-xrp-overview.html.jinja:44 -msgid "XRP Wallets" -msgstr "" - -#: template/page-xrp-overview.html.jinja:45 -msgid "#exchanges" -msgstr "" - -#: template/page-xrp-overview.html.jinja:46 -msgid "XRP Exchanges" -msgstr "" - -#: template/page-xrp-overview.html.jinja:56 -msgid "What Is XRP?" -msgstr "" - -#: template/page-xrp-overview.html.jinja:57 -msgid "" -"XRP is a digital asset that’s native to the XRP Ledger—an open-source, " -"permissionless and decentralized blockchain technology." -msgstr "" - -#: template/page-xrp-overview.html.jinja:58 -msgid "" -"Created in 2012 specifically for payments, XRP can settle transactions on" -" the ledger in 3-5 seconds. It was built to be a better Bitcoin—faster, " -"cheaper and greener than any other digital asset." -msgstr "" - -#: template/page-xrp-overview.html.jinja:64 -msgid "XRP" -msgstr "" - -#: template/page-xrp-overview.html.jinja:65 -msgid "Bitcoin" -msgstr "" - -#: template/page-xrp-overview.html.jinja:70 -msgid "Fast" -msgstr "" - -#: template/page-xrp-overview.html.jinja:71 -msgid "3-5 seconds to settle" -msgstr "" - -#: template/page-xrp-overview.html.jinja:72 -msgid "500 seconds to settle" -msgstr "" - -#: template/page-xrp-overview.html.jinja:75 -msgid "Low-Cost" -msgstr "" - -#: template/page-xrp-overview.html.jinja:76 -msgid "$0.0002/tx" -msgstr "" - -#: template/page-xrp-overview.html.jinja:77 -msgid "$0.50/tx" -msgstr "" - -#: template/page-xrp-overview.html.jinja:80 -msgid "Scalable" -msgstr "" - -#: template/page-xrp-overview.html.jinja:81 -msgid "1,500 tx per second" -msgstr "" - -#: template/page-xrp-overview.html.jinja:82 -msgid "3 tx per second" -msgstr "" - -#: template/page-xrp-overview.html.jinja:85 -msgid "Sustainable" -msgstr "" - -#: template/page-xrp-overview.html.jinja:86 -msgid "Environmentally sustainable (negligible energy consumption)" -msgstr "" - -#: template/page-xrp-overview.html.jinja:87 -msgid "0.3% of global energy consumption" -msgstr "" - -#: template/page-xrp-overview.html.jinja:93 -msgid "" -"XRP can be sent directly without needing a central intermediary, making " -"it a convenient instrument in bridging two different currencies quickly " -"and efficiently. It is freely exchanged on the open market and used in " -"the real world for enabling cross-border payments and microtransactions." -msgstr "" - -#: template/page-xrp-overview.html.jinja:97 -msgid "Financial Institutions" -msgstr "" - -#: template/page-xrp-overview.html.jinja:98 -msgid "" -"Leverage XRP as a bridge currency to facilitate faster, more affordable " -"cross-border payments around the world." -msgstr "" - -#: template/page-xrp-overview.html.jinja:102 -msgid "Individual Consumers" -msgstr "" - -#: template/page-xrp-overview.html.jinja:103 -msgid "Use XRP to move different currencies around the world. " -msgstr "" - -#: template/page-xrp-overview.html.jinja:109 -msgid "The XRP Ledger was designed with sustainability in mind." -msgstr "" - -#: template/page-xrp-overview.html.jinja:110 -msgid "" -"Explore the impact of the world's first major, global, public carbon-" -"neutral blockchain." -msgstr "" - -#: template/page-xrp-overview.html.jinja:111 -msgid "Impact" -msgstr "" - -#: template/page-xrp-overview.html.jinja:117 -msgid "How Is XRP Used in Trading?" -msgstr "" - -#: template/page-xrp-overview.html.jinja:118 -msgid "XRP is traded on more than 100 markets and exchanges worldwide." -msgstr "" - -#: template/page-xrp-overview.html.jinja:119 -msgid "" -"XRP’s low transaction fees, reliability and high-speed enable traders to " -"use the digital asset as high-speed, cost-efficient and reliable " -"collateral across trading venues—seizing arbitrage " -"opportunities, servicing margin calls and managing general trading " -"inventory in real time." -msgstr "" - -#: template/page-xrp-overview.html.jinja:120 -msgid "" -"Because of the properties inherent to XRP and the ecosystem around it, " -"traders worldwide are able to shift collateral, bridge currencies and " -"switch from one crypto into another nearly instantly, across any exchange" -" on the planet." -msgstr "" - -#: template/page-xrp-overview.html.jinja:124 -msgid "What Is the Relationship Between Ripple and XRP?" -msgstr "" - -#: template/page-xrp-overview.html.jinja:125 -msgid "" -"Ripple is a " -"technology company that makes it easier to build a high-performance, " -"global payments business. XRP is a digital asset independent of this." -msgstr "" - -#: template/page-xrp-overview.html.jinja:126 -msgid "" -"There is a finite amount of XRP. All XRP is already in existence today—no" -" more than the original 100 billion can be created. The XRPL founders " -"gifted 80 billion XRP, the platform’s native currency, to Ripple. To " -"provide predictability to the XRP supply, Ripple has locked 55 billion " -"XRP (55% of the total possible supply) into a series of escrows using" -" the XRP Ledger itself. The XRPL's transaction processing rules, enforced" -" by the consensus protocol, control the release of the XRP." -msgstr "" - -#: template/page-xrp-overview.html.jinja:130 -msgid "" -"As of December " -"2017
      \n" -" 55B
      \n" -" XRP remains in escrow" -msgstr "" - -#: template/page-xrp-overview.html.jinja:153 -msgid "What Wallets Support XRP?" -msgstr "" - -#: template/page-xrp-overview.html.jinja:154 -msgid "" -"Digital wallets are pieces of software that allow people to send, " -"receive, and store cryptocurrencies, including XRP. There are two types " -"of digital wallets: hardware and software." -msgstr "" - -#: template/page-xrp-overview.html.jinja:157 -msgid "Software Wallets" -msgstr "" - -#: template/page-xrp-overview.html.jinja:162 -msgid "Towo" -msgstr "" - -#: template/page-xrp-overview.html.jinja:165 -msgid "Xumm" -msgstr "" - -#: template/page-xrp-overview.html.jinja:166 -msgid "https://trustwallet.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:168 -msgid "Trust Wallet" -msgstr "" - -#: template/page-xrp-overview.html.jinja:169 -msgid "https://gatehub.net/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:180 -msgid "Hardware Wallets" -msgstr "" - -#: template/page-xrp-overview.html.jinja:185 -msgid "Ledger" -msgstr "" - -#: template/page-xrp-overview.html.jinja:189 -msgid "Keystone" -msgstr "" - -#: template/page-xrp-overview.html.jinja:193 -msgid "Dcent" -msgstr "" - -#: template/page-xrp-overview.html.jinja:197 -msgid "Trezor" -msgstr "" - -#: template/page-xrp-overview.html.jinja:206 -#: template/page-xrp-overview.html.jinja:269 -msgid "" -"Disclaimer: This information is drawn from other sources on the internet." -" XRPL.org does not endorse or recommend any exchanges or make any " -"representations with respect to exchanges or the purchase or sale of " -"digital assets more generally. It’s advisable to conduct your own due " -"diligence before relying on any third party or third-party technology, " -"and providers may vary significantly in their compliance, data security, " -"and privacy practices." -msgstr "" - -#: template/page-xrp-overview.html.jinja:210 -msgid "What Exchanges Support XRP?" -msgstr "" - -#: template/page-xrp-overview.html.jinja:211 -msgid "" -"Exchanges are where people trade currencies. XRP is traded on more than " -"100 markets and exchanges worldwide." -msgstr "" - -#: template/page-xrp-overview.html.jinja:212 -msgid "" -"There are different types of exchanges that vary depending on the type of" -" market (spot, futures, options, swaps), and the type of security model " -"(custodial, non-custodial)." -msgstr "" - -#: template/page-xrp-overview.html.jinja:215 -msgid "Spot Exchanges" -msgstr "" - -#: template/page-xrp-overview.html.jinja:216 -msgid "" -"Spot exchanges allow people to buy and sell cryptocurrencies at current " -"(spot) market rates." -msgstr "" - -#: template/page-xrp-overview.html.jinja:219 -msgid "Futures, Options and Swap Exchanges" -msgstr "" - -#: template/page-xrp-overview.html.jinja:220 -msgid "" -"Futures, options and swap exchanges allow people to buy and sell " -"standardized contracts of cryptocurrency market rates in the future." -msgstr "" - -#: template/page-xrp-overview.html.jinja:223 -msgid "Custodial Exchanges" -msgstr "" - -#: template/page-xrp-overview.html.jinja:224 -msgid "" -"Custodial exchanges manage a user’s private keys, and publish centralized" -" order books of buyers and sellers." -msgstr "" - -#: template/page-xrp-overview.html.jinja:227 -msgid "Non-Custodial Exchanges" -msgstr "" - -#: template/page-xrp-overview.html.jinja:228 -msgid "" -"Non-custodial exchanges, also known as decentralized exchanges, do not " -"manage a user’s private keys, and publish decentralized order books of " -"buyers and sellers on a blockchain." -msgstr "" - -#: template/page-xrp-overview.html.jinja:231 -msgid "Top Exchanges, according to CryptoCompare" -msgstr "" - -#: template/page-xrp-overview.html.jinja:236 -msgid "Bitstamp" -msgstr "" - -#: template/page-xrp-overview.html.jinja:237 -msgid "https://www.kraken.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:239 -msgid "Kraken" -msgstr "" - -#: template/page-xrp-overview.html.jinja:240 -msgid "https://cex.io/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:242 -msgid "Cex.io" -msgstr "" - -#: template/page-xrp-overview.html.jinja:243 -msgid "https://www.liquid.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:245 -msgid "Liquid" -msgstr "" - -#: template/page-xrp-overview.html.jinja:246 -msgid "https://www.lmax.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:248 -msgid "LMAX" -msgstr "" - -#: template/page-xrp-overview.html.jinja:249 -msgid "https://www.bitfinex.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:251 -msgid "Bitfinex" -msgstr "" - -#: template/page-xrp-overview.html.jinja:252 -msgid "https://www.etoro.com/crypto/exchange/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:254 -msgid "eToro" -msgstr "" - -#: template/page-xrp-overview.html.jinja:255 -msgid "https://currency.com" -msgstr "" - -#: template/page-xrp-overview.html.jinja:257 -msgid "Currency.com" -msgstr "" - -#: template/page-xrp-overview.html.jinja:258 -msgid "https://bittrex.com/" -msgstr "" - -#: template/page-xrp-overview.html.jinja:260 -msgid "Bittrex" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:39 -msgid "The Business
      of Impact" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:53 -msgid "How the XRP Ledger works" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:54 -msgid "XRP Ledger Basics" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:56 -msgid "The XRP Ledger is a decentralized public blockchain built for business. " -msgstr "" - -#: template/page-xrpl-overview.html.jinja:57 -msgid "" -"The peer-to-peer network that manages the ledger is open to everyone. The" -" XRP Ledger is maintained by software engineers, server operators, users," -" and businesses–a global community working to solve problems and create " -"real-world value." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:59 -#: template/page-xrpl-overview.html.jinja:69 -msgid "Read Technical Docs" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:59 -#: template/page-xrpl-overview.html.jinja:69 -msgid "Watch Explainer Videos " -msgstr "" - -#: template/page-xrpl-overview.html.jinja:80 -msgid "How the Consensus Protocol works" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:81 -msgid "Consensus" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:83 -msgid "" -"To uphold performance, XRPL uses a consensus protocol. Designated servers" -" called validators, which " -"anyone can operate, come to an agreement on the order and outcome of XRP " -"transactions every three to five seconds." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:84 -msgid "" -"All servers in the network process each transaction according to the same" -" rules, and any transaction that follows the protocol is confirmed right " -"away. All transactions are public, and strong cryptography guarantees the" -" integrity of the system." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:85 -msgid "" -"Currently, over 120 validators are active on the ledger, operated by " -"universities, exchanges, businesses, and individuals. As the validator " -"pool grows, the consensus protocol ensures decentralization of the " -"blockchain over time." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:97 -msgid "A Sustainable Blockchain" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:98 -msgid "" -"Unlike most other blockchains, the XRP Ledger requires no mining and uses" -" negligible energy, key to long-term growth and stability." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:108 -msgid "Building with confidence on
      proven technology" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:109 -msgid "XRPL Today" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:111 -msgid "" -"With 10+ years of error-free functioning and enterprise companies as " -"champions, XRPL has established reliability." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:112 -msgid "" -"With the XRPL, these developers are building innovative blockchain " -"projects and applications across use cases including tokenization of " -"assets, online gaming, asset custody, NFTs, and DeFi." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:113 -msgid "Explore More" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:117 -msgid "Creating new value for long-term growth" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:118 -msgid "XRPL Tomorrow" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:120 -msgid "" -"As a community-led blockchain built for business, XRPL attracts companies" -" and developers driven to solve real problems and generate real value–now" -" and into the future." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:121 -msgid "" -"Significant investment in development, along with low transaction costs " -"and energy usage, is fueling growth and opening up a wide variety of use " -"cases at scale." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:128 -msgid "Watch the explainer video series to learn more about the XRP Ledger" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:129 -msgid "Tune In" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:138 -msgid "The Consensus Mechanism" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:146 -msgid "Nodes and Validators" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:154 -msgid "Sustainability of the XRP Ledger" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:159 -msgid "Watch Full Series on YouTube" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:167 -msgid "Tomorrow’s Blockchain Starts With You" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:168 -msgid "" -"XRP Ledger’s innovation relies on the shared community experience of " -"builders like you. If you’re ready to start your next big blockchain " -"project, explore the XRPL now and consider applying for funding on your " -"next blockchain project." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:169 -msgid "Explore XRPL Developer Funding" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:177 -msgid "Is XRPL a private blockchain, owned by Ripple?" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:178 -#, python-format -msgid "" -"No, the XRP Ledger is a decentralized, public blockchain. Any changes " -"that would impact transaction processing or consensus need to be approved" -" by at least 80%% of the network. Ripple is a contributor to the network," -" but its rights are the same as those of other contributors. In terms of " -"validation, there are 150+ validators on the network with 35+ on the " -"Unique Node List (see “What are Unique Node Lists (UNLs)?” in the Full " -"FAQ) — Ripple runs 6 of these nodes." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:179 -msgid "Isn’t Proof of Work the best validation mechanism?" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:180 -msgid "" -"Proof of Work (PoW) was the first mechanism to solve the double spend " -"problem without requiring a trusted 3rd party. However the XRP Ledger’s " -"consensus mechanism solves the same problem in a far faster, cheaper and " -"more energy efficient way." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:181 -msgid "How can a blockchain be sustainable?" -msgstr "" - -#: template/page-xrpl-overview.html.jinja:182 -msgid "" -"It’s been widely reported that Bitcoin’s energy consumption, as of 2021, " -"is equivalent to that used by Argentina, with much of the electricity " -"Bitcoin miners use coming from polluting sources. The XRP Ledger confirms" -" transactions through a “consensus” mechanism - which does not waste " -"energy like proof of work does - and leverages carbon offsets to be one of the first " -"truly carbon neutral blockchains." -msgstr "" - -#: template/page-xrpl-overview.html.jinja:198 -msgid "View Full FAQ" -msgstr "" - -#: template/pagetype-doc.html.jinja:51 -msgid "In this document" -msgstr "" - diff --git a/package-lock.json b/package-lock.json index 126263b8d7..827c22da5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@codemirror/view": "^6.22.2", "@docsearch/react": "^3.8.0", "@lezer/highlight": "^1.2.0", - "@redocly/realm": "0.103.1", + "@redocly/realm": "0.115.0", "@uiw/codemirror-themes": "4.21.21", "@uiw/react-codemirror": "^4.21.21", "@xrplf/isomorphic": "^1.0.0-beta.1", @@ -611,9 +611,9 @@ } }, "node_modules/@codemirror/lang-css": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.0.tgz", - "integrity": "sha512-CyR4rUNG9OYcXDZwMPvJdtb6PHbBDKUc/6Na2BIwZ6dKab1JQqKa4di+RNRY9Myn7JB81vayKwJeQ7jEdmNVDA==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.1.tgz", + "integrity": "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==", "license": "MIT", "dependencies": { "@codemirror/autocomplete": "^6.0.0", @@ -799,16 +799,16 @@ } }, "node_modules/@emotion/babel-plugin": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", - "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", - "@emotion/serialize": "^1.2.0", + "@emotion/serialize": "^1.3.3", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", @@ -836,14 +836,14 @@ } }, "node_modules/@emotion/cache": { - "version": "11.13.1", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", - "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", "license": "MIT", "dependencies": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.0", + "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } @@ -868,17 +868,17 @@ "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" }, "node_modules/@emotion/react": { - "version": "11.13.3", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz", - "integrity": "sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.12.0", - "@emotion/cache": "^11.13.0", - "@emotion/serialize": "^1.3.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", - "@emotion/utils": "^1.4.0", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, @@ -892,15 +892,15 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", - "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", "license": "MIT", "dependencies": { "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/unitless": "^0.10.0", - "@emotion/utils": "^1.4.1", + "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, @@ -922,18 +922,18 @@ "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", - "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/@emotion/utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", - "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", "license": "MIT" }, "node_modules/@emotion/weak-memoize": { @@ -1301,28 +1301,28 @@ "license": "MIT" }, "node_modules/@floating-ui/core": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", - "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.8" + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.11.tgz", - "integrity": "sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", "license": "MIT", "dependencies": { "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.8" + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", - "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", "license": "MIT" }, "node_modules/@hookstate/core": { @@ -1334,6 +1334,28 @@ "react": "^16.8.6 || ^17.0.0 || ^18.0.0" } }, + "node_modules/@hookstate/devtools": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@hookstate/devtools/-/devtools-4.0.3.tgz", + "integrity": "sha512-JjHxWDk5PXh7ZFlKScZOVIK19gJBGwIXvErl+PhR3aIuHwg5B+k0nzmcC6TXtdfwIQOQkCnuvj1asvv7uqCQfw==", + "license": "MIT", + "dependencies": { + "redux": "4.2.0", + "redux-devtools-extension": "2.13.9" + }, + "peerDependencies": { + "@hookstate/core": "^4.0.0" + } + }, + "node_modules/@hookstate/localstored": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@hookstate/localstored/-/localstored-4.0.2.tgz", + "integrity": "sha512-81dbUH6xnwbePby21NQN8zrmjvMA8tOYeOOLZXqRmRGKnhtcokjTJoRNMZugpC9P3/NnacllBZ5ZUt43nmrKkA==", + "license": "MIT", + "peerDependencies": { + "@hookstate/core": "^4.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -1428,9 +1450,9 @@ } }, "node_modules/@lezer/javascript": { - "version": "1.4.18", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.18.tgz", - "integrity": "sha512-Y8BeHOt4LtcxJgXwadtfSeWPrh0XzklcCHnCVT+vOsxqH4gWmunP2ykX+VVOlM/dusyVyiNfG3lv0f10UK+mgA==", + "version": "1.4.21", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.21.tgz", + "integrity": "sha512-lL+1fcuxWYPURMM/oFZLEDm0XuLN128QPV+VuGtKpeaOGdcl9F2LYC3nh1S9LkPqx9M0mndZFdXCipNAZpzIkQ==", "license": "MIT", "dependencies": { "@lezer/common": "^1.2.0", @@ -1439,9 +1461,9 @@ } }, "node_modules/@lezer/json": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.2.tgz", - "integrity": "sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.3.tgz", + "integrity": "sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==", "license": "MIT", "dependencies": { "@lezer/common": "^1.2.0", @@ -1458,9 +1480,9 @@ } }, "node_modules/@lezer/xml": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.5.tgz", - "integrity": "sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.6.tgz", + "integrity": "sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==", "license": "MIT", "dependencies": { "@lezer/common": "^1.2.0", @@ -1514,6 +1536,435 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz", + "integrity": "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.26.0.tgz", + "integrity": "sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/context-zone": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.26.0.tgz", + "integrity": "sha512-ckBEUKo7jZnZ2jARcntv365413cTe9Ra7uMQWvdk10K3tWOUsLnBG8dSMRbkaA+XL9hWGrZ1MMI8UXrwnbp0FA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/context-zone-peer-dep": "1.26.0", + "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/context-zone-peer-dep": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.26.0.tgz", + "integrity": "sha512-Mgdy0WsHR52h5AnN2nhZJrelDK6unOFr8aSn3ToETk6DLSOijayOi0M0SZM72qhWr7iFrJ1oxGEIK8uzVaSC8Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0", + "zone.js": "^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.26.0.tgz", + "integrity": "sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-http": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.53.0.tgz", + "integrity": "sha512-m7F5ZTq+V9mKGWYpX8EnZ7NjoqAU7VemQ1E2HAG+W/u0wpY1x0OmbxAXfGKFHCspdJk8UKlwPGrpcB8nay3P8A==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/otlp-exporter-base": "0.53.0", + "@opentelemetry/otlp-transformer": "0.53.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz", + "integrity": "sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.53.0", + "@types/shimmer": "^1.2.0", + "import-in-the-middle": "^1.8.1", + "require-in-the-middle": "^7.1.1", + "semver": "^7.5.2", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-document-load": { + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-document-load/-/instrumentation-document-load-0.40.0.tgz", + "integrity": "sha512-TG7J0gGG7mYGz/PbNSY+I7DfqZj3DznGgpnkCt6zU2OwNmjaW07TSrm1Jx4lRxq8MwV774iwGa1DXqgZC53Okw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "^1.8.0", + "@opentelemetry/instrumentation": "^0.53.0", + "@opentelemetry/sdk-trace-base": "^1.0.0", + "@opentelemetry/sdk-trace-web": "^1.15.0", + "@opentelemetry/semantic-conventions": "^1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-fetch": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.53.0.tgz", + "integrity": "sha512-Sayp/Oypr0lyTgOKide/Dz4ovqDWPdmazapCMyfsVpXpV9zrH2kbdO2vAKUMx9vF98vxsqcxXucf4z54WXWZ8A==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/instrumentation": "0.53.0", + "@opentelemetry/sdk-trace-web": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation-http": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz", + "integrity": "sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/instrumentation": "0.53.0", + "@opentelemetry/semantic-conventions": "1.27.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-xml-http-request": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.53.0.tgz", + "integrity": "sha512-vkALs8zdEUU3GnGvq1rzP0RK3+Fsk2jyzY6X/a+ibbo/miCmmeQNHX+fBRNs/3Offquj19M0qD+olNU9CJloqg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/instrumentation": "0.53.0", + "@opentelemetry/sdk-trace-web": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.53.0.tgz", + "integrity": "sha512-UCWPreGQEhD6FjBaeDuXhiMf6kkBODF0ZQzrk/tuQcaVDJ+dDQ/xhJp192H9yWnKxVpEjFrSSLnpqmX4VwX+eA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/otlp-transformer": "0.53.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/otlp-transformer": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.53.0.tgz", + "integrity": "sha512-rM0sDA9HD8dluwuBxLetUmoqGJKSAbWenwD65KY9iZhUxdBHRLrIdrABfNDP7aiTjcgK8XFyTn5fhDz7N+W6DA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.53.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-logs": "0.53.0", + "@opentelemetry/sdk-metrics": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0", + "protobufjs": "^7.3.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/propagator-b3": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.26.0.tgz", + "integrity": "sha512-vvVkQLQ/lGGyEy9GT8uFnI047pajSOVnZI2poJqVGD3nJ+B9sFGdlHNnQKophE3lHfnIH0pw2ubrCTjZCgIj+Q==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/propagator-jaeger": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.26.0.tgz", + "integrity": "sha512-DelFGkCdaxA1C/QA0Xilszfr0t4YbGd3DjxiCDPh34lfnFr+VkkrjV9S8ZTJvAzfdKERXhfOxIKBoGPJwoSz7Q==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.26.0.tgz", + "integrity": "sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-logs": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.53.0.tgz", + "integrity": "sha512-dhSisnEgIj/vJZXZV6f6KcTnyLDx/VuQ6l3ejuZpMpPlh9S1qMHiZU9NMmOkVkwwHkMy3G6mEBwdP23vUZVr4g==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.53.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.4.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.26.0.tgz", + "integrity": "sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz", + "integrity": "sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.26.0.tgz", + "integrity": "sha512-Fj5IVKrj0yeUwlewCRwzOVcr5avTuNnMHWf7GPc1t6WaT78J6CJyF3saZ/0RkZfdeNO8IcBl/bNcWMVZBMRW8Q==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/context-async-hooks": "1.26.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/propagator-b3": "1.26.0", + "@opentelemetry/propagator-jaeger": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-web": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.26.0.tgz", + "integrity": "sha512-sxeKPcG/gUyxZ8iB8X1MI8/grfSCGgo1n2kxOE73zjVaO9yW/7JuVC3gqUaWRjtZ6VD/V3lo2/ZSwMlm6n2mdg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz", + "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, "node_modules/@rc-component/portal": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", @@ -1533,9 +1984,9 @@ } }, "node_modules/@rc-component/trigger": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.3.tgz", - "integrity": "sha512-X1oFIpKoXAMXNDYCviOmTfuNuYxE4h5laBsyCqVAVMjNHxoF3/uiyA7XdegK1XbCvBbCZ6P6byWrEoDRpKL8+A==", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.6.tgz", + "integrity": "sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.2", @@ -1543,7 +1994,7 @@ "classnames": "^2.3.2", "rc-motion": "^2.0.0", "rc-resize-observer": "^1.3.1", - "rc-util": "^5.38.0" + "rc-util": "^5.44.0" }, "engines": { "node": ">=8.x" @@ -1570,62 +2021,132 @@ } }, "node_modules/@redocly/config": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.12.0.tgz", - "integrity": "sha512-bUznhqph3oOvaGgA6aLHdGg0Tff7CLwZxCCC4vs6rJv4hAStZQxX8Q9gf9WO0q/cn9Lz0qODpStFXfQLP3xBEQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.20.1.tgz", + "integrity": "sha512-TYiTDtuItiv95YMsrRxyCs1HKLrDPtTvpaD3+kDKXBnFDeJuYKZ+eHXpCr6YeN4inxfVBs7DLhHsQcs9srddyQ==", "license": "MIT" }, "node_modules/@redocly/graphql-docs": { - "version": "0.6.58", - "resolved": "https://registry.npmjs.org/@redocly/graphql-docs/-/graphql-docs-0.6.58.tgz", - "integrity": "sha512-470/S3tQ2YmsySVhoPTSaYND4K9X6sY12muqfDZdacoYOu59a1lIufmluYQZPfGkti6azeV0LO5GD8VpzLKq8g==", + "version": "0.7.14", + "resolved": "https://registry.npmjs.org/@redocly/graphql-docs/-/graphql-docs-0.7.14.tgz", + "integrity": "sha512-/23o5U735PyUl4iTs8WfKDzc0JfS+WJf33yMw6SN7//ufUhnW/1X46s6bzAnWUqiFFepsjTmwg1D2qEMz/HmUA==", "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@redocly/config": "0.12.0", + "@redocly/config": "0.20.0", "deepmerge": "^4.2.2", "marked": "^4.0.15" }, "peerDependencies": { - "@redocly/theme": "^0.44.0", + "@redocly/theme": "^0.48.0", "graphql": "^16.9.0", - "prismjs": "^1.29.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.21.1", "styled-components": "^5.3.11" } }, + "node_modules/@redocly/graphql-docs/node_modules/@redocly/config": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.20.0.tgz", + "integrity": "sha512-JECdp+JE04YsOQXnFKu1BP1H81yhpHOJhK8hYJje5yVh5gxZyw901rjWU/KSiZYrCsuBISjZSlDXnwHwKj5VcA==", + "license": "MIT" + }, "node_modules/@redocly/mock-server": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@redocly/mock-server/-/mock-server-0.1.3.tgz", - "integrity": "sha512-Hr8kESc5GS+D3NNd5asvZH9j6E59ZKv8d1VDSfVf7gIwDCU3caU4cOzuY+CQyOR+S8GRrlSInS1dVVKbJgZ+8A==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@redocly/mock-server/-/mock-server-0.2.5.tgz", + "integrity": "sha512-v/h2hDCoDdsSMQRF0dkSyJ0YHA+CI4e6K9RzfvPX75oQWjQc7y2+ZgUebXP9s5hKo9B3lj2w0ilEWBNe2gZZiw==", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@redocly/ajv": "8.11.2", - "@redocly/openapi-core": "1.25.3", - "ajv": "8.6.3", + "@redocly/openapi-core": "1.26.1", + "ajv": "8.17.1", "ajv-formats": "^2.1.1", "js-yaml": "4.1.0", - "openapi-sampler": "1.5.1", + "openapi-sampler": "1.6.1", "punycode": "2.3.0", "swagger2openapi": "^7.0.8", "ts-node": "^10.9.1", "yargs": "^17.5.1" } }, - "node_modules/@redocly/openapi-core": { - "version": "1.25.3", - "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.25.3.tgz", - "integrity": "sha512-dqJkyydgagW3FXX5cjtSUAnabsld4K6yq7RFgQ+ngI1m43PkEoSQt8pp+SfQDszSEoMbc7QKj8afbe7mZw17TA==", + "node_modules/@redocly/mock-server/node_modules/@redocly/config": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.17.1.tgz", + "integrity": "sha512-CEmvaJuG7pm2ylQg53emPmtgm4nW2nxBgwXzbVEHpGas/lGnMyN8Zlkgiz6rPw0unASg6VW3wlz27SOL5XFHYQ==", + "license": "MIT" + }, + "node_modules/@redocly/mock-server/node_modules/@redocly/openapi-core": { + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.26.1.tgz", + "integrity": "sha512-xRuVZqMVRFzqjbUCpOTra4tbnmQMWsya996omZMV3WgD084Z6OWB3FXflhAp93E/yAmbWlWZpddw758AyoaLSw==", "license": "MIT", "dependencies": { "@redocly/ajv": "^8.11.2", - "@redocly/config": "^0.11.0", + "@redocly/config": "^0.17.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.4", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "node-fetch": "^2.6.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=14.19.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@redocly/mock-server/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, + "node_modules/@redocly/mock-server/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@redocly/mock-server/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@redocly/openapi-core": { + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.27.1.tgz", + "integrity": "sha512-zQ47/A+Drk2Y75/af69MD3Oad4H9LxkUDzcm7XBkyLNDKIWQrDKDnS5476oDq77+zciymNxgMVtxxVXlnGS8kw==", + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.17.0", "colorette": "^1.2.0", "https-proxy-agent": "^7.0.4", "js-levenshtein": "^1.1.6", "js-yaml": "^4.1.0", - "lodash.isequal": "^4.5.0", "minimatch": "^5.0.1", "node-fetch": "^2.6.1", "pluralize": "^8.0.0", @@ -1637,9 +2158,9 @@ } }, "node_modules/@redocly/openapi-core/node_modules/@redocly/config": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.11.0.tgz", - "integrity": "sha512-vAc77vCuWsVgLx2LN02P6jqLBhHuot6O1LsSJEAAkWEvXARSGSQVon50QW7jlbCMg9OFTYYYRPN4W6K/YmnM3w==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.17.1.tgz", + "integrity": "sha512-CEmvaJuG7pm2ylQg53emPmtgm4nW2nxBgwXzbVEHpGas/lGnMyN8Zlkgiz6rPw0unASg6VW3wlz27SOL5XFHYQ==", "license": "MIT" }, "node_modules/@redocly/openapi-core/node_modules/colorette": { @@ -1681,28 +2202,26 @@ } }, "node_modules/@redocly/openapi-docs": { - "version": "3.3.23", - "resolved": "https://registry.npmjs.org/@redocly/openapi-docs/-/openapi-docs-3.3.23.tgz", - "integrity": "sha512-3H+6C8XAnRxiDcaqf7l309FnNB7egf0OKUcOu0ODGCZpeEEzpwFWXVn8uxTo7u6c8ujxn3X2gyEx3owmLDltmw==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@redocly/openapi-docs/-/openapi-docs-3.5.18.tgz", + "integrity": "sha512-PxamA0+Efqy9K/mCCIkjqTwqj3Uy+YGAHKx6Ou1dFbFidCZfYagG2RSUnsi1pZm4JGuwU3pz5inExhUt1WDKUQ==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@markdoc/markdoc": "0.4.0", - "@redocly/config": "0.12.0", - "@redocly/openapi-core": "1.25.3", - "@redocly/replay": "0.5.18", + "@redocly/config": "0.20.1", + "@redocly/openapi-core": "1.27.1", + "@redocly/replay": "0.9.0", "deepmerge": "^4.2.2", - "dompurify": "^2.0.12", + "dompurify": "2.5.4", "fast-deep-equal": "^3.1.3", "jotai": "^2.4.2", "json-pointer": "^0.6.2", "jstoxml": "^5.0.2", - "lunr": "^2.3.8", - "openapi-sampler": "^1.5.1", + "openapi-sampler": "^1.6.1", "path-browserify": "^1.0.1", "prismjs": "1.29.0", "react-router-dom": "^6.21.1", "slugify": "^1.4.4", - "stickyfill": "^1.1.1", "stringify-object": "^3.3.0", "styled-components": "^4.1.1 || ^5.3.11", "swagger2openapi": "^7.0.8", @@ -1739,36 +2258,50 @@ } }, "node_modules/@redocly/portal-plugin-mock-server": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@redocly/portal-plugin-mock-server/-/portal-plugin-mock-server-0.3.29.tgz", - "integrity": "sha512-2/YTL6ylpxTBlO1iqMEpg+nEeGCqT89aZrUzEFc8BObUx/HO+ZUgHg1D75/gEyDh9EnAsijxv/zkpEVETgctew==", + "version": "0.3.70", + "resolved": "https://registry.npmjs.org/@redocly/portal-plugin-mock-server/-/portal-plugin-mock-server-0.3.70.tgz", + "integrity": "sha512-5mUeq+id0AGiigUCix7W8Z2yWfwZlhKa45jfGdwu0eBL0BFX0I/H7cWqJyQ02zm+5fWmIT0HQBSA9041G7dQVg==", "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@redocly/config": "0.12.0", - "@redocly/mock-server": "0.1.3", - "@redocly/openapi-core": "1.25.3", - "@redocly/openapi-docs": "3.3.23" + "@redocly/config": "0.20.1", + "@redocly/mock-server": "0.2.5", + "@redocly/openapi-core": "1.27.1", + "@redocly/openapi-docs": "3.5.18" } }, "node_modules/@redocly/realm": { - "version": "0.103.1", - "resolved": "https://registry.npmjs.org/@redocly/realm/-/realm-0.103.1.tgz", - "integrity": "sha512-TBM6m/DUigc4JFesuFeCHrNa8ZoKMhZomzv3zVyIvSZxTaAyLcQ77fGczjYalP7Nv8THotj7jmn8MM6kL2lCdw==", + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@redocly/realm/-/realm-0.115.0.tgz", + "integrity": "sha512-fB38SdOHMYZ9SKc6wsszfTG0bOz78+i+on7+VNgcghUqyAAMIZG1rT5fJSAw7jT5BHefYTitjBny+zG7px6thw==", "license": "SEE LICENSE IN LICENSE", "dependencies": { "@babel/core": "7.23.5", "@cocalc/ansi-to-react": "7.0.0", "@markdoc/markdoc": "0.4.0", + "@opentelemetry/api": "1.9.0", + "@opentelemetry/context-zone": "1.26.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/exporter-trace-otlp-http": "0.53.0", + "@opentelemetry/instrumentation": "0.53.0", + "@opentelemetry/instrumentation-document-load": "0.40.0", + "@opentelemetry/instrumentation-fetch": "0.53.0", + "@opentelemetry/instrumentation-http": "0.53.0", + "@opentelemetry/instrumentation-xml-http-request": "0.53.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-trace-node": "1.26.0", + "@opentelemetry/sdk-trace-web": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0", "@redocly/ajv": "8.11.2", - "@redocly/config": "0.12.0", - "@redocly/graphql-docs": "0.6.58", - "@redocly/openapi-core": "1.25.3", - "@redocly/openapi-docs": "3.3.23", + "@redocly/config": "0.20.1", + "@redocly/graphql-docs": "0.7.14", + "@redocly/openapi-core": "1.27.1", + "@redocly/openapi-docs": "3.5.18", "@redocly/portal-legacy-ui": "0.1.1", - "@redocly/portal-plugin-mock-server": "0.3.29", - "@redocly/theme": "0.44.1", + "@redocly/portal-plugin-mock-server": "0.3.70", + "@redocly/theme": "0.48.0", "@redocly/xml-crypto": "3.0.1", - "@tanstack/react-query": "4.0.5", + "@shikijs/transformers": "^1.22.2", + "@tanstack/react-query": "5.62.3", "@wojtekmaj/react-datetimerange-picker": "5.0.2", "@xmldom/xmldom": "0.8.10", "babel-plugin-styled-components": "2.1.4", @@ -1782,7 +2315,7 @@ "flexsearch": "0.7.43", "graphql": "16.9.0", "gray-matter": "4.0.3", - "hono": "4.5.8", + "hono": "4.6.5", "htmlparser2": "8.0.2", "i18next": "22.4.15", "is-glob": "4.0.3", @@ -1791,13 +2324,12 @@ "minimatch": "7.4.2", "mri": "1.2.0", "mustache": "4.2.0", - "nanoid": "3.3.7", + "nanoid": "5.0.9", "node-fetch": "3.3.1", "nprogress": "0.2.0", "os-browserify": "0.3.0", "path-browserify": "1.0.1", "picomatch": "2.3.1", - "prismjs": "1.29.0", "react": "^18.2.0", "react-calendar": "4.2.1", "react-date-picker": "10.0.3", @@ -1808,14 +2340,16 @@ "react-table": "7.8.0", "reactjs-popup": "2.0.6", "semver": "7.6.0", + "shiki": "1.24.4", "simple-git": "3.20.0", "sitemap": "7.1.1", "stream-http": "3.2.0", "styled-components": "5.3.11", "tty-browserify": "0.0.1", "typesense": "1.8.2", + "ulid": "^2.3.0", "web-vitals": "3.3.1", - "ws": "^8.9.0", + "ws": "^8.17.1", "yaml-ast-parser": "0.0.43" }, "bin": { @@ -1884,9 +2418,9 @@ } }, "node_modules/@redocly/replay": { - "version": "0.5.18", - "resolved": "https://registry.npmjs.org/@redocly/replay/-/replay-0.5.18.tgz", - "integrity": "sha512-l7sHH7/LbtKvA55m6zQ8Z9NfE8QTUVP01K3dwVTG7EJ+RJDFTVFZzkph33T2uIF5gzxJBnUhCTKNIoZwkmWGZg==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@redocly/replay/-/replay-0.9.0.tgz", + "integrity": "sha512-EVA0QZ+wjX/PVARlfIhIK+IQ571PN1so2xg0KFUEZ/MzXNNiz7vebIJhBGf+20I19Q6KyqWt/dfusadFcZ7Yzg==", "dependencies": { "@codemirror/autocomplete": "^6.15.0", "@codemirror/lang-html": "^6.4.7", @@ -1896,10 +2430,12 @@ "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.25.1", "@hookstate/core": "^4.0.1", + "@hookstate/devtools": "^4.0.1", + "@hookstate/localstored": "^4.0.1", "@lezer/highlight": "^1.1.6", "@redocly/vscode-json-languageservice": "^3.4.9", "@tauri-apps/plugin-dialog": "2.0.0-beta.7", - "@tauri-apps/plugin-fs": "^2.0.0-beta.7", + "@tauri-apps/plugin-fs": "2.0.0-beta.8", "@uiw/codemirror-theme-material": "^4.21.20", "@uiw/react-codemirror": "^4.21.20", "crypto-js": "^4.2.0", @@ -1912,7 +2448,7 @@ "styled-components": "^5.3.11" }, "peerDependencies": { - "@redocly/theme": "0.44.1", + "@redocly/theme": "0.48.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.21.1", @@ -1920,16 +2456,18 @@ } }, "node_modules/@redocly/theme": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@redocly/theme/-/theme-0.44.1.tgz", - "integrity": "sha512-HRnoLLSFpHY/0P3ZjKYHd2RRzl7SINkf8QEEt7D8n22xj04RBPEtD+TfzgZgTDY8Z5oweOX6obkQunXWScZuLA==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@redocly/theme/-/theme-0.48.0.tgz", + "integrity": "sha512-zY5W1GQN3tMHJD5Ms/8idNGDXgyzVmhQVieZl91jV4yaXG0gIMtwy3B0L+zHgxvSly9wGOGFlh6T8cIhQ7SSeA==", "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@redocly/config": "0.12.0", + "@redocly/config": "0.20.0", "copy-to-clipboard": "3.3.3", + "file-saver": "2.0.5", "highlight-words-core": "1.2.2", "hotkeys-js": "3.10.1", "i18next": "22.4.15", + "jszip": "3.10.1", "nprogress": "0.2.0", "react-calendar": "4.2.1", "react-date-picker": "10.0.3", @@ -1937,8 +2475,8 @@ }, "peerDependencies": { "@markdoc/markdoc": "0.4.0", + "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1", - "prismjs": "^1.28.0", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "react-router-dom": "^6.21.1", @@ -1946,6 +2484,12 @@ "styled-system": "^5.1.5" } }, + "node_modules/@redocly/theme/node_modules/@redocly/config": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.20.0.tgz", + "integrity": "sha512-JECdp+JE04YsOQXnFKu1BP1H81yhpHOJhK8hYJje5yVh5gxZyw901rjWU/KSiZYrCsuBISjZSlDXnwHwKj5VcA==", + "license": "MIT" + }, "node_modules/@redocly/vscode-json-languageservice": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/@redocly/vscode-json-languageservice/-/vscode-json-languageservice-3.4.9.tgz", @@ -2012,6 +2556,194 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@shikijs/core": { + "version": "1.24.4", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.24.4.tgz", + "integrity": "sha512-jjLsld+xEEGYlxAXDyGwWsKJ1sw5Pc1pnp4ai2ORpjx2UX08YYTC0NNqQYO1PaghYaR+PvgMOGuvzw2he9sk0Q==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.24.4", + "@shikijs/engine-oniguruma": "1.24.4", + "@shikijs/types": "1.24.4", + "@shikijs/vscode-textmate": "^9.3.1", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "1.24.4", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.24.4.tgz", + "integrity": "sha512-TClaQOLvo9WEMJv6GoUsykQ6QdynuKszuORFWCke8qvi6PeLm7FcD9+7y45UenysxEWYpDL5KJaVXTngTE+2BA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.24.4", + "@shikijs/vscode-textmate": "^9.3.1", + "oniguruma-to-es": "0.8.1" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.24.4", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.24.4.tgz", + "integrity": "sha512-Do2ry6flp2HWdvpj2XOwwa0ljZBRy15HKZITzPcNIBOGSeprnA8gOooA/bLsSPuy8aJBa+Q/r34dMmC3KNL/zw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.24.4", + "@shikijs/vscode-textmate": "^9.3.1" + } + }, + "node_modules/@shikijs/langs": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.27.2.tgz", + "integrity": "sha512-MSrknKL0DbeXvhtSigMLIzjPOOQfvK7fsbcRv2NUUB0EvuTTomY8/U+lAkczYrXY2+dygKOapJKk8ScFYbtoNw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.27.2" + } + }, + "node_modules/@shikijs/langs/node_modules/@shikijs/types": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.27.2.tgz", + "integrity": "sha512-DM9OWUyjmdYdnKDpaGB/GEn9XkToyK1tqxuqbmc5PV+5K8WjjwfygL3+cIvbkSw2v1ySwHDgqATq/+98pJ4Kyg==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/langs/node_modules/@shikijs/vscode-textmate": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", + "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", + "license": "MIT" + }, + "node_modules/@shikijs/themes": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.27.2.tgz", + "integrity": "sha512-Yw/uV7EijjWavIIZLoWneTAohcbBqEKj6XMX1bfMqO3llqTKsyXukPp1evf8qPqzUHY7ibauqEaQchhfi857mg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.27.2" + } + }, + "node_modules/@shikijs/themes/node_modules/@shikijs/types": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.27.2.tgz", + "integrity": "sha512-DM9OWUyjmdYdnKDpaGB/GEn9XkToyK1tqxuqbmc5PV+5K8WjjwfygL3+cIvbkSw2v1ySwHDgqATq/+98pJ4Kyg==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/themes/node_modules/@shikijs/vscode-textmate": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", + "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", + "license": "MIT" + }, + "node_modules/@shikijs/transformers": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.27.2.tgz", + "integrity": "sha512-BJFeXP9/zlYidJocv2ShkOvXI22fepS2oK/vItfCbCcuJ0783eWgEn6/mMrXmk+p+Twu49ntDVQe665uy6RPWw==", + "license": "MIT", + "dependencies": { + "shiki": "1.27.2" + } + }, + "node_modules/@shikijs/transformers/node_modules/@shikijs/core": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.27.2.tgz", + "integrity": "sha512-ns1dokDr0KE1lQ9mWd4rqaBkhSApk0qGCK1+lOqwnkQSkVZ08UGqXj1Ef8dAcTMZNFkN6PSNjkL5TYNX7pyPbQ==", + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.27.2", + "@shikijs/engine-oniguruma": "1.27.2", + "@shikijs/types": "1.27.2", + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/transformers/node_modules/@shikijs/engine-javascript": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.27.2.tgz", + "integrity": "sha512-0JB7U5vJc16NShBdxv9hSSJYSKX79+32O7F4oXIxJLdYfomyFvx4B982ackUI9ftO9T3WwagkiiD3nOxOOLiGA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.27.2", + "@shikijs/vscode-textmate": "^10.0.1", + "oniguruma-to-es": "^2.0.0" + } + }, + "node_modules/@shikijs/transformers/node_modules/@shikijs/engine-oniguruma": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.27.2.tgz", + "integrity": "sha512-FZYKD1KN7srvpkz4lbGLOYWlyDU4Rd+2RtuKfABTkafAPOFr+J6umfIwY/TzOQqfNtWjL7SAwPAO0dcOraRLaQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.27.2", + "@shikijs/vscode-textmate": "^10.0.1" + } + }, + "node_modules/@shikijs/transformers/node_modules/@shikijs/types": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.27.2.tgz", + "integrity": "sha512-DM9OWUyjmdYdnKDpaGB/GEn9XkToyK1tqxuqbmc5PV+5K8WjjwfygL3+cIvbkSw2v1ySwHDgqATq/+98pJ4Kyg==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/transformers/node_modules/@shikijs/vscode-textmate": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", + "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", + "license": "MIT" + }, + "node_modules/@shikijs/transformers/node_modules/oniguruma-to-es": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.0.0.tgz", + "integrity": "sha512-pE7+9jQgomy10aK6BJKRNHj1Nth0YLOzb3iRuhlz4gRzNSBSd7hga6U8BE6o0SoSuSkqv+PPtt511Msd1Hkl0w==", + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^5.1.1", + "regex-recursion": "^5.1.1" + } + }, + "node_modules/@shikijs/transformers/node_modules/shiki": { + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.27.2.tgz", + "integrity": "sha512-QtA1C41oEVixKog+V8I3ia7jjGls7oCZ8Yul8vdHrVBga5uPoyTtMvFF4lMMXIyAZo5A5QbXq91bot2vA6Q+eQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.27.2", + "@shikijs/engine-javascript": "1.27.2", + "@shikijs/engine-oniguruma": "1.27.2", + "@shikijs/langs": "1.27.2", + "@shikijs/themes": "1.27.2", + "@shikijs/types": "1.27.2", + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/types": { + "version": "1.24.4", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.24.4.tgz", + "integrity": "sha512-0r0XU7Eaow0PuDxuWC1bVqmWCgm3XqizIaT7SM42K03vc69LGooT0U8ccSR44xP/hGlNx4FKhtYpV+BU6aaKAA==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^9.3.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.1.tgz", + "integrity": "sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==", + "license": "MIT" + }, "node_modules/@styled-system/background": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@styled-system/background/-/background-5.1.2.tgz", @@ -2128,39 +2860,29 @@ } }, "node_modules/@tanstack/query-core": { - "version": "4.36.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", - "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "version": "5.62.3", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.62.3.tgz", + "integrity": "sha512-Jp/nYoz8cnO7kqhOlSv8ke/0MJRJVGuZ0P/JO9KQ+f45mpN90hrerzavyTKeSoT/pOzeoOUkv1Xd0wPsxAWXfg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.0.5.tgz", - "integrity": "sha512-tIggVlhoFevVpY/LkZroPmrERFHN8tw4aZLtgwSArzHmMJ03WQcaNvbbHy6GERidXtaMdUz+IeQryrE7cO7WPQ==", + "version": "5.62.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.62.3.tgz", + "integrity": "sha512-y2zDNKuhgiuMgsKkqd4AcsLIBiCfEO8U11AdrtAUihmLbRNztPrlcZqx2lH1GacZsx+y1qRRbCcJLYTtF1vKsw==", + "license": "MIT", "dependencies": { - "@tanstack/query-core": "^4.0.0-beta.1", - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.2.0" + "@tanstack/query-core": "5.62.3" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "react": "^18 || ^19" } }, "node_modules/@tauri-apps/api": { @@ -2188,18 +2910,18 @@ } }, "node_modules/@tauri-apps/plugin-fs": { - "version": "2.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-fs/-/plugin-fs-2.0.0-rc.2.tgz", - "integrity": "sha512-TFjCfso3tN4b5s2EBjqP8N2gYrPh93Ds3VNKj8pCXv4wbvnItyfG0aHO0haUsedBOHQryDwv9vDAdPX6/T0a+g==", + "version": "2.0.0-beta.8", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-fs/-/plugin-fs-2.0.0-beta.8.tgz", + "integrity": "sha512-m0lLmEIHL6J+dH6A1lgIwQ7JYArgTlZORhUcl2xzeef18llMp6Gjs272jCMRAnYEREhu7Wd3zk7PxSR+DsLXYg==", "license": "MIT or APACHE-2.0", "dependencies": { - "@tauri-apps/api": "^2.0.0-rc.4" + "@tauri-apps/api": "^2.0.0-beta.16" } }, "node_modules/@tauri-apps/plugin-fs/node_modules/@tauri-apps/api": { - "version": "2.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.0.0-rc.5.tgz", - "integrity": "sha512-JWs69pE9NsQdcqTpEVBepAZ08+jgQWuthIiTiaWRq/YlCLgnqq0KfC9sDem55uJ0YpgsytZuyj+m6b6q8oiD2g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.2.0.tgz", + "integrity": "sha512-R8epOeZl1eJEl603aUMIGb4RXlhPjpgxbGVEaqY+0G5JG9vzV/clNlzTeqc+NLYXVqXcn8mb4c5b9pJIUDEyAg==", "license": "Apache-2.0 OR MIT", "funding": { "type": "opencollective", @@ -2230,6 +2952,15 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "license": "MIT" }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -2254,6 +2985,15 @@ "@types/mdurl": "*" } }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", @@ -2293,11 +3033,11 @@ } }, "node_modules/@types/react-transition-group": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.11.tgz", - "integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==", + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", "license": "MIT", - "dependencies": { + "peerDependencies": { "@types/react": "*" } }, @@ -2310,10 +3050,17 @@ "@types/node": "*" } }, - "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + "node_modules/@types/shimmer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", + "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==", + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/@uiw/codemirror-extensions-basic-setup": { "version": "4.23.0", @@ -2342,21 +3089,21 @@ } }, "node_modules/@uiw/codemirror-theme-material": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-material/-/codemirror-theme-material-4.23.3.tgz", - "integrity": "sha512-YTOymQJrhQETlfL3sElLKO+xIsdEdMFtqzJyErdB7N9OZfUSYEodaxadx04iKd1xMbpY+oncp5wp9GXEIlF3qw==", + "version": "4.23.7", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-material/-/codemirror-theme-material-4.23.7.tgz", + "integrity": "sha512-PSuPTPMA4/a6tiBmeAPLlxl98Ehk9D7WYab419PW664eHdzziTU6v9uqZ+nEtJvAwb7E5m2la+DhTndvttdiQA==", "license": "MIT", "dependencies": { - "@uiw/codemirror-themes": "4.23.3" + "@uiw/codemirror-themes": "4.23.7" }, "funding": { "url": "https://jaywcjlove.github.io/#/sponsor" } }, "node_modules/@uiw/codemirror-theme-material/node_modules/@uiw/codemirror-themes": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.23.3.tgz", - "integrity": "sha512-oUq2qoj+hMrR34Xhbp7S1P2elPtySWyzij97IwsZAdGZD/yS+c9+2yRSMYqtaWh7D9M4sJmwgU1lZibmwLZOfQ==", + "version": "4.23.7", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.23.7.tgz", + "integrity": "sha512-UNf1XOx1hG9OmJnrtT86PxKcdcwhaNhbrcD+nsk8WxRJ3n5c8nH6euDvgVPdVLPwbizsaQcZTILACgA/FjRpVg==", "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", @@ -2415,6 +3162,12 @@ "react-dom": ">=16.8.0" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==", + "license": "ISC" + }, "node_modules/@wojtekmaj/date-utils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@wojtekmaj/date-utils/-/date-utils-1.5.1.tgz", @@ -2486,9 +3239,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2497,6 +3250,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-walk": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", @@ -2510,27 +3272,24 @@ } }, "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } }, "node_modules/ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -2849,16 +3608,44 @@ "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -2915,6 +3702,16 @@ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2928,6 +3725,26 @@ "node": ">=4" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -2951,6 +3768,12 @@ "fsevents": "~2.3.2" } }, + "node_modules/cjs-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "license": "MIT" + }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -3031,6 +3854,16 @@ "node": ">= 0.8" } }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -3046,9 +3879,9 @@ } }, "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", "hasInstallScript": true, "license": "MIT", "peer": true, @@ -3060,8 +3893,7 @@ "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cosmiconfig": { "version": "7.1.0", @@ -3220,6 +4052,15 @@ "node": ">=0.4.0" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/detect-element-overflow": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/detect-element-overflow/-/detect-element-overflow-1.4.2.tgz", @@ -3229,6 +4070,19 @@ "url": "https://github.com/wojtekmaj/detect-element-overflow?sponsor=1" } }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -3286,9 +4140,9 @@ } }, "node_modules/dompurify": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.7.tgz", - "integrity": "sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==", + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.4.tgz", + "integrity": "sha512-l5NNozANzaLPPe0XaAwvg3uZcHtDBnziX/HjsY1UcDj1MxTK8Dd0Kv096jyPK5HRzs/XM5IMj20dW8Fk+HnbUA==", "license": "(MPL-2.0 OR Apache-2.0)" }, "node_modules/domutils": { @@ -3315,6 +4169,20 @@ "url": "https://dotenvx.com" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -3336,6 +4204,12 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "license": "MIT" + }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -3368,13 +4242,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -3388,6 +4259,18 @@ "node": ">= 0.4" } }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es6-promise": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", @@ -3512,6 +4395,44 @@ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "license": "MIT" }, + "node_modules/fast-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.5.tgz", + "integrity": "sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-xml-parser": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.1.tgz", + "integrity": "sha512-y655CeyUQ+jj7KBbYMc4FG01V8ZQqjN+gDYGJ50RtfsUB8iG9AmwmwoAgeKLJdmueKKMrH1RJ7yXHTSoczdv5w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -3540,6 +4461,12 @@ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==" }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -3670,16 +4597,21 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3694,6 +4626,19 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "license": "ISC" }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-user-locale": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/get-user-locale/-/get-user-locale-2.3.2.tgz", @@ -3735,12 +4680,12 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3860,22 +4805,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -3910,6 +4843,42 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-to-html": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.4.tgz", + "integrity": "sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/highlight-words-core": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz", @@ -3929,11 +4898,12 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/hono": { - "version": "4.5.8", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.5.8.tgz", - "integrity": "sha512-pqpSlcdqGkpTTRpLYU1PnCz52gVr0zVR9H5GzMyJWuKQLLEBQxh96q45QizJ2PPX8NATtz2mu31/PKW/Jt+90Q==", + "version": "4.6.5", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.6.5.tgz", + "integrity": "sha512-qsmN3V5fgtwdKARGLgwwHvcdLKursMd+YOt69eGpl1dUCJb8mCd7hZfyZnBYjxCegBG7qkJRQRUy2oO25yHcyQ==", + "license": "MIT", "engines": { - "node": ">=16.0.0" + "node": ">=16.9.0" } }, "node_modules/hosted-git-info": { @@ -3948,6 +4918,16 @@ "integrity": "sha512-mshqjgTqx8ee0qryHvRgZaZDxTwxam/2yTQmQlqAWS3+twnq1jsY9Yng9zB7lWq6WRrjTbTOc7knNwccXQiAjQ==", "license": "MIT" }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/htmlparser2": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", @@ -4128,12 +5108,12 @@ "license": "MIT" }, "node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -4163,6 +5143,12 @@ "@babel/runtime": "^7.20.6" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -4179,6 +5165,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-in-the-middle": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.12.0.tgz", + "integrity": "sha512-yAgSE7GmtRcu4ZUSFX/4v69UGXwugFFSdIQJ14LHPOPPQrWv8Y7O9PHsw8Ovk7bKCLe4sjXMbZFqGFcLHpZ89w==", + "license": "Apache-2.0", + "dependencies": { + "acorn": "^8.8.2", + "acorn-import-attributes": "^1.9.5", + "cjs-module-lexer": "^1.2.2", + "module-details-from-path": "^1.0.3" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -4194,13 +5192,13 @@ } }, "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4277,12 +5275,15 @@ } }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4319,6 +5320,24 @@ "node": ">=0.10.0" } }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", @@ -4329,12 +5348,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -4355,6 +5374,12 @@ "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", "dev": true }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -4362,9 +5387,9 @@ "dev": true }, "node_modules/jotai": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.10.0.tgz", - "integrity": "sha512-8W4u0aRlOIwGlLQ0sqfl/c6+eExl5D8lZgAUolirZLktyaj4WnxO/8a0HEPmtriQAB6X5LMhXzZVmw02X0P0qQ==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.11.0.tgz", + "integrity": "sha512-zKfoBBD1uDw3rljwHkt0fWuja1B76R7CjznuBO+mSX6jpsO1EBeWNRKpeaQho9yPI/pvCv4recGfgOXGxwPZvQ==", "license": "MIT", "engines": { "node": ">=12.20.0" @@ -4596,6 +5621,48 @@ "integrity": "sha512-p/Uyi1nSlAcOL+FbWCbTLAHtMbk/QlPMAE/wRLek7W8646jWII3GtLEKSBzf97UitieRWj1VZcbZxs8arq2nbg==", "license": "MIT" }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -4616,6 +5683,15 @@ "node": ">=0.10.0" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -4673,11 +5749,12 @@ "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", "dev": true }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "license": "MIT" + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT", + "peer": true }, "node_modules/lodash.throttle": { "version": "4.1.1", @@ -4699,6 +5776,12 @@ "url": "https://tidelift.com/funding/github/npm/loglevel" } }, + "node_modules/long": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.4.tgz", + "integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==", + "license": "Apache-2.0" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4735,12 +5818,6 @@ "node": ">=12" } }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "license": "MIT" - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -4780,6 +5857,36 @@ "node": ">= 12" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mem": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", @@ -4802,6 +5909,95 @@ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", "license": "MIT" }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -4845,6 +6041,12 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/module-details-from-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", + "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==", + "license": "MIT" + }, "node_modules/moment": { "version": "2.30.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", @@ -4875,20 +6077,21 @@ } }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz", + "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { - "nanoid": "bin/nanoid.cjs" + "nanoid": "bin/nanoid.js" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": "^18 || >=20" } }, "node_modules/node-domexception": { @@ -5092,9 +6295,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -5103,13 +6306,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/oniguruma-to-es": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.8.1.tgz", + "integrity": "sha512-dekySTEvCxCj0IgKcA2uUCO/e4ArsqpucDPcX26w9ajx+DvMWLc5eZeJaRQkd7oC/+rwif5gnT900tA34uN9Zw==", + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^5.0.2", + "regex-recursion": "^5.0.0" + } + }, "node_modules/openapi-sampler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.5.1.tgz", - "integrity": "sha512-tIWIrZUKNAsbqf3bd9U1oH6JEXo8LNYuDlXw26By67EygpjT+ArFnsxxyTMjFWRfbqo5ozkvgSQDK69Gd8CddA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.1.tgz", + "integrity": "sha512-s1cIatOqrrhSj2tmJ4abFYZQK6l5v+V4toO5q1Pa0DyN8mtyqy2I+Qrj5W9vOELEtybIMQs/TBZGVO/DtTFK8w==", "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.7", + "fast-xml-parser": "^4.5.0", "json-pointer": "0.6.2" } }, @@ -5139,6 +6354,12 @@ "node": ">=4" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -5331,6 +6552,12 @@ "node": ">=6" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5346,6 +6573,40 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -5375,14 +6636,14 @@ } }, "node_modules/rc-motion": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.3.tgz", - "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.5.tgz", + "integrity": "sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", - "rc-util": "^5.43.0" + "rc-util": "^5.44.0" }, "peerDependencies": { "react": ">=16.9.0", @@ -5390,14 +6651,14 @@ } }, "node_modules/rc-resize-observer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", - "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.3.tgz", + "integrity": "sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.7", "classnames": "^2.2.1", - "rc-util": "^5.38.0", + "rc-util": "^5.44.1", "resize-observer-polyfill": "^1.5.1" }, "peerDependencies": { @@ -5406,14 +6667,15 @@ } }, "node_modules/rc-tooltip": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.1.tgz", - "integrity": "sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.4.0.tgz", + "integrity": "sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.1" + "classnames": "^2.3.1", + "rc-util": "^5.44.3" }, "peerDependencies": { "react": ">=16.9.0", @@ -5421,9 +6683,9 @@ } }, "node_modules/rc-util": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", - "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "version": "5.44.3", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.44.3.tgz", + "integrity": "sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", @@ -5931,6 +7193,25 @@ "node": ">=8.10.0" } }, + "node_modules/redux": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz", + "integrity": "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-devtools-extension": { + "version": "2.13.9", + "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.9.tgz", + "integrity": "sha512-cNJ8Q/EtjhQaZ71c8I9+BPySIBVEKssbPpskBfsXqb8HJ002A3KRVHfeRzwRo6mGPqsm7XuHTqNSNeS1Khig0A==", + "deprecated": "Package moved to @redux-devtools/extension.", + "license": "MIT", + "peerDependencies": { + "redux": "^3.1.0 || ^4.0.0" + } + }, "node_modules/reftools": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", @@ -5945,6 +7226,31 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, + "node_modules/regex": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-5.1.1.tgz", + "integrity": "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-5.1.1.tgz", + "integrity": "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==", + "license": "MIT", + "dependencies": { + "regex": "^5.1.1", + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -6009,6 +7315,20 @@ "node": ">=0.10.0" } }, + "node_modules/require-in-the-middle": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.4.0.tgz", + "integrity": "sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", @@ -6103,6 +7423,23 @@ } ] }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -6212,11 +7549,37 @@ "node": ">= 0.4" } }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" }, + "node_modules/shiki": { + "version": "1.24.4", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.24.4.tgz", + "integrity": "sha512-aVGSFAOAr1v26Hh/+GBIsRVDWJ583XYV7CuNURKRWh9gpGv4OdbisZGq96B9arMYTZhTQkmRF5BrShOSTvNqhw==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.24.4", + "@shikijs/engine-javascript": "1.24.4", + "@shikijs/engine-oniguruma": "1.24.4", + "@shikijs/types": "1.24.4", + "@shikijs/vscode-textmate": "^9.3.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==", + "license": "BSD-2-Clause" + }, "node_modules/should": { "version": "13.2.3", "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", @@ -6272,15 +7635,69 @@ "license": "MIT" }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -6358,6 +7775,16 @@ "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -6420,11 +7847,6 @@ "node": ">=0.10.0" } }, - "node_modules/stickyfill": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", - "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==" - }, "node_modules/stream-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", @@ -6458,6 +7880,20 @@ "node": ">=8" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -6492,6 +7928,12 @@ "node": ">=0.10.0" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "license": "MIT" + }, "node_modules/style-mod": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", @@ -6686,7 +8128,18 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, "node_modules/ts-node": { "version": "10.9.2", @@ -6738,9 +8191,9 @@ "license": "MIT" }, "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tty-browserify": { @@ -6767,9 +8220,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "license": "Apache-2.0", "peer": true, "bin": { @@ -6796,12 +8249,89 @@ "@babel/runtime": "^7.23.2" } }, + "node_modules/ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "license": "MIT", + "bin": { + "ulid": "bin/cli.js" + } + }, "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "license": "MIT" }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", @@ -6844,6 +8374,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -6880,12 +8411,12 @@ "license": "MIT" }, "node_modules/url/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -6895,12 +8426,12 @@ } }, "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz", + "integrity": "sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==", "license": "MIT", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -6930,14 +8461,6 @@ } } }, - "node_modules/use-sync-external-store": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", - "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", @@ -6996,6 +8519,34 @@ "extsprintf": "^1.2.0" } }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vscode-languageserver-textdocument": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", @@ -7046,27 +8597,30 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "for-each": "^0.3.3", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -7273,6 +8827,22 @@ "engines": { "node": ">=6" } + }, + "node_modules/zone.js": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz", + "integrity": "sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==", + "license": "MIT" + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index 33d14c3fdd..b1370f591e 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "@codemirror/view": "^6.22.2", "@docsearch/react": "^3.8.0", "@lezer/highlight": "^1.2.0", - "@redocly/realm": "0.103.1", + "@redocly/realm": "0.115.0", "@uiw/codemirror-themes": "4.21.21", "@uiw/react-codemirror": "^4.21.21", "@xrplf/isomorphic": "^1.0.0-beta.1", diff --git a/redirects.yaml b/redirects.yaml index 09dbc174fa..c7ad335f04 100644 --- a/redirects.yaml +++ b/redirects.yaml @@ -22,6 +22,9 @@ /docs/tutorials/how-tos/use-specialized-payment-types/use-checks/use-checks: to: /docs/tutorials/how-tos/use-specialized-payment-types/use-checks type: 301 +/docs/references/http-websocket-apis/public-api-methods/clio-server: + to: /docs/references/http-websocket-apis/public-api-methods/clio-methods + type: 301 /docs/references/protocol/transactions/transaction-results/transaction-results: to: /docs/references/protocol/transactions/transaction-results type: 301 @@ -43,6 +46,9 @@ xrp-testnet-faucet.html: xrp-test-net-faucet.html: to: /resources/dev-tools/xrp-faucets type: 301 +/resources/xrp-faucets: + to: /resources/dev-tools/xrp-faucets + type: 301 tx-sender.html: to: /resources/dev-tools/tx-sender type: 301 @@ -127,8 +133,11 @@ get-started.html: run-rippled-as-a-wallet-server.html: to: /docs/infrastructure/configuration/server-modes/run-rippled-as-a-stock-server type: 301 +faq: + to: /about/faq + type: 301 faq.html: - to: /faq + to: /about/faq type: 301 privacy-policy.html: to: /about/privacy-policy @@ -137,7 +146,7 @@ privacy-policy/: to: /about/privacy-policy type: 301 technical-faq.html: - to: /faq + to: /about/faq type: 301 introduction.html: to: /docs/introduction/ @@ -1636,6 +1645,19 @@ report-a-scam.html: wallets.html: to: /docs/introduction/crypto-wallets type: 301 +blog/2014: + to: /blog + type: 301 +blog/2015: + to: /blog + type: 301 + +blog/2020: + to: /blog + type: 301 +blog/2021: + to: /blog + type: 301 blog/2024/rippled-2.2.0.html: to: /blog/2024/rippled-2.2.0 type: 301 @@ -2287,6 +2309,9 @@ blog/2023.html: blog/2024.html: to: /blog/ type: 301 +blog/label/developer-reflections.html: + to: /blog/ + type: 301 code_of_conduct/: to: /code-of-conduct type: 301 @@ -2337,6 +2362,9 @@ code_of_conduct.ja: /ja/xrp-test-net-faucet.html: to: /ja/resources/dev-tools/xrp-faucets type: 301 +/ja/resources/xrp-test-net-faucets: + to: /ja/resources/dev-tools/xrp-faucets + type: 301 /ja/tx-sender.html: to: /ja/resources/dev-tools/tx-sender type: 301 @@ -2367,6 +2395,9 @@ code_of_conduct.ja: /ja/impact.html: to: /ja/about/impact type: 301 +/ja/impact: + to: /ja/about/impact + type: 301 /ja/carbon-calculator.html: to: /ja/about/impact type: 301 @@ -2422,7 +2453,10 @@ code_of_conduct.ja: to: /ja/docs/infrastructure/configuration/server-modes/run-rippled-as-a-stock-server type: 301 /ja/faq.html: - to: /ja/faq + to: /ja/about/faq + type: 301 +/ja/faq: + to: /ja/about/faq type: 301 /ja/privacy-policy.html: to: /ja/about/privacy-policy @@ -2431,7 +2465,7 @@ code_of_conduct.ja: to: /ja/about/privacy-policy type: 301 /ja/technical-faq.html: - to: /ja/faq + to: /ja/about/faq type: 301 /ja/introduction.html: to: /ja/docs/introduction/ @@ -2815,7 +2849,7 @@ code_of_conduct.ja: to: /ja/docs/tutorials/python/get-started type: 301 /ja/docs/tutorials/python/get-started/: - to: /jadocs/tutorials/python/build-apps/get-started/ + to: /ja/docs/tutorials/python/build-apps/get-started/ type: 301 /ja/modular-tutorials-in-python.html: to: /ja/docs/tutorials/python/ @@ -2857,10 +2891,10 @@ code_of_conduct.ja: to: /ja/docs/tutorials/javascript/build-apps/get-started type: 301 /ja/docs/tutorials/javascript/get-started: - to: /jadocs/tutorials/javascript/build-apps/get-started/ + to: /ja/docs/tutorials/javascript/build-apps/get-started/ type: 301 /ja/docs/tutorials/javascript/get-started/: - to: /jadocs/tutorials/javascript/build-apps/get-started/ + to: /ja/docs/tutorials/javascript/build-apps/get-started/ type: 301 /ja/get-started-using-node-js.html: to: /ja/docs/tutorials/javascript/build-apps/get-started @@ -2914,10 +2948,10 @@ code_of_conduct.ja: to: /ja/docs/tutorials/javascript/build-apps/build-a-browser-wallet-in-javascript/ type: 301 /ja/docs/tutorials/javascript/build-a-browser-wallet-in-javascript: - to: /jadocs/tutorials/javascript/build-apps/build-a-browser-wallet-in-javascript/ + to: /ja/docs/tutorials/javascript/build-apps/build-a-browser-wallet-in-javascript/ type: 301 /ja/docs/tutorials/javascript/build-a-browser-wallet-in-javascript/: - to: /jadocs/tutorials/javascript/build-apps/build-a-browser-wallet-in-javascript/ + to: /ja/docs/tutorials/javascript/build-apps/build-a-browser-wallet-in-javascript/ type: 301 /ja/build-a-desktop-wallet-in-javascript.html: to: /ja/docs/tutorials/javascript/build-apps/build-a-desktop-wallet-in-javascript diff --git a/redocly.yaml b/redocly.yaml index efbb2b3790..79ceaad645 100644 --- a/redocly.yaml +++ b/redocly.yaml @@ -13,6 +13,15 @@ l10n: name: 日本語 redirects: $ref: redirects.yaml +responseHeaders: + '**': + - name: X-Frame-Options + value: DENY + - name: Content-Security-Policy + value: frame-ancestors 'none' + '/@l10n/es-ES/**': + - name: X-Robots-Tag + value: noindex seo: siteUrl: https://xrpl.org/ rbac: @@ -68,7 +77,7 @@ markdown: footer: logo: hide: true - copyrightText: © 2024 XRP Ledger. Open Source. + copyrightText: © 2025 XRP Ledger. Open Source. items: - group: About groupTranslationKey: footer.about diff --git a/resources/code-samples.page.tsx b/resources/code-samples.page.tsx index 2375d1b9f4..c578ec1250 100644 --- a/resources/code-samples.page.tsx +++ b/resources/code-samples.page.tsx @@ -29,7 +29,7 @@ export default function CodeSamples() { const { codeSamples, langs } = usePageSharedData('code-samples'); return ( -
      +
      @@ -126,6 +126,6 @@ export default function CodeSamples() {
      -
      + ); } diff --git a/resources/contribute-code/create-custom-transactors.md b/resources/contribute-code/create-custom-transactors.md index abfd3f62a2..c0a80ff215 100644 --- a/resources/contribute-code/create-custom-transactors.md +++ b/resources/contribute-code/create-custom-transactors.md @@ -21,8 +21,8 @@ Transactors follow a basic order of operations: This tutorial uses the existing `CreateCheck` transactor as an example. You can view the source files here: -- [Header File](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.h) -- [CPP File](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/CreateCheck.cpp) +- [Header File](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.h) +- [CPP File](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp) ## Header File diff --git a/resources/contribute-documentation/index.md b/resources/contribute-documentation/index.md index 761774ac26..d0cc05fad7 100644 --- a/resources/contribute-documentation/index.md +++ b/resources/contribute-documentation/index.md @@ -103,19 +103,25 @@ Use the following conventions when creating a page: When documenting a new feature, include a badge indicating the version of the program when the feature was introduced. The badge tag takes the structure: -`{badge href="myurl" date=""} New in: {% /badge%}` +
      
      +{% badge href="url" date="date of release" %}New in: program version{% /badge%}
      +
      For example, the following badge definition: -`{% badge href="https://github.com/XRPLF/clio/releases/tag/2.0.0" date="February 18, 2024" %}New in: Clio v2.0.0{% /badge %}` +
      
      +{% badge href="https://github.com/XRPLF/clio/releases/tag/2.0.0" date="February 18, 2024" %}New in: Clio v2.0.0{% /badge %}
      +
      -renders as {% badge href="https://github.com/XRPLF/clio/releases/tag/1.1.0" date="February 18, 2024" %}New in: Clio v2.0.0{% /badge %}. +renders as {% badge href="https://github.com/XRPLF/clio/releases/tag/2.0.0" date="February 18, 2024" %}New in: Clio v2.0.0{% /badge %}. When updating a feature, replace _New in:_ with _Updated in:_. For example, the following badge definition: `{% badge href="https://github.com/XRPLF/clio/releases/tag/2.1.0" date="May 4, 2024" %} Updated in: Clio v2.1.0{% /badge %}` -renders as {% badge href="https://github.com/XRPLF/clio/releases/tag/2.1.0" date="May 4, 2024" %} Updated in: Clio v2.1.0{% /badge %}. +renders as {% badge href="https://github.com/XRPLF/clio/releases/tag/2.1.0" date="May 4, 2024" %}Updated in: Clio v2.1.0{% /badge %}. + +Some phrases automatically set the color of the badge, or you can add a color parameter such as `color="purple"` to the tag to set the color explicitly. It is a best practice to remove any new/updated badges more than 2 years old. @@ -176,11 +182,7 @@ navigation: --- ``` -## Markdoc Components - -The files are processed with [Markdoc](https://markdoc.dev/), which means they can contain special tags in `{% ... %}` syntax. In addition to Redocly's built-in tags, this repository has some custom tags defined in `/@theme/markdoc/`. - -### Graphics +## Graphics Store your graphics in the `/docs/img` directory. Embed graphics using the syntax: @@ -190,7 +192,7 @@ For example, `![XRPL Foundation Logo](/docs/img/xrplf-logo.png)` renders as foll ![XRPL Foundation Logo](/docs/img/xrplf-logo.png) -### Videos +## Videos Videos are stored on YouTube. Once uploaded, you can copy the embed instructions and paste them into your document. @@ -284,7 +286,7 @@ The left column is bold by default. If you don't want a bold label in the left c Use these basic tables whenever possible. If you genuinely require special formatting not provided by the examples above, you can create a table using HTML syntax. -### Links +## Links Links use the syntax `[]()`. @@ -300,7 +302,7 @@ See [XRPL.org](http://xrpl.org) for solutions to all the world's problems. To make it easier to link to pages that are commonly cited, you can add a `{% raw-partial file="/docs/_snippets/common-links.md /%}` tag to a Markdown file, and then use centrally defined reference-style links such as `[account_info method][]` or `[Payment transaction][]`. The contents of the common-links file are in alphabetical order. (They were first generated by script, but are maintained manually.) -### Code Samples +## Code Samples Format method names and other code structures inline enclosing the code in backtick (`) characters. For example: @@ -314,14 +316,16 @@ For longer code blocks, use three backtics (```) followed by the lan For example: -```javascript
      -    const prepared = await client.autofill({
      -      "TransactionType": "Payment",
      -      "Account": standby_wallet.address,
      -      "Amount": xrpl.xrpToDrops(sendAmount),
      -      "Destination": standbyDestinationField.value
      -  }) -``` +
      
      +```javascript
      +const prepared = await client.autofill({
      +    "TransactionType": "Payment",
      +    "Account": standby_wallet.address,
      +    "Amount": xrpl.xrpToDrops(sendAmount),
      +    "Destination": standbyDestinationField.value
      +})
      +```
      +
      renders as @@ -334,6 +338,14 @@ renders as }) ``` +## Markdoc Components + +The files are processed with [Markdoc](https://markdoc.dev/), which means they can contain special tags in `{% ... %}` syntax. In addition to Redocly's built-in tags, this repository has some custom tags defined in `/@theme/markdoc/`. + +### Badges + +See [New Features](#new-features). + ### Partials If you have text that you use frequently, or text that requires periodic update in a number of places in the documentation, you can create a _snippet file for reuse. @@ -371,4 +383,78 @@ There I was, happy as a lark, skipping through the daisies, when I shyly handed Alas, if only I had heeded that sage advice, I would not rue the day as I do today. +### Not-Enabled Badge + +The `{% not-enabled /%}` Markdoc component displays a yellow flask icon with a tooltip about how the feature is not available on the production XRP Ledger. Use this when discussing amendments that are open for voting but not currently enabled. Example: {% not-enabled /%} + +This tag is self-closing, and it takes no parameters. + +### Repo Link + +This tag links to a particular file in the source code repository for this site, usually a code sample. For example: + +
      
      +{% repo-link path="_code-samples/build-a-desktop-wallet/js/1_ledger-index.js" %}`1-ledger-index/index.js`{% /repo-link %}
      +
      + +becomes: {% repo-link path="_code-samples/build-a-desktop-wallet/js/1_ledger-index.js" %}`1-ledger-index/index.js`{% /repo-link %} + +If you are working from a fork or branch of the site, all such links can be updated at once with a site configuration change. + + +### Try It + +The `{% try-it ... /%}` Markdoc tag provides a convenient shortcut for linking to the WebSocket tool as a button. This tag is self-closing. +Example: + +{% try-it method="account_currencies" server="testnet" /%} + +Example syntax: + +
      
      +{% try-it method="account_currencies" server="testnet" /%}
      +
      + +The text of the button is normally "Try it!" in English, and can be translated by setting the `component.tryit` key in the localization's `translations.yaml` file. + +This tag takes the following parameters: + +| Parameter | Required? | Description | +|---|---|---| +| `method` | Yes | The ID of the anchor to use on the WebSocket Tool page. For most WebSocket API methods, this is the API method exactly, but it could contain more. For example, different `ledger_entry` variations use a suffix like `ledger_entry-nft-page`. If you are documenting a new method, you must also add that method to the WebSocket tool by editing `/resources/dev-tools/components/websocket-api/data/command-list.json`. | +| `server` | No | A specific server to use for the request. You may want to specify the server if a method is specific to Clio or `rippled` servers, or if the example uses data or amendments that are only on a specific test network. | + +The values you can provide to the `server` parameter are as follows: + +| `server` value | Server to use | +|---|---| +| (Omitted) | The WebSocket tool's default server (currently s1.ripple.com) | +| `s1` | Ripple's s1.ripple.com Mainnet public cluster, typically served by Clio servers. | +| `s2` | Ripple's s2.ripple.com Mainnet full-history public cluster, typically served by Clio servers. | +| `xrplcluster` | The `xrplcluster.com` cluster of public servers, typically served by `rippled` servers with a lightweight proxy in front. | +| `devnet` | The `s.altnet.rippletest.net` cluster of Testnet servers. | +| `testnet` | The `s.devnet.rippletest.net` cluster of Devnet servers. | + +### Tx Example + +The `{% tx-example ... /%}` Markdoc tag provides a convenient shortcut for linking to the WebSocket tool as a button with a body pre-filled to look up a specific example transaction. This tag is self-closing. Example: + +{% tx-example txid="1AF19BF9717DA0B05A3BFC5007873E7743BA54C0311CCCCC60776AAEAC5C4635" /%} + +Example syntax: + +
      
      +{% tx-example txid="1AF19BF9717DA0B05A3BFC5007873E7743BA54C0311CCCCC60776AAEAC5C4635" /%}
      +
      + +The text of the button is normally "Query example transaction" in English, and can be translated by setting the `component.queryexampletx` key in the localization's `translations.yaml` file. + +This tag takes the following parameters: + +| Parameter | Required? | Description | +|---|---|---| +| `txid` | Yes | The unique hash of the transaction to look up. | +| `server` | No | A specific server to use for the request. Possible values are the same as `{% try-it %}` as defined above. For example, you may need to specify `devnet` to show a transaction added by an amendment that isn't enabled on Mainnet. | + + {% child-pages /%} diff --git a/resources/dev-tools/components/Loader.tsx b/resources/dev-tools/components/Loader.tsx deleted file mode 100644 index 8e9d9a98fd..0000000000 --- a/resources/dev-tools/components/Loader.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import * as React from 'react'; -import { useThemeHooks } from '@redocly/theme/core/hooks'; - -export const Loader = () => { - const { useTranslate } = useThemeHooks(); - const { translate } = useTranslate(); - - return {translate("(loading)")} - -} diff --git a/resources/dev-tools/components/websocket-api/data/command-list.json b/resources/dev-tools/components/websocket-api/data/command-list.json index dc7280f084..8a57f20d75 100644 --- a/resources/dev-tools/components/websocket-api/data/command-list.json +++ b/resources/dev-tools/components/websocket-api/data/command-list.json @@ -130,11 +130,10 @@ "body": { "command": "ledger", "ledger_index": "validated", - "full": false, - "accounts": false, "transactions": false, "expand": false, - "owner_funds": false + "owner_funds": false, + "api_version": 2 } }, { @@ -163,6 +162,16 @@ "limit": 5, "binary": true } + }, + { + "name": "ledger_index", + "description": "Looks up the most recently closed ledger at a specific time.", + "link": "/docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger_index", + "body": { + "command": "ledger_index", + "date": "2024-06-20T09:00:42.000Z" + }, + "clio_only": true } ] }, @@ -500,6 +509,16 @@ "command": "fee" } }, + { + "name": "manifest", + "description": "Look up manifest information for a given validator public key.", + "link": "/docs/references/http-websocket-apis/public-api-methods/server-info-methods/manifest", + "body": { + "id": "manifest_example", + "command": "manifest", + "public_key": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p" + } + }, { "name": "server_definitions", "description": "Returns an SDK-compatible definitions.json, generated from the rippled server being queried.", @@ -516,14 +535,6 @@ "command": "server_info" } }, - { - "name": "version", - "description": "Retrieves the API version information. When you connect to a cluster that includes a Clio server, the Clio method is used.", - "link": "/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version", - "body": { - "command": "version" - } - }, { "name": "server_state", "description": "Reports a machine-readable version of various information about the rippled server being queried.", @@ -531,6 +542,14 @@ "body": { "command": "server_state" } + }, + { + "name": "version", + "description": "Retrieves the API version information. When you connect to a cluster that includes a Clio server, the Clio method is used.", + "link": "/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version", + "body": { + "command": "version" + } } ] }, diff --git a/resources/dev-tools/faucets.json b/resources/dev-tools/faucets.json index c8ec8cc77b..4074132aa0 100644 --- a/resources/dev-tools/faucets.json +++ b/resources/dev-tools/faucets.json @@ -4,7 +4,7 @@ "id": "faucet-select-testnet", "wsUrl": "wss://s.altnet.rippletest.net:51233/", "jsonRpcUrl": "https://s.altnet.rippletest.net:51234/", - "faucetUrl": "faucet.altnet.rippletest.net", + "faucetHost": "faucet.altnet.rippletest.net", "shortName": "Testnet", "desc": "Mainnet-like network for testing applications." }, @@ -12,7 +12,7 @@ "id": "faucet-select-devnet", "wsUrl": "wss://s.devnet.rippletest.net:51233/", "jsonRpcUrl": "https://s.devnet.rippletest.net:51234/", - "faucetUrl": "faucet.devnet.rippletest.net", + "faucetHost": "faucet.devnet.rippletest.net", "shortName": "Devnet", "desc": "Preview of upcoming amendments." }, @@ -20,23 +20,15 @@ "id": "faucet-select-xahau", "wsUrl": "wss://xahau-test.net/", "jsonRpcUrl": "https://xahau-test.net/", - "faucetUrl": "xahau-test.net", + "faucetHost": "xahau-test.net", "shortName": "Xahau-Testnet", "desc": "Hooks (L1 smart contracts) enabled Xahau testnet." }, - { - "id": "faucet-select-mpt-devnet", - "wsUrl": "wss://mpt.devnet.rippletest.net:51233/", - "jsonRpcUrl": "https://mpt.devnet.rippletest.net:51234/", - "faucetUrl": "mptfaucet.devnet.rippletest.net", - "shortName": "MPT-Devnet", - "desc": "Preview of XLS-33d Multi-Purpose Tokens amendment." - }, { "id": "faucet-select-batch-devnet", "wsUrl": "wss://batch.nerdnest.xyz", "jsonRpcUrl": "https://batch.rpc.nerdnest.xyz", - "faucetUrl": "batch.faucet.nerdnest.xyz", + "faucetHost": "batch.faucet.nerdnest.xyz", "shortName": "Batch-Devnet", "desc": "Preview of XLS-56d Batch transactions." } diff --git a/resources/dev-tools/tx-sender.page.tsx b/resources/dev-tools/tx-sender.page.tsx index 7aedc4ee4e..eb1ea4bbb9 100644 --- a/resources/dev-tools/tx-sender.page.tsx +++ b/resources/dev-tools/tx-sender.page.tsx @@ -260,7 +260,7 @@ function TxSenderBody(): React.JSX.Element { units: "drops of XRP", longerDescription:
      {translate("Deliver a small amount of XRP with a large ")} {translate("Amount")}{translate(" value, to test your handling of ")} - {translate("partial payments")}{translate(".")}
      , + {translate("partial payments")}{translate(".")}
      , buttonTitle: "(Please wait for partial payments setup to finish)", }} loadingBar={{ @@ -288,7 +288,7 @@ function TxSenderBody(): React.JSX.Element { {{ buttonText: translate("Create Escrow"), units: translate("seconds"), - longerDescription: (
      {translate("Create a ")}{translate("time-based escrow")} + longerDescription: (
      {translate("Create a ")}{translate("time-based escrow")} {translate(" of 1 XRP for the specified number of seconds.")}
      ), }} inputSettings={ diff --git a/resources/dev-tools/websocket-api-tool.page.tsx b/resources/dev-tools/websocket-api-tool.page.tsx index f2f611d00b..287218d660 100644 --- a/resources/dev-tools/websocket-api-tool.page.tsx +++ b/resources/dev-tools/websocket-api-tool.page.tsx @@ -22,7 +22,7 @@ import { CommandGroup, CommandMethod } from './components/websocket-api/types'; import commandList from "./components/websocket-api/data/command-list.json"; import connections from "./components/websocket-api/data/connections.json"; -import { Loader } from './components/Loader'; +import XRPLoader from '../../@theme/components/XRPLoader'; export const frontmatter = { seo: { @@ -245,7 +245,7 @@ export function WebsocketApiTool() { {sendLoading && (
      - +
      )} @@ -274,7 +274,7 @@ export function WebsocketApiTool() { {wsLoading && (
      - +
      )} diff --git a/resources/dev-tools/xrp-faucets.page.tsx b/resources/dev-tools/xrp-faucets.page.tsx index 5c5ce4cdd3..3026e48b2b 100644 --- a/resources/dev-tools/xrp-faucets.page.tsx +++ b/resources/dev-tools/xrp-faucets.page.tsx @@ -1,10 +1,10 @@ -import * as React from 'react'; -import { useThemeHooks } from '@redocly/theme/core/hooks'; import { Link } from "@redocly/theme/components/Link/Link"; +import { useThemeHooks } from '@redocly/theme/core/hooks'; +import * as React from 'react'; import { useState } from 'react'; -import { Client, dropsToXrp, Wallet } from 'xrpl'; -import * as faucetData from './faucets.json' +import { Client, dropsToXrp, Wallet } from 'xrpl'; import XRPLoader from '../../@theme/components/XRPLoader'; +import * as faucetData from './faucets.json'; export const frontmatter = { seo: { @@ -17,7 +17,7 @@ interface FaucetInfo { id: string, wsUrl: string, jsonRpcUrl: string, - faucetUrl: string, + faucetHost: string, shortName: string, desc: string, } @@ -133,13 +133,14 @@ async function generateFaucetCredentialsAndUpdateUI( const wallet = Wallet.generate() const client = new Client(selectedFaucet.wsUrl) + client.apiVersion = 1 // Workaround for networks that don't support APIv2 await client.connect() try { setAddress(wallet.address) setSecret(wallet.seed) - await client.fundWallet(wallet, { faucetHost: selectedFaucet.faucetUrl, usageContext: "xrpl.org-faucet" }) + await client.fundWallet(wallet, { faucetHost: selectedFaucet.faucetHost, usageContext: "xrpl.org-faucet" }) const response = await waitForSequence(client, wallet.address) diff --git a/resources/known-amendments.md b/resources/known-amendments.md index 082b365677..eeb36ab2b5 100644 --- a/resources/known-amendments.md +++ b/resources/known-amendments.md @@ -17,13 +17,13 @@ This list is updated manually. For a live view of amendment voting, see the Amen | Name | Introduced | Status | |:----------------------------------|:-----------|:------------------------------| -| [AMMClawback][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | +| [AMMClawback][] | v2.3.0 | {% badge href="https://livenet.xrpl.org/transactions/8672DFD11FCF79F8E8F92E300187E8E533899ED8C8CF5AFB1A9C518195C16261" %}Enabled: 2025-01-30{% /badge %} | | [Credentials][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | -| [fixAMMv1_2][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | -| [fixEnforceNFTokenTrustline][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | -| [fixInnerObjTemplate2][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | -| [fixNFTokenPageLinks][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | -| [fixReducedOffersV2][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | +| [fixAMMv1_2][] | v2.3.0 | {% badge href="https://livenet.xrpl.org/transactions/71D5031A5BD927BDFE424E51699E69F2784097D615D0852BF20C168BA9B5EA76" %}Enabled: 2025-01-30{% /badge %} | +| [fixEnforceNFTokenTrustline][] | v2.3.0 | {% badge href="https://livenet.xrpl.org/transactions/606FA84C4BA30F67582C11A39BBFC11A9D994E114CD515E9F63FC7D8701A8ED9" %}Enabled: 2025-01-30{% /badge %} | +| [fixInnerObjTemplate2][] | v2.3.0 | {% badge href="https://livenet.xrpl.org/transactions/426314C8BC64BA339E97E53B278602ADC44F115056274BF7971F694C9A8AF946" %}Enabled: 2025-01-30{% /badge %} | +| [fixNFTokenPageLinks][] | v2.3.0 | {% badge href="https://livenet.xrpl.org/transactions/2D9A29768A7FA4BAC01DF1941380077E304785279E5E49267EC269F53ABADF5A" %}Enabled: 2025-01-30{% /badge %} | +| [fixReducedOffersV2][] | v2.3.0 | {% badge href="https://livenet.xrpl.org/transactions/6D325D5EFF8230F1FECA3EE6418C9678637F3F56B0CA247013F70B3BDCFE75C8" %}Enabled: 2025-01-30{% /badge %} | | [MPTokensV1][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | | [NFTokenMintOffer][] | v2.3.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.3.0" %}Open for Voting: 2024-11-26{% /badge %} | | [fixXChainRewardRounding][] | v2.2.0 | {% badge href="https://xrpl.org/blog/2024/rippled-2.2.0" %}Open for Voting: 2024-06-04{% /badge %} | @@ -169,7 +169,7 @@ Adds several new transaction result codes. | Amendment | AMMClawback | |:-------------|:------------| | Amendment ID | 726F944886BCDF7433203787E93DD9AA87FAB74DFE3AF4785BA03BEFC97ADA1F | -| Status | Open for Voting | +| Status | Enabled | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | @@ -732,7 +732,7 @@ Fixes AMM offer rounding and low quality order book offers from blocking the AMM | Amendment | fixAMMv1_2 | |:-------------|:-----------| | Amendment ID | 1E7ED950F2F13C4F8E2A54103B74D57D5D298FFDBD005936164EE9E6484C438C | -| Status | Open for Voting | +| Status | Enabled | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | @@ -806,7 +806,7 @@ This amendment has no effect unless the [DID][] amendment is enabled. | Amendment | fixEnforceNFTokenTrustline | |:-------------|:---------------------------| | Amendment ID | 763C37B352BE8C7A04E810F8E462644C45AFEAD624BF3894A08E5C917CF9FF39 | -| Status | Open for Voting | +| Status | Enabled | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | @@ -854,19 +854,19 @@ Currently, the inner object template isn't set upon object creation. If the obje | Amendment | fixInnerObjTemplate2 | |:-------------|:---------------------| | Amendment ID | 9196110C23EA879B4229E51C286180C7D02166DA712559F634372F5264D0EC59 | -| Status | Open for Voting | +| Status | Enabled | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | This amendment standardizes the way inner objects ([Object-type fields in the canonical binary format](../docs/references/protocol/binary-format.md#object-fields)) have their formats and default values enforced. This is the same type of check that the `fixInnerObjTemplate` applies to AMM-related fields, but this amendment applies to all other types of inner objects, namely: -- `DisabledValidator` field of the [NegativeUNL ledger entry][]. -- Members of the `Majorities` array in the [Amendments ledger entry][]. +- `DisabledValidator` field of the [NegativeUNL entry][]. +- Members of the `Majorities` array in the [Amendments entry][]. - Members of the [`Signers` array](../docs/references/protocol/transactions/common-fields.md#signers-field) of multi-signed transactions. -- Members of the `SignerEntries` array of [SignerList ledger entries][]. +- Members of the `SignerEntries` array of [SignerList ledger entries][SignerList entry]. - Several parts of the [XChainBridge][] amendment {% not-enabled /%}: - - Members of the `XChainClaimAttestations` array in [XChainOwnedClaimID ledger entries][] - - Members of the `XChainCreateAccountAttestations` array in [XChainOwnedCreateAccountClaimID ledger entries][] + - Members of the `XChainClaimAttestations` array in [XChainOwnedClaimID ledger entries][XChainOwnedClaimID entry] + - Members of the `XChainCreateAccountAttestations` array in [XChainOwnedCreateAccountClaimID ledger entries][XChainOwnedCreateAccountClaimID entry] - Members of the `XChainClaimAttestationBatch` array in [XChainAddClaimAttestation transactions][] - Members of the `XChainCreateAccountAttestationBatch` array in [XChainAddClaimAttestation transactions][] @@ -926,13 +926,13 @@ This amendment has no effect unless the [NonFungibleTokensV1][] amendment is ena | Amendment | fixNFTokenPageLinks | |:-------------|:--------------------| | Amendment ID | C7981B764EC4439123A86CC7CCBA436E9B3FF73B3F10A0AE51882E404522FC41 | -| Status | Open for Voting | +| Status | Enabled | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | This amendment fixes a bug that can cause NFT directories to have missing links in the middle of the directory chain. It also introduces invariant checks that can prevent similar types of corruption from occurring in the future, and introduces a new transaction type: -- [LedgerStateFix transactions][] can be used to repair corruptions in ledger data. With this amendment enabled, you can use a LedgerStateFix transaction to repair a broken link in NFT directories. In the case that future bugs cause new types of ledger corruption, this transaction type can be extended to repair the other types of corruption as well. +- **LedgerStateFix transactions** can be used to repair corruptions in ledger data. With this amendment enabled, you can use a LedgerStateFix transaction to repair a broken link in NFT directories. In the case that future bugs cause new types of ledger corruption, this transaction type can be extended to repair the other types of corruption as well. Without this amendment, it is possible in specific circumstances to delete the last page of an NFT directory, then later create a new last page that is missing a link to the previous page. For a detailed description of the scenario that can cause this problem, see [PR #4945](https://github.com/XRPLF/rippled/pull/4945). With this amendment, the bug that caused that corruption is fixed; additionally, a new invariant check ensures that other bugs cannot remove the last page inappropriately. @@ -1088,7 +1088,7 @@ Without this amendment, an offer with very small amounts remaining can have a a | Amendment | fixReducedOffersV2 | |:-------------|:-------------------| | Amendment ID | 31E0DA76FB8FB527CADCDF0E61CB9C94120966328EFA9DCA202135BAF319C0BA | -| Status | Open for Voting | +| Status | Enabled | | Default Vote (Latest stable release) | No | | Pre-amendment functionality retired? | No | @@ -1431,7 +1431,7 @@ With this amendment, an [NFTokenMint transaction][] can simultaneously place a s - `Destination` - Limit the sale so that it can only be accepted by this account - `Expiration` - The time after which this sell offer expires. -Without this amendment, you must separately send an [NFTokenMint transaction][] after minting an NFT to place a sell offer. +Without this amendment, you must separately send an [NFTokenCreateOffer transaction][] after minting an NFT to place a sell offer. ### NonFungibleTokensV1 diff --git a/sidebars.yaml b/sidebars.yaml index 7017d7073b..4c6084c22c 100644 --- a/sidebars.yaml +++ b/sidebars.yaml @@ -112,6 +112,7 @@ - page: docs/concepts/tokens/fungible-tokens/stablecoins/configuration.md - page: docs/concepts/tokens/fungible-tokens/stablecoins/precautions.md - page: docs/concepts/tokens/fungible-tokens/stablecoins/compliance-guidelines.md + - page: docs/concepts/tokens/fungible-tokens/multi-purpose-tokens.md - page: docs/concepts/tokens/fungible-tokens/clawing-back-tokens.md - page: docs/concepts/tokens/fungible-tokens/freezes.md expanded: false @@ -334,6 +335,8 @@ - page: docs/references/protocol/ledger-data/ledger-entry-types/escrow.md - page: docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md - page: docs/references/protocol/ledger-data/ledger-entry-types/ledgerhashes.md + - page: docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md + - page: docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md - page: docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md - page: docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md - page: docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md @@ -352,9 +355,10 @@ - page: docs/references/protocol/transactions/types/index.md expanded: false items: - - page: docs/references/protocol/transactions/types/accountset.md - page: docs/references/protocol/transactions/types/accountdelete.md + - page: docs/references/protocol/transactions/types/accountset.md - page: docs/references/protocol/transactions/types/ammbid.md + - page: docs/references/protocol/transactions/types/ammclawback.md - page: docs/references/protocol/transactions/types/ammcreate.md - page: docs/references/protocol/transactions/types/ammdelete.md - page: docs/references/protocol/transactions/types/ammdeposit.md @@ -373,6 +377,11 @@ - page: docs/references/protocol/transactions/types/escrowcancel.md - page: docs/references/protocol/transactions/types/escrowcreate.md - page: docs/references/protocol/transactions/types/escrowfinish.md + - page: docs/references/protocol/transactions/types/ledgerstatefix.md + - page: docs/references/protocol/transactions/types/mptokenauthorize.md + - page: docs/references/protocol/transactions/types/mptokenissuancecreate.md + - page: docs/references/protocol/transactions/types/mptokenissuancedestroy.md + - page: docs/references/protocol/transactions/types/mptokenissuanceset.md - page: docs/references/protocol/transactions/types/nftokenacceptoffer.md - page: docs/references/protocol/transactions/types/nftokenburn.md - page: docs/references/protocol/transactions/types/nftokencanceloffer.md @@ -510,15 +519,18 @@ - page: docs/references/http-websocket-apis/public-api-methods/server-info-methods/server_state.md - page: docs/references/http-websocket-apis/public-api-methods/server-info-methods/version.md - - page: docs/references/http-websocket-apis/public-api-methods/clio-server/index.md + - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/index.md expanded: false items: - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/server_info-clio.md - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger-clio.md + - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/mpt_holders.md + - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/ledger_index.md - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_history.md - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/nfts_by_issuer.md - page: docs/references/http-websocket-apis/public-api-methods/clio-methods/version.md + - page: docs/references/http-websocket-apis/public-api-methods/utility-methods/index.md expanded: false items: diff --git a/static/css/devportal2024-v1.css b/static/css/devportal2024-v1.css index 542b5a9f54..8ee55cae0b 100644 --- a/static/css/devportal2024-v1.css +++ b/static/css/devportal2024-v1.css @@ -3,4 +3,4 @@ * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--blue: #19A3FF;--indigo: #6610f2;--purple: #9A52FF;--pink: #FF198B;--red: #dc3545;--orange: #FF6719;--yellow: #FAFF19;--green: #32E685;--teal: #20c997;--cyan: #17a2b8;--white: #FFFFFF;--gray: #454549;--gray-dark: #232325;--primary: #9A52FF;--secondary: #E0E0E1;--success: #32E685;--info: #19A3FF;--warning: #FAFF19;--danger: #FF198B;--light: #FFFFFF;--dark: #111112;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-monospace: "Space Mono", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#e0e0e1;text-align:left;background-color:#111112}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#fff;text-decoration:none;background-color:transparent}a:hover{color:#9a52ff;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"Space Mono",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#e0e0e1;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#fff}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:0.875em;color:#454549}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#111112;border:1px solid #c1c1c2;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#454549}code{font-size:87.5%;color:#e0e0e1;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#111112;border-radius:4px;box-shadow:inset 0 -0.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#111112}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#e0e0e1}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #c1c1c2}.table thead th{vertical-align:bottom;border-bottom:2px solid #c1c1c2}.table tbody+tbody{border-top:2px solid #c1c1c2}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #c1c1c2}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#e0e0e1;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#e3cfff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#caa5ff}.table-hover .table-primary:hover{background-color:#d4b6ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#d4b6ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f6f6f7}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#efefef}.table-hover .table-secondary:hover{background-color:#e9e9eb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#e9e9eb}.table-success,.table-success>th,.table-success>td{background-color:#c6f8dd}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#94f2c0}.table-hover .table-success:hover{background-color:#aff5cf}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aff5cf}.table-info,.table-info>th,.table-info>td{background-color:#bfe5ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#87cfff}.table-hover .table-info:hover{background-color:#a6dbff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a6dbff}.table-warning,.table-warning>th,.table-warning>td{background-color:#feffbf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fcff87}.table-hover .table-warning:hover{background-color:#feffa6}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#feffa6}.table-danger,.table-danger>th,.table-danger>td{background-color:#ffbfdf}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ff87c3}.table-hover .table-danger:hover{background-color:#ffa6d2}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffa6d2}.table-light,.table-light>th,.table-light>td{background-color:#fff}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fff}.table-hover .table-light:hover{background-color:#f2f2f2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f2f2f2}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcbcbd}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#838384}.table-hover .table-dark:hover{background-color:#afafb0}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#afafb0}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#232325;border-color:#363639}.table .thead-light th{color:#343437;background-color:#e0e0e1;border-color:#c1c1c2}.table-dark{color:#fff;background-color:#232325}.table-dark th,.table-dark td,.table-dark thead th{border-color:#363639}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;background-clip:padding-box;border:1px solid transparent;border-radius:4px;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#fff;background-color:#232325;border-color:#e4d2ff;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.form-control::placeholder{color:#a2a2a4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#454549;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}select.form-control:focus::-ms-value{color:#fff;background-color:#232325}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(1rem + 1px);padding-bottom:calc(1rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.25}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:1rem 0;margin-bottom:0;font-size:1rem;line-height:1.25;color:#e0e0e1;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#e0e0e1}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#32e685}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#111112;background-color:rgba(50,230,133,.9);border-radius:4px}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#32e685;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#32e685;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#32e685}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#32e685}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#32e685}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#5feca0;background-color:#5feca0}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#32e685}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#32e685}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff198b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(255,25,139,.9);border-radius:4px}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff198b;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#ff198b;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff198b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#ff198b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#ff4ca5;background-color:#ff4ca5}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#ff198b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e0e0e1;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:1rem 1.5rem;font-size:0.875rem;line-height:1.25;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#e0e0e1;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#9a52ff;border-color:#9a52ff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#842cff;border-color:#7c1fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#842cff;border-color:#7c1fff;box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#7c1fff;border-color:#7512ff}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-secondary{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1;box-shadow:none}.btn-secondary:hover{color:#111112;background-color:#cdcdce;border-color:#c6c6c8}.btn-secondary:focus,.btn-secondary.focus{color:#111112;background-color:#cdcdce;border-color:#c6c6c8;box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#111112;background-color:#c6c6c8;border-color:#c0c0c2}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-success{color:#111112;background-color:#32e685;border-color:#32e685;box-shadow:none}.btn-success:hover{color:#fff;background-color:#1ad772;border-color:#19cc6c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#1ad772;border-color:#19cc6c;box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-success.disabled,.btn-success:disabled{color:#111112;background-color:#32e685;border-color:#32e685}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#19cc6c;border-color:#18c166}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-info{color:#fff;background-color:#19a3ff;border-color:#19a3ff;box-shadow:none}.btn-info:hover{color:#fff;background-color:#0091f2;border-color:#0089e5}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#0091f2;border-color:#0089e5;box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0089e5;border-color:#0082d8}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-warning{color:#111112;background-color:#faff19;border-color:#faff19;box-shadow:none}.btn-warning:hover{color:#111112;background-color:#ecf200;border-color:#e0e500}.btn-warning:focus,.btn-warning.focus{color:#111112;background-color:#ecf200;border-color:#e0e500;box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#111112;background-color:#faff19;border-color:#faff19}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#111112;background-color:#e0e500;border-color:#d4d800}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-danger{color:#fff;background-color:#ff198b;border-color:#ff198b;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#f20078;border-color:#e50072}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#f20078;border-color:#e50072;box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#e50072;border-color:#d8006b}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-light{color:#111112;background-color:#fff;border-color:#fff;box-shadow:none}.btn-light:hover{color:#111112;background-color:#ececec;border-color:#e6e6e6}.btn-light:focus,.btn-light.focus{color:#111112;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#111112;background-color:#fff;border-color:#fff}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#111112;background-color:#e6e6e6;border-color:#dfdfdf}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-dark{color:#fff;background-color:#111112;border-color:#111112;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#000;border-color:#000}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#111112;border-color:#111112}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-outline-primary{color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:hover{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#9a52ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-secondary{color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:hover{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e0e0e1;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-success{color:#32e685;border-color:#32e685}.btn-outline-success:hover{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#32e685;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-info{color:#19a3ff;border-color:#19a3ff}.btn-outline-info:hover{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#19a3ff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-warning{color:#faff19;border-color:#faff19}.btn-outline-warning:hover{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#faff19;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-danger{color:#ff198b;border-color:#ff198b}.btn-outline-danger:hover{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff198b;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#fff;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-dark{color:#111112;border-color:#111112}.btn-outline-dark:hover{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#111112;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-link{font-weight:400;color:#fff;text-decoration:none}.btn-link:hover{color:#9a52ff;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#454549;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e0e0e1;text-align:left;list-style:none;background-color:#111112;background-clip:padding-box;border:1px solid #111112;border-radius:4px;box-shadow:0px 5px 40px #000}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:0;border-right:.4em solid transparent;border-bottom:.4em solid;border-left:.4em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:0;border-bottom:.4em solid transparent;border-left:.4em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:.4em solid;border-bottom:.4em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #000}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#9a52ff;text-decoration:none;background-color:#111112}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#838386;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#454549;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;text-align:center;white-space:nowrap;background-color:#454549;border:1px solid transparent;border-radius:4px}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:2.5rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#9a52ff;background-color:#9a52ff}.custom-control-input:focus~.custom-control-label::before{box-shadow:none,0 0 0 .2rem rgba(154,82,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#e4d2ff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#454549}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#454549}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#232325;border:1px solid #838386;box-shadow:none}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:4px}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#9a52ff;background-color:#9a52ff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFFFFF' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#838386;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#232325;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 2.5rem 1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;vertical-align:middle;background:#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat;border:1px solid transparent;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);appearance:none}.custom-select:focus{border-color:#e4d2ff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .2rem rgba(154,82,255,.25)}.custom-select:focus::-ms-value{color:#fff;background-color:#232325}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:1.5rem;background-image:none}.custom-select:disabled{color:#454549;background-color:#e0e0e1}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.25em + 2rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#e4d2ff;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#454549}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;overflow:hidden;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;border:1px solid transparent;border-radius:4px;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.25em + 2rem);padding:1rem 1.5rem;line-height:1.25;color:#fff;content:"Browse";background-color:#454549;border-left:inherit;border-radius:0 4px 4px 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#c1c1c2;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#c1c1c2;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#838386}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#838386}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#838386}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:1rem 2rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#454549;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #c1c1c2}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:#e0e0e1 #e0e0e1 #c1c1c2}.nav-tabs .nav-link.disabled{color:#454549;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#343437;background-color:#111112;border-color:#c1c1c2 #c1c1c2 #111112}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#9a52ff}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:1.25rem;padding-bottom:1.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:1rem;padding-bottom:1rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:#454549}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:#454549;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23454549' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#454549}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#9a52ff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#232325;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:7px;border-top-right-radius:7px}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:2rem}.card-title{margin-bottom:2rem}.card-subtitle{margin-top:-1rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:2rem}.card-header{padding:2rem 2rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:7px 7px 0 0}.card-footer{padding:2rem 2rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 7px 7px}.card-header-tabs{margin-right:-1rem;margin-bottom:-2rem;margin-left:-1rem;border-bottom:0}.card-header-pills{margin-right:-1rem;margin-left:-1rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:7px}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:7px;border-top-right-radius:7px}.card-img,.card-img-bottom{border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card-deck .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-1.25rem;margin-left:-1.25rem}.card-deck .card{flex:1 0 0%;margin-right:1.25rem;margin-bottom:0;margin-left:1.25rem}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:2rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:2rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#111112;border-radius:4px}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#454549;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#a2a2a4}.pagination{display:flex;padding-left:0;list-style:none;border-radius:4px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#fff;background-color:#fff;border:1px solid #c1c1c2}.page-link:hover{z-index:2;color:#9a52ff;text-decoration:none;background-color:#e0e0e1;border-color:#c1c1c2}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.page-item.disabled .page-link{color:#454549;pointer-events:none;cursor:auto;background-color:#fff;border-color:#c1c1c2}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:8px;border-bottom-left-radius:8px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:8px;border-bottom-right-radius:8px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#9a52ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#7c1fff}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.badge-secondary{color:#111112;background-color:#e0e0e1}a.badge-secondary:hover,a.badge-secondary:focus{color:#111112;background-color:#c6c6c8}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.badge-success{color:#111112;background-color:#32e685}a.badge-success:hover,a.badge-success:focus{color:#111112;background-color:#19cc6c}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.badge-info{color:#fff;background-color:#19a3ff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0089e5}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.badge-warning{color:#111112;background-color:#faff19}a.badge-warning:hover,a.badge-warning:focus{color:#111112;background-color:#e0e500}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.badge-danger{color:#fff;background-color:#ff198b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#e50072}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.badge-light{color:#111112;background-color:#fff}a.badge-light:hover,a.badge-light:focus{color:#111112;background-color:#e6e6e6}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.badge-dark{color:#fff;background-color:#111112}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#000}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e0e0e1;border-radius:8px}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#502b85;background-color:#ebdcff;border-color:#e3cfff}.alert-primary hr{border-top-color:#d4b6ff}.alert-primary .alert-link{color:#391f5e}.alert-secondary{color:#747475;background-color:#f9f9f9;border-color:#f6f6f7}.alert-secondary hr{border-top-color:#e9e9eb}.alert-secondary .alert-link{color:#5b5b5b}.alert-success{color:#1a7845;background-color:#d6fae7;border-color:#c6f8dd}.alert-success hr{border-top-color:#aff5cf}.alert-success .alert-link{color:#114e2d}.alert-info{color:#0d5585;background-color:#d1edff;border-color:#bfe5ff}.alert-info hr{border-top-color:#a6dbff}.alert-info .alert-link{color:#083757}.alert-warning{color:#82850d;background-color:#feffd1;border-color:#feffbf}.alert-warning hr{border-top-color:#feffa6}.alert-warning .alert-link{color:#555708}.alert-danger{color:#850d48;background-color:#ffd1e8;border-color:#ffbfdf}.alert-danger hr{border-top-color:#ffa6d2}.alert-danger .alert-link{color:#57082f}.alert-light{color:#858585;background-color:#fff;border-color:#fff}.alert-light hr{border-top-color:#f2f2f2}.alert-light .alert-link{color:#6c6c6c}.alert-dark{color:#090909;background-color:#cfcfd0;border-color:#bcbcbd}.alert-dark hr{border-top-color:#afafb0}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#111112;border-radius:4px;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#9a52ff;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:4px}.list-group-item-action{width:100%;color:#343437;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#343437;text-decoration:none;background-color:#f5f5f7}.list-group-item-action:active{color:#e0e0e1;background-color:#e0e0e1}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#111112;border:1px solid #232325}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#e0e0e1;pointer-events:none;background-color:#111112}.list-group-item.active{z-index:2;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#502b85;background-color:#e3cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#502b85;background-color:#d4b6ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#502b85;border-color:#502b85}.list-group-item-secondary{color:#747475;background-color:#f6f6f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#747475;background-color:#e9e9eb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#747475;border-color:#747475}.list-group-item-success{color:#1a7845;background-color:#c6f8dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1a7845;background-color:#aff5cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1a7845;border-color:#1a7845}.list-group-item-info{color:#0d5585;background-color:#bfe5ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0d5585;background-color:#a6dbff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0d5585;border-color:#0d5585}.list-group-item-warning{color:#82850d;background-color:#feffbf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#82850d;background-color:#feffa6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#82850d;border-color:#82850d}.list-group-item-danger{color:#850d48;background-color:#ffbfdf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#850d48;background-color:#ffa6d2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#850d48;border-color:#850d48}.list-group-item-light{color:#858585;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-dark{color:#090909;background-color:#bcbcbd}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#090909;background-color:#afafb0}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#090909;border-color:#090909}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#ff198b;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#ff198b;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#454549;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:1px solid #e0e0e1;border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #c1c1c2;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #c1c1c2;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 8px}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#fff;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:7px;border-top-right-radius:7px}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e0e0e1}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#9a52ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#7c1fff !important}.bg-secondary{background-color:#e0e0e1 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#c6c6c8 !important}.bg-success{background-color:#32e685 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#19cc6c !important}.bg-info{background-color:#19a3ff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0089e5 !important}.bg-warning{background-color:#faff19 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0e500 !important}.bg-danger{background-color:#ff198b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#e50072 !important}.bg-light{background-color:#fff !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e6e6e6 !important}.bg-dark{background-color:#111112 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #c1c1c2 !important}.border-top{border-top:1px solid #c1c1c2 !important}.border-right{border-right:1px solid #c1c1c2 !important}.border-bottom{border-bottom:1px solid #c1c1c2 !important}.border-left{border-left:1px solid #c1c1c2 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#9a52ff !important}.border-secondary{border-color:#e0e0e1 !important}.border-success{border-color:#32e685 !important}.border-info{border-color:#19a3ff !important}.border-warning{border-color:#faff19 !important}.border-danger{border-color:#ff198b !important}.border-light{border-color:#fff !important}.border-dark{border-color:#111112 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:4px !important}.rounded{border-radius:4px !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-lg{border-radius:8px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"Space Mono",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#9a52ff !important}a.text-primary:hover,a.text-primary:focus{color:#6d06ff !important}.text-secondary{color:#e0e0e1 !important}a.text-secondary:hover,a.text-secondary:focus{color:#b9b9bb !important}.text-success{color:#32e685 !important}a.text-success:hover,a.text-success:focus{color:#16b560 !important}.text-info{color:#19a3ff !important}a.text-info:hover,a.text-info:focus{color:#007acc !important}.text-warning{color:#faff19 !important}a.text-warning:hover,a.text-warning:focus{color:#c7cc00 !important}.text-danger{color:#ff198b !important}a.text-danger:hover,a.text-danger:focus{color:#cc0065 !important}.text-light{color:#fff !important}a.text-light:hover,a.text-light:focus{color:#d9d9d9 !important}.text-dark{color:#111112 !important}a.text-dark:hover,a.text-dark:focus{color:#000 !important}.text-body{color:#e0e0e1 !important}.text-muted{color:#e0e0e1 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #838386;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#c1c1c2}.table .thead-dark th{color:inherit;border-color:#c1c1c2}}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}pre,code{font-feature-settings:"liga" 0;font-variant-ligatures:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}h1,.h1{font-size:3.875rem;line-height:70px}@media(max-width: 480px){h1,.h1{font-size:2.625rem;line-height:48px}}h2,.h2{font-size:3.5rem;line-height:62px}@media(max-width: 767.98px){h2,.h2{font-size:1.75rem;line-height:34px}}@media(max-width: 767.98px){h2-sm,.h2-sm{font-size:1.75rem !important;line-height:34px !important}}h3,.h3{font-size:3rem;line-height:52px}@media(max-width: 767.98px){h3,.h3{font-size:1.5rem;line-height:28px}}@media(max-width: 767.98px){h3-sm,.h3-sm{font-size:1.5rem;line-height:28px}}h4,.h4{font-size:2rem;line-height:38px}@media(max-width: 767.98px){h4,.h4{font-size:1.25rem;line-height:26px}}h5,.h5{font-size:1.5rem;line-height:32px}@media(max-width: 767.98px){h5,.h5{font-size:1.125rem;line-height:26px}}h6,.h6{font-size:1.25rem;line-height:26px}@media(max-width: 767.98px){h6,.h6{font-size:1rem;line-height:24px}}.longform{font-size:1.5rem;line-height:32px;color:#f5f5f7;font-weight:500}@media(max-width: 767.98px){.longform{font-size:1.25rem;line-height:26px}}.numbers{font-size:6rem;line-height:104px;font-weight:bold;color:#fff}@media(max-width: 767.98px){.numbers{font-size:3.875rem;line-height:70px}}p{font-size:1rem;line-height:24px}.fs-base{font-size:1rem}.fs-3{font-size:.75rem;line-height:1rem}.fs-4-5{font-size:1.125rem}.fs-5{font-size:1.25rem}.fs-5-5{font-size:1.375rem}.fs-6{font-size:1.5rem}.normal{font-weight:normal}.bold{font-weight:bold}.text-largest{font-size:1.5rem;font-weight:normal}.text-large{font-size:1.125rem}.text-small{font-size:.875rem}.text-smaller{font-size:.75rem}.text-smallest{font-size:.625rem}.arrow-link{text-decoration:none}.arrow-link:after{content:url(../img/icon-long-arrow.svg);width:28px;padding-left:7px;transition:all .2s ease-in-out;display:inline-block;text-decoration:none}.arrow-link:hover:after{padding-left:14px}.lang-ja{font-family:"Work Sans","Noto Sans JP",sans-serif}.lang-ja h1,.lang-ja h2,.lang-ja h3,.lang-ja h4,.lang-ja h5,.lang-ja .navbar .navbar-nav .nav-link,.lang-ja article .children-display li a,.lang-ja .right-sidebar .level-1 a,.lang-ja .right-sidebar .separator{font-family:"Work Sans","Noto Sans JP",sans-serif}.search .input-group-text{border-width:0;color:#fff;background-color:#232325;border-radius:4px 0 0 4px;padding:.5rem .5rem .5rem 1rem;line-height:1.5}.search .ds-input{background-color:#232325;border-radius:0 4px 4px 0;padding:.75rem 1rem .75rem .5rem;width:100%;border:1px solid #232325}.search .ds-input:focus{box-shadow:none;border-color:#9a52ff}.search .algolia-autocomplete{flex-grow:1}#algolia-autocomplete-listbox-0{z-index:1100 !important}html .DocSearch-Modal{box-shadow:none}html .DocSearch-Button{height:32px;border-radius:4px}html .DocSearch-Button:hover{border-radius:4px}html .DocSearch-Modal{max-width:55%}@media(min-width: 1200px){html .DocSearch-Modal{margin-right:112px}}@media(max-width: 991.98px){html .algolia-autocomplete .ds-dropdown-menu{min-width:unset}html .DocSearch-Modal{top:112px;max-width:100%;margin-left:0;margin-right:0}}html .DocSearch-Container{z-index:99999 !important;background-color:transparent !important}html #centersearchboxcontainer{justify-content:center}html #topsearchboxcontainer{justify-content:right}html .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background-color:#111112;border:0;border-radius:8px}html .algolia-autocomplete .algolia-docsearch-suggestion--category-header{border:0;font-weight:bold}html .algolia-autocomplete .algolia-docsearch-suggestion--text{font-size:.8rem}html .algolia-autocomplete .ds-dropdown-menu::before{border:0}.dark .DocSearch-Modal{background-color:#232325}.dark .DocSearch-Cancel{color:#9a52ff}.dark .DocSearch-Form{box-shadow:inset 0 0 0 2px #9a52ff;background-color:#232325}.dark .DocSearch-Hit-source{color:#9a52ff}.dark .DocSearch-Hits mark{color:#9a52ff}.dark .DocSearch-Hit-source,.dark .DocSearch-Hit-Container,.dark .DocSearch-Footer{background-color:#232325}.dark .DocSearch-Hit a{background-color:#232325;box-shadow:none}.dark .DocSearch-Hit-source{color:#a2a2a4}.dark .DocSearch-Input{color:#fff}.dark .DocSearch-Hit-title,.dark .DocSearch-Hit-path,.dark .DocSearch-Label,.dark .DocSearch-Help{color:#f5f5f7 !important}.dark .DocSearch-Hit[aria-selected=true] a{background:#343437}.dark .DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Container{background-color:#343437}.dark .DocSearch-Hit[aria-selected=true] a mark{color:#9a52ff !important}.dark .DocSearch-Prefill{color:#9a52ff}.dark .DocSearch-Button{background:#232325}.dark .DocSearch-Button:hover{background:#232325;box-shadow:inset 0 0 0 2px #9a52ff}.dark .DocSearch-Button:hover .DocSearch-Button-Placeholder{color:#fff}.dark .DocSearch-Search-Icon{color:#fff !important}.dark .DocSearch-Logo svg .cls-1,.dark .DocSearch-Logo svg .cls-2{fill:#fff}.dark .DocSearch-Commands-Key{color:#232325}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header{color:#fff;border-bottom:2px solid #9a52ff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--title{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--text{color:#e0e0e1}.dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#fff;background-color:#343437}.dark .algolia-autocomplete .ds-dropdown-menu::before{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:none;background-color:#343437}body{position:relative}section{position:relative}.landing{padding:0}.square{position:relative;flex-basis:calc(50% - 30px);margin:15px;box-sizing:border-box;justify-content:center;align-items:center;border-radius:8px}.square::before{content:"";display:block;padding-top:100%}@media(min-width: 992px){.square{flex-basis:calc(25% - 30px)}}.square-50{flex-basis:calc(50% - 30px)}@media(max-width: 767.98px){.square-50{flex-basis:calc(50% - 20px)}}.nav-grid-lg{display:flex;flex-direction:column}.nav-grid-lg .nav-item{width:100%}.nav-grid-lg .nav-item .nav-link{display:flex}.nav-grid-lg .nav-item .nav-link span{flex-grow:0}.nav-grid-lg .nav-item .nav-link img{max-height:2rem}.nav-grid-lg .nav-grid-head{margin-top:2.5rem}@media(min-width: 992px){.nav-grid-lg{display:grid;grid-auto-flow:column;grid-column-gap:80px}.nav-grid-lg .nav-grid-head{margin-top:0}}.col-lg{padding-left:0;padding-right:0}@media(min-width: 992px){.cols-of-1{grid-template-rows:repeat(1, min-content)}}@media(min-width: 992px){.cols-of-2{grid-template-rows:repeat(2, min-content)}}@media(min-width: 992px){.cols-of-3{grid-template-rows:repeat(3, min-content)}}@media(min-width: 992px){.cols-of-4{grid-template-rows:repeat(4, min-content)}}@media(min-width: 992px){.cols-of-5{grid-template-rows:repeat(5, min-content)}}@media(min-width: 992px){.cols-of-6{grid-template-rows:repeat(6, min-content)}}.card-grid{display:grid;grid-gap:40px;padding:0;width:100%;grid-template-columns:1fr}@media(min-width: 992px){.card-grid{grid-gap:80px}}.card-grid .col{padding-left:0;padding-right:0;min-width:100%}.card-grid.card-grid-4xN{grid-auto-rows:auto;grid-template-columns:repeat(2, 1fr)}@media(min-width: 992px){.card-grid.card-grid-4xN{grid-template-columns:repeat(4, 1fr)}}.card-grid.card-grid-3xN{grid-auto-rows:auto}@media(min-width: 992px){.card-grid.card-grid-3xN{grid-template-columns:1fr 1fr 1fr}}.card-grid.card-grid-2xN{grid-template-columns:1fr 1fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-2xN{grid-template-columns:1fr}}.card-grid.card-grid-1x2{grid-template-columns:1fr 2fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-1x2{display:flex}}.card-grid .card{padding:20px;border:0;min-height:264px}@media(min-width: 768px){.card-grid .card{min-height:347px}}@media(min-width: 992px){.card-grid .card{padding:40px}}.card-grid .card .card-body{padding:8px;padding-bottom:24px}.card-grid .card .card-body .card-icon-container{width:50px;height:50px}.card-grid .card .card-body .card-icon-container img{width:70%;height:70%}.card-grid.section-hero{padding-left:0}.container-new{display:flex;flex-wrap:wrap;margin:0 auto;padding:0 32px;max-width:100%;z-index:1}@media(min-width: 768px){.container-new{max-width:608px}}@media(min-width: 992px){.container-new{max-width:942px}}@media(min-width: 1200px){.container-new{max-width:1280px}}@media(max-width: 991.98px){article{overflow-wrap:break-word;word-wrap:break-word;overflow:hidden}}@media(max-width: 480px){html{overflow-x:hidden !important}}@media(max-width: 400px){.navbar .navbar-brand .brand-text{margin-right:0;letter-spacing:-0.08rem}.navbar .navbar-brand{margin-right:0}.navbar .navbar-brand .logo{margin-right:0;margin-left:-1rem}.btn{white-space:normal}}.timeline-wrapper{z-index:999;position:relative}.timeline:before{content:"";position:absolute;top:-40px;left:18px;height:95%;width:4px;background:linear-gradient(180deg, #feff01 0%, #ff2d9a 33%, #a3088f 66%, rgba(44, 4, 128, 0.85) 100%)}@media(max-width: 991.98px){.timeline:before{left:8px}}.timeline-dot{margin-top:94px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#111112;box-sizing:border-box}.timeline-block:first-child .timeline-dot{border:3px solid #faff19}.timeline-block:nth-child(2) .timeline-dot{border:3px solid #ff884b}.timeline-block:nth-child(3) .timeline-dot{border:3px solid #c000e5}.timeline-block:nth-child(4) .timeline-dot{border:3px solid #40004c}.timeline-block{display:flex;position:relative;z-index:1}.timeline-content{flex-grow:1;position:relative;margin-left:1.25em}.timeline h4{margin-top:-4px}@media(min-width: 768px){.timeline:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.timeline-dot{-ms-flex-order:1;order:1;margin-left:calc(5% - 9px);will-change:transform}.timeline-block:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse}.timeline-dot{margin-right:calc(5% - 9px)}.timeline-content{width:45%;-ms-flex-positive:0;flex-grow:0;will-change:transform;margin:0;--line-height-multiplier: 1.2}}@media(min-width: 992px){[data-component-name="TableOfContent/TableOfContent"]{margin-right:32px}}aside li a{color:#fff;text-decoration:none;font-size:1.05rem}aside .sidenav_cat_title{color:#fff}aside a:hover,aside .sidenav_cat_title:hover{color:#9a52ff}aside a.active,aside a.active:hover,aside .active>a,aside .active>a:hover{color:#9a52ff;font-weight:700}aside a.active-parent,aside .active-parent>a{font-weight:700}.page-toc .level-1 a,.command-list .separator{font-weight:700;color:#fff}.nav-toggler{position:absolute;width:1.75em;height:1.75em;line-height:0;display:grid;justify-content:center;align-content:center}.nav-toggler::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.nav-toggler:empty::after{margin-left:0}.nav-toggler::after{transition-duration:.3s}.nav-toggler.collapsed::after{transform:rotate(-90deg)}.dactyl-tree-nav nav{margin-left:1rem;padding-left:0;border-left:1px solid #fff}.dactyl-tree-nav nav .nav-link:hover,.dactyl-tree-nav nav .nav-link:active{border-left:1px solid #9a52ff;margin-left:-1px}.dactyl-tree-nav nav .active>.nav-link{border-left:2px solid #9a52ff;margin-left:-1px;padding-left:calc(1rem - 1px)}.dactyl-tree-nav .nav-item{position:relative}.dactyl-tree-nav .nav-item .nav-link{padding:.25rem 1rem;font-size:.9rem}.dactyl-tree-nav .nav-item.nav-parent{padding-top:0}.dactyl-tree-nav .nav-item.nav-parent .nav-link{padding-left:0;padding-top:0;font-size:1.125rem;line-height:initial}.dactyl-tree-nav .nav-item .nav-toggler+.nav-link{padding-left:2rem}.dactyl-tree-nav>.nav-item{padding:.5rem 0;font-size:1.125rem}.dactyl-tree-nav>.nav-item>.nav-link{font-weight:bold}.dactyl-tree-nav .collapsing.nav{flex-wrap:unset}.toc-header{font-weight:bold;font-size:14px;padding:1rem 0}.toc-header h4{line-height:20px;font-size:1.2em;padding:0;margin:0}#page-toc-wrapper .card-body{list-style-type:none}.page-toc,.command-list{padding-left:0;border-left:1px solid #fff}.page-toc li,.command-list li{list-style-type:none;padding:0}.page-toc li.separator,.command-list li.separator{padding:.25rem 1rem}.page-toc li a,.command-list li a{display:block;margin-top:5px;padding:.25rem 1rem;font-size:.9rem}.page-toc li a:hover,.page-toc li a .active,.command-list li a:hover,.command-list li a .active{text-decoration:none;border-left:1px solid #9a52ff;margin-left:-1px}.page-toc li.active a,.page-toc li.active a:hover,.command-list li.active a,.command-list li.active a:hover{border-left:2px solid #9a52ff;padding-left:calc(1rem - 1px);margin-left:-1px}.page-toc .level-3,.command-list .level-3{margin-left:16px;border-left:1px solid #fff;margin-bottom:0;padding-bottom:5px}.page-toc .level-3 a,.command-list .level-3 a{margin-top:0;padding-bottom:5px}.page-toc.no-sideline,.command-list.no-sideline{border-left:0}.page-toc.no-sideline a:hover,.page-toc.no-sideline a.active,.command-list.no-sideline a:hover,.command-list.no-sideline a.active{border-left:0;margin-left:0}.command-list li a{margin-top:0}.h32{height:32px}.w32{width:32px}.h36{height:36px}.w36{width:36px}.h40{height:40px}.w40{width:40px}.w44{width:44px}.w48{width:48px}.w-100{width:100%}.min-vh100{min-height:100vh}.vw100{width:100vw;min-width:100%}@media(max-width: 767.98px){.mb-3-sm-i{margin-bottom:1rem !important}}.ml-5{margin-left:1.25rem}@media(min-width: 768px){.ml-5-until-md{margin-left:1.25rem}}.mr-5{margin-right:1.25rem}@media(min-width: 768px){.mr-5-until-md{margin-right:1.25rem}}.mb-6{margin-bottom:1.5rem}@media(max-width: 767.98px){.mb-6-sm{margin-bottom:1.5rem}}.mt-6{margin-top:1.5rem}@media(min-width: 576px){.mt-6-until-sm{margin-top:1.5rem !important}}.mb-8{margin-bottom:2rem}@media(max-width: 767.98px){.mb-8-sm{margin-bottom:2rem}}.mt-8{margin-top:2rem}@media(min-width: 576px){.mt-8-until-sm{margin-top:2rem !important}}.mt-9{margin-top:2.25rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}@media(max-width: 767.98px){.mt-10-sm{margin-top:2.5rem}}.mb-10{margin-bottom:2.5rem}@media(min-width: 576px){.mb-10-until-sm{margin-bottom:2.5rem}}@media(max-width: 767.98px){.mb-10-sm{margin-bottom:2.5rem}}.ml-10{margin-left:2.5rem}.mr-10{margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}@media(min-width: 576px){.mx-10-until-sm{margin-left:2.5rem;margin-right:2.5rem}}@media(min-width: 768px){.mx-10-until-md{margin-left:2.5rem;margin-right:2.5rem}}@media(max-width: 767.98px){.mx-10-sm{margin-left:2.5rem;margin-right:2.5rem}}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-13{margin-top:3.25rem}.mb-13{margin-bottom:3.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}@media(max-width: 767.98px){.mt-16-sm{margin-top:4rem}}.mb-16{margin-bottom:4rem}@media(max-width: 767.98px){.mb-16-sm{margin-bottom:4rem}}.mb-18{margin-bottom:4.5rem}.mt-20{margin-top:5rem}@media(max-width: 767.98px){.mt-20-sm{margin-top:5rem}}@media(min-width: 576px){.mt-20-until-sm{margin-top:5rem}}.mb-20{margin-bottom:5rem}@media(max-width: 767.98px){.mb-20-sm{margin-bottom:5rem}}@media(min-width: 576px){.mb-20-until-sm{margin-bottom:5rem}}.my-20{margin-top:5rem;margin-bottom:5rem}.my-26{margin-top:6.5rem;margin-bottom:6.5rem}.mb-30{margin-bottom:7.5rem}.mt-30{margin-top:7.5rem}@media(min-width: 576px){.mt-30-until-sm{margin-top:7.5rem}}.mt-40{margin-top:10rem}@media(min-width: 576px){.mt-40-until-sm{margin-top:10rem}}.mb-40{margin-bottom:10rem}@media(min-width: 576px){.mb-40-until-sm{margin-bottom:10rem}}.mb-49{margin-bottom:12.25rem}.mb-50{margin-bottom:12.5rem}@media(min-width: 576px){.mb-50-until-sm{margin-bottom:12.5rem}}@media(max-width: 767.98px){.pl-0-sm{padding-left:0 !important}}@media(max-width: 767.98px){.pr-0-sm{padding-right:0 !important}}@media(max-width: 767.98px){.pt-3-sm{padding-top:1rem !important}}.p-6{padding:1.5rem}@media(max-width: 767.98px){.p-6-sm{padding:1.5rem}}.p-8{padding:2rem}@media(max-width: 767.98px){.p-8-sm{padding:2rem}}.p-10{padding:2.5rem}@media(min-width: 576px){.p-10-until-sm{padding:2.5rem}}.py-20{padding-bottom:5rem;padding-top:5rem}.px-20{padding-left:5rem;padding-right:5rem}.pt-20{padding-top:5rem}.pb-20{padding-bottom:5rem}.py-26{padding-top:6.5rem;padding-bottom:6.5rem}@media(max-width: 767.98px){.py-26{padding-top:2.5rem;padding-bottom:2.5rem}}.pt-26{padding-top:2.5rem}@media(min-width: 576px){.pt-26-until-sm{padding-top:6.5rem}}.pb-26{padding-bottom:6.5rem}@media(min-width: 576px){.pb-26-until-sm{padding-bottom:6.5rem}}.pt-30{padding-top:7.5rem}.pb-30{padding-bottom:7.5rem}.pt-40{padding-top:10rem}@media(min-width: 576px){.pt-40-until-sm{padding-top:10rem}}.pb-40{padding-bottom:10rem}.pb-50{padding-bottom:12.5rem}.pt-50{padding-top:12.5rem}.py-50{padding-bottom:12.5rem;padding-top:12.5rem}@media(min-width: 576px){.py-50-until-sm{padding-bottom:12.5rem;padding-top:12.5rem}}.floating-nav{top:6rem}.last-section{margin-bottom:100px}.bottom-0{bottom:0}.justify-center{justify-content:center}@media(max-width: 767.98px){.justify-center-sm{justify-content:center}}@media(max-width: 575.98px){.overflow-xs{overflow:scroll}.overflow-x-xs{overflow-x:scroll;overflow-y:hidden}}@media(min-width: 768px){.position-sm-absolute{position:absolute}}.va-middle{vertical-align:middle}.ls-none{list-style:none}.no-wrap{white-space:nowrap}.align-items-stretch{align-items:stretch}.underline{text-decoration:underline}@media(max-width: 575.98px){.d-none-xs{display:none}}@media(max-width: 767.98px){.d-none-sm{display:none}}@media(min-width: 992px){.d-none-lg{display:none}}.d-block{display:block}.border-green{border:1px solid #9a52ff}.border-none{border:none !important}.grey-400{color:#a2a2a4}.grey-500{color:#838386}.grey-700{color:#343437}.white{color:#fff}.stat-highlight{color:#32e685}.br-8{border-radius:8px}@media(max-width: 767.98px){br.until-sm{content:""}}.z-index-1{z-index:1}.bb-gray{border-bottom:1px solid #454549}@keyframes arrowDance{0%{padding-left:7px}50%{padding-left:14px}100%{padding-left:7px}}@keyframes arrowDance2{0%{right:0}50%{right:7px}100%{right:0}}@keyframes arrowDanceDiag{0%{right:7px;margin-top:0}50%{right:0;margin-top:-7px}100%{right:7px;margin-top:0}}.btn,article a.button,article .btn{font-weight:bold;cursor:pointer;text-decoration:none;transition:.2s;padding:.5rem 1rem;line-height:16px}article a.button{padding:.5rem 1rem;margin:0 .5rem;display:inline-block}.btn.disabled,button.disabled,.btn[disabled=disabled],button[disabled=disabled]{cursor:not-allowed}.btn-primary code,.btn-secondary code{color:inherit}.btn-primary{background:#7919ff;font-weight:bold;color:#fff;border:none;border-color:transparent}.btn-primary:hover{background:#5f00e5}.btn-primary.disabled,.btn-primary[disabled=disabled]{background:#4a00b2}.btn-primary.disabled:hover,.btn-primary[disabled=disabled]:hover{background:#4a00b2}@media(max-width: 767.98px){.btn-arrow{display:block;width:100%}}.btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.btn-arrow:hover{background:#5f00e5 !important;border:none}.btn-arrow:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.btn-arrow-out::after{background-position:left 0px bottom 0px;content:" ";background-image:url(../img/icons/arrow-up-right-white.svg);background-repeat:no-repeat;display:inline-block;padding:4px 8px 4px 12px;transition:background-position .3s ease-in-out;margin-left:4px}.btn-arrow-out:hover::after{background-position:left 4px bottom 4px}@media(max-width: 767.98px){.btn-arrow-out{display:block;width:100%}}.jump-to-top{display:none;position:fixed;bottom:36px;right:36px;font-weight:700;z-index:1000}.jump-to-top::after{display:none}.accordian-row{background:#232325;border-radius:5px;padding:32px}.accordian-row h3 a{position:relative;padding-right:2rem}.accordian-row h3 a:hover{color:#fff}.accordian-row .chevron{position:absolute;top:0;right:0}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}.modal-content-uses .first-ledger-bot{min-height:80px !important;position:relative;bottom:20px;content:url("../img/uses/first-ledger-bot.svg")}.modal-content-uses .orchestra-finance{content:url("../img/uses/orchestra-finance.svg")}.modal-content-uses .moai-finance{min-height:80px !important;position:relative;bottom:20px;content:url("../img/uses/moai-finance.svg")}.modal-content-uses .ledger-city{margin:0px !important;position:relative;bottom:4px;left:6px;max-height:47px !important}.modal-content-uses .zerpmon{margin:0px;min-width:80px;min-height:84px;position:relative;bottom:13px;content:url("../img/uses/zerpmon.png") !important}#use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/modallogos/threezy.png")}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.jpg) !important;height:58px;max-width:max-content;width:184px;max-height:none;margin:0px;padding-bottom:10px}.xrp-ledger{content:url(../img/uses/modallogos/xrp-ledger.png)}html.light .xrp-ledger{content:url(../img/uses/lightmode/xrp-ledger.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.towolabs{content:url(../img/uses/modallogos/towolabs.png)}html.light .towolabs{content:url(../img/uses/lightmode/towolabs.png)}.xrpscan{content:url(../img/uses/modallogos/xrpscan.png)}html.light .xrpscan{content:url(../img/uses/lightmode/xrpscan.png)}.xrp-toolkit{content:url(../img/uses/modallogos/xrp-toolkit.png)}html.light .xrp-toolkit{content:url(../img/uses/lightmode/xrp-toolkit.png)}.bithomp{content:url(../img/uses/modallogos/bithomp.png)}html.light .bithomp{content:url(../img/uses/lightmode/bithomp.png)}.onthedex{content:url(../img/uses/modallogos/onthedex.png)}html.light .onthedex{content:url(../img/uses/lightmode/onthedex.png)}.cryptum{content:url(../img/uses/modallogos/cryptum.png)}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.png)}.evernode{content:url(../img/uses/modallogos/evernode.png)}html.light .evernode{content:url(../img/uses/lightmode/evernode.png)}.threezy{content:url(../img/uses/modallogos/threezy.png)}html.light .threezy{content:url(../img/uses/lightmode/threezy.png)}.tokenize{content:url(../img/uses/modallogos/tokenize.png)}html.light .tokenize{content:url(../img/uses/lightmode/tokenize.png)}.multichain{content:url(../img/uses/modallogos/multichain.png)}html.light .multichain{content:url(../img/uses/lightmode/multichain.png)}.crossmark{content:url(../img/uses/modallogos/crossmark.png)}html.light .crossmark{content:url(../img/uses/lightmode/crossmark.png)}.edge{content:url(../img/uses/modallogos/edge.png)}html.light .edge{content:url(../img/uses/lightmode/edge.png)}.gem-wallet{content:url(../img/uses/modallogos/gem-wallet.png)}html.light .gem-wallet{content:url(../img/uses/lightmode/gem-wallet.png)}.xumm{content:url(../img/uses/modallogos/xumm.png)}html.light .xumm{content:url(../img/uses/lightmode/xumm.png)}.aesthetes{content:url(../img/uses/modallogos/aesthetes.png)}html.light .aesthetes{content:url(../img/uses/lightmode/aesthetes.png)}.audiotarky{content:url(../img/uses/modallogos/audiotarky.png)}html.light .audiotarky{content:url(../img/uses/lightmode/audiotarky.png)}.nftmaster{content:url(../img/uses/modallogos/nftmaster.png)}html.light .nftmaster{content:url(../img/uses/lightmode/nftmaster.png)}.peerkat{content:url(../img/uses/modallogos/peerkat.png)}html.light .peerkat{content:url(../img/uses/lightmode/peerkat.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xrp-cafe{content:url(../img/uses/modallogos/xrp-cafe.png)}html.light .xrp-cafe{content:url(../img/uses/lightmode/xrp-cafe.png)}.xrp-oval{content:url(../img/uses/modallogos/xrp-oval.png)}html.light .xrp-oval{content:url(../img/uses/lightmode/xrp-oval.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xpmarket{content:url(../img/uses/modallogos/xpmarket.png)}html.light .xpmarket{content:url(../img/uses/lightmode/xpmarket.png)}.orchestra-finance{content:url(../img/uses/modallogos/orchestra-finance.png)}html.light .orchestra-finance{content:url(../img/uses/lightmode/orchestra-finance.png)}.moai-finance{content:url(../img/uses/modallogos/moai-finance.png)}html.light .moai-finance{content:url(../img/uses/lightmode/moai-finance.png)}.first-ledger-bot{content:url(../img/uses/modallogos/first-ledger-bot.png)}html.light .first-ledger-bot{content:url(../img/uses/lightmode/first-ledger-bot.png)}.forte{content:url(../img/uses/modallogos/forte.png)}html.light .forte{content:url(../img/uses/lightmode/forte.png)}.ledger-city{content:url(../img/uses/modallogos/ledger-city.png)}html.light .ledger-city{content:url(../img/uses/lightmode/ledger-city.png)}.futureverse{content:url(../img/uses/modallogos/futureverse.png)}html.light .futureverse{content:url(../img/uses/lightmode/futureverse.png)}.zerpmon{content:url(../img/uses/modallogos/zerpmon.png)}html.light .zerpmon{content:url(../img/uses/lightmode/zerpmon.png)}.anchain{content:url(../img/uses/modallogos/anchain.png)}html.light .anchain{content:url(../img/uses/lightmode/anchain.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.supermojo{content:url(../img/uses/modallogos/supermojo.png)}html.light .supermojo{content:url(../img/uses/lightmode/supermojo.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.carbonland-trust{content:url(../img/uses/modallogos/carbonland-trust.png)}html.light .carbonland-trust{content:url(../img/uses/lightmode/carbonland-trust.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.bitgo{content:url(../img/uses/modallogos/bitgo.png)}html.light .bitgo{content:url(../img/uses/lightmode/bitgo.png)}.arrow-button.left-arrow img{content:url(../img/uses/left-arrow.svg)}.arrow-button.right-arrow img{content:url(../img/uses/right-arrow.svg)}.right-arrow-button.right-arrow img{background-color:transparent;border:none;cursor:pointer}.html.light .arrow-button.left-arrow img{content:url(../img/uses/left-arrow-light.svg)}.html.light .arrow-button.right-arrow img{content:url(../img/uses/right-arrow-light.svg)}.related-tasks-links a{color:#454549;text-decoration:none}.related-tasks-links a:hover{color:#000}.arrows-container{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10}@media only screen and (max-width: 768px){.arrows-container{top:30px}}.arrow-button{background-color:transparent;border:none;cursor:pointer}.arrow-button img{width:40px;height:40px}.left-arrow{margin-left:40px}@media only screen and (max-width: 768px){.left-arrow{margin-left:0px}}.right-arrow{margin-right:40px}@media only screen and (max-width: 768px){.right-arrow{margin-right:0px}}.modal-uses{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.modal-content-uses{position:relative;background-color:#232325;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:20px;width:60% !important;height:60%;display:flex;flex-direction:column;align-items:center;overflow:scroll}.modal-content-uses::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%, #19ff83 100.32%)}.content-section{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.section-image{display:block}.section-text-title{font-family:"Work Sans";font-style:normal;font-weight:500;font-size:24px;line-height:32px;text-align:center;color:#fff}.section-text-description{max-width:320px;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-align:center;color:#c1c1c2}.apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#e0e0e1}.numbers-animation{width:218px;height:96px}.arrow-animation{position:relative;right:23px;top:-11px;width:60px !important}.explore-projects{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#7919ff;position:relative;top:-9px;right:27px}.section-separator{width:50%;border:0;border-top:1px solid #ccc}.threezy-logo{margin:4px;max-height:38px}.blockforce-logo{margin:0px !important;max-height:45px !important}.Evernode-logo{margin-right:39px}.logo-grid{display:grid;grid-template-rows:repeat(2, 1fr);grid-template-columns:repeat(4, 1fr);grid-gap:8px;justify-items:center}.flex-center{display:flex;justify-content:center}.top-row,.bottom-row{display:flex;justify-content:center}@media only screen and (max-width: 768px){.top-row,.bottom-row{flex-wrap:wrap}}.logo-item{max-height:30px;max-width:130px;margin:10px 11px}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}#use-case-card-grid{grid-template-columns:repeat(2, 1fr)}@media(min-width: 768px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 992px){#use-case-card-grid{grid-template-columns:repeat(4, 1fr)}}.use-case-circle{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:1px solid #343437;border-radius:50%;margin-bottom:30px;cursor:pointer}@media(min-width: 768px){.use-case-circle{aspect-ratio:1/1;min-width:200px !important;min-height:200px !important}}@media(min-width: 992px){.use-case-circle{aspect-ratio:1/1;min-width:250px !important;min-height:250px !important}}.use-case-circle:hover{border-color:#838386}.circle-content{display:flex;flex-direction:column;align-items:center;gap:13px}.circle-img{width:40px;height:40px}.circle-text{font-family:"Work Sans";font-style:normal;font-weight:700;white-space:nowrap;font-size:16px;margin-bottom:0px}.join-xrpl-section{display:flex;flex-direction:column;align-items:center}.colorful-join-text-wrapper{display:flex;justify-content:center;flex-direction:column;padding:0 5%;box-sizing:border-box}@media(min-width: 992px){.colorful-join-text-wrapper{padding:0 4%}}.colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #feff01 0%, #ff2d9a 30.82%, #e24cff 64.01%, #9a52ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#numbersAnimation{display:block}#numbersAnimationLight{display:none}html.light .section-separator{background:#c1c1c2}html.light .section-text-description{color:#343437}html.light .modal-content-uses{background:#fff}html.light #numbersAnimation{display:none}html.light #numbersAnimationLight{display:block}html.light .apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#232325}html.light .colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width: 992px){html.light .colorful-join-text{width:750px}}@media(min-width: 992px){.colorful-join-text{width:750px}}.pill-box{display:inline-flex;align-items:center;justify-content:center;padding:3.69087px 29.527px;width:73.05px;height:37.38px;background:#7919ff;border:3.69087px solid #5f00e5;border-radius:184.543px}.pill-number{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:22.1452px;color:#f0e5ff}.use-case-steps h2{margin-top:10px;margin-bottom:10px;font-size:1.728em;line-height:32px;font-weight:700}.use-case-steps h2 a{text-decoration:none}.use-case-steps h2:first-of-type:before{display:none}.use-case h1{font-size:2.4em;padding-bottom:10px}.use-case-steps h2:before{margin-top:-30px;height:0}.use-case-steps h2:first-of-type{margin-top:-30px}.related-tasks-links ul{list-style-type:none;padding-left:0}.related-tasks-links ul li{margin:0px;padding-top:2px}.related-tasks-links a:hover::after{padding-left:.5em}.related-tasks-links a::after{content:" ➝";padding-left:0;transition:all .2s ease-in-out}.page-tokenization .tokenization-graphic{content:url("../img/backgrounds/tokenization-illustration.svg");width:100%;height:100%}.page-tokenization .show-md{display:none}@media(max-width: 991.98px){.page-tokenization .show-md{display:block}}.page-tokenization .hide-md{display:block}@media(max-width: 991.98px){.page-tokenization .hide-md{display:none}}.page-tokenization .tokenization-use-case{font-size:12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #454549}.page-tokenization .tokenization-use-case .arrow-button img{width:15px;height:15px}.page-tokenization .tokenization-stats{width:100%;height:250px;border-radius:8px;background:linear-gradient(88deg, #9A52FF -14.32%, #32E685 45.35%, #19A3FF 100.76%);padding:4rem 2rem;display:grid;grid-template-columns:repeat(4, 1fr)}@media(max-width: 991.98px){.page-tokenization .tokenization-stats{display:block;height:100%;width:100%;padding:0 25%}}.page-tokenization .stat-container{color:#000;text-align:center;border-right:2px solid #000}@media(max-width: 991.98px){.page-tokenization .stat-container{border-right:none;padding-bottom:3rem;padding-top:2rem;border-bottom:2px solid #000}}.page-tokenization .stat-container:last-child{border:none}.page-tokenization .stat-container .stat{font-size:3rem;font-weight:300}.page-tokenization .stat-container p{font-weight:400}.page-tokenization .security-card{position:relative;border-radius:.5rem;background-color:transparent;white-space:normal;box-sizing:border-box}.page-tokenization .security-card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;z-index:-1}.page-tokenization .security-card p{margin-bottom:0 !important}@media(max-width: 767.98px){.page-tokenization .security-card .h6{font-size:1.25rem}}.page-tokenization .security-card-grid{gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1200px){.page-tokenization .security-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 768px){.page-tokenization .security-card-grid{grid-template-columns:repeat(1, 1fr)}}.page-tokenization .video-external-link .link-text{margin-left:.25rem}.page-tokenization .video-external-link{margin-bottom:9px}.page-tokenization .tokenization-color-bar{align-self:stretch;height:.25rem;border-radius:2rem;background:var(--Gradient-3, linear-gradient(90deg, #FEFF01 0%, #FF2D9A 30.82%, #E24CFF 64.01%, #9A52FF 100%))}.page-tokenization .project-cards-container{gap:3rem}.page-tokenization .project-cards{width:100%}.page-tokenization .project-cards .project-name{word-break:break-word}.page-tokenization .project-cards .card{min-height:240px}.page-tokenization .project-cards .col::before{content:"";position:absolute;top:0;left:0;width:100%;height:.25rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.page-tokenization .project-cards .col.odd::before{background:linear-gradient(90deg, #D91AFF 26.41%, #1AA4FF 100.32%)}.page-tokenization .project-cards .col.even::before{background:linear-gradient(90deg, #4BB7FF -0.32%, #32E685 30.61%)}.page-tokenization .project-cards .project-logo{width:100%;height:50px;vertical-align:center;padding:0 .5rem}.page-tokenization .project-cards img{max-width:100%;height:auto;display:block;box-sizing:border-box}.page-tokenization .amy{content:url("../img/logos/amy.svg")}.page-tokenization .carbonland{content:url("../img/logos/carbonland.svg")}.page-tokenization .evernode{content:url("../img/logos/evernode.svg")}.page-tokenization .nautilus{content:url("../img/logos/nautilus.svg")}.page-tokenization .onXRP{content:url("../img/logos/onXRP.svg")}.page-tokenization .raised-in-space{content:url("../img/logos/raised-in-space.svg")}.page-tokenization .sologenic{content:url("../img/logos/sologenic.svg")}.page-tokenization .xaman{content:url("../img/logos/xaman-labs.svg")}.page-tokenization .xrpcafe{content:url("../img/logos/xrpcafe.svg")}.page-tokenization .prev img{content:url("../img/icons/prev.svg")}.page-tokenization .next img{content:url("../img/icons/prev.svg");transform:scaleX(-1)}.page-tokenization .arrow-wrapper{gap:1rem}.page-tokenization .arrow-button{background-color:#232325;border-radius:.25rem;align-items:center;justify-content:center}.page-tokenization .next.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(1)}.page-tokenization .prev.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(-1)}.page-tokenization .related-articles{gap:2.5rem}.page-tokenization .related-articles .col{background-color:#000;padding:2rem !important;border-radius:.5rem}.page-tokenization .related-articles .time{position:relative;padding-top:.5rem}.page-tokenization .related-articles .time::before{content:"";position:absolute;top:0;left:0;width:50px;height:4px;background-color:#32e685}.page-tokenization .project-cards a,.page-tokenization .related-articles a{text-decoration:none}.page-tokenization .project-cards a:hover .project-name{color:#9a52ff}.page-tokenization .related-articles a:hover .h5{color:#9a52ff}.page-tokenization .article-card-container{position:relative;width:100%}.page-tokenization .article-card-container:nth-child(1) .article-card-background{background-image:linear-gradient(86deg, #B20058 -21.16%, #E24CFF 31.78%, #9A52FF 101.64%)}.page-tokenization .article-card-container:nth-child(2) .article-card-background{background-image:linear-gradient(22deg, #B480FF -6.54%, #5F00E5 50.87%, #1AA4FF 114.16%)}.page-tokenization .article-card-container:nth-child(3) .article-card-background{background-image:linear-gradient(162deg, #B480FF -11.11%, #1AA4FF 56.26%, #2DCF78 112.84%)}.page-tokenization .article-card-background{height:calc(100% + 1.5rem);width:100%;z-index:1;background-size:cover;position:absolute;top:-0.75rem;border-radius:.5rem}.page-tokenization .article-card{width:100%;height:100%;position:relative;top:0;left:.75rem;z-index:2;display:block}.dark [data-component-name="Breadcrumbs/Breadcrumbs"]+div>a>svg>rect{fill:transparent}[data-component-name="layouts/RootLayout"]{padding-top:80px}.top-nav{background-color:#111112;height:80px;padding:0}.top-nav .navbar-brand{text-decoration:none;white-space:pre;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease;padding-left:2rem}.top-nav .navbar-brand .logo{margin-left:0;content:url(../img/XRPLedger_DevPortal-white.svg);width:162px;height:40px;display:block}.top-nav .navbar-brand:hover{opacity:.75}@media(max-width: 991.98px){.top-nav .navbar-brand{padding-left:2rem}.top-nav .navbar-brand img{width:120px}}.top-nav .nav-item{font-weight:600}@media(min-width: 992px){.top-nav #topnav-pages{flex-grow:1}}.top-nav #topnav-pages .nav-link{color:#f5f5f7;font-size:1rem;line-height:1.25rem;text-decoration:none;font-weight:600}.top-nav .dropdown-toggle{position:relative}.top-nav .dropdown-menu{border-width:0}.top-nav .dropdown-menu h5{font-weight:400;font-size:12px;color:#a2a2a4;margin-bottom:0}.top-nav .dropdown-menu .dropdown-item{line-height:1rem;padding:.75rem 0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{width:100%;display:flex;padding:1rem 2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{width:68px;height:68px;background-color:#232325;border-radius:4px;flex-grow:0;padding:.75rem;margin-right:2rem;margin-top:auto;margin-bottom:auto}.top-nav .dropdown-menu .dropdown-item.dropdown-hero p{font-size:14px;color:#c1c1c2;margin:0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero h4{font-size:1.25rem;font-weight:600;margin-bottom:0;line-height:2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover h4{color:#9a52ff}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover p{font-weight:400}.top-nav .dropdown-menu .dropdown-item:last-child{padding-bottom:0}.top-nav .dropdown-menu .dropdown-item:first-child{padding-top:0}.top-nav .dropdown-menu .col-for-get_started{background-color:#232325}.top-nav .dropdown-menu a:hover{color:#9a52ff;background-color:inherit}.top-nav .dropdown-menu h5:hover{background-color:inherit}.top-nav #topnav-search .input-group{flex-grow:1;flex-wrap:nowrap}@media(max-width: 991.98px){.top-nav #topnav-search .form-inline{padding:1rem 2rem}}.top-nav #topnav-search .input-group-text{height:40px}.top-nav #topnav-search .ds-input{height:40px}.top-nav #topnav-language .dropdown-item{font-weight:600}@media(min-width: 992px){.top-nav{padding:0 2rem}.top-nav .navbar-brand{margin-left:0;padding-left:0}.top-nav .dropdown-toggle::after{display:none}.top-nav .dropdown-toggle>span{border-bottom:2px solid transparent}.top-nav .dropdown .dropdown-toggle:hover>span:not(.chevron){padding-bottom:8px;border-bottom:2px solid #9a52ff;margin-bottom:-8px}.top-nav .dropdown-menu{border-radius:0 0 8px 8px;padding:2.5rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{padding:0}.top-nav .dropdown-menu.show{display:grid;gap:40px}.top-nav .dropdown-menu.show#topnav_dd_about{grid-template-columns:180px 180px 180px}.top-nav .dropdown-menu.show#topnav_dd_docs{grid-template-columns:180px 180px 260px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_community{grid-template-columns:200px}.top-nav .dropdown-menu.show#topnav_dd_resources{grid-template-columns:195px 180px 180px;left:-200px}.top-nav .dropdown-menu.show .dropdown-hero{grid-row:1;grid-column:1/4}.top-nav .dropdown-menu.show #dropdown-hero-for-docs{grid-column:1/3}.top-nav .dropdown-menu.show .col-for-xrp_ledger{grid-row:1/3;grid-column:1}.top-nav .dropdown-menu.show .col-for-xrp{grid-column:2}.top-nav .dropdown-menu.show .col-for-sustainability,.top-nav .dropdown-menu.show .col-for-持続可能性{grid-column:2}.top-nav .dropdown-menu.show .col-for-about,.top-nav .dropdown-menu.show .col-for-概要{grid-row:1/3;grid-column:3}.top-nav .dropdown-menu.show .col-for-article_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show .col-for-get_started{grid-column:3;grid-row:1/3;margin:-40px -40px -40px 0;padding:40px}.top-nav .dropdown-menu.show .col-for-development{grid-column:1}.top-nav .dropdown-menu.show .col-for-current-status,.top-nav .dropdown-menu.show .col-for-現在のステータス{grid-column:2}.top-nav .dropdown-menu.show .col-for-join-in,.top-nav .dropdown-menu.show .col-for-参加する{grid-column:3}.top-nav .dropdown-menu.smaller-dropdown{min-width:180px;padding:1.25rem}.top-nav #topnav-pages{flex-grow:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-pages .nav-link{padding:1rem 1rem}}@media(min-width: 992px){.top-nav #topnav-language{flex-grow:0}.top-nav #topnav-language hr{display:none}.top-nav #topnav-language #language_selector_header_btn{padding-right:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-language #language_selector_header_btn{padding-left:1rem}}@media(min-width: 992px)and (min-width: 1200px){.top-nav #topnav-search{margin-left:auto;margin-right:.5rem}.top-nav #topnav-language{margin-right:.5rem}.top-nav #topnav-button{margin-left:.2rem;margin-right:1rem}}@media(max-width: 991.98px){.top-nav .navbar-toggler{border:0;padding:30px 2rem;font-size:1rem;display:inline-block}.top-nav .navbar-toggler .navbar-toggler-icon{background:none;height:20px;width:20px;position:relative}.top-nav .navbar-toggler .navbar-toggler-icon::after,.top-nav .navbar-toggler .navbar-toggler-icon::before,.top-nav .navbar-toggler .navbar-toggler-icon div{position:absolute;content:" ";background-color:#f5f5f7;display:block;width:100%;height:3px;transition:all .2s ease}.top-nav .navbar-toggler .navbar-toggler-icon::before{top:0}.top-nav .navbar-toggler .navbar-toggler-icon::after{bottom:0}.top-nav .navbar-toggler .navbar-toggler-icon div{top:calc(50% - 1.5px)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before{transform:translateY(8px) rotate(135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{transform:translateY(-9px) rotate(-135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon div{transform:scale(0)}.top-nav .navbar-nav{align-items:unset !important}.top-nav .navbar-nav #topnav-button{background-color:#111112;padding:1rem 1.5rem}.top-nav .navbar-nav #topnav-search [data-component-name="Search/SearchTrigger"]{cursor:pointer}.top-nav .navbar-nav .nav-link,.top-nav .navbar-collapse>.nav-item{line-height:150%;background:#111112}.top-nav .navbar-nav .nav-link label,.top-nav .navbar-collapse>.nav-item label{margin-bottom:0}.top-nav .navbar-nav .nav-link{padding:1rem 2rem}.top-nav .dropdown-menu{margin:0;width:100%;overflow:auto;transition:all .2s ease;height:0;display:block;padding:0;border-radius:0}.top-nav .dropdown-menu.show{height:calc(100vh - 80px - 52px)}.top-nav .dropdown-menu.show>:last-child{padding-bottom:4rem}.top-nav .dropdown-menu.show#topnav_dd_docs{display:grid;grid-template-columns:minmax(187px, 1fr) minmax(187px, 1fr);gap:1px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_docs .dropdown-hero{grid-column:1/3;grid-row:1}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-document_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-get_started{grid-column:1/3;grid-row:4;margin:-1px;padding-top:33px}.top-nav .dropdown-menu .navcol{padding:1rem 2rem}.top-nav .dropdown-menu.smaller-dropdown{padding:0 2rem}.top-nav .dropdown-menu.smaller-dropdown.show{padding:1rem 2rem;height:auto}.top-nav .dropdown-menu .dropdown-hero:first-child{padding-top:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before,.top-nav .dropdown-toggle:not(.with-caret)::after{border:0;font-family:FontAwesome;color:#9a52ff;font-size:.75rem;transition:all .2s ease;overflow:clip;width:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before{content:"";display:inline-block;margin-bottom:-5px}.top-nav .dropdown-toggle:not(.with-caret)::after{content:"";position:absolute;right:2rem}.top-nav .dropdown.show .dropdown-toggle::after{text-indent:5rem}.top-nav .dropdown:not(.show) .dropdown-toggle::before{width:0;height:0;text-indent:-5rem}.top-nav .dropdown-toggle.with-caret::after{border:0}.top-nav #top-main-nav{background-color:#232325;padding-top:32px;position:relative}.top-nav #top-main-nav.submenu-expanded{padding-top:0}.top-nav #top-main-nav.submenu-expanded .dropdown:not(.show) .dropdown-toggle{display:none}.top-nav #top-main-nav.submenu-expanded #topnav-search,.top-nav #top-main-nav.submenu-expanded #topnav-language,.top-nav #top-main-nav.submenu-expanded #topnav-theme{height:0;overflow:clip;padding-top:0;padding-bottom:0}.top-nav #topnav-search{position:absolute;top:0;right:105px}.top-nav #topnav-search .input-group{flex-wrap:nowrap}.top-nav #topnav-language{position:absolute;top:0;right:65px}.top-nav #topnav-language hr{border-top:1px solid #232325;margin-top:.25rem;margin-bottom:.25rem;display:static}.top-nav #topnav-theme{position:absolute;top:0;right:26px}}article h1:before,article h2:before,article h3:before,article h4:before,article h5:before,article h6:before,.interactive-block:before{display:block;content:" ";margin-top:-24px;height:60px;visibility:hidden;pointer-events:none}article h1:first-of-type:before{margin-top:-40px}.chevron{position:relative;display:inline-block;width:.75rem;height:.5625rem}.chevron span{position:absolute;top:.25rem;display:inline-block;width:.5rem;height:.15rem;background-color:#9a52ff;transition:all .2s ease;border:none}.chevron:not(.expander) span:first-of-type{left:0;transform:rotate(45deg)}.chevron:not(.expander) span:last-of-type{right:0;transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(45deg)}.dropdown.show .chevron span:first-of-type,.expander:not(.collapsed) .chevron span:first-of-type{transform:rotate(-45deg)}.dropdown.show .chevron span:last-of-type,.expander:not(.collapsed) .chevron span:last-of-type{transform:rotate(45deg)}#topnav-theme>div{border-radius:var(--language-picker-border-radius);color:var(--language-picker-text-color);background-color:var(--language-picker-background-color);border:1px solid var(--language-picker-border-color);padding:var(--language-picker-input-padding-vertical) var(--language-picker-input-padding-horizontal);min-height:var(--language-picker-min-height)}@media(max-width: 991.98px){.navbar-collapse,.dropdown-menu{box-shadow:0px 25px 40px -20px #000}}.top-banner{display:flex;align-items:center;justify-content:center;height:46px;background:url(../img/backgrounds/bg-apex-banner.svg);background-position:center !important;background-size:cover;background-color:#7919ff;color:#fff}.top-banner .inner-apex{display:flex;justify-content:center;align-items:center}.top-banner .apex-banner-text{color:#fff;font-family:"Work Sans";font-size:20px;font-style:normal;font-weight:600;line-height:24px}.top-banner .apex-btn{margin-left:16px;color:var(--Gray-100, #000) !important;font-family:"Work Sans";font-size:16px;font-style:normal;display:flex;justify-content:center;font-weight:600;align-items:center;line-height:100%;letter-spacing:-0.16px;padding:2px 4px;border-radius:100px !important;background:#18ff83 !important;text-decoration:none !important;width:135px;height:28px}@media(max-width: 1024px){.top-banner{background:url(../img/backgrounds/bg-apex-banner-md.svg)}.top-banner .apex-banner-text{font-size:18px}.top-banner .apex-btn{width:122px;height:26px;font-size:14px;letter-spacing:-0.14px}}@media(max-width: 535px){.top-banner{background:url(../img/backgrounds/bg-apex-banner-sm.svg)}.top-banner .apex-btn{margin-left:0;width:85px;height:16px;font-size:10px;line-height:100%;letter-spacing:-0.1px}.top-banner .apex-banner-text{font-size:12px;line-height:12px}.top-banner .inner-apex{flex-direction:column;gap:8px}}[data-component-name="Markdown/Markdown"] article{padding-bottom:50px}[data-component-name="Markdown/Markdown"] article p code,[data-component-name="Markdown/Markdown"] article table code,[data-component-name="Markdown/Markdown"] article li>code{background-color:#0a2e1b;color:#5beb9d}[data-component-name="Markdown/Markdown"] article a{text-decoration:underline}[data-component-name="Markdown/Markdown"] article h1{font-size:3rem;margin-top:32px;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h1:first-child{margin-top:0;line-height:1.2}[data-component-name="Markdown/Markdown"] article h2,[data-component-name="Markdown/Markdown"] article h2.md{margin-top:2.5rem;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;line-height:1.2}[data-component-name="Markdown/Markdown"] article h3,[data-component-name="Markdown/Markdown"] article h3.md{font-size:2.125rem;margin-top:2rem;margin-bottom:1rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h4{font-size:1.75rem;margin-top:1.5rem;margin-bottom:.5rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h5{font-size:1.25rem;margin-top:1.25rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h6{font-size:1rem;margin-top:1rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article li{margin:6px;margin-top:24px}[data-component-name="Markdown/Markdown"] article li p{margin:0}[data-component-name="Markdown/Markdown"] article a[title=Source]{float:right;padding-left:20px}[data-component-name="Markdown/Markdown"] article h1.invisible,[data-component-name="Markdown/Markdown"] article h2.invisible,[data-component-name="Markdown/Markdown"] article h3.invisible,[data-component-name="Markdown/Markdown"] article h4.invisible,[data-component-name="Markdown/Markdown"] article h5.invisible,[data-component-name="Markdown/Markdown"] article h6.invisible{font-size:0;line-height:0;margin:0}[data-component-name="Markdown/Markdown"] article h1.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h2.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h3.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h4.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h5.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h6.invisible .hover_anchor{display:none}[data-component-name="Markdown/Markdown"] article .shield{display:inline-block !important;vertical-align:middle}.blurb a{text-decoration:underline}.hover_anchor{visibility:hidden;padding-left:1rem;font-size:1.25rem}h1:hover .hover_anchor,h2:hover .hover_anchor,h3:hover .hover_anchor,h4:hover .hover_anchor,h5:hover .hover_anchor,h6:hover .hover_anchor{visibility:visible;text-decoration:none}pre{color:#fff;background-color:#232325;word-wrap:normal;padding:2rem;border-radius:4px}pre code{white-space:pre;color:#fff;background-color:#232325}.multicode{padding:0;z-index:1;position:relative}.multicode pre{background:none;border:none;border-radius:0;padding:0;clear:both}.multicode pre code{overflow:auto;max-height:24em;border-radius:0 4px 4px 4px;display:block;padding:2rem}.multicode pre code.expanded{overflow:visible;max-height:none;position:absolute;min-width:100%}.multicode ul{margin:0 !important;padding:0}.multicode ul li{display:block;float:left;list-style-type:none;margin-right:0px;margin-left:0px;border:0;clear:none}.multicode a{text-decoration:none;color:#fff;background-color:transparent;padding:.75rem 2rem;margin:0;border-radius:4px 4px 0 0}.multicode a.current{background-color:#232325}.multicode a:hover{text-decoration:none;background-color:#232325;color:#9a52ff;padding-bottom:.625rem}.multicode .btn{z-index:10}.multicode .codetabs{position:relative;z-index:10}.clipboard-btn{z-index:10;margin-right:10px}.codehilite{background:#232325;color:#fff}.codehilite .c,.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#838386}.codehilite .k,.codehilite .kc,.codehilite .kd,.codehilite .kn,.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#ff6719}.codehilite .m,.codehilite .mb,.codehilite .mh,.codehilite .mi,.codehilite .mo,.codehilite .il{color:#19a3ff}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#fff}.codehilite .p{color:#e0e0e1}.codehilite .s,.codehilite .s1,.codehilite .s2,.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#28b86a}.codehilite{background:transparent;position:relative}.codehilite .btn-group{top:1rem;right:1rem;position:absolute}.multicode .codehilite .btn-group{top:70px;right:20px}#redocly_root .cm-foldPlaceholder{background-color:#232325;border:none;font-size:18px}article img{max-width:100%;height:auto}article svg{max-width:100%}article .floating-diagram{margin:.5rem;float:left}article li{clear:left}html:not(.light) article svg[fill=black]{fill:#fff;stroke:#fff}html:not(.light) article svg[fill=black] *[fill=white]{fill:#000}html:not(.light) article svg[fill=black] *[stroke=white]{stroke:#000}html:not(.light) article svg[fill=black] *[fill=black]{fill:#fff}html:not(.light) article svg[fill=black] *[stroke=black]{stroke:#fff}html:not(.light) article svg[fill=black] g[fill=blue]{fill:#19a3ff}html:not(.light) article svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#e0e0e1}html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#e0e0e1}html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#343437}html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#838386}html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#838386}html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=lime],html:not(.light) article svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke=lime],html:not(.light) article svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] g[fill=yellow],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#faff19}html:not(.light) article svg[fill=black] g[fill=yellow] path[stroke=black],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"] path[stroke=black]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=red],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff198b}html:not(.light) article svg[fill=black] g[stroke=red],html:not(.light) article svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html:not(.light) article svg[fill=black] g[fill=yellow]+g text,html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]+g text{fill:#000}html:not(.light) article svg[fill=black] g[fill=lime]+g text{fill:#000}html:not(.light) article svg[fill=none] path[fill="#000000"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#000000"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#ffffff"]{fill:#000}html:not(.light) article svg[fill=none] path[stroke="#ffffff"]{stroke:#000}html:not(.light) article svg[fill=none] path[fill="#23292f"],html:not(.light) article svg[fill=none] path[fill="#23282f"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#23292f"],html:not(.light) article svg[fill=none] path[stroke="#23282f"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#2c3e50"],html:not(.light) article svg[fill=none] path[fill="#2b3e51"]{fill:#e0e0e1}html:not(.light) article svg[fill=none] path[stroke="#2c3e50"],html:not(.light) article svg[fill=none] path[stroke="#2b3e51"]{stroke:#e0e0e1}html:not(.light) article svg[fill=none] path[fill="#1c2835"]{fill:#f5f5f7}html:not(.light) article svg[fill=none] path[stroke="#1c2835"]{stroke:#f5f5f7}html:not(.light) article svg[fill=none] path[fill="#21aa47"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#21aa47"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#e64b3b"]{fill:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#e64b3b"]{stroke:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#27a2db"],html:not(.light) article svg[fill=none] path[stroke="#00aae4"]{stroke:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#27a2db"],html:not(.light) article svg[fill=none] path[fill="#00aae4"]{fill:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#e6e7e8"]{fill:#232325}html:not(.light) article svg[fill=none] path[stroke="#e6e7e8"]{stroke:#232325}html:not(.light) article svg[fill=none] path[stroke="#ffbf27"]{stroke:#d919ff}html:not(.light) article svg[fill=none] path[fill="#00ff00"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#00ff00"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#ff00ff"]{fill:#ff198b}html:not(.light) article svg[fill=none] path[stroke="#ff00ff"]{stroke:#ff198b}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#ffffff"]{stop-color:#343437}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#e6e7e8"]{stop-color:#232325}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#dbdcdd"]{stop-color:#000}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#b1b3b5"]{stop-color:#111112}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#29a1da"]{stop-color:#2dcf78}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#2789b9"]{stop-color:#5beb9d}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#6bc1ec"]{stop-color:#adf5ce}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#8ad6f4"]{stop-color:#84f0b6}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fab913"]{stop-color:#f2b2ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fad26b"]{stop-color:#ea80ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f8a136"]{stop-color:#e24cff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f7931a"]{stop-color:#c000e5}html.light svg[fill=black] g[fill=blue]{fill:#006bb2}html.light svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html.light svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#a2a2a4}html.light svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#19a3ff}html.light svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#006bb2}html.light svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#fcfcfd}html.light svg[fill=black] g[fill=lime],html.light svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#5beb9d}html.light svg[fill=black] g[stroke=lime],html.light svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#28b86a}html.light svg[fill=black] g[fill=yellow],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#fcff80}html.light svg[fill=black] g[fill=red],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff4ba4}html.light svg[fill=black] g[stroke=red],html.light svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html.light svg[fill=none] rect[fill="#111112"]{fill:#f5f5f7}html.light svg[fill=none] path[fill=white]{fill:#000}html.light svg[fill=none] path[fill="#343437"]{fill:#c1c1c2}html.light svg[fill=none] path[fill="#A2A2A4"],html.light svg[fill=none] rect[fill="#A2A2A4"],html.light svg[fill=none] ellipse[fill="#A2A2A4"]{fill:#454549}html.light svg[fill=none] path[fill="#232325"]{fill:#e0e0e1}html.light svg[fill=none] path[fill="#F5F5F7"]{fill:#111112}html.light svg[fill=none] path[stroke="#F5F5F7"]{stroke:#111112}html.light svg[fill=none] path[stroke="#FF198B"]{stroke:#b20058}html.light svg[fill=none] linearGradient stop[stop-color="#F5F5F7"]{stop-color:#111112}html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"]{stop-color:#343437}.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:16px;padding:0 4px 0 8px;width:16px;height:16px;background-position:center;transition:transform 100ms ease-in-out}.external-link:hover::after{transform:translate(3px, -3px)}.external-link .fa-external-link{display:none}.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 6px bottom 1px;width:2rem}@-moz-document url-prefix(){@supports(animation: calc(0s)){.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 8px bottom 2px}}}.top-nav .dropdown .external-link:hover::after,.xrpl-footer .external-link:hover::after{background-position:left 8px bottom 3px}.q-wrapper .external-link::after{background-position:left 0 bottom 7px}.q-wrapper .external-link:hover::after{background-position:left 4px bottom 11px}.li-links{position:relative;border-bottom:2px solid #454549}.li-links a{width:100%;padding:16px 0}.li-links a::after{position:absolute;right:4px;content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:1.5rem;padding:0 .5rem;background-position:left 0 bottom -0.1rem;transition:background-position 100ms ease-in-out}.li-links a:hover::after{background-position:left .2rem bottom .1rem}[data-component-name="Footer/Footer"]{padding:7.5rem 2rem}[data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#111112 0px 0px 2px,#111112 1px 1px 2px,#111112 2px 2px 3px,#111112 2px 2px 4px,#111112 2px 2px 5px,#111112 2px 2px 6px,#111112 -1px -1px 2px,#111112 -2px -2px 3px,#111112 -2px -2px 4px}@media(min-width: 992px){[data-component-name="Footer/Footer"]{background-image:url(../img/backgrounds/footer.svg);background-size:cover;background-repeat:no-repeat;background-position:bottom right}}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .col-lg:not(:first-child){margin-top:4rem}}[data-component-name="Footer/Footer"] h5{font-size:1rem;font-weight:600;color:#a2a2a4}[data-component-name="Footer/Footer"] .nav-link{padding:.75rem 0;line-height:1}[data-component-name="Footer/Footer"] .absolute-bottom-footer{font-size:10px;line-height:1rem}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .absolute-bottom-footer .copyright-license{margin-top:3rem}}.devportal-callout.tip,.devportal-callout.ヒント{border-color:#32e685}.devportal-callout.tip>strong:first-child:before,.devportal-callout.ヒント>strong:first-child:before{color:#32e685}.devportal-callout.note>strong:first-child:before,.devportal-callout.注記>strong:first-child:before{color:#19a3ff}.devportal-callout.note,.devportal-callout.注記{border-color:#19a3ff}.devportal-callout.caution,.devportal-callout.注意{border-color:#faff19}.devportal-callout.caution>strong:first-child:before,.devportal-callout.注意>strong:first-child:before{color:#faff19}.devportal-callout.warning,.devportal-callout.警告{border-color:#ff198b}.devportal-callout.warning>strong:first-child:before,.devportal-callout.警告>strong:first-child:before{color:#ff198b}blockquote,.devportal-callout{border-style:solid;border-radius:0;border-width:1px;border-left-width:4px;padding:5px;padding-left:25px;page-break-inside:avoid}.devportal-callout>strong:first-child{display:block;page-break-after:avoid}.devportal-callout.tip>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.note>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.caution>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.warning>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}@media(min-width: 992px){.card,.cta-card,.q-wrapper{box-shadow:0px 5px 40px #000}}#code-samples-deck .card{box-shadow:none;margin:0 2rem 5rem 2rem}#code-samples-deck .card-header{border-bottom:none;background-color:unset}#code-samples-deck .card-footer{background-color:unset;font-size:initial}#code-samples-deck .card-deck .card a{margin:0 2.5rem 5rem 2.5rem}#code-samples-deck .circled-logo{margin-left:-15px}@media(min-width: 992px){.code-contribute{width:75vw;position:relative;left:20%;right:20%;margin-left:-30vw;margin-right:-30vw}}.contribute::before{content:"";display:block;height:2px;width:100%;position:absolute;top:0}.contribute .dot{height:16px;width:16px;background-color:#111112;border-radius:50%;border:3px solid #fbff4c;display:inline-block;position:absolute;top:-7px;left:-6px}@media(max-width: 991.98px){.contribute::before{left:0;height:100%;width:2px;top:15px}.contribute .dot{top:5px;left:-6px}}.contribute_1::before{background:-webkit-linear-gradient(left, #feff01, #ff2d9a)}.contribute_1 .dot{border-color:#fbff4c}.contribute_2::before{background:-webkit-linear-gradient(left, #ff2d9a, #e24cff)}.contribute_2 .dot{border-color:#ff198b}.contribute_3::before{background:-webkit-linear-gradient(left, #e24cff, #9a52ff)}.contribute_3 .dot{border-color:#c000e5}.contribute_4::before{background:-webkit-linear-gradient(left, #9a52ff, #9a52ff)}.contribute_4 .dot{border-color:#9a52ff}.card>img{border-radius:8px 8px 0 0}.card-body>p,.card-body>p:not(:last-child){padding:0;margin-bottom:2rem}main a.card{border:0;color:#fff}a.card:hover,a:hover .card-new,[data-component-name="Markdown/Markdown"] a.card{text-decoration:none !important}a.card:hover h3{text-decoration:underline}.circled-logo{background-color:#454549;border-radius:50%;padding:.65rem;width:50px;height:50px;margin-bottom:.75rem;border:2px solid #232325}.circled-logo img{width:26px;height:26px;display:inline-block}.light .circled-logo{border:none}.card-deck{margin-top:2.5rem;margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:5rem;flex-grow:1}@media(min-width: 992px){.card-deck{margin-top:5rem}}.card-deck .card{flex-grow:0;flex-basis:100%;margin:0 1.25rem 5rem 1.25rem;background-position:bottom;background-repeat:no-repeat;background-size:contain}.card-deck.row-cols-1 .card{flex-basis:100%;min-height:264px}@media(min-width: 768px){.card-deck.row-cols-1 .card{min-height:347px}}@media(min-width: 1200px){.card-deck.row-cols-lg-3{margin-left:-2.5rem;margin-right:-2.5rem}}@media(min-width: 992px){.card-deck.row-cols-lg-3 .card{flex-basis:calc(33% - 2.5rem )}}@media(min-width: 1200px){.card-deck.row-cols-lg-3 .card{margin:0 2.5rem 5rem 2.5rem;flex-basis:calc(33% - 5rem )}}@media(min-width: 992px){.card-deck.row-cols-lg-4 .card{flex-basis:calc(25% - 2.5rem )}}.card-deck a.card{transition:all .35s ease-out;cursor:pointer}.card-deck a.card:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.card-deck .card-footer{font-size:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}@media(max-width: 991.98px){.card-deck{margin-top:2rem}.card-deck .card-body{padding:1rem}.card-deck.row-cols-1 .card{margin:.75rem .75rem 5rem .75rem;max-width:calc(100% - 1.5rem)}.card-deck.row-cols-2 .card{margin:.75rem;max-width:calc(50% - 1.5rem)}}main article .card-grid.card-grid-3xN{grid-gap:1rem}main article .card-grid.card-grid-3xN .card{padding:0;margin:.5rem}main article .card-grid.card-grid-3xN .card .card-body{padding:1rem}main article .card-grid.card-grid-3xN .card .card-icon-container{width:50px;height:50px;background:#454549;display:flex;justify-content:center;align-items:center;border-radius:50%;margin-bottom:12px}main article .card-grid.card-grid-3xN .card .card-icon-container img{width:70%;height:70%}main article .card-grid.card-grid-3xN .card .card-footer{font-size:0;line-height:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-magenta-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-orange-yellow-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-magenta.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-blue-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-magenta-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-orange-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-pink.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-green-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-orange-2.svg")}.cta-card{text-align:center;background-color:#232325}.card-subhead{font-size:1rem;margin-bottom:.25rem;margin-top:.5rem}.breadcrumbs-wrap{position:relative;z-index:11;padding:0 0 2rem 0}.interactive-block .breadcrumbs-wrap{padding:0}.breadcrumb-item+.breadcrumb-item:before{content:"";font-family:FontAwesome;padding-right:5px}.breadcrumbs-wrap .breadcrumb{padding:0;margin-bottom:0;font-size:.833em}.breadcrumb-item a{color:#e0e0e1;text-decoration:none}.breadcrumb-item a:hover{color:#9a52ff}.landing .container-fluid.section-hero,.landing .section-hero.container-sm,.landing .section-hero.container-md,.landing .section-hero.container-lg,.landing .section-hero.container-xl{padding:48px 0}.landing article .children-display>ul>li,.landing article .curated-links>ul>li{margin-top:24px}.landing article .children-display li a,.landing article .curated-links li a{font-weight:700;font-size:1.25rem;text-decoration:none}.landing article .children-display li a:hover,.landing article .curated-links li a:hover{text-decoration:underline}.landing section:first-of-type h1:first-child{margin-top:0;line-height:1.2}.landing .level-1,.landing .level-2{margin-top:0}.landing .curated-links ul,.landing .curated-links ol,.landing .children-display ul{padding-left:0;margin-bottom:0}.landing .section-hero .blurb{font-size:1.2em;line-height:1.71em}.landing .doc-index .level-1{list-style-type:disc;margin-left:1rem}.landing .doc-index .level-2{list-style-type:circle;margin-left:2rem}.landing .doc-index .level-3{list-style-type:square;margin-left:3rem}.landing .doc-index .level-4{list-style-type:disc;margin-left:4rem}.landing .doc-index .level-5{margin-left:5rem;list-style-type:circle}.landing .doc-index .level-6{margin-left:6rem;list-style-type:square}.landing p a,.landing h5 a{color:#9a52ff;font-weight:600}.landing p a:hover,.landing h5 a:hover{text-decoration:underline}.landing .display-4{margin-bottom:1.5rem}.landing #test-net-servers h3{font-size:1.4rem;font-weight:700}.landing #test-net-servers pre{overflow-x:auto}.landing section:first-of-type{border-top-width:0}.landing #main_content_wrapper{border-bottom:none;margin-top:80px}.landing .marketing-wrapper{margin-top:10rem;margin-bottom:6rem}@media(max-width: 767.98px){.landing .marketing-wrapper{margin-top:6rem}}.landing .nav .nav-link{padding:1rem 2rem 1rem 0;color:#e0e0e1;border-bottom:1px solid #232325;position:relative}.landing .nav .nav-link:hover{color:#9a52ff}.landing .nav .nav-link:not(.external-link)::after{content:" ";background-image:url(../img/icons/arrow-right-purple.svg);background-repeat:no-repeat;background-position:center;background-size:1rem;position:absolute;right:0;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link:not(.external-link):hover::after{animation:arrowDance2 1.2s infinite}.landing .nav .nav-link.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;position:absolute;background-position:center;background-size:.75rem;right:7px;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link.external-link:hover::after{animation:arrowDanceDiag 1.2s infinite}.landing .card-body .nav .nav-link{border-bottom:1px solid #454549}.alert-info{color:#fff;background-color:#006bb2;border-width:0}.alert-info a{text-decoration:underline;color:#fff}.alert-info a:hover{color:#e0e0e1}.highlight-subcard{margin:1.5rem 0;padding:1rem;border:2px solid #fff;background:#111112}.interactive-block-inner{border:1px dashed #9a52ff;padding:10px;margin:5px}.interactive-block-ui>button{margin:10px 0}.interactive-block input:invalid{box-shadow:inset 0 0 5px 5px #ff198b}.interactive-block .breadcrumbs-wrap{margin-bottom:11px}.interactive-block .breadcrumb-item{margin-top:6px}.interactive-block .breadcrumb-item a{text-decoration:none}.interactive-block .breadcrumb-item.current a{font-weight:bold}.interactive-block .breadcrumb-item.active a{color:#b480ff}.interactive-block .breadcrumb-item.disabled a{color:#454549}.interactive-block .breadcrumb-item.done a:after{content:"";font-family:FontAwesome;color:#e0e0e1;padding-right:5px;padding-left:5px}.interactive-block .waiting-for-tx{word-break:break-word}.ws-console{height:200px;overflow:auto}.status{cursor:help;padding:1px 2px;font-weight:normal;text-indent:0}.status.not_enabled{color:#faff19}.status.removed{color:#ff198b}.labels-wrap ul::before{content:"";font-family:FontAwesome;font-size:1.5rem}.labels-wrap .list-inline-item{margin-top:.5rem}.pg-category{color:#a2a2a4}.pg-category::after{content:"";font-family:FontAwesome;padding-left:5px}.label{border-radius:100px;border-width:0;padding:.5rem 1rem;font-weight:bold;text-decoration:none !important;text-align:center;white-space:nowrap;background-color:#111112;color:#c1c1c2}.label .badge-pill{width:24px;height:24px;border-radius:50px;margin-left:.5rem;font-weight:400;line-height:23px;font-size:16px;padding:0;margin-top:-2px}html.light .label{background-color:#e0e0e1;color:#232325}html.light .label .badge-pill{color:#e0e0e1;background-color:#232325}html.light .label:hover{background-color:#c1c1c2;color:#111112}html.light .label:hover .badge-pill{color:#c1c1c2;background-color:#111112}.label .badge-pill{color:#111112;background-color:#c1c1c2}.label:hover{color:#e0e0e1;background-color:#232325}.label:hover .badge-pill{color:#232325;background-color:#e0e0e1}.label.label-accounts,.label.label-payment-channels,.label.label-amm,.label.label-アカウント,.label.label-payment-channel,.label.label-use-infrastructure,.label.label-use-security,.label.blog-category-development,.label.chip-indigo{background-color:#20004c;color:#b480ff}.label.label-accounts .badge-pill,.label.label-payment-channels .badge-pill,.label.label-amm .badge-pill,.label.label-アカウント .badge-pill,.label.label-payment-channel .badge-pill,.label.label-use-infrastructure .badge-pill,.label.label-use-security .badge-pill,.label.blog-category-development .badge-pill,.label.chip-indigo .badge-pill{color:#20004c;background-color:#b480ff}.label.label-accounts:hover,.label.label-payment-channels:hover,.label.label-amm:hover,.label.label-アカウント:hover,.label.label-payment-channel:hover,.label.label-use-infrastructure:hover,.label.label-use-security:hover,.label.blog-category-development:hover,.label.chip-indigo:hover{background-color:#350080;color:#d2b2ff}.label.label-accounts:hover .badge-pill,.label.label-payment-channels:hover .badge-pill,.label.label-amm:hover .badge-pill,.label.label-アカウント:hover .badge-pill,.label.label-payment-channel:hover .badge-pill,.label.label-use-infrastructure:hover .badge-pill,.label.label-use-security:hover .badge-pill,.label.blog-category-development:hover .badge-pill,.label.chip-indigo:hover .badge-pill{color:#350080;background-color:#d2b2ff}html.light .label.label-accounts,html.light .label.label-payment-channels,html.light .label.label-amm,html.light .label.label-アカウント,html.light .label.label-payment-channel,html.light .label.label-use-infrastructure,html.light .label.label-use-security,html.light .label.blog-category-development,html.light .label.chip-indigo{background-color:#d2b2ff;color:#350080}html.light .label.label-accounts .badge-pill,html.light .label.label-payment-channels .badge-pill,html.light .label.label-amm .badge-pill,html.light .label.label-アカウント .badge-pill,html.light .label.label-payment-channel .badge-pill,html.light .label.label-use-infrastructure .badge-pill,html.light .label.label-use-security .badge-pill,html.light .label.blog-category-development .badge-pill,html.light .label.chip-indigo .badge-pill{color:#d2b2ff;background-color:#350080}html.light .label.label-accounts:hover,html.light .label.label-payment-channels:hover,html.light .label.label-amm:hover,html.light .label.label-アカウント:hover,html.light .label.label-payment-channel:hover,html.light .label.label-use-infrastructure:hover,html.light .label.label-use-security:hover,html.light .label.blog-category-development:hover,html.light .label.chip-indigo:hover{background-color:#b480ff;color:#20004c}html.light .label.label-accounts:hover .badge-pill,html.light .label.label-payment-channels:hover .badge-pill,html.light .label.label-amm:hover .badge-pill,html.light .label.label-アカウント:hover .badge-pill,html.light .label.label-payment-channel:hover .badge-pill,html.light .label.label-use-infrastructure:hover .badge-pill,html.light .label.label-use-security:hover .badge-pill,html.light .label.blog-category-development:hover .badge-pill,html.light .label.chip-indigo:hover .badge-pill{color:#b480ff;background-color:#20004c}.label.label-blockchain,.label.label-xrp,.label.label-ブロックチェーン,.label.label-non-fungible-tokens-nfts,.label.label-use-nfts,.label.blog-category-release_notes,.label.blog-category-features,.label.chip-green{background-color:#145c35;color:#84f0b6}.label.label-blockchain .badge-pill,.label.label-xrp .badge-pill,.label.label-ブロックチェーン .badge-pill,.label.label-non-fungible-tokens-nfts .badge-pill,.label.label-use-nfts .badge-pill,.label.blog-category-release_notes .badge-pill,.label.blog-category-features .badge-pill,.label.chip-green .badge-pill{background-color:#84f0b6;color:#145c35}.label.label-blockchain:hover,.label.label-xrp:hover,.label.label-ブロックチェーン:hover,.label.label-non-fungible-tokens-nfts:hover,.label.label-use-nfts:hover,.label.blog-category-release_notes:hover,.label.blog-category-features:hover,.label.chip-green:hover{background-color:#1e8a50;color:#adf5ce}.label.label-blockchain:hover .badge-pill,.label.label-xrp:hover .badge-pill,.label.label-ブロックチェーン:hover .badge-pill,.label.label-non-fungible-tokens-nfts:hover .badge-pill,.label.label-use-nfts:hover .badge-pill,.label.blog-category-release_notes:hover .badge-pill,.label.blog-category-features:hover .badge-pill,.label.chip-green:hover .badge-pill{background-color:#adf5ce;color:#1e8a50}html.light .label.label-blockchain,html.light .label.label-xrp,html.light .label.label-ブロックチェーン,html.light .label.label-non-fungible-tokens-nfts,html.light .label.label-use-nfts,html.light .label.blog-category-release_notes,html.light .label.blog-category-features,html.light .label.chip-green{background-color:#adf5ce;color:#145c35}html.light .label.label-blockchain .badge-pill,html.light .label.label-xrp .badge-pill,html.light .label.label-ブロックチェーン .badge-pill,html.light .label.label-non-fungible-tokens-nfts .badge-pill,html.light .label.label-use-nfts .badge-pill,html.light .label.blog-category-release_notes .badge-pill,html.light .label.blog-category-features .badge-pill,html.light .label.chip-green .badge-pill{color:#adf5ce;background-color:#145c35}html.light .label.label-blockchain:hover,html.light .label.label-xrp:hover,html.light .label.label-ブロックチェーン:hover,html.light .label.label-non-fungible-tokens-nfts:hover,html.light .label.label-use-nfts:hover,html.light .label.blog-category-release_notes:hover,html.light .label.blog-category-features:hover,html.light .label.chip-green:hover{background-color:#84f0b6;color:#000}html.light .label.label-blockchain:hover .badge-pill,html.light .label.label-xrp:hover .badge-pill,html.light .label.label-ブロックチェーン:hover .badge-pill,html.light .label.label-non-fungible-tokens-nfts:hover .badge-pill,html.light .label.label-use-nfts:hover .badge-pill,html.light .label.blog-category-release_notes:hover .badge-pill,html.light .label.blog-category-features:hover .badge-pill,html.light .label.chip-green:hover .badge-pill{color:#84f0b6;background-color:#000}.label.label-checks,.label.label-core-server,.label.label-コアサーバ,.label.label-use-interoperability,.label.label-use-web_monetization,.label.blog-category-gateway_bulletins,.label.chip-purple{background-color:#40004c;color:#ea80ff}.label.label-checks .badge-pill,.label.label-core-server .badge-pill,.label.label-コアサーバ .badge-pill,.label.label-use-interoperability .badge-pill,.label.label-use-web_monetization .badge-pill,.label.blog-category-gateway_bulletins .badge-pill,.label.chip-purple .badge-pill{background-color:#ea80ff;color:#40004c}.label.label-checks:hover,.label.label-core-server:hover,.label.label-コアサーバ:hover,.label.label-use-interoperability:hover,.label.label-use-web_monetization:hover,.label.blog-category-gateway_bulletins:hover,.label.chip-purple:hover{background-color:#6b0080;color:#f2b2ff}.label.label-checks:hover .badge-pill,.label.label-core-server:hover .badge-pill,.label.label-コアサーバ:hover .badge-pill,.label.label-use-interoperability:hover .badge-pill,.label.label-use-web_monetization:hover .badge-pill,.label.blog-category-gateway_bulletins:hover .badge-pill,.label.chip-purple:hover .badge-pill{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks,html.light .label.label-core-server,html.light .label.label-コアサーバ,html.light .label.label-use-interoperability,html.light .label.label-use-web_monetization,html.light .label.blog-category-gateway_bulletins,html.light .label.chip-purple{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks .badge-pill,html.light .label.label-core-server .badge-pill,html.light .label.label-コアサーバ .badge-pill,html.light .label.label-use-interoperability .badge-pill,html.light .label.label-use-web_monetization .badge-pill,html.light .label.blog-category-gateway_bulletins .badge-pill,html.light .label.chip-purple .badge-pill{color:#f2b2ff;background-color:#6b0080}html.light .label.label-checks:hover,html.light .label.label-core-server:hover,html.light .label.label-コアサーバ:hover,html.light .label.label-use-interoperability:hover,html.light .label.label-use-web_monetization:hover,html.light .label.blog-category-gateway_bulletins:hover,html.light .label.chip-purple:hover{background-color:#ea80ff;color:#40004c}html.light .label.label-checks:hover .badge-pill,html.light .label.label-core-server:hover .badge-pill,html.light .label.label-コアサーバ:hover .badge-pill,html.light .label.label-use-interoperability:hover .badge-pill,html.light .label.label-use-web_monetization:hover .badge-pill,html.light .label.blog-category-gateway_bulletins:hover .badge-pill,html.light .label.chip-purple:hover .badge-pill{color:#ea80ff;background-color:#40004c}.label.label-cross-currency,.label.label-security,.label.label-クロスカレンシー,.label.label-セキュリティ,.label.label-use-gaming,.label.label-use-defi,.label.blog-category-amendments,.label.chip-yellow{background-color:#4b4c00;color:#fcff80}.label.label-cross-currency .badge-pill,.label.label-security .badge-pill,.label.label-クロスカレンシー .badge-pill,.label.label-セキュリティ .badge-pill,.label.label-use-gaming .badge-pill,.label.label-use-defi .badge-pill,.label.blog-category-amendments .badge-pill,.label.chip-yellow .badge-pill{background-color:#fcff80;color:#4b4c00}.label.label-cross-currency:hover,.label.label-security:hover,.label.label-クロスカレンシー:hover,.label.label-セキュリティ:hover,.label.label-use-gaming:hover,.label.label-use-defi:hover,.label.blog-category-amendments:hover,.label.chip-yellow:hover{background-color:#7d8000;color:#fdffb2}.label.label-cross-currency:hover .badge-pill,.label.label-security:hover .badge-pill,.label.label-クロスカレンシー:hover .badge-pill,.label.label-セキュリティ:hover .badge-pill,.label.label-use-gaming:hover .badge-pill,.label.label-use-defi:hover .badge-pill,.label.blog-category-amendments:hover .badge-pill,.label.chip-yellow:hover .badge-pill{background-color:#fdffb2;color:#7d8000}html.light .label.label-cross-currency,html.light .label.label-security,html.light .label.label-クロスカレンシー,html.light .label.label-セキュリティ,html.light .label.label-use-gaming,html.light .label.label-use-defi,html.light .label.blog-category-amendments,html.light .label.chip-yellow{background-color:#fdffb2;color:#4b4c00}html.light .label.label-cross-currency .badge-pill,html.light .label.label-security .badge-pill,html.light .label.label-クロスカレンシー .badge-pill,html.light .label.label-セキュリティ .badge-pill,html.light .label.label-use-gaming .badge-pill,html.light .label.label-use-defi .badge-pill,html.light .label.blog-category-amendments .badge-pill,html.light .label.chip-yellow .badge-pill{color:#fdffb2;background-color:#4b4c00}html.light .label.label-cross-currency:hover,html.light .label.label-security:hover,html.light .label.label-クロスカレンシー:hover,html.light .label.label-セキュリティ:hover,html.light .label.label-use-gaming:hover,html.light .label.label-use-defi:hover,html.light .label.blog-category-amendments:hover,html.light .label.chip-yellow:hover{background-color:#fcff80;color:#4b4c00}html.light .label.label-cross-currency:hover .badge-pill,html.light .label.label-security:hover .badge-pill,html.light .label.label-クロスカレンシー:hover .badge-pill,html.light .label.label-セキュリティ:hover .badge-pill,html.light .label.label-use-gaming:hover .badge-pill,html.light .label.label-use-defi:hover .badge-pill,html.light .label.blog-category-amendments:hover .badge-pill,html.light .label.chip-yellow:hover .badge-pill{color:#fcff80;background-color:#4b4c00}.label.label-decentralized-exchange,.label.label-smart-contracts,.label.label-transaction-sending,.label.label-分散型取引所,.label.label-スマートコントラクト,.label.label-トランザクション送信,.label.label-use-developer_tooling,.label.label-use-payments,.label.blog-category-developer_reflections,.label.chip-blue{background-color:#002e4c;color:#80ccff}.label.label-decentralized-exchange .badge-pill,.label.label-smart-contracts .badge-pill,.label.label-transaction-sending .badge-pill,.label.label-分散型取引所 .badge-pill,.label.label-スマートコントラクト .badge-pill,.label.label-トランザクション送信 .badge-pill,.label.label-use-developer_tooling .badge-pill,.label.label-use-payments .badge-pill,.label.blog-category-developer_reflections .badge-pill,.label.chip-blue .badge-pill{background-color:#80ccff;color:#002e4c}.label.label-decentralized-exchange:hover,.label.label-smart-contracts:hover,.label.label-transaction-sending:hover,.label.label-分散型取引所:hover,.label.label-スマートコントラクト:hover,.label.label-トランザクション送信:hover,.label.label-use-developer_tooling:hover,.label.label-use-payments:hover,.label.blog-category-developer_reflections:hover,.label.chip-blue:hover{background-color:#004d80;color:#b2e0ff}.label.label-decentralized-exchange:hover .badge-pill,.label.label-smart-contracts:hover .badge-pill,.label.label-transaction-sending:hover .badge-pill,.label.label-分散型取引所:hover .badge-pill,.label.label-スマートコントラクト:hover .badge-pill,.label.label-トランザクション送信:hover .badge-pill,.label.label-use-developer_tooling:hover .badge-pill,.label.label-use-payments:hover .badge-pill,.label.blog-category-developer_reflections:hover .badge-pill,.label.chip-blue:hover .badge-pill{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange,html.light .label.label-smart-contracts,html.light .label.label-transaction-sending,html.light .label.label-分散型取引所,html.light .label.label-スマートコントラクト,html.light .label.label-トランザクション送信,html.light .label.label-use-developer_tooling,html.light .label.label-use-payments,html.light .label.blog-category-developer_reflections,html.light .label.chip-blue{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange .badge-pill,html.light .label.label-smart-contracts .badge-pill,html.light .label.label-transaction-sending .badge-pill,html.light .label.label-分散型取引所 .badge-pill,html.light .label.label-スマートコントラクト .badge-pill,html.light .label.label-トランザクション送信 .badge-pill,html.light .label.label-use-developer_tooling .badge-pill,html.light .label.label-use-payments .badge-pill,html.light .label.blog-category-developer_reflections .badge-pill,html.light .label.chip-blue .badge-pill{color:#b2e0ff;background-color:#004d80}html.light .label.label-decentralized-exchange:hover,html.light .label.label-smart-contracts:hover,html.light .label.label-transaction-sending:hover,html.light .label.label-分散型取引所:hover,html.light .label.label-スマートコントラクト:hover,html.light .label.label-トランザクション送信:hover,html.light .label.label-use-developer_tooling:hover,html.light .label.label-use-payments:hover,html.light .label.blog-category-developer_reflections:hover,html.light .label.chip-blue:hover{background-color:#80ccff;color:#002e4c}html.light .label.label-decentralized-exchange:hover .badge-pill,html.light .label.label-smart-contracts:hover .badge-pill,html.light .label.label-transaction-sending:hover .badge-pill,html.light .label.label-分散型取引所:hover .badge-pill,html.light .label.label-スマートコントラクト:hover .badge-pill,html.light .label.label-トランザクション送信:hover .badge-pill,html.light .label.label-use-developer_tooling:hover .badge-pill,html.light .label.label-use-payments:hover .badge-pill,html.light .label.blog-category-developer_reflections:hover .badge-pill,html.light .label.chip-blue:hover .badge-pill{color:#80ccff;background-color:#002e4c}.label.label-escrow,.label.label-tokens,.label.label-development,.label.label-トークン,.label.label-開発,.label.label-use-wallet,.label.label-use-sustainability,.label.blog-category-advisories,.label.chip-orange{background-color:#4c1a00;color:#ffaa80}.label.label-escrow .badge-pill,.label.label-tokens .badge-pill,.label.label-development .badge-pill,.label.label-トークン .badge-pill,.label.label-開発 .badge-pill,.label.label-use-wallet .badge-pill,.label.label-use-sustainability .badge-pill,.label.blog-category-advisories .badge-pill,.label.chip-orange .badge-pill{background-color:#ffaa80;color:#4c1a00}.label.label-escrow:hover,.label.label-tokens:hover,.label.label-development:hover,.label.label-トークン:hover,.label.label-開発:hover,.label.label-use-wallet:hover,.label.label-use-sustainability:hover,.label.blog-category-advisories:hover,.label.chip-orange:hover{background-color:#802b00;color:#ffccb2}.label.label-escrow:hover .badge-pill,.label.label-tokens:hover .badge-pill,.label.label-development:hover .badge-pill,.label.label-トークン:hover .badge-pill,.label.label-開発:hover .badge-pill,.label.label-use-wallet:hover .badge-pill,.label.label-use-sustainability:hover .badge-pill,.label.blog-category-advisories:hover .badge-pill,.label.chip-orange:hover .badge-pill{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow,html.light .label.label-tokens,html.light .label.label-development,html.light .label.label-トークン,html.light .label.label-開発,html.light .label.label-use-wallet,html.light .label.label-use-sustainability,html.light .label.blog-category-advisories,html.light .label.chip-orange{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow .badge-pill,html.light .label.label-tokens .badge-pill,html.light .label.label-development .badge-pill,html.light .label.label-トークン .badge-pill,html.light .label.label-開発 .badge-pill,html.light .label.label-use-wallet .badge-pill,html.light .label.label-use-sustainability .badge-pill,html.light .label.blog-category-advisories .badge-pill,html.light .label.chip-orange .badge-pill{color:#ffccb2;background-color:#802b00}html.light .label.label-escrow:hover,html.light .label.label-tokens:hover,html.light .label.label-development:hover,html.light .label.label-トークン:hover,html.light .label.label-開発:hover,html.light .label.label-use-wallet:hover,html.light .label.label-use-sustainability:hover,html.light .label.blog-category-advisories:hover,html.light .label.chip-orange:hover{background-color:#ffaa80;color:#4c1a00}html.light .label.label-escrow:hover .badge-pill,html.light .label.label-tokens:hover .badge-pill,html.light .label.label-development:hover .badge-pill,html.light .label.label-トークン:hover .badge-pill,html.light .label.label-開発:hover .badge-pill,html.light .label.label-use-wallet:hover .badge-pill,html.light .label.label-use-sustainability:hover .badge-pill,html.light .label.blog-category-advisories:hover .badge-pill,html.light .label.chip-orange:hover .badge-pill{color:#ffaa80;background-color:#4c1a00}.label.label-fees,.label.label-payments,.label.label-data-retention,.label.label-手数料,.label.label-支払い,.label.label-データ保持,.label.label-use-exchanges,.label.label-use-custody,.label.blog-category-security,.label.chip-magenta{background-color:#4c0026;color:#ff80bf}.label.label-fees .badge-pill,.label.label-payments .badge-pill,.label.label-data-retention .badge-pill,.label.label-手数料 .badge-pill,.label.label-支払い .badge-pill,.label.label-データ保持 .badge-pill,.label.label-use-exchanges .badge-pill,.label.label-use-custody .badge-pill,.label.blog-category-security .badge-pill,.label.chip-magenta .badge-pill{background-color:#ff80bf;color:#4c0026}.label.label-fees:hover,.label.label-payments:hover,.label.label-data-retention:hover,.label.label-手数料:hover,.label.label-支払い:hover,.label.label-データ保持:hover,.label.label-use-exchanges:hover,.label.label-use-custody:hover,.label.blog-category-security:hover,.label.chip-magenta:hover{background-color:#80003f;color:#ffb2d8}.label.label-fees:hover .badge-pill,.label.label-payments:hover .badge-pill,.label.label-data-retention:hover .badge-pill,.label.label-手数料:hover .badge-pill,.label.label-支払い:hover .badge-pill,.label.label-データ保持:hover .badge-pill,.label.label-use-exchanges:hover .badge-pill,.label.label-use-custody:hover .badge-pill,.label.blog-category-security:hover .badge-pill,.label.chip-magenta:hover .badge-pill{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees,html.light .label.label-payments,html.light .label.label-data-retention,html.light .label.label-手数料,html.light .label.label-支払い,html.light .label.label-データ保持,html.light .label.label-use-exchanges,html.light .label.label-use-custody,html.light .label.blog-category-security,html.light .label.chip-magenta{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees .badge-pill,html.light .label.label-payments .badge-pill,html.light .label.label-data-retention .badge-pill,html.light .label.label-手数料 .badge-pill,html.light .label.label-支払い .badge-pill,html.light .label.label-データ保持 .badge-pill,html.light .label.label-use-exchanges .badge-pill,html.light .label.label-use-custody .badge-pill,html.light .label.blog-category-security .badge-pill,html.light .label.chip-magenta .badge-pill{color:#ffb2d8;background-color:#80003f}html.light .label.label-fees:hover,html.light .label.label-payments:hover,html.light .label.label-data-retention:hover,html.light .label.label-手数料:hover,html.light .label.label-支払い:hover,html.light .label.label-データ保持:hover,html.light .label.label-use-exchanges:hover,html.light .label.label-use-custody:hover,html.light .label.blog-category-security:hover,html.light .label.chip-magenta:hover{background-color:#ff80bf;color:#4c0026}html.light .label.label-fees:hover .badge-pill,html.light .label.label-payments:hover .badge-pill,html.light .label.label-data-retention:hover .badge-pill,html.light .label.label-手数料:hover .badge-pill,html.light .label.label-支払い:hover .badge-pill,html.light .label.label-データ保持:hover .badge-pill,html.light .label.label-use-exchanges:hover .badge-pill,html.light .label.label-use-custody:hover .badge-pill,html.light .label.blog-category-security:hover .badge-pill,html.light .label.chip-magenta:hover .badge-pill{color:#ff80bf;background-color:#4c0026}.tag-cloud .list-inline-item{margin-top:1.5rem}.command-list-wrapper{position:sticky;top:calc(var(--navbar-height) + var(--toc-offset-top));max-height:calc(100vh - var(--navbar-height) - var(--toc-offset-top));overflow-y:auto;width:var(--toc-width)}#tx-sender-history .list-group-item{font-size:small;color:#454549}.response-metadata .timestamp{color:#454549}.throbber{width:24px;height:24px}#connection-status .card-body{border-left:0}#connection-status-item.active{background-color:#32e685;border-color:#32e685}.api-input-area .btn-group>.send-request.btn{border-bottom-right-radius:4px;border-top-right-radius:4px}#tx-sender-history ul{overflow:auto;height:220px;border:1px solid #e0e0e1}.progress small{margin-top:.5rem}.page-tx-sender .input-group .form-control,.interactive-block-ui .input-group .form-control{flex:1 1 20%;height:auto}.bootstrap-growl{max-width:90vw !important;overflow:hidden}.list-group-item-danger,#tx-sender-history .list-group-item-danger{background-color:#ff80bf;color:#000}.list-group-item-danger a,#tx-sender-history .list-group-item-danger a{color:#000}.list-group-item-danger a:hover,#tx-sender-history .list-group-item-danger a:hover{color:#000;text-decoration:underline}.rpc-tool .main h1::before,.rpc-tool .main h2::before,.rpc-tool .main h3::before{display:none}.form-text a{text-decoration:underline}@media print{.multicode>div{display:block !important}.multicode>em,.multicode>p>em{display:block !important;page-break-after:avoid}.multicode>p{display:block !important}.code_toggler{display:none}pre{white-space:pre-wrap;max-height:none !important;overflow:visible;page-break-inside:auto;word-wrap:break-word}pre code{white-space:pre-wrap !important;color:#22252b !important}code{white-space:pre-wrap !important;color:#22252b !important}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#22252b}article a[title=Source]{float:none}header,footer,aside{display:none !important}.navbar{display:none !important}article,#main_content_body{position:static;display:block;width:auto;height:auto;color:#000 !important;max-width:100%;overflow:visible !important}body{overflow:visible;background:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:#000}.interactive-block{display:none}.container{margin-top:1rem !important}}#home-purple{position:absolute;left:0;top:-400px}#home-green{position:absolute;right:-3px;top:60px}.sidelinks:hover{color:#9a52ff}.sidelinks.active{color:#9a52ff;font-weight:bold}.page-home #home-hero-graphic{content:url("../img/home-hero.svg");margin-left:auto;width:856px;margin-right:auto;margin-bottom:24px;max-width:100%}.page-home #benefits-list #public{content:url("../img/icons/public.svg")}.page-home #benefits-list #streamlined{content:url("../img/icons/streamlined.svg")}.page-home #benefits-list #performance{content:url("../img/icons/performance.svg")}.page-home #benefits-list #low-cost{content:url("../img/icons/low-cost.svg")}.page-home #benefits-list #community{content:url("../img/icons/community.svg")}.page-home #benefits-list #reliability{content:url("../img/icons/reliability.svg")}.page-home #advanced-features .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}.page-home #advanced-features .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}.page-home #advanced-features .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}.page-home #advanced-features .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-orange.svg")}.page-home #advanced-features .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}.page-home #get-started .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}.page-home #get-started .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}.page-home #get-started .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}.page-home #get-started .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}.page-home #get-started .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}.cta{position:absolute}.cta-top-left{top:0;left:0}.cta-bottom-right{bottom:0;right:0}.landing-bg{opacity:.6}@media(min-width: 768px){.landing-bg{opacity:1}}.landing-builtin-bg::before{content:"";position:absolute;top:0;left:0;background-repeat:no-repeat;background-position-x:left;background-position-y:top;opacity:.6}@media(min-width: 768px){.landing-builtin-bg::before{opacity:1}}#xrp-overview-blue{position:absolute;top:0;left:0}@media(max-width: 767.98px){#xrp-mark-overview{height:40px;margin-top:16px}}#wallets #wallet-ledger{content:url("../img/wallets/ledger.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-secalot{content:url("../img/wallets/secalot.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trezor{content:url("../img/wallets/trezor.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-xumm{content:url("../img/wallets/xumm.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trust{content:url("../img/wallets/trust.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gatehub{content:url("../img/wallets/gatehub.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-towo{content:url("../img/wallets/towo.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-keystone{content:url("../img/wallets/keystone.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-dcent{content:url("../img/wallets/dcent.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-coin{content:url("../img/wallets/coin.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gem{content:url("../img/wallets/gem.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#top-exchanges #exch-bitstamp{content:url("../img/exchanges/bitstamp.svg")}#top-exchanges #exch-kraken{content:url("../img/exchanges/kraken.svg")}#top-exchanges #exch-cex-io{content:url("../img/exchanges/cex-io.svg")}#top-exchanges #exch-liquid{content:url("../img/exchanges/liquid.svg")}#top-exchanges #exch-lmax{content:url("../img/exchanges/lmax.svg")}#top-exchanges #exch-bitfinex{content:url("../img/exchanges/bitfinex.svg")}#top-exchanges #exch-etoro{content:url("../img/exchanges/etoro.svg")}#top-exchanges #exch-bittrex{content:url("../img/exchanges/bittrex.png")}#top-exchanges #exch-currency-com{content:url("../img/exchanges/currency-com.png")}#top-exchanges #exch-ftx{content:url("../img/exchanges/ftx.png")}#xrpl-overview-purple{position:absolute;top:40px;left:0}@media(max-width: 767.98px){#xrpl-overview-purple{top:0;left:-20vw}}#xrpl-overview-orange{position:absolute;top:80px;right:-4px}#use-cases-orange{position:absolute;top:-480px;right:-4px}#validator-graphic{content:url(../img/validators.svg)}.page-uses .container-new{padding-left:16px;padding-right:16px}.page-uses h1{font-size:42px}.page-uses::before{transform:scaleX(-1);background-image:url(../img/backgrounds/use-cases-blue.svg)}.page-uses .card-grid{grid-gap:8px}.page-uses .card-grid img{max-height:40px}.page-uses .modal{padding:0}.page-uses .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:none;border-radius:0;box-shadow:none;outline:none;background:#111112}.page-uses .modal-header{border:none;background:#111112;box-shadow:0px 1px 2px #000}.page-uses .modal-header .cancel .chevron{transform:rotate(90deg)}.page-uses .modal-header .apply .chevron{transform:rotate(-90deg)}.page-uses .modal-footer{border:none;background:#111112;box-shadow:0px -1px 2px #000;align-items:unset;padding:.75rem;flex-direction:column;flex-wrap:wrap}.page-uses .card-title{margin-bottom:.5rem;line-height:26px}.page-uses .card-uses{padding:16px;margin:0;text-decoration:none;transition:all .35s ease-out}.page-uses .card-uses:hover{text-decoration:none;color:#e0e0e1;transform:translateY(-16px);text-decoration:none}.page-uses .card-body{background:#232325;border-radius:8px;height:100%;padding:32px;margin:0}.page-uses .page-events .label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category-header{font-weight:bold;color:#c1c1c2}.page-uses .light .category-checkbox label{color:#fff}.page-uses .category-checkbox{display:flex;align-items:center}.page-uses .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category_count{margin-left:8px;padding:2px 16px;width:24px;height:16px;background:#350080;border-radius:100px;font-weight:600;font-size:12px;line-height:16px;color:#b480ff}.page-uses .category_sidebar{position:sticky;top:10px}.page-uses #infrastructure{content:url("../img/icons/usecases/ic_infrastructure.png")}.page-uses #developer_tooling{content:url("../img/icons/usecases/ic_developer_tooling.png")}.page-uses #interoperability{content:url("../img/icons/usecases/ic_interoperability.png")}.page-uses #wallet{content:url("../img/icons/usecases/ic_wallet.png")}.page-uses #nfts{content:url("../img/icons/usecases/ic_nfts.png")}.page-uses #exchanges{content:url("../img/icons/usecases/ic_exchanges.png")}.page-uses #gaming{content:url("../img/icons/usecases/ic_gaming.png")}.page-uses #security{content:url("../img/icons/usecases/ic_security.png")}.page-uses #payments{content:url("../img/icons/usecases/ic_payments.png")}.page-uses #web_monetization{content:url("../img/icons/usecases/ic_web_monetization.png")}.page-uses #sustainability{content:url("../img/icons/usecases/ic_sustainability.png")}.page-uses #cbdc{content:url("../img/icons/usecases/ic_cbdc.png")}.page-uses #other{content:url("../img/icons/usecases/ic_other.png")}.page-uses #carbon_markets{content:url("../img/icons/usecases/ic_carbon_markets.png")}.page-uses #custody{content:url("../img/icons/usecases/ic_custody.png")}.page-uses #defi{content:url("../img/icons/usecases/ic_defi.png")}.page-uses #use_case_companies_list #bithomp .biz-logo{max-height:40px;content:url("../img/uses/bithomp.svg")}.page-uses #use_case_companies_list #onthedex .biz-logo{max-height:40px;content:url("../img/uses/onthedex.svg")}.page-uses #use_case_companies_list #gatehub .biz-logo{max-height:40px;content:url("../img/uses/gatehub.svg")}.page-uses #use_case_companies_list #towo-labs .biz-logo{max-height:40px;content:url("../img/uses/towo-labs.svg")}.page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/xrp-toolkit.svg")}.page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/xrpl-org-ledger-explorer.svg")}.page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/xrpl-rosetta.svg")}.page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/xrpscan.svg")}.page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/evernode.svg")}.page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/cryptum.svg")}.page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/x-tokenize.svg")}.page-uses #use_case_companies_list #multichain .biz-logo{max-height:40px;content:url("../img/uses/multichain.svg")}.page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/xumm-wallet.svg")}.page-uses #use_case_companies_list #gem-wallet .biz-logo{max-height:40px;content:url("../img/uses/gem-wallet.svg")}.page-uses #use_case_companies_list #aesthetes .biz-logo{max-height:40px;content:url("../img/uses/aesthetes.svg")}.page-uses #use_case_companies_list #audiotarky .biz-logo{max-height:40px;content:url("../img/uses/audiotarky.svg")}.page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/xrp-cafe.svg")}.page-uses #use_case_companies_list #nft-master .biz-logo{max-height:40px;content:url("../img/uses/nft-master.svg")}.page-uses #use_case_companies_list #onxrp .biz-logo{max-height:40px;content:url("../img/uses/onxrp.svg")}.page-uses #use_case_companies_list #peerkat .biz-logo{max-height:40px;content:url("../img/uses/peerkat.svg")}.page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/sologenic-nft.svg")}.page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/sologenic-dex.svg")}.page-uses #use_case_companies_list #xp-market .biz-logo{max-height:40px;content:url("../img/uses/xp-market.svg")}.page-uses #use_case_companies_list #ledger-city .biz-logo{max-height:40px;content:url("../img/uses/ledger-city.svg")}.page-uses #use_case_companies_list #forte .biz-logo{max-height:40px;content:url("../img/uses/forte.svg")}.page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/futureverse.svg")}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/first-ledger-bot.svg")}.page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/moai-finance.svg")}.page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/orchestra-finance.svg")}.page-uses #use_case_companies_list #anchain-ai .biz-logo{max-height:40px;content:url("../img/uses/anchain-ai.svg")}.page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/coil.svg")}.page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/carbonland-trust.svg")}.page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/casino-coin.svg")}.page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/bitgo.svg")}.page-uses #use_case_companies_list #bitpay .biz-logo{max-height:40px;content:url("../img/uses/bitpay.svg")}.page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/ripples-on-demand-liquidity.svg")}.page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/ripples-cbdc-platform.svg")}.page-uses #use_case_companies_list #momento .biz-logo{max-height:40px;content:url("../img/uses/momento.svg")}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:40px;content:url("../img/uses/zerpmon.png")}.page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/Crossmark.png")}.page-uses #use_case_companies_list #Edge .biz-logo{max-height:40px;content:url("../img/uses/Edge.png")}.page-uses .orchestra-finance{max-height:52px !important;margin:0 !important}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:81px !important}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:81px !important}@media(min-width: 992px){.page-uses h1{font-size:62px}.page-uses .container-new{padding-left:64px;padding-right:64px}.page-uses .card-grid img{max-height:48px}.page-uses .card-grid{grid-gap:48px}.page-uses .card-uses{padding:24px}}#history-orange{position:absolute;top:0;right:-4px}#history-purple{position:absolute;top:-480px;left:-4px}.hidden-section{overflow:hidden;visibility:hidden;height:0}.hidden-section.show{overflow:auto;visibility:visible;height:auto}#impact-green{position:absolute;top:0;left:-4px;rotate:180deg}#impact-purple{position:absolute;top:100px;right:-4px}#impact-magenta{position:absolute;top:100px;right:-4px}#foundation-magenta{position:absolute;top:0px;left:0px}#foundation-orange{position:absolute;top:40px;right:-4px}.page-impact #map-light{display:none}.page-impact #map-dark{display:block}.page-impact .connect-list #connect-01{content:url("../img/impact/connect-01.svg")}.page-impact .connect-list #connect-02{content:url("../img/impact/connect-02.svg")}.page-impact .connect-list #connect-03{content:url("../img/impact/connect-03.svg")}.page-impact .connect-list #connect-04{content:url("../img/impact/connect-04.svg")}.page-funding .funding-list #funding-01{content:url("../img/funding/funding-01.svg")}.page-funding .funding-list #funding-02{content:url("../img/funding/funding-02.svg")}.page-funding .funding-list #funding-03{content:url("../img/funding/funding-03.svg")}.page-funding .funding-list #funding-04{content:url("../img/funding/funding-04.svg")}.page-funding #funding-orange{position:absolute;top:132px;left:-4px}@media(min-width: 992px){.page-funding .funding-box{min-height:200px}}.page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/benefits-01.svg")}.page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/benefits-02.svg")}.page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/benefits-03.svg")}.page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/benefits-04.svg")}.page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/benefits-05.svg")}.page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/benefits-06.svg")}.page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/eligibility-01.svg")}.page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/eligibility-02.svg")}.page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/eligibility-03.svg")}.page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/eligibility-04.svg")}.page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/eligibility-05.svg")}.page-ambassadors .btn{padding:.75rem}.page-ambassadors #container-scroll{height:160px;position:relative;overflow:hidden;margin-top:80px;margin-bottom:64px}.page-ambassadors .photobanner{position:absolute;top:0px;left:0px;overflow:hidden;white-space:nowrap;animation:bannermove 40s linear infinite}.page-ambassadors .photobanner-bottom{top:112px}.page-ambassadors .photobanner img{margin:0 .5em}@keyframes bannermove{0%{transform:translate(0, 0)}100%{transform:translate(-50%, 0)}}.page-ambassadors #carouselSlidesOnly{height:392px;margin-bottom:40px}@media(min-width: 992px){.page-ambassadors #carouselSlidesOnly{height:320px;margin-bottom:104px}}.page-ambassadors h6{font-size:1.25rem}.page-ambassadors .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-ambassadors .btn-arrow:hover{text-decoration:none;background:none !important;border:none}.page-ambassadors .btn-arrow:hover::after{background-position:left 4px bottom 4px;transform:translateX(4px)}.autoscroll-content{animation:autoscroll 15s linear infinite;white-space:nowrap;overflow:hidden;max-width:300px}#community-magenta{position:absolute;top:0px;left:0px}#community-purple{position:absolute;top:160px;right:0px}.page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}.page-events #events-orange{position:absolute;top:0px;right:0px}.page-events .event-hero{color:#f5f5f7}.page-events .event-hero p{font-weight:500;font-size:24px;line-height:32px}.page-events .event-save-date{color:#fff;font-weight:bold;font-size:20px;line-height:26px}.page-events .event-small-gray{color:#e0e0e1}.page-events .btn{padding:.75rem}.page-events .event-card{max-width:311px;margin:32px auto;transition:all .35s ease-out;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;background-color:#232325;box-shadow:0px 5px 40px #000;border:1px solid rgba(0,0,0,.125);border-radius:8px;font-size:16px;line-height:24px;color:#e0e0e1}.page-events .event-card .event-card-header{position:relative;height:176px;background-size:contain !important;width:100%;border-radius:8px 8px 0 0}.page-events .event-card .event-card-title{position:absolute;bottom:32px;padding:0 32px;color:#f5f5f7;font-weight:bold;font-size:20px;line-height:28px}.page-events .event-card .event-card-body{padding:32px}.page-events .event-card .event-card-footer{padding:0 32px 32px}.page-events .event-card .event-card-footer .icon::before{height:24px;width:24px;content:"";margin-right:8px;background-size:contain;background-repeat:no-repeat}.page-events .event-card .icon-date::before{background:url(../img/events/event-date.svg)}.page-events .event-card .icon-location::before{background:url(../img/events/event-location.svg)}@media(min-width: 992px){.page-events .event-card{max-width:347px;margin:32px}.page-events .event-card-header{height:197px !important}}.page-events a.event-card:hover{transform:translateY(-16px);text-decoration:none}.page-events label{margin:0;padding-left:8px;color:#fff}.page-events .events-filter h6{font-size:16px}.page-events .events-filter{height:20px;width:20px}.page-events .events-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:checked::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#find-us-on-platforms .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple-blue-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-green-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(5) .card-footer{background-image:url(../img/cards/4col-orange-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(6) .card-footer{background-image:url(../img/cards/4col-blue-purple.svg)}#find-us-on-platforms .card-deck .card:nth-child(7) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(8) .card-footer{background-image:url(../img/cards/4col-orange-2.svg)}#find-us-on-platforms .card-deck .card{margin-bottom:2.5rem}.page-faq::before{background-image:url(../img/backgrounds/faq-bg.svg)}@media(min-width: 768px){.page-faq::before{background-size:contain}}@media(min-width: 992px){.page-faq article{max-width:704px;margin-left:auto;margin-right:auto}}.page-faq article h6:first-of-type{color:#32e685;margin-bottom:1rem;margin-top:2.5rem;font-size:1.25rem;line-height:26px;text-align:center}.page-faq article h6:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h6:first-of-type{margin-top:6.5rem}}.page-faq article h1:first-of-type{font-size:2.625rem;line-height:1.2;margin-top:0;margin-bottom:5rem;text-align:center}.page-faq article h1:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h1:first-of-type{font-size:3.875rem;margin-bottom:13rem}}.page-faq h2{margin-top:13rem;font-size:2rem;line-height:2.375rem;text-align:center;font-weight:700}.page-faq .q-wrapper,.mini-faq .q-wrapper{background:#232325;border-radius:4px;padding:2rem;padding-right:3rem;margin-bottom:1.5rem;position:relative;z-index:5;width:100%;transform:translateY(0%)}.page-faq .q-wrapper p a,.mini-faq .q-wrapper p a{text-decoration:none;font-weight:600;color:#9a52ff}.page-faq .q-wrapper p a:hover,.mini-faq .q-wrapper p a:hover{text-decoration:underline}.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1.25rem;line-height:1.625rem;margin-top:0}.page-faq .q-wrapper h4::before,.mini-faq .q-wrapper h4::before{display:block;content:" ";margin-top:-40px;height:40px;visibility:hidden;pointer-events:none}.page-faq .q-wrapper h4>a,.mini-faq .q-wrapper h4>a{text-decoration:none}.page-faq .q-wrapper h4>a:hover,.mini-faq .q-wrapper h4>a:hover{text-decoration:underline;color:#fff}@media(max-width: 991.98px){.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1rem;line-height:1.5rem}}.page-faq .q-wrapper h4 .chevron,.mini-faq .q-wrapper h4 .chevron{position:absolute;top:40px;right:2rem}.page-docs-index::before{background-position-x:right}.page-docs-index .center-search .input-group-text{height:56px;padding:.75rem .75rem .75rem 1rem;line-height:2rem}.page-docs-index .center-search .ds-input{height:56px;padding:.75rem 1rem .75rem .5rem}.page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-green.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-light-blue.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-orange.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-orange-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-magenta.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-blue-green.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-blue-2.svg)}.page-docs-index #docs-hot-topic .longform{margin-top:2.5rem}.page-docs-index #community-heading,.page-community #community-heading{padding-top:25rem;margin-top:0px}@media(max-width: 768px){.page-docs-index #community-heading,.page-community #community-heading{padding-top:31rem}}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}@media(min-width: 992px){.page-docs-index #community-heading,.page-community #community-heading{padding-left:0}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{min-width:max-content;bottom:-83%}}.page-docs-index #community-heading .parallax,.page-community #community-heading .parallax{position:absolute;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-ms-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.page-docs-index #community-heading .one,.page-community #community-heading .one{top:160px;left:0%;opacity:.4}.page-docs-index #community-heading .two,.page-community #community-heading .two{top:130px;left:56%;height:320px;opacity:.4}.page-docs-index #community-heading .three,.page-community #community-heading .three{top:145px;right:16%;height:67px}.page-docs-index #community-heading .four,.page-community #community-heading .four{top:374px;left:8%;width:107px}.page-docs-index #community-heading .five,.page-community #community-heading .five{top:476px;width:152px;height:102px;right:5%;opacity:.4}.page-docs-index #run-a-network-node .card-deck .card:nth-child(1) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(2) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(3) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-green.svg)}.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-top:104px;padding-bottom:104px}}.page-docs-index #run-a-network-node .text-cards,.page-community #run-a-network-node .text-cards{grid-gap:40px}.page-docs-index #run-a-network-node .text-cards h6::before,.page-community #run-a-network-node .text-cards h6::before{margin-top:0;height:unset}.page-docs-index #run-a-network-node .text-cards a,.page-community #run-a-network-node .text-cards a{font-size:1.25rem;line-height:26px;color:#fff;font-weight:bold}.page-docs-index #run-a-network-node .text-cards a:hover,.page-community #run-a-network-node .text-cards a:hover{text-decoration:none;background:none !important}.page-docs-index #run-a-network-node .text-cards .btn-arrow::after,.page-community #run-a-network-node .text-cards .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-top:104px;padding-bottom:208px}}.page-community #platform-github{content:url("../img/logos/github.svg")}.page-community #platform-twitch{content:url("../img/logos/twitch.svg")}.page-community #platform-stack-overflow{content:url("../img/logos/stack-overflow.svg")}.page-community #platform-twitter{content:url("../img/logos/twitter.svg")}.page-community #platform-discord{content:url("../img/logos/discord.svg")}.page-community #platform-youtube{content:url("../img/logos/youtube.svg")}.page-community #platform-devto{content:url("../img/logos/devto.svg")}.page-references #refs-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/3col-orange-2.svg)}.page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/3col-green-2.svg)}.page-references #refs-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/3col-magenta.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-4.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-blue-green-2.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-yellow-3.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-purple-blue.svg)}.page-dev-tools #xrp-explorer .card-footer{background-image:url("../img/cards/3-col-orange.svg")}.page-dev-tools #bithomp-explorer .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}.page-dev-tools #xrpscan .card-footer{background-image:url("../img/cards/3-col-pink.svg")}.page-dev-tools #token-list .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #websocket .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}.page-dev-tools #rpc .card-footer{background-image:url("../img/cards/3-col-green.svg")}.page-dev-tools #technical-explorer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #faucets .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}.page-dev-tools #domain .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}.page-dev-tools #xrp-ledger .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}.page-dev-tools #binary-visualizer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #token-metadata-lookup .card-footer{background-image:url("../img/cards/3-col-pink-purple.svg")}.page-dev-tools .nav-link{color:#a2a2a4;background-color:#111112;border-top:none;border-left:none;border-right:none;border-bottom-color:#454549}@media(max-width: 767.98px){.page-dev-tools .nav-tabs{display:flex;list-style:none;margin-left:0;padding-left:0;justify-content:space-between}.page-dev-tools .nav-item{display:inline-flex;width:auto;list-style:outside none none}.page-dev-tools .nav-link{display:inline-flex;width:auto;padding:1em 1em}}.page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#fff;font-weight:bold}.page-dev-tools .nav-tabs{border-bottom:1px solid #454549}.page-dev-tools .btn{padding:.75rem}html.light .page-dev-tools .nav-link{background-color:#f5f5f7}html.light .page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#000;font-weight:bold}html.light .page-dev-tools .nav-link{color:#000}html.light .page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}.page-rwa-tokenization .right-arrow-item::after{display:inline-block;content:url("../img/icons/arrow-right-purple.svg");position:relative;top:1px;vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-rwa-tokenization #events-orange{position:absolute;top:0px;right:0px}.page-rwa-tokenization .token-title{color:var(--black-black-0-white, #FFF);text-align:center;font-family:"Work Sans";font-size:62px;font-style:normal;font-weight:700;line-height:70px;max-width:720px;z-index:1}@media(max-width: 991.98px){.page-rwa-tokenization .token-title{font-size:42px}}.page-rwa-tokenization .token-title-container{gap:32px;padding:104px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-rwa-tokenization .token-video-container{flex-wrap:wrap;padding:104px 64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px}.page-rwa-tokenization .token-video-container .token-video{width:50%;max-width:602px;height:372px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video{width:100%}}.page-rwa-tokenization .token-video-container .token-video-text-container{max-width:520px;width:50%;display:flex;flex-direction:column;align-items:center;text-align:left;gap:24px;color:#e0e0e1;font-family:"Work Sans";font-size:24px;line-height:32px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video-text-container{width:100%}}.page-rwa-tokenization .token-cards-wrapper{display:flex;justify-content:center}.page-rwa-tokenization .token-cards-container{display:flex;padding:100px 40px;flex-direction:column;justify-content:center;align-items:start;gap:40px;max-width:1280px}.page-rwa-tokenization .token-cards-container .cards-title-token{color:var(--black-black-0-white, #FFF);font-family:"Work Sans";font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-rwa-tokenization .token-cards-container .benefits-section{display:flex;flex-direction:column;align-items:center;font-family:"Work Sans",sans-serif;overflow:hidden}.page-rwa-tokenization .token-cards-container .section-title{font-size:32px;color:var(--black-black-0-white, #fff);font-weight:700;line-height:38px;max-width:776px;text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-cards-container .benefits-container{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px;width:100%;max-width:1136px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .section-title{font-size:28px;line-height:34px}}.page-rwa-tokenization .token-cards-container .benefit-card{border-radius:8px;background-color:var(--XRPL-Black-Black-80, #232325);display:flex;flex-direction:column;justify-content:flex-start;padding:40px;height:430px;width:352px}.page-rwa-tokenization .token-cards-container .benefit-icon{min-width:40px;min-height:40px;background-size:contain;background-repeat:no-repeat}.page-rwa-tokenization .token-cards-container .benefit-icon.low-fees{background-image:url(../img/tokenization/low-fees.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.access{background-image:url(../img/tokenization/access.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.full-stack{background-image:url(../img/tokenization/full-stack.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.best-in-class{background-image:url(../img/tokenization/best-in-class.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.cross-chain{background-image:url(../img/tokenization/cross-chain.png)}.page-rwa-tokenization .token-cards-container .benefit-title{color:var(--black-black-0-white, #fff);font-size:20px;font-weight:700;line-height:26px;margin-top:-10px}.page-rwa-tokenization .token-cards-container .benefit-description{color:var(--Black-Black-20, #e0e0e1);font-size:16px;font-weight:400;line-height:24px;margin-top:16px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .benefit-card{padding:20px}}.page-rwa-tokenization .upcoming-events{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:100px 40px;width:1200px}.page-rwa-tokenization .upcoming-events__title{max-width:620px;align-self:stretch;color:#fff;font:700 32px/38px Work Sans,-apple-system,Roboto,Helvetica,sans-serif;margin-bottom:64px}.page-rwa-tokenization .upcoming-events__logo-container{display:flex;align-items:center;gap:100px;justify-content:flex-start;flex-wrap:wrap}.page-rwa-tokenization .token-events-wrapper{padding-top:0px;display:flex;justify-content:center}.page-rwa-tokenization .company-logo{flex:0 0 auto;width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}@media(max-width: 991px){.page-rwa-tokenization .upcoming-events__title{margin-bottom:40px}.page-rwa-tokenization .upcoming-events{text-align:center}.page-rwa-tokenization .upcoming-events__logo-container{justify-content:center}}@media(max-width: 575.98px){.page-rwa-tokenization .small-100{width:100%}}.page-rwa-tokenization .company-logo{cursor:pointer;flex:0 0 auto;max-width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/open-eden.png)}.page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/zoniqx.png)}.page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/archax.png)}.page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/meld.png)}.page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/ripple-logo.png)}.page-rwa-tokenization .company-logo.open-eden{height:30px}.page-rwa-tokenization .company-logo.archax{max-height:96px}.page-rwa-tokenization .company-logo.meld{max-height:96px;max-width:80px}.page-rwa-tokenization .token-developer-tools-section .developer-tools{font-family:"Work Sans",sans-serif;padding:100px 0;color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:64px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__title{font-size:32px;font-weight:700;line-height:1;margin-bottom:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__description{font-size:16px;line-height:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__list{list-style:none;padding:0;margin:0}.page-rwa-tokenization .token-developer-tools-section .feature-item{margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item a:hover{text-decoration:none}.page-rwa-tokenization .token-developer-tools-section .feature-item__content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__content:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-developer-tools-section .feature-item__title{font-size:16px;color:#e0e0e1;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__icon{width:24px;height:24px;object-fit:contain}.page-rwa-tokenization .token-developer-tools-section .feature-item__divider{height:1px;opacity:.3;background-color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__image{width:110%;height:124%;background-image:url("../img/tokenization/graphic.png");background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .token-developer-tools-section .m-h-300{min-height:300px}@media(max-width: 991px){.page-rwa-tokenization .token-developer-tools-section .developer-tools{padding:50px 0}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:40px}}.page-rwa-tokenization .token-features-section .rwa-tokenization{font-family:"Work Sans",sans-serif;padding:100px 40px;padding-top:0px;color:#fff}.page-rwa-tokenization .token-features-section .container{max-width:1200px;margin:0 auto}.page-rwa-tokenization .token-features-section .rwa-header{text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-features-section .rwa-title{font-size:32px;font-weight:700;line-height:38px;margin-bottom:16px}.page-rwa-tokenization .token-features-section .rwa-subtitle{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .token-features-section .cta-container{display:flex;justify-content:center;gap:24px}.page-rwa-tokenization .token-features-section .btn{font-size:16px;font-weight:700;padding:8px 16px;border-radius:4px;text-decoration:none}.page-rwa-tokenization .token-features-section .btn-primary{background-color:#7919ff;color:#fff}.page-rwa-tokenization .token-features-section .btn-link{color:#9a52ff}@media(max-width: 991px){.page-rwa-tokenization .token-features-section .auto-bridge{padding:18px !important}.page-rwa-tokenization .token-features-section .rwa-tokenization{padding:50px 20px}.page-rwa-tokenization .token-features-section .feature-grid{gap:20px}.page-rwa-tokenization .token-features-section .cta-container{flex-direction:column;align-items:center}}.page-rwa-tokenization .token-features-section .feature-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:20px}.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 100%;max-width:100%;margin-bottom:20px}@media(min-width: 768px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(50% - 40px);max-width:calc(50% - 40px)}}@media(min-width: 1200px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(25% - 30px);max-width:calc(25% - 30px)}}.page-rwa-tokenization .token-features-section .feature-card:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-features-section .feature-header{margin-bottom:16px}.page-rwa-tokenization .token-features-section .feature-title{display:flex;align-items:start;flex-direction:column;font-size:20px;font-weight:700;line-height:26px;color:#fff;max-width:250px}.page-rwa-tokenization .token-features-section .feature-icon{width:16px;height:16px;margin-left:8px}.page-rwa-tokenization .token-features-section .feature-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .max-w-1150{max-width:1150px !important}.page-rwa-tokenization .custom-gap{justify-content:start !important}.page-rwa-tokenization .mt-16{margin-top:16px}.page-rwa-tokenization .com-card{min-width:auto !important;padding:40px !important;height:fit-content;max-height:388px !important}.page-rwa-tokenization .section-padding{padding:100px 40px}.page-rwa-tokenization .card-description{min-height:96px}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property:#009033;--json-index:#676dff;--json-number:#676dff;--json-string:#b2762e;--json-boolean:#dc155e;--json-null:#dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy, .json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0px 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover, .json-view--pair:hover)>:is(.json-view--copy, .json-view--edit),:is(.json-view:hover, .json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property:#aa5d00;--json-index:#007299;--json-number:#007299;--json-string:green;--json-boolean:#d91e18;--json-null:#d91e18}.json-view_github{color:#005cc5;--json-property:#005cc5;--json-index:#005cc5;--json-number:#005cc5;--json-string:#032f62;--json-boolean:#005cc5;--json-null:#005cc5}.json-view_vscode{color:#005cc5;--json-property:#0451a5;--json-index:blue;--json-number:blue;--json-string:#a31515;--json-boolean:blue;--json-null:blue}.json-view_atom{color:#383a42;--json-property:#e45649;--json-index:#986801;--json-number:#986801;--json-string:#50a14f;--json-boolean:#0184bc;--json-null:#0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property:#3a9685;--json-index:#ae408b;--json-number:#ae408b;--json-string:#8123a9;--json-boolean:#0184bc;--json-null:#0184bc}.json-view{font-family:"Space Mono",monospace;padding:1em;background:#232325;overflow:hidden;color:#f5f5f7 !important;font-size:14px;letter-spacing:0}.json-view svg{height:11px !important;color:#f5f5f7}.jv-button{color:#ff6719 !important;font-size:14px}.jv-indent{border-left:1px solid #454549;margin:4px}.json-view--boolean{color:#e50071 !important}.json-view--pair{margin:4px}.json-view--property{color:#f5f5f7 !important}.json-view--null,.json-view--undefined{display:inline-block;padding:1px 2px;border-radius:3px;background-color:#454549;color:#f5f5f7 !important;font-size:11px}.json-view--number{color:#84f0b6 !important}.json-view--string{color:#ff6719 !important}.rpc-tool .nav-link{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px 9px}.dev-blog .image-container{transform:translateY(15%);z-index:1}.dev-blog .text-bg{background-color:#232325;padding:60px 40px;width:100%;border-radius:30px}@media(min-width: 992px){.dev-blog .image-container{transform:translateX(15%)}.dev-blog .text-bg{padding:50px 60px}}.dev-blog .line-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dev-blog #blog-purple{position:absolute;top:0px;left:0px}.dev-blog #card-date{color:#a2a2a4}.dev-blog .post-date{text-decoration:overline solid #32e685 10%}.dev-blog #category-list #general{content:url("../img/blog/general.png");max-width:100%;width:100%}.dev-blog #category-list #developer_reflections{content:url("../img/blog/developer_reflections.png");max-width:100%;width:100%}.dev-blog #category-list #amendments{content:url("../img/blog/amendments.png");max-width:100%;width:100%}.dev-blog #category-list #advisories{content:url("../img/blog/advisories.png");max-width:100%;width:100%}.dev-blog #category-list #release_notes{content:url("../img/blog/release_notes.png");max-width:100%;width:100%}.dev-blog #category-list #development{content:url("../img/blog/development.png");max-width:100%;width:100%}.dev-blog #category-list #gateway_bulletins{content:url("../img/blog/gateway_bulletins.png");max-width:100%;width:100%}.dev-blog #category-list #features{content:url("../img/blog/features.png");max-width:100%;width:100%}.dev-blog #category-list #security{content:url("../img/blog/security.png");max-width:100%;width:100%}.dev-blog .category_sidebar{position:sticky;top:80px}.dev-blog .category-checkbox{display:flex;align-items:center}.dev-blog .dropdown{position:relative;display:inline-block}.dev-blog .dropdown-btn{color:#fff;background-color:#232325;border-color:#232325;border-style:solid;border-radius:4px;padding:8px 16px;font-size:16px;cursor:pointer;text-align:start;padding-right:10px}.dev-blog .dropdown-btn img{content:url("../img/icons/chevron-arrow-down.svg");width:10px;height:13px;padding:8px}.dev-blog .dropdown-content{display:flex;align-items:start;background-color:#232325;padding:16px 8px;width:254px;height:auto;border-radius:4px}.dev-blog .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.dev-blog .category-header{font-weight:normal;width:200px;color:#f5f5f7}.dev-blog label{margin:0;padding-left:8px;color:#fff}.dev-blog .blog-filter h6{font-size:16px}.dev-blog .blog-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:checked::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#feedback-content .docked-widget{border:none !important;background-color:transparent !important;position:static !important;box-shadow:none !important;width:auto !important}#feedback-content .widget-form-wrapper{position:static !important;box-shadow:none !important;display:block;background-color:#232325 !important;border-width:0 !important;padding:24px !important;border-radius:8px !important}#feedback-content .widget-form-wrapper div{background-color:#232325 !important}#feedback-content .widget-form-wrapper textarea{background-color:#fff !important;opacity:1 !important;border:none !important;border-radius:4px !important;margin:0 !important;width:100% !important;color:#000 !important}#feedback-content .widget-form-wrapper .widget-header-title{background:none !important;flex-grow:0 !important;padding-right:1rem !important;height:auto !important;padding:0 !important;margin-bottom:10px !important}#feedback-content .widget-form-wrapper .widget-header-footer{background:none !important}#feedback-content .widget-form-wrapper .widget-form-footer{padding-right:0 !important}#feedback-content .widget-form-wrapper .submit{background-color:#7919ff !important;font-weight:bold !important;color:#fff !important;border:none !important;border-color:transparent !important;border-radius:4px !important;margin:0 !important;margin-top:8px !important}#feedback-content .widget-form-wrapper .submit:hover{background:#5f00e5 !important}#feedback-content .widget-form-wrapper .submit.disabled,#feedback-content .widget-form-wrapper .submit[disabled=disabled]{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .submit.disabled:hover,#feedback-content .widget-form-wrapper .submit[disabled=disabled]:hover{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .cancel{margin:0 !important;margin-top:8px !important;color:#b480ff !important;font-weight:600 !important}#feedback-content #closeFeedback{display:none}#feedback-content .widget-helpful .widget-header{background-color:#232325 !important;border-radius:8px !important}#feedback-content .widget-helpful .widget-header-title{color:#fff !important}.video-image{transition:all .35s ease-out;cursor:pointer}.video-image:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}#video-overlay{position:fixed;top:0;left:0;z-index:1190;height:100%;width:100%;background:#fff;opacity:.6;display:none}#video{display:none;position:fixed;top:10%;left:15%;width:70%;z-index:1200}#video-container{position:relative;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);max-width:982px;padding:0 20px}#videoWrapper{position:absolute;top:0;left:0;height:calc(90vh - 100px);width:80vw}#videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}#video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-external-link{color:#9a52ff;font-weight:600}.video-external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:24px;padding:9px 4px 0 8px;width:2rem;background-position:left 8px bottom 0px;transition:background-position 100ms ease-in-out}.video-external-link.video-external-link:hover::after{background-position:left 12px bottom 8px}.video-title{line-height:1.2}@media(min-width: 768px){.video-title{font-size:1rem}}@media(max-width: 768px){.page-community .sm-align-items-start{align-items:start !important}}.page-community .numbers-animation{width:218px;height:96px}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.page-community .bounce-arrow{animation:bounce 1.5s infinite;animation-timing-function:ease-in-out;height:26px;width:26px;position:relative;top:24px}.page-community .m-gif{height:108px}.page-community .middle-image{margin:0 auto;height:35px}.page-community .bg-hero{width:100%;height:635px}.page-community #center-image{cursor:pointer}.page-community .gradient-num-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .middle-image-two{margin:0 auto;height:52px}.page-community .gradient-num-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .gradient-num{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .surround-gradient{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .main-title{color:var(--black-black-0, #FFF);text-align:center;font-family:Work Sans;font-size:62px;font-style:normal;font-weight:700;line-height:70px}@media(max-width: 768px){.page-community .main-title{font-size:42px;line-height:52px;text-align:left}}.page-community .get-funding-btn{width:90%;margin:0 auto}@media(max-width: 768px){.page-community .cd-none-sm{display:none !important}}@media(min-width: 769px){.page-community .cd-none-lg{display:none !important}}.page-community .icon-date{padding-right:4px;content:url(../img/events/event-date.svg)}.page-community .icon-location{padding-right:4px;content:url(../img/events/event-location.svg)}.page-community .builders-wrap{white-space:nowrap}@media(min-width: 768px){.page-community .builders-wrap{white-space:normal}}.page-community #community-table{padding:20px 93px;max-width:1280px;margin:0 auto;border-radius:5px;padding-top:165px}@media(min-width: 992px){.page-community #community-table{padding-top:512px}}@media(max-width: 768px){.page-community #community-table{margin:0;padding:20px;margin-top:100px !important}}.page-community .eyebrow-convo{text-align:start;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px;padding-bottom:5px}.page-community .final-tr{border:none !important}.page-community #community-table h4{text-align:start;margin:10px 0;font-family:Work Sans;font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-community #community-table table{width:100%;margin-top:31px;border-collapse:collapse}.page-community #community-table tr{padding:10px 10px;border-bottom:1px solid #343437}.page-community #community-table td{overflow:hidden;max-width:34vw;position:relative;vertical-align:middle}.page-community .scrolling-text{display:inline-block}.page-community #community-table img{max-width:52px;height:29px}.page-community .td-img{padding:10px;width:69px}.page-community .td-img .discord-icon{content:url(../img/community/ic_discord.png)}.page-community .td-img .twitter-icon{content:url(../img/community/ic_twitter.png)}.page-community .td-img .youtube-icon{content:url(../img/community/ic_youtube.png)}.page-community .td-img .xrpl-icon{content:url(../img/community/ic_xrpl.png)}.page-community .td-img .github-icon{content:url(../img/community/ic_github.png)}.page-community .td-img .stackoverflow-icon{content:url(../img/community/ic_stackoverflow.png)}.page-community .text-external-link{display:inline-flex;align-items:center;margin-left:10px}.page-community .external-link-contribute{display:inline-block;vertical-align:middle;padding-right:41px;height:16px;background:url(../img/icons/arrow-up-right.svg) no-repeat center center;transition:transform .3s ease}.page-community .text-external-link:hover .external-link-contribute{transform:translate(5px, -5px)}.page-community table td{position:relative;padding-right:25px}.page-community table td .text-external-link{position:absolute;right:5px;top:50%;transform:translateY(-50%)}@media(max-width: 768px){.page-community #community-table img{width:96px;height:29px}.page-community #community-table{width:100%}.page-community .td-img{min-width:60px}}.page-community .funding-text{color:var(#FFFFFF);font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:44px;padding-bottom:4px}.page-community .xrpl-events-section{padding:50px 40px;margin:100px auto;display:flex;justify-content:space-around;align-items:center;max-width:1280px}@media screen and (max-width: 768px){.page-community .xrpl-events-section{flex-direction:column;align-items:start}.page-community .xrpl-events-section .header-div{text-align:center}.page-community .xrpl-events-section .header{display:flex;flex-direction:column;align-items:start}.page-community .xrpl-events-section .header h6{margin-bottom:.5rem;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:28px}.page-community .xrpl-events-section .header h4{font-family:Work Sans;font-size:28px;font-style:normal;font-weight:700;line-height:34px}.page-community .xrpl-events-section .description{text-align:start;margin-top:2rem;font-family:Work Sans;font-size:24px;font-style:normal;font-weight:500;line-height:28px}.page-community .xrpl-events-section .view-all-events-btn{float:left}.page-community .xrpl-events-section .upcoming-event{text-align:start;margin-top:2rem;padding:1rem 0}.page-community .xrpl-events-section .upcoming-event .days-count{margin-bottom:1rem}}.page-community .xrpl-events-section .header-div{padding-top:27px}.page-community .xrpl-events-section .header h6{padding-left:1.5px;font-family:"Work Sans",sans-serif;font-size:20px;font-weight:700;color:var(--black-black-0, #FFF);text-align:start}.page-community .xrpl-events-section .header h4{text-align:start;font-family:"Work Sans",sans-serif;font-size:32px;font-weight:700;color:var(--black-black-0, #FFF)}.page-community .xrpl-events-section .description{font-family:"Work Sans",sans-serif;font-size:20px;font-weight:500;max-width:444px;color:var(--black-black-10-gray-200, #E0E0E1);line-height:32px}.page-community .xrpl-events-section .view-all-events-btn{display:inline-block;margin-top:1rem}.page-community .xrpl-events-section .upcoming-event{margin-top:2rem}.page-community .xrpl-events-section .upcoming-event .upcoming-label{position:relative;top:7px;font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--black-black-30, #C1C1C2)}.page-community .xrpl-events-section .upcoming-event .days-count{font-weight:300;margin-bottom:21px;line-height:99px;font-size:88px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event .days-word{vertical-align:bottom;font-weight:normal;margin-bottom:21px;line-height:99px;font-size:40px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event h5{font-family:"Work Sans",sans-serif;font-size:16px;font-weight:700;color:var(--black-black-10, #F5F5F7)}.page-community .xrpl-events-section .upcoming-event .event-details,.page-community .xrpl-events-section .upcoming-event .event-location{font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;color:var(--black-black-30, #C1C1C2)}.page-community .community-funding{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1280px;margin:100px auto;padding-right:54px;padding-left:73px;margin-top:120px}.page-community .funding-section{flex:1;padding:20px;color:var(--black-black-0)}.page-community .small-text{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;padding-left:11px;text-align:start}.page-community .funding-section h2{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .funding-section p{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.page-community .stats{flex:1;display:flex;justify-content:space-between}@media(max-width: 768px){.page-community .stats{flex-direction:column;align-items:start;text-align:start;padding-left:7px}}.page-community .stacked-stats{display:flex;flex-direction:column;justify-content:space-between}.page-community .stat{align-self:center;text-align:center;margin:0 auto;display:flex;flex-direction:column}@media(max-width: 768px){.page-community .stat{margin:0px;text-align:start;align-self:start}}.page-community .number{opacity:1;font-size:88px;display:flex;padding:10px;align-items:center;line-height:96px;font-weight:300}@media screen and (max-width: 768px){.page-community .community-funding{flex-direction:column-reverse;padding-left:16px;padding-right:16px}.page-community .funding-section,.page-community .stats{width:100%}}.page-community .carousel{position:relative;width:1280px;margin:0 auto;margin-top:106px;max-width:100%}.page-community .carousel .flex-align{display:flex;align-items:center}@media(max-width: 768px){.page-community .carousel{width:100%}}.page-community .center-image-wrapper{position:relative;width:552px;height:314px}@media(max-width: 1118px){.page-community .center-image-wrapper{width:55%;height:auto}}@media(max-width: 768px){.page-community .center-image-wrapper{margin:0 auto;width:86%}}.page-community .image-container{display:flex;justify-content:space-around;align-items:center;overflow:hidden}.page-community .image-container img{max-width:100%;transition:transform .7s ease-in-out,opacity .7s ease-in-out}.page-community #center-image{width:100%}.page-community #left-image,.page-community #right-image{width:252px;height:144px;opacity:.7}@media(max-width: 1118px){.page-community #left-image,.page-community #right-image{width:15%;height:auto}}@media(max-width: 768px){.page-community #left-image,.page-community #right-image{display:none;margin:0}}.page-community #left-image.exit,.page-community #right-image.exit{transform:translateX(-100%);opacity:0}.page-community #left-image.enter,.page-community #right-image.enter{transform:translateX(100%);opacity:0}.page-community #center-image.exit{transform:scale(0.8);opacity:0}.page-community #center-image.enter{transform:scale(1);opacity:1}.page-community .nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:none;border:none;cursor:pointer}.page-community #prev-btn{left:0}.page-community #next-btn{right:0}.page-community .event-info{position:absolute;bottom:10px;left:32px;display:flex;flex-direction:column;gap:4px}@media(max-width: 768px){.page-community .event-info{left:7px}}.page-community .event-info span{color:#fff;font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.page-community .event-info .name{padding-bottom:5px;color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.page-community .arrow-wrapper{display:flex;justify-content:center;padding-top:24px}.page-community :root{--black-black-0: #FFF;--black-black-10: #F5F5F7;--black-black-30: #C1C1C2}.page-community .community-spotlight-wrapper{display:flex;padding:20px;max-width:1280px;min-height:582px;margin:100px auto;gap:48px;padding-right:54px;padding-left:73px}.page-community .community-spotlight{flex:1;display:flex;flex-direction:column;padding-right:10px}.page-community .projects-wrapper{flex:1;position:relative;display:flex;justify-content:center;gap:48px}@media(max-width: 768px){.page-community .projects-wrapper{gap:48px}}.page-community .project-card{background-color:transparent;border-radius:4px;height:fit-content;width:252px;max-height:456px}@media(max-width: 768px){.page-community .project-card{width:99%}}.page-community .project-card.bottom-right{align-self:end}.page-community .card-image{border-radius:4px;height:144px;width:252px;background-color:#2c2b2b;display:flex;align-items:center}.page-community .spotlight-title,.page-community .project-title{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .spotlight-subtitle{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .project-description{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.page-community .card-details{background-color:transparent;display:flex;flex-direction:column;text-align:start;padding:15px;height:fit-content}.page-community .view-project{color:var(--blue-purple-blue-purple-50, #7919FF);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:16px;cursor:pointer;text-decoration:none}@media(max-width: 1076px){.page-community .project-card.bottom-right{align-self:auto}.page-community .community-spotlight-wrapper{flex-direction:column;align-items:center;margin-left:0px;padding-right:26px;padding-left:26px}.page-community .community-spotlight,.page-community .projects-wrapper{width:100%;margin:0;padding:0}.page-community .projects-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;position:static}.page-community .card-image{width:100%}.page-community .card-details{gap:16px;margin-top:10px}.page-community .project-card{position:static;margin:20px 0;height:fit-content}}.page-community .w-222{width:222px}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;z-index:1;height:100%}.page-community .bottom-cards-section .com-card{border-radius:8px;padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:559px;max-width:559px;height:442px}.page-community .pr-bt16{position:relative;bottom:16px}.page-community .pr-bt28{position:relative;bottom:28px}.page-community .bottom-cards-section{display:flex;flex-direction:row;justify-content:space-around;gap:48px;max-width:1280px;margin:100px auto}.page-community .bottom-cards-section .com-card{padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative}.page-community .bottom-cards-section .com-card .top-left-img{position:absolute;top:0;height:292px;left:0;content:url(../img/community/card-bg-1.svg)}.page-community .bottom-cards-section .com-card .top-right-img.bug-bounty-card-bg{content:url(../img/community/bug-bounty-card-bg.png)}.page-community .bottom-cards-section .com-card .bottom-right-img.bug-bounty-card-bg-2{content:url(../img/community/bug-bounty-card-bg-2.png)}.page-community .bottom-cards-section .com-card .bottom-right-img{position:absolute;bottom:0;right:0;height:333px;content:url(../img/community/card-bg-2.svg)}.page-community .bottom-cards-section .com-card .top-right-img{height:390px;position:absolute;top:0;right:0;content:url(../img/community/card-bg-3.svg)}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.page-community .bottom-cards-section .com-card .card-content .card-title{margin-bottom:0px !important;color:var(--black-black-0-white, #FFF);white-space:nowrap;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px}.page-community .bottom-cards-section .com-card .card-content .card-subtitle{color:var(--black-black-0, #FFF);font-family:Work Sans;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-top:2px}.page-community .bottom-cards-section .com-card .card-content .card-description{color:var(--black-black-20, #E0E0E1);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin-top:15px;margin-bottom:15px}.page-community .bottom-cards-section .com-card .card-content .card-description a{color:#9a52ff}.page-community .bottom-cards-section .com-card .card-content .card-links{display:flex;flex-direction:column;gap:8px}.page-community .bottom-cards-section .com-card .card-content .com-card-link{text-decoration:none;cursor:pointer;color:#9a52ff;font-family:Work Sans;font-size:16px;font-style:normal;font-weight:600;line-height:24px}@media(max-width: 767.98px){.page-community .bottom-cards-section .com-card .card-content .com-card-link{display:block;width:100%}}.page-community .bottom-cards-section .com-card .card-content .com-card-link::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover{border:none}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}@media(max-width: 768px){.page-community .pr-bt28{position:relative;bottom:0px}.page-community .pr-bt16{position:relative;bottom:0px}.page-community .bottom-cards-section{flex-direction:column;align-items:center;padding:20px}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:352px;height:fit-content;max-width:352px}.page-community .bottom-cards-section .com-card{margin-bottom:20px;display:block;width:100%}}.page-community .num-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:1px}.page-community .stat-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:8px}.page-community .ml-8{margin-left:8px}.page-community .ml-19{margin-left:19px}.page-community .ml-14{margin-left:11px}.page-community .header-div .header{gap:10px;display:flex;flex-direction:column;padding-bottom:35px}.page-community .spotlight-subtitle{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .spotlight-description{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.sdk-img{align-self:center}.light .sdk-img{content:url(../img/graphics/sdk-white.png)}.light .ref-book-illustration{content:url(../img/graphics/ref-book-light.png)}.light .tutorial-illustration{content:url(../img/graphics/tutorials-illustration-light.png)}.light .concepts-doc-illustration{content:url(../img/graphics/concepts-docs-light.png)}.light .use-cases .wallet-illustration{content:url(../img/graphics/wallet-light.svg)}.light .use-cases .token-illustration{content:url(../img/graphics/tokens-light.png)}.light .use-cases .connections-illustration{content:url(../img/graphics/nodes-light.svg)}.light .quickstart-image{content:url(../img/graphics/getting-started-pages-light.png)}.light .dev-tools-img{content:url(../img/graphics/dev-tools-light.svg)}.light .dev-tools-link:hover p{color:#000}.dark .sdk-img{content:url(../img/graphics/sdk-black.png)}.dark .ref-book-illustration{content:url(../img/graphics/ref-book.png)}.dark .tutorial-illustration{content:url(../img/graphics/tutorials-illustration.png)}.dark .concepts-doc-illustration{content:url(../img/graphics/concepts-doc.png)}.dark .use-cases .wallet-illustration{content:url(../img/graphics/wallet-dark.png)}.dark .use-cases .token-illustration{content:url(../img/graphics/tokens-dark.png)}.dark .use-cases .connections-illustration{content:url(../img/graphics/nodes-dark.png)}.dark .quickstart-image{content:url(../img/graphics/getting-started-pages-dark.svg)}.dark .dev-tools-img{content:url(../img/graphics/dev-tools-dark.png)}.dark .dev-tools-link:hover p{color:#fff}.dark .flat-card-grid .nav-link:hover{color:#e0e0e1}.get-started-img,.flat-card{max-width:100%;max-height:100%}.faded-text{font-family:"Work Sans";font-style:normal;font-weight:400;font-size:15.5667px;line-height:23px}.page-docs-index section{padding-top:64px;padding-bottom:64px}.page-docs-index .dev-tools-link h6::before{margin-top:-20px;height:20px}.page-docs-index .dev-tools-link h6:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .dev-tools-link:hover p{text-decoration:none !important;background:none !important;display:inline-block}.page-docs-index .dev-tools-link a:hover{color:#9a52ff;text-decoration:none !important}.page-docs-index .dev-tools-link .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);width:1.5rem;height:1.5rem}.page-docs-index .langs>a{display:block}.page-docs-index .langs h5:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .langs a:hover{text-decoration:none !important}.page-docs-index .langs .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);vertical-align:baseline;width:1.5rem;height:1.5rem}.page-docs-index .langs h5{margin-block-start:0 !important}.page-docs-index .langs h5::before{margin-top:0;height:0}.page-docs-index h1{font-size:3.875rem}.page-docs-index .arrow-purple::after{content:url(../img/icons/arrow-right-purple.svg)}.page-docs-index .documentation-index:hover,.page-docs-index .documentation-index::after{color:#9a52ff;text-decoration:none !important;background:none !important}@media(max-width: 765px){.page-docs-index h1{font-size:3rem}.page-docs-index .flat-card-grid{grid-gap:24px}.page-docs-index .flat-card-grid .flat-card{padding:32px 12px}.page-docs-index::before{display:none}}#langs-cards{grid-gap:40px}@media(max-width: 991.98px){.page-docs-index .langs-cards{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}.dev-tools-img{max-width:100%;max-height:100%;margin:auto}.page-docs .h4::before{margin-top:0;height:0}.page-docs .row{margin-right:0;margin-left:0}.page-docs .video-grid{grid-gap:35px}.page-docs .title-space{margin-bottom:16px}.page-docs .circled-logo{margin-left:.1rem}.flat-card-grid{grid-gap:15px;max-width:100%;min-height:384px}.flat-card-grid .flat-card{padding:32px 50px;height:100%;width:100%;box-shadow:none}.flat-card-grid .flat-card-padding{margin-bottom:75px}.flat-card-grid img{width:auto;height:115px;margin-left:auto;margin-right:auto}.flat-card-grid .nav-link{border:none !important}.flat-card-grid .nav-link:hover{text-decoration:underline;text-decoration-color:#9a52ff}.flat-card-grid .nav-link::after{content:none !important}@media(max-width: 991.98px){.flat-card-grid .flat-card-padding{margin-bottom:0}.flat-card-grid .nav-link::after{content:" " !important}.flat-card-grid .flat-card .btn{display:none}}.float-up-on-hover{transition:all .35s ease-out;cursor:pointer}.float-up-on-hover:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.float-up-on-hover .video-image:hover{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}@media(min-width: 992px){.align-button-on-bottom .btn-primary{position:absolute;bottom:0}}.center-image{display:flex;justify-content:center}.quickstart-card .quickstart-image{margin-left:-20px;margin-right:-20px;margin-bottom:-20px}@media(min-width: 992px){.quickstart-card{margin-left:-32px;margin-right:-32px;margin-bottom:-32px;width:calc(100% + 64px)}}.explore-links .card-grid{grid-gap:40px}.full-documentation-link{margin-top:-35px}button.MarkpromptFloatingTrigger{bottom:4.5rem;border-radius:4px;right:16px;border:1px solid transparent;color:var(--markprompt-primaryForeground);background-color:var(--markprompt-primary)}@media(min-width: 992px){button.MarkpromptFloatingTrigger{right:32px}}html.light .MarkpromptContentDialog a{color:#7919ff}html.light .MarkpromptContentDialog h3:not(.chip){color:#000}.MarkpromptExtendedFeedbackTextInput{background-color:#fff;color:#000}.MarkpromptOverlay{z-index:20}.osano-cm-close{box-sizing:content-box !important}.osano-cm-switch{box-sizing:content-box !important}.osano-cm-widget{right:16px;width:50px;height:50px;border:1px solid transparent}@media(min-width: 992px){.osano-cm-widget{right:32px}}html.light article p code,html.light article table code,html.light article li>code{background-color:#e0e0e1;color:#111112}html.light body{background-color:#f5f5f7;color:#000}html.light #topnav-theme .custom-theme-toggle .custom-control-label::before{background-color:transparent;background-position:bottom right;transform:rotate(-15deg)}html.light h1:not(.chip),html.light h2:not(.chip),html.light h3:not(.chip),html.light h4:not(.chip),html.light h5:not(.chip),html.light h6:not(.chip),html.light .h1:not(.chip),html.light .h2:not(.chip),html.light .h3:not(.chip),html.light .h4:not(.chip),html.light .h5:not(.chip),html.light .h6:not(.chip){color:#000}html.light h1.green-500,html.light h2.green-500,html.light h3.green-500,html.light h4.green-500,html.light h5.green-500,html.light h6.green-500,html.light .h1.green-500,html.light .h2.green-500,html.light .h3.green-500,html.light .h4.green-500,html.light .h5.green-500,html.light .h6.green-500{color:#28b86a;text-shadow:#fff 0 0 2px,#fff -1px -1px 2px,#fff 1px 1px 2px}html.light .bg-grey-800{background-color:#fcfcfd}html.light .grey-400{color:#454549}html.light .text-muted{color:#232325 !important}html.light .longform{color:#232325}html.light .numbers{color:#000}html.light .stat-highlight,html.light .eyebrow{color:#111112}html.light .invertible-img{filter:invert(100%)}html.light .arrow-link::after{content:url("../img/lightmode/icon-long-arrow.svg")}html.light .search .input-group-text,html.light .input-group .input-group-text,html.light .form-group .input-group-text{background-color:#e0e0e1;color:#232325}html.light .search label .input-group-text,html.light .search .form-control:not(.btn),html.light .input-group label .input-group-text,html.light .input-group .form-control:not(.btn),html.light .form-group label .input-group-text,html.light .form-group .form-control:not(.btn){color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input,html.light .input-group .ds-input,html.light .form-group .ds-input{color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input:focus,html.light .input-group .ds-input:focus,html.light .form-group .ds-input:focus{border-color:#9a52ff}html.light .list-group-item{border-color:#232325;background-color:#f5f5f7}html.light .list-group-item.disabled{color:#a2a2a4}html.light .progress{background-color:#e0e0e1}html.light [data-component-name="Search/SearchIcon"]>path{fill:#000}html.light a,html.light nav a,html.light a:not([role=button]){color:#000}html.light a.btn-primary,html.light nav a.btn-primary,html.light a:not([role=button]).btn-primary{color:#fff}html.light a.btn-primary:hover,html.light nav a.btn-primary:hover,html.light a:not([role=button]).btn-primary:hover{color:#fff}html.light a:hover,html.light a:active,html.light a.active,html.light nav a:hover,html.light nav a:active,html.light nav a.active,html.light a:not([role=button]):hover,html.light a:not([role=button]):active,html.light a:not([role=button]).active{color:#7919ff}html.light a:not(.btn):focus,html.light nav a:not(.btn):focus,html.light a:not([role=button]):not(.btn):focus{background-color:transparent}html.light a.card:hover,html.light:active,html.light.active{color:#000}html.light .landing-table tbody td{color:#232325}html.light .btn-outline-secondary,html.light article a.button,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary{color:#111112;border-color:#111112}html.light .btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .btn-outline-secondary:not(:disabled):not(.disabled):active,html.light article a.button:not(:disabled):not(.disabled):hover,html.light article a.button:not(:disabled):not(.disabled):active,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#9a52ff;border-color:#9a52ff;background-color:transparent}html.light .breadcrumb{background:#f5f5f7}html.light .breadcrumb-item a{color:#454549}html.light .breadcrumb-item a:hover{color:#9a52ff}html.light .top-nav{background:#f5f5f7}html.light .top-nav #topnav-pages .nav-link{color:#000}html.light .top-nav .navbar-brand .logo{content:url(../img/XRPLedger_DevPortal-black.svg);height:40px}html.light .top-nav #dropdown-hero-for-docs>img{content:url(../img/icons/lightmode/docs.svg)}html.light .top-nav #dropdown-hero-for-community>img{content:url(../img/icons/lightmode/contribute.svg)}html.light .top-nav .dropdown-menu{background-color:#f5f5f7;border-color:#f5f5f7;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .top-nav .dropdown-menu a:hover,html.light .top-nav .dropdown-menu a.active{color:#7919ff}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{background-color:#fcfcfd}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero p{color:#343437}html.light .top-nav .dropdown-menu .dropdown-item.active{color:#7919ff}html.light .top-nav .dropdown-menu h5{color:#454549}html.light .top-nav .dropdown-menu .col-for-get_started{background-color:#e0e0e1}html.light .top-nav #topnav-button{background-color:#e0e0e1}@media(max-width: 991.98px){html.light .top-nav .navbar-toggler .navbar-toggler-icon::after,html.light .top-nav .navbar-toggler .navbar-toggler-icon::before,html.light .top-nav .navbar-toggler .navbar-toggler-icon div{background-color:#111112}html.light .top-nav .navbar-nav .nav-link,html.light .top-nav .navbar-collapse>.nav-item{background:#e0e0e1}html.light .top-nav #top-main-nav{background-color:#c1c1c2}}html.light aside .sidenav_cat_title{color:#000}html.light .page-toc .level-1 a,html.light .command-list .separator{color:#000}html.light aside a:hover,html.light aside .sidenav_cat_title:hover,html.light aside a.active,html.light aside a.active:hover,html.light aside .active>a,html.light aside .active>a:hover{color:#7919ff}html.light .dactyl-tree-nav nav{border-left:1px solid #000}html.light .dactyl-tree-nav nav .nav-link:hover,html.light .dactyl-tree-nav nav .nav-link:active{border-left-color:#7919ff}html.light .dactyl-tree-nav nav .active>.nav-link{border-left-color:#7919ff}html.light .page-toc,html.light .command-list{border-left:1px solid #000}html.light .page-toc .level-3,html.light .command-list .level-3{border-left:1px solid #000}html.light .page-toc li a:hover,html.light .page-toc li a .active,html.light .command-list li a:hover,html.light .command-list li a .active{border-left-color:#7919ff}html.light .footer-brand .logo{filter:invert(100%)}html.light .copyright-license{text-shadow:#fff 0px 0px 2px,#fff 1px 1px 2px,#fff 2px 2px 3px,#fff 2px 2px 4px,#fff 2px 2px 5px,#fff 2px 2px 6px,#fff -1px -1px 2px,#fff -2px -2px 3px,#fff -2px -2px 4px}html.light a.osano-cm-link{color:#fff}html.light article .card,html.light .landing .card,html.light .cta-card,html.light aside .card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card{box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card-header{border-bottom:none;background-color:#fcfcfd}html.light #code-samples-deck .card-footer{background-color:#fcfcfd}html.light .page-faq.landing-builtin-bg::before,html.light .mini-faq.landing-builtin-bg::before{opacity:.6}html.light .page-faq .q-wrapper,html.light .mini-faq .q-wrapper{background-color:#fcfcfd;color:#000;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-faq .q-wrapper>h4 a.expander:hover,html.light .mini-faq .q-wrapper>h4 a.expander:hover{color:#000}html.light .page-community .com-card{background:#fff}html.light .page-community .project-description{color:#343437}html.light .page-community #platform-stack-overflow{content:url("../img/logos/lightmode/stack-overflow.svg")}html.light .page-community #platform-discord{content:url("../img/logos/lightmode/discord.svg")}html.light .status.not_enabled{color:#aeb200}html.light .pg-category{color:#454549}html.light .landing .nav .nav-link{color:#232325;border-bottom-color:#c1c1c2}html.light .landing .circled-logo{background-color:#e0e0e1}html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"]{filter:invert(100%)}html.light .landing p a,html.light .landing .longform a{color:#7919ff}html.light .devportal-callout.caution,html.light .devportal-callout.注意{border-color:#aeb200}html.light .devportal-callout.caution>strong:first-child::before,html.light .devportal-callout.注意>strong:first-child::before{color:#aeb200}html.light .devportal-callout.tip,html.light .devportal-callout.ヒント{border-color:#2dcf78}html.light .devportal-callout.tip>strong:first-child::before,html.light .devportal-callout.ヒント>strong:first-child::before{color:#2dcf78}html.light code{color:#000}html.light pre code,html.light pre{background-color:#e0e0e1}html.light .multicode a{color:#000}html.light .multicode a.current{color:#fff}html.light .multicode a:hover{text-decoration:none;background-color:#e0e0e1;color:#fff}html.light .multicode a:focus{background-color:#232325}html.light .codehilite .btn-outline-secondary{background-color:#232325;color:#f5f5f7;border-color:#f5f5f7}html.light .interactive-block .breadcrumb-item.done a::after{color:#145c35}html.light .modal-content{background-color:#fcfcfd}html.light .rpc-tool pre .toggle{color:#fff}html.light .rpc-tool pre .toggle:hover{color:#b480ff}html.light .page-home #home-hero-graphic{content:url("../img/lightmode/home-hero.svg")}html.light .page-home #benefits-list #public{content:url("../img/icons/lightmode/public.svg")}html.light .page-home #benefits-list #streamlined{content:url("../img/icons/lightmode/streamlined.svg")}html.light .page-home #benefits-list #performance{content:url("../img/icons/lightmode/performance.svg")}html.light .page-home #benefits-list #low-cost{content:url("../img/icons/lightmode/low-cost.svg")}html.light .page-home #benefits-list #community{content:url("../img/icons/lightmode/community.svg")}html.light .page-home #benefits-list #reliability{content:url("../img/icons/lightmode/reliability.svg")}html.light #validator-graphic{content:url("../img/lightmode/validators.svg")}html.light #wallets #wallet-xumm{content:url("../img/wallets/lightmode/xumm.svg")}html.light #wallets #wallet-bitfrost{content:url("../img/wallets/lightmode/bitfrost.png")}html.light #wallets #wallet-towo{content:url("../img/wallets/lightmode/towo.svg")}html.light #wallets #wallet-keystone{content:url("../img/wallets/lightmode/keystone.svg")}html.light #wallets #wallet-dcent{content:url("../img/wallets/lightmode/dcent.svg")}html.light #wallets #wallet-coin{content:url("../img/wallets/lightmode/coin.svg")}html.light #wallets #wallet-gem{content:url("../img/wallets/lightmode/gem.svg")}html.light #top-exchanges #exch-bitstamp{content:url("../img/exchanges/lightmode/bitstamp.svg")}html.light #top-exchanges #exch-cex-io{content:url("../img/exchanges/lightmode/cex-io.svg")}html.light #top-exchanges #exch-liquid{content:url("../img/exchanges/lightmode/liquid.svg")}html.light #top-exchanges #exch-bitfinex{content:url("../img/exchanges/lightmode/bitfinex.svg")}html.light #top-exchanges #exch-bittrex{content:url("../img/exchanges/lightmode/bittrex.png")}html.light #top-exchanges #exch-currency-com{content:url("../img/exchanges/lightmode/currency-com.png")}html.light #top-exchanges #exch-ftx{content:url("../img/exchanges/lightmode/ftx.png")}html.light #top-exchanges #exch-lmax{content:url("../img/exchanges/lightmode/lmax.png")}html.light .timeline-dot{background-color:#f5f5f7}html.light .page-uses .card-body{background:#fff;color:#343437}html.light .page-uses .modal-footer,html.light .page-uses .modal-header{background-color:#fcfcfd}html.light .page-uses #infrastructure{content:url("../img/icons/usecases/lightmode/ic_infrastructure.png")}html.light .page-uses #developer_tooling{content:url("../img/icons/usecases/lightmode/ic_developer_tooling.png")}html.light .page-uses #interoperability{content:url("../img/icons/usecases/lightmode/ic_interoperability.png")}html.light .page-uses #wallet{content:url("../img/icons/usecases/lightmode/ic_wallet.png")}html.light .page-uses #nfts{content:url("../img/icons/usecases/lightmode/ic_nfts.png")}html.light .page-uses #exchanges{content:url("../img/icons/usecases/lightmode/ic_exchanges.png")}html.light .page-uses #gaming{content:url("../img/icons/usecases/lightmode/ic_gaming.png")}html.light .page-uses #security{content:url("../img/icons/usecases/lightmode/ic_security.png")}html.light .page-uses #payments{content:url("../img/icons/usecases/lightmode/ic_payments.png")}html.light .page-uses #web_monetization{content:url("../img/icons/usecases/lightmode/ic_web_monetization.png")}html.light .page-uses #sustainability{content:url("../img/icons/usecases/lightmode/ic_sustainability.png")}html.light .page-uses #cbdc{content:url("../img/icons/usecases/lightmode/ic_cbdc.png")}html.light .page-uses #custody{content:url("../img/icons/usecases/lightmode/ic_custody.png")}html.light .page-uses #other{content:url("../img/icons/usecases/lightmode/ic_other.png")}html.light .page-uses #carbon_markets{content:url("../img/icons/usecases/lightmode/ic_carbon_markets.png")}html.light .page-uses #defi{content:url("../img/icons/usecases/lightmode/ic_defi.png")}html.light .page-uses .category-header{color:#343437}html.light .page-uses .category_count{background:#d2b2ff;color:#350080}html.light .page-uses .section-text-title{color:#000}html.light .page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/lightmode/bitgo.svg")}html.light .page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-nft.svg")}html.light .page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/lightmode/carbonland-trust.svg")}html.light .page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/lightmode/futureverse.png")}html.light .page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/lightmode/x-tokenize.svg")}html.light .page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/lightmode/casino-coin.svg")}html.light .page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-cafe.svg")}html.light .page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/lightmode/coil.svg")}html.light .page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-toolkit.svg")}html.light .page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/lightmode/cryptum.svg")}html.light .page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-org-ledger-explorer.svg")}html.light .page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/lightmode/evernode.svg")}html.light .page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-rosetta.svg")}html.light .page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-cbdc-platform.svg")}html.light .page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpscan.svg")}html.light .page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-on-demand-liquidity.svg")}html.light .page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xumm-wallet.svg")}html.light .page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-dex.svg")}html.light .page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/lightmode/Crossmark.png")}html.light .page-uses #use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/lightmode/threezy.png")}html.light .page-uses .modal-content-uses .first-ledger-bot{content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses .modal-content-uses .moai-finance{content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses .modal-content-uses .orchestra-finance{max-height:52px;margin:0;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #bitpay .biz-logo,html.light .page-uses #forte .biz-logo,html.light .page-uses #xrplorer .biz-logo,html.light .page-uses #gatehub .biz-logo{filter:invert(100%)}html.light .landing-bg{opacity:.4}@media(min-width: 768px){html.light .landing-bg{opacity:1}}html.light .landing-builtin-bg::before{opacity:.4}@media(min-width: 768px){html.light .landing-builtin-bg::before{opacity:1}}html.light #feedback-content .widget-form-wrapper{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper div{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper textarea{background-color:#f5f5f7 !important}html.light #feedback-content .widget-form-wrapper .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-form-wrapper .cancel{color:#7919ff !important}html.light #feedback-content .widget-helpful .widget-header{background-color:#fff !important}html.light #feedback-content .widget-helpful .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-helpful .widget-header-icon{filter:invert(100%)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-green.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-yellow.svg)}html.light .page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-2.svg)}html.light .page-docs-index .funding-text,html.light .page-community .funding-text{color:#232325}html.light .page-docs-index .stat .small-text,html.light .page-community .stat .small-text{color:#232325}html.light .page-docs-index .project-card,html.light .page-community .project-card{background-color:transparent}html.light .page-docs-index .card-details,html.light .page-community .card-details{background-color:transparent}html.light .page-docs-index .card-image,html.light .page-community .card-image{background:#e0e0e1}html.light .page-docs-index #community-table tr,html.light .page-community #community-table tr{border-bottom:1px solid #34343740}html.light .page-docs-index .card-description,html.light .page-community .card-description{color:#343437 !important}html.light .page-docs-index .card-subtitle,html.light .page-community .card-subtitle{color:#111112 !important}html.light .page-docs-index .card-title,html.light .page-community .card-title{color:#111112 !important}html.light .page-docs-index .main-title,html.light .page-community .main-title{color:#111112}html.light .page-docs-index .event-location,html.light .page-community .event-location{color:#232325 !important}html.light .page-docs-index .event-details,html.light .page-community .event-details{color:#232325 !important}html.light .page-docs-index .upcoming-event .event-name,html.light .page-community .upcoming-event .event-name{color:#111112}html.light .page-docs-index .upcoming-label,html.light .page-community .upcoming-label{color:#232325 !important}html.light .page-docs-index .description,html.light .page-community .description{color:#232325}html.light .page-docs-index .events-text,html.light .page-community .events-text{color:#111112}html.light .page-docs-index .discord-icon,html.light .page-community .discord-icon{content:url(../img/community/ic_discord_light.png)}html.light .page-docs-index .twitter-icon,html.light .page-community .twitter-icon{content:url(../img/community/ic_twitter_light.png)}html.light .page-docs-index .youtube-icon,html.light .page-community .youtube-icon{content:url(../img/community/ic_youtube_light.png)}html.light .page-docs-index .xrpl-icon,html.light .page-community .xrpl-icon{content:url(../img/community/ic_xrpl_light.png)}html.light .page-docs-index .github-icon,html.light .page-community .github-icon{content:url(../img/community/ic_github_light.png)}html.light .page-docs-index .stackoverflow-icon,html.light .page-community .stackoverflow-icon{content:url(../img/community/ic_stackoverflow_light.png)}html.light .page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,html.light .page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-green.svg)}html.light .page-docs-index #run-a-network-node .text-cards a,html.light .page-community #run-a-network-node .text-cards a{color:#000}html.light .page-docs-index #xrpl-blog .blog-graphic,html.light .page-community #xrpl-blog .blog-graphic{content:url(../img/community/lightmode/community-blog@2x.png)}html.light .page-docs-index #xrpl-events .text-light,html.light .page-community #xrpl-events .text-light{color:#000 !important}html.light .page-docs-index #xrplGrantsDark g,html.light .page-docs-index #xrplGrantsDark-small g,html.light .page-docs-index #careersDark g,html.light .page-docs-index #careersDark-small g,html.light .page-community #xrplGrantsDark g,html.light .page-community #xrplGrantsDark-small g,html.light .page-community #careersDark g,html.light .page-community #careersDark-small g{filter:invert(100%) brightness(0.8)}html.light #find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-3.svg)}html.light .page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/3col-green-2.svg)}html.light .page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-4.svg)}html.light ::-webkit-input-placeholder{color:#454549}html.light :-ms-input-placeholder{color:#454549}html.light ::-moz-placeholder{color:#454549;opacity:1}html.light :-moz-placeholder{color:#454549;opacity:1}html.light .page-events label{color:#111112}html.light .page-events .event-card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-events a.event-card:hover{color:#000}html.light .page-events .event-hero{color:#111112}html.light .page-events .event-save-date{color:#111112}html.light .page-events .event-small-gray{color:#454549}html.light .page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1-light@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}html.light .page-events .icon-date::before{background:url(../img/events/event-date-light.svg)}html.light .page-events .icon-location::before{background:url(../img/events/event-location-light.svg)}html.light .page-events .events-filter[type=checkbox]::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#5f00e5;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background-color:#f5f5f7}html.light .page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/lightmode/benefits-01.svg")}html.light .page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/lightmode/benefits-02.svg")}html.light .page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/lightmode/benefits-03.svg")}html.light .page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/lightmode/benefits-04.svg")}html.light .page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/lightmode/benefits-05.svg")}html.light .page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/lightmode/benefits-06.svg")}html.light .page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/lightmode/eligibility-01.svg")}html.light .page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/lightmode/eligibility-02.svg")}html.light .page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/lightmode/eligibility-03.svg")}html.light .page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/lightmode/eligibility-04.svg")}html.light .page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/lightmode/eligibility-05.svg")}html.light .page-funding .funding-list #funding-01{content:url("../img/funding/lightmode/funding-01.svg")}html.light .page-funding .funding-list #funding-02{content:url("../img/funding/lightmode/funding-02.svg")}html.light .page-funding .funding-list #funding-03{content:url("../img/funding/lightmode/funding-03.svg")}html.light .page-funding .funding-list #funding-04{content:url("../img/funding/lightmode/funding-04.svg")}html.light .page-funding #xrplGrantsDark{filter:invert(100%) brightness(0.8)}html.light .page-impact .connect-list #connect-01{content:url("../img/impact/lightmode/connect-01.svg")}html.light .page-impact .connect-list #connect-02{content:url("../img/impact/lightmode/connect-02.svg")}html.light .page-impact .connect-list #connect-03{content:url("../img/impact/lightmode/connect-03.svg")}html.light .page-impact .connect-list #connect-04{content:url("../img/impact/lightmode/connect-04.svg")}html.light .page-impact #map-light{display:block}html.light .page-impact #map-dark{display:none}html.light main article .card-grid{color:#000}html.light main article .card-grid code{background-color:#d6fae7}html.light main article .card-grid .card-icon-container,html.light main article .card-grid.card-grid-3xN .card-icon-container{background:#c1c1c2}html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#f5f5f7 0px 0px 2px,#f5f5f7 1px 1px 2px,#f5f5f7 2px 2px 3px,#f5f5f7 2px 2px 4px,#f5f5f7 2px 2px 5px,#f5f5f7 2px 2px 6px,#f5f5f7 -1px -1px 2px,#f5f5f7 -2px -2px 3px,#f5f5f7 -2px -2px 4px}html.light .dev-blog .text-bg{background-color:#fff}html.light .dev-blog #card-date{color:#454549}html.light .dev-blog .category-header{color:#111112}html.light .dev-blog label{color:#343437}html.light .dev-blog .blog-filter[type=checkbox]::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:checked::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check-light-mode.svg)}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#f5f5f7}html.light .dev-blog .post-date{text-decoration:overline solid #145c35 10%}html.light .dev-blog #general-badge{background-color:#fff;color:#343437}html.light .dev-blog #release_notes-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #advisories-badge{background-color:#ff6719;color:#4c1a00}html.light .dev-blog #amendments-badge{background-color:#faff19;color:#4b4c00}html.light .dev-blog #development-badge{background-color:#7919ff;color:#20004c}html.light .dev-blog #developer_reflections-badge{background-color:#19a3ff;color:#002e4c}html.light .dev-blog #gateway_bulletins-badge{background-color:#d919ff;color:#40004c}html.light .dev-blog #features-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #security-badge{background-color:#ff198b;color:#4c0026}html.light .dev-blog .dropdown-btn{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}html.light .dev-blog .dropdown-btn img{content:url("../img/icons/lightmode/chevron-arrow-down.svg")}html.light .dev-blog .dropdown-content{background-color:#e0e0e1}html.light .page-tokenization .project-cards .project-logo{filter:invert(100%)}html.light .page-tokenization .article-card{background-color:#fff}html.light .page-tokenization .article-card-background{filter:drop-shadow(0px 1px 18px rgba(24, 24, 24, 0.5))}html.light .page-tokenization .evernode{content:url("../img/logos/evernode.svg")}html.light .page-tokenization .prev img{content:url("../img/icons/prev_light.svg")}html.light .page-tokenization .next img{content:url("../img/icons/prev_light.svg");transform:scaleX(-1)}html.light .page-tokenization .arrow-button{background-color:#e0e0e1}html.light .page-rwa-tokenization .benefit-icon.low-fees{background-image:url(../img/tokenization/lightmode/low-fees.png)}html.light .page-rwa-tokenization .benefit-icon.access{background-image:url(../img/tokenization/lightmode/access.png)}html.light .page-rwa-tokenization .benefit-icon.full-stack{background-image:url(../img/tokenization/lightmode/full-stack.png)}html.light .page-rwa-tokenization .benefit-icon.best-in-class{background-image:url(../img/tokenization/lightmode/best-in-class.png)}html.light .page-rwa-tokenization .benefit-icon.cross-chain{background-image:url(../img/tokenization/lightmode/cross-chain.png)}html.light .page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/lightmode/open-eden.png)}html.light .page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/lightmode/zoniqx.png)}html.light .page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/lightmode/archax.png)}html.light .page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/lightmode/meld.png)}html.light .page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/lightmode/ripple-logo.png)}html.light .page-rwa-tokenization .token-features-section .btn-link{color:#7919ff}html.light .page-rwa-tokenization .card-description a{color:#7919ff !important}html.light .page-rwa-tokenization .developer-tools__image{background-image:url("../img/tokenization/lightmode/graphic.png")}html.light .page-rwa-tokenization .right-arrow-item::after{content:url("../img/icons/lightmode/arrow-right-purple.svg")}html.light .page-rwa-tokenization .token-video-text-container p{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .cards-title-token{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card{background:#fff}html.light .page-rwa-tokenization .benefit-card .benefit-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card .benefit-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .developer-tools__description{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__divider{background-color:#000}html.light .page-rwa-tokenization .rwa-subtitle{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .com-card-link{color:#7919ff !important}html.light .algolia-autocomplete .ds-dropdown-menu::before{background-color:#f5f5f7}html.light .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#f5f5f7}html.light .DocSearch-Modal{box-shadow:0px 5px 20px 0px #c1c1c2} + */:root{--blue: #19A3FF;--indigo: #6610f2;--purple: #9A52FF;--pink: #FF198B;--red: #dc3545;--orange: #FF6719;--yellow: #FAFF19;--green: #32E685;--teal: #20c997;--cyan: #17a2b8;--white: #FFFFFF;--gray: #454549;--gray-dark: #232325;--primary: #9A52FF;--secondary: #E0E0E1;--success: #32E685;--info: #19A3FF;--warning: #FAFF19;--danger: #FF198B;--light: #FFFFFF;--dark: #111112;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-monospace: "Space Mono", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#e0e0e1;text-align:left;background-color:#111112}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#fff;text-decoration:none;background-color:transparent}a:hover{color:#9a52ff;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"Space Mono",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#e0e0e1;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#fff}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:0.875em;color:#454549}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#111112;border:1px solid #c1c1c2;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#454549}code{font-size:87.5%;color:#e0e0e1;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#111112;border-radius:4px;box-shadow:inset 0 -0.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#111112}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#e0e0e1}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #c1c1c2}.table thead th{vertical-align:bottom;border-bottom:2px solid #c1c1c2}.table tbody+tbody{border-top:2px solid #c1c1c2}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #c1c1c2}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#e0e0e1;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#e3cfff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#caa5ff}.table-hover .table-primary:hover{background-color:#d4b6ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#d4b6ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f6f6f7}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#efefef}.table-hover .table-secondary:hover{background-color:#e9e9eb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#e9e9eb}.table-success,.table-success>th,.table-success>td{background-color:#c6f8dd}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#94f2c0}.table-hover .table-success:hover{background-color:#aff5cf}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aff5cf}.table-info,.table-info>th,.table-info>td{background-color:#bfe5ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#87cfff}.table-hover .table-info:hover{background-color:#a6dbff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a6dbff}.table-warning,.table-warning>th,.table-warning>td{background-color:#feffbf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fcff87}.table-hover .table-warning:hover{background-color:#feffa6}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#feffa6}.table-danger,.table-danger>th,.table-danger>td{background-color:#ffbfdf}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ff87c3}.table-hover .table-danger:hover{background-color:#ffa6d2}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffa6d2}.table-light,.table-light>th,.table-light>td{background-color:#fff}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fff}.table-hover .table-light:hover{background-color:#f2f2f2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f2f2f2}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcbcbd}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#838384}.table-hover .table-dark:hover{background-color:#afafb0}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#afafb0}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#232325;border-color:#363639}.table .thead-light th{color:#343437;background-color:#e0e0e1;border-color:#c1c1c2}.table-dark{color:#fff;background-color:#232325}.table-dark th,.table-dark td,.table-dark thead th{border-color:#363639}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;background-clip:padding-box;border:1px solid transparent;border-radius:4px;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#fff;background-color:#232325;border-color:#e4d2ff;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.form-control::placeholder{color:#a2a2a4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#454549;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}select.form-control:focus::-ms-value{color:#fff;background-color:#232325}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(1rem + 1px);padding-bottom:calc(1rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.25}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:1rem 0;margin-bottom:0;font-size:1rem;line-height:1.25;color:#e0e0e1;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#e0e0e1}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#32e685}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#111112;background-color:rgba(50,230,133,.9);border-radius:4px}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#32e685;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#32e685;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#32e685}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#32e685}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#32e685}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#5feca0;background-color:#5feca0}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#32e685}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#32e685}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff198b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(255,25,139,.9);border-radius:4px}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff198b;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#ff198b;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff198b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#ff198b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#ff4ca5;background-color:#ff4ca5}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#ff198b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e0e0e1;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:1rem 1.5rem;font-size:0.875rem;line-height:1.25;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#e0e0e1;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#9a52ff;border-color:#9a52ff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#842cff;border-color:#7c1fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#842cff;border-color:#7c1fff;box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#7c1fff;border-color:#7512ff}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-secondary{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1;box-shadow:none}.btn-secondary:hover{color:#111112;background-color:#cdcdce;border-color:#c6c6c8}.btn-secondary:focus,.btn-secondary.focus{color:#111112;background-color:#cdcdce;border-color:#c6c6c8;box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#111112;background-color:#c6c6c8;border-color:#c0c0c2}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-success{color:#111112;background-color:#32e685;border-color:#32e685;box-shadow:none}.btn-success:hover{color:#fff;background-color:#1ad772;border-color:#19cc6c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#1ad772;border-color:#19cc6c;box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-success.disabled,.btn-success:disabled{color:#111112;background-color:#32e685;border-color:#32e685}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#19cc6c;border-color:#18c166}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-info{color:#fff;background-color:#19a3ff;border-color:#19a3ff;box-shadow:none}.btn-info:hover{color:#fff;background-color:#0091f2;border-color:#0089e5}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#0091f2;border-color:#0089e5;box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0089e5;border-color:#0082d8}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-warning{color:#111112;background-color:#faff19;border-color:#faff19;box-shadow:none}.btn-warning:hover{color:#111112;background-color:#ecf200;border-color:#e0e500}.btn-warning:focus,.btn-warning.focus{color:#111112;background-color:#ecf200;border-color:#e0e500;box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#111112;background-color:#faff19;border-color:#faff19}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#111112;background-color:#e0e500;border-color:#d4d800}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-danger{color:#fff;background-color:#ff198b;border-color:#ff198b;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#f20078;border-color:#e50072}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#f20078;border-color:#e50072;box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#e50072;border-color:#d8006b}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-light{color:#111112;background-color:#fff;border-color:#fff;box-shadow:none}.btn-light:hover{color:#111112;background-color:#ececec;border-color:#e6e6e6}.btn-light:focus,.btn-light.focus{color:#111112;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#111112;background-color:#fff;border-color:#fff}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#111112;background-color:#e6e6e6;border-color:#dfdfdf}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-dark{color:#fff;background-color:#111112;border-color:#111112;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#000;border-color:#000}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#111112;border-color:#111112}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-outline-primary{color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:hover{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#9a52ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-secondary{color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:hover{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e0e0e1;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-success{color:#32e685;border-color:#32e685}.btn-outline-success:hover{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#32e685;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-info{color:#19a3ff;border-color:#19a3ff}.btn-outline-info:hover{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#19a3ff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-warning{color:#faff19;border-color:#faff19}.btn-outline-warning:hover{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#faff19;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-danger{color:#ff198b;border-color:#ff198b}.btn-outline-danger:hover{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff198b;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#fff;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-dark{color:#111112;border-color:#111112}.btn-outline-dark:hover{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#111112;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-link{font-weight:400;color:#fff;text-decoration:none}.btn-link:hover{color:#9a52ff;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#454549;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e0e0e1;text-align:left;list-style:none;background-color:#111112;background-clip:padding-box;border:1px solid #111112;border-radius:4px;box-shadow:0px 5px 40px #000}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:0;border-right:.4em solid transparent;border-bottom:.4em solid;border-left:.4em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:0;border-bottom:.4em solid transparent;border-left:.4em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:.4em solid;border-bottom:.4em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #000}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#9a52ff;text-decoration:none;background-color:#111112}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#838386;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#454549;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;text-align:center;white-space:nowrap;background-color:#454549;border:1px solid transparent;border-radius:4px}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:2.5rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#9a52ff;background-color:#9a52ff}.custom-control-input:focus~.custom-control-label::before{box-shadow:none,0 0 0 .2rem rgba(154,82,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#e4d2ff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#454549}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#454549}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#232325;border:1px solid #838386;box-shadow:none}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:4px}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#9a52ff;background-color:#9a52ff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFFFFF' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#838386;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#232325;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 2.5rem 1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;vertical-align:middle;background:#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat;border:1px solid transparent;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);appearance:none}.custom-select:focus{border-color:#e4d2ff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .2rem rgba(154,82,255,.25)}.custom-select:focus::-ms-value{color:#fff;background-color:#232325}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:1.5rem;background-image:none}.custom-select:disabled{color:#454549;background-color:#e0e0e1}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.25em + 2rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#e4d2ff;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#454549}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;overflow:hidden;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;border:1px solid transparent;border-radius:4px;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.25em + 2rem);padding:1rem 1.5rem;line-height:1.25;color:#fff;content:"Browse";background-color:#454549;border-left:inherit;border-radius:0 4px 4px 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#c1c1c2;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#c1c1c2;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#838386}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#838386}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#838386}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:1rem 2rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#454549;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #c1c1c2}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:#e0e0e1 #e0e0e1 #c1c1c2}.nav-tabs .nav-link.disabled{color:#454549;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#343437;background-color:#111112;border-color:#c1c1c2 #c1c1c2 #111112}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#9a52ff}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:1.25rem;padding-bottom:1.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:1rem;padding-bottom:1rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:#454549}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:#454549;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23454549' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#454549}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#9a52ff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#232325;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:7px;border-top-right-radius:7px}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:2rem}.card-title{margin-bottom:2rem}.card-subtitle{margin-top:-1rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:2rem}.card-header{padding:2rem 2rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:7px 7px 0 0}.card-footer{padding:2rem 2rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 7px 7px}.card-header-tabs{margin-right:-1rem;margin-bottom:-2rem;margin-left:-1rem;border-bottom:0}.card-header-pills{margin-right:-1rem;margin-left:-1rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:7px}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:7px;border-top-right-radius:7px}.card-img,.card-img-bottom{border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card-deck .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-1.25rem;margin-left:-1.25rem}.card-deck .card{flex:1 0 0%;margin-right:1.25rem;margin-bottom:0;margin-left:1.25rem}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:2rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:2rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#111112;border-radius:4px}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#454549;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#a2a2a4}.pagination{display:flex;padding-left:0;list-style:none;border-radius:4px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#fff;background-color:#fff;border:1px solid #c1c1c2}.page-link:hover{z-index:2;color:#9a52ff;text-decoration:none;background-color:#e0e0e1;border-color:#c1c1c2}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.page-item.disabled .page-link{color:#454549;pointer-events:none;cursor:auto;background-color:#fff;border-color:#c1c1c2}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:8px;border-bottom-left-radius:8px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:8px;border-bottom-right-radius:8px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#9a52ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#7c1fff}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.badge-secondary{color:#111112;background-color:#e0e0e1}a.badge-secondary:hover,a.badge-secondary:focus{color:#111112;background-color:#c6c6c8}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.badge-success{color:#111112;background-color:#32e685}a.badge-success:hover,a.badge-success:focus{color:#111112;background-color:#19cc6c}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.badge-info{color:#fff;background-color:#19a3ff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0089e5}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.badge-warning{color:#111112;background-color:#faff19}a.badge-warning:hover,a.badge-warning:focus{color:#111112;background-color:#e0e500}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.badge-danger{color:#fff;background-color:#ff198b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#e50072}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.badge-light{color:#111112;background-color:#fff}a.badge-light:hover,a.badge-light:focus{color:#111112;background-color:#e6e6e6}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.badge-dark{color:#fff;background-color:#111112}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#000}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e0e0e1;border-radius:8px}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#502b85;background-color:#ebdcff;border-color:#e3cfff}.alert-primary hr{border-top-color:#d4b6ff}.alert-primary .alert-link{color:#391f5e}.alert-secondary{color:#747475;background-color:#f9f9f9;border-color:#f6f6f7}.alert-secondary hr{border-top-color:#e9e9eb}.alert-secondary .alert-link{color:#5b5b5b}.alert-success{color:#1a7845;background-color:#d6fae7;border-color:#c6f8dd}.alert-success hr{border-top-color:#aff5cf}.alert-success .alert-link{color:#114e2d}.alert-info{color:#0d5585;background-color:#d1edff;border-color:#bfe5ff}.alert-info hr{border-top-color:#a6dbff}.alert-info .alert-link{color:#083757}.alert-warning{color:#82850d;background-color:#feffd1;border-color:#feffbf}.alert-warning hr{border-top-color:#feffa6}.alert-warning .alert-link{color:#555708}.alert-danger{color:#850d48;background-color:#ffd1e8;border-color:#ffbfdf}.alert-danger hr{border-top-color:#ffa6d2}.alert-danger .alert-link{color:#57082f}.alert-light{color:#858585;background-color:#fff;border-color:#fff}.alert-light hr{border-top-color:#f2f2f2}.alert-light .alert-link{color:#6c6c6c}.alert-dark{color:#090909;background-color:#cfcfd0;border-color:#bcbcbd}.alert-dark hr{border-top-color:#afafb0}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#111112;border-radius:4px;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#9a52ff;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:4px}.list-group-item-action{width:100%;color:#343437;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#343437;text-decoration:none;background-color:#f5f5f7}.list-group-item-action:active{color:#e0e0e1;background-color:#e0e0e1}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#111112;border:1px solid #232325}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#e0e0e1;pointer-events:none;background-color:#111112}.list-group-item.active{z-index:2;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#502b85;background-color:#e3cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#502b85;background-color:#d4b6ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#502b85;border-color:#502b85}.list-group-item-secondary{color:#747475;background-color:#f6f6f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#747475;background-color:#e9e9eb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#747475;border-color:#747475}.list-group-item-success{color:#1a7845;background-color:#c6f8dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1a7845;background-color:#aff5cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1a7845;border-color:#1a7845}.list-group-item-info{color:#0d5585;background-color:#bfe5ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0d5585;background-color:#a6dbff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0d5585;border-color:#0d5585}.list-group-item-warning{color:#82850d;background-color:#feffbf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#82850d;background-color:#feffa6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#82850d;border-color:#82850d}.list-group-item-danger{color:#850d48;background-color:#ffbfdf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#850d48;background-color:#ffa6d2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#850d48;border-color:#850d48}.list-group-item-light{color:#858585;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-dark{color:#090909;background-color:#bcbcbd}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#090909;background-color:#afafb0}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#090909;border-color:#090909}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#ff198b;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#ff198b;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#454549;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:1px solid #e0e0e1;border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #c1c1c2;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #c1c1c2;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 8px}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#fff;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:7px;border-top-right-radius:7px}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e0e0e1}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#9a52ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#7c1fff !important}.bg-secondary{background-color:#e0e0e1 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#c6c6c8 !important}.bg-success{background-color:#32e685 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#19cc6c !important}.bg-info{background-color:#19a3ff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0089e5 !important}.bg-warning{background-color:#faff19 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0e500 !important}.bg-danger{background-color:#ff198b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#e50072 !important}.bg-light{background-color:#fff !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e6e6e6 !important}.bg-dark{background-color:#111112 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #c1c1c2 !important}.border-top{border-top:1px solid #c1c1c2 !important}.border-right{border-right:1px solid #c1c1c2 !important}.border-bottom{border-bottom:1px solid #c1c1c2 !important}.border-left{border-left:1px solid #c1c1c2 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#9a52ff !important}.border-secondary{border-color:#e0e0e1 !important}.border-success{border-color:#32e685 !important}.border-info{border-color:#19a3ff !important}.border-warning{border-color:#faff19 !important}.border-danger{border-color:#ff198b !important}.border-light{border-color:#fff !important}.border-dark{border-color:#111112 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:4px !important}.rounded{border-radius:4px !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-lg{border-radius:8px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"Space Mono",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#9a52ff !important}a.text-primary:hover,a.text-primary:focus{color:#6d06ff !important}.text-secondary{color:#e0e0e1 !important}a.text-secondary:hover,a.text-secondary:focus{color:#b9b9bb !important}.text-success{color:#32e685 !important}a.text-success:hover,a.text-success:focus{color:#16b560 !important}.text-info{color:#19a3ff !important}a.text-info:hover,a.text-info:focus{color:#007acc !important}.text-warning{color:#faff19 !important}a.text-warning:hover,a.text-warning:focus{color:#c7cc00 !important}.text-danger{color:#ff198b !important}a.text-danger:hover,a.text-danger:focus{color:#cc0065 !important}.text-light{color:#fff !important}a.text-light:hover,a.text-light:focus{color:#d9d9d9 !important}.text-dark{color:#111112 !important}a.text-dark:hover,a.text-dark:focus{color:#000 !important}.text-body{color:#e0e0e1 !important}.text-muted{color:#e0e0e1 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #838386;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#c1c1c2}.table .thead-dark th{color:inherit;border-color:#c1c1c2}}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}pre,code{font-feature-settings:"liga" 0;font-variant-ligatures:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}h1,.h1{font-size:3.875rem;line-height:70px}@media(max-width: 480px){h1,.h1{font-size:2.625rem;line-height:48px}}h2,.h2{font-size:3.5rem;line-height:62px}@media(max-width: 767.98px){h2,.h2{font-size:1.75rem;line-height:34px}}@media(max-width: 767.98px){h2-sm,.h2-sm{font-size:1.75rem !important;line-height:34px !important}}h3,.h3{font-size:3rem;line-height:52px}@media(max-width: 767.98px){h3,.h3{font-size:1.5rem;line-height:28px}}@media(max-width: 767.98px){h3-sm,.h3-sm{font-size:1.5rem;line-height:28px}}h4,.h4{font-size:2rem;line-height:38px}@media(max-width: 767.98px){h4,.h4{font-size:1.25rem;line-height:26px}}h5,.h5{font-size:1.5rem;line-height:32px}@media(max-width: 767.98px){h5,.h5{font-size:1.125rem;line-height:26px}}h6,.h6{font-size:1.25rem;line-height:26px}@media(max-width: 767.98px){h6,.h6{font-size:1rem;line-height:24px}}.longform{font-size:1.5rem;line-height:32px;color:#f5f5f7;font-weight:500}@media(max-width: 767.98px){.longform{font-size:1.25rem;line-height:26px}}.numbers{font-size:6rem;line-height:104px;font-weight:bold;color:#fff}@media(max-width: 767.98px){.numbers{font-size:3.875rem;line-height:70px}}p{font-size:1rem;line-height:24px}.fs-base{font-size:1rem}.fs-3{font-size:.75rem;line-height:1rem}.fs-4-5{font-size:1.125rem}.fs-5{font-size:1.25rem}.fs-5-5{font-size:1.375rem}.fs-6{font-size:1.5rem}.normal{font-weight:normal}.bold{font-weight:bold}.text-largest{font-size:1.5rem;font-weight:normal}.text-large{font-size:1.125rem}.text-small{font-size:.875rem}.text-smaller{font-size:.75rem}.text-smallest{font-size:.625rem}.arrow-link{text-decoration:none}.arrow-link:after{content:url(../img/icon-long-arrow.svg);width:28px;padding-left:7px;transition:all .2s ease-in-out;display:inline-block;text-decoration:none}.arrow-link:hover:after{padding-left:14px}.lang-ja{font-family:"Work Sans","Noto Sans JP",sans-serif}.lang-ja h1,.lang-ja h2,.lang-ja h3,.lang-ja h4,.lang-ja h5,.lang-ja .navbar .navbar-nav .nav-link,.lang-ja article .children-display li a,.lang-ja .right-sidebar .level-1 a,.lang-ja .right-sidebar .separator{font-family:"Work Sans","Noto Sans JP",sans-serif}.search .input-group-text{border-width:0;color:#fff;background-color:#232325;border-radius:4px 0 0 4px;padding:.5rem .5rem .5rem 1rem;line-height:1.5}.search .ds-input{background-color:#232325;border-radius:0 4px 4px 0;padding:.75rem 1rem .75rem .5rem;width:100%;border:1px solid #232325}.search .ds-input:focus{box-shadow:none;border-color:#9a52ff}.search .algolia-autocomplete{flex-grow:1}#algolia-autocomplete-listbox-0{z-index:1100 !important}html .DocSearch-Modal{box-shadow:none}html .DocSearch-Button{height:32px;border-radius:4px}html .DocSearch-Button:hover{border-radius:4px}html .DocSearch-Modal{max-width:55%}@media(min-width: 1200px){html .DocSearch-Modal{margin-right:112px}}@media(max-width: 991.98px){html .algolia-autocomplete .ds-dropdown-menu{min-width:unset}html .DocSearch-Modal{top:112px;max-width:100%;margin-left:0;margin-right:0}}html .DocSearch-Container{z-index:99999 !important;background-color:transparent !important}html #centersearchboxcontainer{justify-content:center}html #topsearchboxcontainer{justify-content:right}html .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background-color:#111112;border:0;border-radius:8px}html .algolia-autocomplete .algolia-docsearch-suggestion--category-header{border:0;font-weight:bold}html .algolia-autocomplete .algolia-docsearch-suggestion--text{font-size:.8rem}html .algolia-autocomplete .ds-dropdown-menu::before{border:0}.dark .DocSearch-Modal{background-color:#232325}.dark .DocSearch-Cancel{color:#9a52ff}.dark .DocSearch-Form{box-shadow:inset 0 0 0 2px #9a52ff;background-color:#232325}.dark .DocSearch-Hit-source{color:#9a52ff}.dark .DocSearch-Hits mark{color:#9a52ff}.dark .DocSearch-Hit-source,.dark .DocSearch-Hit-Container,.dark .DocSearch-Footer{background-color:#232325}.dark .DocSearch-Hit a{background-color:#232325;box-shadow:none}.dark .DocSearch-Hit-source{color:#a2a2a4}.dark .DocSearch-Input{color:#fff}.dark .DocSearch-Hit-title,.dark .DocSearch-Hit-path,.dark .DocSearch-Label,.dark .DocSearch-Help{color:#f5f5f7 !important}.dark .DocSearch-Hit[aria-selected=true] a{background:#343437}.dark .DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Container{background-color:#343437}.dark .DocSearch-Hit[aria-selected=true] a mark{color:#9a52ff !important}.dark .DocSearch-Prefill{color:#9a52ff}.dark .DocSearch-Button{background:#232325}.dark .DocSearch-Button:hover{background:#232325;box-shadow:inset 0 0 0 2px #9a52ff}.dark .DocSearch-Button:hover .DocSearch-Button-Placeholder{color:#fff}.dark .DocSearch-Search-Icon{color:#fff !important}.dark .DocSearch-Logo svg .cls-1,.dark .DocSearch-Logo svg .cls-2{fill:#fff}.dark .DocSearch-Commands-Key{color:#232325}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header{color:#fff;border-bottom:2px solid #9a52ff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--title{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--text{color:#e0e0e1}.dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#fff;background-color:#343437}.dark .algolia-autocomplete .ds-dropdown-menu::before{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:none;background-color:#343437}body{position:relative}section{position:relative}.landing{padding:0}.square{position:relative;flex-basis:calc(50% - 30px);margin:15px;box-sizing:border-box;justify-content:center;align-items:center;border-radius:8px}.square::before{content:"";display:block;padding-top:100%}@media(min-width: 992px){.square{flex-basis:calc(25% - 30px)}}.square-50{flex-basis:calc(50% - 30px)}@media(max-width: 767.98px){.square-50{flex-basis:calc(50% - 20px)}}.nav-grid-lg{display:flex;flex-direction:column}.nav-grid-lg .nav-item{width:100%}.nav-grid-lg .nav-item .nav-link{display:flex}.nav-grid-lg .nav-item .nav-link span{flex-grow:0}.nav-grid-lg .nav-item .nav-link img{max-height:2rem}.nav-grid-lg .nav-grid-head{margin-top:2.5rem}@media(min-width: 992px){.nav-grid-lg{display:grid;grid-auto-flow:column;grid-column-gap:80px}.nav-grid-lg .nav-grid-head{margin-top:0}}.col-lg{padding-left:0;padding-right:0}@media(min-width: 992px){.cols-of-1{grid-template-rows:repeat(1, min-content)}}@media(min-width: 992px){.cols-of-2{grid-template-rows:repeat(2, min-content)}}@media(min-width: 992px){.cols-of-3{grid-template-rows:repeat(3, min-content)}}@media(min-width: 992px){.cols-of-4{grid-template-rows:repeat(4, min-content)}}@media(min-width: 992px){.cols-of-5{grid-template-rows:repeat(5, min-content)}}@media(min-width: 992px){.cols-of-6{grid-template-rows:repeat(6, min-content)}}.card-grid{display:grid;grid-gap:40px;padding:0;width:100%;grid-template-columns:1fr}@media(min-width: 992px){.card-grid{grid-gap:80px}}.card-grid .col{padding-left:0;padding-right:0;min-width:100%}.card-grid.card-grid-4xN{grid-auto-rows:auto;grid-template-columns:repeat(2, 1fr)}@media(min-width: 992px){.card-grid.card-grid-4xN{grid-template-columns:repeat(4, 1fr)}}.card-grid.card-grid-3xN{grid-auto-rows:auto}@media(min-width: 992px){.card-grid.card-grid-3xN{grid-template-columns:1fr 1fr 1fr}}.card-grid.card-grid-2xN{grid-template-columns:1fr 1fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-2xN{grid-template-columns:1fr}}.card-grid.card-grid-1x2{grid-template-columns:1fr 2fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-1x2{display:flex}}.card-grid .card{padding:20px;border:0;min-height:264px}@media(min-width: 768px){.card-grid .card{min-height:347px}}@media(min-width: 992px){.card-grid .card{padding:40px}}.card-grid .card .card-body{padding:8px;padding-bottom:24px}.card-grid .card .card-body .card-icon-container{width:50px;height:50px}.card-grid .card .card-body .card-icon-container img{width:70%;height:70%}.card-grid.section-hero{padding-left:0}.container-new{display:flex;flex-wrap:wrap;margin:0 auto;padding:0 32px;max-width:100%;z-index:1}@media(min-width: 768px){.container-new{max-width:608px}}@media(min-width: 992px){.container-new{max-width:942px}}@media(min-width: 1200px){.container-new{max-width:1280px}}@media(max-width: 991.98px){article{overflow-wrap:break-word;word-wrap:break-word;overflow:hidden}}@media(max-width: 480px){html{overflow-x:hidden !important}}@media(max-width: 400px){.navbar .navbar-brand .brand-text{margin-right:0;letter-spacing:-0.08rem}.navbar .navbar-brand{margin-right:0}.navbar .navbar-brand .logo{margin-right:0;margin-left:-1rem}.btn{white-space:normal}}.timeline-wrapper{z-index:999;position:relative}.timeline:before{content:"";position:absolute;top:-40px;left:18px;height:95%;width:4px;background:linear-gradient(180deg, #feff01 0%, #ff2d9a 33%, #a3088f 66%, rgba(44, 4, 128, 0.85) 100%)}@media(max-width: 991.98px){.timeline:before{left:8px}}.timeline-dot{margin-top:94px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#111112;box-sizing:border-box}.timeline-block:first-child .timeline-dot{border:3px solid #faff19}.timeline-block:nth-child(2) .timeline-dot{border:3px solid #ff884b}.timeline-block:nth-child(3) .timeline-dot{border:3px solid #c000e5}.timeline-block:nth-child(4) .timeline-dot{border:3px solid #40004c}.timeline-block{display:flex;position:relative;z-index:1}.timeline-content{flex-grow:1;position:relative;margin-left:1.25em}.timeline h4{margin-top:-4px}@media(min-width: 768px){.timeline:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.timeline-dot{-ms-flex-order:1;order:1;margin-left:calc(5% - 9px);will-change:transform}.timeline-block:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse}.timeline-dot{margin-right:calc(5% - 9px)}.timeline-content{width:45%;-ms-flex-positive:0;flex-grow:0;will-change:transform;margin:0;--line-height-multiplier: 1.2}}@media(min-width: 992px){[data-component-name="TableOfContent/TableOfContent"]{margin-right:32px}}aside li a{color:#fff;text-decoration:none;font-size:1.05rem}aside .sidenav_cat_title{color:#fff}aside a:hover,aside .sidenav_cat_title:hover{color:#9a52ff}aside a.active,aside a.active:hover,aside .active>a,aside .active>a:hover{color:#9a52ff;font-weight:700}aside a.active-parent,aside .active-parent>a{font-weight:700}.page-toc .level-1 a,.command-list .separator{font-weight:700;color:#fff}.nav-toggler{position:absolute;width:1.75em;height:1.75em;line-height:0;display:grid;justify-content:center;align-content:center}.nav-toggler::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.nav-toggler:empty::after{margin-left:0}.nav-toggler::after{transition-duration:.3s}.nav-toggler.collapsed::after{transform:rotate(-90deg)}.dactyl-tree-nav nav{margin-left:1rem;padding-left:0;border-left:1px solid #fff}.dactyl-tree-nav nav .nav-link:hover,.dactyl-tree-nav nav .nav-link:active{border-left:1px solid #9a52ff;margin-left:-1px}.dactyl-tree-nav nav .active>.nav-link{border-left:2px solid #9a52ff;margin-left:-1px;padding-left:calc(1rem - 1px)}.dactyl-tree-nav .nav-item{position:relative}.dactyl-tree-nav .nav-item .nav-link{padding:.25rem 1rem;font-size:.9rem}.dactyl-tree-nav .nav-item.nav-parent{padding-top:0}.dactyl-tree-nav .nav-item.nav-parent .nav-link{padding-left:0;padding-top:0;font-size:1.125rem;line-height:initial}.dactyl-tree-nav .nav-item .nav-toggler+.nav-link{padding-left:2rem}.dactyl-tree-nav>.nav-item{padding:.5rem 0;font-size:1.125rem}.dactyl-tree-nav>.nav-item>.nav-link{font-weight:bold}.dactyl-tree-nav .collapsing.nav{flex-wrap:unset}.toc-header{font-weight:bold;font-size:14px;padding:1rem 0}.toc-header h4{line-height:20px;font-size:1.2em;padding:0;margin:0}#page-toc-wrapper .card-body{list-style-type:none}.page-toc,.command-list{padding-left:0;border-left:1px solid #fff}.page-toc li,.command-list li{list-style-type:none;padding:0}.page-toc li.separator,.command-list li.separator{padding:.25rem 1rem}.page-toc li a,.command-list li a{display:block;margin-top:5px;padding:.25rem 1rem;font-size:.9rem}.page-toc li a:hover,.page-toc li a .active,.command-list li a:hover,.command-list li a .active{text-decoration:none;border-left:1px solid #9a52ff;margin-left:-1px}.page-toc li.active a,.page-toc li.active a:hover,.command-list li.active a,.command-list li.active a:hover{border-left:2px solid #9a52ff;padding-left:calc(1rem - 1px);margin-left:-1px}.page-toc .level-3,.command-list .level-3{margin-left:16px;border-left:1px solid #fff;margin-bottom:0;padding-bottom:5px}.page-toc .level-3 a,.command-list .level-3 a{margin-top:0;padding-bottom:5px}.page-toc.no-sideline,.command-list.no-sideline{border-left:0}.page-toc.no-sideline a:hover,.page-toc.no-sideline a.active,.command-list.no-sideline a:hover,.command-list.no-sideline a.active{border-left:0;margin-left:0}.command-list li a{margin-top:0}.h32{height:32px}.w32{width:32px}.h36{height:36px}.w36{width:36px}.h40{height:40px}.w40{width:40px}.w44{width:44px}.w48{width:48px}.w-100{width:100%}.min-vh100{min-height:100vh}.vw100{width:100vw;min-width:100%}@media(max-width: 767.98px){.mb-3-sm-i{margin-bottom:1rem !important}}.ml-5{margin-left:1.25rem}@media(min-width: 768px){.ml-5-until-md{margin-left:1.25rem}}.mr-5{margin-right:1.25rem}@media(min-width: 768px){.mr-5-until-md{margin-right:1.25rem}}.mb-6{margin-bottom:1.5rem}@media(max-width: 767.98px){.mb-6-sm{margin-bottom:1.5rem}}.mt-6{margin-top:1.5rem}@media(min-width: 576px){.mt-6-until-sm{margin-top:1.5rem !important}}.mb-8{margin-bottom:2rem}@media(max-width: 767.98px){.mb-8-sm{margin-bottom:2rem}}.mt-8{margin-top:2rem}@media(min-width: 576px){.mt-8-until-sm{margin-top:2rem !important}}.mt-9{margin-top:2.25rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}@media(max-width: 767.98px){.mt-10-sm{margin-top:2.5rem}}.mb-10{margin-bottom:2.5rem}@media(min-width: 576px){.mb-10-until-sm{margin-bottom:2.5rem}}@media(max-width: 767.98px){.mb-10-sm{margin-bottom:2.5rem}}.ml-10{margin-left:2.5rem}.mr-10{margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}@media(min-width: 576px){.mx-10-until-sm{margin-left:2.5rem;margin-right:2.5rem}}@media(min-width: 768px){.mx-10-until-md{margin-left:2.5rem;margin-right:2.5rem}}@media(max-width: 767.98px){.mx-10-sm{margin-left:2.5rem;margin-right:2.5rem}}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-13{margin-top:3.25rem}.mb-13{margin-bottom:3.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}@media(max-width: 767.98px){.mt-16-sm{margin-top:4rem}}.mb-16{margin-bottom:4rem}@media(max-width: 767.98px){.mb-16-sm{margin-bottom:4rem}}.mb-18{margin-bottom:4.5rem}.mt-20{margin-top:5rem}@media(max-width: 767.98px){.mt-20-sm{margin-top:5rem}}@media(min-width: 576px){.mt-20-until-sm{margin-top:5rem}}.mb-20{margin-bottom:5rem}@media(max-width: 767.98px){.mb-20-sm{margin-bottom:5rem}}@media(min-width: 576px){.mb-20-until-sm{margin-bottom:5rem}}.my-20{margin-top:5rem;margin-bottom:5rem}.my-26{margin-top:6.5rem;margin-bottom:6.5rem}.mb-30{margin-bottom:7.5rem}.mt-30{margin-top:7.5rem}@media(min-width: 576px){.mt-30-until-sm{margin-top:7.5rem}}.mt-40{margin-top:10rem}@media(min-width: 576px){.mt-40-until-sm{margin-top:10rem}}.mb-40{margin-bottom:10rem}@media(min-width: 576px){.mb-40-until-sm{margin-bottom:10rem}}.mb-49{margin-bottom:12.25rem}.mb-50{margin-bottom:12.5rem}@media(min-width: 576px){.mb-50-until-sm{margin-bottom:12.5rem}}@media(max-width: 767.98px){.pl-0-sm{padding-left:0 !important}}@media(max-width: 767.98px){.pr-0-sm{padding-right:0 !important}}@media(max-width: 767.98px){.pt-3-sm{padding-top:1rem !important}}.p-6{padding:1.5rem}@media(max-width: 767.98px){.p-6-sm{padding:1.5rem}}.p-8{padding:2rem}@media(max-width: 767.98px){.p-8-sm{padding:2rem}}.p-10{padding:2.5rem}@media(min-width: 576px){.p-10-until-sm{padding:2.5rem}}.py-20{padding-bottom:5rem;padding-top:5rem}.px-20{padding-left:5rem;padding-right:5rem}.pt-20{padding-top:5rem}.pb-20{padding-bottom:5rem}.py-26{padding-top:6.5rem;padding-bottom:6.5rem}@media(max-width: 767.98px){.py-26{padding-top:2.5rem;padding-bottom:2.5rem}}.pt-26{padding-top:2.5rem}@media(min-width: 576px){.pt-26-until-sm{padding-top:6.5rem}}.pb-26{padding-bottom:6.5rem}@media(min-width: 576px){.pb-26-until-sm{padding-bottom:6.5rem}}.pt-30{padding-top:7.5rem}.pb-30{padding-bottom:7.5rem}.pt-40{padding-top:10rem}@media(min-width: 576px){.pt-40-until-sm{padding-top:10rem}}.pb-40{padding-bottom:10rem}.pb-50{padding-bottom:12.5rem}.pt-50{padding-top:12.5rem}.py-50{padding-bottom:12.5rem;padding-top:12.5rem}@media(min-width: 576px){.py-50-until-sm{padding-bottom:12.5rem;padding-top:12.5rem}}.floating-nav{top:6rem}.last-section{margin-bottom:100px}.bottom-0{bottom:0}.justify-center{justify-content:center}@media(max-width: 767.98px){.justify-center-sm{justify-content:center}}@media(max-width: 575.98px){.overflow-xs{overflow:scroll}.overflow-x-xs{overflow-x:scroll;overflow-y:hidden}}@media(min-width: 768px){.position-sm-absolute{position:absolute}}.va-middle{vertical-align:middle}.ls-none{list-style:none}.no-wrap{white-space:nowrap}.align-items-stretch{align-items:stretch}.underline{text-decoration:underline}@media(max-width: 575.98px){.d-none-xs{display:none}}@media(max-width: 767.98px){.d-none-sm{display:none}}@media(min-width: 992px){.d-none-lg{display:none}}.d-block{display:block}.border-green{border:1px solid #9a52ff}.border-none{border:none !important}.grey-400{color:#a2a2a4}.grey-500{color:#838386}.grey-700{color:#343437}.white{color:#fff}.stat-highlight{color:#32e685}.br-8{border-radius:8px}@media(max-width: 767.98px){br.until-sm{content:""}}.z-index-1{z-index:1}.bb-gray{border-bottom:1px solid #454549}@keyframes arrowDance{0%{padding-left:7px}50%{padding-left:14px}100%{padding-left:7px}}@keyframes arrowDance2{0%{right:0}50%{right:7px}100%{right:0}}@keyframes arrowDanceDiag{0%{right:7px;margin-top:0}50%{right:0;margin-top:-7px}100%{right:7px;margin-top:0}}.btn,article a.button,article .btn{font-weight:bold;cursor:pointer;text-decoration:none;transition:.2s;padding:.5rem 1rem;line-height:16px}article a.button{padding:.5rem 1rem;margin:0 .5rem;display:inline-block}.btn.disabled,button.disabled,.btn[disabled=disabled],button[disabled=disabled]{cursor:not-allowed}.btn-primary code,.btn-secondary code{color:inherit}.btn-primary{background:#7919ff;font-weight:bold;color:#fff;border:none;border-color:transparent}.btn-primary:hover{background:#5f00e5}.btn-primary.disabled,.btn-primary[disabled=disabled]{background:#4a00b2}.btn-primary.disabled:hover,.btn-primary[disabled=disabled]:hover{background:#4a00b2}@media(max-width: 767.98px){.btn-arrow{display:block;width:100%}}.btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.btn-arrow:hover{background:#5f00e5 !important;border:none}.btn-arrow:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.btn-arrow-out::after{background-position:left 0px bottom 0px;content:" ";background-image:url(../img/icons/arrow-up-right-white.svg);background-repeat:no-repeat;display:inline-block;padding:4px 8px 4px 12px;transition:background-position .3s ease-in-out;margin-left:4px}.btn-arrow-out:hover::after{background-position:left 4px bottom 4px}@media(max-width: 767.98px){.btn-arrow-out{display:block;width:100%}}.jump-to-top{display:none;position:fixed;bottom:36px;right:36px;font-weight:700;z-index:1000}.jump-to-top::after{display:none}.accordian-row{background:#232325;border-radius:5px;padding:32px}.accordian-row h3 a{position:relative;padding-right:2rem}.accordian-row h3 a:hover{color:#fff}.accordian-row .chevron{position:absolute;top:0;right:0}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}.modal-uses.exchanges .logo-item{max-height:58px;margin:5px;width:145px;height:28px;max-width:none}.modal-content-uses .carbonland-trust{max-width:218px}.modal-content-uses .first-ledger-bot{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/first-ledger-bot.svg")}.modal-content-uses .orchestra-finance{min-height:56px !important;content:url("../img/uses/orchestra-finance.svg")}.modal-content-uses .moai-finance{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/moai-finance.svg")}.modal-content-uses .ledger-city{margin:0px !important;position:relative;bottom:4px;left:6px;max-height:47px !important}.modal-content-uses .zerpmon{margin:0px;min-width:80px;min-height:84px;position:relative;bottom:13px;content:url("../img/uses/zerpmon.png") !important}#use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/modallogos/threezy.png")}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.jpg) !important;height:58px;max-width:max-content;width:184px;max-height:none;margin:0px;padding-bottom:10px}.xrp-ledger{content:url(../img/uses/modallogos/xrp-ledger.png)}html.light .xrp-ledger{content:url(../img/uses/lightmode/xrp-ledger.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.towolabs{content:url(../img/uses/modallogos/towolabs.png)}html.light .towolabs{content:url(../img/uses/lightmode/towolabs.png)}.xrpscan{content:url(../img/uses/modallogos/xrpscan.png)}html.light .xrpscan{content:url(../img/uses/lightmode/xrpscan.png)}.xrp-toolkit{content:url(../img/uses/modallogos/xrp-toolkit.png)}html.light .xrp-toolkit{content:url(../img/uses/lightmode/xrp-toolkit.png)}.bithomp{content:url(../img/uses/modallogos/bithomp.png)}html.light .bithomp{content:url(../img/uses/lightmode/bithomp.png)}.onthedex{content:url(../img/uses/modallogos/onthedex.png)}html.light .onthedex{content:url(../img/uses/lightmode/onthedex.png)}.cryptum{content:url(../img/uses/modallogos/cryptum.png)}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.png)}.evernode{content:url(../img/uses/modallogos/evernode.png)}html.light .evernode{content:url(../img/uses/lightmode/evernode.png)}.threezy{content:url(../img/uses/modallogos/threezy.png)}html.light .threezy{content:url(../img/uses/lightmode/threezy.png)}.tokenize{content:url(../img/uses/modallogos/tokenize.png)}html.light .tokenize{content:url(../img/uses/lightmode/tokenize.png)}.multichain{content:url(../img/uses/modallogos/multichain.png)}html.light .multichain{content:url(../img/uses/lightmode/multichain.png)}.crossmark{content:url(../img/uses/modallogos/crossmark.png)}html.light .crossmark{content:url(../img/uses/lightmode/crossmark.png)}.edge{content:url(../img/uses/modallogos/edge.png)}html.light .edge{content:url(../img/uses/lightmode/edge.png)}.gem-wallet{content:url(../img/uses/modallogos/gem-wallet.png)}html.light .gem-wallet{content:url(../img/uses/lightmode/gem-wallet.png)}.xumm{content:url(../img/uses/modallogos/xumm.png)}html.light .xumm{content:url(../img/uses/lightmode/xumm.png)}.aesthetes{content:url(../img/uses/modallogos/aesthetes.png)}html.light .aesthetes{content:url(../img/uses/lightmode/aesthetes.png)}.audiotarky{content:url(../img/uses/modallogos/audiotarky.png)}html.light .audiotarky{content:url(../img/uses/lightmode/audiotarky.png)}.nftmaster{content:url(../img/uses/modallogos/nftmaster.png)}html.light .nftmaster{content:url(../img/uses/lightmode/nftmaster.png)}.peerkat{content:url(../img/uses/modallogos/peerkat.png)}html.light .peerkat{content:url(../img/uses/lightmode/peerkat.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xrp-cafe{content:url(../img/uses/modallogos/xrp-cafe.png)}html.light .xrp-cafe{content:url(../img/uses/lightmode/xrp-cafe.png)}.xrp-oval{content:url(../img/uses/modallogos/xrp-oval.png)}html.light .xrp-oval{content:url(../img/uses/lightmode/xrp-oval.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xpmarket{content:url(../img/uses/modallogos/xpmarket.png)}html.light .xpmarket{content:url(../img/uses/lightmode/xpmarket.png)}.orchestra-finance{content:url(../img/uses/modallogos/orchestra-finance.png)}html.light .orchestra-finance{content:url(../img/uses/lightmode/orchestra-finance.png)}.moai-finance{content:url(../img/uses/modallogos/moai-finance.png)}html.light .moai-finance{content:url(../img/uses/lightmode/moai-finance.png)}.first-ledger-bot{content:url(../img/uses/modallogos/first-ledger-bot.png)}html.light .first-ledger-bot{content:url(../img/uses/lightmode/first-ledger-bot.png)}.forte{content:url(../img/uses/modallogos/forte.png)}html.light .forte{content:url(../img/uses/lightmode/forte.png)}.ledger-city{content:url(../img/uses/modallogos/ledger-city.png)}html.light .ledger-city{content:url(../img/uses/lightmode/ledger-city.png)}.futureverse{content:url(../img/uses/modallogos/futureverse.png)}html.light .futureverse{content:url(../img/uses/lightmode/futureverse.png)}.zerpmon{content:url(../img/uses/modallogos/zerpmon.png)}html.light .zerpmon{content:url(../img/uses/lightmode/zerpmon.png)}.anchain{content:url(../img/uses/modallogos/anchain.png)}html.light .anchain{content:url(../img/uses/lightmode/anchain.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.supermojo{content:url(../img/uses/modallogos/supermojo.png)}html.light .supermojo{content:url(../img/uses/lightmode/supermojo.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.carbonland-trust{content:url(../img/uses/modallogos/carbonland-trust.png)}html.light .carbonland-trust{content:url(../img/uses/lightmode/carbonland-trust.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.bitgo{content:url(../img/uses/modallogos/bitgo.png)}html.light .bitgo{content:url(../img/uses/lightmode/bitgo.png)}.arrow-button.left-arrow img{content:url(../img/uses/left-arrow.svg)}.arrow-button.right-arrow img{content:url(../img/uses/right-arrow.svg)}.right-arrow-button.right-arrow img{background-color:transparent;border:none;cursor:pointer}.html.light .arrow-button.left-arrow img{content:url(../img/uses/left-arrow-light.svg)}.html.light .arrow-button.right-arrow img{content:url(../img/uses/right-arrow-light.svg)}.related-tasks-links a{color:#454549;text-decoration:none}.related-tasks-links a:hover{color:#000}.arrows-container{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10}@media only screen and (max-width: 768px){.arrows-container{top:30px}}.arrow-button{background-color:transparent;border:none;cursor:pointer}.arrow-button img{width:40px;height:40px}.left-arrow{margin-left:40px}@media only screen and (max-width: 768px){.left-arrow{margin-left:0px}}.right-arrow{margin-right:40px}@media only screen and (max-width: 768px){.right-arrow{margin-right:0px}}.modal-uses{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.modal-content-uses{padding-top:40px;position:relative;background-color:#232325;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:40px 20px 20px 20px;width:60% !important;height:520px;display:flex;flex-direction:column;align-items:center;overflow-y:hidden}@media only screen and (max-width: 1024px){.modal-content-uses{overflow-y:auto}}.modal-content-uses::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%, #19ff83 100.32%)}.content-section{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.section-image{display:block}.section-text-title{font-family:"Work Sans";font-style:normal;font-weight:500;font-size:24px;line-height:32px;text-align:center;color:#fff}.section-text-description{max-width:320px;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-align:center;color:#c1c1c2}.apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#e0e0e1}.numbers-animation{width:218px;height:96px}.arrow-animation{position:relative;right:23px;top:-11px;width:60px !important}.explore-projects{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#7919ff;position:relative;top:-9px;right:27px}.section-separator{width:50%;border:0;border-top:1px solid #ccc}.logo-item.anchain{height:34px !important;max-width:146px !important}.threezy-logo{margin:4px;max-height:55px !important}.blockforce-logo{margin:0px !important;max-height:45px !important}.Evernode-logo{margin-right:39px}.logo-grid{display:grid;grid-template-rows:repeat(2, 1fr);grid-template-columns:repeat(4, 1fr);grid-gap:8px;justify-items:center}.flex-center{display:flex;justify-content:center}.top-row,.bottom-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}@media only screen and (max-width: 768px){.top-row,.bottom-row{justify-content:space-around;gap:10px;margin-bottom:0}}.top-row{margin-bottom:10px}.bottom-row{margin-top:10px}.logo-item{max-height:45px;max-width:108px;margin:5px}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}#use-case-card-grid{grid-template-columns:repeat(2, 1fr)}@media(min-width: 768px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 992px){#use-case-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 1220px)and (min-width: 1024px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}.use-case-circle{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:1px solid #343437;border-radius:50%;margin-bottom:30px;cursor:pointer}@media(min-width: 768px){.use-case-circle{aspect-ratio:1/1;min-width:200px !important;min-height:200px !important}}@media(min-width: 992px){.use-case-circle{aspect-ratio:1/1;min-width:250px !important;min-height:250px !important}}.use-case-circle:hover{border-color:#838386}.circle-content{display:flex;flex-direction:column;align-items:center;gap:13px}.circle-img{width:40px;height:40px}.circle-text{font-family:"Work Sans";font-style:normal;font-weight:700;white-space:nowrap;font-size:16px;margin-bottom:0px}.join-xrpl-section{display:flex;flex-direction:column;align-items:center}.colorful-join-text-wrapper{display:flex;justify-content:center;flex-direction:column;padding:0 5%;box-sizing:border-box}@media(min-width: 992px){.colorful-join-text-wrapper{padding:0 4%}}.colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #feff01 0%, #ff2d9a 30.82%, #e24cff 64.01%, #9a52ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#numbersAnimation{display:block}#numbersAnimationLight{display:none}html.light .section-separator{background:#c1c1c2}html.light .section-text-description{color:#343437}html.light .modal-content-uses{background:#fff}html.light #numbersAnimation{display:none}html.light #numbersAnimationLight{display:block}html.light .apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#232325}html.light .colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width: 992px){html.light .colorful-join-text{width:750px}}@media(min-width: 992px){.colorful-join-text{width:750px}}.pill-box{display:inline-flex;align-items:center;justify-content:center;padding:3.69087px 29.527px;width:73.05px;height:37.38px;background:#7919ff;border:3.69087px solid #5f00e5;border-radius:184.543px}.pill-number{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:22.1452px;color:#f0e5ff}.use-case-steps h2{margin-top:10px;margin-bottom:10px;font-size:1.728em;line-height:32px;font-weight:700}.use-case-steps h2 a{text-decoration:none}.use-case-steps h2:first-of-type:before{display:none}.use-case h1{font-size:2.4em;padding-bottom:10px}.use-case-steps h2:before{margin-top:-30px;height:0}.use-case-steps h2:first-of-type{margin-top:-30px}.related-tasks-links ul{list-style-type:none;padding-left:0}.related-tasks-links ul li{margin:0px;padding-top:2px}.related-tasks-links a:hover::after{padding-left:.5em}.related-tasks-links a::after{content:" ➝";padding-left:0;transition:all .2s ease-in-out}.page-tokenization .tokenization-graphic{content:url("../img/backgrounds/tokenization-illustration.svg");width:100%;height:100%}.page-tokenization .show-md{display:none}@media(max-width: 991.98px){.page-tokenization .show-md{display:block}}.page-tokenization .hide-md{display:block}@media(max-width: 991.98px){.page-tokenization .hide-md{display:none}}.page-tokenization .tokenization-use-case{font-size:12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #454549}.page-tokenization .tokenization-use-case .arrow-button img{width:15px;height:15px}.page-tokenization .tokenization-stats{width:100%;height:250px;border-radius:8px;background:linear-gradient(88deg, #9A52FF -14.32%, #32E685 45.35%, #19A3FF 100.76%);padding:4rem 2rem;display:grid;grid-template-columns:repeat(4, 1fr)}@media(max-width: 991.98px){.page-tokenization .tokenization-stats{display:block;height:100%;width:100%;padding:0 25%}}.page-tokenization .stat-container{color:#000;text-align:center;border-right:2px solid #000}@media(max-width: 991.98px){.page-tokenization .stat-container{border-right:none;padding-bottom:3rem;padding-top:2rem;border-bottom:2px solid #000}}.page-tokenization .stat-container:last-child{border:none}.page-tokenization .stat-container .stat{font-size:3rem;font-weight:300}.page-tokenization .stat-container p{font-weight:400}.page-tokenization .security-card{position:relative;border-radius:.5rem;background-color:transparent;white-space:normal;box-sizing:border-box}.page-tokenization .security-card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;z-index:-1}.page-tokenization .security-card p{margin-bottom:0 !important}@media(max-width: 767.98px){.page-tokenization .security-card .h6{font-size:1.25rem}}.page-tokenization .security-card-grid{gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1200px){.page-tokenization .security-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 768px){.page-tokenization .security-card-grid{grid-template-columns:repeat(1, 1fr)}}.page-tokenization .video-external-link .link-text{margin-left:.25rem}.page-tokenization .video-external-link{margin-bottom:9px}.page-tokenization .tokenization-color-bar{align-self:stretch;height:.25rem;border-radius:2rem;background:var(--Gradient-3, linear-gradient(90deg, #FEFF01 0%, #FF2D9A 30.82%, #E24CFF 64.01%, #9A52FF 100%))}.page-tokenization .project-cards-container{gap:3rem}.page-tokenization .project-cards{width:100%}.page-tokenization .project-cards .project-name{word-break:break-word}.page-tokenization .project-cards .card{min-height:240px}.page-tokenization .project-cards .col::before{content:"";position:absolute;top:0;left:0;width:100%;height:.25rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.page-tokenization .project-cards .col.odd::before{background:linear-gradient(90deg, #D91AFF 26.41%, #1AA4FF 100.32%)}.page-tokenization .project-cards .col.even::before{background:linear-gradient(90deg, #4BB7FF -0.32%, #32E685 30.61%)}.page-tokenization .project-cards .project-logo{width:100%;height:50px;vertical-align:center;padding:0 .5rem}.page-tokenization .project-cards img{max-width:100%;height:auto;display:block;box-sizing:border-box}.page-tokenization .amy{content:url("../img/logos/amy.svg")}.page-tokenization .carbonland{content:url("../img/logos/carbonland.svg")}.page-tokenization .evernode{content:url("../img/logos/evernode.svg")}.page-tokenization .nautilus{content:url("../img/logos/nautilus.svg")}.page-tokenization .onXRP{content:url("../img/logos/onXRP.svg")}.page-tokenization .raised-in-space{content:url("../img/logos/raised-in-space.svg")}.page-tokenization .sologenic{content:url("../img/logos/sologenic.svg")}.page-tokenization .xaman{content:url("../img/logos/xaman-labs.svg")}.page-tokenization .xrpcafe{content:url("../img/logos/xrpcafe.svg")}.page-tokenization .prev img{content:url("../img/icons/prev.svg")}.page-tokenization .next img{content:url("../img/icons/prev.svg");transform:scaleX(-1)}.page-tokenization .arrow-wrapper{gap:1rem}.page-tokenization .arrow-button{background-color:#232325;border-radius:.25rem;align-items:center;justify-content:center}.page-tokenization .next.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(1)}.page-tokenization .prev.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(-1)}.page-tokenization .related-articles{gap:2.5rem}.page-tokenization .related-articles .col{background-color:#000;padding:2rem !important;border-radius:.5rem}.page-tokenization .related-articles .time{position:relative;padding-top:.5rem}.page-tokenization .related-articles .time::before{content:"";position:absolute;top:0;left:0;width:50px;height:4px;background-color:#32e685}.page-tokenization .project-cards a,.page-tokenization .related-articles a{text-decoration:none}.page-tokenization .project-cards a:hover .project-name{color:#9a52ff}.page-tokenization .related-articles a:hover .h5{color:#9a52ff}.page-tokenization .article-card-container{position:relative;width:100%}.page-tokenization .article-card-container:nth-child(1) .article-card-background{background-image:linear-gradient(86deg, #B20058 -21.16%, #E24CFF 31.78%, #9A52FF 101.64%)}.page-tokenization .article-card-container:nth-child(2) .article-card-background{background-image:linear-gradient(22deg, #B480FF -6.54%, #5F00E5 50.87%, #1AA4FF 114.16%)}.page-tokenization .article-card-container:nth-child(3) .article-card-background{background-image:linear-gradient(162deg, #B480FF -11.11%, #1AA4FF 56.26%, #2DCF78 112.84%)}.page-tokenization .article-card-background{height:calc(100% + 1.5rem);width:100%;z-index:1;background-size:cover;position:absolute;top:-0.75rem;border-radius:.5rem}.page-tokenization .article-card{width:100%;height:100%;position:relative;top:0;left:.75rem;z-index:2;display:block}body,.landing.page-uses{overflow-x:hidden}.dark [data-component-name="Breadcrumbs/Breadcrumbs"]+div>a>svg>rect{fill:transparent}[data-component-name="layouts/RootLayout"]{padding-top:132px}.top-nav{background-color:#111112;height:80px;padding:0}.top-nav .navbar-brand{text-decoration:none;white-space:pre;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease;padding-left:2rem}.top-nav .navbar-brand .logo{margin-left:0;content:url(../img/XRPLedger_DevPortal-white.svg);width:162px;height:40px;display:block}.top-nav .navbar-brand:hover{opacity:.75}@media(max-width: 991.98px){.top-nav .navbar-brand{padding-left:2rem}.top-nav .navbar-brand img{width:120px}}.top-nav .nav-item{font-weight:600}@media(min-width: 992px){.top-nav #topnav-pages{flex-grow:1}}.top-nav #topnav-pages .nav-link{color:#f5f5f7;font-size:1rem;line-height:1.25rem;text-decoration:none;font-weight:600}.top-nav .dropdown-toggle{position:relative}.top-nav .dropdown-menu{border-width:0}.top-nav .dropdown-menu h5{font-weight:400;font-size:12px;color:#a2a2a4;margin-bottom:0}.top-nav .dropdown-menu .dropdown-item{line-height:1rem;padding:.75rem 0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{width:100%;display:flex;padding:1rem 2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{width:68px;height:68px;background-color:#232325;border-radius:4px;flex-grow:0;padding:.75rem;margin-right:2rem;margin-top:auto;margin-bottom:auto}.top-nav .dropdown-menu .dropdown-item.dropdown-hero p{font-size:14px;color:#c1c1c2;margin:0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero h4{font-size:1.25rem;font-weight:600;margin-bottom:0;line-height:2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover h4{color:#9a52ff}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover p{font-weight:400}.top-nav .dropdown-menu .dropdown-item:last-child{padding-bottom:0}.top-nav .dropdown-menu .dropdown-item:first-child{padding-top:0}.top-nav .dropdown-menu .col-for-get_started{background-color:#232325}.top-nav .dropdown-menu a:hover{color:#9a52ff;background-color:inherit}.top-nav .dropdown-menu h5:hover{background-color:inherit}.top-nav #topnav-search .input-group{flex-grow:1;flex-wrap:nowrap}@media(max-width: 991.98px){.top-nav #topnav-search .form-inline{padding:1rem 2rem}}.top-nav #topnav-search .input-group-text{height:40px}.top-nav #topnav-search .ds-input{height:40px}.top-nav #topnav-language .dropdown-item{font-weight:600}@media(min-width: 992px){.top-nav{padding:0 2rem}.top-nav .navbar-brand{margin-left:0;padding-left:0}.top-nav .dropdown-toggle::after{display:none}.top-nav .dropdown-toggle>span{border-bottom:2px solid transparent}.top-nav .dropdown .dropdown-toggle:hover>span:not(.chevron){padding-bottom:8px;border-bottom:2px solid #9a52ff;margin-bottom:-8px}.top-nav .dropdown-menu{border-radius:0 0 8px 8px;padding:2.5rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{padding:0}.top-nav .dropdown-menu.show{display:grid;gap:40px}.top-nav .dropdown-menu.show#topnav_dd_about{grid-template-columns:180px 180px 180px}.top-nav .dropdown-menu.show#topnav_dd_docs{grid-template-columns:180px 180px 260px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_community{grid-template-columns:200px}.top-nav .dropdown-menu.show#topnav_dd_resources{grid-template-columns:195px 180px 180px;left:-200px}.top-nav .dropdown-menu.show .dropdown-hero{grid-row:1;grid-column:1/4}.top-nav .dropdown-menu.show #dropdown-hero-for-docs{grid-column:1/3}.top-nav .dropdown-menu.show .col-for-xrp_ledger{grid-row:1/3;grid-column:1}.top-nav .dropdown-menu.show .col-for-xrp{grid-column:2}.top-nav .dropdown-menu.show .col-for-sustainability,.top-nav .dropdown-menu.show .col-for-持続可能性{grid-column:2}.top-nav .dropdown-menu.show .col-for-about,.top-nav .dropdown-menu.show .col-for-概要{grid-row:1/3;grid-column:3}.top-nav .dropdown-menu.show .col-for-article_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show .col-for-get_started{grid-column:3;grid-row:1/3;margin:-40px -40px -40px 0;padding:40px}.top-nav .dropdown-menu.show .col-for-development{grid-column:1}.top-nav .dropdown-menu.show .col-for-current-status,.top-nav .dropdown-menu.show .col-for-現在のステータス{grid-column:2}.top-nav .dropdown-menu.show .col-for-join-in,.top-nav .dropdown-menu.show .col-for-参加する{grid-column:3}.top-nav .dropdown-menu.smaller-dropdown{min-width:180px;padding:1.25rem}.top-nav #topnav-pages{flex-grow:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-pages .nav-link{padding:1rem 1rem}}@media(min-width: 992px){.top-nav #topnav-language{flex-grow:0}.top-nav #topnav-language hr{display:none}.top-nav #topnav-language #language_selector_header_btn{padding-right:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-language #language_selector_header_btn{padding-left:1rem}}@media(min-width: 992px)and (min-width: 1200px){.top-nav #topnav-search{margin-left:auto;margin-right:.5rem}.top-nav #topnav-language{margin-right:.5rem}.top-nav #topnav-button{margin-left:.2rem;margin-right:1rem}}@media(max-width: 991.98px){.top-nav .navbar-toggler{border:0;padding:30px 2rem;font-size:1rem;display:inline-block}.top-nav .navbar-toggler .navbar-toggler-icon{background:none;height:20px;width:20px;position:relative}.top-nav .navbar-toggler .navbar-toggler-icon::after,.top-nav .navbar-toggler .navbar-toggler-icon::before,.top-nav .navbar-toggler .navbar-toggler-icon div{position:absolute;content:" ";background-color:#f5f5f7;display:block;width:100%;height:3px;transition:all .2s ease}.top-nav .navbar-toggler .navbar-toggler-icon::before{top:0}.top-nav .navbar-toggler .navbar-toggler-icon::after{bottom:0}.top-nav .navbar-toggler .navbar-toggler-icon div{top:calc(50% - 1.5px)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before{transform:translateY(8px) rotate(135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{transform:translateY(-9px) rotate(-135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon div{transform:scale(0)}.top-nav .navbar-nav{align-items:unset !important}.top-nav .navbar-nav #topnav-button{background-color:#111112;padding:1rem 1.5rem}.top-nav .navbar-nav #topnav-search [data-component-name="Search/SearchTrigger"]{cursor:pointer}.top-nav .navbar-nav .nav-link,.top-nav .navbar-collapse>.nav-item{line-height:150%;background:#111112}.top-nav .navbar-nav .nav-link label,.top-nav .navbar-collapse>.nav-item label{margin-bottom:0}.top-nav .navbar-nav .nav-link{padding:1rem 2rem}.top-nav .dropdown-menu{margin:0;width:100%;overflow:auto;transition:all .2s ease;height:0;display:block;padding:0;border-radius:0}.top-nav .dropdown-menu.show{height:calc(100vh - 80px - 52px)}.top-nav .dropdown-menu.show>:last-child{padding-bottom:4rem}.top-nav .dropdown-menu.show#topnav_dd_docs{display:grid;grid-template-columns:minmax(187px, 1fr) minmax(187px, 1fr);gap:1px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_docs .dropdown-hero{grid-column:1/3;grid-row:1}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-document_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-get_started{grid-column:1/3;grid-row:4;margin:-1px;padding-top:33px}.top-nav .dropdown-menu .navcol{padding:1rem 2rem}.top-nav .dropdown-menu.smaller-dropdown{padding:0 2rem}.top-nav .dropdown-menu.smaller-dropdown.show{padding:1rem 2rem;height:auto}.top-nav .dropdown-menu .dropdown-hero:first-child{padding-top:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before,.top-nav .dropdown-toggle:not(.with-caret)::after{border:0;font-family:FontAwesome;color:#9a52ff;font-size:.75rem;transition:all .2s ease;overflow:clip;width:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before{content:"";display:inline-block;margin-bottom:-5px}.top-nav .dropdown-toggle:not(.with-caret)::after{content:"";position:absolute;right:2rem}.top-nav .dropdown.show .dropdown-toggle::after{text-indent:5rem}.top-nav .dropdown:not(.show) .dropdown-toggle::before{width:0;height:0;text-indent:-5rem}.top-nav .dropdown-toggle.with-caret::after{border:0}.top-nav #top-main-nav{background-color:#232325;padding-top:32px;position:relative}.top-nav #top-main-nav.submenu-expanded{padding-top:0}.top-nav #top-main-nav.submenu-expanded .dropdown:not(.show) .dropdown-toggle{display:none}.top-nav #top-main-nav.submenu-expanded #topnav-search,.top-nav #top-main-nav.submenu-expanded #topnav-language,.top-nav #top-main-nav.submenu-expanded #topnav-theme{height:0;overflow:clip;padding-top:0;padding-bottom:0}.top-nav #topnav-search{position:absolute;top:0;right:105px}.top-nav #topnav-search .input-group{flex-wrap:nowrap}.top-nav #topnav-language{position:absolute;top:0;right:65px}.top-nav #topnav-language hr{border-top:1px solid #232325;margin-top:.25rem;margin-bottom:.25rem;display:static}.top-nav #topnav-theme{position:absolute;top:0;right:26px}}article h1:before,article h2:before,article h3:before,article h4:before,article h5:before,article h6:before,.interactive-block:before{display:block;content:" ";margin-top:-24px;height:60px;visibility:hidden;pointer-events:none}article h1:first-of-type:before{margin-top:-40px}.chevron{position:relative;display:inline-block;width:.75rem;height:.5625rem}.chevron span{position:absolute;top:.25rem;display:inline-block;width:.5rem;height:.15rem;background-color:#9a52ff;transition:all .2s ease;border:none}.chevron:not(.expander) span:first-of-type{left:0;transform:rotate(45deg)}.chevron:not(.expander) span:last-of-type{right:0;transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(45deg)}.dropdown.show .chevron span:first-of-type,.expander:not(.collapsed) .chevron span:first-of-type{transform:rotate(-45deg)}.dropdown.show .chevron span:last-of-type,.expander:not(.collapsed) .chevron span:last-of-type{transform:rotate(45deg)}#topnav-theme>div{border-radius:var(--language-picker-border-radius);color:var(--language-picker-text-color);background-color:var(--language-picker-background-color);border:1px solid var(--language-picker-border-color);padding:var(--language-picker-input-padding-vertical) var(--language-picker-input-padding-horizontal);min-height:var(--language-picker-min-height)}@media(max-width: 991.98px){.navbar-collapse,.dropdown-menu{box-shadow:0px 25px 40px -20px #000}}.web-banner{text-decoration:none;display:flex;justify-content:space-between;height:52px;background:#d919ff !important;padding:7px 35px;font-family:"Work Sans";z-index:9999;cursor:pointer;color:#fff !important;text-align:center;font-family:"Work Sans";font-size:26px;font-style:normal;font-weight:600;letter-spacing:-0.32px}.web-banner:hover{text-decoration:none;color:#fff}.web-banner:hover .button-icon{animation:iconJitter .7s cubic-bezier(0.16, 1, 0.3, 1) forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#7919ff;z-index:0;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(0.7, 0, 0.84, 0);will-change:transform}.web-banner:hover::after{transform:scaleX(1);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner>*{position:relative;z-index:1}@media(max-width: 768px){.web-banner{font-size:18px;padding:11px 35px}.web-banner .banner-button{gap:11px !important}.web-banner .button-text{margin-bottom:4px}}@media(max-width: 564px){.web-banner{font-size:15px;padding:9px 40px}.web-banner .button-text{margin-bottom:0px}.web-banner .banner-event-details{gap:0px !important;flex-direction:column;text-align:left;line-height:21px}.web-banner .banner-event-details .event-date{position:relative;top:-5px}.web-banner .banner-button{align-self:baseline;gap:8px !important;margin-top:-2px !important;padding-top:0px !important}}.web-banner .banner-button{display:flex;align-items:center;gap:14.5px;padding-top:1px}.web-banner .banner-button img{width:24.5px;height:33.7px}@media(max-width: 768px){.web-banner .banner-button img{width:15.5px;height:17px;margin-top:4px}}@media(max-width: 564px){.web-banner .banner-button img{width:14.5px;height:13.85px}}.web-banner .banner-event-details{display:flex;gap:32px}.web-banner .button-icon{transform-style:preserve-3d;aspect-ratio:.71;object-fit:contain;animation:none;transform:rotateZ(0deg);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1);align-self:stretch;margin:auto 0;transform-style:preserve-3d}@keyframes iconJitter{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}}.web-banner a{text-decoration:none}.button-icon{animation:iconJitter .7s ease-in-out;animation-iteration-count:1;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes iconReturn{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}}.web-banner.has-hover:not(:hover) .button-icon{animation:iconReturn .7s ease-in-out forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}[data-component-name="Markdown/Markdown"] article{padding-bottom:50px}[data-component-name="Markdown/Markdown"] article p code,[data-component-name="Markdown/Markdown"] article table code,[data-component-name="Markdown/Markdown"] article li>code{background-color:#0a2e1b;color:#5beb9d}[data-component-name="Markdown/Markdown"] article a{text-decoration:underline}[data-component-name="Markdown/Markdown"] article h1{font-size:3rem;margin-top:32px;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h1:first-child{margin-top:0;line-height:1.2}[data-component-name="Markdown/Markdown"] article h2,[data-component-name="Markdown/Markdown"] article h2.md{margin-top:2.5rem;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;line-height:1.2}[data-component-name="Markdown/Markdown"] article h3,[data-component-name="Markdown/Markdown"] article h3.md{font-size:2.125rem;margin-top:2rem;margin-bottom:1rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h4{font-size:1.75rem;margin-top:1.5rem;margin-bottom:.5rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h5{font-size:1.25rem;margin-top:1.25rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h6{font-size:1rem;margin-top:1rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article li{margin:6px;margin-top:24px}[data-component-name="Markdown/Markdown"] article li p{margin:0}[data-component-name="Markdown/Markdown"] article a[title=Source]{float:right;padding-left:20px}[data-component-name="Markdown/Markdown"] article h1.invisible,[data-component-name="Markdown/Markdown"] article h2.invisible,[data-component-name="Markdown/Markdown"] article h3.invisible,[data-component-name="Markdown/Markdown"] article h4.invisible,[data-component-name="Markdown/Markdown"] article h5.invisible,[data-component-name="Markdown/Markdown"] article h6.invisible{font-size:0;line-height:0;margin:0}[data-component-name="Markdown/Markdown"] article h1.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h2.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h3.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h4.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h5.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h6.invisible .hover_anchor{display:none}[data-component-name="Markdown/Markdown"] article .shield{display:inline-block !important;vertical-align:middle}.blurb a{text-decoration:underline}.hover_anchor{visibility:hidden;padding-left:1rem;font-size:1.25rem}h1:hover .hover_anchor,h2:hover .hover_anchor,h3:hover .hover_anchor,h4:hover .hover_anchor,h5:hover .hover_anchor,h6:hover .hover_anchor{visibility:visible;text-decoration:none}pre{color:#fff;background-color:#232325;word-wrap:normal;padding:2rem;border-radius:4px}pre code{white-space:pre;color:#fff;background-color:#232325}.multicode{padding:0;z-index:1;position:relative}.multicode pre{background:none;border:none;border-radius:0;padding:0;clear:both}.multicode pre code{overflow:auto;max-height:24em;border-radius:0 4px 4px 4px;display:block;padding:2rem}.multicode pre code.expanded{overflow:visible;max-height:none;position:absolute;min-width:100%}.multicode ul{margin:0 !important;padding:0}.multicode ul li{display:block;float:left;list-style-type:none;margin-right:0px;margin-left:0px;border:0;clear:none}.multicode a{text-decoration:none;color:#fff;background-color:transparent;padding:.75rem 2rem;margin:0;border-radius:4px 4px 0 0}.multicode a.current{background-color:#232325}.multicode a:hover{text-decoration:none;background-color:#232325;color:#9a52ff;padding-bottom:.625rem}.multicode .btn{z-index:10}.multicode .codetabs{position:relative;z-index:10}.clipboard-btn{z-index:10;margin-right:10px}.codehilite{background:#232325;color:#fff}.codehilite .c,.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#838386}.codehilite .k,.codehilite .kc,.codehilite .kd,.codehilite .kn,.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#ff6719}.codehilite .m,.codehilite .mb,.codehilite .mh,.codehilite .mi,.codehilite .mo,.codehilite .il{color:#19a3ff}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#fff}.codehilite .p{color:#e0e0e1}.codehilite .s,.codehilite .s1,.codehilite .s2,.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#28b86a}.codehilite{background:transparent;position:relative}.codehilite .btn-group{top:1rem;right:1rem;position:absolute}.multicode .codehilite .btn-group{top:70px;right:20px}#redocly_root .cm-foldPlaceholder{background-color:#232325;border:none;font-size:18px}article img{max-width:100%;height:auto}article svg{max-width:100%}article .floating-diagram{margin:.5rem;float:left}article li{clear:left}html:not(.light) article svg[fill=black]{fill:#fff;stroke:#fff}html:not(.light) article svg[fill=black] *[fill=white]{fill:#000}html:not(.light) article svg[fill=black] *[stroke=white]{stroke:#000}html:not(.light) article svg[fill=black] *[fill=black]{fill:#fff}html:not(.light) article svg[fill=black] *[stroke=black]{stroke:#fff}html:not(.light) article svg[fill=black] g[fill=blue]{fill:#19a3ff}html:not(.light) article svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#e0e0e1}html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#e0e0e1}html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#343437}html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#838386}html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#838386}html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=lime],html:not(.light) article svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke=lime],html:not(.light) article svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] g[fill=yellow],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#faff19}html:not(.light) article svg[fill=black] g[fill=yellow] path[stroke=black],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"] path[stroke=black]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=red],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff198b}html:not(.light) article svg[fill=black] g[stroke=red],html:not(.light) article svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html:not(.light) article svg[fill=black] g[fill=yellow]+g text,html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]+g text{fill:#000}html:not(.light) article svg[fill=black] g[fill=lime]+g text{fill:#000}html:not(.light) article svg[fill=none] path[fill="#000000"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#000000"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#ffffff"]{fill:#000}html:not(.light) article svg[fill=none] path[stroke="#ffffff"]{stroke:#000}html:not(.light) article svg[fill=none] path[fill="#23292f"],html:not(.light) article svg[fill=none] path[fill="#23282f"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#23292f"],html:not(.light) article svg[fill=none] path[stroke="#23282f"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#2c3e50"],html:not(.light) article svg[fill=none] path[fill="#2b3e51"]{fill:#e0e0e1}html:not(.light) article svg[fill=none] path[stroke="#2c3e50"],html:not(.light) article svg[fill=none] path[stroke="#2b3e51"]{stroke:#e0e0e1}html:not(.light) article svg[fill=none] path[fill="#1c2835"]{fill:#f5f5f7}html:not(.light) article svg[fill=none] path[stroke="#1c2835"]{stroke:#f5f5f7}html:not(.light) article svg[fill=none] path[fill="#21aa47"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#21aa47"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#e64b3b"]{fill:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#e64b3b"]{stroke:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#27a2db"],html:not(.light) article svg[fill=none] path[stroke="#00aae4"]{stroke:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#27a2db"],html:not(.light) article svg[fill=none] path[fill="#00aae4"]{fill:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#e6e7e8"]{fill:#232325}html:not(.light) article svg[fill=none] path[stroke="#e6e7e8"]{stroke:#232325}html:not(.light) article svg[fill=none] path[stroke="#ffbf27"]{stroke:#d919ff}html:not(.light) article svg[fill=none] path[fill="#00ff00"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#00ff00"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#ff00ff"]{fill:#ff198b}html:not(.light) article svg[fill=none] path[stroke="#ff00ff"]{stroke:#ff198b}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#ffffff"]{stop-color:#343437}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#e6e7e8"]{stop-color:#232325}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#dbdcdd"]{stop-color:#000}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#b1b3b5"]{stop-color:#111112}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#29a1da"]{stop-color:#2dcf78}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#2789b9"]{stop-color:#5beb9d}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#6bc1ec"]{stop-color:#adf5ce}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#8ad6f4"]{stop-color:#84f0b6}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fab913"]{stop-color:#f2b2ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fad26b"]{stop-color:#ea80ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f8a136"]{stop-color:#e24cff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f7931a"]{stop-color:#c000e5}html.light svg[fill=black] g[fill=blue]{fill:#006bb2}html.light svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html.light svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#a2a2a4}html.light svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#19a3ff}html.light svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#006bb2}html.light svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#fcfcfd}html.light svg[fill=black] g[fill=lime],html.light svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#5beb9d}html.light svg[fill=black] g[stroke=lime],html.light svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#28b86a}html.light svg[fill=black] g[fill=yellow],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#fcff80}html.light svg[fill=black] g[fill=red],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff4ba4}html.light svg[fill=black] g[stroke=red],html.light svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html.light svg[fill=none] rect[fill="#111112"]{fill:#f5f5f7}html.light svg[fill=none] path[fill=white]{fill:#000}html.light svg[fill=none] path[fill="#343437"]{fill:#c1c1c2}html.light svg[fill=none] path[fill="#A2A2A4"],html.light svg[fill=none] rect[fill="#A2A2A4"],html.light svg[fill=none] ellipse[fill="#A2A2A4"]{fill:#454549}html.light svg[fill=none] path[fill="#232325"]{fill:#e0e0e1}html.light svg[fill=none] path[fill="#F5F5F7"]{fill:#111112}html.light svg[fill=none] path[stroke="#F5F5F7"]{stroke:#111112}html.light svg[fill=none] path[stroke="#FF198B"]{stroke:#b20058}html.light svg[fill=none] linearGradient stop[stop-color="#F5F5F7"]{stop-color:#111112}html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"]{stop-color:#343437}.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:16px;padding:0 4px 0 8px;width:16px;height:16px;background-position:center;transition:transform 100ms ease-in-out}.external-link:hover::after{transform:translate(3px, -3px)}.external-link .fa-external-link{display:none}.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 6px bottom 1px;width:2rem}@-moz-document url-prefix(){@supports(animation: calc(0s)){.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 8px bottom 2px}}}.top-nav .dropdown .external-link:hover::after,.xrpl-footer .external-link:hover::after{background-position:left 8px bottom 3px}.q-wrapper .external-link::after{background-position:left 0 bottom 7px}.q-wrapper .external-link:hover::after{background-position:left 4px bottom 11px}.li-links{position:relative;border-bottom:2px solid #454549}.li-links a{width:100%;padding:16px 0}.li-links a::after{position:absolute;right:4px;content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:1.5rem;padding:0 .5rem;background-position:left 0 bottom -0.1rem;transition:background-position 100ms ease-in-out}.li-links a:hover::after{background-position:left .2rem bottom .1rem}[data-component-name="Footer/Footer"]{padding:7.5rem 2rem}[data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#111112 0px 0px 2px,#111112 1px 1px 2px,#111112 2px 2px 3px,#111112 2px 2px 4px,#111112 2px 2px 5px,#111112 2px 2px 6px,#111112 -1px -1px 2px,#111112 -2px -2px 3px,#111112 -2px -2px 4px}@media(min-width: 992px){[data-component-name="Footer/Footer"]{background-image:url(../img/backgrounds/footer.svg);background-size:cover;background-repeat:no-repeat;background-position:bottom right}}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .col-lg:not(:first-child){margin-top:4rem}}[data-component-name="Footer/Footer"] h5{font-size:1rem;font-weight:600;color:#a2a2a4}[data-component-name="Footer/Footer"] .nav-link{padding:.75rem 0;line-height:1}[data-component-name="Footer/Footer"] .absolute-bottom-footer{font-size:10px;line-height:1rem}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .absolute-bottom-footer .copyright-license{margin-top:3rem}}.devportal-callout.tip,.devportal-callout.ヒント{border-color:#32e685}.devportal-callout.tip>strong:first-child:before,.devportal-callout.ヒント>strong:first-child:before{color:#32e685}.devportal-callout.note>strong:first-child:before,.devportal-callout.注記>strong:first-child:before{color:#19a3ff}.devportal-callout.note,.devportal-callout.注記{border-color:#19a3ff}.devportal-callout.caution,.devportal-callout.注意{border-color:#faff19}.devportal-callout.caution>strong:first-child:before,.devportal-callout.注意>strong:first-child:before{color:#faff19}.devportal-callout.warning,.devportal-callout.警告{border-color:#ff198b}.devportal-callout.warning>strong:first-child:before,.devportal-callout.警告>strong:first-child:before{color:#ff198b}blockquote,.devportal-callout{border-style:solid;border-radius:0;border-width:1px;border-left-width:4px;padding:5px;padding-left:25px;page-break-inside:avoid}.devportal-callout>strong:first-child{display:block;page-break-after:avoid}.devportal-callout.tip>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.note>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.caution>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.warning>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}@media(min-width: 992px){.card,.cta-card,.q-wrapper{box-shadow:0px 5px 40px #000}}#code-samples-deck .card{box-shadow:none;margin:0 2rem 5rem 2rem}#code-samples-deck .card-header{border-bottom:none;background-color:unset}#code-samples-deck .card-footer{background-color:unset;font-size:initial}#code-samples-deck .card-deck .card a{margin:0 2.5rem 5rem 2.5rem}#code-samples-deck .circled-logo{margin-left:-15px}@media(min-width: 992px){.code-contribute{width:75vw;position:relative;left:20%;right:20%;margin-left:-30vw;margin-right:-30vw}}.contribute::before{content:"";display:block;height:2px;width:100%;position:absolute;top:0}.contribute .dot{height:16px;width:16px;background-color:#111112;border-radius:50%;border:3px solid #fbff4c;display:inline-block;position:absolute;top:-7px;left:-6px}@media(max-width: 991.98px){.contribute::before{left:0;height:100%;width:2px;top:15px}.contribute .dot{top:5px;left:-6px}}.contribute_1::before{background:-webkit-linear-gradient(left, #feff01, #ff2d9a)}.contribute_1 .dot{border-color:#fbff4c}.contribute_2::before{background:-webkit-linear-gradient(left, #ff2d9a, #e24cff)}.contribute_2 .dot{border-color:#ff198b}.contribute_3::before{background:-webkit-linear-gradient(left, #e24cff, #9a52ff)}.contribute_3 .dot{border-color:#c000e5}.contribute_4::before{background:-webkit-linear-gradient(left, #9a52ff, #9a52ff)}.contribute_4 .dot{border-color:#9a52ff}.card>img{border-radius:8px 8px 0 0}.card-body>p,.card-body>p:not(:last-child){padding:0;margin-bottom:2rem}main a.card{border:0;color:#fff}a.card:hover,a:hover .card-new,[data-component-name="Markdown/Markdown"] a.card{text-decoration:none !important}a.card:hover h3{text-decoration:underline}.circled-logo{background-color:#454549;border-radius:50%;padding:.65rem;width:50px;height:50px;margin-bottom:.75rem;border:2px solid #232325}.circled-logo img{width:26px;height:26px;display:inline-block}.light .circled-logo{border:none}.card-deck{margin-top:2.5rem;margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:5rem;flex-grow:1}@media(min-width: 992px){.card-deck{margin-top:5rem}}.card-deck .card{flex-grow:0;flex-basis:100%;margin:0 1.25rem 5rem 1.25rem;background-position:bottom;background-repeat:no-repeat;background-size:contain}.card-deck.row-cols-1 .card{flex-basis:100%;min-height:264px}@media(min-width: 768px){.card-deck.row-cols-1 .card{min-height:347px}}@media(min-width: 1200px){.card-deck.row-cols-lg-3{margin-left:-2.5rem;margin-right:-2.5rem}}@media(min-width: 992px){.card-deck.row-cols-lg-3 .card{flex-basis:calc(33% - 2.5rem )}}@media(min-width: 1200px){.card-deck.row-cols-lg-3 .card{margin:0 2.5rem 5rem 2.5rem;flex-basis:calc(33% - 5rem )}}@media(min-width: 992px){.card-deck.row-cols-lg-4 .card{flex-basis:calc(25% - 2.5rem )}}.card-deck a.card{transition:all .35s ease-out;cursor:pointer}.card-deck a.card:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.card-deck .card-footer{font-size:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}@media(max-width: 991.98px){.card-deck{margin-top:2rem}.card-deck .card-body{padding:1rem}.card-deck.row-cols-1 .card{margin:.75rem .75rem 5rem .75rem;max-width:calc(100% - 1.5rem)}.card-deck.row-cols-2 .card{margin:.75rem;max-width:calc(50% - 1.5rem)}}main article .card-grid.card-grid-3xN{grid-gap:1rem}main article .card-grid.card-grid-3xN .card{padding:0;margin:.5rem}main article .card-grid.card-grid-3xN .card .card-body{padding:1rem}main article .card-grid.card-grid-3xN .card .card-icon-container{width:50px;height:50px;background:#454549;display:flex;justify-content:center;align-items:center;border-radius:50%;margin-bottom:12px}main article .card-grid.card-grid-3xN .card .card-icon-container img{width:70%;height:70%}main article .card-grid.card-grid-3xN .card .card-footer{font-size:0;line-height:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-magenta-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-orange-yellow-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-magenta.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-blue-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-magenta-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-orange-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-pink.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-green-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-orange-2.svg")}.cta-card{text-align:center;background-color:#232325}.card-subhead{font-size:1rem;margin-bottom:.25rem;margin-top:.5rem}.breadcrumbs-wrap{position:relative;z-index:11;padding:0 0 2rem 0}.interactive-block .breadcrumbs-wrap{padding:0}.breadcrumb-item+.breadcrumb-item:before{content:"";font-family:FontAwesome;padding-right:5px}.breadcrumbs-wrap .breadcrumb{padding:0;margin-bottom:0;font-size:.833em}.breadcrumb-item a{color:#e0e0e1;text-decoration:none}.breadcrumb-item a:hover{color:#9a52ff}.landing .container-fluid.section-hero,.landing .section-hero.container-sm,.landing .section-hero.container-md,.landing .section-hero.container-lg,.landing .section-hero.container-xl{padding:48px 0}.landing article .children-display>ul>li,.landing article .curated-links>ul>li{margin-top:24px}.landing article .children-display li a,.landing article .curated-links li a{font-weight:700;font-size:1.25rem;text-decoration:none}.landing article .children-display li a:hover,.landing article .curated-links li a:hover{text-decoration:underline}.landing section:first-of-type h1:first-child{margin-top:0;line-height:1.2}.landing .level-1,.landing .level-2{margin-top:0}.landing .curated-links ul,.landing .curated-links ol,.landing .children-display ul{padding-left:0;margin-bottom:0}.landing .section-hero .blurb{font-size:1.2em;line-height:1.71em}.landing .doc-index .level-1{list-style-type:disc;margin-left:1rem}.landing .doc-index .level-2{list-style-type:circle;margin-left:2rem}.landing .doc-index .level-3{list-style-type:square;margin-left:3rem}.landing .doc-index .level-4{list-style-type:disc;margin-left:4rem}.landing .doc-index .level-5{margin-left:5rem;list-style-type:circle}.landing .doc-index .level-6{margin-left:6rem;list-style-type:square}.landing p a,.landing h5 a{color:#9a52ff;font-weight:600}.landing p a:hover,.landing h5 a:hover{text-decoration:underline}.landing .display-4{margin-bottom:1.5rem}.landing #test-net-servers h3{font-size:1.4rem;font-weight:700}.landing #test-net-servers pre{overflow-x:auto}.landing section:first-of-type{border-top-width:0}.landing #main_content_wrapper{border-bottom:none;margin-top:80px}.landing .marketing-wrapper{margin-top:10rem;margin-bottom:6rem}@media(max-width: 767.98px){.landing .marketing-wrapper{margin-top:6rem}}.landing .nav .nav-link{padding:1rem 2rem 1rem 0;color:#e0e0e1;border-bottom:1px solid #232325;position:relative}.landing .nav .nav-link:hover{color:#9a52ff}.landing .nav .nav-link:not(.external-link)::after{content:" ";background-image:url(../img/icons/arrow-right-purple.svg);background-repeat:no-repeat;background-position:center;background-size:1rem;position:absolute;right:0;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link:not(.external-link):hover::after{animation:arrowDance2 1.2s infinite}.landing .nav .nav-link.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;position:absolute;background-position:center;background-size:.75rem;right:7px;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link.external-link:hover::after{animation:arrowDanceDiag 1.2s infinite}.landing .card-body .nav .nav-link{border-bottom:1px solid #454549}.alert-info{color:#fff;background-color:#006bb2;border-width:0}.alert-info a{text-decoration:underline;color:#fff}.alert-info a:hover{color:#e0e0e1}.highlight-subcard{margin:1.5rem 0;padding:1rem;border:2px solid #fff;background:#111112}.interactive-block-inner{border:1px dashed #9a52ff;padding:10px;margin:5px}.interactive-block-ui>button{margin:10px 0}.interactive-block input:invalid{box-shadow:inset 0 0 5px 5px #ff198b}.interactive-block .breadcrumbs-wrap{margin-bottom:11px}.interactive-block .breadcrumb-item{margin-top:6px}.interactive-block .breadcrumb-item a{text-decoration:none}.interactive-block .breadcrumb-item.current a{font-weight:bold}.interactive-block .breadcrumb-item.active a{color:#b480ff}.interactive-block .breadcrumb-item.disabled a{color:#454549}.interactive-block .breadcrumb-item.done a:after{content:"";font-family:FontAwesome;color:#e0e0e1;padding-right:5px;padding-left:5px}.interactive-block .waiting-for-tx{word-break:break-word}.ws-console{height:200px;overflow:auto}.status{cursor:help;padding:1px 2px;font-weight:normal;text-indent:0}.status.not_enabled{color:#faff19}.status.removed{color:#ff198b}.labels-wrap ul::before{content:"";font-family:FontAwesome;font-size:1.5rem}.labels-wrap .list-inline-item{margin-top:.5rem}.pg-category{color:#a2a2a4}.pg-category::after{content:"";font-family:FontAwesome;padding-left:5px}.label{border-radius:100px;border-width:0;padding:.5rem 1rem;font-weight:bold;text-decoration:none !important;text-align:center;white-space:nowrap;background-color:#111112;color:#c1c1c2}.label .badge-pill{width:24px;height:24px;border-radius:50px;margin-left:.5rem;font-weight:400;line-height:23px;font-size:16px;padding:0;margin-top:-2px}html.light .label{background-color:#e0e0e1;color:#232325}html.light .label .badge-pill{color:#e0e0e1;background-color:#232325}html.light .label:hover{background-color:#c1c1c2;color:#111112}html.light .label:hover .badge-pill{color:#c1c1c2;background-color:#111112}.label .badge-pill{color:#111112;background-color:#c1c1c2}.label:hover{color:#e0e0e1;background-color:#232325}.label:hover .badge-pill{color:#232325;background-color:#e0e0e1}.label.label-accounts,.label.label-payment-channels,.label.label-amm,.label.label-アカウント,.label.label-payment-channel,.label.label-use-infrastructure,.label.label-use-security,.label.blog-category-development,.label.chip-indigo{background-color:#20004c;color:#b480ff}.label.label-accounts .badge-pill,.label.label-payment-channels .badge-pill,.label.label-amm .badge-pill,.label.label-アカウント .badge-pill,.label.label-payment-channel .badge-pill,.label.label-use-infrastructure .badge-pill,.label.label-use-security .badge-pill,.label.blog-category-development .badge-pill,.label.chip-indigo .badge-pill{color:#20004c;background-color:#b480ff}.label.label-accounts:hover,.label.label-payment-channels:hover,.label.label-amm:hover,.label.label-アカウント:hover,.label.label-payment-channel:hover,.label.label-use-infrastructure:hover,.label.label-use-security:hover,.label.blog-category-development:hover,.label.chip-indigo:hover{background-color:#350080;color:#d2b2ff}.label.label-accounts:hover .badge-pill,.label.label-payment-channels:hover .badge-pill,.label.label-amm:hover .badge-pill,.label.label-アカウント:hover .badge-pill,.label.label-payment-channel:hover .badge-pill,.label.label-use-infrastructure:hover .badge-pill,.label.label-use-security:hover .badge-pill,.label.blog-category-development:hover .badge-pill,.label.chip-indigo:hover .badge-pill{color:#350080;background-color:#d2b2ff}html.light .label.label-accounts,html.light .label.label-payment-channels,html.light .label.label-amm,html.light .label.label-アカウント,html.light .label.label-payment-channel,html.light .label.label-use-infrastructure,html.light .label.label-use-security,html.light .label.blog-category-development,html.light .label.chip-indigo{background-color:#d2b2ff;color:#350080}html.light .label.label-accounts .badge-pill,html.light .label.label-payment-channels .badge-pill,html.light .label.label-amm .badge-pill,html.light .label.label-アカウント .badge-pill,html.light .label.label-payment-channel .badge-pill,html.light .label.label-use-infrastructure .badge-pill,html.light .label.label-use-security .badge-pill,html.light .label.blog-category-development .badge-pill,html.light .label.chip-indigo .badge-pill{color:#d2b2ff;background-color:#350080}html.light .label.label-accounts:hover,html.light .label.label-payment-channels:hover,html.light .label.label-amm:hover,html.light .label.label-アカウント:hover,html.light .label.label-payment-channel:hover,html.light .label.label-use-infrastructure:hover,html.light .label.label-use-security:hover,html.light .label.blog-category-development:hover,html.light .label.chip-indigo:hover{background-color:#b480ff;color:#20004c}html.light .label.label-accounts:hover .badge-pill,html.light .label.label-payment-channels:hover .badge-pill,html.light .label.label-amm:hover .badge-pill,html.light .label.label-アカウント:hover .badge-pill,html.light .label.label-payment-channel:hover .badge-pill,html.light .label.label-use-infrastructure:hover .badge-pill,html.light .label.label-use-security:hover .badge-pill,html.light .label.blog-category-development:hover .badge-pill,html.light .label.chip-indigo:hover .badge-pill{color:#b480ff;background-color:#20004c}.label.label-blockchain,.label.label-xrp,.label.label-ブロックチェーン,.label.label-non-fungible-tokens-nfts,.label.label-use-nfts,.label.blog-category-release_notes,.label.blog-category-features,.label.chip-green{background-color:#145c35;color:#84f0b6}.label.label-blockchain .badge-pill,.label.label-xrp .badge-pill,.label.label-ブロックチェーン .badge-pill,.label.label-non-fungible-tokens-nfts .badge-pill,.label.label-use-nfts .badge-pill,.label.blog-category-release_notes .badge-pill,.label.blog-category-features .badge-pill,.label.chip-green .badge-pill{background-color:#84f0b6;color:#145c35}.label.label-blockchain:hover,.label.label-xrp:hover,.label.label-ブロックチェーン:hover,.label.label-non-fungible-tokens-nfts:hover,.label.label-use-nfts:hover,.label.blog-category-release_notes:hover,.label.blog-category-features:hover,.label.chip-green:hover{background-color:#1e8a50;color:#adf5ce}.label.label-blockchain:hover .badge-pill,.label.label-xrp:hover .badge-pill,.label.label-ブロックチェーン:hover .badge-pill,.label.label-non-fungible-tokens-nfts:hover .badge-pill,.label.label-use-nfts:hover .badge-pill,.label.blog-category-release_notes:hover .badge-pill,.label.blog-category-features:hover .badge-pill,.label.chip-green:hover .badge-pill{background-color:#adf5ce;color:#1e8a50}html.light .label.label-blockchain,html.light .label.label-xrp,html.light .label.label-ブロックチェーン,html.light .label.label-non-fungible-tokens-nfts,html.light .label.label-use-nfts,html.light .label.blog-category-release_notes,html.light .label.blog-category-features,html.light .label.chip-green{background-color:#adf5ce;color:#145c35}html.light .label.label-blockchain .badge-pill,html.light .label.label-xrp .badge-pill,html.light .label.label-ブロックチェーン .badge-pill,html.light .label.label-non-fungible-tokens-nfts .badge-pill,html.light .label.label-use-nfts .badge-pill,html.light .label.blog-category-release_notes .badge-pill,html.light .label.blog-category-features .badge-pill,html.light .label.chip-green .badge-pill{color:#adf5ce;background-color:#145c35}html.light .label.label-blockchain:hover,html.light .label.label-xrp:hover,html.light .label.label-ブロックチェーン:hover,html.light .label.label-non-fungible-tokens-nfts:hover,html.light .label.label-use-nfts:hover,html.light .label.blog-category-release_notes:hover,html.light .label.blog-category-features:hover,html.light .label.chip-green:hover{background-color:#84f0b6;color:#000}html.light .label.label-blockchain:hover .badge-pill,html.light .label.label-xrp:hover .badge-pill,html.light .label.label-ブロックチェーン:hover .badge-pill,html.light .label.label-non-fungible-tokens-nfts:hover .badge-pill,html.light .label.label-use-nfts:hover .badge-pill,html.light .label.blog-category-release_notes:hover .badge-pill,html.light .label.blog-category-features:hover .badge-pill,html.light .label.chip-green:hover .badge-pill{color:#84f0b6;background-color:#000}.label.label-checks,.label.label-core-server,.label.label-コアサーバ,.label.label-use-interoperability,.label.label-use-web_monetization,.label.blog-category-gateway_bulletins,.label.chip-purple{background-color:#40004c;color:#ea80ff}.label.label-checks .badge-pill,.label.label-core-server .badge-pill,.label.label-コアサーバ .badge-pill,.label.label-use-interoperability .badge-pill,.label.label-use-web_monetization .badge-pill,.label.blog-category-gateway_bulletins .badge-pill,.label.chip-purple .badge-pill{background-color:#ea80ff;color:#40004c}.label.label-checks:hover,.label.label-core-server:hover,.label.label-コアサーバ:hover,.label.label-use-interoperability:hover,.label.label-use-web_monetization:hover,.label.blog-category-gateway_bulletins:hover,.label.chip-purple:hover{background-color:#6b0080;color:#f2b2ff}.label.label-checks:hover .badge-pill,.label.label-core-server:hover .badge-pill,.label.label-コアサーバ:hover .badge-pill,.label.label-use-interoperability:hover .badge-pill,.label.label-use-web_monetization:hover .badge-pill,.label.blog-category-gateway_bulletins:hover .badge-pill,.label.chip-purple:hover .badge-pill{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks,html.light .label.label-core-server,html.light .label.label-コアサーバ,html.light .label.label-use-interoperability,html.light .label.label-use-web_monetization,html.light .label.blog-category-gateway_bulletins,html.light .label.chip-purple{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks .badge-pill,html.light .label.label-core-server .badge-pill,html.light .label.label-コアサーバ .badge-pill,html.light .label.label-use-interoperability .badge-pill,html.light .label.label-use-web_monetization .badge-pill,html.light .label.blog-category-gateway_bulletins .badge-pill,html.light .label.chip-purple .badge-pill{color:#f2b2ff;background-color:#6b0080}html.light .label.label-checks:hover,html.light .label.label-core-server:hover,html.light .label.label-コアサーバ:hover,html.light .label.label-use-interoperability:hover,html.light .label.label-use-web_monetization:hover,html.light .label.blog-category-gateway_bulletins:hover,html.light .label.chip-purple:hover{background-color:#ea80ff;color:#40004c}html.light .label.label-checks:hover .badge-pill,html.light .label.label-core-server:hover .badge-pill,html.light .label.label-コアサーバ:hover .badge-pill,html.light .label.label-use-interoperability:hover .badge-pill,html.light .label.label-use-web_monetization:hover .badge-pill,html.light .label.blog-category-gateway_bulletins:hover .badge-pill,html.light .label.chip-purple:hover .badge-pill{color:#ea80ff;background-color:#40004c}.label.label-cross-currency,.label.label-security,.label.label-クロスカレンシー,.label.label-セキュリティ,.label.label-use-gaming,.label.label-use-defi,.label.blog-category-amendments,.label.chip-yellow{background-color:#4b4c00;color:#fcff80}.label.label-cross-currency .badge-pill,.label.label-security .badge-pill,.label.label-クロスカレンシー .badge-pill,.label.label-セキュリティ .badge-pill,.label.label-use-gaming .badge-pill,.label.label-use-defi .badge-pill,.label.blog-category-amendments .badge-pill,.label.chip-yellow .badge-pill{background-color:#fcff80;color:#4b4c00}.label.label-cross-currency:hover,.label.label-security:hover,.label.label-クロスカレンシー:hover,.label.label-セキュリティ:hover,.label.label-use-gaming:hover,.label.label-use-defi:hover,.label.blog-category-amendments:hover,.label.chip-yellow:hover{background-color:#7d8000;color:#fdffb2}.label.label-cross-currency:hover .badge-pill,.label.label-security:hover .badge-pill,.label.label-クロスカレンシー:hover .badge-pill,.label.label-セキュリティ:hover .badge-pill,.label.label-use-gaming:hover .badge-pill,.label.label-use-defi:hover .badge-pill,.label.blog-category-amendments:hover .badge-pill,.label.chip-yellow:hover .badge-pill{background-color:#fdffb2;color:#7d8000}html.light .label.label-cross-currency,html.light .label.label-security,html.light .label.label-クロスカレンシー,html.light .label.label-セキュリティ,html.light .label.label-use-gaming,html.light .label.label-use-defi,html.light .label.blog-category-amendments,html.light .label.chip-yellow{background-color:#fdffb2;color:#4b4c00}html.light .label.label-cross-currency .badge-pill,html.light .label.label-security .badge-pill,html.light .label.label-クロスカレンシー .badge-pill,html.light .label.label-セキュリティ .badge-pill,html.light .label.label-use-gaming .badge-pill,html.light .label.label-use-defi .badge-pill,html.light .label.blog-category-amendments .badge-pill,html.light .label.chip-yellow .badge-pill{color:#fdffb2;background-color:#4b4c00}html.light .label.label-cross-currency:hover,html.light .label.label-security:hover,html.light .label.label-クロスカレンシー:hover,html.light .label.label-セキュリティ:hover,html.light .label.label-use-gaming:hover,html.light .label.label-use-defi:hover,html.light .label.blog-category-amendments:hover,html.light .label.chip-yellow:hover{background-color:#fcff80;color:#4b4c00}html.light .label.label-cross-currency:hover .badge-pill,html.light .label.label-security:hover .badge-pill,html.light .label.label-クロスカレンシー:hover .badge-pill,html.light .label.label-セキュリティ:hover .badge-pill,html.light .label.label-use-gaming:hover .badge-pill,html.light .label.label-use-defi:hover .badge-pill,html.light .label.blog-category-amendments:hover .badge-pill,html.light .label.chip-yellow:hover .badge-pill{color:#fcff80;background-color:#4b4c00}.label.label-decentralized-exchange,.label.label-smart-contracts,.label.label-transaction-sending,.label.label-分散型取引所,.label.label-スマートコントラクト,.label.label-トランザクション送信,.label.label-use-developer_tooling,.label.label-use-payments,.label.blog-category-developer_reflections,.label.chip-blue{background-color:#002e4c;color:#80ccff}.label.label-decentralized-exchange .badge-pill,.label.label-smart-contracts .badge-pill,.label.label-transaction-sending .badge-pill,.label.label-分散型取引所 .badge-pill,.label.label-スマートコントラクト .badge-pill,.label.label-トランザクション送信 .badge-pill,.label.label-use-developer_tooling .badge-pill,.label.label-use-payments .badge-pill,.label.blog-category-developer_reflections .badge-pill,.label.chip-blue .badge-pill{background-color:#80ccff;color:#002e4c}.label.label-decentralized-exchange:hover,.label.label-smart-contracts:hover,.label.label-transaction-sending:hover,.label.label-分散型取引所:hover,.label.label-スマートコントラクト:hover,.label.label-トランザクション送信:hover,.label.label-use-developer_tooling:hover,.label.label-use-payments:hover,.label.blog-category-developer_reflections:hover,.label.chip-blue:hover{background-color:#004d80;color:#b2e0ff}.label.label-decentralized-exchange:hover .badge-pill,.label.label-smart-contracts:hover .badge-pill,.label.label-transaction-sending:hover .badge-pill,.label.label-分散型取引所:hover .badge-pill,.label.label-スマートコントラクト:hover .badge-pill,.label.label-トランザクション送信:hover .badge-pill,.label.label-use-developer_tooling:hover .badge-pill,.label.label-use-payments:hover .badge-pill,.label.blog-category-developer_reflections:hover .badge-pill,.label.chip-blue:hover .badge-pill{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange,html.light .label.label-smart-contracts,html.light .label.label-transaction-sending,html.light .label.label-分散型取引所,html.light .label.label-スマートコントラクト,html.light .label.label-トランザクション送信,html.light .label.label-use-developer_tooling,html.light .label.label-use-payments,html.light .label.blog-category-developer_reflections,html.light .label.chip-blue{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange .badge-pill,html.light .label.label-smart-contracts .badge-pill,html.light .label.label-transaction-sending .badge-pill,html.light .label.label-分散型取引所 .badge-pill,html.light .label.label-スマートコントラクト .badge-pill,html.light .label.label-トランザクション送信 .badge-pill,html.light .label.label-use-developer_tooling .badge-pill,html.light .label.label-use-payments .badge-pill,html.light .label.blog-category-developer_reflections .badge-pill,html.light .label.chip-blue .badge-pill{color:#b2e0ff;background-color:#004d80}html.light .label.label-decentralized-exchange:hover,html.light .label.label-smart-contracts:hover,html.light .label.label-transaction-sending:hover,html.light .label.label-分散型取引所:hover,html.light .label.label-スマートコントラクト:hover,html.light .label.label-トランザクション送信:hover,html.light .label.label-use-developer_tooling:hover,html.light .label.label-use-payments:hover,html.light .label.blog-category-developer_reflections:hover,html.light .label.chip-blue:hover{background-color:#80ccff;color:#002e4c}html.light .label.label-decentralized-exchange:hover .badge-pill,html.light .label.label-smart-contracts:hover .badge-pill,html.light .label.label-transaction-sending:hover .badge-pill,html.light .label.label-分散型取引所:hover .badge-pill,html.light .label.label-スマートコントラクト:hover .badge-pill,html.light .label.label-トランザクション送信:hover .badge-pill,html.light .label.label-use-developer_tooling:hover .badge-pill,html.light .label.label-use-payments:hover .badge-pill,html.light .label.blog-category-developer_reflections:hover .badge-pill,html.light .label.chip-blue:hover .badge-pill{color:#80ccff;background-color:#002e4c}.label.label-escrow,.label.label-tokens,.label.label-development,.label.label-トークン,.label.label-開発,.label.label-use-wallet,.label.label-use-sustainability,.label.blog-category-advisories,.label.chip-orange{background-color:#4c1a00;color:#ffaa80}.label.label-escrow .badge-pill,.label.label-tokens .badge-pill,.label.label-development .badge-pill,.label.label-トークン .badge-pill,.label.label-開発 .badge-pill,.label.label-use-wallet .badge-pill,.label.label-use-sustainability .badge-pill,.label.blog-category-advisories .badge-pill,.label.chip-orange .badge-pill{background-color:#ffaa80;color:#4c1a00}.label.label-escrow:hover,.label.label-tokens:hover,.label.label-development:hover,.label.label-トークン:hover,.label.label-開発:hover,.label.label-use-wallet:hover,.label.label-use-sustainability:hover,.label.blog-category-advisories:hover,.label.chip-orange:hover{background-color:#802b00;color:#ffccb2}.label.label-escrow:hover .badge-pill,.label.label-tokens:hover .badge-pill,.label.label-development:hover .badge-pill,.label.label-トークン:hover .badge-pill,.label.label-開発:hover .badge-pill,.label.label-use-wallet:hover .badge-pill,.label.label-use-sustainability:hover .badge-pill,.label.blog-category-advisories:hover .badge-pill,.label.chip-orange:hover .badge-pill{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow,html.light .label.label-tokens,html.light .label.label-development,html.light .label.label-トークン,html.light .label.label-開発,html.light .label.label-use-wallet,html.light .label.label-use-sustainability,html.light .label.blog-category-advisories,html.light .label.chip-orange{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow .badge-pill,html.light .label.label-tokens .badge-pill,html.light .label.label-development .badge-pill,html.light .label.label-トークン .badge-pill,html.light .label.label-開発 .badge-pill,html.light .label.label-use-wallet .badge-pill,html.light .label.label-use-sustainability .badge-pill,html.light .label.blog-category-advisories .badge-pill,html.light .label.chip-orange .badge-pill{color:#ffccb2;background-color:#802b00}html.light .label.label-escrow:hover,html.light .label.label-tokens:hover,html.light .label.label-development:hover,html.light .label.label-トークン:hover,html.light .label.label-開発:hover,html.light .label.label-use-wallet:hover,html.light .label.label-use-sustainability:hover,html.light .label.blog-category-advisories:hover,html.light .label.chip-orange:hover{background-color:#ffaa80;color:#4c1a00}html.light .label.label-escrow:hover .badge-pill,html.light .label.label-tokens:hover .badge-pill,html.light .label.label-development:hover .badge-pill,html.light .label.label-トークン:hover .badge-pill,html.light .label.label-開発:hover .badge-pill,html.light .label.label-use-wallet:hover .badge-pill,html.light .label.label-use-sustainability:hover .badge-pill,html.light .label.blog-category-advisories:hover .badge-pill,html.light .label.chip-orange:hover .badge-pill{color:#ffaa80;background-color:#4c1a00}.label.label-fees,.label.label-payments,.label.label-data-retention,.label.label-手数料,.label.label-支払い,.label.label-データ保持,.label.label-use-exchanges,.label.label-use-custody,.label.blog-category-security,.label.chip-magenta{background-color:#4c0026;color:#ff80bf}.label.label-fees .badge-pill,.label.label-payments .badge-pill,.label.label-data-retention .badge-pill,.label.label-手数料 .badge-pill,.label.label-支払い .badge-pill,.label.label-データ保持 .badge-pill,.label.label-use-exchanges .badge-pill,.label.label-use-custody .badge-pill,.label.blog-category-security .badge-pill,.label.chip-magenta .badge-pill{background-color:#ff80bf;color:#4c0026}.label.label-fees:hover,.label.label-payments:hover,.label.label-data-retention:hover,.label.label-手数料:hover,.label.label-支払い:hover,.label.label-データ保持:hover,.label.label-use-exchanges:hover,.label.label-use-custody:hover,.label.blog-category-security:hover,.label.chip-magenta:hover{background-color:#80003f;color:#ffb2d8}.label.label-fees:hover .badge-pill,.label.label-payments:hover .badge-pill,.label.label-data-retention:hover .badge-pill,.label.label-手数料:hover .badge-pill,.label.label-支払い:hover .badge-pill,.label.label-データ保持:hover .badge-pill,.label.label-use-exchanges:hover .badge-pill,.label.label-use-custody:hover .badge-pill,.label.blog-category-security:hover .badge-pill,.label.chip-magenta:hover .badge-pill{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees,html.light .label.label-payments,html.light .label.label-data-retention,html.light .label.label-手数料,html.light .label.label-支払い,html.light .label.label-データ保持,html.light .label.label-use-exchanges,html.light .label.label-use-custody,html.light .label.blog-category-security,html.light .label.chip-magenta{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees .badge-pill,html.light .label.label-payments .badge-pill,html.light .label.label-data-retention .badge-pill,html.light .label.label-手数料 .badge-pill,html.light .label.label-支払い .badge-pill,html.light .label.label-データ保持 .badge-pill,html.light .label.label-use-exchanges .badge-pill,html.light .label.label-use-custody .badge-pill,html.light .label.blog-category-security .badge-pill,html.light .label.chip-magenta .badge-pill{color:#ffb2d8;background-color:#80003f}html.light .label.label-fees:hover,html.light .label.label-payments:hover,html.light .label.label-data-retention:hover,html.light .label.label-手数料:hover,html.light .label.label-支払い:hover,html.light .label.label-データ保持:hover,html.light .label.label-use-exchanges:hover,html.light .label.label-use-custody:hover,html.light .label.blog-category-security:hover,html.light .label.chip-magenta:hover{background-color:#ff80bf;color:#4c0026}html.light .label.label-fees:hover .badge-pill,html.light .label.label-payments:hover .badge-pill,html.light .label.label-data-retention:hover .badge-pill,html.light .label.label-手数料:hover .badge-pill,html.light .label.label-支払い:hover .badge-pill,html.light .label.label-データ保持:hover .badge-pill,html.light .label.label-use-exchanges:hover .badge-pill,html.light .label.label-use-custody:hover .badge-pill,html.light .label.blog-category-security:hover .badge-pill,html.light .label.chip-magenta:hover .badge-pill{color:#ff80bf;background-color:#4c0026}.tag-cloud .list-inline-item{margin-top:1.5rem}.command-list-wrapper{position:sticky;top:calc(var(--navbar-height) + var(--toc-offset-top));max-height:calc(100vh - var(--navbar-height) - var(--toc-offset-top));overflow-y:auto;width:var(--toc-width)}#tx-sender-history .list-group-item{font-size:small;color:#454549}.response-metadata .timestamp{color:#454549}.throbber{width:24px;height:24px}#connection-status .card-body{border-left:0}#connection-status-item.active{background-color:#32e685;border-color:#32e685}.api-input-area .btn-group>.send-request.btn{border-bottom-right-radius:4px;border-top-right-radius:4px}#tx-sender-history ul{overflow:auto;height:220px;border:1px solid #e0e0e1}.progress small{margin-top:.5rem}.page-tx-sender .input-group .form-control,.interactive-block-ui .input-group .form-control{flex:1 1 20%;height:auto}.bootstrap-growl{max-width:90vw !important;overflow:hidden}.list-group-item-danger,#tx-sender-history .list-group-item-danger{background-color:#ff80bf;color:#000}.list-group-item-danger a,#tx-sender-history .list-group-item-danger a{color:#000}.list-group-item-danger a:hover,#tx-sender-history .list-group-item-danger a:hover{color:#000;text-decoration:underline}.rpc-tool .main h1::before,.rpc-tool .main h2::before,.rpc-tool .main h3::before{display:none}.form-text a{text-decoration:underline}@media print{.multicode>div{display:block !important}.multicode>em,.multicode>p>em{display:block !important;page-break-after:avoid}.multicode>p{display:block !important}.code_toggler{display:none}pre{white-space:pre-wrap;max-height:none !important;overflow:visible;page-break-inside:auto;word-wrap:break-word}pre code{white-space:pre-wrap !important;color:#22252b !important}code{white-space:pre-wrap !important;color:#22252b !important}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#22252b}article a[title=Source]{float:none}header,footer,aside{display:none !important}.navbar{display:none !important}article,#main_content_body{position:static;display:block;width:auto;height:auto;color:#000 !important;max-width:100%;overflow:visible !important}body{overflow:visible;background:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:#000}.interactive-block{display:none}.container{margin-top:1rem !important}}#home-purple{position:absolute;left:0;top:-400px}#home-green{position:absolute;right:-3px;top:60px}.sidelinks:hover{color:#9a52ff}.sidelinks.active{color:#9a52ff;font-weight:bold}.page-home #home-hero-container{display:flex;justify-content:center;align-items:center;width:100%;padding-top:54.8%;overflow:hidden}.page-home #home-hero-graphic{width:856px;object-fit:cover;content:url("../img/home-hero.svg");margin-bottom:24px}@media(min-width: 992px){.page-home #home-hero-graphic{min-height:470px}}@media(max-width: 991px)and (min-width: 540px){.page-home #home-hero-graphic{min-height:250px}}@media(max-width: 539px){.page-home #home-hero-graphic{min-height:170px}}.page-home #benefits-list #public{content:url("../img/icons/public.svg")}.page-home #benefits-list #streamlined{content:url("../img/icons/streamlined.svg")}.page-home #benefits-list #performance{content:url("../img/icons/performance.svg")}.page-home #benefits-list #low-cost{content:url("../img/icons/low-cost.svg")}.page-home #benefits-list #community{content:url("../img/icons/community.svg")}.page-home #benefits-list #reliability{content:url("../img/icons/reliability.svg")}.page-home #advanced-features .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}.page-home #advanced-features .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}.page-home #advanced-features .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}.page-home #advanced-features .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-orange.svg")}.page-home #advanced-features .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}.page-home #get-started .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}.page-home #get-started .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}.page-home #get-started .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}.page-home #get-started .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}.page-home #get-started .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}.cta{position:absolute}.cta-top-left{top:0;left:0}.cta-bottom-right{bottom:0;right:0}.landing-bg{opacity:.6}@media(min-width: 768px){.landing-bg{opacity:1}}.landing-builtin-bg::before{content:"";position:absolute;top:0;left:0;background-repeat:no-repeat;background-position-x:left;background-position-y:top;opacity:.6}@media(min-width: 768px){.landing-builtin-bg::before{opacity:1}}#xrp-overview-blue{position:absolute;top:0;left:0}@media(max-width: 767.98px){#xrp-mark-overview{height:40px;margin-top:16px}}#wallets #wallet-ledger{content:url("../img/wallets/ledger.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-secalot{content:url("../img/wallets/secalot.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trezor{content:url("../img/wallets/trezor.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-xumm{content:url("../img/wallets/xumm.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trust{content:url("../img/wallets/trust.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gatehub{content:url("../img/wallets/gatehub.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-towo{content:url("../img/wallets/towo.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-keystone{content:url("../img/wallets/keystone.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-dcent{content:url("../img/wallets/dcent.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-coin{content:url("../img/wallets/coin.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gem{content:url("../img/wallets/gem.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#top-exchanges #exch-bitstamp{content:url("../img/exchanges/bitstamp.svg")}#top-exchanges #exch-kraken{content:url("../img/exchanges/kraken.svg")}#top-exchanges #exch-cex-io{content:url("../img/exchanges/cex-io.svg")}#top-exchanges #exch-liquid{content:url("../img/exchanges/liquid.svg")}#top-exchanges #exch-lmax{content:url("../img/exchanges/lmax.svg")}#top-exchanges #exch-bitfinex{content:url("../img/exchanges/bitfinex.svg")}#top-exchanges #exch-etoro{content:url("../img/exchanges/etoro.svg")}#top-exchanges #exch-bittrex{content:url("../img/exchanges/bittrex.png")}#top-exchanges #exch-currency-com{content:url("../img/exchanges/currency-com.png")}#top-exchanges #exch-ftx{content:url("../img/exchanges/ftx.png")}#xrpl-overview-purple{position:absolute;top:40px;left:0}@media(max-width: 767.98px){#xrpl-overview-purple{top:0;left:-20vw}}#xrpl-overview-orange{position:absolute;top:80px;right:-4px}#use-cases-orange{position:absolute;top:-480px;right:-4px}#validator-graphic{content:url(../img/validators.svg)}.page-uses .container-new{padding-left:16px;padding-right:16px}.page-uses h1{font-size:42px}.page-uses::before{transform:scaleX(-1);background-image:url(../img/backgrounds/use-cases-blue.svg)}.page-uses .card-grid{grid-gap:8px}.page-uses .card-grid img{max-height:40px}.page-uses .modal{padding:0}.page-uses .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:none;border-radius:0;box-shadow:none;outline:none;background:#111112}.page-uses .modal-header{border:none;background:#111112;box-shadow:0px 1px 2px #000}.page-uses .modal-header .cancel .chevron{transform:rotate(90deg)}.page-uses .modal-header .apply .chevron{transform:rotate(-90deg)}.page-uses .modal-footer{border:none;background:#111112;box-shadow:0px -1px 2px #000;align-items:unset;padding:.75rem;flex-direction:column;flex-wrap:wrap}.page-uses .card-title{margin-bottom:.5rem;line-height:26px}.page-uses .card-uses{padding:16px;margin:0;text-decoration:none;transition:all .35s ease-out}.page-uses .card-uses:hover{text-decoration:none;color:#e0e0e1;transform:translateY(-16px);text-decoration:none}.page-uses .card-body{background:#232325;border-radius:8px;height:100%;padding:32px;margin:0}.page-uses .page-events .label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category-header{font-weight:bold;color:#c1c1c2}.page-uses .light .category-checkbox label{color:#fff}.page-uses .category-checkbox{display:flex;align-items:center}.page-uses .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category_count{margin-left:8px;padding:2px 16px;width:24px;height:16px;background:#350080;border-radius:100px;font-weight:600;font-size:12px;line-height:16px;color:#b480ff}.page-uses .category_sidebar{position:sticky;top:10px}.page-uses #infrastructure{content:url("../img/icons/usecases/ic_infrastructure.png")}.page-uses #developer_tooling{content:url("../img/icons/usecases/ic_developer_tooling.png")}.page-uses #interoperability{content:url("../img/icons/usecases/ic_interoperability.png")}.page-uses #wallet{content:url("../img/icons/usecases/ic_wallet.png")}.page-uses #nfts{content:url("../img/icons/usecases/ic_nfts.png")}.page-uses #exchanges{content:url("../img/icons/usecases/ic_exchanges.png")}.page-uses #gaming{content:url("../img/icons/usecases/ic_gaming.png")}.page-uses #security{content:url("../img/icons/usecases/ic_security.png")}.page-uses #payments{content:url("../img/icons/usecases/ic_payments.png")}.page-uses #web_monetization{content:url("../img/icons/usecases/ic_web_monetization.png")}.page-uses #sustainability{content:url("../img/icons/usecases/ic_sustainability.png")}.page-uses #cbdc{content:url("../img/icons/usecases/ic_cbdc.png")}.page-uses #other{content:url("../img/icons/usecases/ic_other.png")}.page-uses #carbon_markets{content:url("../img/icons/usecases/ic_carbon_markets.png")}.page-uses #custody{content:url("../img/icons/usecases/ic_custody.png")}.page-uses #defi{content:url("../img/icons/usecases/ic_defi.png")}.page-uses #use_case_companies_list #bithomp .biz-logo{max-height:40px;content:url("../img/uses/bithomp.svg")}.page-uses #use_case_companies_list #onthedex .biz-logo{max-height:40px;content:url("../img/uses/onthedex.svg")}.page-uses #use_case_companies_list #gatehub .biz-logo{max-height:40px;content:url("../img/uses/gatehub.svg")}.page-uses #use_case_companies_list #towo-labs .biz-logo{max-height:40px;content:url("../img/uses/towo-labs.svg")}.page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/xrp-toolkit.svg")}.page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/xrpl-org-ledger-explorer.svg")}.page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/xrpl-rosetta.svg")}.page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/xrpscan.svg")}.page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/evernode.svg")}.page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/cryptum.svg")}.page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/x-tokenize.svg")}.page-uses #use_case_companies_list #multichain .biz-logo{max-height:40px;content:url("../img/uses/multichain.svg")}.page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/xumm-wallet.svg")}.page-uses #use_case_companies_list #gem-wallet .biz-logo{max-height:40px;content:url("../img/uses/gem-wallet.svg")}.page-uses #use_case_companies_list #aesthetes .biz-logo{max-height:40px;content:url("../img/uses/aesthetes.svg")}.page-uses #use_case_companies_list #audiotarky .biz-logo{max-height:40px;content:url("../img/uses/audiotarky.svg")}.page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/xrp-cafe.svg")}.page-uses #use_case_companies_list #nft-master .biz-logo{max-height:40px;content:url("../img/uses/nft-master.svg")}.page-uses #use_case_companies_list #onxrp .biz-logo{max-height:40px;content:url("../img/uses/onxrp.svg")}.page-uses #use_case_companies_list #peerkat .biz-logo{max-height:40px;content:url("../img/uses/peerkat.svg")}.page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/sologenic-nft.svg")}.page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/sologenic-dex.svg")}.page-uses #use_case_companies_list #xp-market .biz-logo{max-height:40px;content:url("../img/uses/xp-market.svg")}.page-uses #use_case_companies_list #ledger-city .biz-logo{max-height:40px;content:url("../img/uses/ledger-city.svg")}.page-uses #use_case_companies_list #forte .biz-logo{max-height:40px;content:url("../img/uses/forte.svg")}.page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/futureverse.svg")}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/first-ledger-bot.svg")}.page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/moai-finance.svg")}.page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/orchestra-finance.svg")}.page-uses #use_case_companies_list #anchain-ai .biz-logo{max-height:40px;content:url("../img/uses/anchain-ai.svg")}.page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/coil.svg")}.page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/carbonland-trust.svg")}.page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/casino-coin.svg")}.page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/bitgo.svg")}.page-uses #use_case_companies_list #bitpay .biz-logo{max-height:40px;content:url("../img/uses/bitpay.svg")}.page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/ripples-on-demand-liquidity.svg")}.page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/ripples-cbdc-platform.svg")}.page-uses #use_case_companies_list #momento .biz-logo{max-height:40px;content:url("../img/uses/momento.svg")}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:40px;content:url("../img/uses/zerpmon.png")}.page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/Crossmark.png")}.page-uses #use_case_companies_list #Edge .biz-logo{max-height:40px;content:url("../img/uses/Edge.png")}.page-uses .orchestra-finance{max-height:52px !important;margin:0 !important}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:81px !important}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:81px !important}@media(min-width: 992px){.page-uses h1{font-size:62px}.page-uses .container-new{padding-left:64px;padding-right:64px}.page-uses .card-grid img{max-height:48px}.page-uses .card-grid{grid-gap:48px}.page-uses .card-uses{padding:24px}}#history-orange{position:absolute;top:0;right:-4px}#history-purple{position:absolute;top:-480px;left:-4px}.hidden-section{overflow:hidden;visibility:hidden;height:0}.hidden-section.show{overflow:auto;visibility:visible;height:auto}#impact-green{position:absolute;top:0;left:-4px;rotate:180deg}#impact-purple{position:absolute;top:100px;right:-4px}#impact-magenta{position:absolute;top:100px;right:-4px}#foundation-magenta{position:absolute;top:0px;left:0px}#foundation-orange{position:absolute;top:40px;right:-4px}.page-impact #map-light{display:none}.page-impact #map-dark{display:block}.page-impact .connect-list #connect-01{content:url("../img/impact/connect-01.svg")}.page-impact .connect-list #connect-02{content:url("../img/impact/connect-02.svg")}.page-impact .connect-list #connect-03{content:url("../img/impact/connect-03.svg")}.page-impact .connect-list #connect-04{content:url("../img/impact/connect-04.svg")}.page-funding .funding-list #funding-01{content:url("../img/funding/funding-01.svg")}.page-funding .funding-list #funding-02{content:url("../img/funding/funding-02.svg")}.page-funding .funding-list #funding-03{content:url("../img/funding/funding-03.svg")}.page-funding .funding-list #funding-04{content:url("../img/funding/funding-04.svg")}.page-funding #funding-orange{position:absolute;top:132px;left:-4px}@media(min-width: 992px){.page-funding .funding-box{min-height:200px}}.page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/benefits-01.svg")}.page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/benefits-02.svg")}.page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/benefits-03.svg")}.page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/benefits-04.svg")}.page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/benefits-05.svg")}.page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/benefits-06.svg")}.page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/eligibility-01.svg")}.page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/eligibility-02.svg")}.page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/eligibility-03.svg")}.page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/eligibility-04.svg")}.page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/eligibility-05.svg")}.page-ambassadors .btn{padding:.75rem}.page-ambassadors #container-scroll{height:160px;position:relative;overflow:hidden;margin-top:80px;margin-bottom:64px}.page-ambassadors .photobanner{position:absolute;top:0px;left:0px;overflow:hidden;white-space:nowrap;animation:bannermove 40s linear infinite}.page-ambassadors .photobanner-bottom{top:112px}.page-ambassadors .photobanner img{margin:0 .5em}@keyframes bannermove{0%{transform:translate(0, 0)}100%{transform:translate(-50%, 0)}}.page-ambassadors #carouselSlidesOnly{height:392px;margin-bottom:40px}@media(min-width: 992px){.page-ambassadors #carouselSlidesOnly{height:320px;margin-bottom:104px}}.page-ambassadors h6{font-size:1.25rem}.page-ambassadors .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-ambassadors .btn-arrow:hover{text-decoration:none;background:none !important;border:none}.page-ambassadors .btn-arrow:hover::after{background-position:left 4px bottom 4px;transform:translateX(4px)}.autoscroll-content{animation:autoscroll 15s linear infinite;white-space:nowrap;overflow:hidden;max-width:300px}#community-magenta{position:absolute;top:0px;left:0px}#community-purple{position:absolute;top:160px;right:0px}.page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}.page-events #events-orange{position:absolute;top:0px;right:0px}.page-events .event-hero{color:#f5f5f7}.page-events .event-hero p{font-weight:500;font-size:24px;line-height:32px}.page-events .event-save-date{color:#fff;font-weight:bold;font-size:20px;line-height:26px}.page-events .event-small-gray{color:#e0e0e1}.page-events .btn{padding:.75rem}.page-events .event-card{max-width:311px;margin:32px auto;transition:all .35s ease-out;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;background-color:#232325;box-shadow:0px 5px 40px #000;border:1px solid rgba(0,0,0,.125);border-radius:8px;font-size:16px;line-height:24px;color:#e0e0e1}.page-events .event-card .event-card-header{position:relative;height:176px;background-size:contain !important;width:100%;border-radius:8px 8px 0 0}.page-events .event-card .event-card-title{position:absolute;bottom:32px;padding:0 32px;color:#f5f5f7;font-weight:bold;font-size:20px;line-height:28px}.page-events .event-card .event-card-body{padding:32px}.page-events .event-card .event-card-footer{padding:0 32px 32px}.page-events .event-card .event-card-footer .icon::before{height:24px;width:24px;content:"";margin-right:8px;background-size:contain;background-repeat:no-repeat}.page-events .event-card .icon-date::before{background:url(../img/events/event-date.svg)}.page-events .event-card .icon-location::before{background:url(../img/events/event-location.svg)}@media(min-width: 992px){.page-events .event-card{max-width:347px;margin:32px}.page-events .event-card-header{height:197px !important}}.page-events a.event-card:hover{transform:translateY(-16px);text-decoration:none}.page-events label{margin:0;padding-left:8px;color:#fff}.page-events .events-filter h6{font-size:16px}.page-events .events-filter{height:20px;width:20px}.page-events .events-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:checked::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#find-us-on-platforms .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple-blue-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-green-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(5) .card-footer{background-image:url(../img/cards/4col-orange-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(6) .card-footer{background-image:url(../img/cards/4col-blue-purple.svg)}#find-us-on-platforms .card-deck .card:nth-child(7) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(8) .card-footer{background-image:url(../img/cards/4col-orange-2.svg)}#find-us-on-platforms .card-deck .card{margin-bottom:2.5rem}.page-faq::before{background-image:url(../img/backgrounds/faq-bg.svg)}@media(min-width: 768px){.page-faq::before{background-size:contain}}@media(min-width: 992px){.page-faq article{max-width:704px;margin-left:auto;margin-right:auto}}.page-faq article h6:first-of-type{color:#32e685;margin-bottom:1rem;margin-top:2.5rem;font-size:1.25rem;line-height:26px;text-align:center}.page-faq article h6:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h6:first-of-type{margin-top:6.5rem}}.page-faq article h1:first-of-type{font-size:2.625rem;line-height:1.2;margin-top:0;margin-bottom:5rem;text-align:center}.page-faq article h1:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h1:first-of-type{font-size:3.875rem;margin-bottom:13rem}}.page-faq h2{margin-top:13rem;font-size:2rem;line-height:2.375rem;text-align:center;font-weight:700}.page-faq .q-wrapper,.mini-faq .q-wrapper{background:#232325;border-radius:4px;padding:2rem;padding-right:3rem;margin-bottom:1.5rem;position:relative;z-index:5;width:100%;transform:translateY(0%)}.page-faq .q-wrapper p a,.mini-faq .q-wrapper p a{text-decoration:none;font-weight:600;color:#9a52ff}.page-faq .q-wrapper p a:hover,.mini-faq .q-wrapper p a:hover{text-decoration:underline}.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1.25rem;line-height:1.625rem;margin-top:0}.page-faq .q-wrapper h4::before,.mini-faq .q-wrapper h4::before{display:block;content:" ";margin-top:-40px;height:40px;visibility:hidden;pointer-events:none}.page-faq .q-wrapper h4>a,.mini-faq .q-wrapper h4>a{text-decoration:none}.page-faq .q-wrapper h4>a:hover,.mini-faq .q-wrapper h4>a:hover{text-decoration:underline;color:#fff}@media(max-width: 991.98px){.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1rem;line-height:1.5rem}}.page-faq .q-wrapper h4 .chevron,.mini-faq .q-wrapper h4 .chevron{position:absolute;top:40px;right:2rem}.page-docs-index::before{background-position-x:right}.page-docs-index .center-search .input-group-text{height:56px;padding:.75rem .75rem .75rem 1rem;line-height:2rem}.page-docs-index .center-search .ds-input{height:56px;padding:.75rem 1rem .75rem .5rem}.page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-green.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-light-blue.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-orange.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-orange-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-magenta.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-blue-green.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-blue-2.svg)}.page-docs-index #docs-hot-topic .longform{margin-top:2.5rem}.page-docs-index #community-heading,.page-community #community-heading{padding-top:25rem;margin-top:0px}@media(max-width: 768px){.page-docs-index #community-heading,.page-community #community-heading{padding-top:31rem}}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}@media(min-width: 992px){.page-docs-index #community-heading,.page-community #community-heading{padding-left:0}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{min-width:max-content;bottom:-83%}}.page-docs-index #community-heading .parallax,.page-community #community-heading .parallax{position:absolute;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-ms-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.page-docs-index #community-heading .one,.page-community #community-heading .one{top:160px;left:0%;opacity:.4}.page-docs-index #community-heading .two,.page-community #community-heading .two{top:130px;left:56%;height:320px;opacity:.4}.page-docs-index #community-heading .three,.page-community #community-heading .three{top:145px;right:16%;height:67px}.page-docs-index #community-heading .four,.page-community #community-heading .four{top:374px;left:8%;width:107px}.page-docs-index #community-heading .five,.page-community #community-heading .five{top:476px;width:152px;height:102px;right:5%;opacity:.4}.page-docs-index #run-a-network-node .card-deck .card:nth-child(1) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(2) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(3) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-green.svg)}.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-top:104px;padding-bottom:104px}}.page-docs-index #run-a-network-node .text-cards,.page-community #run-a-network-node .text-cards{grid-gap:40px}.page-docs-index #run-a-network-node .text-cards h6::before,.page-community #run-a-network-node .text-cards h6::before{margin-top:0;height:unset}.page-docs-index #run-a-network-node .text-cards a,.page-community #run-a-network-node .text-cards a{font-size:1.25rem;line-height:26px;color:#fff;font-weight:bold}.page-docs-index #run-a-network-node .text-cards a:hover,.page-community #run-a-network-node .text-cards a:hover{text-decoration:none;background:none !important}.page-docs-index #run-a-network-node .text-cards .btn-arrow::after,.page-community #run-a-network-node .text-cards .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-top:104px;padding-bottom:208px}}.page-community #platform-github{content:url("../img/logos/github.svg")}.page-community #platform-twitch{content:url("../img/logos/twitch.svg")}.page-community #platform-stack-overflow{content:url("../img/logos/stack-overflow.svg")}.page-community #platform-twitter{content:url("../img/logos/twitter.svg")}.page-community #platform-discord{content:url("../img/logos/discord.svg")}.page-community #platform-youtube{content:url("../img/logos/youtube.svg")}.page-community #platform-devto{content:url("../img/logos/devto.svg")}.page-references #refs-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/3col-orange-2.svg)}.page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/3col-green-2.svg)}.page-references #refs-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/3col-magenta.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-4.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-blue-green-2.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-yellow-3.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-purple-blue.svg)}.page-dev-tools #xrp-explorer .card-footer{background-image:url("../img/cards/3-col-orange.svg")}.page-dev-tools #bithomp-explorer .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}.page-dev-tools #xrpscan .card-footer{background-image:url("../img/cards/3-col-pink.svg")}.page-dev-tools #token-list .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #websocket .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}.page-dev-tools #rpc .card-footer{background-image:url("../img/cards/3-col-green.svg")}.page-dev-tools #technical-explorer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #faucets .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}.page-dev-tools #domain .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}.page-dev-tools #xrp-ledger .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}.page-dev-tools #binary-visualizer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #token-metadata-lookup .card-footer{background-image:url("../img/cards/3-col-pink-purple.svg")}.page-dev-tools .nav-link{color:#a2a2a4;background-color:#111112;border-top:none;border-left:none;border-right:none;border-bottom-color:#454549}@media(max-width: 767.98px){.page-dev-tools .nav-tabs{display:flex;list-style:none;margin-left:0;padding-left:0;justify-content:space-between}.page-dev-tools .nav-item{display:inline-flex;width:auto;list-style:outside none none}.page-dev-tools .nav-link{display:inline-flex;width:auto;padding:1em 1em}}.page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#fff;font-weight:bold}.page-dev-tools .nav-tabs{border-bottom:1px solid #454549}.page-dev-tools .btn{padding:.75rem}html.light .page-dev-tools .nav-link{background-color:#f5f5f7}html.light .page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#000;font-weight:bold}html.light .page-dev-tools .nav-link{color:#000}html.light .page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}.page-rwa-tokenization .right-arrow-item::after{display:inline-block;content:url("../img/icons/arrow-right-purple.svg");position:relative;top:1px;vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-rwa-tokenization #events-orange{position:absolute;top:0px;right:0px}.page-rwa-tokenization .token-title{color:var(--black-black-0-white, #FFF);text-align:center;font-family:"Work Sans";font-size:62px;font-style:normal;font-weight:700;line-height:70px;max-width:720px;z-index:1}@media(max-width: 991.98px){.page-rwa-tokenization .token-title{font-size:42px}}.page-rwa-tokenization .token-title-container{gap:32px;padding:104px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-rwa-tokenization .token-video-container{flex-wrap:wrap;padding:104px 64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px}.page-rwa-tokenization .token-video-container .token-video{width:50%;max-width:602px;height:372px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video{width:100%}}.page-rwa-tokenization .token-video-container .token-video-text-container{max-width:520px;width:50%;display:flex;flex-direction:column;align-items:center;text-align:left;gap:24px;color:#e0e0e1;font-family:"Work Sans";font-size:24px;line-height:32px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video-text-container{width:100%}}.page-rwa-tokenization .token-cards-wrapper{display:flex;justify-content:center}.page-rwa-tokenization .token-cards-container{display:flex;padding:100px 40px;flex-direction:column;justify-content:center;align-items:start;gap:40px;max-width:1280px}.page-rwa-tokenization .token-cards-container .cards-title-token{color:var(--black-black-0-white, #FFF);font-family:"Work Sans";font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-rwa-tokenization .token-cards-container .benefits-section{display:flex;flex-direction:column;align-items:center;font-family:"Work Sans",sans-serif;overflow:hidden}.page-rwa-tokenization .token-cards-container .section-title{font-size:32px;color:var(--black-black-0-white, #fff);font-weight:700;line-height:38px;max-width:776px;text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-cards-container .benefits-container{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px;width:100%;max-width:1136px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .section-title{font-size:28px;line-height:34px}}.page-rwa-tokenization .token-cards-container .benefit-card{border-radius:8px;background-color:var(--XRPL-Black-Black-80, #232325);display:flex;flex-direction:column;justify-content:flex-start;padding:40px;height:430px;width:352px}.page-rwa-tokenization .token-cards-container .benefit-icon{min-width:40px;min-height:40px;background-size:contain;background-repeat:no-repeat}.page-rwa-tokenization .token-cards-container .benefit-icon.low-fees{background-image:url(../img/tokenization/low-fees.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.access{background-image:url(../img/tokenization/access.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.full-stack{background-image:url(../img/tokenization/full-stack.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.best-in-class{background-image:url(../img/tokenization/best-in-class.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.cross-chain{background-image:url(../img/tokenization/cross-chain.png)}.page-rwa-tokenization .token-cards-container .benefit-title{color:var(--black-black-0-white, #fff);font-size:20px;font-weight:700;line-height:26px;margin-top:-10px}.page-rwa-tokenization .token-cards-container .benefit-description{color:var(--Black-Black-20, #e0e0e1);font-size:16px;font-weight:400;line-height:24px;margin-top:16px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .benefit-card{padding:20px}}.page-rwa-tokenization .upcoming-events{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:100px 40px;width:1200px}.page-rwa-tokenization .upcoming-events__title{max-width:620px;align-self:stretch;color:#fff;font:700 32px/38px Work Sans,-apple-system,Roboto,Helvetica,sans-serif;margin-bottom:64px}.page-rwa-tokenization .upcoming-events__logo-container{display:flex;align-items:center;gap:100px;justify-content:flex-start;flex-wrap:wrap}.page-rwa-tokenization .token-events-wrapper{padding-top:0px;display:flex;justify-content:center}.page-rwa-tokenization .company-logo{flex:0 0 auto;width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}@media(max-width: 991px){.page-rwa-tokenization .upcoming-events__title{margin-bottom:40px}.page-rwa-tokenization .upcoming-events{text-align:center}.page-rwa-tokenization .upcoming-events__logo-container{justify-content:center}}@media(max-width: 575.98px){.page-rwa-tokenization .small-100{width:100%}}.page-rwa-tokenization .company-logo{cursor:pointer;flex:0 0 auto;max-width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/open-eden.png)}.page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/zoniqx.png)}.page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/archax.png)}.page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/meld.png)}.page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/ripple-logo.png)}.page-rwa-tokenization .company-logo.open-eden{height:30px}.page-rwa-tokenization .company-logo.archax{max-height:96px}.page-rwa-tokenization .company-logo.meld{max-height:96px;max-width:80px}.page-rwa-tokenization .token-developer-tools-section .developer-tools{font-family:"Work Sans",sans-serif;padding:100px 0;color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:64px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__title{font-size:32px;font-weight:700;line-height:1;margin-bottom:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__description{font-size:16px;line-height:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__list{list-style:none;padding:0;margin:0}.page-rwa-tokenization .token-developer-tools-section .feature-item{margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item a:hover{text-decoration:none}.page-rwa-tokenization .token-developer-tools-section .feature-item__content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__content:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-developer-tools-section .feature-item__title{font-size:16px;color:#e0e0e1;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__icon{width:24px;height:24px;object-fit:contain}.page-rwa-tokenization .token-developer-tools-section .feature-item__divider{height:1px;opacity:.3;background-color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__image{width:110%;height:124%;background-image:url("../img/tokenization/graphic.png");background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .token-developer-tools-section .m-h-300{min-height:300px}@media(max-width: 991px){.page-rwa-tokenization .token-developer-tools-section .developer-tools{padding:50px 0}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:40px}}.page-rwa-tokenization .token-features-section .rwa-tokenization{font-family:"Work Sans",sans-serif;padding:100px 40px;padding-top:0px;color:#fff}.page-rwa-tokenization .token-features-section .container{max-width:1200px;margin:0 auto}.page-rwa-tokenization .token-features-section .rwa-header{text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-features-section .rwa-title{font-size:32px;font-weight:700;line-height:38px;margin-bottom:16px}.page-rwa-tokenization .token-features-section .rwa-subtitle{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .token-features-section .cta-container{display:flex;justify-content:center;gap:24px}.page-rwa-tokenization .token-features-section .btn{font-size:16px;font-weight:700;padding:8px 16px;border-radius:4px;text-decoration:none}.page-rwa-tokenization .token-features-section .btn-primary{background-color:#7919ff;color:#fff}.page-rwa-tokenization .token-features-section .btn-link{color:#9a52ff}@media(max-width: 991px){.page-rwa-tokenization .token-features-section .auto-bridge{padding:18px !important}.page-rwa-tokenization .token-features-section .rwa-tokenization{padding:50px 20px}.page-rwa-tokenization .token-features-section .feature-grid{gap:20px}.page-rwa-tokenization .token-features-section .cta-container{flex-direction:column;align-items:center}}.page-rwa-tokenization .token-features-section .feature-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:20px}.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 100%;max-width:100%;margin-bottom:20px}@media(min-width: 768px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(50% - 40px);max-width:calc(50% - 40px)}}@media(min-width: 1200px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(25% - 30px);max-width:calc(25% - 30px)}}.page-rwa-tokenization .token-features-section .feature-card:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-features-section .feature-header{margin-bottom:16px}.page-rwa-tokenization .token-features-section .feature-title{display:flex;align-items:start;flex-direction:column;font-size:20px;font-weight:700;line-height:26px;color:#fff;max-width:250px}.page-rwa-tokenization .token-features-section .feature-icon{width:16px;height:16px;margin-left:8px}.page-rwa-tokenization .token-features-section .feature-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .max-w-1150{max-width:1150px !important}.page-rwa-tokenization .custom-gap{justify-content:start !important}.page-rwa-tokenization .mt-16{margin-top:16px}.page-rwa-tokenization .com-card{min-width:auto !important;padding:40px !important;height:fit-content;max-height:388px !important}.page-rwa-tokenization .section-padding{padding:100px 40px}.page-rwa-tokenization .card-description{min-height:96px}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property:#009033;--json-index:#676dff;--json-number:#676dff;--json-string:#b2762e;--json-boolean:#dc155e;--json-null:#dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy, .json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0px 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover, .json-view--pair:hover)>:is(.json-view--copy, .json-view--edit),:is(.json-view:hover, .json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property:#aa5d00;--json-index:#007299;--json-number:#007299;--json-string:green;--json-boolean:#d91e18;--json-null:#d91e18}.json-view_github{color:#005cc5;--json-property:#005cc5;--json-index:#005cc5;--json-number:#005cc5;--json-string:#032f62;--json-boolean:#005cc5;--json-null:#005cc5}.json-view_vscode{color:#005cc5;--json-property:#0451a5;--json-index:blue;--json-number:blue;--json-string:#a31515;--json-boolean:blue;--json-null:blue}.json-view_atom{color:#383a42;--json-property:#e45649;--json-index:#986801;--json-number:#986801;--json-string:#50a14f;--json-boolean:#0184bc;--json-null:#0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property:#3a9685;--json-index:#ae408b;--json-number:#ae408b;--json-string:#8123a9;--json-boolean:#0184bc;--json-null:#0184bc}.json-view{font-family:"Space Mono",monospace;padding:1em;background:#232325;overflow:hidden;color:#f5f5f7 !important;font-size:14px;letter-spacing:0}.json-view svg{height:11px !important;color:#f5f5f7}.jv-button{color:#ff6719 !important;font-size:14px}.jv-indent{border-left:1px solid #454549;margin:4px}.json-view--boolean{color:#e50071 !important}.json-view--pair{margin:4px}.json-view--property{color:#f5f5f7 !important}.json-view--null,.json-view--undefined{display:inline-block;padding:1px 2px;border-radius:3px;background-color:#454549;color:#f5f5f7 !important;font-size:11px}.json-view--number{color:#84f0b6 !important}.json-view--string{color:#ff6719 !important}.rpc-tool .nav-link{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px 9px}.dev-blog .image-container{transform:translateY(15%);z-index:1}.dev-blog .text-bg{background-color:#232325;padding:60px 40px;width:100%;border-radius:30px}@media(min-width: 992px){.dev-blog .image-container{transform:translateX(15%)}.dev-blog .text-bg{padding:50px 60px}}.dev-blog .line-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dev-blog #blog-purple{position:absolute;top:0px;left:0px}.dev-blog #card-date{color:#a2a2a4}.dev-blog .post-date{text-decoration:overline solid #32e685 10%}.dev-blog #category-list #general{content:url("../img/blog/general.png");max-width:100%;width:100%}.dev-blog #category-list #developer_reflections{content:url("../img/blog/developer_reflections.png");max-width:100%;width:100%}.dev-blog #category-list #amendments{content:url("../img/blog/amendments.png");max-width:100%;width:100%}.dev-blog #category-list #advisories{content:url("../img/blog/advisories.png");max-width:100%;width:100%}.dev-blog #category-list #release_notes{content:url("../img/blog/release_notes.png");max-width:100%;width:100%}.dev-blog #category-list #development{content:url("../img/blog/development.png");max-width:100%;width:100%}.dev-blog #category-list #gateway_bulletins{content:url("../img/blog/gateway_bulletins.png");max-width:100%;width:100%}.dev-blog #category-list #features{content:url("../img/blog/features.png");max-width:100%;width:100%}.dev-blog #category-list #security{content:url("../img/blog/security.png");max-width:100%;width:100%}.dev-blog .category_sidebar{position:sticky;top:132px}.dev-blog .category-checkbox{display:flex;align-items:center}.dev-blog .dropdown{position:relative;display:inline-block}.dev-blog .dropdown-btn{color:#fff;background-color:#232325;border-color:#232325;border-style:solid;border-radius:4px;padding:8px 16px;font-size:16px;cursor:pointer;text-align:start;padding-right:10px}.dev-blog .dropdown-btn img{content:url("../img/icons/chevron-arrow-down.svg");width:10px;height:13px;padding:8px}.dev-blog .dropdown-content{display:flex;align-items:start;background-color:#232325;padding:16px 8px;width:254px;height:auto;border-radius:4px}.dev-blog .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.dev-blog .category-header{font-weight:normal;width:200px;color:#f5f5f7}.dev-blog label{margin:0;padding-left:8px;color:#fff}.dev-blog .blog-filter h6{font-size:16px}.dev-blog .blog-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:checked::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#feedback-content .docked-widget{border:none !important;background-color:transparent !important;position:static !important;box-shadow:none !important;width:auto !important}#feedback-content .widget-form-wrapper{position:static !important;box-shadow:none !important;display:block;background-color:#232325 !important;border-width:0 !important;padding:24px !important;border-radius:8px !important}#feedback-content .widget-form-wrapper div{background-color:#232325 !important}#feedback-content .widget-form-wrapper textarea{background-color:#fff !important;opacity:1 !important;border:none !important;border-radius:4px !important;margin:0 !important;width:100% !important;color:#000 !important}#feedback-content .widget-form-wrapper .widget-header-title{background:none !important;flex-grow:0 !important;padding-right:1rem !important;height:auto !important;padding:0 !important;margin-bottom:10px !important}#feedback-content .widget-form-wrapper .widget-header-footer{background:none !important}#feedback-content .widget-form-wrapper .widget-form-footer{padding-right:0 !important}#feedback-content .widget-form-wrapper .submit{background-color:#7919ff !important;font-weight:bold !important;color:#fff !important;border:none !important;border-color:transparent !important;border-radius:4px !important;margin:0 !important;margin-top:8px !important}#feedback-content .widget-form-wrapper .submit:hover{background:#5f00e5 !important}#feedback-content .widget-form-wrapper .submit.disabled,#feedback-content .widget-form-wrapper .submit[disabled=disabled]{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .submit.disabled:hover,#feedback-content .widget-form-wrapper .submit[disabled=disabled]:hover{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .cancel{margin:0 !important;margin-top:8px !important;color:#b480ff !important;font-weight:600 !important}#feedback-content #closeFeedback{display:none}#feedback-content .widget-helpful .widget-header{background-color:#232325 !important;border-radius:8px !important}#feedback-content .widget-helpful .widget-header-title{color:#fff !important}.video-image{transition:all .35s ease-out;cursor:pointer}.video-image:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}#video-overlay{position:fixed;top:0;left:0;z-index:1190;height:100%;width:100%;background:#fff;opacity:.6;display:none}#video{display:none;position:fixed;top:10%;left:15%;width:70%;z-index:1200}#video-container{position:relative;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);max-width:982px;padding:0 20px}#videoWrapper{position:absolute;top:0;left:0;height:calc(90vh - 100px);width:80vw}#videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}#video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-external-link{color:#9a52ff;font-weight:600}.video-external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:24px;padding:9px 4px 0 8px;width:2rem;background-position:left 8px bottom 0px;transition:background-position 100ms ease-in-out}.video-external-link.video-external-link:hover::after{background-position:left 12px bottom 8px}.video-title{line-height:1.2}@media(min-width: 768px){.video-title{font-size:1rem}}@media(max-width: 768px){.page-community .sm-align-items-start{align-items:start !important}}.page-community .numbers-animation{width:218px;height:96px}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.page-community .bounce-arrow{animation:bounce 1.5s infinite;animation-timing-function:ease-in-out;height:26px;width:26px;position:relative;top:24px}.page-community .m-gif{height:108px}.page-community .middle-image{margin:0 auto;height:35px}.page-community .bg-hero{width:100%;height:635px}.page-community #center-image{cursor:pointer}.page-community .gradient-num-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .middle-image-two{margin:0 auto;height:52px}.page-community .gradient-num-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .gradient-num{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .surround-gradient{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .main-title{color:var(--black-black-0, #FFF);text-align:center;font-family:Work Sans;font-size:62px;font-style:normal;font-weight:700;line-height:70px}@media(max-width: 768px){.page-community .main-title{font-size:42px;line-height:52px;text-align:left}}.page-community .get-funding-btn{width:90%;margin:0 auto}@media(max-width: 768px){.page-community .cd-none-sm{display:none !important}}@media(min-width: 769px){.page-community .cd-none-lg{display:none !important}}.page-community .icon-date{padding-right:4px;content:url(../img/events/event-date.svg)}.page-community .icon-location{padding-right:4px;content:url(../img/events/event-location.svg)}.page-community .builders-wrap{white-space:nowrap}@media(min-width: 768px){.page-community .builders-wrap{white-space:normal}}.page-community #community-table{padding:20px 93px;max-width:1280px;margin:0 auto;border-radius:5px;padding-top:165px}@media(min-width: 992px){.page-community #community-table{padding-top:512px}}@media(max-width: 768px){.page-community #community-table{margin:0;padding:20px;margin-top:100px !important}}.page-community .eyebrow-convo{text-align:start;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px;padding-bottom:5px}.page-community .final-tr{border:none !important}.page-community #community-table h4{text-align:start;margin:10px 0;font-family:Work Sans;font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-community #community-table table{width:100%;margin-top:31px;border-collapse:collapse}.page-community #community-table tr{padding:10px 10px;border-bottom:1px solid #343437}.page-community #community-table td{overflow:hidden;max-width:34vw;position:relative;vertical-align:middle}.page-community .scrolling-text{display:inline-block}.page-community #community-table img{max-width:52px;height:29px}.page-community .td-img{padding:10px;width:69px}.page-community .td-img .discord-icon{content:url(../img/community/ic_discord.png)}.page-community .td-img .twitter-icon{content:url(../img/community/ic_twitter.png)}.page-community .td-img .youtube-icon{content:url(../img/community/ic_youtube.png)}.page-community .td-img .xrpl-icon{content:url(../img/community/ic_xrpl.png)}.page-community .td-img .github-icon{content:url(../img/community/ic_github.png)}.page-community .td-img .stackoverflow-icon{content:url(../img/community/ic_stackoverflow.png)}.page-community .text-external-link{display:inline-flex;align-items:center;margin-left:10px}.page-community .external-link-contribute{display:inline-block;vertical-align:middle;padding-right:41px;height:16px;background:url(../img/icons/arrow-up-right.svg) no-repeat center center;transition:transform .3s ease}.page-community .text-external-link:hover .external-link-contribute{transform:translate(5px, -5px)}.page-community table td{position:relative;padding-right:25px}.page-community table td .text-external-link{position:absolute;right:5px;top:50%;transform:translateY(-50%)}@media(max-width: 768px){.page-community #community-table img{width:96px;height:29px}.page-community #community-table{width:100%}.page-community .td-img{min-width:60px}}.page-community .funding-text{color:var(#FFFFFF);font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:44px;padding-bottom:4px}.page-community .xrpl-events-section{padding:50px 40px;margin:100px auto;display:flex;justify-content:space-around;align-items:center;max-width:1280px}@media screen and (max-width: 768px){.page-community .xrpl-events-section{flex-direction:column;align-items:start}.page-community .xrpl-events-section .header-div{text-align:center}.page-community .xrpl-events-section .header{display:flex;flex-direction:column;align-items:start}.page-community .xrpl-events-section .header h6{margin-bottom:.5rem;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:28px}.page-community .xrpl-events-section .header h4{font-family:Work Sans;font-size:28px;font-style:normal;font-weight:700;line-height:34px}.page-community .xrpl-events-section .description{text-align:start;margin-top:2rem;font-family:Work Sans;font-size:24px;font-style:normal;font-weight:500;line-height:28px}.page-community .xrpl-events-section .view-all-events-btn{float:left}.page-community .xrpl-events-section .upcoming-event{text-align:start;margin-top:2rem;padding:1rem 0}.page-community .xrpl-events-section .upcoming-event .days-count{margin-bottom:1rem}}.page-community .xrpl-events-section .header-div{padding-top:27px}.page-community .xrpl-events-section .header h6{padding-left:1.5px;font-family:"Work Sans",sans-serif;font-size:20px;font-weight:700;color:var(--black-black-0, #FFF);text-align:start}.page-community .xrpl-events-section .header h4{text-align:start;font-family:"Work Sans",sans-serif;font-size:32px;font-weight:700;color:var(--black-black-0, #FFF)}.page-community .xrpl-events-section .description{font-family:"Work Sans",sans-serif;font-size:20px;font-weight:500;max-width:444px;color:var(--black-black-10-gray-200, #E0E0E1);line-height:32px}.page-community .xrpl-events-section .view-all-events-btn{display:inline-block;margin-top:1rem}.page-community .xrpl-events-section .upcoming-event{margin-top:2rem}.page-community .xrpl-events-section .upcoming-event .upcoming-label{position:relative;top:7px;font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--black-black-30, #C1C1C2)}.page-community .xrpl-events-section .upcoming-event .days-count{font-weight:300;margin-bottom:21px;line-height:99px;font-size:88px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event .days-word{vertical-align:bottom;font-weight:normal;margin-bottom:21px;line-height:99px;font-size:40px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event h5{font-family:"Work Sans",sans-serif;font-size:16px;font-weight:700;color:var(--black-black-10, #F5F5F7)}.page-community .xrpl-events-section .upcoming-event .event-details,.page-community .xrpl-events-section .upcoming-event .event-location{font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;color:var(--black-black-30, #C1C1C2)}.page-community .community-funding{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1280px;margin:100px auto;padding-right:54px;padding-left:73px;margin-top:120px}.page-community .funding-section{flex:1;padding:20px;color:var(--black-black-0)}.page-community .small-text{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;padding-left:11px;text-align:start}.page-community .funding-section h2{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .funding-section p{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.page-community .stats{flex:1;display:flex;justify-content:space-between}@media(max-width: 768px){.page-community .stats{flex-direction:column;align-items:start;text-align:start;padding-left:7px}}.page-community .stacked-stats{display:flex;flex-direction:column;justify-content:space-between}.page-community .stat{align-self:center;text-align:center;margin:0 auto;display:flex;flex-direction:column}@media(max-width: 768px){.page-community .stat{margin:0px;text-align:start;align-self:start}}.page-community .number{opacity:1;font-size:88px;display:flex;padding:10px;align-items:center;line-height:96px;font-weight:300}@media screen and (max-width: 768px){.page-community .community-funding{flex-direction:column-reverse;padding-left:16px;padding-right:16px}.page-community .funding-section,.page-community .stats{width:100%}}.page-community .carousel{position:relative;width:1280px;margin:0 auto;margin-top:106px;max-width:100%}.page-community .carousel .flex-align{display:flex;align-items:center}@media(max-width: 768px){.page-community .carousel{width:100%}}.page-community .center-image-wrapper{position:relative;width:552px;height:314px}@media(max-width: 1118px){.page-community .center-image-wrapper{width:55%;height:auto}}@media(max-width: 768px){.page-community .center-image-wrapper{margin:0 auto;width:86%}}.page-community .image-container{display:flex;justify-content:space-around;align-items:center;overflow:hidden}.page-community .image-container img{max-width:100%;transition:transform .7s ease-in-out,opacity .7s ease-in-out}.page-community #center-image{width:100%}.page-community #left-image,.page-community #right-image{width:252px;height:144px;opacity:.7}@media(max-width: 1118px){.page-community #left-image,.page-community #right-image{width:15%;height:auto}}@media(max-width: 768px){.page-community #left-image,.page-community #right-image{display:none;margin:0}}.page-community #left-image.exit,.page-community #right-image.exit{transform:translateX(-100%);opacity:0}.page-community #left-image.enter,.page-community #right-image.enter{transform:translateX(100%);opacity:0}.page-community #center-image.exit{transform:scale(0.8);opacity:0}.page-community #center-image.enter{transform:scale(1);opacity:1}.page-community .nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:none;border:none;cursor:pointer}.page-community #prev-btn{left:0}.page-community #next-btn{right:0}.page-community .event-info{position:absolute;bottom:10px;left:32px;display:flex;flex-direction:column;gap:4px}@media(max-width: 768px){.page-community .event-info{left:7px}}.page-community .event-info span{color:#fff;font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.page-community .event-info .name{padding-bottom:5px;color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.page-community .arrow-wrapper{display:flex;justify-content:center;padding-top:24px}.page-community :root{--black-black-0: #FFF;--black-black-10: #F5F5F7;--black-black-30: #C1C1C2}.page-community .community-spotlight-wrapper{display:flex;padding:20px;max-width:1280px;min-height:582px;margin:100px auto;gap:48px;padding-right:54px;padding-left:73px}.page-community .community-spotlight{flex:1;display:flex;flex-direction:column;padding-right:10px}.page-community .projects-wrapper{flex:1;position:relative;display:flex;justify-content:center;gap:48px}@media(max-width: 768px){.page-community .projects-wrapper{gap:48px}}.page-community .project-card{background-color:transparent;border-radius:4px;height:fit-content;width:252px;max-height:456px}@media(max-width: 768px){.page-community .project-card{width:99%}}.page-community .project-card.bottom-right{align-self:end}.page-community .card-image{border-radius:4px;height:144px;width:252px;background-color:#2c2b2b;display:flex;align-items:center}.page-community .spotlight-title,.page-community .project-title{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .spotlight-subtitle{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .project-description{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.page-community .card-details{background-color:transparent;display:flex;flex-direction:column;text-align:start;padding:15px;height:fit-content}.page-community .view-project{color:var(--blue-purple-blue-purple-50, #7919FF);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:16px;cursor:pointer;text-decoration:none}@media(max-width: 1076px){.page-community .project-card.bottom-right{align-self:auto}.page-community .community-spotlight-wrapper{flex-direction:column;align-items:center;margin-left:0px;padding-right:26px;padding-left:26px}.page-community .community-spotlight,.page-community .projects-wrapper{width:100%;margin:0;padding:0}.page-community .projects-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;position:static}.page-community .card-image{width:100%}.page-community .card-details{gap:16px;margin-top:10px}.page-community .project-card{position:static;margin:20px 0;height:fit-content}}.page-community .w-222{width:222px}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;z-index:1;height:100%}.page-community .bottom-cards-section .com-card{border-radius:8px;padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:559px;max-width:559px;height:442px}.page-community .pr-bt16{position:relative;bottom:16px}.page-community .pr-bt28{position:relative;bottom:28px}.page-community .bottom-cards-section{display:flex;flex-direction:row;justify-content:space-around;gap:48px;max-width:1280px;margin:100px auto}.page-community .bottom-cards-section .com-card{padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative}.page-community .bottom-cards-section .com-card .top-left-img{position:absolute;top:0;height:292px;left:0;content:url(../img/community/card-bg-1.svg)}.page-community .bottom-cards-section .com-card .top-right-img.bug-bounty-card-bg{content:url(../img/community/bug-bounty-card-bg.png)}.page-community .bottom-cards-section .com-card .bottom-right-img.bug-bounty-card-bg-2{content:url(../img/community/bug-bounty-card-bg-2.png)}.page-community .bottom-cards-section .com-card .bottom-right-img{position:absolute;bottom:0;right:0;height:333px;content:url(../img/community/card-bg-2.svg)}.page-community .bottom-cards-section .com-card .top-right-img{height:390px;position:absolute;top:0;right:0;content:url(../img/community/card-bg-3.svg)}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.page-community .bottom-cards-section .com-card .card-content .card-title{margin-bottom:0px !important;color:var(--black-black-0-white, #FFF);white-space:nowrap;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px}.page-community .bottom-cards-section .com-card .card-content .card-subtitle{color:var(--black-black-0, #FFF);font-family:Work Sans;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-top:2px}.page-community .bottom-cards-section .com-card .card-content .card-description{color:var(--black-black-20, #E0E0E1);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin-top:15px;margin-bottom:15px}.page-community .bottom-cards-section .com-card .card-content .card-description a{color:#9a52ff}.page-community .bottom-cards-section .com-card .card-content .card-links{display:flex;flex-direction:column;gap:8px}.page-community .bottom-cards-section .com-card .card-content .com-card-link{text-decoration:none;cursor:pointer;color:#9a52ff;font-family:Work Sans;font-size:16px;font-style:normal;font-weight:600;line-height:24px}@media(max-width: 767.98px){.page-community .bottom-cards-section .com-card .card-content .com-card-link{display:block;width:100%}}.page-community .bottom-cards-section .com-card .card-content .com-card-link::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover{border:none}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}@media(max-width: 768px){.page-community .pr-bt28{position:relative;bottom:0px}.page-community .pr-bt16{position:relative;bottom:0px}.page-community .bottom-cards-section{flex-direction:column;align-items:center;padding:20px}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:352px;height:fit-content;max-width:352px}.page-community .bottom-cards-section .com-card{margin-bottom:20px;display:block;width:100%}}.page-community .num-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:1px}.page-community .stat-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:8px}.page-community .ml-8{margin-left:8px}.page-community .ml-19{margin-left:19px}.page-community .ml-14{margin-left:11px}.page-community .header-div .header{gap:10px;display:flex;flex-direction:column;padding-bottom:35px}.page-community .spotlight-subtitle{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .spotlight-description{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.sdk-img{align-self:center}.light .sdk-img{content:url(../img/graphics/sdk-white.png)}.light .ref-book-illustration{content:url(../img/graphics/ref-book-light.png)}.light .tutorial-illustration{content:url(../img/graphics/tutorials-illustration-light.png)}.light .concepts-doc-illustration{content:url(../img/graphics/concepts-docs-light.png)}.light .use-cases .wallet-illustration{content:url(../img/graphics/wallet-light.svg)}.light .use-cases .token-illustration{content:url(../img/graphics/tokens-light.png)}.light .use-cases .connections-illustration{content:url(../img/graphics/nodes-light.svg)}.light .quickstart-image{content:url(../img/graphics/getting-started-pages-light.png)}.light .dev-tools-img{content:url(../img/graphics/dev-tools-light.svg)}.light .dev-tools-link:hover p{color:#000}.dark .sdk-img{content:url(../img/graphics/sdk-black.png)}.dark .ref-book-illustration{content:url(../img/graphics/ref-book.png)}.dark .tutorial-illustration{content:url(../img/graphics/tutorials-illustration.png)}.dark .concepts-doc-illustration{content:url(../img/graphics/concepts-doc.png)}.dark .use-cases .wallet-illustration{content:url(../img/graphics/wallet-dark.png)}.dark .use-cases .token-illustration{content:url(../img/graphics/tokens-dark.png)}.dark .use-cases .connections-illustration{content:url(../img/graphics/nodes-dark.png)}.dark .quickstart-image{content:url(../img/graphics/getting-started-pages-dark.svg)}.dark .dev-tools-img{content:url(../img/graphics/dev-tools-dark.png)}.dark .dev-tools-link:hover p{color:#fff}.dark .flat-card-grid .nav-link:hover{color:#e0e0e1}.get-started-img,.flat-card{max-width:100%;max-height:100%}.faded-text{font-family:"Work Sans";font-style:normal;font-weight:400;font-size:15.5667px;line-height:23px}.page-docs-index section{padding-top:64px;padding-bottom:64px}.page-docs-index .dev-tools-link h6::before{margin-top:-20px;height:20px}.page-docs-index .dev-tools-link h6:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .dev-tools-link:hover p{text-decoration:none !important;background:none !important;display:inline-block}.page-docs-index .dev-tools-link a:hover{color:#9a52ff;text-decoration:none !important}.page-docs-index .dev-tools-link .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);width:1.5rem;height:1.5rem}.page-docs-index .langs>a{display:block}.page-docs-index .langs h5:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .langs a:hover{text-decoration:none !important}.page-docs-index .langs .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);vertical-align:baseline;width:1.5rem;height:1.5rem}.page-docs-index .langs h5{margin-block-start:0 !important}.page-docs-index .langs h5::before{margin-top:0;height:0}.page-docs-index h1{font-size:3.875rem}.page-docs-index .arrow-purple::after{content:url(../img/icons/arrow-right-purple.svg)}.page-docs-index .documentation-index:hover,.page-docs-index .documentation-index::after{color:#9a52ff;text-decoration:none !important;background:none !important}@media(max-width: 765px){.page-docs-index h1{font-size:3rem}.page-docs-index .flat-card-grid{grid-gap:24px}.page-docs-index .flat-card-grid .flat-card{padding:32px 12px}.page-docs-index::before{display:none}}#langs-cards{grid-gap:40px}@media(max-width: 991.98px){.page-docs-index .langs-cards{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}.dev-tools-img{max-width:100%;max-height:100%;margin:auto}.page-docs .h4::before{margin-top:0;height:0}.page-docs .row{margin-right:0;margin-left:0}.page-docs .video-grid{grid-gap:35px}.page-docs .title-space{margin-bottom:16px}.page-docs .circled-logo{margin-left:.1rem}.flat-card-grid{grid-gap:15px;max-width:100%;min-height:384px}.flat-card-grid .flat-card{padding:32px 50px;height:100%;width:100%;box-shadow:none}.flat-card-grid .flat-card-padding{margin-bottom:75px}.flat-card-grid img{width:auto;height:115px;margin-left:auto;margin-right:auto}.flat-card-grid .nav-link{border:none !important}.flat-card-grid .nav-link:hover{text-decoration:underline;text-decoration-color:#9a52ff}.flat-card-grid .nav-link::after{content:none !important}@media(max-width: 991.98px){.flat-card-grid .flat-card-padding{margin-bottom:0}.flat-card-grid .nav-link::after{content:" " !important}.flat-card-grid .flat-card .btn{display:none}}.float-up-on-hover{transition:all .35s ease-out;cursor:pointer}.float-up-on-hover:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.float-up-on-hover .video-image:hover{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}@media(min-width: 992px){.align-button-on-bottom .btn-primary{position:absolute;bottom:0}}.center-image{display:flex;justify-content:center}.quickstart-card .quickstart-image{margin-left:-20px;margin-right:-20px;margin-bottom:-20px}@media(min-width: 992px){.quickstart-card{margin-left:-32px;margin-right:-32px;margin-bottom:-32px;width:calc(100% + 64px)}}.explore-links .card-grid{grid-gap:40px}.full-documentation-link{margin-top:-35px}button.MarkpromptFloatingTrigger{bottom:4.5rem;border-radius:4px;right:16px;border:1px solid transparent;color:var(--markprompt-primaryForeground);background-color:var(--markprompt-primary)}@media(min-width: 992px){button.MarkpromptFloatingTrigger{right:32px}}html.light .MarkpromptContentDialog a{color:#7919ff}html.light .MarkpromptContentDialog h3:not(.chip){color:#000}.MarkpromptExtendedFeedbackTextInput{background-color:#fff;color:#000}.MarkpromptOverlay{z-index:20}.osano-cm-close{box-sizing:content-box !important}.osano-cm-switch{box-sizing:content-box !important}.osano-cm-widget{right:16px;width:50px;height:50px;border:1px solid transparent}@media(min-width: 992px){.osano-cm-widget{right:32px}}html.light article p code,html.light article table code,html.light article li>code{background-color:#e0e0e1;color:#111112}html.light body{background-color:#f5f5f7;color:#000}html.light #topnav-theme .custom-theme-toggle .custom-control-label::before{background-color:transparent;background-position:bottom right;transform:rotate(-15deg)}html.light h1:not(.chip),html.light h2:not(.chip),html.light h3:not(.chip),html.light h4:not(.chip),html.light h5:not(.chip),html.light h6:not(.chip),html.light .h1:not(.chip),html.light .h2:not(.chip),html.light .h3:not(.chip),html.light .h4:not(.chip),html.light .h5:not(.chip),html.light .h6:not(.chip){color:#000}html.light h1.green-500,html.light h2.green-500,html.light h3.green-500,html.light h4.green-500,html.light h5.green-500,html.light h6.green-500,html.light .h1.green-500,html.light .h2.green-500,html.light .h3.green-500,html.light .h4.green-500,html.light .h5.green-500,html.light .h6.green-500{color:#28b86a;text-shadow:#fff 0 0 2px,#fff -1px -1px 2px,#fff 1px 1px 2px}html.light .bg-grey-800{background-color:#fcfcfd}html.light .grey-400{color:#454549}html.light .text-muted{color:#232325 !important}html.light .longform{color:#232325}html.light .numbers{color:#000}html.light .stat-highlight,html.light .eyebrow{color:#111112}html.light .invertible-img{filter:invert(100%)}html.light .arrow-link::after{content:url("../img/lightmode/icon-long-arrow.svg")}html.light .search .input-group-text,html.light .input-group .input-group-text,html.light .form-group .input-group-text{background-color:#e0e0e1;color:#232325}html.light .search label .input-group-text,html.light .search .form-control:not(.btn),html.light .input-group label .input-group-text,html.light .input-group .form-control:not(.btn),html.light .form-group label .input-group-text,html.light .form-group .form-control:not(.btn){color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input,html.light .input-group .ds-input,html.light .form-group .ds-input{color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input:focus,html.light .input-group .ds-input:focus,html.light .form-group .ds-input:focus{border-color:#9a52ff}html.light .list-group-item{border-color:#232325;background-color:#f5f5f7}html.light .list-group-item.disabled{color:#a2a2a4}html.light .progress{background-color:#e0e0e1}html.light [data-component-name="Search/SearchIcon"]>path{fill:#000}html.light a,html.light nav a,html.light a:not([role=button]){color:#000}html.light a.btn-primary,html.light nav a.btn-primary,html.light a:not([role=button]).btn-primary{color:#fff}html.light a.btn-primary:hover,html.light nav a.btn-primary:hover,html.light a:not([role=button]).btn-primary:hover{color:#fff}html.light a:hover,html.light a:active,html.light a.active,html.light nav a:hover,html.light nav a:active,html.light nav a.active,html.light a:not([role=button]):hover,html.light a:not([role=button]):active,html.light a:not([role=button]).active{color:#7919ff}html.light a:not(.btn):focus,html.light nav a:not(.btn):focus,html.light a:not([role=button]):not(.btn):focus{background-color:transparent}html.light a.card:hover,html.light:active,html.light.active{color:#000}html.light .landing-table tbody td{color:#232325}html.light .btn-outline-secondary,html.light article a.button,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary{color:#111112;border-color:#111112}html.light .btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .btn-outline-secondary:not(:disabled):not(.disabled):active,html.light article a.button:not(:disabled):not(.disabled):hover,html.light article a.button:not(:disabled):not(.disabled):active,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#9a52ff;border-color:#9a52ff;background-color:transparent}html.light .breadcrumb{background:#f5f5f7}html.light .breadcrumb-item a{color:#454549}html.light .breadcrumb-item a:hover{color:#9a52ff}html.light .top-nav{background:#f5f5f7}html.light .top-nav #topnav-pages .nav-link{color:#000}html.light .top-nav .navbar-brand .logo{content:url(../img/XRPLedger_DevPortal-black.svg);height:40px}html.light .top-nav #dropdown-hero-for-docs>img{content:url(../img/icons/lightmode/docs.svg)}html.light .top-nav #dropdown-hero-for-community>img{content:url(../img/icons/lightmode/contribute.svg)}html.light .top-nav .dropdown-menu{background-color:#f5f5f7;border-color:#f5f5f7;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .top-nav .dropdown-menu a:hover,html.light .top-nav .dropdown-menu a.active{color:#7919ff}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{background-color:#fcfcfd}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero p{color:#343437}html.light .top-nav .dropdown-menu .dropdown-item.active{color:#7919ff}html.light .top-nav .dropdown-menu h5{color:#454549}html.light .top-nav .dropdown-menu .col-for-get_started{background-color:#e0e0e1}html.light .top-nav #topnav-button{background-color:#e0e0e1}@media(max-width: 991.98px){html.light .top-nav .navbar-toggler .navbar-toggler-icon::after,html.light .top-nav .navbar-toggler .navbar-toggler-icon::before,html.light .top-nav .navbar-toggler .navbar-toggler-icon div{background-color:#111112}html.light .top-nav .navbar-nav .nav-link,html.light .top-nav .navbar-collapse>.nav-item{background:#e0e0e1}html.light .top-nav #top-main-nav{background-color:#c1c1c2}}html.light aside .sidenav_cat_title{color:#000}html.light .page-toc .level-1 a,html.light .command-list .separator{color:#000}html.light aside a:hover,html.light aside .sidenav_cat_title:hover,html.light aside a.active,html.light aside a.active:hover,html.light aside .active>a,html.light aside .active>a:hover{color:#7919ff}html.light .dactyl-tree-nav nav{border-left:1px solid #000}html.light .dactyl-tree-nav nav .nav-link:hover,html.light .dactyl-tree-nav nav .nav-link:active{border-left-color:#7919ff}html.light .dactyl-tree-nav nav .active>.nav-link{border-left-color:#7919ff}html.light .page-toc,html.light .command-list{border-left:1px solid #000}html.light .page-toc .level-3,html.light .command-list .level-3{border-left:1px solid #000}html.light .page-toc li a:hover,html.light .page-toc li a .active,html.light .command-list li a:hover,html.light .command-list li a .active{border-left-color:#7919ff}html.light .footer-brand .logo{filter:invert(100%)}html.light .copyright-license{text-shadow:#fff 0px 0px 2px,#fff 1px 1px 2px,#fff 2px 2px 3px,#fff 2px 2px 4px,#fff 2px 2px 5px,#fff 2px 2px 6px,#fff -1px -1px 2px,#fff -2px -2px 3px,#fff -2px -2px 4px}html.light a.osano-cm-link{color:#fff}html.light article .card,html.light .landing .card,html.light .cta-card,html.light aside .card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card{box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card-header{border-bottom:none;background-color:#fcfcfd}html.light #code-samples-deck .card-footer{background-color:#fcfcfd}html.light .page-faq.landing-builtin-bg::before,html.light .mini-faq.landing-builtin-bg::before{opacity:.6}html.light .page-faq .q-wrapper,html.light .mini-faq .q-wrapper{background-color:#fcfcfd;color:#000;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-faq .q-wrapper>h4 a.expander:hover,html.light .mini-faq .q-wrapper>h4 a.expander:hover{color:#000}html.light .page-community .com-card{background:#fff}html.light .page-community .project-description{color:#343437}html.light .page-community #platform-stack-overflow{content:url("../img/logos/lightmode/stack-overflow.svg")}html.light .page-community #platform-discord{content:url("../img/logos/lightmode/discord.svg")}html.light .status.not_enabled{color:#aeb200}html.light .pg-category{color:#454549}html.light .landing .nav .nav-link{color:#232325;border-bottom-color:#c1c1c2}html.light .landing .circled-logo{background-color:#e0e0e1}html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"]{filter:invert(100%)}html.light .landing p a,html.light .landing .longform a{color:#7919ff}html.light .devportal-callout.caution,html.light .devportal-callout.注意{border-color:#aeb200}html.light .devportal-callout.caution>strong:first-child::before,html.light .devportal-callout.注意>strong:first-child::before{color:#aeb200}html.light .devportal-callout.tip,html.light .devportal-callout.ヒント{border-color:#2dcf78}html.light .devportal-callout.tip>strong:first-child::before,html.light .devportal-callout.ヒント>strong:first-child::before{color:#2dcf78}html.light code{color:#000}html.light pre code,html.light pre{background-color:#e0e0e1}html.light .multicode a{color:#000}html.light .multicode a.current{color:#fff}html.light .multicode a:hover{text-decoration:none;background-color:#e0e0e1;color:#fff}html.light .multicode a:focus{background-color:#232325}html.light .codehilite .btn-outline-secondary{background-color:#232325;color:#f5f5f7;border-color:#f5f5f7}html.light .interactive-block .breadcrumb-item.done a::after{color:#145c35}html.light .modal-content{background-color:#fcfcfd}html.light .rpc-tool pre .toggle{color:#fff}html.light .rpc-tool pre .toggle:hover{color:#b480ff}html.light .page-home #home-hero-graphic{content:url("../img/lightmode/home-hero.svg")}html.light .page-home #benefits-list #public{content:url("../img/icons/lightmode/public.svg")}html.light .page-home #benefits-list #streamlined{content:url("../img/icons/lightmode/streamlined.svg")}html.light .page-home #benefits-list #performance{content:url("../img/icons/lightmode/performance.svg")}html.light .page-home #benefits-list #low-cost{content:url("../img/icons/lightmode/low-cost.svg")}html.light .page-home #benefits-list #community{content:url("../img/icons/lightmode/community.svg")}html.light .page-home #benefits-list #reliability{content:url("../img/icons/lightmode/reliability.svg")}html.light #validator-graphic{content:url("../img/lightmode/validators.svg")}html.light #wallets #wallet-xumm{content:url("../img/wallets/lightmode/xumm.svg")}html.light #wallets #wallet-bitfrost{content:url("../img/wallets/lightmode/bitfrost.png")}html.light #wallets #wallet-towo{content:url("../img/wallets/lightmode/towo.svg")}html.light #wallets #wallet-keystone{content:url("../img/wallets/lightmode/keystone.svg")}html.light #wallets #wallet-dcent{content:url("../img/wallets/lightmode/dcent.svg")}html.light #wallets #wallet-coin{content:url("../img/wallets/lightmode/coin.svg")}html.light #wallets #wallet-gem{content:url("../img/wallets/lightmode/gem.svg")}html.light #top-exchanges #exch-bitstamp{content:url("../img/exchanges/lightmode/bitstamp.svg")}html.light #top-exchanges #exch-cex-io{content:url("../img/exchanges/lightmode/cex-io.svg")}html.light #top-exchanges #exch-liquid{content:url("../img/exchanges/lightmode/liquid.svg")}html.light #top-exchanges #exch-bitfinex{content:url("../img/exchanges/lightmode/bitfinex.svg")}html.light #top-exchanges #exch-bittrex{content:url("../img/exchanges/lightmode/bittrex.png")}html.light #top-exchanges #exch-currency-com{content:url("../img/exchanges/lightmode/currency-com.png")}html.light #top-exchanges #exch-ftx{content:url("../img/exchanges/lightmode/ftx.png")}html.light #top-exchanges #exch-lmax{content:url("../img/exchanges/lightmode/lmax.png")}html.light .timeline-dot{background-color:#f5f5f7}html.light .page-uses .card-body{background:#fff;color:#343437}html.light .page-uses .modal-footer,html.light .page-uses .modal-header{background-color:#fcfcfd}html.light .page-uses #infrastructure{content:url("../img/icons/usecases/lightmode/ic_infrastructure.png")}html.light .page-uses #developer_tooling{content:url("../img/icons/usecases/lightmode/ic_developer_tooling.png")}html.light .page-uses #interoperability{content:url("../img/icons/usecases/lightmode/ic_interoperability.png")}html.light .page-uses #wallet{content:url("../img/icons/usecases/lightmode/ic_wallet.png")}html.light .page-uses #nfts{content:url("../img/icons/usecases/lightmode/ic_nfts.png")}html.light .page-uses #exchanges{content:url("../img/icons/usecases/lightmode/ic_exchanges.png")}html.light .page-uses #gaming{content:url("../img/icons/usecases/lightmode/ic_gaming.png")}html.light .page-uses #security{content:url("../img/icons/usecases/lightmode/ic_security.png")}html.light .page-uses #payments{content:url("../img/icons/usecases/lightmode/ic_payments.png")}html.light .page-uses #web_monetization{content:url("../img/icons/usecases/lightmode/ic_web_monetization.png")}html.light .page-uses #sustainability{content:url("../img/icons/usecases/lightmode/ic_sustainability.png")}html.light .page-uses #cbdc{content:url("../img/icons/usecases/lightmode/ic_cbdc.png")}html.light .page-uses #custody{content:url("../img/icons/usecases/lightmode/ic_custody.png")}html.light .page-uses #other{content:url("../img/icons/usecases/lightmode/ic_other.png")}html.light .page-uses #carbon_markets{content:url("../img/icons/usecases/lightmode/ic_carbon_markets.png")}html.light .page-uses #defi{content:url("../img/icons/usecases/lightmode/ic_defi.png")}html.light .page-uses .category-header{color:#343437}html.light .page-uses .category_count{background:#d2b2ff;color:#350080}html.light .page-uses .section-text-title{color:#000}html.light .page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/lightmode/bitgo.svg")}html.light .page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-nft.svg")}html.light .page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/lightmode/carbonland-trust.svg")}html.light .page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/lightmode/futureverse.png")}html.light .page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/lightmode/x-tokenize.svg")}html.light .page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/lightmode/casino-coin.svg")}html.light .page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-cafe.svg")}html.light .page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/lightmode/coil.svg")}html.light .page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-toolkit.svg")}html.light .page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/lightmode/cryptum.svg")}html.light .page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-org-ledger-explorer.svg")}html.light .page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/lightmode/evernode.svg")}html.light .page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-rosetta.svg")}html.light .page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-cbdc-platform.svg")}html.light .page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpscan.svg")}html.light .page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-on-demand-liquidity.svg")}html.light .page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xumm-wallet.svg")}html.light .page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-dex.svg")}html.light .page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/lightmode/Crossmark.png")}html.light .page-uses #use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/lightmode/threezy.png")}html.light .page-uses .modal-content-uses .first-ledger-bot{content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses .modal-content-uses .moai-finance{content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses .modal-content-uses .orchestra-finance{max-height:52px;margin:0;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #bitpay .biz-logo,html.light .page-uses #forte .biz-logo,html.light .page-uses #xrplorer .biz-logo,html.light .page-uses #gatehub .biz-logo{filter:invert(100%)}html.light .landing-bg{opacity:.4}@media(min-width: 768px){html.light .landing-bg{opacity:1}}html.light .landing-builtin-bg::before{opacity:.4}@media(min-width: 768px){html.light .landing-builtin-bg::before{opacity:1}}html.light #feedback-content .widget-form-wrapper{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper div{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper textarea{background-color:#f5f5f7 !important}html.light #feedback-content .widget-form-wrapper .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-form-wrapper .cancel{color:#7919ff !important}html.light #feedback-content .widget-helpful .widget-header{background-color:#fff !important}html.light #feedback-content .widget-helpful .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-helpful .widget-header-icon{filter:invert(100%)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-green.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-yellow.svg)}html.light .page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-2.svg)}html.light .page-docs-index .funding-text,html.light .page-community .funding-text{color:#232325}html.light .page-docs-index .stat .small-text,html.light .page-community .stat .small-text{color:#232325}html.light .page-docs-index .project-card,html.light .page-community .project-card{background-color:transparent}html.light .page-docs-index .card-details,html.light .page-community .card-details{background-color:transparent}html.light .page-docs-index .card-image,html.light .page-community .card-image{background:#e0e0e1}html.light .page-docs-index #community-table tr,html.light .page-community #community-table tr{border-bottom:1px solid #34343740}html.light .page-docs-index .card-description,html.light .page-community .card-description{color:#343437 !important}html.light .page-docs-index .card-subtitle,html.light .page-community .card-subtitle{color:#111112 !important}html.light .page-docs-index .card-title,html.light .page-community .card-title{color:#111112 !important}html.light .page-docs-index .main-title,html.light .page-community .main-title{color:#111112}html.light .page-docs-index .event-location,html.light .page-community .event-location{color:#232325 !important}html.light .page-docs-index .event-details,html.light .page-community .event-details{color:#232325 !important}html.light .page-docs-index .upcoming-event .event-name,html.light .page-community .upcoming-event .event-name{color:#111112}html.light .page-docs-index .upcoming-label,html.light .page-community .upcoming-label{color:#232325 !important}html.light .page-docs-index .description,html.light .page-community .description{color:#232325}html.light .page-docs-index .events-text,html.light .page-community .events-text{color:#111112}html.light .page-docs-index .discord-icon,html.light .page-community .discord-icon{content:url(../img/community/ic_discord_light.png)}html.light .page-docs-index .twitter-icon,html.light .page-community .twitter-icon{content:url(../img/community/ic_twitter_light.png)}html.light .page-docs-index .youtube-icon,html.light .page-community .youtube-icon{content:url(../img/community/ic_youtube_light.png)}html.light .page-docs-index .xrpl-icon,html.light .page-community .xrpl-icon{content:url(../img/community/ic_xrpl_light.png)}html.light .page-docs-index .github-icon,html.light .page-community .github-icon{content:url(../img/community/ic_github_light.png)}html.light .page-docs-index .stackoverflow-icon,html.light .page-community .stackoverflow-icon{content:url(../img/community/ic_stackoverflow_light.png)}html.light .page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,html.light .page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-green.svg)}html.light .page-docs-index #run-a-network-node .text-cards a,html.light .page-community #run-a-network-node .text-cards a{color:#000}html.light .page-docs-index #xrpl-blog .blog-graphic,html.light .page-community #xrpl-blog .blog-graphic{content:url(../img/community/lightmode/community-blog@2x.png)}html.light .page-docs-index #xrpl-events .text-light,html.light .page-community #xrpl-events .text-light{color:#000 !important}html.light .page-docs-index #xrplGrantsDark g,html.light .page-docs-index #xrplGrantsDark-small g,html.light .page-docs-index #careersDark g,html.light .page-docs-index #careersDark-small g,html.light .page-community #xrplGrantsDark g,html.light .page-community #xrplGrantsDark-small g,html.light .page-community #careersDark g,html.light .page-community #careersDark-small g{filter:invert(100%) brightness(0.8)}html.light #find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-3.svg)}html.light .page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/3col-green-2.svg)}html.light .page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-4.svg)}html.light ::-webkit-input-placeholder{color:#454549}html.light :-ms-input-placeholder{color:#454549}html.light ::-moz-placeholder{color:#454549;opacity:1}html.light :-moz-placeholder{color:#454549;opacity:1}html.light .page-events label{color:#111112}html.light .page-events .event-card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-events a.event-card:hover{color:#000}html.light .page-events .event-hero{color:#111112}html.light .page-events .event-save-date{color:#111112}html.light .page-events .event-small-gray{color:#454549}html.light .page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1-light@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}html.light .page-events .icon-date::before{background:url(../img/events/event-date-light.svg)}html.light .page-events .icon-location::before{background:url(../img/events/event-location-light.svg)}html.light .page-events .events-filter[type=checkbox]::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#5f00e5;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background-color:#f5f5f7}html.light .page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/lightmode/benefits-01.svg")}html.light .page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/lightmode/benefits-02.svg")}html.light .page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/lightmode/benefits-03.svg")}html.light .page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/lightmode/benefits-04.svg")}html.light .page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/lightmode/benefits-05.svg")}html.light .page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/lightmode/benefits-06.svg")}html.light .page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/lightmode/eligibility-01.svg")}html.light .page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/lightmode/eligibility-02.svg")}html.light .page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/lightmode/eligibility-03.svg")}html.light .page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/lightmode/eligibility-04.svg")}html.light .page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/lightmode/eligibility-05.svg")}html.light .page-funding .funding-list #funding-01{content:url("../img/funding/lightmode/funding-01.svg")}html.light .page-funding .funding-list #funding-02{content:url("../img/funding/lightmode/funding-02.svg")}html.light .page-funding .funding-list #funding-03{content:url("../img/funding/lightmode/funding-03.svg")}html.light .page-funding .funding-list #funding-04{content:url("../img/funding/lightmode/funding-04.svg")}html.light .page-funding #xrplGrantsDark{filter:invert(100%) brightness(0.8)}html.light .page-impact .connect-list #connect-01{content:url("../img/impact/lightmode/connect-01.svg")}html.light .page-impact .connect-list #connect-02{content:url("../img/impact/lightmode/connect-02.svg")}html.light .page-impact .connect-list #connect-03{content:url("../img/impact/lightmode/connect-03.svg")}html.light .page-impact .connect-list #connect-04{content:url("../img/impact/lightmode/connect-04.svg")}html.light .page-impact #map-light{display:block}html.light .page-impact #map-dark{display:none}html.light main article .card-grid{color:#000}html.light main article .card-grid code{background-color:#d6fae7}html.light main article .card-grid .card-icon-container,html.light main article .card-grid.card-grid-3xN .card-icon-container{background:#c1c1c2}html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#f5f5f7 0px 0px 2px,#f5f5f7 1px 1px 2px,#f5f5f7 2px 2px 3px,#f5f5f7 2px 2px 4px,#f5f5f7 2px 2px 5px,#f5f5f7 2px 2px 6px,#f5f5f7 -1px -1px 2px,#f5f5f7 -2px -2px 3px,#f5f5f7 -2px -2px 4px}html.light .dev-blog .text-bg{background-color:#fff}html.light .dev-blog #card-date{color:#454549}html.light .dev-blog .category-header{color:#111112}html.light .dev-blog label{color:#343437}html.light .dev-blog .blog-filter[type=checkbox]::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:checked::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check-light-mode.svg)}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#f5f5f7}html.light .dev-blog .post-date{text-decoration:overline solid #145c35 10%}html.light .dev-blog #general-badge{background-color:#fff;color:#343437}html.light .dev-blog #release_notes-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #advisories-badge{background-color:#ff6719;color:#4c1a00}html.light .dev-blog #amendments-badge{background-color:#faff19;color:#4b4c00}html.light .dev-blog #development-badge{background-color:#7919ff;color:#20004c}html.light .dev-blog #developer_reflections-badge{background-color:#19a3ff;color:#002e4c}html.light .dev-blog #gateway_bulletins-badge{background-color:#d919ff;color:#40004c}html.light .dev-blog #features-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #security-badge{background-color:#ff198b;color:#4c0026}html.light .dev-blog .dropdown-btn{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}html.light .dev-blog .dropdown-btn img{content:url("../img/icons/lightmode/chevron-arrow-down.svg")}html.light .dev-blog .dropdown-content{background-color:#e0e0e1}html.light .page-tokenization .project-cards .project-logo{filter:invert(100%)}html.light .page-tokenization .article-card{background-color:#fff}html.light .page-tokenization .article-card-background{filter:drop-shadow(0px 1px 18px rgba(24, 24, 24, 0.5))}html.light .page-tokenization .evernode{content:url("../img/logos/evernode.svg")}html.light .page-tokenization .prev img{content:url("../img/icons/prev_light.svg")}html.light .page-tokenization .next img{content:url("../img/icons/prev_light.svg");transform:scaleX(-1)}html.light .page-tokenization .arrow-button{background-color:#e0e0e1}html.light .page-rwa-tokenization .benefit-icon.low-fees{background-image:url(../img/tokenization/lightmode/low-fees.png)}html.light .page-rwa-tokenization .benefit-icon.access{background-image:url(../img/tokenization/lightmode/access.png)}html.light .page-rwa-tokenization .benefit-icon.full-stack{background-image:url(../img/tokenization/lightmode/full-stack.png)}html.light .page-rwa-tokenization .benefit-icon.best-in-class{background-image:url(../img/tokenization/lightmode/best-in-class.png)}html.light .page-rwa-tokenization .benefit-icon.cross-chain{background-image:url(../img/tokenization/lightmode/cross-chain.png)}html.light .page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/lightmode/open-eden.png)}html.light .page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/lightmode/zoniqx.png)}html.light .page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/lightmode/archax.png)}html.light .page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/lightmode/meld.png)}html.light .page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/lightmode/ripple-logo.png)}html.light .page-rwa-tokenization .token-features-section .btn-link{color:#7919ff}html.light .page-rwa-tokenization .card-description a{color:#7919ff !important}html.light .page-rwa-tokenization .developer-tools__image{background-image:url("../img/tokenization/lightmode/graphic.png")}html.light .page-rwa-tokenization .right-arrow-item::after{content:url("../img/icons/lightmode/arrow-right-purple.svg")}html.light .page-rwa-tokenization .token-video-text-container p{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .cards-title-token{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card{background:#fff}html.light .page-rwa-tokenization .benefit-card .benefit-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card .benefit-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .developer-tools__description{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__divider{background-color:#000}html.light .page-rwa-tokenization .rwa-subtitle{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .com-card-link{color:#7919ff !important}html.light .algolia-autocomplete .ds-dropdown-menu::before{background-color:#f5f5f7}html.light .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#f5f5f7}html.light .DocSearch-Modal{box-shadow:0px 5px 20px 0px #c1c1c2} diff --git a/static/favicons/apple-touch-icon.png b/static/favicons/apple-touch-icon.png deleted file mode 100644 index e30c41a40b..0000000000 Binary files a/static/favicons/apple-touch-icon.png and /dev/null differ diff --git a/static/favicons/favicon-16x16.png b/static/favicons/favicon-16x16.png deleted file mode 100644 index d13b282f61..0000000000 Binary files a/static/favicons/favicon-16x16.png and /dev/null differ diff --git a/static/favicons/favicon-32x32.png b/static/favicons/favicon-32x32.png deleted file mode 100644 index 7194c780dd..0000000000 Binary files a/static/favicons/favicon-32x32.png and /dev/null differ diff --git a/static/img/ambassadors/developer-hero@2x.png b/static/img/ambassadors/developer-hero@2x.png index 112d8d40f9..bf95943a61 100644 Binary files a/static/img/ambassadors/developer-hero@2x.png and b/static/img/ambassadors/developer-hero@2x.png differ diff --git a/static/img/ambassadors/locations-row-1.png b/static/img/ambassadors/locations-row-1.png index 4f3e3d6282..9910968563 100644 Binary files a/static/img/ambassadors/locations-row-1.png and b/static/img/ambassadors/locations-row-1.png differ diff --git a/static/img/ambassadors/locations-row-2.png b/static/img/ambassadors/locations-row-2.png index bb286231ff..c04c8eaa35 100644 Binary files a/static/img/ambassadors/locations-row-2.png and b/static/img/ambassadors/locations-row-2.png differ diff --git a/static/img/ambassadors/students-large.png b/static/img/ambassadors/students-large.png index 7b14885542..173e67f49f 100644 Binary files a/static/img/ambassadors/students-large.png and b/static/img/ambassadors/students-large.png differ diff --git a/static/img/apex-texture-green-diamond.svg b/static/img/apex-texture-green-diamond.svg deleted file mode 100644 index c0a5b5cb93..0000000000 --- a/static/img/apex-texture-green-diamond.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/apex-texture-orange-diamond.svg b/static/img/apex-texture-orange-diamond.svg deleted file mode 100644 index 50c49e30fb..0000000000 --- a/static/img/apex-texture-orange-diamond.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/apex-texture-polkadots.svg b/static/img/apex-texture-polkadots.svg deleted file mode 100644 index 0ff4f37ba4..0000000000 --- a/static/img/apex-texture-polkadots.svg +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/apex-texture-purple-diamond.svg b/static/img/apex-texture-purple-diamond.svg deleted file mode 100644 index 1fe617bcbb..0000000000 --- a/static/img/apex-texture-purple-diamond.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/apex-texture-red-diamond.svg b/static/img/apex-texture-red-diamond.svg deleted file mode 100644 index ff9888db3a..0000000000 --- a/static/img/apex-texture-red-diamond.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/apex-texture-yellow-grid.svg b/static/img/apex-texture-yellow-grid.svg deleted file mode 100644 index 9c489d9838..0000000000 --- a/static/img/apex-texture-yellow-grid.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/static/img/apex-xrpl-logo.svg b/static/img/apex-xrpl-logo.svg deleted file mode 100644 index 4cb358c449..0000000000 --- a/static/img/apex-xrpl-logo.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/backgrounds/bg-apex-banner-2-lg.png b/static/img/backgrounds/bg-apex-banner-2-lg.png deleted file mode 100644 index 933d86b1a6..0000000000 Binary files a/static/img/backgrounds/bg-apex-banner-2-lg.png and /dev/null differ diff --git a/static/img/backgrounds/bg-apex-banner-2-md.png b/static/img/backgrounds/bg-apex-banner-2-md.png deleted file mode 100644 index 6f02db5ce1..0000000000 Binary files a/static/img/backgrounds/bg-apex-banner-2-md.png and /dev/null differ diff --git a/static/img/backgrounds/bg-apex-banner-2.png b/static/img/backgrounds/bg-apex-banner-2.png deleted file mode 100644 index c364a9f509..0000000000 Binary files a/static/img/backgrounds/bg-apex-banner-2.png and /dev/null differ diff --git a/static/img/backgrounds/bg-apex-banner-md.svg b/static/img/backgrounds/bg-apex-banner-md.svg deleted file mode 100644 index e661d60941..0000000000 --- a/static/img/backgrounds/bg-apex-banner-md.svg +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/bg-apex-banner-sm.svg b/static/img/backgrounds/bg-apex-banner-sm.svg deleted file mode 100644 index 9509e25aa4..0000000000 --- a/static/img/backgrounds/bg-apex-banner-sm.svg +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/bg-apex-banner.svg b/static/img/backgrounds/bg-apex-banner.svg deleted file mode 100644 index ca90b7e961..0000000000 --- a/static/img/backgrounds/bg-apex-banner.svg +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/bg-business-bot.png b/static/img/backgrounds/bg-business-bot.png deleted file mode 100644 index 4e2d779c26..0000000000 Binary files a/static/img/backgrounds/bg-business-bot.png and /dev/null differ diff --git a/static/img/backgrounds/bg-business-bot@2x.png b/static/img/backgrounds/bg-business-bot@2x.png deleted file mode 100644 index d287b6b2a5..0000000000 Binary files a/static/img/backgrounds/bg-business-bot@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-business-mid.png b/static/img/backgrounds/bg-business-mid.png deleted file mode 100644 index b13e4221fd..0000000000 Binary files a/static/img/backgrounds/bg-business-mid.png and /dev/null differ diff --git a/static/img/backgrounds/bg-business-mid@2x.png b/static/img/backgrounds/bg-business-mid@2x.png deleted file mode 100644 index 87bfae8437..0000000000 Binary files a/static/img/backgrounds/bg-business-mid@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-business-top.png b/static/img/backgrounds/bg-business-top.png deleted file mode 100644 index d8c3af8ee6..0000000000 Binary files a/static/img/backgrounds/bg-business-top.png and /dev/null differ diff --git a/static/img/backgrounds/bg-business-top@2x.png b/static/img/backgrounds/bg-business-top@2x.png deleted file mode 100644 index 9e17132731..0000000000 Binary files a/static/img/backgrounds/bg-business-top@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-contribute.png b/static/img/backgrounds/bg-contribute.png deleted file mode 100644 index e853dfaca4..0000000000 Binary files a/static/img/backgrounds/bg-contribute.png and /dev/null differ diff --git a/static/img/backgrounds/bg-contribute@2x.png b/static/img/backgrounds/bg-contribute@2x.png deleted file mode 100644 index 298259cced..0000000000 Binary files a/static/img/backgrounds/bg-contribute@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-docs.png b/static/img/backgrounds/bg-docs.png deleted file mode 100644 index 1993ef544f..0000000000 Binary files a/static/img/backgrounds/bg-docs.png and /dev/null differ diff --git a/static/img/backgrounds/bg-docs@2x.png b/static/img/backgrounds/bg-docs@2x.png deleted file mode 100644 index ade372338a..0000000000 Binary files a/static/img/backgrounds/bg-docs@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-exchanges-bot.png b/static/img/backgrounds/bg-exchanges-bot.png deleted file mode 100644 index 9e2c6c2110..0000000000 Binary files a/static/img/backgrounds/bg-exchanges-bot.png and /dev/null differ diff --git a/static/img/backgrounds/bg-exchanges-bot@2x.png b/static/img/backgrounds/bg-exchanges-bot@2x.png deleted file mode 100644 index 9cd8049ae1..0000000000 Binary files a/static/img/backgrounds/bg-exchanges-bot@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-exchanges-top.png b/static/img/backgrounds/bg-exchanges-top.png deleted file mode 100644 index a2c67124c1..0000000000 Binary files a/static/img/backgrounds/bg-exchanges-top.png and /dev/null differ diff --git a/static/img/backgrounds/bg-exchanges-top@2x.png b/static/img/backgrounds/bg-exchanges-top@2x.png deleted file mode 100644 index de37f06961..0000000000 Binary files a/static/img/backgrounds/bg-exchanges-top@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-history-mid.png b/static/img/backgrounds/bg-history-mid.png deleted file mode 100644 index 9b866e28c7..0000000000 Binary files a/static/img/backgrounds/bg-history-mid.png and /dev/null differ diff --git a/static/img/backgrounds/bg-history-mid@2x.png b/static/img/backgrounds/bg-history-mid@2x.png deleted file mode 100644 index 16ec0886b1..0000000000 Binary files a/static/img/backgrounds/bg-history-mid@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-history-top.png b/static/img/backgrounds/bg-history-top.png deleted file mode 100644 index af4d7e859d..0000000000 Binary files a/static/img/backgrounds/bg-history-top.png and /dev/null differ diff --git a/static/img/backgrounds/bg-history-top@2x.png b/static/img/backgrounds/bg-history-top@2x.png deleted file mode 100644 index 8f86429599..0000000000 Binary files a/static/img/backgrounds/bg-history-top@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-home.png b/static/img/backgrounds/bg-home.png deleted file mode 100644 index 17605b6a61..0000000000 Binary files a/static/img/backgrounds/bg-home.png and /dev/null differ diff --git a/static/img/backgrounds/bg-home@2x.png b/static/img/backgrounds/bg-home@2x.png deleted file mode 100644 index ab3d74840a..0000000000 Binary files a/static/img/backgrounds/bg-home@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-impact-left.png b/static/img/backgrounds/bg-impact-left.png deleted file mode 100644 index 0154965f61..0000000000 Binary files a/static/img/backgrounds/bg-impact-left.png and /dev/null differ diff --git a/static/img/backgrounds/bg-impact-left@2x.png b/static/img/backgrounds/bg-impact-left@2x.png deleted file mode 100644 index 2575ab3b13..0000000000 Binary files a/static/img/backgrounds/bg-impact-left@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-impact-right.png b/static/img/backgrounds/bg-impact-right.png deleted file mode 100644 index f3118dd85a..0000000000 Binary files a/static/img/backgrounds/bg-impact-right.png and /dev/null differ diff --git a/static/img/backgrounds/bg-impact-right@2x.png b/static/img/backgrounds/bg-impact-right@2x.png deleted file mode 100644 index edbc680cdd..0000000000 Binary files a/static/img/backgrounds/bg-impact-right@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-learning-banner-lg.png b/static/img/backgrounds/bg-learning-banner-lg.png deleted file mode 100644 index 95106cd1dd..0000000000 Binary files a/static/img/backgrounds/bg-learning-banner-lg.png and /dev/null differ diff --git a/static/img/backgrounds/bg-learning-banner-md.png b/static/img/backgrounds/bg-learning-banner-md.png deleted file mode 100644 index db7480e4d8..0000000000 Binary files a/static/img/backgrounds/bg-learning-banner-md.png and /dev/null differ diff --git a/static/img/backgrounds/bg-learning-banner.png b/static/img/backgrounds/bg-learning-banner.png deleted file mode 100644 index 6ffcdeace6..0000000000 Binary files a/static/img/backgrounds/bg-learning-banner.png and /dev/null differ diff --git a/static/img/backgrounds/bg-overview-top.png b/static/img/backgrounds/bg-overview-top.png deleted file mode 100644 index 83612f31cb..0000000000 Binary files a/static/img/backgrounds/bg-overview-top.png and /dev/null differ diff --git a/static/img/backgrounds/bg-overview-top@2x.png b/static/img/backgrounds/bg-overview-top@2x.png deleted file mode 100644 index b16fa15cc9..0000000000 Binary files a/static/img/backgrounds/bg-overview-top@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-uses-top.png b/static/img/backgrounds/bg-uses-top.png deleted file mode 100644 index 7b435f1c32..0000000000 Binary files a/static/img/backgrounds/bg-uses-top.png and /dev/null differ diff --git a/static/img/backgrounds/bg-uses-top@2x.png b/static/img/backgrounds/bg-uses-top@2x.png deleted file mode 100644 index 943dac0dc7..0000000000 Binary files a/static/img/backgrounds/bg-uses-top@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-wallets-bot.png b/static/img/backgrounds/bg-wallets-bot.png deleted file mode 100644 index 2835b8a237..0000000000 Binary files a/static/img/backgrounds/bg-wallets-bot.png and /dev/null differ diff --git a/static/img/backgrounds/bg-wallets-bot@2x.png b/static/img/backgrounds/bg-wallets-bot@2x.png deleted file mode 100644 index 78d703af23..0000000000 Binary files a/static/img/backgrounds/bg-wallets-bot@2x.png and /dev/null differ diff --git a/static/img/backgrounds/bg-wallets-top.png b/static/img/backgrounds/bg-wallets-top.png deleted file mode 100644 index 0bec5f6b63..0000000000 Binary files a/static/img/backgrounds/bg-wallets-top.png and /dev/null differ diff --git a/static/img/backgrounds/bg-wallets-top@2x.png b/static/img/backgrounds/bg-wallets-top@2x.png deleted file mode 100644 index 3cac0585a9..0000000000 Binary files a/static/img/backgrounds/bg-wallets-top@2x.png and /dev/null differ diff --git a/static/img/backgrounds/calculator-purple.svg b/static/img/backgrounds/calculator-purple.svg deleted file mode 100644 index 2a6d5ba108..0000000000 --- a/static/img/backgrounds/calculator-purple.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/community-magenta.svg b/static/img/backgrounds/community-magenta.svg deleted file mode 100644 index ba59f3eafa..0000000000 --- a/static/img/backgrounds/community-magenta.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/cta-community-green.svg b/static/img/backgrounds/cta-community-green.svg deleted file mode 100644 index c33a8a3fdf..0000000000 --- a/static/img/backgrounds/cta-community-green.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/cta-foundation-magenta.svg b/static/img/backgrounds/cta-foundation-magenta.svg deleted file mode 100644 index ef090a4ff1..0000000000 --- a/static/img/backgrounds/cta-foundation-magenta.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/cta-foundation-orange.svg b/static/img/backgrounds/cta-foundation-orange.svg deleted file mode 100644 index 63056e78a2..0000000000 --- a/static/img/backgrounds/cta-foundation-orange.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/cta-funding-orange.svg b/static/img/backgrounds/cta-funding-orange.svg deleted file mode 100644 index 724cd55b57..0000000000 --- a/static/img/backgrounds/cta-funding-orange.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/cta-xrp-overview-green.svg b/static/img/backgrounds/cta-xrp-overview-green.svg deleted file mode 100644 index 6b60b0e42b..0000000000 --- a/static/img/backgrounds/cta-xrp-overview-green.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/cta-xrp-overview-orange.svg b/static/img/backgrounds/cta-xrp-overview-orange.svg deleted file mode 100644 index f9ccb1da3f..0000000000 --- a/static/img/backgrounds/cta-xrp-overview-orange.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/foundation-magenta.svg b/static/img/backgrounds/foundation-magenta.svg deleted file mode 100644 index 7a0a594d7d..0000000000 --- a/static/img/backgrounds/foundation-magenta.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/foundation-orange.svg b/static/img/backgrounds/foundation-orange.svg deleted file mode 100644 index 2e4cdc7ccf..0000000000 --- a/static/img/backgrounds/foundation-orange.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/impact-green.svg b/static/img/backgrounds/impact-green.svg deleted file mode 100644 index 3df4b49dd1..0000000000 --- a/static/img/backgrounds/impact-green.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/impact-magenta.svg b/static/img/backgrounds/impact-magenta.svg deleted file mode 100644 index 27f8c9be92..0000000000 --- a/static/img/backgrounds/impact-magenta.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/impact-orange.svg b/static/img/backgrounds/impact-orange.svg deleted file mode 100644 index ae18f215ef..0000000000 --- a/static/img/backgrounds/impact-orange.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/backgrounds/use-cases-orange.svg b/static/img/backgrounds/use-cases-orange.svg deleted file mode 100644 index 54b99f58ea..0000000000 --- a/static/img/backgrounds/use-cases-orange.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/blog/gateway_bulletin.png b/static/img/blog/gateway_bulletin.png deleted file mode 100644 index 3572a3eba9..0000000000 Binary files a/static/img/blog/gateway_bulletin.png and /dev/null differ diff --git a/static/img/businesses/bitpay.png b/static/img/businesses/bitpay.png deleted file mode 100644 index c48c011745..0000000000 Binary files a/static/img/businesses/bitpay.png and /dev/null differ diff --git a/static/img/businesses/coil.png b/static/img/businesses/coil.png deleted file mode 100644 index 05cd06c027..0000000000 Binary files a/static/img/businesses/coil.png and /dev/null differ diff --git a/static/img/businesses/exodus.png b/static/img/businesses/exodus.png deleted file mode 100644 index c7d2dfb7a4..0000000000 Binary files a/static/img/businesses/exodus.png and /dev/null differ diff --git a/static/img/businesses/gatehub-logo.png b/static/img/businesses/gatehub-logo.png deleted file mode 100644 index 8382d7944e..0000000000 Binary files a/static/img/businesses/gatehub-logo.png and /dev/null differ diff --git a/static/img/businesses/raised-in-space.png b/static/img/businesses/raised-in-space.png deleted file mode 100644 index ede7ad35f3..0000000000 Binary files a/static/img/businesses/raised-in-space.png and /dev/null differ diff --git a/static/img/businesses/towo-labs.png b/static/img/businesses/towo-labs.png deleted file mode 100644 index 03d8c70cfd..0000000000 Binary files a/static/img/businesses/towo-labs.png and /dev/null differ diff --git a/static/img/businesses/xrpl-labs.png b/static/img/businesses/xrpl-labs.png deleted file mode 100644 index 7c52706689..0000000000 Binary files a/static/img/businesses/xrpl-labs.png and /dev/null differ diff --git a/static/img/businesses/xrplorer.png b/static/img/businesses/xrplorer.png deleted file mode 100644 index a8ac7dd78c..0000000000 Binary files a/static/img/businesses/xrplorer.png and /dev/null differ diff --git a/static/img/calculator/co2-cash/img_0.png b/static/img/calculator/co2-cash/img_0.png deleted file mode 100644 index 979de7c6e4..0000000000 Binary files a/static/img/calculator/co2-cash/img_0.png and /dev/null differ diff --git a/static/img/calculator/co2-cash/img_1.png b/static/img/calculator/co2-cash/img_1.png deleted file mode 100644 index d626de1e0e..0000000000 Binary files a/static/img/calculator/co2-cash/img_1.png and /dev/null differ diff --git a/static/img/calculator/co2-cash/img_2.png b/static/img/calculator/co2-cash/img_2.png deleted file mode 100644 index d192296878..0000000000 Binary files a/static/img/calculator/co2-cash/img_2.png and /dev/null differ diff --git a/static/img/calculator/co2-cash/img_3.png b/static/img/calculator/co2-cash/img_3.png deleted file mode 100644 index 9f1d438c55..0000000000 Binary files a/static/img/calculator/co2-cash/img_3.png and /dev/null differ diff --git a/static/img/calculator/co2-credit/img_0.png b/static/img/calculator/co2-credit/img_0.png deleted file mode 100644 index 2ab9025cbf..0000000000 Binary files a/static/img/calculator/co2-credit/img_0.png and /dev/null differ diff --git a/static/img/calculator/co2-credit/img_1.png b/static/img/calculator/co2-credit/img_1.png deleted file mode 100644 index b30ce07656..0000000000 Binary files a/static/img/calculator/co2-credit/img_1.png and /dev/null differ diff --git a/static/img/calculator/co2-credit/img_2.png b/static/img/calculator/co2-credit/img_2.png deleted file mode 100644 index d626de1e0e..0000000000 Binary files a/static/img/calculator/co2-credit/img_2.png and /dev/null differ diff --git a/static/img/calculator/co2-credit/img_3.png b/static/img/calculator/co2-credit/img_3.png deleted file mode 100644 index d192296878..0000000000 Binary files a/static/img/calculator/co2-credit/img_3.png and /dev/null differ diff --git a/static/img/calculator/co2-crypto/img_0.png b/static/img/calculator/co2-crypto/img_0.png deleted file mode 100644 index d626de1e0e..0000000000 Binary files a/static/img/calculator/co2-crypto/img_0.png and /dev/null differ diff --git a/static/img/calculator/co2-crypto/img_1.png b/static/img/calculator/co2-crypto/img_1.png deleted file mode 100644 index d192296878..0000000000 Binary files a/static/img/calculator/co2-crypto/img_1.png and /dev/null differ diff --git a/static/img/calculator/co2-crypto/img_2.png b/static/img/calculator/co2-crypto/img_2.png deleted file mode 100644 index eb013d849c..0000000000 Binary files a/static/img/calculator/co2-crypto/img_2.png and /dev/null differ diff --git a/static/img/calculator/gas-cash/img_0.png b/static/img/calculator/gas-cash/img_0.png deleted file mode 100644 index 9f1d438c55..0000000000 Binary files a/static/img/calculator/gas-cash/img_0.png and /dev/null differ diff --git a/static/img/calculator/gas-cash/img_1.png b/static/img/calculator/gas-cash/img_1.png deleted file mode 100644 index d192296878..0000000000 Binary files a/static/img/calculator/gas-cash/img_1.png and /dev/null differ diff --git a/static/img/calculator/gas-crypto/img_0.png b/static/img/calculator/gas-crypto/img_0.png deleted file mode 100644 index 4c539b68fe..0000000000 Binary files a/static/img/calculator/gas-crypto/img_0.png and /dev/null differ diff --git a/static/img/calculator/gas-crypto/img_1.png b/static/img/calculator/gas-crypto/img_1.png deleted file mode 100644 index d192296878..0000000000 Binary files a/static/img/calculator/gas-crypto/img_1.png and /dev/null differ diff --git a/static/img/cards/4-col-red.svg b/static/img/cards/4-col-red.svg deleted file mode 100644 index 947fc0e50b..0000000000 --- a/static/img/cards/4-col-red.svg +++ /dev/null @@ -1,666 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/community/community-blog@2x.png b/static/img/community/community-blog@2x.png index 63ce28f686..ddf5706e59 100644 Binary files a/static/img/community/community-blog@2x.png and b/static/img/community/community-blog@2x.png differ diff --git a/static/img/community/community-design-assets.png b/static/img/community/community-design-assets.png deleted file mode 100644 index 0909326b65..0000000000 Binary files a/static/img/community/community-design-assets.png and /dev/null differ diff --git a/static/img/community/community-events-apex-small@2x.png b/static/img/community/community-events-apex-small@2x.png deleted file mode 100644 index 9b760980b6..0000000000 Binary files a/static/img/community/community-events-apex-small@2x.png and /dev/null differ diff --git a/static/img/community/community-events-apex@2x.png b/static/img/community/community-events-apex@2x.png deleted file mode 100644 index 16f289c890..0000000000 Binary files a/static/img/community/community-events-apex@2x.png and /dev/null differ diff --git a/static/img/community/community-events-hackathon-small@2x.png b/static/img/community/community-events-hackathon-small@2x.png deleted file mode 100644 index af8add8570..0000000000 Binary files a/static/img/community/community-events-hackathon-small@2x.png and /dev/null differ diff --git a/static/img/community/community-events-hackathon@2x.png b/static/img/community/community-events-hackathon@2x.png deleted file mode 100644 index df4f7b9600..0000000000 Binary files a/static/img/community/community-events-hackathon@2x.png and /dev/null differ diff --git a/static/img/community/community-events-meetup-small@2x.png b/static/img/community/community-events-meetup-small@2x.png deleted file mode 100644 index 50944cec14..0000000000 Binary files a/static/img/community/community-events-meetup-small@2x.png and /dev/null differ diff --git a/static/img/community/community-events-meetup@2x.png b/static/img/community/community-events-meetup@2x.png deleted file mode 100644 index e96acfe38d..0000000000 Binary files a/static/img/community/community-events-meetup@2x.png and /dev/null differ diff --git a/static/img/community/community-five@2x.png b/static/img/community/community-five@2x.png deleted file mode 100644 index 0d8cbf676e..0000000000 Binary files a/static/img/community/community-five@2x.png and /dev/null differ diff --git a/static/img/community/community-four@2x.png b/static/img/community/community-four@2x.png deleted file mode 100644 index 911da8d2c4..0000000000 Binary files a/static/img/community/community-four@2x.png and /dev/null differ diff --git a/static/img/community/community-grants-1.svg b/static/img/community/community-grants-1.svg deleted file mode 100644 index 6c847c903d..0000000000 --- a/static/img/community/community-grants-1.svg +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/community/community-grants-2.svg b/static/img/community/community-grants-2.svg deleted file mode 100644 index 6bd7370461..0000000000 --- a/static/img/community/community-grants-2.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/community/community-grants-3.svg b/static/img/community/community-grants-3.svg deleted file mode 100644 index d43958c237..0000000000 --- a/static/img/community/community-grants-3.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/community/community-two.png b/static/img/community/community-two.png index fcdaca3ef8..7485b84995 100644 Binary files a/static/img/community/community-two.png and b/static/img/community/community-two.png differ diff --git a/static/img/currency-calculator-card-fb.png b/static/img/currency-calculator-card-fb.png deleted file mode 100644 index dc13a523f0..0000000000 Binary files a/static/img/currency-calculator-card-fb.png and /dev/null differ diff --git a/static/img/currency-calculator-card-tw.png b/static/img/currency-calculator-card-tw.png deleted file mode 100644 index d8fd59dc79..0000000000 Binary files a/static/img/currency-calculator-card-tw.png and /dev/null differ diff --git a/static/img/events/Conference.png b/static/img/events/Conference.png index b4876b1ee2..e458c1b4bc 100755 Binary files a/static/img/events/Conference.png and b/static/img/events/Conference.png differ diff --git a/static/img/events/Madrid.png b/static/img/events/Madrid.png index 11704b2291..c5017309c8 100644 Binary files a/static/img/events/Madrid.png and b/static/img/events/Madrid.png differ diff --git a/static/img/events/XRPLZone.png b/static/img/events/XRPLZone.png index 2e3905e961..06bd89f45f 100755 Binary files a/static/img/events/XRPLZone.png and b/static/img/events/XRPLZone.png differ diff --git a/static/img/events/apex-hero.png b/static/img/events/apex-hero.png index e4e8fbc6e6..f06d17c41e 100644 Binary files a/static/img/events/apex-hero.png and b/static/img/events/apex-hero.png differ diff --git a/static/img/events/chicago-meetup.png b/static/img/events/chicago-meetup.png index 7984778eab..c40cf6477e 100644 Binary files a/static/img/events/chicago-meetup.png and b/static/img/events/chicago-meetup.png differ diff --git a/static/img/events/commons-building.png b/static/img/events/commons-building.png new file mode 100644 index 0000000000..f26eaf8acd Binary files /dev/null and b/static/img/events/commons-building.png differ diff --git a/static/img/events/commons-london.png b/static/img/events/commons-london.png new file mode 100644 index 0000000000..6fca255b2d Binary files /dev/null and b/static/img/events/commons-london.png differ diff --git a/static/img/events/commons-soiree.png b/static/img/events/commons-soiree.png new file mode 100644 index 0000000000..b2726a0c92 Binary files /dev/null and b/static/img/events/commons-soiree.png differ diff --git a/static/img/events/event-conference-apex-2021.png b/static/img/events/event-conference-apex-2021.png deleted file mode 100644 index dd46c8dc4b..0000000000 Binary files a/static/img/events/event-conference-apex-2021.png and /dev/null differ diff --git a/static/img/events/event-hack-2021.svg b/static/img/events/event-hack-2021.svg deleted file mode 100644 index 96bf3852a3..0000000000 --- a/static/img/events/event-hack-2021.svg +++ /dev/null @@ -1,2041 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/events/event-hack-impact@2x.png b/static/img/events/event-hack-impact@2x.png deleted file mode 100644 index fb94ef1698..0000000000 Binary files a/static/img/events/event-hack-impact@2x.png and /dev/null differ diff --git a/static/img/events/event-hack-new-year.svg b/static/img/events/event-hack-new-year.svg deleted file mode 100644 index 21feb73824..0000000000 --- a/static/img/events/event-hack-new-year.svg +++ /dev/null @@ -1,2053 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/events/event-hack-nft@2x.png b/static/img/events/event-hack-nft@2x.png deleted file mode 100644 index 3486125b53..0000000000 Binary files a/static/img/events/event-hack-nft@2x.png and /dev/null differ diff --git a/static/img/events/event-hero1-light@2x.png b/static/img/events/event-hero1-light@2x.png index ca5bb59eb7..70c6056cd5 100644 Binary files a/static/img/events/event-hero1-light@2x.png and b/static/img/events/event-hero1-light@2x.png differ diff --git a/static/img/events/event-hero1@2x.png b/static/img/events/event-hero1@2x.png index 053ce00833..7a519f8b0c 100644 Binary files a/static/img/events/event-hero1@2x.png and b/static/img/events/event-hero1@2x.png differ diff --git a/static/img/events/event-hero3@2x.png b/static/img/events/event-hero3@2x.png deleted file mode 100644 index 49e513e607..0000000000 Binary files a/static/img/events/event-hero3@2x.png and /dev/null differ diff --git a/static/img/events/event-meetup-abu-dhabi@2x.jpg b/static/img/events/event-meetup-abu-dhabi@2x.jpg deleted file mode 100644 index 53184a52a9..0000000000 Binary files a/static/img/events/event-meetup-abu-dhabi@2x.jpg and /dev/null differ diff --git a/static/img/events/event-meetup-brazil.png b/static/img/events/event-meetup-brazil.png index 638ca7a54e..e0c3f26215 100644 Binary files a/static/img/events/event-meetup-brazil.png and b/static/img/events/event-meetup-brazil.png differ diff --git a/static/img/events/event-meetup-irvine@2x.jpg b/static/img/events/event-meetup-irvine@2x.jpg index e1a761c94d..08741acda2 100644 Binary files a/static/img/events/event-meetup-irvine@2x.jpg and b/static/img/events/event-meetup-irvine@2x.jpg differ diff --git a/static/img/events/event-meetup-london.png b/static/img/events/event-meetup-london.png index 1a601872a7..152befc721 100644 Binary files a/static/img/events/event-meetup-london.png and b/static/img/events/event-meetup-london.png differ diff --git a/static/img/events/event-meetup-nashville@2x.jpg b/static/img/events/event-meetup-nashville@2x.jpg index 7aba908483..a19173b5e2 100644 Binary files a/static/img/events/event-meetup-nashville@2x.jpg and b/static/img/events/event-meetup-nashville@2x.jpg differ diff --git a/static/img/events/event-meetup-sao-paulo@2x.jpg b/static/img/events/event-meetup-sao-paulo@2x.jpg deleted file mode 100644 index 36febd6dc7..0000000000 Binary files a/static/img/events/event-meetup-sao-paulo@2x.jpg and /dev/null differ diff --git a/static/img/events/event-meetup-zone-day.png b/static/img/events/event-meetup-zone-day.png index 23237f5dcc..136986fc4b 100644 Binary files a/static/img/events/event-meetup-zone-day.png and b/static/img/events/event-meetup-zone-day.png differ diff --git a/static/img/events/event-meetup-zone-night.png b/static/img/events/event-meetup-zone-night.png index cabe2bab74..47733b6587 100644 Binary files a/static/img/events/event-meetup-zone-night.png and b/static/img/events/event-meetup-zone-night.png differ diff --git a/static/img/events/paris.png b/static/img/events/paris.png index da8066a70e..9582e8168f 100644 Binary files a/static/img/events/paris.png and b/static/img/events/paris.png differ diff --git a/static/img/events/singapore.png b/static/img/events/singapore.png index a0b78fe04d..2dbd170750 100644 Binary files a/static/img/events/singapore.png and b/static/img/events/singapore.png differ diff --git a/static/img/events/xrpl-card@2x.jpg b/static/img/events/xrpl-card@2x.jpg deleted file mode 100644 index 7b68666661..0000000000 Binary files a/static/img/events/xrpl-card@2x.jpg and /dev/null differ diff --git a/static/img/exchanges/currency.svg b/static/img/exchanges/currency.svg deleted file mode 100644 index 210b047052..0000000000 --- a/static/img/exchanges/currency.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/static/img/graphics/dev-tools-dark.png b/static/img/graphics/dev-tools-dark.png index cf447cb7e1..eaf45723ea 100644 Binary files a/static/img/graphics/dev-tools-dark.png and b/static/img/graphics/dev-tools-dark.png differ diff --git a/static/img/graphics/home-bg.png b/static/img/graphics/home-bg.png deleted file mode 100644 index dd8fc1225f..0000000000 Binary files a/static/img/graphics/home-bg.png and /dev/null differ diff --git a/static/img/graphics/overview-supply.png b/static/img/graphics/overview-supply.png deleted file mode 100644 index 9b9dbecbff..0000000000 Binary files a/static/img/graphics/overview-supply.png and /dev/null differ diff --git a/static/img/graphics/overview-supply@2x.png b/static/img/graphics/overview-supply@2x.png deleted file mode 100644 index 6829a34337..0000000000 Binary files a/static/img/graphics/overview-supply@2x.png and /dev/null differ diff --git a/static/img/graphics/sdk-black.png b/static/img/graphics/sdk-black.png index d3c0133935..1b9490c4c2 100644 Binary files a/static/img/graphics/sdk-black.png and b/static/img/graphics/sdk-black.png differ diff --git a/static/img/graphics/sdk-white.png b/static/img/graphics/sdk-white.png index c2b39178ad..8b50fb9f55 100644 Binary files a/static/img/graphics/sdk-white.png and b/static/img/graphics/sdk-white.png differ diff --git a/static/img/graphics/table-border.svg b/static/img/graphics/table-border.svg deleted file mode 100644 index 05f7ef8048..0000000000 --- a/static/img/graphics/table-border.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/static/img/graphics/validator.png b/static/img/graphics/validator.png deleted file mode 100644 index 953e1e9c6f..0000000000 Binary files a/static/img/graphics/validator.png and /dev/null differ diff --git a/static/img/green/Portugal.png b/static/img/green/Portugal.png deleted file mode 100644 index fe5acb5b34..0000000000 Binary files a/static/img/green/Portugal.png and /dev/null differ diff --git a/static/img/green/energy-web.png b/static/img/green/energy-web.png deleted file mode 100644 index b2015802de..0000000000 Binary files a/static/img/green/energy-web.png and /dev/null differ diff --git a/static/img/green/green-graphic.png b/static/img/green/green-graphic.png deleted file mode 100644 index 976afc72b9..0000000000 Binary files a/static/img/green/green-graphic.png and /dev/null differ diff --git a/static/img/green/green-graphic@2x.png b/static/img/green/green-graphic@2x.png deleted file mode 100755 index 56e0049b11..0000000000 Binary files a/static/img/green/green-graphic@2x.png and /dev/null differ diff --git a/static/img/green/reba.png b/static/img/green/reba.png deleted file mode 100644 index db53f601c4..0000000000 Binary files a/static/img/green/reba.png and /dev/null differ diff --git a/static/img/green/rocky-mountain-inst.png b/static/img/green/rocky-mountain-inst.png deleted file mode 100644 index 455abe0160..0000000000 Binary files a/static/img/green/rocky-mountain-inst.png and /dev/null differ diff --git a/static/img/icons/arrow-up-right-custom.svg b/static/img/icons/arrow-up-right-custom.svg new file mode 100644 index 0000000000..d3e2d392ec --- /dev/null +++ b/static/img/icons/arrow-up-right-custom.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/static/img/icons/bitcoin.png b/static/img/icons/bitcoin.png deleted file mode 100644 index 87c7b6b19b..0000000000 Binary files a/static/img/icons/bitcoin.png and /dev/null differ diff --git a/static/img/icons/bitcoin@2x.png b/static/img/icons/bitcoin@2x.png deleted file mode 100644 index 0c32427916..0000000000 Binary files a/static/img/icons/bitcoin@2x.png and /dev/null differ diff --git a/static/img/icons/bw-bitcoin.png b/static/img/icons/bw-bitcoin.png deleted file mode 100644 index 2f05937b2a..0000000000 Binary files a/static/img/icons/bw-bitcoin.png and /dev/null differ diff --git a/static/img/icons/bw-bitcoin@2x.png b/static/img/icons/bw-bitcoin@2x.png deleted file mode 100644 index f1c955ef34..0000000000 Binary files a/static/img/icons/bw-bitcoin@2x.png and /dev/null differ diff --git a/static/img/icons/bw-cash.png b/static/img/icons/bw-cash.png deleted file mode 100644 index 4a498f70c0..0000000000 Binary files a/static/img/icons/bw-cash.png and /dev/null differ diff --git a/static/img/icons/bw-cash@2x.png b/static/img/icons/bw-cash@2x.png deleted file mode 100644 index e567a0d037..0000000000 Binary files a/static/img/icons/bw-cash@2x.png and /dev/null differ diff --git a/static/img/icons/bw-ethereum.png b/static/img/icons/bw-ethereum.png deleted file mode 100644 index abde66aa1a..0000000000 Binary files a/static/img/icons/bw-ethereum.png and /dev/null differ diff --git a/static/img/icons/bw-ethereum@2x.png b/static/img/icons/bw-ethereum@2x.png deleted file mode 100644 index 8ca5815b7c..0000000000 Binary files a/static/img/icons/bw-ethereum@2x.png and /dev/null differ diff --git a/static/img/icons/bw-mastercard.png b/static/img/icons/bw-mastercard.png deleted file mode 100644 index e53c2829fa..0000000000 Binary files a/static/img/icons/bw-mastercard.png and /dev/null differ diff --git a/static/img/icons/bw-mastercard@2x.png b/static/img/icons/bw-mastercard@2x.png deleted file mode 100644 index e4d7ef5a37..0000000000 Binary files a/static/img/icons/bw-mastercard@2x.png and /dev/null differ diff --git a/static/img/icons/bw-visa.png b/static/img/icons/bw-visa.png deleted file mode 100644 index f9473c92c5..0000000000 Binary files a/static/img/icons/bw-visa.png and /dev/null differ diff --git a/static/img/icons/bw-visa@2x.png b/static/img/icons/bw-visa@2x.png deleted file mode 100644 index 900c63c76c..0000000000 Binary files a/static/img/icons/bw-visa@2x.png and /dev/null differ diff --git a/static/img/icons/bw-xrp.png b/static/img/icons/bw-xrp.png deleted file mode 100644 index 36291543f1..0000000000 Binary files a/static/img/icons/bw-xrp.png and /dev/null differ diff --git a/static/img/icons/bw-xrp@2x.png b/static/img/icons/bw-xrp@2x.png deleted file mode 100644 index 556718cb0e..0000000000 Binary files a/static/img/icons/bw-xrp@2x.png and /dev/null differ diff --git a/static/img/icons/cbdc.svg b/static/img/icons/cbdc.svg deleted file mode 100644 index 934107caa9..0000000000 --- a/static/img/icons/cbdc.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/static/img/icons/dash-line.png b/static/img/icons/dash-line.png deleted file mode 100644 index 2989c77b43..0000000000 Binary files a/static/img/icons/dash-line.png and /dev/null differ diff --git a/static/img/icons/defi.svg b/static/img/icons/defi.svg deleted file mode 100644 index a9285c9faf..0000000000 --- a/static/img/icons/defi.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/static/img/icons/ethereum.png b/static/img/icons/ethereum.png deleted file mode 100644 index 88fb58d0c0..0000000000 Binary files a/static/img/icons/ethereum.png and /dev/null differ diff --git a/static/img/icons/ethereum@2x.png b/static/img/icons/ethereum@2x.png deleted file mode 100644 index e15e4701c2..0000000000 Binary files a/static/img/icons/ethereum@2x.png and /dev/null differ diff --git a/static/img/icons/exchanges.svg b/static/img/icons/exchanges.svg deleted file mode 100644 index 9781061956..0000000000 --- a/static/img/icons/exchanges.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/static/img/icons/fast.png b/static/img/icons/fast.png deleted file mode 100644 index 46fc17717c..0000000000 Binary files a/static/img/icons/fast.png and /dev/null differ diff --git a/static/img/icons/fast@2x.png b/static/img/icons/fast@2x.png deleted file mode 100644 index 44b147386c..0000000000 Binary files a/static/img/icons/fast@2x.png and /dev/null differ diff --git a/static/img/icons/green-up-arrow.svg b/static/img/icons/green-up-arrow.svg deleted file mode 100644 index 773b8af7ca..0000000000 --- a/static/img/icons/green-up-arrow.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/static/img/icons/lightmode/cbdc.svg b/static/img/icons/lightmode/cbdc.svg deleted file mode 100644 index 2cff6a883c..0000000000 --- a/static/img/icons/lightmode/cbdc.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/static/img/icons/lightmode/defi.svg b/static/img/icons/lightmode/defi.svg deleted file mode 100644 index 7a8ba4cd86..0000000000 --- a/static/img/icons/lightmode/defi.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/static/img/icons/lightmode/exchanges.svg b/static/img/icons/lightmode/exchanges.svg deleted file mode 100644 index 995509fd4e..0000000000 --- a/static/img/icons/lightmode/exchanges.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/static/img/icons/lightmode/micropayments.svg b/static/img/icons/lightmode/micropayments.svg deleted file mode 100644 index 4c7d36afce..0000000000 --- a/static/img/icons/lightmode/micropayments.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/static/img/icons/lightmode/stablecoins.svg b/static/img/icons/lightmode/stablecoins.svg deleted file mode 100644 index 0b91d810d2..0000000000 --- a/static/img/icons/lightmode/stablecoins.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/static/img/icons/lightmode/wallets.svg b/static/img/icons/lightmode/wallets.svg deleted file mode 100644 index 4ca2d2bc80..0000000000 --- a/static/img/icons/lightmode/wallets.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/icons/low-cost.png b/static/img/icons/low-cost.png deleted file mode 100644 index 5862890694..0000000000 Binary files a/static/img/icons/low-cost.png and /dev/null differ diff --git a/static/img/icons/low-cost@2x.png b/static/img/icons/low-cost@2x.png deleted file mode 100644 index 37e67169f4..0000000000 Binary files a/static/img/icons/low-cost@2x.png and /dev/null differ diff --git a/static/img/icons/mastercard.png b/static/img/icons/mastercard.png deleted file mode 100644 index 7e5b7ce9da..0000000000 Binary files a/static/img/icons/mastercard.png and /dev/null differ diff --git a/static/img/icons/mastercard@2x.png b/static/img/icons/mastercard@2x.png deleted file mode 100644 index 32b9e30237..0000000000 Binary files a/static/img/icons/mastercard@2x.png and /dev/null differ diff --git a/static/img/icons/micropayments.svg b/static/img/icons/micropayments.svg deleted file mode 100644 index 62331b5307..0000000000 --- a/static/img/icons/micropayments.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/static/img/icons/paper-money.png b/static/img/icons/paper-money.png deleted file mode 100644 index 81aed4a6c5..0000000000 Binary files a/static/img/icons/paper-money.png and /dev/null differ diff --git a/static/img/icons/paper-money@2x.png b/static/img/icons/paper-money@2x.png deleted file mode 100644 index cc81c20adf..0000000000 Binary files a/static/img/icons/paper-money@2x.png and /dev/null differ diff --git a/static/img/icons/scalable.png b/static/img/icons/scalable.png deleted file mode 100644 index 7f107b3bfd..0000000000 Binary files a/static/img/icons/scalable.png and /dev/null differ diff --git a/static/img/icons/scalable@2x.png b/static/img/icons/scalable@2x.png deleted file mode 100644 index 0d1d5e4ea7..0000000000 Binary files a/static/img/icons/scalable@2x.png and /dev/null differ diff --git a/static/img/icons/stablecoins.svg b/static/img/icons/stablecoins.svg deleted file mode 100644 index d6d5d4232a..0000000000 --- a/static/img/icons/stablecoins.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/static/img/icons/sustainable.png b/static/img/icons/sustainable.png deleted file mode 100644 index 19882a2d49..0000000000 Binary files a/static/img/icons/sustainable.png and /dev/null differ diff --git a/static/img/icons/visa.png b/static/img/icons/visa.png deleted file mode 100644 index c587266302..0000000000 Binary files a/static/img/icons/visa.png and /dev/null differ diff --git a/static/img/icons/visa@2x.png b/static/img/icons/visa@2x.png deleted file mode 100644 index bc9f970048..0000000000 Binary files a/static/img/icons/visa@2x.png and /dev/null differ diff --git a/static/img/icons/wallets.svg b/static/img/icons/wallets.svg deleted file mode 100644 index ec8203a9a7..0000000000 --- a/static/img/icons/wallets.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/icons/xrp@2x.png b/static/img/icons/xrp@2x.png deleted file mode 100644 index 556718cb0e..0000000000 Binary files a/static/img/icons/xrp@2x.png and /dev/null differ diff --git a/static/img/impact/impact/hero-impact.png b/static/img/impact/impact/hero-impact.png deleted file mode 100644 index e6d0624b1e..0000000000 Binary files a/static/img/impact/impact/hero-impact.png and /dev/null differ diff --git a/static/img/impact/impact/impact-building-future.png b/static/img/impact/impact/impact-building-future.png deleted file mode 100644 index e4562bb96e..0000000000 Binary files a/static/img/impact/impact/impact-building-future.png and /dev/null differ diff --git a/static/img/impact/impact/impact-building-future@2x.png b/static/img/impact/impact/impact-building-future@2x.png deleted file mode 100644 index 32513a1d65..0000000000 Binary files a/static/img/impact/impact/impact-building-future@2x.png and /dev/null differ diff --git a/static/img/impact/impact/impact-crypto-strengths.png b/static/img/impact/impact/impact-crypto-strengths.png deleted file mode 100755 index 2b29df5f08..0000000000 Binary files a/static/img/impact/impact/impact-crypto-strengths.png and /dev/null differ diff --git a/static/img/impact/impact/impact-crypto-strengths@2x.png b/static/img/impact/impact/impact-crypto-strengths@2x.png deleted file mode 100755 index a5e1616077..0000000000 Binary files a/static/img/impact/impact/impact-crypto-strengths@2x.png and /dev/null differ diff --git a/static/img/impact/impact/impact-democratizing-payments.png b/static/img/impact/impact/impact-democratizing-payments.png deleted file mode 100755 index fcd28fb60e..0000000000 Binary files a/static/img/impact/impact/impact-democratizing-payments.png and /dev/null differ diff --git a/static/img/impact/impact/impact-democratizing-payments@2x.png b/static/img/impact/impact/impact-democratizing-payments@2x.png deleted file mode 100755 index 89ddaa1324..0000000000 Binary files a/static/img/impact/impact/impact-democratizing-payments@2x.png and /dev/null differ diff --git a/static/img/impact/video_sustainable@2x.png b/static/img/impact/video_sustainable@2x.png index f95c2a9585..0369b957ca 100644 Binary files a/static/img/impact/video_sustainable@2x.png and b/static/img/impact/video_sustainable@2x.png differ diff --git a/static/img/impact/world_map@2x.png b/static/img/impact/world_map@2x.png deleted file mode 100644 index e08363d303..0000000000 Binary files a/static/img/impact/world_map@2x.png and /dev/null differ diff --git a/static/img/logos/bitcoin.svg b/static/img/logos/bitcoin.svg deleted file mode 100644 index 547847b9a7..0000000000 --- a/static/img/logos/bitcoin.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/static/img/logos/ethereum.svg b/static/img/logos/ethereum.svg deleted file mode 100644 index 51075ce32b..0000000000 --- a/static/img/logos/ethereum.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/static/img/logos/facebook.svg b/static/img/logos/facebook.svg deleted file mode 100644 index 1958259ec8..0000000000 --- a/static/img/logos/facebook.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/static/img/logos/linkedin.svg b/static/img/logos/linkedin.svg deleted file mode 100644 index 32e1bdf24b..0000000000 --- a/static/img/logos/linkedin.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/logos/mastercard.svg b/static/img/logos/mastercard.svg deleted file mode 100644 index f2577c97f3..0000000000 --- a/static/img/logos/mastercard.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/logos/paper-currency.svg b/static/img/logos/paper-currency.svg deleted file mode 100644 index 17ccc11723..0000000000 --- a/static/img/logos/paper-currency.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/static/img/logos/ripplex.svg b/static/img/logos/ripplex.svg deleted file mode 100644 index 8e3e8d32f8..0000000000 --- a/static/img/logos/ripplex.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/static/img/logos/twitter-link.svg b/static/img/logos/twitter-link.svg deleted file mode 100644 index 8822758a7d..0000000000 --- a/static/img/logos/twitter-link.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/static/img/logos/visa.svg b/static/img/logos/visa.svg deleted file mode 100644 index 1e87d81230..0000000000 --- a/static/img/logos/visa.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/static/img/logos/youttube.svg b/static/img/logos/youttube.svg deleted file mode 100644 index a0894acfd5..0000000000 --- a/static/img/logos/youttube.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/static/img/overview/overview/fast.png b/static/img/overview/overview/fast.png deleted file mode 100644 index 294f1d0208..0000000000 Binary files a/static/img/overview/overview/fast.png and /dev/null differ diff --git a/static/img/overview/overview/low-cost.png b/static/img/overview/overview/low-cost.png deleted file mode 100644 index 46074bdfa6..0000000000 Binary files a/static/img/overview/overview/low-cost.png and /dev/null differ diff --git a/static/img/overview/overview/real.png b/static/img/overview/overview/real.png deleted file mode 100644 index a83ae23b56..0000000000 Binary files a/static/img/overview/overview/real.png and /dev/null differ diff --git a/static/img/overview/overview/scalable.png b/static/img/overview/overview/scalable.png deleted file mode 100644 index 24ec6c591f..0000000000 Binary files a/static/img/overview/overview/scalable.png and /dev/null differ diff --git a/static/img/overview/overview/sustainable.png b/static/img/overview/overview/sustainable.png deleted file mode 100644 index 6b7c95e314..0000000000 Binary files a/static/img/overview/overview/sustainable.png and /dev/null differ diff --git a/static/img/overview/overview/xrp-community.png b/static/img/overview/overview/xrp-community.png deleted file mode 100644 index 47e88964b0..0000000000 Binary files a/static/img/overview/overview/xrp-community.png and /dev/null differ diff --git a/static/img/overview/overview/xrp-community@2x.png b/static/img/overview/overview/xrp-community@2x.png deleted file mode 100644 index 6a90cd899a..0000000000 Binary files a/static/img/overview/overview/xrp-community@2x.png and /dev/null differ diff --git a/static/img/overview/overview/xrp-text-logo.png b/static/img/overview/overview/xrp-text-logo.png deleted file mode 100644 index 827e3ff1ad..0000000000 Binary files a/static/img/overview/overview/xrp-text-logo.png and /dev/null differ diff --git a/static/img/overview/video_explainer_consensus.png b/static/img/overview/video_explainer_consensus.png deleted file mode 100644 index fc9ebebfab..0000000000 Binary files a/static/img/overview/video_explainer_consensus.png and /dev/null differ diff --git a/static/img/overview/video_explainer_intro.png b/static/img/overview/video_explainer_intro.png deleted file mode 100644 index 55ddca22c5..0000000000 Binary files a/static/img/overview/video_explainer_intro.png and /dev/null differ diff --git a/static/img/overview/video_explainer_nodes.png b/static/img/overview/video_explainer_nodes.png deleted file mode 100644 index b567b88c1f..0000000000 Binary files a/static/img/overview/video_explainer_nodes.png and /dev/null differ diff --git a/static/img/overview/video_explainer_sustainability.png b/static/img/overview/video_explainer_sustainability.png deleted file mode 100644 index ba5d786c69..0000000000 Binary files a/static/img/overview/video_explainer_sustainability.png and /dev/null differ diff --git a/static/img/sun-moon.svg b/static/img/sun-moon.svg deleted file mode 100644 index f0fc6c0e67..0000000000 --- a/static/img/sun-moon.svg +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/static/img/tokenization/graphic.png b/static/img/tokenization/graphic.png index bcd47c8b09..4a2ce4989d 100644 Binary files a/static/img/tokenization/graphic.png and b/static/img/tokenization/graphic.png differ diff --git a/static/img/uses/exodus.svg b/static/img/uses/exodus.svg deleted file mode 100644 index 6378f36971..0000000000 --- a/static/img/uses/exodus.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/static/img/uses/left-arrow.png b/static/img/uses/left-arrow.png deleted file mode 100644 index 809731690e..0000000000 Binary files a/static/img/uses/left-arrow.png and /dev/null differ diff --git a/static/img/uses/lightmode/allbridge.png b/static/img/uses/lightmode/allbridge.png deleted file mode 100644 index 1d1ea31f08..0000000000 Binary files a/static/img/uses/lightmode/allbridge.png and /dev/null differ diff --git a/static/img/uses/lightmode/blockforce.png b/static/img/uses/lightmode/blockforce.png deleted file mode 100644 index d5785fce15..0000000000 Binary files a/static/img/uses/lightmode/blockforce.png and /dev/null differ diff --git a/static/img/uses/lightmode/casino-coin.png b/static/img/uses/lightmode/casino-coin.png deleted file mode 100644 index a74f1e728c..0000000000 Binary files a/static/img/uses/lightmode/casino-coin.png and /dev/null differ diff --git a/static/img/uses/lightmode/momento.png b/static/img/uses/lightmode/momento.png deleted file mode 100644 index f1a1e8bf39..0000000000 Binary files a/static/img/uses/lightmode/momento.png and /dev/null differ diff --git a/static/img/uses/lightmode/onxrp.png b/static/img/uses/lightmode/onxrp.png deleted file mode 100644 index 905986b818..0000000000 Binary files a/static/img/uses/lightmode/onxrp.png and /dev/null differ diff --git a/static/img/uses/lightmode/rootmaker.png b/static/img/uses/lightmode/rootmaker.png deleted file mode 100644 index 79bf925e4d..0000000000 Binary files a/static/img/uses/lightmode/rootmaker.png and /dev/null differ diff --git a/static/img/uses/lightmode/styngr.png b/static/img/uses/lightmode/styngr.png deleted file mode 100644 index 25806897f0..0000000000 Binary files a/static/img/uses/lightmode/styngr.png and /dev/null differ diff --git a/static/img/uses/modallogos/Momento.png b/static/img/uses/modallogos/Momento.png deleted file mode 100644 index 5554ec7d7f..0000000000 Binary files a/static/img/uses/modallogos/Momento.png and /dev/null differ diff --git a/static/img/uses/modallogos/allbridge.png b/static/img/uses/modallogos/allbridge.png deleted file mode 100644 index 47a24c9286..0000000000 Binary files a/static/img/uses/modallogos/allbridge.png and /dev/null differ diff --git a/static/img/uses/modallogos/blockforce.png b/static/img/uses/modallogos/blockforce.png deleted file mode 100644 index 587983fd12..0000000000 Binary files a/static/img/uses/modallogos/blockforce.png and /dev/null differ diff --git a/static/img/uses/modallogos/casino-coin.png b/static/img/uses/modallogos/casino-coin.png deleted file mode 100644 index 8e16925966..0000000000 Binary files a/static/img/uses/modallogos/casino-coin.png and /dev/null differ diff --git a/static/img/uses/modallogos/onxrp.png b/static/img/uses/modallogos/onxrp.png deleted file mode 100644 index 905986b818..0000000000 Binary files a/static/img/uses/modallogos/onxrp.png and /dev/null differ diff --git a/static/img/uses/modallogos/rootmaker.png b/static/img/uses/modallogos/rootmaker.png deleted file mode 100644 index 47abbf81c5..0000000000 Binary files a/static/img/uses/modallogos/rootmaker.png and /dev/null differ diff --git a/static/img/uses/modallogos/styngr.png b/static/img/uses/modallogos/styngr.png deleted file mode 100644 index 55a1a04b49..0000000000 Binary files a/static/img/uses/modallogos/styngr.png and /dev/null differ diff --git a/static/img/uses/raised.png b/static/img/uses/raised.png deleted file mode 100644 index 34fac83781..0000000000 Binary files a/static/img/uses/raised.png and /dev/null differ diff --git a/static/img/uses/right-arrow.png b/static/img/uses/right-arrow.png deleted file mode 100644 index e1d34b0586..0000000000 Binary files a/static/img/uses/right-arrow.png and /dev/null differ diff --git a/static/img/uses/ripple.svg b/static/img/uses/ripple.svg deleted file mode 100644 index 37a65b2f68..0000000000 --- a/static/img/uses/ripple.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/static/img/uses/xrpl-labs.svg b/static/img/uses/xrpl-labs.svg deleted file mode 100644 index dcc7469d3d..0000000000 --- a/static/img/uses/xrpl-labs.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/uses/xrplorer.svg b/static/img/uses/xrplorer.svg deleted file mode 100644 index 97b532d0fd..0000000000 --- a/static/img/uses/xrplorer.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/xrp-ledger-dev-portal-text.svg b/static/img/xrp-ledger-dev-portal-text.svg deleted file mode 100644 index 35d33a81a1..0000000000 --- a/static/img/xrp-ledger-dev-portal-text.svg +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/xrp-ledger-dev-portal.svg b/static/img/xrp-ledger-dev-portal.svg deleted file mode 100644 index 259e142bc2..0000000000 --- a/static/img/xrp-ledger-dev-portal.svg +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - { } - - - - diff --git a/static/img/xrpl-fb-li-card.png b/static/img/xrpl-fb-li-card.png deleted file mode 100644 index 7ea491e6e7..0000000000 Binary files a/static/img/xrpl-fb-li-card.png and /dev/null differ diff --git a/static/img/xrpl-fb-li-card@2x.png b/static/img/xrpl-fb-li-card@2x.png deleted file mode 100644 index 9d60d40bdf..0000000000 Binary files a/static/img/xrpl-fb-li-card@2x.png and /dev/null differ diff --git a/static/img/xrpl-twitter-card.png b/static/img/xrpl-twitter-card.png deleted file mode 100644 index bf286e2998..0000000000 Binary files a/static/img/xrpl-twitter-card.png and /dev/null differ diff --git a/static/img/xrpl-twitter-card@2x.png b/static/img/xrpl-twitter-card@2x.png deleted file mode 100644 index 02ae0c2b98..0000000000 Binary files a/static/img/xrpl-twitter-card@2x.png and /dev/null differ diff --git a/static/vendor/github-marks/GitHub-Mark-32px.png b/static/vendor/github-marks/GitHub-Mark-32px.png deleted file mode 100644 index 8b25551a97..0000000000 Binary files a/static/vendor/github-marks/GitHub-Mark-32px.png and /dev/null differ diff --git a/static/vendor/github-marks/GitHub-Mark-Light-32px.png b/static/vendor/github-marks/GitHub-Mark-Light-32px.png deleted file mode 100644 index 628da97c70..0000000000 Binary files a/static/vendor/github-marks/GitHub-Mark-Light-32px.png and /dev/null differ diff --git a/styles/_pages.scss b/styles/_pages.scss index 25938a7b00..7eee7894e7 100644 --- a/styles/_pages.scss +++ b/styles/_pages.scss @@ -23,13 +23,31 @@ } .page-home { + #home-hero-container { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + padding-top: 54.8%; + overflow: hidden; + } + #home-hero-graphic { - content: url("../img/home-hero.svg"); - margin-left: auto; width: 856px; - margin-right: auto; + object-fit: cover; + content: url("../img/home-hero.svg"); margin-bottom: 24px; - max-width: 100%; + @media (min-width: 992px) { + min-height: 470px; + } + + @media (max-width: 991px) and (min-width: 540px) { + min-height: 250px; + } + + @media (max-width: 539px) { + min-height: 170px; + } } #benefits-list { diff --git a/styles/_top-banner.scss b/styles/_top-banner.scss index addd0de98d..878e50856e 100644 --- a/styles/_top-banner.scss +++ b/styles/_top-banner.scss @@ -1,85 +1,156 @@ -.top-banner { +.web-banner { + text-decoration: none; display: flex; - align-items: center; - justify-content: center; - height: 46px; - background: url(../img/backgrounds/bg-apex-banner.svg); - background-position: center !important; - background-size: cover; - background-color: $blue-purple-500; - color: $white; - - .inner-apex { - display: flex; - justify-content: center; - align-items: center; - - } - - .apex-banner-text { - color: #FFF; - font-family: "Work Sans"; - font-size: 20px; - font-style: normal; - font-weight: 600; - line-height: 24px; - } - - .apex-btn { - margin-left: 16px; - color: var(--Gray-100, #000) !important; - font-family: "Work Sans"; - font-size: 16px; - font-style: normal; - display: flex; - justify-content: center; - font-weight: 600; - align-items: center; - line-height: 100%; - letter-spacing: -0.16px; - padding: 2px 4px; - border-radius: 100px !important; - background: #18FF83 !important; - text-decoration: none !important; - width: 135px; - height: 28px; - } - - @media (max-width: 1024px) { - background: url(../img/backgrounds/bg-apex-banner-md.svg); - - .apex-banner-text { - font-size: 18px; - } - - .apex-btn { - width: 122px; - height: 26px; - font-size: 14px; - letter-spacing: -0.14px; + justify-content: space-between; + height: $banner-height; + background: #D919FF !important; + padding: 7px 35px; + font-family: "Work Sans"; + z-index: 9999; + cursor: pointer; + + &:hover { + text-decoration: none; + color: $white; + .button-icon{ + animation: iconJitter 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards; + transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); } } + color: $white !important; + text-align: center; + font-family: "Work Sans"; + font-size: 26px; // Further scaled down from 28px + font-style: normal; + font-weight: 600; + letter-spacing: -0.32px; + // Pseudo-element for the fill animation + &::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; // Full width so that we can scale it + height: 100%; + background-color: #7919FF; + z-index: 0; + transform: scaleX(0); // Start scaled down to 0 + transform-origin: left; // Scale from the left edge + transition: transform 0.7s cubic-bezier(0.7, 0, 0.84, 0); + will-change: transform; // Hint for smoother animations + } - @media (max-width: 535px) { - background: url(../img/backgrounds/bg-apex-banner-sm.svg); - - .apex-btn { - margin-left: 0; - width: 85px; - height: 16px; - font-size: 10px; - line-height: 100%; - letter-spacing: -0.1px; + // On hover, scale to full width + &:hover::after { + transform: scaleX(1); + transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); + } + // Ensure direct children are above the pseudo-element + > * { + position: relative; + z-index: 1; + } + @media (max-width: 768px) { + font-size: 18px; + padding: 11px 35px; + .banner-button{ + gap: 11px !important; } - - .apex-banner-text { - font-size: 12px; - line-height: 12px; + .button-text{ + margin-bottom: 4px; } - - .inner-apex { + } + @media (max-width: 564px) { + font-size: 15px; + padding: 9px 40px; + .button-text{ + margin-bottom: 0px; + } + .banner-event-details{ + gap: 0px !important; flex-direction: column; - gap: 8px; + text-align: left; + line-height: 21px; + .event-date{ + position: relative; + top: -5px; + } + } + .banner-button{ + align-self: baseline; + gap: 8px !important; + margin-top: -2px !important; + padding-top: 0px !important; } } + .banner-button{ + display: flex; + align-items: center; + gap: 14.5px; + padding-top: 1px; + img{ + width: 24.5px; + height: 33.7px; + @media (max-width: 768px) { + width: 15.5px; + height: 17px; + margin-top: 4px; + } + @media (max-width: 564px) { + width: 14.5px; + height: 13.85px; + } + } + } + + .banner-event-details { + display: flex; + gap: 32px; + } + + + .button-icon { + transform-style: preserve-3d; + aspect-ratio: 0.71; + object-fit: contain; + animation: none; + transform: rotateZ(0deg); + transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); // Adjust duration as needed + align-self: stretch; + margin: auto 0; + transform-style: preserve-3d; + } + + @keyframes iconJitter { + from { + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg); + } + to { + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg); + } + } + +} + +.web-banner a { + text-decoration: none; +} + +.button-icon { + animation: iconJitter 0.7s ease-in-out; + animation-iteration-count: 1; + transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); +} +@keyframes iconReturn { + from { + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg); + } + to { + transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg); + } +} +/* After the banner has been hovered once, on unhover run the reverse animation */ +.web-banner.has-hover:not(:hover) .button-icon { + animation: iconReturn 0.7s ease-in-out forwards; + transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); } \ No newline at end of file diff --git a/styles/_top-nav.scss b/styles/_top-nav.scss index e964b128b9..bb04ab963d 100644 --- a/styles/_top-nav.scss +++ b/styles/_top-nav.scss @@ -1,6 +1,6 @@ /* Top navigation ----------------------------------------------------------- */ $nav-height: 80px; -$banner-height: 0; // Apex 2024 banner was 46px. 0 for no pencil banner. +$banner-height: 52px; // Apex 2025 banner is 52px. 0 for no pencil banner. [data-component-name="layouts/RootLayout"] { padding-top: $nav-height + $banner-height; diff --git a/styles/_use-cases.scss b/styles/_use-cases.scss index 9618bec66f..a43f301ff4 100644 --- a/styles/_use-cases.scss +++ b/styles/_use-cases.scss @@ -29,29 +29,48 @@ $custody-logos: "gatehub", "bitgo"; } } +.modal-uses.exchanges { + .logo-item { + max-height: 58px; + margin: 5px; + width: 145px; + height: 28px; + max-width: none; + } +} + .modal-content-uses { - .first-ledger-bot{ - min-height: 80px !important; + .carbonland-trust { + max-width: 218px; + } + + .first-ledger-bot { + min-height: 100px !important; position: relative; bottom: 20px; content: url("../img/uses/first-ledger-bot.svg"); } - .orchestra-finance{ + + .orchestra-finance { + min-height: 56px !important; content: url("../img/uses/orchestra-finance.svg"); } - .moai-finance{ - min-height: 80px !important; + + .moai-finance { + min-height: 100px !important; position: relative; bottom: 20px; content: url("../img/uses/moai-finance.svg"); } - .ledger-city{ + + .ledger-city { margin: 0px !important; position: relative; bottom: 4px; left: 6px; max-height: 47px !important; } + .zerpmon { margin: 0px; min-width: 80px; @@ -186,20 +205,24 @@ html.light { } .modal-content-uses { + padding-top: 40px; position: relative; - /* Add position: relative to modal-content-uses */ background-color: #232325; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); - padding: 20px; + padding: 40px 20px 20px 20px; width: 60% !important; - height: 60%; + height: 520px; display: flex; flex-direction: column; align-items: center; - overflow: scroll; + overflow-y: hidden; + + @media only screen and (max-width: 1024px) { + overflow-y: auto; + } } .modal-content-uses::before { @@ -209,14 +232,12 @@ html.light { left: 0; width: 100%; height: 1px; - background: linear-gradient( - 90deg, - #b480ff -0.32%, - #5f00e6 32.7%, - #1aa4ff 61.53%, - #19ff83 100.32%, - #19ff83 100.32% - ); + background: linear-gradient(90deg, + #b480ff -0.32%, + #5f00e6 32.7%, + #1aa4ff 61.53%, + #19ff83 100.32%, + #19ff83 100.32%); } .content-section { @@ -294,9 +315,14 @@ html.light { border-top: 1px solid #ccc; } +.logo-item.anchain { + height: 34px !important; + max-width: 146px !important; +} + .threezy-logo { margin: 4px; - max-height: 38px; + max-height: 55px !important; } .blockforce-logo { @@ -325,16 +351,29 @@ html.light { .bottom-row { display: flex; justify-content: center; + align-items: center; + gap: 20px; + flex-wrap: wrap; @media only screen and (max-width: 768px) { - flex-wrap: wrap; + justify-content: space-around; + gap: 10px; + margin-bottom: 0; } } +.top-row { + margin-bottom: 10px; +} + +.bottom-row { + margin-top: 10px; +} + .logo-item { - max-height: 30px; - max-width: 130px; - margin: 10px 11px; + max-height: 45px; + max-width: 108px; + margin: 5px; } .close { @@ -362,10 +401,12 @@ html.light { @include media-breakpoint-up(lg) { grid-template-columns: repeat(4, 1fr); } + + @media (max-width: 1220px) and (min-width: 1024px) { + grid-template-columns: repeat(3, 1fr); // Adjust to 3 columns for screens between 1024px and 1220px + } } - - .use-case-circle { display: flex; align-items: center; @@ -448,13 +489,11 @@ html.light { font-weight: 400; font-size: 32px; line-height: 38px; - background: linear-gradient( - 90deg, - #feff01 0%, - #ff2d9a 30.82%, - #e24cff 64.01%, - #9a52ff 100% - ); + background: linear-gradient(90deg, + #feff01 0%, + #ff2d9a 30.82%, + #e24cff 64.01%, + #9a52ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; @@ -511,13 +550,11 @@ html.light { font-weight: 400; font-size: 32px; line-height: 38px; - background: linear-gradient( - 90deg, - #b480ff -0.32%, - #5f00e6 32.7%, - #1aa4ff 61.53%, - #19ff83 100.32% - ); + background: linear-gradient(90deg, + #b480ff -0.32%, + #5f00e6 32.7%, + #1aa4ff 61.53%, + #19ff83 100.32%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; @@ -617,6 +654,7 @@ html.light { .show-md { display: none; + @include media-breakpoint-down(md) { display: block; } @@ -624,6 +662,7 @@ html.light { .hide-md { display: block; + @include media-breakpoint-down(md) { display: none; } @@ -653,6 +692,7 @@ html.light { padding: 4rem 2rem; display: grid; grid-template-columns: repeat(4, 1fr); + @include media-breakpoint-down(md) { display: block; height: 100%; @@ -672,7 +712,7 @@ html.light { padding-top: 2rem; border-bottom: 2px solid black; } - + } .stat-container:last-child { @@ -707,8 +747,8 @@ html.light { border-radius: inherit; padding: 1px; background: linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%); - mask: - linear-gradient(#fff 0 0) content-box, + mask: + linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; -webkit-mask-composite: xor; @@ -839,7 +879,7 @@ html.light { } .prev img { - content: url("../img/icons/prev.svg"); + content: url("../img/icons/prev.svg"); } .next img { @@ -898,8 +938,8 @@ html.light { text-decoration: none; } - .project-cards a:hover{ - .project-name{ + .project-cards a:hover { + .project-name { color: $purple; } } @@ -947,3 +987,8 @@ html.light { display: block; } } + +body, +.landing.page-uses { + overflow-x: hidden; +} \ No newline at end of file diff --git a/translations.yaml b/translations.yaml index 9f865e80b1..1053f72f85 100644 --- a/translations.yaml +++ b/translations.yaml @@ -11,4 +11,4 @@ # search.keys.select: "to select" # search.keys.exit: "to exit" # feedback.settings.label: Was this helpful? -# footer.copyrightText: © 2024 XRP Ledger. Open Source. +# footer.copyrightText: © 2025 XRP Ledger. Open Source.