From 8c690ed2473ef784d6f0146b2bb929346706a6a5 Mon Sep 17 00:00:00 2001 From: Oliver Eggert Date: Mon, 15 Apr 2024 20:24:56 -0700 Subject: [PATCH] update bridge object info --- .../account-methods/account_objects.md | 15 +-- .../ledger-methods/ledger_entry.md | 103 +++++++++++++++--- .../websocket-api/data/command-list.json | 22 ++++ 3 files changed, 119 insertions(+), 21 deletions(-) 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 77daae1cb7..d45334d3cb 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 @@ -14,16 +14,17 @@ The `account_objects` command returns the raw [ledger format][] for all ledger e The types of objects that may appear in the `account_objects` response include: -- [Offer entries](../../../protocol/ledger-data/ledger-entry-types/offer.md) for orders that are currently live, unfunded, or expired but not yet removed. (See [Lifecycle of an Offer](../../../../concepts/tokens/decentralized-exchange/offers.md#lifecycle-of-an-offer) for more information.) -- [RippleState entries](../../../protocol/ledger-data/ledger-entry-types/ripplestate.md) for trust lines where this account's side is not in the default state. -- The account's [SignerList](../../../protocol/ledger-data/ledger-entry-types/signerlist.md), if the account has [multi-signing](../../../../concepts/accounts/multi-signing.md) enabled. -- [Escrow entries](../../../../concepts/payment-types/escrow.md) for held payments that have not yet been executed or canceled. -- [PayChannel entries](../../../protocol/ledger-data/ledger-entry-types/paychannel.md) for open payment channels. +- [Bridge entries](../../../protocol/ledger-data/ledger-entry-types/bridge.md) for cross-chain bridges. _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ - [Check entries](../../../protocol/ledger-data/ledger-entry-types/check.md) for pending Checks. - [DepositPreauth entries](../../../protocol/ledger-data/ledger-entry-types/depositpreauth.md) for deposit preauthorizations. -- [Ticket entries](../../../../concepts/accounts/tickets.md) for Tickets. +- [Escrow entries](../../../../concepts/payment-types/escrow.md) for held payments that have not yet been executed or canceled. - [NFTokenOffer entries](../../../protocol/ledger-data/ledger-entry-types/nftokenoffer.md) for offers to buy or sell an NFT. - [NFTokenPage entries](../../../protocol/ledger-data/ledger-entry-types/nftokenpage.md) for collections of NFTs. {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.11.0" %}New in: rippled 1.11.0{% /badge %} +- [Offer entries](../../../protocol/ledger-data/ledger-entry-types/offer.md) for orders that are currently live, unfunded, or expired but not yet removed. (See [Lifecycle of an Offer](../../../../concepts/tokens/decentralized-exchange/offers.md#lifecycle-of-an-offer) for more information.) +- [PayChannel entries](../../../protocol/ledger-data/ledger-entry-types/paychannel.md) for open payment channels. +- [RippleState entries](../../../protocol/ledger-data/ledger-entry-types/ripplestate.md) for trust lines where this account's side is not in the default state. +- The account's [SignerList](../../../protocol/ledger-data/ledger-entry-types/signerlist.md), if the account has [multi-signing](../../../../concepts/accounts/multi-signing.md) enabled. +- [Ticket entries](../../../../concepts/accounts/tickets.md) for Tickets. ## Request Format @@ -81,7 +82,7 @@ The request includes the following parameters: | `ledger_index` | [Ledger Index][] | No | The [ledger index][] of the ledger to use, or a shortcut string to choose a ledger automatically. (See [Specifying Ledgers][]) | | `limit` | Number | No | The maximum number of objects to include in the results. Must be within the inclusive range `10` to `400` on non-admin connections. The default is `200`. | | `marker` | [Marker][] | No | Value from a previous paginated response. Resume retrieving data where that response left off. | -| `type` | String | No | Filter results by a ledger entry type. The valid types are: `check`, `deposit_preauth`, `escrow`, `nft_offer`, `nft_page`, `offer`, `payment_channel`, `signer_list`, `state` (trust line), and `ticket`. | +| `type` | String | No | Filter results by a ledger entry type. The valid types are: `bridge`, `check`, `deposit_preauth`, `escrow`, `nft_offer`, `nft_page`, `offer`, `payment_channel`, `signer_list`, `state` (trust line), and `ticket`. | **Note:** The commandline interface to the `account_objects` command doesn't accept the `type` field. Use the [json method][] to send the JSON-RPC format request on the commandline instead. 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 6c556713de..9df5b4cec0 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 @@ -30,18 +30,24 @@ The `generator` and `ledger` parameters are deprecated and may be removed withou In addition to the general fields above, you must specify *exactly 1* of the following fields to indicate what type of entry to retrieve, along with its sub-fields as appropriate. The valid fields are: -- [`index`](#get-ledger-object-by-id) -- [`account_root`](#get-accountroot-object) -- [`amm`](#get-amm-object) -- [`directory`](#get-directorynode-object) -- [`offer`](#get-offer-object) -- [`ripple_state`](#get-ripplestate-object) -- [`check`](#get-check-object) -- [`escrow`](#get-escrow-object) -- [`payment_channel`](#get-paychannel-object) -- [`deposit_preauth`](#get-depositpreauth-object) -- [`ticket`](#get-ticket-object) -- [`nft_page`](#get-nft-page) +- [ledger\_entry](#ledger_entry) + - [Request Format](#request-format) + - [General Fields](#general-fields) + - [Get Ledger Object by ID](#get-ledger-object-by-id) + - [Get AccountRoot Object](#get-accountroot-object) + - [Get AMM Object](#get-amm-object) + - [Get Bridge Object](#get-bridge-object) + - [Get DirectoryNode Object](#get-directorynode-object) + - [Get Offer Object](#get-offer-object) + - [Get RippleState Object](#get-ripplestate-object) + - [Get Check Object](#get-check-object) + - [Get Escrow Object](#get-escrow-object) + - [Get PayChannel Object](#get-paychannel-object) + - [Get DepositPreauth Object](#get-depositpreauth-object) + - [Get Ticket Object](#get-ticket-object) + - [Get NFT Page](#get-nft-page) + - [Response Format](#response-format) + - [Possible Errors](#possible-errors) **Caution:** If you specify more than 1 of these type-specific fields in a request, the server retrieves results for only 1 of them. It is not defined which one the server chooses, so you should avoid doing this. @@ -175,7 +181,7 @@ Retrieve an Automated Market-Maker (AMM) object from the ledger. This is similar "currency" : "TST", "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd" } - } + }, "ledger_index": "validated" } ``` @@ -211,9 +217,78 @@ rippled json ledger_entry '{ "amm": { "asset": { "currency": "XRP" }, "asset2": {% /tabs %} -[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Famm.devnet.rippletest.net%3A51233%2F#ledger_entry-amm) +[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-amm) +### Get Bridge Object + +_(Requires the [XChainBridge amendment][] {% not-enabled /%})_ + +Retrieve a [Bridge entry](../../../protocol/ledger-data/ledger-entry-types/bridge.md), which represents a single cross-chain bridge that connects the XRP Ledger with another blockchain. + +| Field | Type | Description | +|:-----------------|:-------|:----------------------| +| `bridge_account` | String | The account that submitted the `XChainCreateBridge` transaction on the blockchain. | +| `bridge` | Object | The [Bridge](../../../protocol/ledger-data/ledger-entry-types/bridge.md) to retrieve. Includes the door accounts and assets on the issuing and locking chain. | + + +{% tabs %} + +{% tab label="WebSocket" %} +```json +{ + "id": "example_get_bridge", + "command": "ledger_entry", + "bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", + "bridge": { + "IssuingChainDoor": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "IssuingChainIssue": { + "currency": "XRP" + }, + "LockingChainDoor": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", + "LockingChainIssue": { + "currency": "XRP" + } + }, + "ledger_index": "validated" +} +``` +{% /tab %} + +{% tab label="JSON-RPC" %} +```json +{ + "method": "ledger_entry", + "params": [ + { + "bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", + "bridge": { + "IssuingChainDoor": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "IssuingChainIssue": { + "currency": "XRP" + }, + "LockingChainDoor": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", + "LockingChainIssue": { + "currency": "XRP" + } + }, + "ledger_index": "validated" + } + ] +} +``` +{% /tab %} + +{% tab label="Commandline" %} +```sh +rippled json ledger_entry '{ "bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", "bridge": { "IssuingChainDoor": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "IssuingChainIssue": { "currency": "XRP" }, "LockingChainDoor": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", "LockingChainIssue": { "currency": "XRP" } }, "ledger_index": "validated" }' +``` +{% /tab %} + +{% /tabs %} + +[Try it! >](/resources/dev-tools/websocket-api-tool?server=wss%3A%2F%2Fs.devnet.rippletest.net%3A51233%2F#ledger_entry-bridge) + ### Get DirectoryNode Object 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 897e979e2b..c4beff2631 100644 --- a/resources/dev-tools/components/websocket-api/data/command-list.json +++ b/resources/dev-tools/components/websocket-api/data/command-list.json @@ -577,6 +577,28 @@ "ledger_index": "validated" } }, + { + "name": "ledger_entry - Bridge", + "description": "Returns a single Bridge object in its raw ledger format.", + "link": "/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry#get-bridge-object", + "status": "not_enabled", + "body": { + "id": "example_get_bridge", + "command": "ledger_entry", + "bridge_account": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", + "bridge": { + "IssuingChainDoor": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", + "IssuingChainIssue": { + "currency": "XRP" + }, + "LockingChainDoor": "rnQAXXWoFNN6PEqwqsdTngCtFPCrmfuqFJ", + "LockingChainIssue": { + "currency": "XRP" + } + }, + "ledger_index": "validated" + } + }, { "name": "ledger_entry - DirectoryNode", "description": "Returns a directory object in its raw ledger format.",