diff --git a/.gitignore b/.gitignore index 06ef95a2c..f67daafa2 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,8 @@ yarn-error.log* *.info.mdx +.tool-versions + # non-production openrpc.json files /openrpc/*openrpc.json diff --git a/README.md b/README.md index b7388c63e..9307690a8 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ Welcome to the official home repository for [Documentation][docs] for the [Stellar network][stellar]. -If you're here for the Deep Dive Docs Bounty, please navigate to the bottom of this page for all relevant information: [Deep Dive Docs Bounty](#welcome-to-the-deep-dive-docs-bounty-). - ## Table of Contents - [Contributing](#contributing) @@ -234,7 +232,7 @@ const CODE_LANGS = { }; ``` -**Remember that this is a community; we build together! 💪 Our code of conduct is [here](https://www.stellar.org/community/code-of-conduct) and our Privacy Policy is [here](https://www.stellar.org/privacy-policy).** +**Remember that this is a community; we build together! 🫱🏻‍🫲🏽 Our code of conduct is [here](https://www.stellar.org/community/code-of-conduct) and our Privacy Policy is [here](https://www.stellar.org/privacy-policy).** [docs]: https://developers.stellar.org/docs [api]: https://developers.stellar.org/api diff --git a/ap_versioned_docs/version-2.10/admin-guide/events/getting-started.mdx b/ap_versioned_docs/version-2.10/admin-guide/events/getting-started.mdx index d7c3a3832..229bbc799 100644 --- a/ap_versioned_docs/version-2.10/admin-guide/events/getting-started.mdx +++ b/ap_versioned_docs/version-2.10/admin-guide/events/getting-started.mdx @@ -3,6 +3,26 @@ title: Getting Started sidebar_position: 10 --- -Anchor Platform provides an event service that allows your business application and client applications such as wallets to receive updates about transaction updates via HTTP webhooks without the need to poll the transactions API. +Anchor Platform provides an event service that sends HTTP webhook notifications to: -By integrating with the event service, you or your clients will be able to receive updates about the status of transactions, including when they are submitted, completed, and failed as well as any quotes created. +**Business Servers** + +- Transaction status changes +- Quote updates +- Customer KYC status changes + +Event schemas for business servers are defined in the [API reference](/platforms/anchor-platform/next/api-reference/callbacks/post-event). + +**Client Applications** + +- Transaction status changes affecting their users +- Customer KYC status changes affecting their users + +_Event schemas for client applications are defined in their respective SEPs:_ + +- [SEP-6 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#single-historical-transaction) +- [SEP-12 Customer Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#response) +- [SEP-24 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#single-historical-transaction) +- [SEP-31 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#get-transaction) + +This eliminates the need for business servers and client applications to continuously poll the APIs for updates. \ No newline at end of file diff --git a/ap_versioned_docs/version-2.10/admin-guide/events/integration.mdx b/ap_versioned_docs/version-2.10/admin-guide/events/integration.mdx index e716f3344..b2638a348 100644 --- a/ap_versioned_docs/version-2.10/admin-guide/events/integration.mdx +++ b/ap_versioned_docs/version-2.10/admin-guide/events/integration.mdx @@ -67,9 +67,9 @@ The event service can be used to send events to client and business server callb ### As a Client Application -Client applications can receive updates whenever the `status` of a SEP transaction changes. +Client applications can receive updates about their users' transactions and customer information. The schema of the event data will depend on the type of event being sent. -To receive events as a client application, you will need to expose a callback URL that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. +To receive events as a client application, you will need to expose callback URLs that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. The schema of the event data will depend on the type of event being sent. Anchor Platform allows unique endpoints to be configured by event type. Anchor Platform will only send events to clients listed in the client configuration. See the [client configuration documentation][clients-config] for more information. @@ -78,6 +78,7 @@ Anchor Platform will only send events to clients listed in the client configurat Anchor Platform signs the callback requests it sends to client applications. The signature is included in the `Signature` header of the request. The callback URL signature specification can be found in the corresponding SEP protocol specifications. - [SEP-0006](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#url-callback-signature) +- [SEP-0012](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#callback-post-request) - [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#url-callback-signature) - [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#url-callback-signature) diff --git a/ap_versioned_docs/version-2.10/admin-guide/sep24/integration.mdx b/ap_versioned_docs/version-2.10/admin-guide/sep24/integration.mdx index a396e9c44..865922840 100644 --- a/ap_versioned_docs/version-2.10/admin-guide/sep24/integration.mdx +++ b/ap_versioned_docs/version-2.10/admin-guide/sep24/integration.mdx @@ -29,8 +29,18 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-24 protocol document][sep-24] +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about quotes. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. + ## Securing Platform API @@ -1006,4 +1016,6 @@ Works in the same manner as for the deposit flow. For more details, see [Transac [sep-9]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0009.md [sep-24]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md +[event-handling]: /ap_versioned_docs/version-2.10/admin-guide/events/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.10/api-reference/callbacks/README.mdx [json-rpc-methods]: ../../api-reference/platform/rpc/methods/README.mdx diff --git a/ap_versioned_docs/version-2.10/admin-guide/sep6/integration.mdx b/ap_versioned_docs/version-2.10/admin-guide/sep6/integration.mdx index 2d2414061..87a6919b9 100644 --- a/ap_versioned_docs/version-2.10/admin-guide/sep6/integration.mdx +++ b/ap_versioned_docs/version-2.10/admin-guide/sep6/integration.mdx @@ -30,9 +30,21 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-6 protocol document][sep-6]. -[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about customers and quotes. + +### Customer Information + +The Anchor Platform does not store customer information. Instead, it forwards all SEP-12 customer requests to the business server. The business server is responsible for storing and managing this information. Therefore, your business server must implement the [customer APIs][customer-callback] to handle KYC updates. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. ## Securing Platform API @@ -972,4 +984,8 @@ Works in the same manner as for the deposit flow. For more details, see [Transac +[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +[event-handling]: /ap_versioned_docs/version-2.10/admin-guide/events/README.mdx +[customer-callback]: /ap_versioned_docs/version-2.10/api-reference/callbacks/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.10/api-reference/callbacks/README.mdx [get-transactions]: ../../api-reference/platform/transactions/get-transactions.api.mdx diff --git a/ap_versioned_docs/version-2.11/admin-guide/events/getting-started.mdx b/ap_versioned_docs/version-2.11/admin-guide/events/getting-started.mdx index d7c3a3832..5001c7931 100644 --- a/ap_versioned_docs/version-2.11/admin-guide/events/getting-started.mdx +++ b/ap_versioned_docs/version-2.11/admin-guide/events/getting-started.mdx @@ -3,6 +3,26 @@ title: Getting Started sidebar_position: 10 --- -Anchor Platform provides an event service that allows your business application and client applications such as wallets to receive updates about transaction updates via HTTP webhooks without the need to poll the transactions API. +Anchor Platform provides an event service that sends HTTP webhook notifications to: -By integrating with the event service, you or your clients will be able to receive updates about the status of transactions, including when they are submitted, completed, and failed as well as any quotes created. +**Business Servers** + +- Transaction status changes +- Quote updates +- Customer KYC status changes + +Event schemas for business servers are defined in the [API reference](/platforms/anchor-platform/next/api-reference/callbacks/post-event). + +**Client Applications** + +- Transaction status changes affecting their users +- Customer KYC status changes affecting their users + +_Event schemas for client applications are defined in their respective SEPs:_ + +- [SEP-6 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#single-historical-transaction) +- [SEP-12 Customer Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#response) +- [SEP-24 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#single-historical-transaction) +- [SEP-31 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#get-transaction) + +This eliminates the need for business servers and client applications to continuously poll the APIs for updates. diff --git a/ap_versioned_docs/version-2.11/admin-guide/events/integration.mdx b/ap_versioned_docs/version-2.11/admin-guide/events/integration.mdx index e716f3344..b2638a348 100644 --- a/ap_versioned_docs/version-2.11/admin-guide/events/integration.mdx +++ b/ap_versioned_docs/version-2.11/admin-guide/events/integration.mdx @@ -67,9 +67,9 @@ The event service can be used to send events to client and business server callb ### As a Client Application -Client applications can receive updates whenever the `status` of a SEP transaction changes. +Client applications can receive updates about their users' transactions and customer information. The schema of the event data will depend on the type of event being sent. -To receive events as a client application, you will need to expose a callback URL that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. +To receive events as a client application, you will need to expose callback URLs that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. The schema of the event data will depend on the type of event being sent. Anchor Platform allows unique endpoints to be configured by event type. Anchor Platform will only send events to clients listed in the client configuration. See the [client configuration documentation][clients-config] for more information. @@ -78,6 +78,7 @@ Anchor Platform will only send events to clients listed in the client configurat Anchor Platform signs the callback requests it sends to client applications. The signature is included in the `Signature` header of the request. The callback URL signature specification can be found in the corresponding SEP protocol specifications. - [SEP-0006](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#url-callback-signature) +- [SEP-0012](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#callback-post-request) - [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#url-callback-signature) - [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#url-callback-signature) diff --git a/ap_versioned_docs/version-2.11/admin-guide/sep24/integration.mdx b/ap_versioned_docs/version-2.11/admin-guide/sep24/integration.mdx index a396e9c44..bb3a9f759 100644 --- a/ap_versioned_docs/version-2.11/admin-guide/sep24/integration.mdx +++ b/ap_versioned_docs/version-2.11/admin-guide/sep24/integration.mdx @@ -29,8 +29,18 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-24 protocol document][sep-24] +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about quotes. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. + ## Securing Platform API @@ -1006,4 +1016,6 @@ Works in the same manner as for the deposit flow. For more details, see [Transac [sep-9]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0009.md [sep-24]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md +[event-handling]: /ap_versioned_docs/version-2.11/admin-guide/events/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.11/api-reference/callbacks/README.mdx [json-rpc-methods]: ../../api-reference/platform/rpc/methods/README.mdx diff --git a/ap_versioned_docs/version-2.11/admin-guide/sep6/integration.mdx b/ap_versioned_docs/version-2.11/admin-guide/sep6/integration.mdx index 2d2414061..5b4d53d58 100644 --- a/ap_versioned_docs/version-2.11/admin-guide/sep6/integration.mdx +++ b/ap_versioned_docs/version-2.11/admin-guide/sep6/integration.mdx @@ -30,9 +30,21 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-6 protocol document][sep-6]. -[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about customers and quotes. + +### Customer Information + +The Anchor Platform does not store customer information. Instead, it forwards all SEP-12 customer requests to the business server. The business server is responsible for storing and managing this information. Therefore, your business server must implement the [customer APIs][customer-callback] to handle KYC updates. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. ## Securing Platform API @@ -972,4 +984,8 @@ Works in the same manner as for the deposit flow. For more details, see [Transac +[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +[event-handling]: /ap_versioned_docs/version-2.11/admin-guide/events/README.mdx +[customer-callback]: /ap_versioned_docs/version-2.11/api-reference/callbacks/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.11/api-reference/callbacks/README.mdx [get-transactions]: ../../api-reference/platform/transactions/get-transactions.api.mdx diff --git a/ap_versioned_docs/version-2.8/admin-guide/events/getting-started.mdx b/ap_versioned_docs/version-2.8/admin-guide/events/getting-started.mdx index d7c3a3832..bd98c3d65 100644 --- a/ap_versioned_docs/version-2.8/admin-guide/events/getting-started.mdx +++ b/ap_versioned_docs/version-2.8/admin-guide/events/getting-started.mdx @@ -3,6 +3,26 @@ title: Getting Started sidebar_position: 10 --- -Anchor Platform provides an event service that allows your business application and client applications such as wallets to receive updates about transaction updates via HTTP webhooks without the need to poll the transactions API. +Anchor Platform provides an event service that sends HTTP webhook notifications to: -By integrating with the event service, you or your clients will be able to receive updates about the status of transactions, including when they are submitted, completed, and failed as well as any quotes created. +**Business Servers** + +- Transaction status changes +- Quote updates +- Customer KYC status changes + +Event schemas for business servers are defined in the [API reference](/ap_versioned_docs/version-2.8/api-reference/callbacks/post-event.api.mdx). + +**Client Applications** + +- Transaction status changes affecting their users +- Customer KYC status changes affecting their users + +_Event schemas for client applications are defined in their respective SEPs:_ + +- [SEP-6 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#single-historical-transaction) +- [SEP-12 Customer Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#response) +- [SEP-24 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#single-historical-transaction) +- [SEP-31 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#get-transaction) + +This eliminates the need for business servers and client applications to continuously poll the APIs for updates. \ No newline at end of file diff --git a/ap_versioned_docs/version-2.8/admin-guide/events/integration.mdx b/ap_versioned_docs/version-2.8/admin-guide/events/integration.mdx index e716f3344..b2638a348 100644 --- a/ap_versioned_docs/version-2.8/admin-guide/events/integration.mdx +++ b/ap_versioned_docs/version-2.8/admin-guide/events/integration.mdx @@ -67,9 +67,9 @@ The event service can be used to send events to client and business server callb ### As a Client Application -Client applications can receive updates whenever the `status` of a SEP transaction changes. +Client applications can receive updates about their users' transactions and customer information. The schema of the event data will depend on the type of event being sent. -To receive events as a client application, you will need to expose a callback URL that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. +To receive events as a client application, you will need to expose callback URLs that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. The schema of the event data will depend on the type of event being sent. Anchor Platform allows unique endpoints to be configured by event type. Anchor Platform will only send events to clients listed in the client configuration. See the [client configuration documentation][clients-config] for more information. @@ -78,6 +78,7 @@ Anchor Platform will only send events to clients listed in the client configurat Anchor Platform signs the callback requests it sends to client applications. The signature is included in the `Signature` header of the request. The callback URL signature specification can be found in the corresponding SEP protocol specifications. - [SEP-0006](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#url-callback-signature) +- [SEP-0012](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#callback-post-request) - [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#url-callback-signature) - [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#url-callback-signature) diff --git a/ap_versioned_docs/version-2.8/admin-guide/sep24/integration.mdx b/ap_versioned_docs/version-2.8/admin-guide/sep24/integration.mdx index a396e9c44..099bd817d 100644 --- a/ap_versioned_docs/version-2.8/admin-guide/sep24/integration.mdx +++ b/ap_versioned_docs/version-2.8/admin-guide/sep24/integration.mdx @@ -29,8 +29,18 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-24 protocol document][sep-24] +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about quotes. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. + ## Securing Platform API @@ -1006,4 +1016,6 @@ Works in the same manner as for the deposit flow. For more details, see [Transac [sep-9]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0009.md [sep-24]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md +[event-handling]: /ap_versioned_docs/version-2.8/admin-guide/events/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.8/api-reference/callbacks/README.mdx [json-rpc-methods]: ../../api-reference/platform/rpc/methods/README.mdx diff --git a/ap_versioned_docs/version-2.8/admin-guide/sep6/integration.mdx b/ap_versioned_docs/version-2.8/admin-guide/sep6/integration.mdx index fae2ab0c8..7e19260cc 100644 --- a/ap_versioned_docs/version-2.8/admin-guide/sep6/integration.mdx +++ b/ap_versioned_docs/version-2.8/admin-guide/sep6/integration.mdx @@ -30,9 +30,21 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-6 protocol document][sep-6]. -[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about customers and quotes. + +### Customer Information + +The Anchor Platform does not store customer information. Instead, it forwards all SEP-12 customer requests to the business server. The business server is responsible for storing and managing this information. Therefore, your business server must implement the [customer APIs][customer-callback] to handle KYC updates. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. ## Securing Platform API @@ -968,4 +980,8 @@ Works in the same manner as for the deposit flow. For more details, see [Transac +[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +[event-handling]: /ap_versioned_docs/version-2.8/admin-guide/events/README.mdx +[customer-callback]: /ap_versioned_docs/version-2.8/api-reference/callbacks/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.8/api-reference/callbacks/README.mdx [get-transactions]: ../../api-reference/platform/transactions/get-transactions.api.mdx diff --git a/ap_versioned_docs/version-2.9/admin-guide/events/getting-started.mdx b/ap_versioned_docs/version-2.9/admin-guide/events/getting-started.mdx index d7c3a3832..229bbc799 100644 --- a/ap_versioned_docs/version-2.9/admin-guide/events/getting-started.mdx +++ b/ap_versioned_docs/version-2.9/admin-guide/events/getting-started.mdx @@ -3,6 +3,26 @@ title: Getting Started sidebar_position: 10 --- -Anchor Platform provides an event service that allows your business application and client applications such as wallets to receive updates about transaction updates via HTTP webhooks without the need to poll the transactions API. +Anchor Platform provides an event service that sends HTTP webhook notifications to: -By integrating with the event service, you or your clients will be able to receive updates about the status of transactions, including when they are submitted, completed, and failed as well as any quotes created. +**Business Servers** + +- Transaction status changes +- Quote updates +- Customer KYC status changes + +Event schemas for business servers are defined in the [API reference](/platforms/anchor-platform/next/api-reference/callbacks/post-event). + +**Client Applications** + +- Transaction status changes affecting their users +- Customer KYC status changes affecting their users + +_Event schemas for client applications are defined in their respective SEPs:_ + +- [SEP-6 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#single-historical-transaction) +- [SEP-12 Customer Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#response) +- [SEP-24 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#single-historical-transaction) +- [SEP-31 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#get-transaction) + +This eliminates the need for business servers and client applications to continuously poll the APIs for updates. \ No newline at end of file diff --git a/ap_versioned_docs/version-2.9/admin-guide/events/integration.mdx b/ap_versioned_docs/version-2.9/admin-guide/events/integration.mdx index e716f3344..b2638a348 100644 --- a/ap_versioned_docs/version-2.9/admin-guide/events/integration.mdx +++ b/ap_versioned_docs/version-2.9/admin-guide/events/integration.mdx @@ -67,9 +67,9 @@ The event service can be used to send events to client and business server callb ### As a Client Application -Client applications can receive updates whenever the `status` of a SEP transaction changes. +Client applications can receive updates about their users' transactions and customer information. The schema of the event data will depend on the type of event being sent. -To receive events as a client application, you will need to expose a callback URL that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. +To receive events as a client application, you will need to expose callback URLs that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. The schema of the event data will depend on the type of event being sent. Anchor Platform allows unique endpoints to be configured by event type. Anchor Platform will only send events to clients listed in the client configuration. See the [client configuration documentation][clients-config] for more information. @@ -78,6 +78,7 @@ Anchor Platform will only send events to clients listed in the client configurat Anchor Platform signs the callback requests it sends to client applications. The signature is included in the `Signature` header of the request. The callback URL signature specification can be found in the corresponding SEP protocol specifications. - [SEP-0006](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#url-callback-signature) +- [SEP-0012](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#callback-post-request) - [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#url-callback-signature) - [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#url-callback-signature) diff --git a/ap_versioned_docs/version-2.9/admin-guide/sep24/integration.mdx b/ap_versioned_docs/version-2.9/admin-guide/sep24/integration.mdx index a396e9c44..f07b332a6 100644 --- a/ap_versioned_docs/version-2.9/admin-guide/sep24/integration.mdx +++ b/ap_versioned_docs/version-2.9/admin-guide/sep24/integration.mdx @@ -29,8 +29,18 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-24 protocol document][sep-24] +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about quotes. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. + ## Securing Platform API @@ -1006,4 +1016,6 @@ Works in the same manner as for the deposit flow. For more details, see [Transac [sep-9]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0009.md [sep-24]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md +[event-handling]: /ap_versioned_docs/version-2.9/admin-guide/events/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.9/api-reference/callbacks/README.mdx [json-rpc-methods]: ../../api-reference/platform/rpc/methods/README.mdx diff --git a/ap_versioned_docs/version-2.9/admin-guide/sep6/integration.mdx b/ap_versioned_docs/version-2.9/admin-guide/sep6/integration.mdx index 2d2414061..c1836b071 100644 --- a/ap_versioned_docs/version-2.9/admin-guide/sep6/integration.mdx +++ b/ap_versioned_docs/version-2.9/admin-guide/sep6/integration.mdx @@ -30,9 +30,21 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-6 protocol document][sep-6]. -[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about customers and quotes. + +### Customer Information + +The Anchor Platform does not store customer information. Instead, it forwards all SEP-12 customer requests to the business server. The business server is responsible for storing and managing this information. Therefore, your business server must implement the [customer APIs][customer-callback] to handle KYC updates. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. ## Securing Platform API @@ -972,4 +984,8 @@ Works in the same manner as for the deposit flow. For more details, see [Transac +[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +[event-handling]: /ap_versioned_docs/version-2.9/admin-guide/events/README.mdx +[customer-callback]: /ap_versioned_docs/version-2.9/api-reference/callbacks/README.mdx +[rate-callback]: /ap_versioned_docs/version-2.9/api-reference/callbacks/README.mdx [get-transactions]: ../../api-reference/platform/transactions/get-transactions.api.mdx diff --git a/config/disbursementPlatform.sidebar.ts b/config/disbursementPlatform.sidebar.ts index dd4ff2a74..05f060113 100644 --- a/config/disbursementPlatform.sidebar.ts +++ b/config/disbursementPlatform.sidebar.ts @@ -1,46 +1,44 @@ import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; -import sdpSidebar from '../platforms/stellar-disbursement-platform/api-reference/sidebar' +import sdpSidebar from "../platforms/stellar-disbursement-platform/api-reference/sidebar"; const sidebars: SidebarsConfig = { - stellar_disbursement_platform: [ + stellar_disbursement_platform: [ + { + type: "category", + label: "Stellar Disbursement Platform", + link: { + type: "doc", + id: "README", + }, + items: [ + "README", { - type: "category", - label: "Stellar Disbursement Platform", - link: { - type: 'doc', - id: 'README', + type: "category", + label: "Admin Guide", + link: { + description: + "All you need to know about setting up, running, and using the Stellar Disbursement Platform.", + type: "generated-index", + slug: "/admin-guide", + }, + items: [{ type: "autogenerated", dirName: "admin-guide" }], }, - items: [ - 'README', - { - type: 'category', - label: "Admin Guide", - link: { - description: "All you need to know about setting up, running, and using the Anchor Platform.", - type: 'generated-index', - slug: '/admin-guide', - }, - items: [ - { type: "autogenerated", dirName: "admin-guide" } - ] - }, - { - type: 'category', - label: 'API Reference', - collapsed: false, - link: { - description: 'View all Stellar Disbursement Platform API information.', - type: 'generated-index', - slug: '/api-reference', - }, - items: [ - ...sdpSidebar.filter((item) => item.type === 'category'), - ], - }, - ], + { + type: "category", + label: "API Reference", + collapsed: false, + link: { + description: + "View all Stellar Disbursement Platform API information.", + type: "generated-index", + slug: "/api-reference", + }, + items: [...sdpSidebar.filter((item) => item.type === "category")], }, - ], + ], + }, + ], }; export default sidebars; diff --git a/config/sidebars.ts b/config/sidebars.ts index cb7497550..0527b9af4 100644 --- a/config/sidebars.ts +++ b/config/sidebars.ts @@ -23,9 +23,10 @@ const sidebars: SidebarsConfig = { 'data/README', 'data/requirements', { type: 'html', value: 'Data Availability', defaultStyle: true, className: 'networkMenuHtmlItem'}, - { type: 'ref', id: 'data/rpc/README', label: 'Soroban RPC'}, + { type: 'ref', id: 'data/rpc/README', label: 'Stellar RPC'}, { type: 'ref', id: 'data/hubble/README', label: 'Hubble'}, { type: 'ref', id: 'data/horizon/README', label: 'Horizon'}, + { type: 'ref', id: 'data/galexie/README', label: 'Galexie'}, ], tools: [ { @@ -74,10 +75,23 @@ const sidebars: SidebarsConfig = { collapsible: false, }, ], + galexie: [ + { + type: 'category', + label: 'Galexie', + items: [ + { + type: "autogenerated", + dirName: "data/galexie", + }, + ], + collapsible: false, + }, + ], soroban_rpc: [ { type: "category", - label: "Soroban RPC", + label: "Stellar RPC", items: [ { type: 'autogenerated', diff --git a/docs/README.mdx b/docs/README.mdx index bf0897cdb..c1de1d70a 100644 --- a/docs/README.mdx +++ b/docs/README.mdx @@ -20,7 +20,7 @@ Information on how to issue assets on the Stellar network and create custom smar ### [Data](/docs/data/README.mdx) -Discover various data availability options: RPC, Hubble, and Horizon. +Discover various data availability options: RPC, Hubble, Horizon, and Galexie. ### [Tools](/docs/tools/README.mdx) diff --git a/docs/build/guides/basics/automate-reset-data.mdx b/docs/build/guides/basics/automate-reset-data.mdx index a9d2698f7..fbe13b563 100644 --- a/docs/build/guides/basics/automate-reset-data.mdx +++ b/docs/build/guides/basics/automate-reset-data.mdx @@ -22,7 +22,7 @@ Stellar operates two primary testing environments: the [Testnet and the Futurene ## What is the Testnet and Futurenet reset? -Testnet and Futurenet are reset periodically to the genesis ledger to declutter the network, remove spam, reduce the time needed to catch up on the latest ledger, and help maintain the system. These resets take place approximately quarterly. Resets clear all ledger entries (accounts, trustlines, offers, smart contract data, etc.), transactions, and historical data from Stellar Core, Horizon, and the Soroban RPC, which is why developers should not rely on the persistence of accounts or the state of any balances when using Testnet or Futurenet. +Testnet and Futurenet are reset periodically to the genesis ledger to declutter the network, remove spam, reduce the time needed to catch up on the latest ledger, and help maintain the system. These resets take place approximately quarterly. Resets clear all ledger entries (accounts, trustlines, offers, smart contract data, etc.), transactions, and historical data from Stellar Core, Horizon, and the Stellar RPC, which is why developers should not rely on the persistence of accounts or the state of any balances when using Testnet or Futurenet. You can check current reset dates [here](../../../learn/fundamentals/networks.mdx#testnet-and-futurenet-data-reset). diff --git a/docs/build/guides/conventions/extending-wasm-ttl.mdx b/docs/build/guides/conventions/extending-wasm-ttl.mdx index d6fac11b0..332048cf0 100644 --- a/docs/build/guides/conventions/extending-wasm-ttl.mdx +++ b/docs/build/guides/conventions/extending-wasm-ttl.mdx @@ -14,7 +14,7 @@ This guide will show you how to extend the TTL of a deployed contract's Wasm cod ## Prerequisites - Stellar SDK: `npm install @stellar/stellar-sdk` -- A Soroban RPC endpoint (e.g., `https://soroban-testnet.stellar.org`) +- A Stellar RPC endpoint (e.g., `https://soroban-testnet.stellar.org`) - Basic knowledge of Stellar SDK ## Process overview diff --git a/docs/build/guides/dapps/docker.mdx b/docs/build/guides/dapps/docker.mdx index c16c174cc..1002ef49e 100644 --- a/docs/build/guides/dapps/docker.mdx +++ b/docs/build/guides/dapps/docker.mdx @@ -131,7 +131,7 @@ The `quickstart.sh` script sets up the Docker environment for running the dapp. - Creates the Docker network named `soroban-network` if it doesn't exist. - Removes any existing `soroban-preview` Docker container. - Runs the `soroban-preview` container, which provides the Soroban Preview environment for development. -- Runs the `stellar/quickstart` Docker image, which sets up the Stellar network using the chosen network type and enables Soroban RPC. +- Runs the `stellar/quickstart` Docker image, which sets up the Stellar network using the chosen network type and enables Stellar RPC. [`stellar/quickstart` docker image]: https://hub.docker.com/r/stellar/quickstart [example crowdfund dapp]: https://github.com/stellar/soroban-example-dapp diff --git a/docs/build/guides/dapps/frontend-guide.mdx b/docs/build/guides/dapps/frontend-guide.mdx index 5f34ac1ad..5e6685c83 100644 --- a/docs/build/guides/dapps/frontend-guide.mdx +++ b/docs/build/guides/dapps/frontend-guide.mdx @@ -743,7 +743,7 @@ This is made possible by using the `server.getEvents` method which allows you to We will be editing the `CounterPage` component to read events from the counter smart contract immediately the page loads to get the initial counter value and update instead of using "Unknown". Before we continue, please take a look at the [contract code](https://github.com/stellar/soroban-examples/blob/main/events/src/lib.rs). In the contract code, an event named `increment` is emitted whenever the `increment` function is called. It is published over 2 topics, `increment` and `COUNTER` and we need to listen to these topics to get the events. -The topics are stored in a data type called `symbol` and we will need to convert both `increment` and `COUNTER` to `symbol` before we can use them in the [`server.getEvents`](https://developers.stellar.org/docs/data/rpc/api-reference/methods/getEvents) method. By default, soroban RPCs keep track of events for 24 hours and you can query events that happened within the last 24 hours, so if you need to store events for longer, you may need to make use of an [indexer](/docs/tools/developer-tools/data-indexers). +The topics are stored in a data type called `symbol` and we will need to convert both `increment` and `COUNTER` to `symbol` before we can use them in the [`server.getEvents`](https://developers.stellar.org/docs/data/rpc/api-reference/methods/getEvents) method. At maximum, stellar RPCs keep track of events for 7 days and you can query events that happened within the last 7 days, so if you need to store events for longer, you may need to make use of an [indexer](/docs/tools/developer-tools/data-indexers). To use events,we edit our counter page and add the following code: @@ -841,5 +841,5 @@ State Archival is a characteristic of soroban contracts where some data stored o A few things to note about data retention in soroban contracts: -- Events Data can be queried within 24 hours of the event happening. So you may need an indexer to store events for longer periods. +- Events Data can be queried within 7 days of the event happening. So you may need an indexer to store events for longer periods. - Transaction data is stored with a retention period of 1440 ledgers. This means after 1440 ledgers, the transaction data cannot be queried using the RPC. Again, you may need an indexer to store transaction data for longer periods. diff --git a/docs/build/guides/dapps/initialization.mdx b/docs/build/guides/dapps/initialization.mdx index 548429a4d..f72bb9c0b 100644 --- a/docs/build/guides/dapps/initialization.mdx +++ b/docs/build/guides/dapps/initialization.mdx @@ -199,8 +199,8 @@ echo "Done" Here's a summary of what the `initialize.sh` script does: - Identifies the network (standalone or futurenet) based on user input -- Determines the Soroban RPC host URL depending on its execution environment (either inside the soroban-preview Docker container or locally) -- Sets the Soroban RPC URL based on the previously determined host URL +- Determines the Stellar RPC host URL depending on its execution environment (either inside the soroban-preview Docker container or locally) +- Sets the Stellar RPC URL based on the previously determined host URL - Sets the Soroban network passphrase and Friendbot URL depending on the chosen network - Adds the network configuration using `stellar network add` - Generates a token-admin identity using `stellar keys generate` diff --git a/docs/build/guides/dapps/state-archival.mdx b/docs/build/guides/dapps/state-archival.mdx index a2e66b784..86b012b96 100644 --- a/docs/build/guides/dapps/state-archival.mdx +++ b/docs/build/guides/dapps/state-archival.mdx @@ -131,7 +131,7 @@ When developing a dapp on Stellar, you may encounter situations where contract d - Stellar SDK: `npm install @stellar/stellar-sdk` - Freighter API: `npm install @stellar/freighter-api` -- A Soroban RPC endpoint (e.g., `https://soroban-testnet.stellar.org`) +- A Stellar RPC endpoint (e.g., `https://soroban-testnet.stellar.org`) #### Step 1: Set up the SDK and Freighter diff --git a/docs/build/guides/events/consume.mdx b/docs/build/guides/events/consume.mdx index 896ed38ba..d011b3c51 100644 --- a/docs/build/guides/events/consume.mdx +++ b/docs/build/guides/events/consume.mdx @@ -3,7 +3,7 @@ title: Consume previously ingested events description: Consume ingested events without querying the RPC again --- -Once events have been ingested into a database, for instance as done in the [ingest guide], they can be consumed without having the need to query again Soroban RPC. In the following, we will show how we can consume these events. +Once events have been ingested into a database, for instance as done in the [ingest guide], they can be consumed without having the need to query again Stellar RPC. In the following, we will show how we can consume these events. Let's get started! @@ -182,7 +182,7 @@ Event listener: {'topic_1': 'transfer', 'topic_2':
-If we start from scratch, there is no known ledger so we can try to ingest roughly the last 24 hours assuming a ledger closes every 6s. +If we start from scratch, there is no known ledger so we can try to ingest roughly the last 7 days assuming a ledger closes every 6s. ```python import stellar_sdk soroban_server = stellar_sdk.SorobanServer() -ledger = soroban_server.get_latest_ledger().sequence-int(3600 / 6 * 24) +ledger = soroban_server.get_latest_ledger().sequence-int(3600 / 6 * 24 * 7) ``` Later on, we will be able to start from the latest ingested ledger by making a query to our DB. @@ -158,7 +158,7 @@ with orm.Session(engine) as session: ledger = session.scalars(stmt).first() ``` -Let's get events from Soroban RPC! +Let's get events from Stellar RPC! ```python from stellar_sdk.soroban_rpc import EventFilter, EventFilterType diff --git a/docs/build/guides/events/publish.mdx b/docs/build/guides/events/publish.mdx index f090b89aa..bfef9d42b 100644 --- a/docs/build/guides/events/publish.mdx +++ b/docs/build/guides/events/publish.mdx @@ -4,12 +4,7 @@ hide_table_of_contents: true description: Publish events from a Rust contract --- -An event can contain up to 4 topics, alongside the data it is publishing. The `data` can be any value or type you want. However, the topics must not contain: - -- `Vec` -- `Map` -- `Bytes` or `BytesN` longer than 32 bytes -- `contracttype` +An event can contain topics, alongside the data it is publishing. The topics data can be any value or type you want. ```rust // This function does nothing beside publishing events. Topics we are using are diff --git a/docs/build/guides/rpc/retrieve-contract-code-js.mdx b/docs/build/guides/rpc/retrieve-contract-code-js.mdx index 813cede5c..1fff632ca 100644 --- a/docs/build/guides/rpc/retrieve-contract-code-js.mdx +++ b/docs/build/guides/rpc/retrieve-contract-code-js.mdx @@ -92,7 +92,7 @@ console.log( // OUTPUT: AAAAB+QzbW3JDhlUbDVW/C+1/5SIQDstqORuhpCyl73O1vH6 ``` -Now, finally we have a `LedgerKey` that correspond to the Wasm byte-code that has been deployed under the `ContractId` we started out with so very long ago. This `LedgerKey` can be used in a final request to the Soroban-RPC endpoint. +Now, finally we have a `LedgerKey` that correspond to the Wasm byte-code that has been deployed under the `ContractId` we started out with so very long ago. This `LedgerKey` can be used in a final request to the Stellar-RPC endpoint. ```json { diff --git a/docs/build/guides/rpc/retrieve-contract-code-python.mdx b/docs/build/guides/rpc/retrieve-contract-code-python.mdx index e8a88a757..48a463d54 100644 --- a/docs/build/guides/rpc/retrieve-contract-code-python.mdx +++ b/docs/build/guides/rpc/retrieve-contract-code-python.mdx @@ -90,7 +90,7 @@ print( # OUTPUT: AAAAB+QzbW3JDhlUbDVW/C+1/5SIQDstqORuhpCyl73O1vH6 ``` -Now, finally we have a `LedgerKey` that correspond to the Wasm byte-code that has been deployed under the `ContractId` we started out with so very long ago. This `LedgerKey` can be used in a final request to the Soroban-RPC endpoint. +Now, finally we have a `LedgerKey` that correspond to the Wasm byte-code that has been deployed under the `ContractId` we started out with so very long ago. This `LedgerKey` can be used in a final request to the Stellar-RPC endpoint. ```json { diff --git a/docs/build/guides/storage/choosing-the-right-storage.mdx b/docs/build/guides/storage/choosing-the-right-storage.mdx index 18a15db9a..9ffcac1b3 100644 --- a/docs/build/guides/storage/choosing-the-right-storage.mdx +++ b/docs/build/guides/storage/choosing-the-right-storage.mdx @@ -121,6 +121,7 @@ impl LoyaltyPointsContract { admin.require_auth(); let new_points = current_points + points; + let key = DataKey::Points(user.clone()); env.storage().persistent().set(&key, &new_points); } } diff --git a/docs/build/guides/testing/README.mdx b/docs/build/guides/testing/README.mdx index 420832ee6..263e42043 100644 --- a/docs/build/guides/testing/README.mdx +++ b/docs/build/guides/testing/README.mdx @@ -5,4 +5,4 @@ sidebar_class_name: sidebar-category-items-hidden sidebar_position: 110 --- -Smart contract testing is vital to ensure safe, resilient, and accurate computation. +Testing is vital to ensure that smart contracts are safe, resilient, and accurate. diff --git a/docs/build/guides/testing/basic-contract-tests.mdx b/docs/build/guides/testing/basic-contract-tests.mdx deleted file mode 100644 index 731a79fbb..000000000 --- a/docs/build/guides/testing/basic-contract-tests.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Implement basic tests for a contract -hide_table_of_contents: true -description: Use the increment example contract to ensure a contract's functions behave as expected ---- - -A contract's test functions can be used as a simple way to ensure a contract's functions behave as expected. The [increment example contract](../../smart-contracts/getting-started/deploy-increment-contract.mdx) has a function that increments a counter by one on every invocation. The corresponding test invokes that function several time, ensuring with `assert_eq!(...)` the count increases as expected. - -```rust -#![cfg(test)] - -use super::{IncrementContract, IncrementContractClient}; -use soroban_sdk::{Env}; - -#[test] -fn test() { - // Almost every test will begin this same way. A default Soroban environment - // is created and the contract (along with its client) is registered in it. - let env = Env::default(); - let contract_id = env.register_contract(None, IncrementContract); - let client = IncrementContractClient::new(&env, &contract_id); - - assert_eq!(client.increment(), 1); - assert_eq!(client.increment(), 2); - assert_eq!(client.increment(), 3); -} -``` diff --git a/docs/build/guides/testing/unit-tests.mdx b/docs/build/guides/testing/unit-tests.mdx new file mode 100644 index 000000000..87b7e902d --- /dev/null +++ b/docs/build/guides/testing/unit-tests.mdx @@ -0,0 +1,52 @@ +--- +title: Unit Tests +hide_table_of_contents: true +description: Unit tests are small tests that test smart contracts. +sidebar_position: 1 +--- + +Unit tests are small tests that test one piece of functionality within a contract. + +The following is an example of a unit test, written to test the [increment contract]. The contract has an `increment` function, that increases a counter value by one on every invocation. The following test invokes that contract's function several times, and checks that the value increases by one. + +```rust +#![cfg(test)] +use crate::{IncrementContract, IncrementContractClient}; +use soroban_sdk::Env; + +#[test] +fn test() { + let env = Env::default(); + let contract_id = env.register(IncrementContract, ()); + let client = IncrementContractClient::new(&env, &contract_id); + + assert_eq!(client.increment(), 1); + assert_eq!(client.increment(), 2); + assert_eq!(client.increment(), 3); +} +``` + +Ref: https://github.com/stellar/soroban-examples/blob/main/increment/src/test.rs + +:::tip + +Tests are written in Rust, alongside the contract. Same tools. Same APIs. Same SDK. No context switching! Use your favorite Rust tools and libraries that you'd use for any Rust test. + +::: + +:::info + +The Env created at the beginning of the test is not a simulation of the Soroban Environment. It's the same Soroban Environment that mainnet uses to execute contracts. There are only some minor differences: test utilities are enabled, and the storage backend is different. + +::: + +It's a simple test, but it's a complete test. There's a full environment setup, used, and torn down in the test, and it happens fast. The Rust test harness runs all the tests for a contract in parallel and each will have its own isolated contract environment. + +Most tests, even integration tests and fuzz tests, will look very similar to this unit test. They'll do four things: + +1. Create an environment, the `Env`. +2. Register the contract(s) to be tested. +3. Invoke functions using a client. +4. Assert the outcome. + +[increment contract]: https://github.com/stellar/soroban-examples/blob/main/increment/src/lib.rs diff --git a/docs/build/guides/transactions/invoke-contract-tx-sdk.mdx b/docs/build/guides/transactions/invoke-contract-tx-sdk.mdx index 5ef0d5136..03ab210ad 100644 --- a/docs/build/guides/transactions/invoke-contract-tx-sdk.mdx +++ b/docs/build/guides/transactions/invoke-contract-tx-sdk.mdx @@ -37,7 +37,7 @@ Please go to [the project homepage](https://github.com/stellar/js-stellar-sdk) o "SCQN3XGRO65BHNSWLSHYIR4B65AHLDUQ7YLHGIWQ4677AZFRS77TCZRB", ); - // Configure SorobanClient to use the `soroban-rpc` instance of your + // Configure SorobanClient to use the `stellar-rpc` instance of your // choosing. const server = new SorobanRpc.Server( "https://soroban-testnet.stellar.org:443", @@ -89,7 +89,7 @@ Please go to [the project homepage](https://github.com/stellar/js-stellar-sdk) o .toXDR("base64")}`, ); - // Submit the transaction to the Soroban-RPC server. The RPC server will + // Submit the transaction to the Stellar-RPC server. The RPC server will // then submit the transaction into the network for us. Then we will have to // wait, polling `getTransaction` until the transaction completes. try { @@ -160,7 +160,7 @@ network_passphrase = Network.TESTNET_NETWORK_PASSPHRASE contract_id = "CDOGJBJMRVVXW5K3UJ5BGVJ5RSQXQB4UFVQYVFOIARC2UYXSEPF4YAVR" # The source account will be used to sign and send the transaction. source_keypair = Keypair.from_secret(secret) -# Configure SorobanClient to use the `soroban-rpc` instance of your choosing. +# Configure SorobanClient to use the `stellar-rpc` instance of your choosing. soroban_server = SorobanServer(rpc_server_url) # Transactions require a valid sequence number (which varies from one account to another). # We fetch this sequence number from the RPC server. @@ -198,7 +198,7 @@ tx.sign(source_keypair) # Let's see the base64-encoded XDR of the transaction we just built. print(f"Signed prepared transaction XDR: {tx.to_xdr()}") -# Submit the transaction to the Soroban-RPC server. The RPC server will +# Submit the transaction to the Stellar-RPC server. The RPC server will # then submit the transaction into the network for us. Then we will have to # wait, polling `get_transaction` until the transaction completes. send_transaction_data = soroban_server.send_transaction(tx) @@ -266,7 +266,7 @@ public class Example { // The source account will be used to sign and send the transaction. KeyPair sourceKeypair = KeyPair.fromSecretSeed("SAAPYAPTTRZMCUZFPG3G66V4ZMHTK4TWA6NS7U4F7Z3IMUD52EK4DDEV"); - // Configure SorobanClient to use the `soroban-rpc` instance of your choosing. + // Configure SorobanClient to use the `stellar-rpc` instance of your choosing. SorobanServer sorobanServer = new SorobanServer("https://soroban-testnet.stellar.org"); // Here we will use a deployed instance of the `increment` example contract. @@ -314,7 +314,7 @@ public class Example { // Let's see the base64-encoded XDR of the transaction we just built. System.out.println("Signed prepared transaction XDR: " + transaction.toEnvelopeXdrBase64()); - // Submit the transaction to the Soroban-RPC server. The RPC server will then + // Submit the transaction to the Stellar-RPC server. The RPC server will then // submit the transaction into the network for us. Then we will have to wait, // polling `getTransaction` until the transaction completes. SendTransactionResponse response = sorobanServer.sendTransaction(transaction); diff --git a/docs/build/guides/transactions/simulateTransaction-Deep-Dive.mdx b/docs/build/guides/transactions/simulateTransaction-Deep-Dive.mdx index 9b993eb9f..1a9972528 100644 --- a/docs/build/guides/transactions/simulateTransaction-Deep-Dive.mdx +++ b/docs/build/guides/transactions/simulateTransaction-Deep-Dive.mdx @@ -5,7 +5,7 @@ description: simulateTransaction examples and tutorials guide ## Overview -The `simulateTransaction` endpoint in Soroban RPC allows you to submit a trial contract invocation to simulate how it would be executed by the Stellar network. This simulation calculates the effective transaction data, required authorizations, and minimal resource fee. It provides a way to test and analyze the potential outcomes of a transaction without actually submitting it to the network. It can be a nice way to get contract data as well sometimes. +The `simulateTransaction` endpoint in Stellar RPC allows you to submit a trial contract invocation to simulate how it would be executed by the Stellar network. This simulation calculates the effective transaction data, required authorizations, and minimal resource fee. It provides a way to test and analyze the potential outcomes of a transaction without actually submitting it to the network. It can be a nice way to get contract data as well sometimes. While calling the method on the rpc server is not the ONLY way to simulate a transaction, it will likely be the most common and easiest way. diff --git a/docs/build/guides/transactions/submit-transaction-wait-js.mdx b/docs/build/guides/transactions/submit-transaction-wait-js.mdx index 59ff59c9a..45465235a 100644 --- a/docs/build/guides/transactions/submit-transaction-wait-js.mdx +++ b/docs/build/guides/transactions/submit-transaction-wait-js.mdx @@ -1,10 +1,10 @@ --- -title: Submit a transaction to Soroban RPC using the JavaScript SDK +title: Submit a transaction to Stellar RPC using the JavaScript SDK hide_table_of_contents: true description: Use a looping mechanism to submit a transaction to the RPC --- -Here is a simple, rudimentary looping mechanism to submit a transaction to Soroban RPC and wait for a result. +Here is a simple, rudimentary looping mechanism to submit a transaction to Stellar RPC and wait for a result. ```typescript import { diff --git a/docs/build/smart-contracts/example-contracts/events.mdx b/docs/build/smart-contracts/example-contracts/events.mdx index 66467052c..5c26f69fb 100644 --- a/docs/build/smart-contracts/example-contracts/events.mdx +++ b/docs/build/smart-contracts/example-contracts/events.mdx @@ -103,8 +103,6 @@ env.events().publish(topics, data); ### Event Topics -An event may contain up to four topics. - Topics are conveniently defined using a tuple. In the sample code two topics of `Symbol` type are used. ```rust @@ -113,7 +111,7 @@ env.events().publish((COUNTER, symbol_short!("increment")), ...); :::tip -The topics don't have to be made of the same type. You can mix different types as long as the total topic count stays below the limit. +The topics don't have to be made of the same type. ::: diff --git a/docs/build/smart-contracts/getting-started/setup.mdx b/docs/build/smart-contracts/getting-started/setup.mdx index 8f1642d1b..9faf8bbeb 100644 --- a/docs/build/smart-contracts/getting-started/setup.mdx +++ b/docs/build/smart-contracts/getting-started/setup.mdx @@ -20,6 +20,11 @@ description: Install and configure Rust and CLI to deploy smart contracts. import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import { getPlatform } from "@site/src/helpers/getPlatform"; +import { getShell } from "@site/src/helpers/getShell"; +import { latestVersion } from "@site/src/helpers/stellarCli"; +import { getStellarCliLatestReleaseUrl } from "@site/src/helpers/getStellarCliLatestReleaseUrl"; +import { StellarCliVersion } from "@site/src/components/StellarCliVersion"; +import { StellarCliWingetVersion } from "@site/src/components/StellarCliWingetVersion"; Stellar smart contracts are small programs written in the [Rust] programming language. @@ -31,7 +36,9 @@ To build and develop contracts you need only a couple prerequisites: ## Install Rust -### Linux, macOS, or other Unix-like OS + + + If you use macOS, Linux, or another Unix-like OS, the simplest method to install a Rust toolchain is to install `rustup`. Install `rustup` with the following command. @@ -39,7 +46,9 @@ If you use macOS, Linux, or another Unix-like OS, the simplest method to install curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` -### Windows + + + On Windows, download and run [rustup-init.exe](https://static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-init.exe). You can continue with the default settings by pressing Enter. @@ -51,10 +60,16 @@ The Stellar CLI uses emojis in its output. To properly render them on Windows, i If you're already using [WSL](https://learn.microsoft.com/en-us/windows/wsl/install), you can also follow the instructions for Linux. -### Other + + + For other methods of installing [Rust], see: https://www.rust-lang.org/tools/install + + + + ## Install the target Install the `wasm32-unknown-unknown` target. @@ -81,9 +96,15 @@ A popular editor is Visual Studio Code: The [Stellar CLI](https://github.com/stellar/stellar-cli) can execute smart contracts on futurenet, testnet, mainnet, as well as in a local sandbox. +The latest stable release is [v{latestVersion}](https://github.com/stellar/stellar-cli/releases/latest). + ### Install -There are a few ways to install the [latest released version](https://github.com/stellar/stellar-cli/releases) of Stellar CLI. +There are a few ways to install the [latest release](https://github.com/stellar/stellar-cli/releases) of Stellar CLI. + + + + Install with Homebrew (macOS, Linux): @@ -93,9 +114,29 @@ brew install stellar-cli Install with cargo from source: -```sh -cargo install --locked stellar-cli --features opt -``` + + + + + + +Using the installer: + +1. Download the installer from the latest release. +2. Go to your Downloads folder, double click the installer and follow the wizard instructions. +3. Restart your terminal to use the `stellar` command. + +Using [winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/): + + + +Install with cargo from source: + + + + + + :::info @@ -109,66 +150,111 @@ The auto-generated comprehensive reference documentation is available [here](../ ### Autocompletion -You can use `stellar completion` to generate shell completion for `bash`, `elvish`, `fish`, `powershell`, and `zsh`. You should absolutely try it out. It will feel like a super power! +You can use `stellar completion` to generate shell completion for different shells. You should absolutely try it out. It will feel like a super power! -To enable autocomplete in the current bash shell, run: + + + + +To enable autocomplete on the current shell session: ```sh source <(stellar completion --shell bash) ``` -To enable autocomplete permanently in future bash shells, run: +To enable autocomplete permanently, run the following command, then restart your terminal: ```sh echo "source <(stellar completion --shell bash)" >> ~/.bashrc ``` -Users of non-bash shells may need to adapt the above commands to suit their needs. + -### Configuring the CLI for Testnet + -Stellar has a test network called Testnet that you can use to deploy and test your smart contracts. It's a live network, but it's not the same as the Stellar public network. It's a separate network that is used for development and testing, so you can't use it for production apps. But it's a great place to test your contracts before you deploy them to the public network. +To enable autocomplete on the current shell session: -To configure your CLI to interact with Testnet, run the following command: +```sh +source <(stellar completion --shell zsh) +``` - +To enable autocomplete permanently, run the following commands, then restart your terminal: - +```sh +echo "source <(stellar completion --shell zsh)" >> ~/.zshrc +``` + + + + + +To enable autocomplete on the current shell session: ```sh -stellar network add \ - --global testnet \ - --rpc-url https://soroban-testnet.stellar.org:443 \ - --network-passphrase "Test SDF Network ; September 2015" +stellar completion --shell fish | source +``` + +To enable autocomplete permanently, run the following command, then restart your terminal: + +```sh +echo "stellar completion --shell fish | source" >> ~/.config/fish/config.fish ``` - + + +To enable autocomplete on the current shell session: ```powershell -stellar network add ` - --global testnet ` - --rpc-url https://soroban-testnet.stellar.org:443 ` - --network-passphrase "Test SDF Network ; September 2015" +stellar completion --shell powershell | Out-String | Invoke-Expression +``` + +To enable autocomplete permanently, run the following commands, then restart your terminal: + +```powershell +New-Item -ItemType Directory -Path $(Split-Path $PROFILE) -Force +if (-Not (Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE | Out-Null } +Add-Content $PROFILE 'Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete' +Add-Content $PROFILE 'stellar completion --shell powershell | Out-String | Invoke-Expression' +``` + +:::tip + +If you get an error like `cannot be loaded because running scripts is disabled on this system`, you may need to change your [Execution Policy](https:/go.microsoft.com/fwlink/?LinkID=135170) with `Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser`. **Before running this command, be sure you understand the implications of doing so.** + +::: + + + + + +To enable autocomplete on the current shell session: + +```sh +source (stellar completion --shell elvish) +``` + +To enable autocomplete permanently, run the following commands, then restart your terminal: + +```sh +echo "source (stellar completion --shell elvish)" >> ~/.elvish/rc.elv ``` -Note the `--global` flag. This creates a file in your home folder's `~/.config/soroban/network/testnet.toml` with the settings you specified. This means that you can use the `--network testnet` flag in any Stellar CLI command to use this network from any directory or filepath on your system. - -If you want project-specific network configurations, you can omit the `--global` flag, and the networks will be added to your working directory's `.soroban/network` folder instead. +### Configuring the CLI for Testnet ### Configure an Identity When you deploy a smart contract to a network, you need to specify an identity that will be used to sign the transactions. -Let's configure an identity called `alice`. You can use any name you want, but it might be nice to have some named identities that you can use for testing, such as [`alice`, `bob`, and `carol`](https://en.wikipedia.org/wiki/Alice_and_Bob). +Let's configure an identity called `alice`. You can use any name you want, but it might be nice to have some named identities that you can use for testing, such as [`alice`, `bob`, and `carol`](https://en.wikipedia.org/wiki/Alice_and_Bob). Notice that the account will be funded using [Friendbot](../../../learn/fundamentals/networks.mdx#friendbot). ```sh -stellar keys generate --global alice --network testnet +stellar keys generate --global alice --network testnet --fund ``` You can see the public key of `alice` with: @@ -177,9 +263,13 @@ You can see the public key of `alice` with: stellar keys address alice ``` -Like the Network configs, the `--global` means that the identity gets stored in `~/.config/soroban/identity/alice.toml`. You can omit the `--global` flag to store the identity in your project's `.soroban/identity` folder instead. +Like the Network configs, the `--global` means that the identity gets stored in `~/.config/stellar/identity/alice.toml`. You can omit the `--global` flag to store the identity in your project's `.stellar/identity` folder instead. -By default, `stellar keys generate` will fund the account using [Friendbot](../../../learn/fundamentals/networks.mdx#friendbot). To disable this behavior, append `--no-fund` to the command when running it. +:::info + +We previously used `~/.config/soroban` (global) and `.soroban` (local) as the configuration directories. These directories are still supported, but the preferred name is now `~/.config/stellar` and `.stellar` moving forward. + +::: [rust]: https://www.rust-lang.org/ [stellar cli]: #install-the-stellar-cli diff --git a/docs/data/README.mdx b/docs/data/README.mdx index 0b48afb61..4a983a068 100644 --- a/docs/data/README.mdx +++ b/docs/data/README.mdx @@ -9,19 +9,19 @@ There are several products to choose from when interacting with the Stellar Netw This section will walk you through the differences between the various platforms and tools, what platform or tool is best for what use case, and then link to their various documentation locations. - **[RPC](#rpc)** - live network gateway -- **[Horizon](#horizon)** - API for network state data -- **Galexie** - exports raw ledger metadata files - **[Hubble](#hubble)** - analytics database for network data - -| Features | RPC | Horizon | Galexie | Hubble | -| ----------------------- | --- | ------- | ------- | ------ | -| Real-time Data | ✅ | ✅ | ✅ | ❌ | -| Historical Data | ❌ | ❌\* | ✅ | ✅ | -| Smart Contracts | ✅ | ❌ | ✅ | ✅ | -| API | ✅ | ✅ | ❌ | ❌ | -| Transaction Submission | ✅ | ✅ | ❌ | ❌ | -| Curated and Parsed Data | ❌ | ✅ | ❌ | ✅ | -| Ad Hoc Data Analysis | ❌ | ❌ | ❌ | ✅ | +- **[Horizon](#horizon)** - API for network state data +- **[Galexie](#galexie)** - exports raw ledger metadata files + +| Features | RPC | Hubble | Horizon | Galexie | +| ----------------------- | --- | ------ | ------- | ------- | +| Real-time Data | ✅ | ❌ | ✅ | ✅ | +| Historical Data | ❌ | ✅ | ❌\* | ✅ | +| Smart Contracts | ✅ | ✅ | ❌ | ✅ | +| API | ✅ | ❌ | ✅ | ❌ | +| Transaction Submission | ✅ | ❌ | ✅ | ❌ | +| Curated and Parsed Data | ❌ | ✅ | ✅ | ❌ | +| Ad Hoc Data Analysis | ❌ | ✅ | ❌ | ❌ | \*_Please note that Horizon can provide full historical data but is not the recommended tool for full historical data access._ @@ -39,20 +39,6 @@ If the RPC does not otherwise serve your needs, please tell us why in the [Stell You have the option of [setting up your own RPC instance](./rpc/admin-guide.mdx) or using a publicly available service from [an infrastructure provider](./rpc/rpc-providers.mdx). -## [Data Indexers](../tools/developer-tools/data-indexers.mdx) - -Data indexers are specialized tools that process and index blockchain data, making it more accessible and queryable to end users. They transform raw blockchain data into a more structured format that’s easier for end users to interact with. - -Data indexers have advanced querying capabilities and enhanced analytics. They provide features such as statistical analysis of blockchain activity, visualization of transaction flows, or tracking DeFi metrics — capabilities that go beyond basic transaction lookup for current or historical state data. - -Data indexers are a potentially more user-friendly, cost-effective choice for users. Check out several available data indexers for the Stellar network in our [Tools section](../tools/developer-tools/data-indexers.mdx). - -## [Analytics Platforms](../tools/developer-tools/analytics-platforms.mdx) - -Analytics Platforms are specialized tools that process and make historical Stellar network data available. The Stellar network data is loaded into database tables for large data analytics using SQL. Users can create complex ad hoc analysis, dashboarding, and curate actionable data insights (e.g., business intelligence or business analytics). - -Check out several available nalytics platforms for the Stellar network in our [Tools section](../tools/developer-tools/analytics-platforms.mdx). - ## [Hubble](./hubble/README.mdx) Hubble is an SDF-maintained, open-source, publicly available BigQuery data warehouse that provides a complete, holistic historical record of the Stellar network. It is a read-only platform and does not have the capability to send transactions to the network like you can with RPC. @@ -70,3 +56,21 @@ Horizon is an API for accessing and interacting with the Stellar network data. I Horizon stores three types of data (current state, historical state, and derived state) in one database, and the data is available in real-time for transactional use, which makes Horizon more expensive and resource-intensive to operate. If you’re considering using Horizon over the RPC, let us know in the [Stellar Developer Discord](https://discord.gg/stellardev) or file an issue in the [RPC repo](https://github.com/stellar/soroban-rpc) and let us know why! You can [run your own instance of Horizon](./horizon/admin-guide/README.mdx) or use one of the publicly available Horizon services from [these infrastructure providers](./horizon/horizon-providers.mdx). + +## [Galexie](./galexie/README.mdx) + +Galexie is a tool for exporting Stellar ledger metadata to external data storage. Learn more about its [use cases](./galexie/README.mdx) and how to [run](./galexie/admin_guide/README.mdx) your own instance of Galexie. + +## [Data Indexers](../tools/developer-tools/data-indexers.mdx) + +Data indexers are specialized tools that process and index blockchain data, making it more accessible and queryable to end users. They transform raw blockchain data into a more structured format that’s easier for end users to interact with. + +Data indexers have advanced querying capabilities and enhanced analytics. They provide features such as statistical analysis of blockchain activity, visualization of transaction flows, or tracking DeFi metrics — capabilities that go beyond basic transaction lookup for current or historical state data. + +Data indexers are a potentially more user-friendly, cost-effective choice for users. Check out several available data indexers for the Stellar network in our [Tools section](../tools/developer-tools/data-indexers.mdx). + +## [Analytics Platforms](../tools/developer-tools/analytics-platforms.mdx) + +Analytics Platforms are specialized tools that process and make historical Stellar network data available. The Stellar network data is loaded into database tables for large data analytics using SQL. Users can create complex ad hoc analysis, dashboarding, and curate actionable data insights (e.g., business intelligence or business analytics). + +Check out several available nalytics platforms for the Stellar network in our [Tools section](../tools/developer-tools/analytics-platforms.mdx). diff --git a/docs/data/galexie/README.mdx b/docs/data/galexie/README.mdx new file mode 100644 index 000000000..b91893eda --- /dev/null +++ b/docs/data/galexie/README.mdx @@ -0,0 +1,37 @@ +--- +title: Galexie Introduction +sidebar_position: 0 +--- + +## What is Galexie? + +Galexie is a tool for extracting, processing, exporting Stellar ledger metadata to external storage, and creating a data lake of pre-processed ledger metadata. Galexie is the foundation of the Composable Data Pipeline (CDP) and serves as the first step in extracting raw Stellar ledger metadata and making it accessible. Learn more about CDP’s benefits and applications in this [blog post](https://stellar.org/blog/developers/composable-data-platform). + +## What Are the Key Features of Galexie? + +Galexie is designed to make streamlined and efficient export of ledger metadata via a simple user-friendly interface. Its key features include: + +- Exporting Stellar ledger metadata to cloud storage +- Configurable to export a specified range of ledgers or continuously stream new ledgers as they are created on the Stellar network +- Exporting ledger metadata in XDR which is Stellar Core’s native format. +- Compressing data before export to optimize storage efficiency in the data lake. + +![](/assets/galexie-architecture.png) + +## Why XDR Format? + +Exporting data in XDR—the native Stellar Core format—enables Galexie to preserve full transaction metadata, ensuring data integrity while keeping storage efficient. The XDR format maintains compatibility with all Stellar components, providing a solid foundation for applications that require consistent access to historical data. Refer to the [XDR](/docs/learn/encyclopedia/data-format/xdr) documentation for more information on this format. + +## Why Run Galexie? + +Galexie enables you to make a copy of Stellar ledger metadata over which you have complete control. Galexie can continuously sync your data lake with the latest ledger data freeing you up from tedious data ingestion and allowing you to focus on building customized applications that consume and analyze exported data. + +## What Can You Do with the Data Lake Created by Galexie? + +Once data is stored in the cloud, it becomes easily accessible for integration with modern data processing and analytics tools, enabling various workflows and insights. + +The pre-processed ledger data exported by Galexie can be utilized across various applications, such as: + +- Analytics Tools: Analyze trends over time. +- Audit Applications: Retrieve historical transaction data for auditing and compliance. +- Monitoring Systems: Create tools to track network metrics. diff --git a/docs/data/galexie/admin_guide/README.mdx b/docs/data/galexie/admin_guide/README.mdx new file mode 100644 index 000000000..2586a379d --- /dev/null +++ b/docs/data/galexie/admin_guide/README.mdx @@ -0,0 +1,6 @@ +--- +title: Admin Guide +sidebar_position: 15 +--- + +This guide provides step-by-step instructions on installing and running the Galexie. diff --git a/docs/data/galexie/admin_guide/configuring.mdx b/docs/data/galexie/admin_guide/configuring.mdx new file mode 100644 index 000000000..a98f03758 --- /dev/null +++ b/docs/data/galexie/admin_guide/configuring.mdx @@ -0,0 +1,46 @@ +--- +title: Configuring +sidebar_position: 20 +--- + +# Configuring + +## Steps to Configure Galexie + +1. **Copy the Sample Configuration** + + Start with the provided sample file, [`config.example.toml`](https://github.com/stellar/go/blob/master/services/galexie/config.example.toml). + +2. **Rename and Update the Configuration** + + Rename the file to `config.toml` and adjust settings as needed. + + - **Key Settings Include:** + + - **Google Cloud Storage (GCS) Bucket** + + Specify the GCS bucket where Galexie will export Stellar ledger data. Update `destination_bucket_path` to the complete path of your GCS bucket, including subpaths if applicable. + + ```toml + destination_bucket_path = "stellar-network-data/testnet" + ``` + + - **Stellar Network** + + Set the Stellar network to be used in creating the data lake. + + ```toml + network = "testnet" + ``` + + - **Data Organization (Optional)** + + Configure how the exported data is organized in the GCS bucket. The example below adds 64 ledgers per file and organizes them in a directory of 1000 files. + + ```toml + # Number of ledgers stored in each file + ledgers_per_file = 1 + + # Number of files per partition/directory + files_per_partition = 64000 + ``` diff --git a/docs/data/galexie/admin_guide/installing.mdx b/docs/data/galexie/admin_guide/installing.mdx new file mode 100644 index 000000000..05f31cf3e --- /dev/null +++ b/docs/data/galexie/admin_guide/installing.mdx @@ -0,0 +1,12 @@ +--- +title: Installing +sidebar_position: 30 +--- + +# Installing + +To install Galexie, retrieve the Docker image from the [Stellar Docker Hub registry](https://hub.docker.com/r/stellar/stellar-galexie) using the following command: + +```shell +docker pull stellar/stellar-galexie +``` diff --git a/docs/data/galexie/admin_guide/monitoring.mdx b/docs/data/galexie/admin_guide/monitoring.mdx new file mode 100644 index 000000000..90b2146c3 --- /dev/null +++ b/docs/data/galexie/admin_guide/monitoring.mdx @@ -0,0 +1,52 @@ +--- +title: Monitoring +sidebar_position: 50 +--- + +# Monitoring + +### Metrics + +Galexie publishes metrics through an HTTP-based admin endpoint, which makes it easier to monitor its performance. This endpoint is configurable in the `config.toml` file, where you can specify the port on which metrics are made available. The data is exposed in Prometheus format, enabling easy integration with existing monitoring and alerting systems. + +The admin port can be configured in the `config.toml` file by setting the `admin_port` variable. By default, the `admin_port` is set to `6061` + +```toml +# Admin port configuration +# Specifies the port for hosting the HTTP service that publishes metrics. +admin_port = 6061 +``` + +With this configuration, the URL to access the metrics endpoint will be: + +``` +http://:6061/metrics +``` + +Galexie emits several application-specific metrics to help track the export process: + +- `galexie_last_exported_ledger`: The sequence number of the most recently exported ledger. +- `galexie_uploader_put_duration_seconds`: The time taken to upload objects to the data lake. +- `galexie_uploader_object_size_bytes`: Compressed and uncompressed sizes of the objects being uploaded. +- `galexie_upload_queue_length`: Number of objects currently queued and waiting to be uploaded. + +In addition to these application-specific metrics, Galexie also exports system metrics (e.g., CPU, memory, open file descriptors) and Stellar Core ingestion metrics such as `galexie_ingest_ledger_fetch_duration_seconds` + +Use these metrics to build queries that monitor Galexie’s performance and export process. Here are a few examples of useful queries: + +- Export Times: Query `galexie_uploader_put_duration_seconds` to monitor average upload times. +- Queue Length: Use `galexie_upload_queue_length` to view the number of objects waiting to be uploaded. +- Latest Exported Ledger: Track `galexie_last_exported_ledger` to ensure that ledger exports are up-to-date. + +For a quick start, download our pre-built Grafana dashboard for Galexie [here](https://grafana.com/grafana/dashboards/22285-stellar-galexie/). This dashboard provides pre-configured queries and visualizations to help you monitor Galexie's health. You can customize it to fit your specific needs. + +### Logging + +Galexie emits logs to stdout and generates a log line for every object being exported to help monitor progress. + +Example logs: + +``` +INFO[2024-11-07T17:40:37.795-08:00] Uploading: FFFFFF37--200-299/FFFFFF37--200.xdr.zstd pid=98734 service=galexie +INFO[2024-11-07T17:40:37.892-08:00] Uploaded FFFFFF37--200-299/FFFFFF37--200.xdr.zstd successfully pid=98734 service=galexie +``` diff --git a/docs/data/galexie/admin_guide/prerequisites.mdx b/docs/data/galexie/admin_guide/prerequisites.mdx new file mode 100644 index 000000000..c610a1846 --- /dev/null +++ b/docs/data/galexie/admin_guide/prerequisites.mdx @@ -0,0 +1,35 @@ +--- +title: Prerequisites +sidebar_position: 10 +--- + +# Prerequisites + +### 1. Google Cloud Platform (GCP) Account + +Galexie exports Stellar ledger metadata to Google Cloud Storage (GCS), so you need a GCP account with: + +- Permissions to create a new GCS bucket, or +- Access to an existing bucket with read/write permissions. + +### 2. Docker (Recommended) + +> **_NOTE:_** While it is possible to natively install Galexie (without Docker), this requires manual dependency management and is recommended only for advanced users.] + +Galexie is available as a Docker image, which simplifies installation and setup. Ensure you have Docker Engine installed on your system ([Docker installation guide](https://docs.docker.com/engine/install/)). + +## Hardware Requirements + +The minimum hardware requirements for running Galexie are:\ +**RAM**: 8 GB\ +**CPU**: 2 vCPUs\ +**Disk**: 100 GB with at least 5K IOPS + +### Full History Export + +Exporting the full history (as of November 2024): + +- Takes an estimated 150 days using a single instance of Galexie +- Creates a data lake of approximately 3 TB +- To speed up the export, multiple instances of Galexie can be executed in parallel, each working on a different range +- For example, creating the full history for Hubble data lake using about 40 parallel instances (each exporting approximately 1.25 million ledgers) on _e2-standard-2_ (Google Cloud Platform) takes about 5 days diff --git a/docs/data/galexie/admin_guide/running.mdx b/docs/data/galexie/admin_guide/running.mdx new file mode 100644 index 000000000..6651889a4 --- /dev/null +++ b/docs/data/galexie/admin_guide/running.mdx @@ -0,0 +1,109 @@ +--- +title: Running +sidebar_position: 40 +--- + +# Running + +With the Docker image available and the configuration file set up, you're now ready to run Galexie and start exporting Stellar ledger data to the GCS bucket. + +## Command Line Usage + +### Append Command + +This is the primary way of running Galexie. The `append` command operates in two distinct modes: + +- In continuous/unbounded mode, it starts exporting from the specified start ledger and continuously exports new ledgers that appear on the network until the process is interrupted. +- In fixed range mode, it exports the specified range of ledgers and exits when done. + +Syntax: + +```shell +stellar-galexie append --start [--end ] [--config-file ] +``` + +Arguments: + +`--start ` (required) + +- The starting ledger sequence number of the range being exported. + +`--end ` (optional) + +- The ending ledger sequence number of the range being exported. If unspecified or set to 0, the exporter will continuously export new ledgers as they appear on the network. + +`--config-file ` (optional) + +- The path to the configuration file. If unspecified, the application will look for a file named `config.toml` in the current directory. + +Example usage: + +```shell +docker run --platform linux/amd64 -d \ +-v "$HOME/.config/gcloud/application_default_credentials.json":/.config/gcp/credentials.json:ro \ +-e GOOGLE_APPLICATION_CREDENTIALS=/.config/gcp/credentials.json \ +-v ${PWD}/config.toml:/config.toml \ +stellar/stellar-galexie \ +append --start 350000 --end 450000 --config-file config.toml +``` + +`--platform linux/amd64` + +- Specifies the platform architecture (adjust if needed for your system). + +`-v` Mounts volumes to map your local GCP credentials and config.toml file to the container: + +- `$HOME/.config/gcloud/application_default_credentials.json`: Your local GCP credentials file. +- `${PWD}/config.toml`: Your local configuration file. + +`-e GOOGLE_APPLICATION_CREDENTIALS=/.config/gcp/credentials.json` + +- Sets the environment variable for credentials within the container. + +`stellar/stellar-galexie` + +- The Docker image name. + +#### Data Integrity and Resumability: + +The append command maintains strict sequential integrity within each export session. If interrupted and then restarted with the same range, it automatically resumes from where it left off before interruption, ensuring no ledgers are missed within a session. + +### Scan-and-fill Command + +The `scan-and-fill` command is useful in cases where there are gaps in the exported ledgers in the data lake. The command works by scanning all ledgers in the specified range, identifying missing ledgers and exporting only the missing ledgers while skipping existing ledgers in the data lake. + +The append command ensures there are no gaps in the exported range. However, the gaps may occur in the data lake due to certain sequence of events, often due to user intervention, such as: + +- Manual deletion of ledgers from the data lake. For example, deleting ledgers 80-90 out of the range 1-100. +- Running non-contiguous export ranges. For example, exporting ranges 1-50 and 60-100, leaving a gap between 50-60. In this case, running `append` command with the range 1-500 causes Galexie to resume export from from 101, without filling the gap. + +Syntax: + +```shell +stellar-galexie scan-and-fill --start --end [--config-file ] +``` + +Arguments: + +`--start ` (required) + +- The starting ledger sequence number of the range being exported. + +`--end ` (required) + +- The ending ledger sequence number of the range being exported. + +`--config-file ` (optional): + +- The path to the configuration file. If unspecified, the exporter will look for a file named “config.toml” in the current directory. + +Example usage: + +```shell +docker run --platform linux/amd64 -d \ +-v "$HOME/.config/gcloud/application_default_credentials.json":/.config/gcp/credentials.json:ro \ +-e GOOGLE_APPLICATION_CREDENTIALS=/.config/gcp/credentials.json \ +-v ${PWD}/config.toml:/config.toml \ +stellar/stellar-galexie \ +scan-and-fill --start 64000 --end 68000 --config-file config.toml +``` diff --git a/docs/data/galexie/admin_guide/setup.mdx b/docs/data/galexie/admin_guide/setup.mdx new file mode 100644 index 000000000..70632debb --- /dev/null +++ b/docs/data/galexie/admin_guide/setup.mdx @@ -0,0 +1,22 @@ +--- +title: Setup +sidebar_position: 10 +--- + +# Setup + +### Google Cloud Platform (GCP) credentials + +Create application default credentials by using your user account for your GCP project by following these steps: + +1. Download the [SDK](https://cloud.google.com/sdk/docs/install). +2. Install and initialize the [gcloud CLI](https://cloud.google.com/sdk/docs/initializing). +3. Create [application default credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc#google-idp) and it should automatically store in this location: `$HOME/.config/gcloud/application_default_credentials.json.` +4. Verify that this file exists before moving on to the next step. + +### Google Cloud Storage (GCS) bucket + +If you already have a GCS bucket with read and write permissions, you can skip this section. If not, follow these steps: + +1. Visit the GCP Console's Storage section (https://console.cloud.google.com/storage) and create a new bucket. +2. Choose a descriptive name for the bucket, such as `stellar-ledger-data`. Refer to [Google Cloud Storage Bucket Naming Guideline](https://cloud.google.com/storage/docs/buckets#naming) for bucket naming conventions. Note down the bucket name, you will need it later during the configuration process. diff --git a/docs/data/horizon/api-reference/cb-retrieve-related-transactions.api.mdx b/docs/data/horizon/api-reference/cb-retrieve-related-transactions.api.mdx index d5728c259..95d9f0275 100644 --- a/docs/data/horizon/api-reference/cb-retrieve-related-transactions.api.mdx +++ b/docs/data/horizon/api-reference/cb-retrieve-related-transactions.api.mdx @@ -5,7 +5,7 @@ description: "This endpoint represents successful transactions referencing a giv sidebar_label: "Retrieve Related Transactions" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/data/horizon/api-reference/horizon custom_edit_url: null diff --git a/docs/data/horizon/api-reference/get-transactions-by-account-id.api.mdx b/docs/data/horizon/api-reference/get-transactions-by-account-id.api.mdx index 9c698218f..1c46d9c75 100644 --- a/docs/data/horizon/api-reference/get-transactions-by-account-id.api.mdx +++ b/docs/data/horizon/api-reference/get-transactions-by-account-id.api.mdx @@ -5,7 +5,7 @@ description: "This endpoint represents successful transactions for a given accou sidebar_label: "Retrieve an Account's Transactions" hide_title: true hide_table_of_contents: true -api: eJzlfelu40iy7qsk9GOme2SXuC8GGudq32XtktVTcCfJpESJm5OktoKB+XMfYoD7dPMkF0lKFiXLLttUtavnCA1XW0rmFxEZERlfJCl/S/lw6qVufk9lVdUJbN9Lfb1KachTseH6hmOnblL9meEBZGuuY9g+wMjFyEO27wEvUFXkeXpgAh9D24MqucIDuoMBBFNjiWwAo2kBtDWgQhsoCAQe0oBhA8/HCFqGPQWWo6EvoHf0O4Cm6aw8sHEC4DvANDwf2eHUNlo9x/OJkE9gHvBnaAMgRgBqGtLIDP4MgZ6PTBNiYCJtivAXUNWBCk3znDxXoOJgY+vYYGWYJvB8iH0A/XAaBLFpIM8HC9tZ2XFhQGCbyPMABGqAPQcDwwMe8q/I/KuZoc6ACj0EDD8+q44dC/gz6O8u+gJyG3KVT2QheLu5ltAMEFHFdlZXoWGIRSOxjy2iYgR9pAHPsFVERmKA0UNARPYNC31JXaUcF2FIRle11E2qjPx+bILcZucOVS11lXIhhhbyESaO8i1lQwulblI7Y98bZIhBHMWF/ix1lSJIBkZa6sbHATrrTbtr//Ovf3vADRTTUMECbQCyVUeLFgMCBXqIZYh6xAxPbhfKTBTw1BmyYOrmW8rfuESgaGTqKoXW0HJN8la50Ox0WrUmN2iInWpWENpil2lPKs1OtTWa5JqimCvmmpVGaVzga8VBtlKuiV2uNkk9Pl49KRpZf6/kQ4Dw5khLHZreMzWzwA4sBeFoXcPQ8cjSQeC5SDV0QwWmo4bKROqqjmmiyIccHWDkuY7tIS8MHINYKXTTnasg4MKpYU/vfWeB7J1jODqAACPVwdpZ+xi2j6YIxw0kCJQg0CInSjIv0xQfV9vBGnq/1hryjKkN93oQUcOJDgEQSegBb+YEpgag6yKIv4BbN3Jdw1bNQEPgD+ipf4BfoKciWzPs6a/AweAPAvcH+IX8s3s7DOIo+vE0sJDtA8Oz//Ovf/u7wPOBhnQYmJH9w2m/4z52YJGMCD01FSmY+ho3jGlYhv9Ow/RnCFhwbViBtXeMcJUjU2DkB9hG2hdAxoXzh6GNoT1F0ZrTRHiGosA1gDYIXBfh3cDQwQwPzCDWnsJnn7tIanQR1h1sQZIKMIKeY3uvGG2/gEh7Zjuaeqtf0VTcYLslvdehYSLtnZbrIT/M3jhKfXv3iOYCT1mMOA6JGiLrc2cKryaRFEKc1UJxHBNB+7D+YfIKx399fPx6lVpfe4HrOtj3rp92in2KewpXMiFDUeSfEzWivTJ1lVId20e2T4ZA1zWNKAlk5h4Z9y0mGDTNWz3MuDsRHWWOVOJ5LiZ6+0aEd28a9sKLqfLCOA+Z+vdHzTDSz0VF6EJ+6P72IvV4lfKR5ZrET84Y8fExvq6/R5N+vUr5hm+i2Bw2Wvs/mUguRsufSqRHMmz/ViNcahJb3/EJZCmIVD7fV2WXhGIDIcaQRKbhI+sNfmUhy3lui8erv7Jj7gqUn0yqqGz9yYQ6pOCfTDCk60j1fzapXIxUpKGfTayQyyHtZxMrxmp+KslOBoUZ7JA1niL1KDoOHhnzgpjlj7X9+niVMrRz6uwlMbTQn2JE4GwWPrD0c9pepWbQm5298Fm2ORR6TxY1bJ9lyOAd47yH/nkhnACr6P55Wn3SyoW+jzAplcq/Z68n1LX89RvPP8b0hZqGSQl1SM/3VrBGZ2x0OuL+nCGfSXXvEYpsq+jsWB1dTvzYXC+pkHTGl1QmA9UZxNMX7GbB9b2OzpvgyZfvT83wmmcge4lMx0X3aw2fnTaq2r/3sYV8+OIYotWrA0iNch+9e84PQsYTYPSWKui7CxQr12ITP16lltA0tHuo++i8kNHnCtIdfF5OkjUcWzPeuNuSVo/iBPZbsrpl2Pdk/ItO8cKHMWVjDaR2XND+QYynrPIesZ7loWPBXvz4DaI14sKQ+Qz7bdng3MB7OH3H4Ejs+yl0X4+j4BBIax/De+JSYSfurY76+BZD7INICSz3/n2b7tnt44AYfv5nxVjs7RJCucByYwqTiwzbRvgvrOBrCTp2SZWoeaT6ScFiRH3dWOlwVCjsqoJYHRPb35/t5i9vpMfb5vHuc1Dl+c5ysmsc7RHPd4R4ej9ah6+Pjy95f+rx6+NTwypcmS7ysYGWKGvvj0LiHXEyImyzHndc9tQ1Kj1TM993vZtMZha136595Pk28r940bnDFwdPMztreJlybljqTxp8pdruc+1SZ9ifDKujrigOxcboLj8ecPnG3WhUqdwWxzmBG7fLfKPQ7A8y8Vb//0Td6d/+FjYDf6Opv4Xt1t9I8zLWYPl0+WiGoXlGljhOFBlGpnjhBYn3/ZdPl1jmBF6SWJFhKZlhRfGZwGFnmLjXUbPlqZ3y+74zkto7qLLxiauR3xN5UFzaDCcxAmQ1joY8FGVe0UWZFwVRo3SFR6ysclBRVF2QeVWXJElheVGCkGYEhVcYXkTopNvxMbPf9W6zTbHAMd3moMU18vV86a41ngzYktivDesFptXsCiJT41iRyeUrQqHI5erdY5LxDuToIi/DMBQrc6L0vA3xWdbMHMT4tnOkq9BtrkKfCav3A/kkzePjRsWnyb2T4e1Cx/sYH5T6f54C/28vxdxpayIZEonYV6FOCoPPi8kd+U8lnum0QZB6rvdxiyA60IiKnkvA7wN8H6vHrYIUQ9HyNUVf01Kf5m446oYTJ88rjJvUh3PMKyw/JVOMLIgsz1I0TYkiQ58ULIlgj5h2iqaoWMWz//0Zo6ZP+XIqS16Vop2dSHqrO+kuS8agGpTZbX+ib/vDjtyaVFi5xi/TU6PNTW7J8Em2lN2WVfK/tfD6Tvb4VVrneLVJ/i93eLN4Mij3MEJD+XYmpduNvCfRXdjO0OmAyY3dVU8aeapojAuiyVqCF82fTy/zseuLT/J0bjmGXqlKpnan51z7rljbVtzmpmPjpoQrGtceOJvK2G2by052UN5muw8rZSzN1EavyfnmgqezKyWY3MKJPsrDUkfflia1IJv97bgw3NmKvMoxhU91j16/nakjdxNMyY8q+VHIDnMNf3q4Su2pOXst0SWzLI1qHYNT9FbLzLRawwJFL3Sdsq2MkK9mZgsuHF+Vm8XYYlRPjS221q5oWkPRhw8d/cHptdO++TC/rYxQtgU7d6WHWWGR7xS7k7gWpwt1WLELy1v74fKS14r8aOYGxYCJfbSurcp6ZTsYDZT1nZlvzHyJYsYSRQ/a/VFXzvSQknGq83S5H+k7p1bdRXZQaE7C+RaHqUJRCh5btoPRZBzQD24u/TCrZgRm9NDktAmXpd3cdPRQvO3Ust2SGZfwvPMQnZLKO2Vy7T9R3uypvB8L7hP/evZ6Gf+31GmbLhZtzdwgj6wE1pxTq371YM2YiD/n6p9464+U97ffjgjyTconnPC4X/F7Spwr49x6KZkzqWxp047dRIttLY+87cbT2Kncm1c1tEiP5GyuozRzZZzz9U1p5Ve3BjPq24NCLuAXvGvKdzVnmMs0hwuLC7G/nvQ9U7QsUmTHp+g+Rd2E/5Ed/7j5eVoXMDc0PUmd64Ae9TgPXczUfrvd/UrznCgxDM/SYUMsIYc/qvaQKmm8JiCB01RO02lFlTRJZSgKUZykCSJHaTSSdUGiBJpRINIgpYuSIEqqrEJBEC7BwLINgSkXC81OadTtNCbjWr3PjUrdUr9ab7f7eSbb6BU4ftisi5PBYDLMjUej8SA7Ts7A2OjOscsxsKTW/CwGlljun4OB0RQjsAzN0zIv0aIscdSPo2DnsS7EwZJH5Z6DJZ7pGQc7o/grJOwC+E8kbBeuZ0kYf02LYbJlb3j2PAn7aJp5lYSxNMcyvMywAiNSlMQ+J2Efh70kCcvpfrnaWuSZeQ4p7rBtGutGK28vrUantKls/VE9Y5lNuoBonI1IWF0YUOF2fnZ3Lm3RRovVxofPo7q47E74MSVUtpzk1bfbYcnJZMaCeFdCdq6xhuttUFPbwRgpD+vDJI1GZxwv0IpP8nQapdJdXcblLDOwmOFqGsy5LmT7whSS2091rrPKUA21nHmAGWc8QYHgiROcY1fDYS2gLJphJ+LWwHeOw4tCtSfB6bZR73TeS8JihPOtJGy00ScxnUpp6m7KdBqwWeIDc5AeNYoeVUfpOz87ruq39B1Ow8F20BJHHhmep/VVgz4sRpyixg11/m0i8GXxC+/Gf7LaM5L0JxfxxZxSk+Nl+jvxG7ftspEAv3mCnx2LXaMwyfrOamwJwz5/5/W2HVfkDSqnziRxaCx5t9/qsD4My+zGMJNdDrID7PZDjGZC/d+Ln60HbjsB/vdIVC8ttZNZZ8UdpKuel+GHWed0dd6D/4zk2I6NnpEcbzCcYsa7K0x6ymSczwvtWQlr7YecKzCCn5kVCpmOv1LSLk7PNFMQH7a+5VX03HBgiT1lrGj28rbuG8bcXjqzxvqh0PTcXGKS87TvSjecnJDk8BJNcTwjX5zk8BwjaoxIy5oiq5BlRUpAskoJKsXpMq1oLM8iCgk6T0u8KuicqPC0qLCspEiaRCvMRY6ZPna6l5zkiDTN8SJ9OZKT1JqfRXISy/2TkBxa4HiBlnlBpmiBYxjuB5Kcs1gXIjnJo3JPchLP9JzkPFf8FZJzAfwnkrML13Mkh2auKa7PMDcUe8PRL5w0fTDNvEpyYqduNM1J8pmTpg/DXpLkvJN0TLKlTk+8yz6VqM9IDus0JrE65xkR6BakzgQLKyiLhsHXEAqateJ4ow694i2t5dBi3u2rVTkLtdisuWaPiv1afpKn0yqkrWDLShLbdCpW3w9mXkHh4KpED9hiocaUOrZUhUxebqS7W4GZyMVlRcKmRGus017j+cBG2sSa39qubwvZqcVDs7JS/wSSM2Gk3upwFTRtU+87enu+WeF2azCaZ2Qd+9OhoBaXJVy55cxVmtf4AIfEIb+dr53KYTFeeL1CMi6LnzsP8zaSYyureBlb7GSKZZj2ykvEOUFvbON5vluS7JKSK/jjztitUgM23+6U7XABcutJp2VkJz6G4a/eecRXylhbWTcS4G/MeS4BfvME/yMka6oeSNYLNn+z/u/Gb+W3XgL875Gcz6Wgia1zsjrvwX8byaHaAhTb+narbqZocssI5VVrOcPZ8bCvdpr23TCvr2b4rkEt+UobT2yqJ+mbYLwdsmiaKQetnsbTFmwKyGJ0J59XzIeBnlslJDmHfZe/ocSEJEfkOVmkKXFHcnZ32c2QaTogsI0lwh46vecOloeeUpam2oh3NWu4UZnBbxe9Dw/plI4oDqqsKmpIZBhJhQwvS5IkULwsCRLUKF5lGA5SHI0khdFkhBgoQVnTBEnm/toEidzYKVyQICW15qedAiWV+ychSCRoGZbjRJlmOZamfiRBOot1qVOgxFH5dAqUdKbnBOm54q+dAiXHPxCkKFyfESQmTOeM3Kfl8BRI/jSCJFP/fQQpf3ZnL3FrrnWomQvWzFTK62W1MgzgeGKqdmt/i8ezmrp5O/K14qS2QqNcAVeH5ULnduhoho3NsaJvc/pD0BWzJX89iu7uyvaLfuzy3FNVUiystILpdpZ8VV+h/qIx3/juqArTittZirlspVtym/mKpzbZaXqUq8/H7WHR7rXp3HTWCDZsMFtOl1zDzi+q6WmpWJisV8PMXenH354HvXw/NsG7SUvHE4IkpOWy+O8/mcoebp97WNVasY8+ULQ/cIey9P29/4T4DWbKJMDPnuBnVzykqe7CzvF3xVtvNrhrZfnRjKmjYKj5mWYp/cBXvOyILSlRGR51FE7W8x343yEtn0upEq/OiXe8B/9tt59JlQ4PB410ryJVFnyekzAcGuWlJQwa6VUnR3VhPzsTK4UW1zanPYfe0t0aNZc7d9We6Pmio3CNdJ5fufm2k+tmGVUt6Uyuk4S0HO2F/A0jJCQtEsUyIs0IFz+ZUWlVkXhK52gWcRQrqRzNUIomK1BTKVFRJKRLPOQEgZMhp/GqrNICIjfqMxpL8ZL8X0A8xMsRj6TW/CzikVjun4p4iBQv0AxDCZT0w4nHCdaFiEfyqNwTj8QzvUQ84oq/QjwugH9CPMTXiQd3wwqfRzzOPQP0FyceL9x+xq25tnNu947qykLBxONuuadWzGlH2JS6U6pgwsqdK/BDhpVWYwEv0CqnqMMgVlmwraNHP2InM82tVg0U7MjjzqC/mOnUnVLItZq8/5DPbHuiXlaoXKP0kO6sx31xmO2JWqFpO3KW0WlN52x7gyoPQzOdD+qqu1qtehRX602Lf8LJDPTygwQnIxvZaQ2TFPmXxU90+9nnFtlhGdv/OH6Om3jFBPjNE/yPkBx6cCij33/7WTL82sCtmAnwv0dyPpcCJrXO6epc/vazbYsy+CCY01que9srZbozr1mkthbjNDKthi9Nlp2iN8J8oaS1/UGu4VPNDZpThUlmSGcMpNc45I7GXJ1zN3ahkGv0p2Y9ezmSI9xQzEVIjsBc/hkbSmc1AbGMCAUNUTTDsFDSKcQokoRkESoI6rTO05wu87qERJXndVpSZJ7WKVlTLvMtB59FciSKogSav+DpSkJrftrpSlK5fxqSwwi0yPCCzNKsIMk/8GsOzmNd6nQlcVQ+na4knekcyTlV/LXTleT4TyRnF64vkByW6jM06ShRL33RwZ9Acpj/PpJTPLs7l7htH58+XRuVB9HP2QI2JplyBc+4JYS4vkB1sT1mVF6iW8um3l76/U22Hwy3RnxWGcXr5RjJycnjXECLt+YSb0RVyj80auOHZZ1XvQ2DWbNstNnKpsvXVLxpSJ3OvBesyjjTKJZK9WqPz+pOZj6T9fy2vK1tJx2u0KLr7an3Z5AcPzdJQDKG9S4nJSEZl8V/AeiNJIcqxt3oblI2GH09EzjUYKyHjVsxgi0t27d6q69sK1tRHEjTomiqXORn+TtzPiD6FF7DfK2MpUp2AvzqqGAnwG+e4H+EZMxXhzL6BaA36/9u/Fvs6gnw30ByPpGCJbbOyeq8B/9tJKdCq2Vx7Amj9LLhb1d1xzPRg4TNzbYBl2gAqxlVr1UW5mZZXa5z+VZdzMKl5HUGA2fWWOTS8/RthZYaTaVpt8zCtMkOnHQ+0e1nR/uucMMmJzkcQ4ny5UkOy8gQcZJEcxAxMtIETVYpRREQK0syyyAB0qKkQpWhBYZVBFZXdF6TGI5nBFqlOPq/gOTIlyM5Sa35WSQnsdw/FcnhGElkZEZi+B9Pck6wLkRykkflnuQknuklkhNX/BWScwH8E5Ijf4/kMJ94C9mZLxL4q5Oc0tndmZAc/5UvEvgYybnlcT32a4zklOCg6oxG40aAJ92SvxGMXMWyBL7OrPjiZG5qHbXp5TJ11DHp7owaLCZih+Nq+UJ+aft2dTbSFybdMVwszCeLTJVT0+58Jf05JAcmIBn9B2E8T0IyLotfejf+Ecn5TJIRlrE4Af64HayTkpwY/kdIBmoeyuhBQv3fi1/NrNODBPjfJTmfSsGSWud0dd6D/zaSM3Q7xmwyUQPBN4sjtvFQLSKo4AVWCouudTukc6vNqiK5fH48LFe6va7tF+bTRbVZTyNGNUqTdG88zNet5UPL6kvz2Vaw2oVLkhw+6TM2IcmRaPHiJIdRJCiKqog4RpZFRqIUieM5xMqKJqqCRKu8BBVeEVWVkSRdl1hBpVVOEWie0VRV/4uf5DA0RckXfE4mqTU/i+QklvtnITk0LdAcLTECw9EsSzM/kuScw7oQyUkelXuSk3imMyTnmeKvkJwL4B9IThSuZ0kOc02zfVq64bkbnvo8ksP995Gc8tnducSXLPksyYlehfoc++MSdPHc15yhZN2hNcfzol4sD+8WrsTWqaU+WBU3w11ls8Sr+BO4k32dncvW87dUNWt1pNmgNmw29eo6oDuZwnSCFMumZK17my/l673iYFK+C7YPpl5r3zWxelvr+jpHr1bNUl0azempSBWzq/SkMKvPaoWosvjRz8Pw24cEBKMt6YuHJATjsvjld+NnD8/DYPs2YYHdcw4l5AtfqvBKCZsQf8vm6wnwsyf42Y0jiMP16AFy4hiW9JpV8dAtQuw6Z45qdb218Rss3cw1zd0pXEOQqtnT9XwH/vcJxifSn8Src+Id78F/G8H4YSkoEcF42vOEGzoxwaAFhqLFsw/xrxxsai8+wc/IG6XcuezT+yIjI46jJZmlRF5HHKUIUNAUCqoKYiVNY2WGYzlaVFVJpEVdFiSOdBg5lqWhwAjUX52V0IJ4wYdoklrzs1hJYrl/IlYiMSxFSRTL8pL4o1nJM6wLsZLkUblnJYlnOs9KjhV/hZVcAD/OSki4vsxKGPqGoW+oz/t6M5n/72MllbNbeokvLafh0/Vh8Zln9k/va0vVWu/+qMdpwVoQ0XrUHsH8sG5sps5cXBadgbNmq1q5S+XKxdUU68tAXM85OWIoUTH29IodxbRbtV539lC0irD+4BvTEdvuty2L6rVLjIL0VXpWSc/F2awwkhviupAVSoWJWVyWir16trMe5ZodNJQxW8iId5K/5oMRM1p1Fn8KU+HZBE/ON+WV0U3CFC6LX3k3fjbOVOzYd9t9hCnUiodaVD2P+GotnAjflsq5BPjZE/wPBsfJer4D/ztM5XN5XOLVOfGO9+C/8cl9yqyVy07vrus8PDD1nKLKzTRUulVpPPH5TEEo6kI7KBdbCrVcFpsFZ9CyBj1p0K06uULprrjO8WNmqbYz/nzDVixemSi5fOKHWp72QeaGSXy/Fy0wkswxx0wla2ANOy4w7KXho//8v/+7Nq0p8kkRc8pcOiNzM6nUlmo+5yr2xNXKY8OuDjmlTNuTcSdQ2Jp9UTYjcbKu8jwLNQryPBJ5yIhQ46FEUZwIOV6BkOdUlqEpjhUkQVVEned1KCOd1UWNv8xXAnRH/LjU49vZ1jA3Gt5Wxv2uUBDqkxabL9azTK3ave3yre5dp1np83VBzLG9u4F4ATbDcZTMX/Bvgia15mexmcRy/yxs5vQvB/9INnMO60JsJnlU7tlM4pnOsJlnir/CZi6Af2AzUbi+wGYYqU8LN4x0wzEvsJkPppnX2AwxBivJFM+LHE1zrCSdoTMfxr0onWkFbKOBV62HMj2uLG/bs/TQDNbFQaE36GoVfMdNV1L6QZZu+WxIZ8prMfweom6sZRlWqcpbNqnY+Fjd8O6/QrJ7lcuxbx/IPSz1QhB+GVl+W5eQ1EhrlYfyZOQ5t6tWY9q3S4X0rRWwBXVY48orRaQndc9ZwEqambUbusBXhfK0OuZcdbOle9NuK5gZ1MCfcn55oZcH2R9/d5lS4fXYidIdI6pesMwyjjJUkcSlK/xoJBa7nVatW6KQPzcKha2A2ZW42JnjVhwcFij+nHvs9QqluCz+Cz3tt91d9rmUopjzdDOdCB8pi4/jN0/x54q/2QhSAc784VrczjndnChet5SlzOK4KzC31Wa7/RQA2ezdneh3skrFI98dnSu9//6pxPjz3urj+N+jVJ5uSsmsE1AH6d7/CM1lVyfRIzRnKZW3WVaW+YzdFWbWENcLXqHHFfl1JzN3sb9iSz2U88ppedTD9Vp5lvGd/oZNB73bmZMvpevjpicPnGJfce78UuPuttF1K2sz+lucj18fd6+rFFr7yPai4vj3b6kF2qRuUutrL3BdB/vetedjBC3DnkYcK0C7Mu8r0cCfOWT3miI/rCV8UhUciv9v+03V0B6PaiCiKsLkC5pDzACbbyukUlcpUqZhw42KsFR/hkA/GgdayF85eJEi5Oz8jHpAbPuWOUv7kcDez/r1KmXYuhNxRt8kq1aJ5iWGQdiLrqa+UF/osGiyLIg3h1HAxc7S0JAHoA0q/X4bZNtV4DtAgz4Ehg38GQK9SK496hdQ9YFhT5Hnk8s0gNF1aDgvHB1e6WJHC1SkAWVzbgoyMwS6gy3gz6APDA8g6BkIE2jVsb3AQvtL4RJhOEUAuq5pqGHhATAyoW8sERlOxrgIk8mgraJrBxvI9pEWCYKRi5GHbD/iOCDwIqH2AuUdjL6A/szwQs1jeijY0KYIKMhfIWQT+Ejb4yvb2JkTHgJMY4HACpom8r0roCEV2T6GprFFGkBrdQaJwa7CGaDnIaKzFyAcSgT2q+E7wAsUy/BB3DGvwEOA8IYs0c53gQJNouwVcDCIYgGgJbL3csSvJpMervzyzLP+t3vC7/EF/frLPjw1FFW02DsiTTuxM6qD0bXtaOjX/1Xe80/7n/YeToU2UBD5CHnElksDAnXQbVwBCBTsrDyEQwTHRsDRQ6s82bpXqHvftbXmqF7GdxzTy3jawiOWdgBGxJ3C2VTHck20NvwNmX/jBJh4GzHoFVghQJpqloVsjXwUGgraBBgYtucjqJGLLLgw7CnQDIxUP1xDFZqmF+oZLus0MDQEoohRkAdmzio0iWYZtuH5CIO9i4fuuLcNgSAmBr9gpEfOHOpfeNL07yBnOtODDVar1bHyTyOvFdOZZuC1jVbXXmBfk11ohq53+8evJHiA55AwgepiiknbEDj2aTREvoPVmeEj1Q8wNIFhkZhHVrjy4QoZHrDg3MFgt3UAJbDcX7+AkoMB2WewFUUdVJzABzsRiQF3eE+u4WhIgR66AuoMqQtARsf1J5CgTEx7MMDU8GeB8kV1rMzODpmpk1FMR8lYkFg6Q8LLUJG33zozhu0jbEMz8pTyoFoo3pduu/eF4rDYuG0Xu70vlvZruJi5sAVL3EJBU8O+Aob/d4/cy+HPAEaGH1JaexpKSZKEEYqI1JmDtH32+50ELWg52kfSBNAcNbD26ecG/OMfKwQ0B9iOD5CtOdhDAAe2TYTYm5EsaJSkICD+pEGTBFM8hzx52j/+EaUH5LlINaBpbsKpw2vvwzZ0qOD9s50PkcDACPgrB3jIhRj6JLRsFWF7l3I0pDqBa+7sY5EkbVikEIO2H7qf4oRmNA2oGCaJR3JVzPm+HAUGiT0L2nCKPGAQ11vZV8CFGGnXmrOyn5zP0Y9VdVzfsMKUSDB3V5KURxKiowOb9NzALyv0d9MEsbgzPAA9AME/U3nohpsFme6fqSfbERcJe4bY8m71XuRmsVLtqGtGBl07+vXOG1NXKdWxfaiG3Wgbhn35vdhxdy+RwAwXP3V1UgoeF37Igoa5v93o/8Q/I+1nQ0W2h2JYWReqMwSYL6Q3Y2jEd3UjPJOIPrmOPjkg7pINDD+N2tPRpF6mUc0XW70iueTLzLfMsKvnOp5vQTsG2UU+NtAyTKjZaGf4uwf6x7X0UZXxLTQSCttTYV5FtuY6hu0ftmUPHFp6x1sQWW0IpsYSHbYw4mC7DSjcyA0bPHECYDka+gJ6R78DaJrOygv3At8BJknedji1jVbP8SKv2YOFe/omDBOoaUjb5/P9OkcNwy+gqof7xzl5rp5CYGWYJgln7AMYpUUEsWkgzwcLm3h0TBgQ2CbyiPNGTWASeh7yr8j8q5mhzoAKPQQMPz6rjp1dNRVd9AXkNuSqpwS3myskTkQV21ldhYYhFt0VBEcW2bU/gWeQnSTcaTFpSXo+IJmSFJUxzphxTWjYxFtDp/u242C/749tiHfcHFhY6qiJ7ZGztZnj+eSCb9/ILjLA5uMjeTssZEJyphkeVEzSpNSh6aFXvC0L7MBSSCogBgl9LipqQJgodUMFprMrJsNaVHVME0XGd3SAkec6JDZCjzM84Abh+u5sjEC8V72zqKMDGFYfWHvRMhGjjRbiwGFTIU98j3Iaiuj5TlwiUXhycHCQSBAPeDMnMDVSiSKIv4BbN1paw1bNQEPgD+ipf4BfoKciWzPs6a+kdPuDIP8BfiH/7N4OnTyKDjwNNzRgePZ//vVvf+eYpC7QYWBGZg6n/Y4VQoE/bgRCjS24NqzA2q91uHCR2pj8/XAbaeFWB8JTotDNMSmpo2WkiaAMRYFrktAC10V4N3BPSWYQa6SmCeN6H8ckTcQLLIyg59jeKwbaLxbSntmJpr5jpFCgjxuph/wwaeEo4verrkODePPhEJAoGLWTvec+El5N4iBE+47Au4vuI4gjycPTc2wQ0d8Zzb900UNgYKT9GrGuXRb5z7/+TSJTMQ0VLNAGIPtptSAgKYRlSF4j+e+YBr6ow+5NaG/iku91iyWvx6+PV6kZgsSFD62qrKoiN75cMc6amXuOnTpqVZWL/dTj4/8HQfEITA== +api: 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 sidebar_class_name: "get api-method" info_path: docs/data/horizon/api-reference/horizon custom_edit_url: null diff --git a/docs/data/horizon/api-reference/list-all-assets.api.mdx b/docs/data/horizon/api-reference/list-all-assets.api.mdx index 49824dc42..40c8a3722 100644 --- a/docs/data/horizon/api-reference/list-all-assets.api.mdx +++ b/docs/data/horizon/api-reference/list-all-assets.api.mdx @@ -5,7 +5,7 @@ description: "This endpoint lists all assets." sidebar_label: "List all Assets" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/data/horizon/api-reference/horizon custom_edit_url: null @@ -653,7 +653,7 @@ This endpoint lists all assets. qualifierMessage={undefined} schema={{"type":"string"}} > - + + + +
+ + + + _links + + object + + +
+ +
+ + + + self + + object + + + + required + + +
+ + + + + +
+
+
+
+ + + + transaction + + object + + + + required + + +
+ + + + + +
+
+
+
+ + + + effects + + object + + + + required + + +
+ + + + + +
+
+
+
+ + + + succeeds + + object + + + + required + + +
+ + + + + +
+
+
+
+ + + + precedes + + object + + + + required + + +
+ + + + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
+ + + + parameters + + object[] + + +
+
  • +
    + Array [ +
    +
  • + + + +
  • +
    + ] +
    +
  • +
    +
    +
    + + + + +
    + + + + asset_balance_changes + + object[] + + +
    +
  • +
    + Array [ +
    +
  • + + + + + + + + + + + + + +
  • +
    + ] +
    +
  • +
    +
    +
    diff --git a/docs/data/horizon/api-reference/structure/README.mdx b/docs/data/horizon/api-reference/structure/README.mdx index d39fa3cb0..3452c5e0f 100644 --- a/docs/data/horizon/api-reference/structure/README.mdx +++ b/docs/data/horizon/api-reference/structure/README.mdx @@ -5,20 +5,8 @@ sidebar_label: Structure description: Horizon is an API for interacting with the Stellar network. --- -import { MethodTable } from "@site/src/components/MethodTable"; +import DocCardList from "@theme/DocCardList"; How Horizon is structured. - - -| | | -| ------------------------------------------------- | --- | -| [Response Format](./response-format.mdx) | | -| [Page Arguments](./pagination/page-arguments.mdx) | | -| [Streaming](./streaming.mdx) | | -| [Rate Limiting](./rate-limiting.mdx) | | -| [XDR](./xdr.mdx) | | -| [Consistency](./consistency.mdx) | | -| [Pagination](./pagination/README.mdx) | | - - + diff --git a/docs/data/horizon/api-reference/submit-a-transaction.api.mdx b/docs/data/horizon/api-reference/submit-a-transaction.api.mdx index 310512e2c..0aae86e11 100644 --- a/docs/data/horizon/api-reference/submit-a-transaction.api.mdx +++ b/docs/data/horizon/api-reference/submit-a-transaction.api.mdx @@ -5,7 +5,7 @@ description: "This endpoint actually submits a transaction to the Stellar networ sidebar_label: "Submit a Transaction" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/data/horizon/api-reference/horizon custom_edit_url: null @@ -1178,7 +1178,7 @@ This endpoint actually submits a transaction to the Stellar network. It only tak value={"SubmitaTransaction"} > diff --git a/docs/data/hubble/data-catalog/data-dictionary/accounts.mdx b/docs/data/hubble/data-catalog/data-dictionary/accounts.mdx index 44763a700..92b0b409d 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/accounts.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/accounts.mdx @@ -1,31 +1,49 @@ --- title: Accounts sidebar_position: 10 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| account_id | The address of the account. The address is the account's public key encoded in base32. All account addresses start with a \`G\` | string | | | Yes | cluster | Yes | | -| balance | The number of units of XLM held by the account | float | | | | | Yes | The \`accounts\` table only reports monetary balances for XLM. Any other asset class is reported in the \`trust_lines\` table. | -| buying_liabilities | The sum of all buy offers owned by this account for XLM only | float | | | | | Yes | The \`accounts\` table only reports monetary balances for XLM. Any other asset class is reported in the \`trust_lines\` table. For buy offers, the account must hold the amount of asset to complete the transaction | -| selling_liabilities | The sum of all sell offers owned by this account for XLM only | float | | | | | Yes | The \`accounts\` table only reports monetary balances for XLM. Any other asset class is reported in the \`trust_lines\` table. | -| sequence_number | The account's current sequence number. The sequence number controls operations applied to an account. Operations must submit a unique sequence number that is incremented by 1 in order to apply the operation to the account so that account changes will not collide within a ledger | integer | | | Yes | | Yes | | -| num_subentries | The total number of ledger entries connected to this account. Ledger entries include: trustlines, offers, signers, and data entries. (Claimable balances are counted under sponsoring entries, not subentries). Any newly created trustline, offer, signer or data entry will increase the number of subentries by 1. Accounts may have up to 1,000 subentries | integer | | | | | Yes | Each entry on a ledger takes up space, which is expensive to store on the blockchain. For each entry, an account is required to hold a [minimum XLM balance](https://developers.stellar.org/docs/learn/glossary#minimum-balance). The reserve is calculated by (2 + num_subentries - num_sponsoring + num_sponsored) \* 0.5XLM | -| inflation_destination | Deprecated: The account address to receive an inflation payment when they are disbursed on the network. | string | | | | | Yes | Inflation was discontinued in 2019 by validator vote. | -| flags | Denotes the enabling and disabling of certain asset issuer privileges | integer | 0 - None, Default 1 - Auth Required (all trustlines by default are untrusted and require manual trust established) 2 - Auth Revocable (allows trustlines to be revoked if account no longer trusts asset) 4 - Auth Immutable (all auth flags are read only when set) 8 - Auth Clawback Enabled (asset can be clawed back from the user) | | | | Yes | Flags are set on the issuer accounts for an asset. When user accounts trust an asset, the flags applied to the asset originate from this account | -| home_domain | The domain that hosts this account's stellar.toml file | string | | | | | Yes | Only applies to asset issuer accounts. The stellar.toml file contains metadata about the asset issuer which helps identify who the issuer is and instills trust in the asset | -| master_weight | The weight of the master key, which is the private key for this account. If a master key is \`0,\` the account is locked and cannot be used. | integer | Integers from 1 to 255 | | | | Yes | | -| threshold_low | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| threshold_medium | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| threshold_high | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | If an account updates a signer's weight at sequence 1234 and then decides to delete the signer at 2345, the deleted record will still have a modified sequence of 1234. | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`accounts\` | -| deleted | Indicates whether the ledger entry (account id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| sponsor | The account address of the sponsor who is paying the reserves for this account. | string | | | | | No | | -| num_sponsored | The number of reserves sponsored for this account (meaning another account is paying for the minimum balance). Sponsored entries do not incur any reserve requirement on the account that owns the entry. | integer | | | | | No | Defaults to 0 Accounts, offers, trustlines, data and signers can be optionally sponsored. Claimable Balances must be sponsored. See more information on sponsorship [here](https://developers.stellar.org/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves). | -| num_sponsoring | The number of reserves sponsored by this account. Entries sponsored by this account incur a reserve requirement | integer | | | | | No | Defaults to 0 Accounts, offers, trustlines, data and signers can be optionally sponsored. Claimable Balances must be sponsored. See more information on sponsorship [here](https://developers.stellar.org/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves). | -| sequence_ledger | The unsigned 32-bit ledger number of the sequence number's age | integer | | | | | No | Reflects the last time an account touched its sequence number. Note that even if the Bump Sequence operation has no effect, eg it does not increase the sequence number, it still counts as a "touch" | -| sequence_time | The UNIX timestamp of the sequence number's age | timestamp | | | | | No | Reflects the last time an account touched its sequence number. Note that even if the Bump Sequence operation has no effect, eg it does not increase the sequence number, it still counts as a "touch" | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | account_id, closed_at | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | account_id, last_modified_ledger | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.accounts) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| account_id | The address of the account. The address is the account's public key encoded in base32. All account addresses start with a `G` | string | | Yes | | +| balance | The number of units of XLM held by the account | float | | Yes | The `accounts` table only reports monetary balances for XLM. Any other asset class is reported in the `trust_lines` table. | +| buying_liabilities | The sum of all buy offers owned by this account for XLM only | float | | Yes | The `accounts` table only reports monetary balances for XLM. Any other asset class is reported in the `trust_lines` table. For buy offers, the account must hold the amount of asset to complete the transaction | +| selling_liabilities | The sum of all sell offers owned by this account for XLM only | float | | Yes | The `accounts` table only reports monetary balances for XLM. Any other asset class is reported in the `trust_lines` table. | +| sequence_number | The account's current sequence number. The sequence number controls operations applied to an account. Operations must submit a unique sequence number that is incremented by 1 in order to apply the operation to the account so that account changes will not collide within a ledger | integer | | Yes | | +| num_subentries | The total number of ledger entries connected to this account. Ledger entries include: trustlines, offers, signers, and data entries. (Claimable balances are counted under sponsoring entries, not subentries). Any newly created trustline, offer, signer or data entry will increase the number of subentries by 1. Accounts may have up to 1,000 subentries | integer | | Yes | Each entry on a ledger takes up space, which is expensive to store on the blockchain. For each entry, an account is required to hold a [minimum XLM balance](https://developers.stellar.org/docs/learn/glossary#minimum-balance). The reserve is calculated by (2 + num_subentries - num_sponsoring + num_sponsored) \* 0.5XLM | +| inflation_destination | Deprecated: The account address to receive an inflation payment when they are disbursed on the network. | string | | Yes | Inflation was discontinued in 2019 by validator vote. | +| flags | Denotes the enabling and disabling of certain asset issuer privileges | integer |
    • 0 - None, Default
    • 1 - Auth Required (all trustlines by default are untrusted and require manual trust established)
    • 2 - Auth Revocable (allows trustlines to be revoked if account no longer trusts asset)
    • 4 - Auth Immutable (all auth flags are read only when set)
    • 8 - Auth Clawback Enabled (asset can be clawed back from the user)
    | Yes | Flags are set on the issuer accounts for an asset. When user accounts trust an asset, the flags applied to the asset originate from this account | +| home_domain | The domain that hosts this account's stellar.toml file | string | | Yes | Only applies to asset issuer accounts. The stellar.toml file contains metadata about the asset issuer which helps identify who the issuer is and instills trust in the asset | +| master_weight | The weight of the master key, which is the private key for this account. If a master key is `0,` the account is locked and cannot be used. | integer | Integers from 1 to 255 | Yes | | +| threshold_low | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | +| threshold_medium | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | +| threshold_high | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | Yes | If an account updates a signer's weight at sequence 1234 and then decides to delete the signer at 2345, the deleted record will still have a modified sequence of 1234. | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer |
    • 0 - Ledger Entry Created
    • 1 - Ledger Entry Updated
    • 2 - Ledger Entry Deleted
    • 3 - Ledger Entry State (value of the entry)
    | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type `accounts` | +| deleted | Indicates whether the ledger entry (account id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| sponsor | The account address of the sponsor who is paying the reserves for this account. | string | | No | | +| num_sponsored | The number of reserves sponsored for this account (meaning another account is paying for the minimum balance). Sponsored entries do not incur any reserve requirement on the account that owns the entry. | integer | | No | Defaults to 0 Accounts, offers, trustlines, data and signers can be optionally sponsored. Claimable Balances must be sponsored. See more information on sponsorship [here](https://developers.stellar.org/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves). | +| num_sponsoring | The number of reserves sponsored by this account. Entries sponsored by this account incur a reserve requirement | integer | | No | Defaults to 0 Accounts, offers, trustlines, data and signers can be optionally sponsored. Claimable Balances must be sponsored. See more information on sponsorship [here](https://developers.stellar.org/docs/learn/encyclopedia/transactions-specialized/sponsored-reserves). | +| sequence_ledger | The unsigned 32-bit ledger number of the sequence number's age | integer | | No | Reflects the last time an account touched its sequence number. Note that even if the Bump Sequence operation has no effect, eg it does not increase the sequence number, it still counts as a "touch" | +| sequence_time | The UNIX timestamp of the sequence number's age | timestamp | | No | Reflects the last time an account touched its sequence number. Note that even if the Bump Sequence operation has no effect, eg it does not increase the sequence number, it still counts as a "touch" | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/claimable-balances.mdx b/docs/data/hubble/data-catalog/data-dictionary/claimable-balances.mdx index 034a1dc2f..430d0b02b 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/claimable-balances.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/claimable-balances.mdx @@ -1,28 +1,46 @@ --- title: Claimable Balances sidebar_position: 20 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| balance_id | A unique identifier for this claimable balance. The Balance id is a compilation of \`Balance Type\` + \`SHA-256 hash history_operation_id\` | string | | | Yes | | Yes | The Balance Type is fixed at V0, \`00000000\`. If there is a protocol change that materially impacts the mechanics of claimable balances, the balance type would update to V1. | -| claimants | The list of entries which are eligible to claim the balance and preconditions that must be fulfilled to claim | array[record] | | | | | Yes | Multiple accounts can be specified in the claimants record, including the account of the balance creator. | -| claimants.destination | The account id who can claim the balance | string | | | | | Yes | | -| claimants.predicate | The condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic. | array[record] | | | | | Yes | | -| claimants.predicate.unconditional | If true it means this clause of the condition is always satisfied | boolean | | | | | No | When the predicate is only unconditional = true, it means that the balance can be claimed under any conditions | -| claimants.predicate.abs_before | Deadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied. | string | | | | | No | | -| claimants.predicate.rel_before | A relative deadline for when the claimable balance can be claimed. The value represents the number of seconds since the close time of the ledger which created the claimable balance | integer | | | | | No | This condition is useful when creating a timebounds based on creation conditions. If the creator wanted a balance only claimable one week after creation, this condition would satisfy that rule. | -| claimants.predicate.abs_before_epoch | A UNIX epoch value in seconds representing the same deadline date as abs_before. | integer | | | | | No | | -| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | | -| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | No | | -| asset_issuer | The address of the account that created the asset | string | | | | | No | | -| asset_amount | The amount of the asset that can be claimed | float | | | | | Yes | | -| sponsor | The account address of the sponsor who is paying the reserves for this claimable balance | string | | | | | No | Sponsors of claimable balances are the creators of the balance. | -| flags | Denotes the enabling and disabling of certain balance issuer privileges | integer | 0 - None, Default 1 - Auth Clawback Enabled | | | | Yes | Flags are set by the claimable balance accounts for an asset. When user accounts claim a balance, the flags applied to the asset originate from this account | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, and 2 for ledger entries of type \`claimable_balances\`. Once created, a balance cannot be updated. | -| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| asset_id | Unique identifier for asset_code, asset_issuer | integer | | | | cluster | No | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | balance_id, closed_at | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | asset_id, last_modified_ledger | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.claimable_balances) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| balance_id | A unique identifier for this claimable balance. The Balance id is a compilation of `Balance Type` + `SHA-256 hash history_operation_id` | string | | Yes | The Balance Type is fixed at V0, `00000000`. If there is a protocol change that materially impacts the mechanics of claimable balances, the balance type would update to V1. | +| claimants | The list of entries which are eligible to claim the balance and preconditions that must be fulfilled to claim | array[record] | | Yes | Multiple accounts can be specified in the claimants record, including the account of the balance creator. | +| claimants.destination | The account id who can claim the balance | string | | Yes | | +| claimants.predicate | The condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic. | array[record] | | Yes | | +| claimants.predicate.unconditional | If true it means this clause of the condition is always satisfied | boolean | | No | When the predicate is only unconditional = true, it means that the balance can be claimed under any conditions | +| claimants.predicate.abs_before | Deadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied. | string | | No | | +| claimants.predicate.rel_before | A relative deadline for when the claimable balance can be claimed. The value represents the number of seconds since the close time of the ledger which created the claimable balance | integer | | No | This condition is useful when creating a timebounds based on creation conditions. If the creator wanted a balance only claimable one week after creation, this condition would satisfy that rule. | +| claimants.predicate.abs_before_epoch | A UNIX epoch value in seconds representing the same deadline date as abs_before. | integer | | No | | +| asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | | +| asset_code | The 4 or 12 character code representation of the asset on the network | string | | No | | +| asset_issuer | The address of the account that created the asset | string | | No | | +| asset_amount | The amount of the asset that can be claimed | float | | Yes | | +| sponsor | The account address of the sponsor who is paying the reserves for this claimable balance | string | | No | Sponsors of claimable balances are the creators of the balance. | +| flags | Denotes the enabling and disabling of certain balance issuer privileges | integer |
    • 0 - None, Default
    • 1 - Auth Clawback Enabled
    | Yes | Flags are set by the claimable balance accounts for an asset. When user accounts claim a balance, the flags applied to the asset originate from this account | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer |
    • 0 - Ledger Entry Created
    • 1 - Ledger Entry Updated
    • 2 - Ledger Entry Deleted
    • 3 - Ledger Entry State (value of the entry)
    | Yes | Valid entry change types are 0, and 2 for ledger entries of type `claimable_balances`. Once created, a balance cannot be updated. | +| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| asset_id | Unique identifier for asset_code, asset_issuer | integer | | No | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/contract-code.mdx b/docs/data/hubble/data-catalog/data-dictionary/contract-code.mdx index 612954143..db511097c 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/contract-code.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/contract-code.mdx @@ -1,28 +1,44 @@ --- title: Contract Code sidebar_position: 30 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| contract_code_hash | Soroban contract code hash | string | | | Yes | Cluster | Yes | | -| contract_code_ext_v | Contract code extention version | integer | | | | | | | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | | Cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | | | | Yes | | -| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | | | Partition | Yes | | -| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | | | | Yes | | -| ledger_key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | | | | Yes | | -| n_instructions | Number of instrcutions in contract code | integer | | | | | | | -| n_functions | Number of functions in contract code | integer | | | | | | | -| n_globals | Number of global variables in contract code | integer | | | | | | | -| n_table_entries | Number of table entries in contract code | integer | | | | | | | -| n_types | Number of types in contract code | integer | | | | | | | -| n_data_segments | Number of data segments in contract code | integer | | | | | | | -| n_elem_segments | Number of element segments in contract code | integer | | | | | | | -| n_imports | Number of imports in contract code | integer | | | | | | | -| n_exports | Number of exports in contract code | integer | | | | | | | -| n_data_segment_bytes | Number of data segment bytes in contract code | integer | | | | | | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | contract_code_hash, closed_at | +| Partition Field(s) | closed_at (MONTH partition) | +| Clustered Field(s) | last_modified_ledger, contract_code_hash | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.contract_code) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| contract_code_hash | Soroban contract code hash | string | | Yes | | +| contract_code_ext_v | Contract code extension version | integer | | | | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | Yes | | +| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| ledger_key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | Yes | | +| n_instructions | Number of instructions in contract code | integer | | | | +| n_functions | Number of functions in contract code | integer | | | | +| n_globals | Number of global variables in contract code | integer | | | | +| n_table_entries | Number of table entries in contract code | integer | | | | +| n_types | Number of types in contract code | integer | | | | +| n_data_segments | Number of data segments in contract code | integer | | | | +| n_elem_segments | Number of element segments in contract code | integer | | | | +| n_imports | Number of imports in contract code | integer | | | | +| n_exports | Number of exports in contract code | integer | | | | +| n_data_segment_bytes | Number of data segment bytes in contract code | integer | | | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/contract-data.mdx b/docs/data/hubble/data-catalog/data-dictionary/contract-data.mdx index b9377c1ed..da0370de6 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/contract-data.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/contract-data.mdx @@ -1,24 +1,45 @@ --- title: Contract Data sidebar_position: 40 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| contract_id | Soroban contract id | string | | | Yes | Cluster | Yes | | -| contract_key_type | Contract key type which is an ScVal that can have the following values | string | | | | | | | -| contract_durability | Contract can either be temporary or persistent | string | | | | | | | -| asset_code | The 4 or 12 character code representation of the asset on the network. | string | | | | | | | -| asset_issuer | The account address of the original asset issuer that created the asset. | string | | | | | | | -| asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | | -| balance_holder | The address/account that holds the balance of the asset in contract data | string | | | | | | | -| balance | The number of units of XLM held by the account | string | | | | | | | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | Cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | | | | Yes | | -| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | | | Partition | Yes | | -| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | | Yes | | Yes | | -| ledger_key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | | Yes | | Yes | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | ledger_key_hash, closed_at | +| Partition Field(s) | closed_at (MONTH partition) | +| Clustered Field(s) | last_modified_ledger, contract_id | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.contract_data) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| contract_id | Soroban contract id | string | | Yes | | +| contract_key_type | Contract key type which is an ScVal that can have the following values | string | | | | +| contract_durability | Contract can either be temporary or persistent | string | | | | +| asset_code | The 4 or 12 character code representation of the asset on the network. | string | | | | +| asset_issuer | The account address of the original asset issuer that created the asset. | string | | | | +| asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | +| balance_holder | The address/account that holds the balance of the asset in contract data | string | | | | +| balance | The number of units of XLM held by the account | string | | | | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | Yes | | +| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| ledger_key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | Yes | | +| key | The encoded key used to identify a specific piece of contract data. The encoded key has two components (type and value) where type describes the data type and the value describes the encoded value of the data type for the contract data | json | | | | +| key_decoded | The human-readable or decoded version of the key. This provides an understandable format of the key, making it easier to interpret and use in analysis | json | | | | +| val | The encoded value associated with the key in the contract data. The encoded val has two components (type and value) where type describes the data type and the value describes the encoded value of the data type for the contract data | json | | | | +| val_decoded | The human-readable or decoded version of the value. This provides a clear and understandable representation of the value, making it easier to interpret and use in analysis | json | | | | +| contract_data_xdr | The XDR (External Data Representation) encoding of the contract data. XDR is a standard format used to serialize and deserialize data, ensuring interoperability across different systems. This field contains the raw, serialized contract data in XDR format | string | | | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx b/docs/data/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx index 0a3d2e410..3131a564b 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx @@ -1,151 +1,103 @@ --- title: Enriched History Operations sidebar_position: 150 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Source Table | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| account | The new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation) | string | | | | | | history_operations | Part of the original \`details\` object in the history_operations table | -| amount | Float representation of the amount of an asset sent/offered/etc | float | | | | | | history_operations | | -| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | history_operations | | -| asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | history_operations | | -| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | | -| authorize | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | | | | | history_operations | | -| balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. The balance id can be joined back to the \`claimable_balances\` table to gather more details about the balance | string | | | | | | history_operations | | -| buying_asset_code | The 4 or 12 character code representation of the asset that is either bought or offered to buy in a trade | string | | | | | | history_operations | | -| buying_asset_issuer | The account address of the original asset issuer that created the asset bought or offered to buy | string | | | | | | history_operations | | -| buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | | -| from | The account address from which the payment originates (the sender account) | string | | | | | | history_operations | | -| funder | When a new account is created, an account address "funds" the new account | string | | | | | | history_operations | | -| high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| home_domain | The home domain used for the stellar.toml file discovery | string | | | | | | history_operations | | -| inflation_dest | The account address specifying where to send inflation funds. The concept of inflation on the network has been discontinued | string | | | | | | history_operations | Inflation was retired from the network in 2019. | -| into | The account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be merged | string | | | | | | history_operations | | -| limit | The upper bound amount of an asset that an account can hold | float | | | | | | history_operations | | -| low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| master_key_weight | An accounts private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transaction | integer | Integers from 1 to 255 | | | | | history_operations | | -| med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | | | | | history_operations | | -| offer_id | The unique id for the offer. This id can be joined with the \`offers\` table | integer | | | | | | history_operations | | -| path | Path payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquid | array[record] | | | | | | history_operations | Up to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail which means the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure. | -| price | The ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying asset | float | | | | | | history_operations | | -| d | Precise representation of the buy and sell price of a trade. The \`d\` is the denominator. When taken with n/d you will get the price | integer | | | | | | history_operations | | -| n | Precise representation of the buy and sell prices of a trade. The \`n\` is the numerator. When taken with n/d you will get the price. | integer | | | | | | history_operations | | -| selling_asset_code | The 4 or 12 character code representation of the asset that is either sold or offered to sell in a trade | string | | | | | | history_operations | | -| selling_asset_issuer | The account address of the original asset issuer that created the asset sold or offered to sell | string | | | | | | history_operations | | -| selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | | -| set_flags | Array of numeric values of the flags set for a given trustline in the operation | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | | | | | history_operations | | -| set_flags_s | Array of string values of the flags set for a given trustline in the operation | array[string] | Auth Required Auth Revocable Auth Immutable | | | | | history_operations | | -| signer_key | The address of the signer which is no longer sponsored | string | | | | | | history_operations | | -| signer_weight | The weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transaction | integer | | | | | | history_operations | | -| source_amount | The originating amount sent designated in the source asset | float | | | | | | history_operations | | -| source_asest_code | The 4 or 12 character code representation of the asset that is originally sent | string | | | | | | history_operations | | -| source_asset_issuer | The account address of the original asset issuer that created the asset sent | string | | | | | | history_operations | | -| source_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | | -| source_max | The maxium amount to be sent, designated in the source asset | float | | | | | | history_operations | | -| starting_balance | The amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar Network | float | | | | | | history_operations | | -| to | The address of the account receiving the payment funds | string | | | | | | history_operations | | -| trustee | The issuing account address (only present for \`credit\` asset types) | string | | | | | | history_operations | | -| trustor | The trusting account address, or the account being authorized or unauthorized | string | | | | | | history_operations | | -| trustline_asset | The asset of the trustline which is no longer sponsored | string | | | | | | history_operations | | -| value | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The value is the value of a key for a data entry. | string | | | | | | history_operations | | -| clear_flags | Array of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | | | | | history_operations | | -| clear_flags_s | Array of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[string] | Auth Required Auth Revocable Auth Immutable | | | | | history_operations | | -| destination_min | The minimum amount to be received, designated in the expected destination asset | string | | | | | | history_operations | | -| bump_to | The new desired value of the source account's sequence number | string | | | | | | history_operations | | -| sponsor | The account address of another account that maintains the minimum balance in XLM for the source account to complete operations | string | | | | | | history_operations | | -| sponsored_id | The account address of the account which will be sponsored | string | | | | | | history_operations | | -| begin_sponsor | The account address of the account which initiated the sponsorship | string | | | | | | history_operations | | -| authorize_to_maintain_liabilities | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | | | | | history_operations | | -| clawback_enabled | Indicates whether the asset can be clawed back by the asset issuer | boolean | | | | | | history_operations | | -| liquidity_pool_id | Unique identifier for a liquidity pool | string | | | | | | history_operations | | -| reserve_a_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | | -| reserve_a_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | | history_operations | | -| reserve_a_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | | history_operations | | -| reserve_a_max_amount | The maximum amount of reserve a that can be deposited into the pool. | float | | | | | | history_operations | | -| reserve_a_deposit_amount | The amount of reserve a that ended up actually deposited into the pool | float | | | | | | history_operations | | -| reserve_b_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | | -| reserve_b_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | | history_operations | | -| reserve_b_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | | history_operations | | -| reserve_b_max_amount | The maximum amount of reserve b that can be deposited into the pool. | float | | | | | | history_operations | | -| reserve_b_deposit_amount | The amount of reserve b that ended up actually deposited into the pool. | float | | | | | | history_operations | | -| min_price | The floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | | | | | history_operations | | -| min_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | | | | | history_operations | | -| max_price | The floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | | | | | history_operations | | -| max_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | | | | | history_operations | | -| shares_received | A floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a pool | float | | | | | | history_operations | | -| reserve_a_min_amount | The minimum amount of reserve a that can be withdrawn from the pool. | float | | | | | | history_operations | | -| reserve_b_min_amount | The minimum amount of reserve b that can be withdrawn from the pool. | float | | | | | | history_operations | | -| shares | The number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b, equal value must be withdrawn from the pool | float | | | | | | history_operations | | -| reserve_a_withdraw_amount | The amount of reserve a that ended up actually withdrawn from the pool. | float | | | | | | history_operations | | -| reserve_b_withdraw_amount | The amount of reserve b that ended up actually withdrawn from the pool. | float | | | | | | history_operations | | -| op_application_order | The order number in the transaction set in which the operation is executed. The application order and transaction id is a natural key that comprises the (operation) id | integer | | | | | | history_operations | | -| op_id | Unique identifier for an operation | integer | | | | | | history_operations | | -| op_source_account | The account address that originates the operation | string | | | | | | history_operations | | -| op_source_account_muxed | If an account is multiplexed (muxed), the virtual account address that originates the operation | string | | | | | | history_operations | | -| transaction_id | The transaction identifier in which the operation executed. There can be up to 100 operations in a given transaction | integer | | | | | | history_operations | | -| type | The number indicating which type of operation this operation executes | integer | 0 - Create Account 1 - Payment 2 - Path Payment Strict Receive 3 - Manage Sell Offer 4 - Create Passive Sell Offer 5 - Set Options 6 - Change Trust 7 - Allow Trust 8 - Account Merge 9 - Inflation 10 - Manage Data 11 - Bump Sequence 12 - Manage Buy Offer 13 - Path Payment Strict Send 14 - Create Claimable Balance 15 - Claim Claimable Balance 16 - Being Sponsoring Future Reserves 17 - End Sponsoring Future Reserves 18 - Revoke Sponsorship 19 - Clawback 20 - Clawback Claimable Balance 21 - Set Trust Line Flags 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | | history_operations | | -| transaction_hash | A hex-encoded SHA-256 hash of this transaction's XDR-encoded form | string | | | | | | history_transactions | | -| ledger_sequence | The sequence number of the ledger that this transaction was included in | integer | | | | | | history_transactions | | -| txn_application_order | Each transaction within the transaction set for a ledger is executed and applied sequentially to the network. The validator nodes randomly shuffle submitted transactions and assign them an application order number, which corresponds to the order in which they are applied | integer | | | | | | history_transactions | | -| txn_account | The account address that originates the transaction | string | | | | | | history_transactions | | -| account_sequence | The source account's sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network. | integer | | | | | | history_transactions | | -| max_fee | The maximum fee (in stroops) that the source account is willing to pay for the transaction to be included in a ledger. When the network enters surge pricing, this helps determine if a transaction is included in the set | integer | | | | | | history_transactions | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | -| txn_operation_count | The number of operations contained within this transaction | integer | | | | | | history_transactions | A transaction is permitted to have up to 100 operations | -| txn_created_at | The date the transaction was created | timestamp | | | | | | history_transactions | | -| memo_type | The type of memo | string | MemoTypeMemoHash MemoTypeMemoId MemoTypeMemoNone MemoTypeMemoReturn MemoTypeMemoText | | | | | history_transactions | Defaults to \`MemoTypeMemoNone\` | -| memo | An optional freeform field that attaches a memo to a transaction | string | | | | | | history_transactions | Memos are heavily used by centralized exchanges to help with account management. | -| time_bounds | A transaction precondition that can be set to determine when a transaction is valid. The user can set a lower and upper timebound, defined as a UNIX timestamp when the transaction can be executed. If the transaction attempts to execute outside of the time range, the transaction will fail | string | | | | | | history_transactions | | -| successful | Indicates if this transaction was successful or not | boolean | | | | | | history_transactions | A transaction's success does not indicate whether it was included and written to a ledger. It only indicates whether the operations in the transaction were successfully applied to mutate the ledger state. | -| fee_charged | The fee (in stroops) paid by the source account to apply this transaction to the ledger. At minimum, a transaction is charged # of operations \* base fee. The minimum base fee is 100 stroops | integer | | | | | | history_transactions | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | -| fee_account | An account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account. | string | | | | | | history_transactions | | -| new_max_fee | If an account has a fee account, the fee account can specify a maximum fee (in stroops) that it is willing to pay for this account's fees. When the network is in surge pricing, the validators will consider the new_max_fee instead of the max_fee when determining if the transaction will be included in the transaction set | integer | | | | | | history_transactions | | -| account_muxed | If the user has defined multiplexed (muxed) accounts, the account exists "virtually" under a traditional Stellar account address. This address distinguishes between the virtual accounts | string | | | | | | history_transactions | | -| fee_account_muxed | If the fee account that sponsors fee is a multiplexed account, the virtual address will be listed here | string | | | | | | history_transactions | | -| ledger_hash | The hex-encoded SHA-256 hash that represents the ledger's XDR-encoded form | string | | | | | | history_ledgers | | -| previous_ledger_hash | The hex-encoded SHA-256 hash of the ledger that immediately precedes this ledger | string | | | | | | history_ledgers | | -| transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | | history_ledgers | | -| ledger_operation_count | The total number of successful operations applied to this ledger | integer | | | | | | history_ledgers | | -| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | | MONTH partition | | history_ledgers | | -| ledger_id | Unique identifier for the ledger | integer | | | | | | history_ledgers | | -| total_coins | Total number of lumens in circulation | integer | | | | | | history_ledgers | | -| fee_pool | The sum of all transaction fees | integer | | | | | | history_ledgers | | -| base_fee | The fee (in stroops) the network charges per operation in a transaction for the given ledger. The minimum base fee is 100, with the ability to increase if transaction demand exceeds ledger capacity. When this occurs, the ledger enters surge pricing | integer | | | | | | history_ledgers | | -| base_reserve | The reserve (in stroops) the network requires an account to retain as a minimum balance in order to be a valid account on the network. The current minimum reserve is 10 XLM | integer | 5000000 100000000 | | | | | history_ledgers | | -| max_tx_set_size | The maximum number of operations that Stellar validator nodes have agreed to process in a given ledger. Since Protocol 11, ledger capacity has been measured in operations rather than transactions | integer | 50 - original max 500 1000 - current max | | | | | history_ledgers | | -| protocol_version | The protocol verstion that the Stellar network was running when this ledger was committed. Protocol versions are released ~every 6 months | integer | integers 1 - 19 (will increment) | | | | | history_ledgers | | -| successful_transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | | history_ledgers | | -| failed_transaction_count | The number of failed transactions submitted to the network in this ledger. The transaction was still paid for but contained an error that prevented it from executing | integer | | | | | | history_ledgers | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | | history_operations | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | | history_operations | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | | current timestamp | | -| ledger_bounds | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. Ledger bounds allow the user to specify a minimum and maxiumum ledger sequence number in which the transaction can successfully execute | string | | | | | | history_transactions | | -| min_account_sequence | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the lowest source account sequence number for which the transaction is valid | integer | | | | | | history_transactions | | -| min_account_sequence_age | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains a minimum duration of time that must have passed since the source account's sequence number changed for the transaction to be valid | integer | | | | | | history_transactions | | -| min_account_sequence_ledger_gap | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the minimum number of ledgers that must have closed since the source account's sequence number change for the transaction to be valid | integer | | | | | | history_transactions | | -| extra_signers | An array of up to two additional signers that must have corresponding signatures for this transaction to be valid | array[string] | | | | | | history_transactions | | -| asset_id | Unique identifier for asset_code, asset_issuer | | | | | | | history_operations | | -| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | | | | | | | history_operations | | -| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | | | | | | | history_operations | | -| source_asset_id | Unique identifier for source_asset_code, source_asset_issuer | | | | | | | history_operations | | -| reserve_a_asset_id | Unique identifier for reserve_a_asset_code, reserve_a_asset_issuer | | | | | | | history_operations | | -| reserve_b_asset_id | Unique identifier for reserve_b_asset_code, reserve_b_asset_issuer | | | | | | | history_operations | | -| asset_balance_changes | The balance changes applied to an account or contract from an invoke host function. An asset must be a classic asset transferred through the [SAC](https://soroban.stellar.org/docs/tokens/stellar-asset-contract) to be included. | record | | | | | | history_operations | More details about the record structure can be found in the \`history_operations\` tab | -| parameters | The parameters passed to the function call for a Soroban contract. These are base64 encoded XDR. The record follows the format of \`type\` + \`value\` pair | record | | | | | | history_operations | More details about the record structure can be found in the \`history_operations\` tab | -| parameters_decoded | The decoded human readable parameters passed to a function call for a Soroban contract. The record follows the format of \`type\` + \`value\` pair | record | | | | | | history_operations | More details about the record structure can be found in the \`history_operations\` tab | -| function | The function type invoked by the host operation | string | HostFunctionTypeHostFunctionTypeInvokeContract HostFunctionTypeHostFunctionTypeCreateContract HostFunctionTypeHostFunctionTypeUploadContractWasm | | | | | history_operations | | -| address | The wallet address used to create and deploy a Soroban contract instance. | string | | | | | | history_operations | | -| soroban_operation_type | The type of Soroban operation that is invoked within a host function | string | invoke_contract create_contract upload_wasm extend_footprint_ttl restore_footprint | | | | | history_operations | | -| extend_to | The number of ledgers in which the Soroban ledger entry is extended | integer | | | | | | history_operations | | -| contract_id | The unique identifier of the deployed contract instance. Each custom Soroban contract and deployed SAC token will have a unique contract_id. | string | | | | | | history_operations | | -| contract_code_hash | The hex-encoded SHA-256 hash that represents the contract code's XDR-encoded form | string | | | | | | history_operations | | -| resource_fee | The fee charged less the inclusion fee for the Soroban transaction. This is calculated by the read/write operations and how process intensive the Soroban transaction is | integer | | | | | | history_transactions | | -| soroban_resources_instructions | Number of CPU instructions the Soroban transaction uses | integer | | | | | | history_transactions | | -| soroban_resources_read_bytes | Number of bytes read by the Soroban transaction | integer | | | | | | history_transactions | | -| soroban_resources_write_bytes | Number of bytes written by the Soroban transaction | integer | | | | | | history_transactions | | -| transaction_result_code | The detailed result code that outlines why a transaction failed. This code is only useful for failed transactions. The full list of domain values can be found [here](https://pkg.go.dev/github.com/stellar/go/xdr#TransactionResultCode). | string | | | | | | history_transactions | | -| inclusion_fee_bid | The maximum bid the submitter is willing to pay for inclusion of the transaction. This fee is used to prioritize transactions that are included in the ledger. | integer | | | | | | history_transactions | | -| inclusion_fee_charged | The fee charged for the transaction to be included in the ledger. | integer | | | | | | history_transactions | | -| resource_fee_refund | The amount of the resource fee refunded to the transaction submitter. The refundable fees are calculated from rent, events and return value. Refundable fees are charged from teh source account before the transaction is executed and then refunded based on the actual usage. | integer | | | | | | history_transactions | | -| operation_result_code | The result code returned when the Stellar Network applies an operation. This code is helpful for understanding failed transactions. | string | | | | | | history_operations | | -| operation_trace_code | The trace code returned when an operation is applied to the Stellar Network. This code is helpful for understanding failure types. | string | | | | | | history_operations | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | op_id | +| Partition Field(s) | closed_at (MONTH partition) | +| Clustered Field(s) | ledger_sequence, transaction_id, op_account_id, type | +| Documentation | [dbt_docs](http://www.stellar-dbt-docs.com/#!/model/model.stellar_dbt_public.enriched_history_operations) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Source Table | Notes | +| --- | --- | --- | --- | --- | --- | --- | +| account | The new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation) | string | | | history_operations | Part of the original `details` object in the history_operations table | +| amount | Float representation of the amount of an asset sent/offered/etc | float | | | history_operations | | +| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | history_operations | | +| asset_issuer | The account address of the original asset issuer that created the asset | string | | | history_operations | | +| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | | history_operations | | +| authorize | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | | history_operations | | +| balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. The balance id can be joined back to the `claimable_balances` table to gather more details about the balance | string | | | history_operations | | +| buying_asset_code | The 4 or 12 character code representation of the asset that is either bought or offered to buy in a trade | string | | | history_operations | | +| buying_asset_issuer | The account address of the original asset issuer that created the asset bought or offered to buy | string | | | history_operations | | +| buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | | history_operations | | +| from | The account address from which the payment originates (the sender account) | string | | | history_operations | | +| funder | When a new account is created, an account address "funds" the new account | string | | | history_operations | | +| high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | +| home_domain | The home domain used for the stellar.toml file discovery | string | | | history_operations | | +| inflation_dest | The account address specifying where to send inflation funds. The concept of inflation on the network has been discontinued | string | | | history_operations | Inflation was retired from the network in 2019. | +| into | The account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be merged | string | | | history_operations | | +| limit | The upper bound amount of an asset that an account can hold | float | | | history_operations | | +| low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | +| master_key_weight | An accounts private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transaction | integer | Integers from 1 to 255 | | history_operations | | +| med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | +| name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | | history_operations | | +| offer_id | The unique id for the offer. This id can be joined with the `offers` table | integer | | | history_operations | | +| path | Path payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquid | array[record] | | | history_operations | Up to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail which means the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure. | +| price | The ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying asset | float | | | history_operations | | +| d | Precise representation of the buy and sell price of a trade. The `d` is the denominator. When taken with n/d you will get the price | integer | | | history_operations | | +| n | Precise representation of the buy and sell prices of a trade. The `n` is the numerator. When taken with n/d you will get the price. | integer | | | history_operations | | +| selling_asset_code | The 4 or 12 character code representation of the asset that is either sold or offered to sell in a trade | string | | | history_operations | | +| selling_asset_issuer | The account address of the original asset issuer that created the asset sold or offered to sell | string | | | history_operations | | +| selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | | history_operations | | +| set_flags | Array of numeric values of the flags set for a given trustline in the operation | array[integer] |
    • 1 - Auth Required
    • 2 - Auth Revocable
    • 4 - Auth Immutable
    | | history_operations | | +| set_flags_s | Array of string values of the flags set for a given trustline in the operation | array[string] |
    • Auth Required
    • Auth Revocable
    • Auth Immutable
    | | history_operations | | +| signer_key | The address of the signer which is no longer sponsored | string | | | history_operations | | +| signer_weight | The weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transaction | integer | | | history_operations | | +| source_amount | The originating amount sent designated in the source asset | float | | | history_operations | | +| source_asset_code | The 4 or 12 character code representation of the asset that is originally sent | string | | | history_operations | | +| source_asset_issuer | The account address of the original asset issuer that created the asset sent | string | | | history_operations | | +| source_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | | history_operations | | +| source_max | The maxium amount to be sent, designated in the source asset | float | | | history_operations | | +| starting_balance | The amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar Network | float | | | history_operations | | +| to | The address of the account receiving the payment funds | string | | | history_operations | | +| trustee | The issuing account address (only present for `credit` asset types) | string | | | history_operations | | +| trustor | The trusting account address, or the account being authorized or unauthorized | string | | | history_operations | | +| trustline_asset | The asset of the trustline which is no longer sponsored | string | | | history_operations | | +| value | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The value is the value of a key for a data entry. | string | | | history_operations | | +| clear_flags | Array of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[integer] |
    • 1 - Auth Required
    • 2 - Auth Revocable
    • 4 - Auth Immutable
    | | history_operations | | +| clear_flags_s | Array of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[string] |
    • Auth Required
    • Auth Revocable
    • Auth Immutable
    | | history_operations | | +| destination_min | The minimum amount to be received, designated in the expected destination asset | string | | | history_operations | | +| bump_to | The new desired value of the source account's sequence number | string | | | history_operations | | +| sponsor | The account address of another account that maintains the minimum balance in XLM for the source account to complete operations | string | | | history_operations | | +| sponsored_id | The account address of the account which will be sponsored | string | | | history_operations | | +| begin_sponsor | The account address of the account which initiated the sponsorship | string | | | history_operations | | +| authorize_to_maintain_liabilities | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | | history_operations | | +| clawback_enabled | Indicates whether the asset can be clawed back by the asset issuer | boolean | | | history_operations | | +| liquidity_pool_id | Unique identifier for a liquidity pool | string | | | history_operations | | +| reserve_a_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | | history_operations | | +| reserve_a_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | history_operations | | +| reserve_a_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | history_operations | | +| reserve_a_max_amount | The maximum amount of reserve a that can be deposited into the pool. | float | | | history_operations | | +| reserve_a_deposit_amount | The amount of reserve a that ended up actually deposited into the pool | float | | | history_operations | | +| reserve_b_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | | history_operations | | +| reserve_b_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | history_operations | | +| reserve_b_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | history_operations | | +| reserve_b_max_amount | The maximum amount of reserve b that can be deposited into the pool. | float | | | history_operations | | +| reserve_b_deposit_amount | The amount of reserve b that ended up actually deposited into the pool. | float | | | history_operations | | +| min_price | The floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | | history_operations | | +| min_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | | history_operations | | +| max_price | The floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | | history_operations | | +| max_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | | history_operations | | +| shares_received | A floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a pool | float | | | history_operations | | +| reserve_a_min_amount | The minimum amount of reserve a that can be withdrawn from the pool. | float | | | history_operations | | +| reserve_b_min_amount | The minimum amount of reserve b that can be withdrawn from the pool. | float | | | history_operations | | +| shares | The number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b, equal value must be withdrawn from the pool | float | | | history_operations | | +| reserve_a_withdraw_amount | The amount of reserve a that ended up actually withdrawn from the pool. | float | | | history_operations | | +| reserve_b_withdraw_amount | The amount of reserve b that ended up actually withdrawn from the pool. | float | | | history_operations | | +| op_application_order | The order number in the transaction set in which the operation is executed. The application order and transaction id is a natural key that comprises the (operation) id | integer | | | history_operations | | +| op_id | Unique identifier for an operation | integer | | | history_operations | | +| op_source_account | The account address that originates the operation | string | | | history_operations | | +| op_source_account_muxed | If an account is multiplexed (muxed), the virtual account address that originates the operation | string | | | history_operations | | +| transaction_id | The transaction identifier in which the operation executed. There can be up to 100 operations in a given transaction | integer | | | history_operations | | +| type | The number indicating which type of operation this operation executes | integer | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/history-assets.mdx b/docs/data/hubble/data-catalog/data-dictionary/history-assets.mdx index 249c6f0f4..8d792ebcc 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/history-assets.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/history-assets.mdx @@ -1,15 +1,31 @@ --- title: History Assets sidebar_position: 90 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| id | Unique identifier for the asset code, type and issuer combination. This is not a primary key on the table | float | | | Yes | | Yes | | -| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | Yes | cluster | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | Yes | cluster | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset | -| asset_issuer | The account address of the original asset issuer that created the asset | string | | | Yes | cluster | No | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | Yes | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| asset_id | Unique identifier for asset_code, asset_issuer | integer | | | | | No | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | asset_code, asset_issuer, asset_type | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | asset_code, asset_issuer, asset_type | +| Documentation | [dbt_docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.history_assets_staging) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| id | Unique identifier for the asset code, type and issuer combination. This is not a primary key on the table | float | | Yes | Deprecated | +| asset_id | Unique identifier for asset_code, asset_issuer | integer | | No | | +| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| asset_code | The 4 or 12 character code representation of the asset on the network | string | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset | +| asset_issuer | The account address of the original asset issuer that created the asset | string | | No | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/history-effects.mdx b/docs/data/hubble/data-catalog/data-dictionary/history-effects.mdx index 958dcff03..fab022276 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/history-effects.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/history-effects.mdx @@ -1,160 +1,110 @@ --- title: History Effects sidebar_position: 100 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| address | The address of the account. The address is the account's public key encoded in base32. All account addresses start with a \`G\` | string | | | | cluster | | | -| address_muxed | Address multiplexed | string | | | | | | | -| operation_id | Unique identifier for an operation | integer | | | | cluster | | | -| type | The number indicating which type of effect | integer | | | | cluster | | | -| type_string | The string indicating which type of effect | string | | | | | | | -| details | Unstructured JSON object that contains details based on the type of effect. Each effect will return its own relevant details, with the rest of the details as null | record | | | | | | | -| details.liquidity_pool | Liquidity pools provide a simple, non-interactive way to trade large amounts of capital and enable high volumes of trading | record | | | | | | | -| details.liquidity_pool.fee_bp | The number of basis points charged as a percentage of the trade in order to complete the transaction. The fees earned on all trades are divided amongst pool shareholders and distributed as an incentive to keep money in the pools | integer | | | | | | | -| details.liquidity_pool.id | Unique identifier for a liquidity pool. There cannot be duplicate pools for the same asset pair. Once a pool has been created for the asset pair, another cannot be created. | string | | | | | | | -| details.liquidity_pool.total_shares | Total number of pool shares issued | numeric | | | | | | | -| details.liquidity_pool.total_trustlines | Number of trustlines for the associated pool shares | integer | | | | | | | -| details.liquidity_pool.type | The mechanism that calculates pricing and division of shares for the pool. With the initial AMM rollout, the only type of liquidity pool allowed to be created is a constant product pool. | string | | | | | | | -| details.liquidity_pool.reserves | Reserved asset in liquidity pool | record | | | | | | | -| details.liquidity_pool.reserves.asset | Reserve asset | string | | | | | | | -| details.liquidity_pool.reserves.amount | Reserve asset amount | numeric | | | | | | | -| details.reserves_received | Asset amount received for reserves from liquidity pool withdraw | record | | | | | | | -| details.reserves_received.asset | Recieved asset | string | | | | | | | -| details.reserves_received.amount | Recieved asset amount | numeric | | | | | | | -| details.reserves_deposited | Asset amount deposited for reserves from liquidity pool deposit | record | | | | | | | -| details.reserves_deposited.asset | Deposited asset | string | | | | | | | -| details.reserves_deposited.amount | Deposited asset amount | numeric | | | | | | | -| details.reserves_revoked | Asset amount revoked for reserves from liquidity pool revoke | record | | | | | | | -| details.reserves_revoked.asset | Revoked asset | string | | | | | | | -| details.reserves_revoked.amount | Revoked asset amount | numeric | | | | | | | -| details.reserves_revoked.claimable_balance_id | Claimable balance id | string | | | | | | | -| details.bought | Asset bought from trade | record | | | | | | | -| details.bought.asset | Asset bought | string | | | | | | | -| details.bought.amount | Asset amount bought | numeric | | | | | | | -| details.sold | Asset sold from trade | record | | | | | | | -| details.sold.asset | Asset sold | string | | | | | | | -| details.sold.amount | Asset amount sold | numeric | | | | | | | -| details.shares_revoked | Shares revoked from liquidity pool revoke | numeric | | | | | | | -| details.shares_received | Shares received from liquidity pool deposit | numeric | | | | | | | -| details.shares_redeemed | Shares redeemed from liquidity pool withrdaw | numeric | | | | | | | -| details.liquidity_pool_id | Unique identifier for a liquidity pool | string | | | | | | | -| details.balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. The balance id can be joined back to the \`claimable_balances\` table to gather more details about the balance | string | | | | | | | -| details.new_seq | New sequence number after bump sequence | integer | | | | | | | -| details.name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | | | | | | -| details.value | Value of data from manage data effect | string | | | | | | | -| details.trustor | Account address of trustor | string | | | | | | | -| details.limit | The upper bound amount of an asset that an account can hold | numeric | | | | | | | -| details.inflation_destination | Inflation destination account id | string | | | | | | | -| details.authorized_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.auth_immutable_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.authorized_to_maintain_liabilites | Auth value for set trustline flags | boolean | | | | | | | -| details.auth_revocable_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.auth_required_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.auth_clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.claimable_balance_clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | | | | -| details.high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | | -| details.med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | | -| details.low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | | -| details.home_domain | The home domain used for the stellar.toml file discovery | string | | | | | | | -| details.asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | | -| details.asset | Asset on network | string | | | | | | | -| details.asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | | -| details.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | | -| details.signer | The address of the account that is allowed to authorize (sign) transactions for another account. This process is called multi-sig | string | | | | | | | -| details.sponsor | The account address of the sponsor who is paying the reserves for this signer | string | | | | | | | -| details.new_sponsor | The new account address of the sponsor who is paying the reserves for this signer | string | | | | | | | -| details.former_sponsor | The former account address of the sponsor who is paying the reserves for this signer | string | | | | | | | -| details.weight | Signer weight | integer | | | | | | | -| details.public_key | Signer public key | string | | | | | | | -| details.amount | Asset amount | numeric | | | | | | | -| details.starting_balance | Account asset starting balance | numeric | | | | | | | -| details.seller | Selling account | string | | | | | | | -| details.seller_muxed | Account multiplexed | string | | | | | | | -| details.seller_muxed_id | Account multiplexed id | integer | | | | | | | -| details.offer_id | The unique id for the offer. This id can be joined with the \`offers\` table | integer | | | | | | | -| details.sold_amount | Amount of asset sold | numeric | | | | | | | -| details.sold_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | | -| details.sold_asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | | -| details.sold_asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | | -| details.bought_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | | -| details.bought_asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | | -| details.bought_asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | | -| details.bought_amount | Amount of asset bought | numeric | | | | | | | -| details.data_name | Ledger entry data name | string | | | | | | | -| details.predicate | The condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic. | record | | | | | | | -| details.predicate.not | | record | | | | | | | -| details.predicate.not.abs_before | | string | | | | | | | -| details.predicate.not.rel_before | | integer | | | | | | | -| details.predicate.not.unconditional | | boolean | | | | | | | -| details.predicate.not.and | | record | | | | | | | -| details.predicate.not.and.abs_before | | string | | | | | | | -| details.predicate.not.and.rel_before | | integer | | | | | | | -| details.predicate.not.and.unconditional | | boolean | | | | | | | -| details.predicate.not.and.abs_before_epoch | | integer | | | | | | | -| details.predicate.not.or | | record | | | | | | | -| details.predicate.not.or.abs_before | | string | | | | | | | -| details.predicate.not.or.rel_before | | integer | | | | | | | -| details.predicate.not.or.unconditional | | boolean | | | | | | | -| details.predicate.not.or.abs_before_epoch | | integer | | | | | | | -| details.predicate.not.not | | record | | | | | | | -| details.predicate.not.not.abs_before | | string | | | | | | | -| details.predicate.not.not.rel_before | | integer | | | | | | | -| details.predicate.not.not.unconditional | | boolean | | | | | | | -| details.predicate.not.not.abs_before_epoch | | integer | | | | | | | -| details.predicate.not.abs_before_epoch | | integer | | | | | | | -| details.predicate.type | | integer | | | | | | | -| details.predicate.and | | record | | | | | | | -| details.predicate.and.abs_before | | string | | | | | | | -| details.predicate.and.rel_before | | integer | | | | | | | -| details.predicate.and.unconditional | | boolean | | | | | | | -| details.predicate.and.and | | record | | | | | | | -| details.predicate.and.and.abs_before | | string | | | | | | | -| details.predicate.and.and.rel_before | | integer | | | | | | | -| details.predicate.and.and.unconditional | | boolean | | | | | | | -| details.predicate.and.and.abs_before_epoch | | integer | | | | | | | -| details.predicate.and.or | | record | | | | | | | -| details.predicate.and.or.abs_before | | string | | | | | | | -| details.predicate.and.or.rel_before | | integer | | | | | | | -| details.predicate.and.or.unconditional | | boolean | | | | | | | -| details.predicate.and.or.abs_before_epoch | | integer | | | | | | | -| details.predicate.and.not | | record | | | | | | | -| details.predicate.and.not.abs_before | | string | | | | | | | -| details.predicate.and.not.rel_before | | integer | | | | | | | -| details.predicate.and.not.unconditional | | boolean | | | | | | | -| details.predicate.and.not.abs_before_epoch | | integer | | | | | | | -| details.predicate.and.abs_before_epoch | | integer | | | | | | | -| details.predicate.or | | record | | | | | | | -| details.predicate.or.abs_before | | string | | | | | | | -| details.predicate.or.rel_before | | integer | | | | | | | -| details.predicate.or.unconditional | | boolean | | | | | | | -| details.predicate.or.and | | record | | | | | | | -| details.predicate.or.and.abs_before | | string | | | | | | | -| details.predicate.or.and.rel_before | | integer | | | | | | | -| details.predicate.or.and.unconditional | | boolean | | | | | | | -| details.predicate.or.and.not | | record | | | | | | | -| details.predicate.or.and.not.abs_before | | string | | | | | | | -| details.predicate.or.and.not.rel_before | | integer | | | | | | | -| details.predicate.or.and.not.unconditional | | boolean | | | | | | | -| details.predicate.or.and.not.abs_before_epoch | | integer | | | | | | | -| details.predicate.or.and.abs_before_epoch | | integer | | | | | | | -| details.predicate.or.or | | record | | | | | | | -| details.predicate.or.or.abs_before | | string | | | | | | | -| details.predicate.or.or.rel_before | | integer | | | | | | | -| details.predicate.or.or.unconditional | | boolean | | | | | | | -| details.predicate.or.or.abs_before_epoch | | integer | | | | | | | -| details.predicate.or.not | | record | | | | | | | -| details.predicate.or.not.abs_before | | string | | | | | | | -| details.predicate.or.not.rel_before | | integer | | | | | | | -| details.predicate.or.not.unconditional | | boolean | | | | | | | -| details.predicate.or.not.abs_before_epoch | | integer | | | | | | | -| details.predicate.or.abs_before_epoch | | integer | | | | | | | -| details.predicate.abs_before | Deadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied. | string | | | | | | | -| details.predicate.rel_before | A relative deadline for when the claimable balance can be claimed. The value represents the number of seconds since the close time of the ledger which created the claimable balance \#### Notes: This condition is useful when creating a timebounds based on creation conditions. If the creator wanted a balance only claimable one week after creation, this condition would satisfy that rule. | integer | | | | | | | -| details.predicate.unconditional | If true it means this clause of the condition is always satisfied. \#### Notes: When the predicate is only unconditional = true, it means that the balance can be claimed under any conditions | boolean | | | | | | | -| details.predicate.abs_before_epoch | A UNIX epoch value in seconds representing the same deadline date as abs_before. | integer | | | | | | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | | | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | id | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | address, operation_id, type | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.history_effects) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| id | This unique effect id is the concatenation of the operation id and the effect index | string | | Yes | | +| index | The index of the effect within the transaction. This index helps to order effects that result from the same transaction, indicating the sequence in which they occurred. | integer | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| address | The address of the account. The address is the account's public key encoded in base32. All account addresses start with a `G` | string | | | | +| address_muxed | Address multiplexed | string | | | | +| operation_id | Unique identifier for an operation | integer | | | | +| type | The number indicating which type of effect | integer | | | | +| type_string | The string indicating which type of effect | string | | | | +| details | Unstructured JSON object that contains details based on the type of effect. Each effect will return its own relevant details, with the rest of the details as null | record | | | | +| details.liquidity_pool | Liquidity pools provide a simple, non-interactive way to trade large amounts of capital and enable high volumes of trading | record | | | | +| details.liquidity_pool.fee_bp | The number of basis points charged as a percentage of the trade in order to complete the transaction. The fees earned on all trades are divided amongst pool shareholders and distributed as an incentive to keep money in the pools | integer | | | | +| details.liquidity_pool.id | Unique identifier for a liquidity pool. There cannot be duplicate pools for the same asset pair. Once a pool has been created for the asset pair, another cannot be created. | string | | | | +| details.liquidity_pool.total_shares | Total number of pool shares issued | numeric | | | | +| details.liquidity_pool.total_trustlines | Number of trustlines for the associated pool shares | integer | | | | +| details.liquidity_pool.type | The mechanism that calculates pricing and division of shares for the pool. With the initial AMM rollout, the only type of liquidity pool allowed to be created is a constant product pool. | string | | | | +| details.liquidity_pool.reserves | Reserved asset in liquidity pool | record | | | | +| details.liquidity_pool.reserves.asset | Reserve asset | string | | | | +| details.liquidity_pool.reserves.amount | Reserve asset amount | numeric | | | | +| details.reserves_received | Asset amount received for reserves from liquidity pool withdraw | record | | | | +| details.reserves_received.asset | Received asset | string | | | | +| details.reserves_received.amount | Received asset amount | numeric | | | | +| details.reserves_deposited | Asset amount deposited for reserves from liquidity pool deposit | record | | | | +| details.reserves_deposited.asset | Deposited asset | string | | | | +| details.reserves_deposited.amount | Deposited asset amount | numeric | | | | +| details.reserves_revoked | Asset amount revoked for reserves from liquidity pool revoke | record | | | | +| details.reserves_revoked.asset | Revoked asset | string | | | | +| details.reserves_revoked.amount | Revoked asset amount | numeric | | | | +| details.reserves_revoked.claimable_balance_id | Claimable balance id | string | | | | +| details.bought | Asset bought from trade | record | | | | +| details.bought.asset | Asset bought | string | | | | +| details.bought.amount | Asset amount bought | numeric | | | | +| details.sold | Asset sold from trade | record | | | | +| details.sold.asset | Asset sold | string | | | | +| details.sold.amount | Asset amount sold | numeric | | | | +| details.shares_revoked | Shares revoked from liquidity pool revoke | numeric | | | | +| details.shares_received | Shares received from liquidity pool deposit | numeric | | | | +| details.shares_redeemed | Shares redeemed from liquidity pool withdraw | numeric | | | | +| details.liquidity_pool_id | Unique identifier for a liquidity pool | string | | | | +| details.balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. The balance id can be joined back to the `claimable_balances` table to gather more details about the balance | string | | | | +| details.new_seq | New sequence number after bump sequence | integer | | | | +| details.name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | | | +| details.value | Value of data from manage data effect | string | | | | +| details.trustor | Account address of trustor | string | | | | +| details.limit | The upper bound amount of an asset that an account can hold | numeric | | | | +| details.inflation_destination | Inflation destination account id | string | | | | +| details.authorized_flag | Auth value for set trustline flags | boolean | | | | +| details.auth_immutable_flag | Auth value for set trustline flags | boolean | | | | +| details.authorized_to_maintain_liabilities | Auth value for set trustline flags | boolean | | | | +| details.auth_revocable_flag | Auth value for set trustline flags | boolean | | | | +| details.auth_required_flag | Auth value for set trustline flags | boolean | | | | +| details.auth_clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | +| details.claimable_balance_clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | +| details.clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | +| details.high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | +| details.med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | +| details.low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | +| details.home_domain | The home domain used for the stellar.toml file discovery | string | | | | +| details.asset_issuer | The account address of the original asset issuer that created the asset | string | | | | +| details.asset | Asset on network | string | | | | +| details.asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | +| details.asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | +| details.signer | The address of the account that is allowed to authorize (sign) transactions for another account. This process is called multi-sig | string | | | | +| details.sponsor | The account address of the sponsor who is paying the reserves for this signer | string | | | | +| details.new_sponsor | The new account address of the sponsor who is paying the reserves for this signer | string | | | | +| details.former_sponsor | The former account address of the sponsor who is paying the reserves for this signer | string | | | | +| details.weight | Signer weight | integer | | | | +| details.public_key | Signer public key | string | | | | +| details.amount | Asset amount | numeric | | | | +| details.starting_balance | Account asset starting balance | numeric | | | | +| details.seller | Selling account | string | | | | +| details.seller_muxed | Account multiplexed | string | | | | +| details.seller_muxed_id | Account multiplexed id | integer | | | | +| details.offer_id | The unique id for the offer. This id can be joined with the `offers` table | integer | | | | +| details.sold_amount | Amount of asset sold | numeric | | | | +| details.sold_asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | +| details.sold_asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | +| details.sold_asset_issuer | The account address of the original asset issuer that created the asset | string | | | | +| details.bought_asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | +| details.bought_asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | +| details.bought_asset_issuer | The account address of the original asset issuer that created the asset | string | | | | +| details.bought_amount | Amount of asset bought | numeric | | | | +| details.data_name | Ledger entry data name | string | | | | +| details.predicate | The condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic. | record | | | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. | datetime | | | | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. | timestamp | | | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/history-ledgers.mdx b/docs/data/hubble/data-catalog/data-dictionary/history-ledgers.mdx index 83254bd7c..5c80119a7 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/history-ledgers.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/history-ledgers.mdx @@ -1,28 +1,47 @@ --- title: History Ledgers sidebar_position: 110 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| sequence | The sequence number that corresponds to the individual ledgers. As ledgers are written to the network, the sequence is incremented by 1 | integer | | | Yes | cluster | Yes | | -| ledger_hash | The hex-encoded SHA-256 hash that represents the ledger's XDR-encoded form | string | | | | | Yes | | -| previous_ledger_hash | The hex-encoded SHA-256 hash of the ledger that immediately precedes this ledger | string | | | | | No | | -| transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | Yes | Defaults to 0 | -| operation_count | The total number of successful operations applied to this ledger | integer | | | | | Yes | Defaults to 0 | -| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | Yes | cluster, MONTH partition | Yes | | -| id | Unique identifier for the ledger | integer | | Yes | | | No | | -| total_coins | Total number of lumens in circulation | integer | | | | | Yes | | -| fee_pool | The sum of all transaction fees | integer | | | | | Yes | | -| base_fee | The fee (in stroops) the network charges per operation in a transaction for the given ledger. The minimum base fee is 100, with the ability to increase if transaction demand exceeds ledger capacity. When this occurs, the ledger enters surge pricing | integer | | | | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | -| base_reserve | The reserve (in stroops) the network requires an account to retain as a minimum balance in order to be a valid account on the network. The current minimum reserve is 10 XLM | integer | 5000000 100000000 | | | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | -| max_tx_set_size | The maximum number of operations that Stellar validator nodes have agreed to process in a given ledger. Since Protocol 11, ledger capacity has been measured in operations rather than transactions | integer | 50 - original max 500 1000 - current max | | | | Yes | | -| protocol_version | The protocol verstion that the Stellar network was running when this ledger was committed. Protocol versions are released ~every 6 months | integer | integers 1 - 19 (will increment) | | | | Yes | Defaults to 0 | -| ledger_header | A base64-encoded string of the raw LedgerHeader xdr struct for this ledger | bytes | | | | | No | | -| successful_transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | No | | -| failed_transaction_count | The number of failed transactions submitted to the network in this ledger. The transaction was still paid for but contained an error that prevented it from executing | integer | | | | | No | | -| tx_set_operation_count | The total number of operations in the transaction set for this ledger, including failed transactions. | integer | | | | | No | Transactions on Stellar are atomic. If one of the operations within a transaction set fails, the entire transaction will failed, including any other operations. | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| soroban_fee_write_1kb | Soroban write fee costs | integer | | | | | | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | sequence | +| Partition Field(s) | closed_at (MONTH partition) | +| Clustered Field(s) | sequence, closed_at | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.history_ledgers) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| sequence | The sequence number that corresponds to the individual ledgers. As ledgers are written to the network, the sequence is incremented by 1 | integer | | Yes | | +| ledger_hash | The hex-encoded SHA-256 hash that represents the ledger's XDR-encoded form | string | | Yes | | +| previous_ledger_hash | The hex-encoded SHA-256 hash of the ledger that immediately precedes this ledger | string | | No | | +| transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | Yes | Defaults to 0 | +| operation_count | The total number of successful operations applied to this ledger | integer | | Yes | Defaults to 0 | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| id | Unique identifier for the ledger | integer | | Yes | | +| total_coins | Total number of lumens in circulation | integer | | Yes | | +| fee_pool | The sum of all transaction fees | integer | | Yes | | +| base_fee | The fee (in stroops) the network charges per operation in a transaction for the given ledger. The minimum base fee is 100, with the ability to increase if transaction demand exceeds ledger capacity. When this occurs, the ledger enters surge pricing | integer | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | +| base_reserve | The reserve (in stroops) the network requires an account to retain as a minimum balance in order to be a valid account on the network. The current minimum reserve is 10 XLM | integer | 5000000 100000000 | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | +| max_tx_set_size | The maximum number of operations that Stellar validator nodes have agreed to process in a given ledger. Since Protocol 11, ledger capacity has been measured in operations rather than transactions | integer | 50 - original max 500 1000 - current max | Yes | | +| protocol_version | The protocol verstion that the Stellar network was running when this ledger was committed. Protocol versions are released ~every 6 months | integer | integers 1 - 19 (will increment) | Yes | Defaults to 0 | +| ledger_header | A base64-encoded string of the raw LedgerHeader xdr struct for this ledger | bytes | | No | | +| successful_transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | No | | +| failed_transaction_count | The number of failed transactions submitted to the network in this ledger. The transaction was still paid for but contained an error that prevented it from executing | integer | | No | | +| tx_set_operation_count | The total number of operations in the transaction set for this ledger, including failed transactions. | integer | | No | Transactions on Stellar are atomic. If one of the operations within a transaction set fails, the entire transaction will failed, including any other operations. | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| soroban_fee_write_1kb | Soroban write fee costs | integer | | No | | +| signature | The signing hash of the validator node which writes the transaction set to the network.This signature ensures the integrity and authenticity of the ledger, confirming that it has not been tampered with | string | | Yes | | +| node_id | The id of winning validator node which is allowed to write transaction set to the network. The winning validator is decided by the network | string | | Yes | | +| total_byte_size_of_bucket_list | The size, in bytes, of the Bucketlist DB for the Stellar Network | integer | | Yes | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/history-operations.mdx b/docs/data/hubble/data-catalog/data-dictionary/history-operations.mdx index f7f5f232d..344ee147d 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/history-operations.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/history-operations.mdx @@ -1,137 +1,154 @@ --- title: History Operations sidebar_position: 120 +description: "" --- -| Name | Description | Data Type | Domain Values | Operation Types Supported | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| application_order | The order number in the transaction set in which the operation is executed. The application order and transaction id is a natural key that comprises the (operation) id | integer | | | | | | Yes | | -| id | Unique identifier for an operation | integer | | | Yes | Yes | | Yes | The operation id is the transaction id + order number | -| source_account | The account address that originates the operation | string | | | | | cluster | Yes | Defaults to '' | -| source_account_muxed | If an account is multiplexed (muxed), the virtual account address that originates the operation | string | | | | | | No | | -| transaction_id | The transaction identifier in which the operation executed. There can be up to 100 operations in a given transaction | integer | | | | | cluster | Yes | | -| type | The number indicating which type of operation this operation executes | integer | 0 - Create Account 1 - Payment 2 - Path Payment Strict Receive 3 - Manage Sell Offer 4 - Create Passive Sell Offer 5 - Set Options 6 - Change Trust 7 - Allow Trust 8 - Account Merge 9 - Inflation 10 - Manage Data 11 - Bump Sequence 12 - Manage Buy Offer 13 - Path Payment Strict Send 14 - Create Claimable Balance 15 - Claim Claimable Balance 16 - Being Sponsoring Future Reserves 17 - End Sponsoring Future Reserves 18 - Revoke Sponsorship 19 - Clawback 20 - Clawback Claimable Balance 21 - Set Trust Line Flags 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | cluster | Yes | When new features are rolled out to the network, many times the new feature results in a new operation type, which is added to the type list. | -| type_string | The string indicating which type of operation this operation executes | string | | | | | | Yes | | -| details | Unstructured JSON object that contains details based on the type of operation executed. Each operation will return its own relevant details, with the rest of the details as null | blob | | see details below (E10:E108) | | | | No | Bigquery does not have a JSON field type (currently in pre-GA pilot only) so this field is a structured, sparse, record field instead. In the upstream data, this field is a true json blob | -| details.account | The new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation) | string | | 0 - Create Account 8 - Account Merge | | | | No | | -| details.account_muxed | The virtual address of the account if the account is multiplexed | string | | 8 - Account Merge | | | | No | | -| details.account_muxed_id | Integer representation of the virtual address of the account if the account is multiplexed | integer | | 8 - Account Merge | | | | No | | -| details.account_id | The address of the account which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | | -| details.amount | Float representation of the amount of an asset sent/offered/etc | float | | 1 - Payment 2 - Path Payment Strict Receive 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer 13 - Path Payment Strict Send 14 - Create Claimable Balance 19 - Clawback | | | | No | | -| details.asset | The asset available to be claimed in the form of "asset_code:issuing_address". If the claimable balance is in XLM, it is reported as "native" | string | | 14 - Create Claimable Balance | | | | No | | -| details.asset_code | The 4 or 12 character code representation of the asset on the network | string | | 1 - Payment 2 - Path Payment Strict Receive 6 - Change Trust 7 - Allow Trust 13 - Path Payment Strict Send 19 - Clawback 21 - Set Trust Line Flags | | | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset | -| details.asset_issuer | The account address of the original asset issuer that created the asset | string | | 1 - Payment 2 - Path Payment Strict Receive 6 - Change Trust 7 - Allow Trust 13 - Path Payment Strict Send 19 - Clawback 21 - Set Trust Line Flags | | | | No | | -| details.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 1 - Payment 2 - Path Payment Strict Receive 6 - Change Trust 7 - Allow Trust 13 - Path Payment Strict Send 19 - Clawback 21 - Set Trust Line Flags | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| details.authorize | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | 7 - Allow Trust | | | | No | | -| details.balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. | string | | 15 - Claim Claimable Balance 20 - Clawback Claimable Balance | | | | No | | -| details.buying_asset_code | The 4 or 12 character code representation of the asset that is either bought or offered to buy in a trade | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | | -| details.buying_asset_issuer | The account address of the original asset issuer that created the asset bought or offered to buy | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | | -| details.buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| details.claimable_balance_id | The balance id of the claimable balance which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | | -| details.claimant | The account address of the account which claimed the claimable balance | string | | 15 - Claim Claimable Balance | | | | No | | -| details.claimant_muxed | If the account is multiplexed, the virtual address of the account which claimed the claimable balance | string | | 15 - Claim Claimable Balance | | | | No | | -| details.claimant_muxed_id | If the account is multiplexed, an integer representation of the muxed account which claimed the balance | integer | | 15 - Claim Claimable Balance | | | | No | | -| details.claimants | An unstructured field that lists account addresses eligible to claim a balance and the conditions which must be satisfied to claim the balance (typically time bound conditions) | array[record] | | 14 - Create Claimable Balance | | | | No | | -| details.data_account_id | The account address of the account whose data entry is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | | -| details.data_name | The name of the data entry which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | | -| details.from | The account address from which the payment originates (the sender account) | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send 19 - Clawback | | | | No | | -| details.from_muxed | If the account is multiplexed, the virtual address of the sender account | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send 19 - Clawback | | | | No | | -| details.from_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the sender account | integer | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send 19 - Clawback | | | | No | | -| details.funder | When a new account is created, an account address "funds" the new account | string | | 0 - Create Account | | | | No | | -| details.funder_muxed | If the account is multiplexed, the virtual address of the account funding the new account | string | | 0 - Create Account | | | | No | | -| details.funder_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the account funding the new acocunt. | string | | 0 - Create Account | | | | No | | -| details.high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | 5 - Set Options | | | | No | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| details.home_domain | The home domain used for the stellar.toml file discovery | string | | 5 - Set Options | | | | No | | -| details.inflation_dest | The account address specifying where to send inflation funds. The concept of inflation on the network has been discontinued | string | | 5 - Set Options | | | | No | Inflation was retired from the network in 2019. | -| details.into | The account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be merged | string | | 8 - Account Merge | | | | No | | -| details.into_muxed | If the account is multiplexed, the virtual address of the account receive the deleted account's lumens | string | | 8 - Account Merge | | | | No | | -| details.into_muxed_id | If the account is multipled, the integer representation of the account receiving the deleted account's lumens | integer | | 8 - Account Merge | | | | No | | -| details.limit | The upper bound amount of an asset that an account can hold | float | | 6 - Change Trust | | | | No | | -| details.low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | 5 - Set Options | | | | No | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| details.master_key_weight | An accounts private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transaction | integer | Integers from 1 to 255 | 5 - Set Options | | | | No | Defaults to 1 | -| details.med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | 5 - Set Options | | | | No | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options | -| details.name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | 10 - Manage Data | | | | No | If the name is new, the manage data operation will add the given name/value pair to the account. If the name is already present, the associated value will be modified. | -| details.offer_id | The unique id for the offer. This id can be joined with the \`offers\` table | integer | | 3 - Manage Sell Offer 12 - Manage Buy Offer 18 - Revoke Sponsorship | | | | No | | -| details.path | Path payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquid | record | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | Up to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail which means the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure. | -| details.price | The ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying asset | array[float] | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | | -| details.price_r | Precise representation of the buy and sell price of the assets on an offer. The n is the numerator, the d is the denominator. By calculating the ratio of n/d you can calculate the price of the bid or ask | record | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | | -| details.selling_asset_code | The 4 or 12 character code representation of the asset that is either sold or offered to sell in a trade | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | | -| details.selling_asset_issuer | The account address of the original asset issuer that created the asset sold or offered to sell | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | | -| details.selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| details.set_flags | Array of numeric values of the flags set for a given trustline in the operation | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | 21 - Set Trust Line Flags | | | | No | | -| details.set_flags_s | Array of string values of the flags set for a given trustline in the operation | array[string] | Auth Required Auth Revocable Auth Immutable | 21 - Set Trust Line Flags | | | | No | | -| details.signer_account_id | The address of the account of the signer no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | | -| details.signer_key | The address of the signer which is no longer sponsored | string | | 5 - Set Options 18 - Revoke Sponsorship | | | | No | | -| details.signer_weight | The weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transaction | integer | Integers from 1 to 255 | 5 - Set Options | | | | No | | -| details.source_amount | The originating amount sent designated in the source asset | float | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | | -| details.source_asset_code | The 4 or 12 character code representation of the asset that is originally sent | string | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | | -| details.source_asset_issuer | The account address of the original asset issuer that created the asset sent | string | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | | -| details.source_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| details.source_max | The maxium amount to be sent, designated in the source asset | float | | 2 - Path Payment Strict Receive | | | | No | Exchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a maximum amount they are willing to send if the rates between the asset pair are bad. | -| details.starting_balance | The amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar Network | float | | 0 - Create Account | | | | No | | -| [details.to](http://details.to/) | The address of the account receiving the payment funds | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | | -| details.to_muxed | If the account is multiplexed, the virtual address of the account receiving the payment | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | | -| details.to_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the recipient account | integer | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | | -| details.trustee | The issuing account address (only present for \`credit\` asset types) | string | | 6 - Change Trust 7 - Allow Trust | | | | No | | -| details.trustee_muxed | If the issuing account address is multiplexed, the virtual address | string | | 7 - Allow Trust | | | | No | | -| details.trustee_muxed_id | If the issuing account address is multiplexed, the integer representation of the virtual address | integer | | 7 - Allow Trust | | | | No | | -| details.trustline_account_id | The address of the account whose trustline is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | | -| details.trustline_asset | The asset of the trustline which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | A sponsor can determine they want to revoke sponsorship of certain assets but maintain the sponsorship of other assets | -| details.trustor | The trusting account address, or the account being authorized or unauthorized | string | | 6 - Change Trust 7 - Allow Trust 21 - Set Trust Line Flags | | | | No | | -| details.trustor_muxed | If the trusting account is multiplexed, the virtual address of the account | string | | 6 - Change Trust | | | | No | | -| details.trustor_muxed_id | If the trusting account is multiplexed, the integer representation of the virtual address | integer | | 6 - Change Trust | | | | No | | -| details.value | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The value is the value of a key for a data entry. | string | | 10 - Manage Data | | | | No | | -| details.clear_flags | Array of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | 21 - Set Trust Line Flags | | | | No | | -| details.clear_flags_s | Array of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[string] | Auth Required Auth Revocable Auth Immutable | 21 - Set Trust Line Flags | | | | No | | -| details.destination_min | The minimum amount to be received, designated in the expected destination asset | string | | 13 - Path Payment Strict Send | | | | No | Exchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a guaranteed minimum amount they want sent to the recipient to ensure they receive a specified value. | -| details.bump_to | The new desired value of the source account's sequence number | string | | 11 - Bump Sequence | | | | No | | -| details.authorize_to_maintain_liabilities | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | 7 - Allow Trust | | | | No | | -| details.clawback_enabled | Indicates whether the asset can be clawed back by the asset issuer | boolean | | 5 - Set Options 7 - Allow Trust | | | | No | | -| details.sponsor | The account address of another account that maintains the minimum balance in XLM for the source account to complete operations | string | | Any Type | | | | No | | -| details.sponsored_id | The account address of the account which will be sponsored | string | | 16 - Begin Sponsoring Future Reserves | | | | No | | -| details.begin_sponsor | The account address of the account which initiated the sponsorship | string | | 17 - End Sponsoring Future Reserves | | | | No | | -| details.begin_sponsor_muxed | If the initiating sponsorship account is multiplexed, the virtual address | string | | 17 - End Sponsoring Future Reserves | | | | No | | -| details.begin_sponsor_muxed_id | If the initiating sponsorship account is multiplexed, the integer representation of the virtual address | integer | | 17 - End Sponsoring Future Reserves | | | | No | | -| details.liquidity_pool_id | Unique identifier for a liquidity pool | string | | 6 - Change Trust 18 - Revoke Sponsorship 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | Liquidity pools are automated money markets between an asset pair. A given pool will only ever have two assets unless there is a protocol change | -| details.reserve_a_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_a_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_a_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_a_max_amount | The maximum amount of reserve a that can be deposited into the pool. | float | | 22 - Liquidity Pool Deposit | | | | No | Deposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit | -| details.reserve_a_deposit_amount | The amount of reserve a that ended up actually deposited into the pool | float | | 22 - Liquidity Pool Deposit | | | | No | | -| details.reserve_b_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_b_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_b_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_b_max_amount | The maximum amount of reserve b that can be deposited into the pool. | float | | 22 - Liquidity Pool Deposit | | | | No | Deposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit | -| details.reserve_b_deposit_amount | The amount of reserve b that ended up actually deposited into the pool. | float | | 22 - Liquidity Pool Deposit | | | | No | | -| details.min_price | The floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | 22 - Liquidity Pool Deposit | | | | No | Market rates fluctuate for pricing and the source account can specify a minimum price they expect to receive as a ratio of the two assets in the pool | -| details.min_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | 22 - Liquidity Pool Deposit | | | | No | | -| details.max_price | The floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | 22 - Liquidity Pool Deposit | | | | No | Market rates fluctuate for pricing and the source account can specify a maximum price they expect to receive as a ratio of the two assets in the pool | -| details.max_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | 22 - Liquidity Pool Deposit | | | | No | | -| details.shares_received | A floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a pool | float | | 22 - Liquidity Pool Deposit | | | | No | | -| details.reserve_a_min_amount | The minimum amount of reserve a that can be withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_a_withdraw_amount | The amount of reserve a that ended up actually withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_b_min_amount | The minimum amount of reserve b that can be withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | | -| details.reserve_b_withdraw_amount | The amount of reserve b that ended up actually withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | | -| details.shares | The number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b, equal value must be withdrawn from the pool | float | | 23 - Liquidity Pool Withdraw | | | | No | | -| details.asset_balance_changes | The balance changes applied to an account or contract from an invoke host function. An asset must be a classic asset transferred through the [SAC](https://soroban.stellar.org/docs/tokens/stellar-asset-contract) to be included. | record | | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.amount | The amount of token minted, transferred or burned using the SAC contract. | integer | | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.asset_code | The 4 or 12 character code representation of the asset transferred using SAC contract | string | | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.asset_issuer | The wallet address of the account that issued the asset. This asset is a classic asset even though it is sent through SAC contract. | string | | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.from | The originating wallet address or contract id from where the funds were sent | string | | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.to | The destination wallet address or contract id where the funds go | string | | 24 - Invoke Host Function | | | | No | | -| details.asset_balance_changes.type | The specific SAC operation type that indicates the type of value transfer occurring. | string | mint transfer burn | 24 - Invoke Host Function | | | | No | | -| details.parameters | The parameters passed to the function call for a Soroban contract. These are base64 encoded XDR. The record follows the format of \`type\` + \`value\` pair | record | | 24 - Invoke Host Function | | | | No | | -| details.parameters_decoded | The decoded human readable parameters passed to a function call for a Soroban contract. The record follows the format of \`type\` + \`value\` pair | record | | 24 - Invoke Host Function | | | | No | | -| details.function | The function type invoked by the host operation | string | HostFunctionTypeHostFunctionTypeInvokeContract HostFunctionTypeHostFunctionTypeCreateContract HostFunctionTypeHostFunctionTypeUploadContractWasm | 24 - Invoke Host Function | | | | No | | -| details.address | The wallet address used to create and deploy a Soroban contract instance. | string | | 24 - Invoke Host Function | | | | No | | -| details.type | The type of Soroban operation that is invoked within a host function | string | invoke_contract create_contract upload_wasm extend_footprint_ttl restore_footprint | 24 - Invoke Host Function 25 - Extend Footprint Ttl 26 - Restore Footprint | | | | No | | -| details.extend_to | The number of ledgers in which the Soroban ledger entry is extended | integer | | 25 - Extend Footprint Ttl | | | | No | | -| details.contract_id | The unique identifier of the deployed contract instance. Each custom Soroban contract and deployed SAC token will have a unique contract_id. | string | | 24 - Invoke Host Function 25 - Extend Footprint Ttl 26 - Restore Footprint | | | | No | | -| details.contract_code_hash | The hex-encoded SHA-256 hash that represents the contract code's XDR-encoded form | string | | 24 - Invoke Host Function 25 - Extend Footprint Ttl 26 - Restore Footprint | | | | No | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | | Yes | | -| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | | | | Yes | We are aiming to repartition this table on closed_at | -| operation_result_code | The result code returned when an operation is applied. This code is helpful for understanding failed operations. | string | OperationResultCodeOpInner OperationResultCodeOpBadAuth OperationResultCodeOpNoAccount OperationResultCodeOpNotSupported OperationResultCodeOpTooManySubentries OperationResultCodeOpExceededWorkLimit OperationResultCodeOpTooManySponsoring | | | | | Yes | Field will be backfilled at a future date | -| operation_trace_code | The trace code returned when an operation is applied to the Stellar Network. This code is helpful for understanding nuanced failures by operation type. This code provides the lowest level detail regarding why a transaction fails. | string | InvokeHostFunctionResultCodeInvokeHostFunction Success Malformed Trapped ResourceLimitExceeded EntryArchived InsufficientRefundableFee ExtendFootprintTtlResultCodeExtendFootprintTtl Success Malformed ResourceLimitExceeded InsufficientRefundableFee RestoreFootprintResultCodeRestoreFootprint Success Malformed ResourceLimitExceeded InsufficientRefundableFee | All operations, only Soroban Operation types are detailed (see notes for more) | | | | Yes | See the XDR [documentation](https://pkg.go.dev/github.com/stellar/go/xdr#OperationResultTr) for more details | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | id | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | transaction_id, source_account, type | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.history_operations) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| id | Unique identifier for an operation | integer | | Yes | The operation id is the transaction id + order number | +| source_account | The account address that originates the operation | string | | Yes | Defaults to '' | +| source_account_muxed | If an account is multiplexed (muxed), the virtual account address that originates the operation | string | | No | | +| transaction_id | The transaction identifier in which the operation executed. There can be up to 100 operations in a given transaction | integer | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| type | The number indicating which type of operation this operation executes | integer |
    • 0 - Create Account
    • 1 - Payment
    • 2 - Path Payment Strict Receive
    • 3 - Manage Sell Offer
    • 4 - Create Passive Sell Offer
    • 5 - Set Options
    • 6 - Change Trust
    • 7 - Allow Trust
    • 8 - Account Merge
    • 9 - Inflation
    • 10 - Manage Data
    • 11 - Bump Sequence
    • 12 - Manage Buy Offer
    • 13 - Path Payment Strict Send
    • 14 - Create Claimable Balance
    • 15 - Claim Claimable Balance
    • 16 - Begin Sponsoring Future Reserves
    • 17 - End Sponsoring Future Reserves
    • 18 - Revoke Sponsorship
    • 19 - Clawback
    • 20 - Clawback Claimable Balance
    • 21 - Set Trust Line Flags
    • 22 - Liquidity Pool Deposit
    • 23 - Liquidity Pool Withdraw
    | Yes | | +| type_string | The string indicating which type of operation this operation executes | string | | Yes | | +| details | Unstructured JSON object that contains details based on the type of operation executed | blob | see details below (E10:E108) | No | Bigquery does not have a JSON field type (currently in pre-GA pilot only) so this field is a structured, sparse, record field instead. In the upstream data, this field is a true json blob | +| details.account | The new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation) | string | | No | | +| details.account_muxed | The virtual address of the account if the account is multiplexed | string | | No | | +| details.account_muxed_id | Integer representation of the virtual address of the account if the account is multiplexed | integer | | No | | +| details.account_id | The address of the account which is no longer sponsored | string | | No | | +| details.amount | Float representation of the amount of an asset sent/offered/etc | float | | No | | +| details.asset | The asset available to be claimed in the form of "asset_code:issuing_address". If the claimable balance is in XLM, it is reported as "native" | string | | No | | +| details.asset_code | The 4 or 12 character code representation of the asset on the network | string |
    • 1 - Payment
    • 2 - Path Payment Strict Receive
    • 6 - Change Trust
    • 7 - Allow Trust
    • 13 - Path Payment Strict Send
    • 19 - Clawback
    • 21 - Set Trust Line Flags
    | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset | +| details.asset_issuer | The account address of the original asset issuer that created the asset | string |
    • 1 - Payment
    • 2 - Path Payment Strict Receive
    • 6 - Change Trust
    • 7 - Allow Trust
    • 13 - Path Payment Strict Send
    • 19 - Clawback
    • 21 - Set Trust Line Flags
    | No | | +| details.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| details.authorize | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | No | | +| details.balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. | string | | No | | +| details.buying_asset_code | The 4 or 12 character code representation of the asset that is either bought or offered to buy in a trade | string | | No | | +| details.buying_asset_issuer | The account address of the original asset issuer that created the asset bought or offered to buy | string | | No | | +| details.buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| details.claimable_balance_id | The balance id of the claimable balance which is no longer sponsored | string | | No | | +| details.claimant | The account address of the account which claimed the claimable balance | string | | No | | +| details.claimant_muxed | If the account is multiplexed, the virtual address of the account which claimed the claimable balance | string | | No | | +| details.claimant_muxed_id | If the account is multiplexed, an integer representation of the muxed account which claimed the balance | integer | | No | | +| details.claimants | An unstructured field that lists account addresses eligible to claim a balance and the conditions which must be satisfied to claim the balance (typically time bound conditions) | array[record] | | No | | +| details.data_account_id | The account address of the account whose data entry is no longer sponsored | string | | No | | +| details.data_name | The name of the data entry which is no longer sponsored | string | | No | | +| details.from | The account address from which the payment originates (the sender account) | string | | No | | +| details.from_muxed | If the account is multiplexed, the virtual address of the sender account | string | | No | | +| details.from_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the sender account | integer | | No | | +| details.funder | When a new account is created, an account address "funds" the new account | string | | No | | +| details.funder_muxed | If the account is multiplexed, the virtual address of the account funding the new account | string | | No | | +| details.funder_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the funding account | integer | | No | | +| details.high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation | integer | | No | Each operation falls under a specific threshold category: low, medium, or high. Thresholds define the level of privilege an operation needs in order to succeed. Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance; Medium Security: Everything Else; High Security: Account Merge, Set Options | +| details.home_domain | The home domain used for the stellar.toml file discovery | string | | No | | +| details.inflation_dest | The account address specifying where to send inflation funds. The concept of inflation on the network has been discontinued | string | | No | Inflation was retired from the network in 2019. | +| details.into | The account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be merged | string | | No | | +| details.into_muxed | If the account is multiplexed, the virtual address of the account receiving the deleted account's lumens | string | | No | | +| details.into_muxed_id | If the account is multiplexed, the integer representation of the account receiving the deleted account's lumens | integer | | No | | +| details.limit | The upper bound amount of an asset that an account can hold | float | | No | | +| details.low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation | integer | | No | Each operation falls under a specific threshold category: low, medium, or high. Thresholds define the level of privilege an operation needs in order to succeed. Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance; Medium Security: Everything Else; High Security: Account Merge, Set Options | +| details.master_key_weight | An account's private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transaction | integer | Integers from 1 to 255 | No | Defaults to 1 | +| details.med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation | integer | | No | Each operation falls under a specific threshold category: low, medium, or high. Thresholds define the level of privilege an operation needs in order to succeed. Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance; Medium Security: Everything Else; High Security: Account Merge, Set Options | +| details.name | The manage data operation allows an account to write and store data directly on the ledger in a key-value pair format. The name is the key for a data entry | string | | No | If the name is new, the manage data operation will add the given name/value pair to the account. If the name is already present, the associated value will be modified. | +| details.offer_id | The unique id for the offer. This id can be joined with the `offers` table | integer | | No | | +| details.path | Path payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquid | record | | No | Up to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate. Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail, meaning the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure. | +| details.price | The ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying asset | array[float] | | No | | +| details.price_r | Precise representation of the buy and sell price of the assets on an offer. The n is the numerator, the d is the denominator. By calculating the ratio of n/d you can calculate the price of the bid or ask | record | | No | | +| details.selling_asset_code | The 4 or 12 character code representation of the asset that is either sold or offered to sell in a trade | string | | No | | +| details.selling_asset_issuer | The account address of the original asset issuer that created the asset sold or offered to sell | string | | No | | +| details.selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| details.set_flags | Array of numeric values of the flags set for a given trustline in the operation | array[integer] |
    • 1 - Auth Required
    • 2 - Auth Revocable
    • 4 - Auth Immutable
    | No | | +| details.set_flags_s | Array of string values of the flags set for a given trustline in the operation | array[string] |
    • Auth Required
    • Auth Revocable
    • Auth Immutable
    | No | | +| details.signer_account_id | The address of the account of the signer no longer sponsored | string | | No | | +| details.signer_key | The address of the signer which is no longer sponsored | string | | No | | +| details.signer_weight | The weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transaction | integer | Integers from 1 to 255 | No | | +| details.source_amount | The originating amount sent designated in the source asset | float | | No | | +| details.source_asset_code | The 4 or 12 character code representation of the asset that is originally sent | string | | No | | +| details.source_asset_issuer | The account address of the original asset issuer that created the asset sent | string | | No | | +| details.source_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| details.source_max | The maximum amount to be sent, designated in the source asset | float | | No | Exchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a maximum amount they are willing to send if the rates between the asset pair are unfavorable. | +| details.starting_balance | The amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar Network | float | | No | | +| details.to | The address of the account receiving the payment funds | string | | No | | +| details.to_muxed | If the account is multiplexed, the virtual address of the account receiving the payment | string | | No | | +| details.to_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the recipient account | integer | | No | | +| details.trustee | The issuing account address (only present for `credit` asset types) | string | | No | | +| details.trustee_muxed | If the issuing account address is multiplexed, the virtual address | string | | No | | +| details.trustee_muxed_id | If the issuing account address is multiplexed, the integer representation of the virtual address | integer | | No | | +| details.trustline_account_id | The address of the account whose trustline is no longer sponsored | string | | No | | +| details.trustline_asset | The asset of the trustline which is no longer sponsored | string | | No | A sponsor can determine they want to revoke sponsorship of certain assets but maintain the sponsorship of other assets | +| details.trustor | The trusting account address, or the account being authorized or unauthorized | string | | No | | +| details.trustor_muxed | If the trusting account is multiplexed, the virtual address of the account | string | | No | | +| details.trustor_muxed_id | If the trusting account is multiplexed, the integer representation of the virtual address | integer | | No | | +| details.value | The manage data operation allows an account to write and store data directly on the ledger in a key-value pair format. The value is the value of a key for a data entry | string | | No | | +| details.clear_flags | Array of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[integer] |
    • 1 - Auth Required
    • 2 - Auth Revocable
    • 4 - Auth Immutable
    | No | | +| details.clear_flags_s | Array of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[string] |
    • Auth Required
    • Auth Revocable
    • Auth Immutable
    | No | | +| details.destination_min | The minimum amount to be received, designated in the expected destination asset | string | | No | Exchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a guaranteed minimum amount they want sent to the recipient to ensure they receive a specified value. | +| details.bump_to | The new desired value of the source account's sequence number | string | | No | | +| details.authorize_to_maintain_liabilities | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | No | | +| details.clawback_enabled | Indicates whether the asset can be clawed back by the asset issuer | boolean | | No | | +| details.sponsor | The account address of another account that maintains the minimum balance in XLM for the source account to complete operations | string | Any Type | No | | +| details.sponsored_id | The account address of the account which will be sponsored | string | | No | | +| details.begin_sponsor | The account address of the account which initiated the sponsorship | string | | No | | +| details.begin_sponsor_muxed | If the initiating sponsorship account is multiplexed, the virtual address | string | | No | | +| details.begin_sponsor_muxed_id | If the initiating sponsorship account is multiplexed, the integer representation of the virtual address | integer | | No | | +| details.liquidity_pool_id | Unique identifier for a liquidity pool | string | | No | Liquidity pools are automated money markets between an asset pair. A given pool will only ever have two assets unless there is a protocol change | +| details.reserve_a_asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | | +| details.reserve_a_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | No | | +| details.reserve_a_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | No | | +| details.reserve_a_max_amount | The maximum amount of reserve a that can be deposited into the pool | float | | No | Deposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit | +| details.reserve_a_deposit_amount | The amount of reserve a that ended up actually deposited into the pool | float | | No | | +| details.reserve_b_asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | | +| details.reserve_b_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | No | | +| details.reserve_b_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | No | | +| details.reserve_b_max_amount | The maximum amount of reserve b that can be deposited into the pool | float | | No | Deposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit | +| details.reserve_b_deposit_amount | The amount of reserve b that ended up actually deposited into the pool | float | | No | | +| details.min_price | The floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | No | Market rates fluctuate for pricing and the source account can specify a minimum price they expect to receive as a ratio of the two assets in the pool | +| details.min_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | No | | +| details.max_price | The floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | No | Market rates fluctuate for pricing and the source account can specify a maximum price they expect to receive as a ratio of the two assets in the pool | +| details.max_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | No | | +| details.shares_received | A floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a pool | float | | No | | +| details.reserve_a_min_amount | The minimum amount of reserve a that can be withdrawn from the pool | float | | No | | +| details.reserve_a_withdraw_amount | The amount of reserve a that ended up actually withdrawn from the pool | float | | No | | +| details.reserve_b_min_amount | The minimum amount of reserve b that can be withdrawn from the pool | float | | No | | +| details.reserve_b_withdraw_amount | The amount of reserve b that ended up actually withdrawn from the pool | float | | No | | +| details.shares | The number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b; equal value must be withdrawn from the pool | float | | No | | +| details.asset_balance_changes | The balance changes applied to an account or contract from an invoke host function. An asset must be a classic asset transferred through the [SAC](https://soroban.stellar.org/docs/tokens/stellar-asset-contract) to be included. | record | | No | | +| details.asset_balance_changes.amount | The amount of token minted, transferred or burned using the SAC contract | integer | | No | | +| details.asset_balance_changes.asset_code | The 4 or 12 character code representation of the asset transferred using SAC contract | string | | No | | +| details.asset_balance_changes.asset_issuer | The wallet address of the account that issued the asset. This asset is a classic asset even though it is sent through SAC contract | string | | No | | +| details.asset_balance_changes.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | No | | +| details.asset_balance_changes.from | The originating wallet address or contract id from where the funds were sent | string | | No | | +| details.asset_balance_changes.to | The destination wallet address or contract id where the funds go | string | | No | | +| details.asset_balance_changes.type | The specific SAC operation type that indicates the type of value transfer occurring. | string |
    • mint
    • transfer
    • burn
    | No | | +| details.parameters | The parameters passed to the function call for a Soroban contract. These are base64 encoded XDR. The record follows the format of `type` + `value` pair | record | | No | | +| details.parameters_decoded | The decoded human-readable parameters passed to a function call for a Soroban contract. The record follows the format of `type` + `value` pair | record | | No | | +| details.function | The function type invoked by the host operation | string |
    • HostFunctionTypeHostFunctionTypeInvokeContract
    • HostFunctionTypeHostFunctionTypeCreateContract
    • HostFunctionTypeHostFunctionTypeUploadContractWasm
    | No | | +| details.address | The wallet address used to create and deploy a Soroban contract instance | string | | No | | +| details.type | The type of Soroban operation that is invoked within a host function | string |
    • invoke_contract
    • create_contract
    • upload_wasm
    • extend_footprint_ttl
    • restore_footprint
    | No | | +| details.extend_to | The number of ledgers in which the Soroban ledger entry is extended | integer | | No | | +| details.contract_id | The unique identifier of the deployed contract instance. Each custom Soroban contract and deployed SAC token will have a unique contract_id | string | | No | | +| details.contract_code_hash | The hex-encoded SHA-256 hash that represents the contract code's XDR-encoded form | string | | No | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | We are aiming to repartition this table on closed_at | +| operation_result_code | The result code returned when an operation is applied. This code is helpful for understanding failed operations | string |
    • OperationResultCodeOpInner
    • OperationResultCodeOpBadAuth
    • OperationResultCodeOpNoAccount
    • OperationResultCodeOpNotSupported
    • OperationResultCodeOpTooManySubentries
    • OperationResultCodeOpExceededWorkLimit
    • OperationResultCodeOpTooManySponsoring
    | Yes | Field will be backfilled at a future date | +| operation_trace_code | The trace code returned when an operation is applied to the Stellar Network. This code is helpful for understanding nuanced failures by operation type. This code provides the lowest level detail regarding why a transaction fails | string |
    • InvokeHostFunctionResultCodeInvokeHostFunctionSuccess
    • Malformed
    • Trapped
    • ResourceLimitExceeded
    • EntryArchived
    • InsufficientRefundableFee
    • ExtendFootprintTtlResultCodeExtendFootprintTtlSuccess
    • Malformed
    • ResourceLimitExceeded
    • InsufficientRefundableFee
    • RestoreFootprintResultCodeRestoreFootprintSuccess
    • Malformed
    • ResourceLimitExceeded
    • InsufficientRefundableFee
    | Yes | See the XDR [documentation](https://pkg.go.dev/github.com/stellar/go/xdr#OperationResultTr) for more details | +| details_json | Record that contains details based on the type of operation executed. Each operation will return its own relevant details, with the rest of the details as null | json | | | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/history-trades.mdx b/docs/data/hubble/data-catalog/data-dictionary/history-trades.mdx index 282e7c0fe..171bc87e4 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/history-trades.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/history-trades.mdx @@ -1,34 +1,50 @@ --- title: History Trades sidebar_position: 130 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| history_operation_id | The operation id associated with the executed trade. The total amount traded in an operation can be broken up into multiple smaller trades spread across multiple orders by multiple parties | integer | | | Yes | | Yes | There is a many to one relationship for history_operation_id with the history_operations table. | -| order | The sequential number assigned the portion of a trade that is executed within a operation. The history_operation_id and order number together represent a unique trade segment | integer | | | Yes | | Yes | | -| ledger_closed_at | The timestamp in UTC when the ledger with this trade was closed | timestamp | | | Yes | MONTH partition | Yes | | -| selling_account_address | The account address of the selling party | string | | | | | No | | -| selling_asset_code | The 4 or 12 character code of the sold asset within a trade | string | | | | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset | -| selling_asset_issuer | The account address of the original asset issuer for the sold asset within a trade | string | | | | | No | | -| selling_asset_type | The identifier for type of asset code used for the sold asset within the trade | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| selling_amount | The amount of sold asset that was moved from the seller account to the buyer account, reported in terms of the sold amount | float | | | | | Yes | | -| buying_account_address | The account address of the buying party | string | | | | | No | | -| buying_asset_code | The 4 or 12 character code of the bought asset within a trade | string | | | | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset | -| buying_asset_issuer | The account address of the original asset issuer for the bought asset within a trade | string | | | | | No | | -| buying_asset_type | The identifier for type of asset code used for the bought asset within the trade | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | -| buying_amount | The amount of purchased asset that was moved from the seller account into the buying account, reported in terms of the bought asset | float | | | | | Yes | | -| price_n | The price ratio of the sold asset: bought asset. When taken with price_d, the price can be calculated by price_n/price_d | integer | | | | | No | | -| price_d | The price ratio of the sold asset: bought asset. When taken with price_n, the price can be calculated by price_n/price_d | integer | | | | | No | | -| selling_offer_id | The offer ID in the orderbook of the selling offer. If this offer was immediately and fully consumed, this will be a synthetic ID. | integer | | | | | No | | -| buying_offer_id | The offer ID in the orderbook of the buying offer. If this offer was immediately and fully consumed, this will be a synthetic ID. | integer | | | | | No | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | No | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | No | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | No | | -| selling_liquidity_pool_id | The unique identifier for a liquidity pool if the trade was executed against a liquidity pool instead of the orderbook | string | | | | | No | | -| liquidity_pool_fee | The percentage fee (in basis points) of the total fee collected by the liquidity pool for executing the trade. The fee is pooled and distributed back to liquidity pool shareholders to incentivize users to stake money in the pool. | integer | 30 | | | | No | Liquidity pool fees can only change with protocol changes to the network itself | -| trade_type | Indicates whether the trade was executed against the orderbook (decentralized exchange) or liquidity pool | integer | 1 - Decentralized Exchange Trade 2 - Liquidity Pool Trade | | | cluster | No | | -| rounding_slippage | Applies to liquidity pool trades only. With fractional amounts of an asset traded, the network must round a fraction to the nearest whole number. This can cause the trade to "slip" price by a percentage compared with the original offer. Rounding slippage reports the percentage that dust trades slip before executing. | integer | | | | | No | Defaults to 1 Rounding Slippage is always unprofitable for the trader and is not a valid way to try and extract more value from the network. | -| seller_is_exact | Indicates whether the buying or selling party trade was impacted by rounding slippage. If true, the buyer was impacted. If false, the seller was impacted | boolean | | | | | No | | -| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | integer | | | | cluster | No | | -| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | integer | | | | cluster | No | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | history_operation_id, order | +| Partition Field(s) | ledger_closed_at (MONTH partition) | +| Clustered Field(s) | selling_asset_id, buying_asset_id, trade_type | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.history_trades) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| history_operation_id | The operation id associated with the executed trade. The total amount traded in an operation can be broken up into multiple smaller trades spread across multiple orders by multiple parties | integer | | Yes | There is a many-to-one relationship for history_operation_id with the history_operations table. | +| order | The sequential number assigned to the portion of a trade that is executed within an operation. The history_operation_id and order number together represent a unique trade segment | integer | | Yes | | +| ledger_closed_at | The timestamp in UTC when the ledger with this trade was closed | timestamp | | Yes | | +| selling_account_address | The account address of the selling party | string | | No | | +| selling_asset_code | The 4 or 12 character code of the sold asset within a trade | string | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer, and type represents a distinct asset | +| selling_asset_issuer | The account address of the original asset issuer for the sold asset within a trade | string | | No | | +| selling_asset_type | The identifier for type of asset code used for the sold asset within the trade | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| selling_amount | The amount of sold asset that was moved from the seller account to the buyer account, reported in terms of the sold amount | float | | Yes | | +| buying_account_address | The account address of the buying party | string | | No | | +| buying_asset_code | The 4 or 12 character code of the bought asset within a trade | string | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer, and type represents a distinct asset | +| buying_asset_issuer | The account address of the original asset issuer for the bought asset within a trade | string | | No | | +| buying_asset_type | The identifier for type of asset code used for the bought asset within the trade | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' | +| buying_amount | The amount of purchased asset that was moved from the seller account into the buying account, reported in terms of the bought asset | float | | Yes | | +| price_n | The price ratio of the sold asset: bought asset. When taken with price_d, the price can be calculated by price_n/price_d | integer | | No | | +| price_d | The price ratio of the sold asset: bought asset. When taken with price_n, the price can be calculated by price_n/price_d | integer | | No | | +| selling_offer_id | The offer ID in the orderbook of the selling offer. If this offer was immediately and fully consumed, this will be a synthetic ID. | integer | | No | | +| buying_offer_id | The offer ID in the orderbook of the buying offer. If this offer was immediately and fully consumed, this will be a synthetic ID. | integer | | No | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | No | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | No | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | No | | +| selling_liquidity_pool_id | The unique identifier for a liquidity pool if the trade was executed against a liquidity pool instead of the orderbook | string | | No | | +| liquidity_pool_fee | The percentage fee (in basis points) of the total fee collected by the liquidity pool for executing the trade. The fee is pooled and distributed back to liquidity pool shareholders to incentivize users to stake money in the pool. | integer | 30 | No | Liquidity pool fees can only change with protocol changes to the network itself | +| trade_type | Indicates whether the trade was executed against the orderbook (decentralized exchange) or liquidity pool | integer |
    • 1 - Decentralized Exchange Trade
    • 2 - Liquidity Pool Trade
    | No | | +| rounding_slippage | Applies to liquidity pool trades only. With fractional amounts of an asset traded, the network must round a fraction to the nearest whole number. This can cause the trade to "slip" price by a percentage compared with the original offer. Rounding slippage reports the percentage that dust trades slip before executing. | integer | | No | Defaults to 1. Rounding Slippage is always unprofitable for the trader and is not a valid way to try and extract more value from the network. | +| seller_is_exact | Indicates whether the buying or selling party trade was impacted by rounding slippage. If true, the buyer was impacted. If false, the seller was impacted | boolean | | No | | +| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | integer | | No | | +| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | integer | | No | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/history-transactions.mdx b/docs/data/hubble/data-catalog/data-dictionary/history-transactions.mdx index bb9e983f0..e2d5d3691 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/history-transactions.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/history-transactions.mdx @@ -1,51 +1,67 @@ --- title: History Transactions sidebar_position: 140 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| id | A unique identifier for a this transaction | integer | | Yes | Yes | | Yes | | -| transaction_hash | A hex-encoded SHA-256 hash of this transaction's XDR-encoded form | string | | | | | Yes | | -| ledger_sequence | The sequence number of the ledger that this transaction was included in | integer | | | | cluster | Yes | | -| application_order | Each transaction within the transaction set for a ledger is executed and applied sequentially to the network. The validator nodes randomly shuffle submitted transactions and assign them an application order number, which corresponds to the order in which they are applied | integer | | | | | Yes | | -| account | The account address that originates the transaction | string | | | | cluster | Yes | | -| account_sequence | The source account's sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network. | integer | | | | | Yes | | -| max_fee | The maximum fee (in stroops) that the source account is willing to pay for the transaction to be included in a ledger. When the network enters surge pricing, this helps determine if a transaction is included in the set | integer | | | | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | -| operation_count | The number of operations contained within this transaction | integer | | | | | Yes | A transaction is permitted to have up to 100 operations | -| created_at | The date the transaction was created | timestamp | | | | | No | | -| memo_type | The type of memo | string | MemoTypeMemoHash MemoTypeMemoId MemoTypeMemoNone MemoTypeMemoReturn MemoTypeMemoText | | | | Yes | Defaults to \`MemoTypeMemoNone\` | -| memo | An optional freeform field that attaches a memo to a transaction | string | | | | | No | Memos are heavily used by centralized exchanges to help with account management. | -| time_bounds | A transaction precondition that can be set to determine when a transaction is valid. The user can set a lower and upper timebound, defined as a UNIX timestamp when the transaction can be executed. If the transaction attempts to execute outside of the time range, the transaction will fail | string | | | | | No | | -| successful | Indicates if this transaction was successful or not | boolean | | | | cluster | No | A transaction's success does not indicate whether it was included and written to a ledger. It only indicates whether the operations in the transaction were successfully applied to mutate the ledger state. | -| fee_charged | The fee (in stroops) paid by the source account to apply this transaction to the ledger. At minimum, a transaction is charged # of operations \* base fee. The minimum base fee is 100 stroops | integer | | | | | No | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | -| inner_transaction_hash | A transaction hash of a transaction wrapped with its signatures for fee-bump transactions | string | | | | | No | | -| fee_account | An account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account. | string | | | | | No | | -| new_max_fee | If an account has a fee account, the fee account can specify a maximum fee (in stroops) that it is willing to pay for this account's fees. When the network is in surge pricing, the validators will consider the new_max_fee instead of the max_fee when determining if the transaction will be included in the transaction set | integer | | | | | No | | -| account_muxed | If the user has defined multiplexed (muxed) accounts, the account exists "virtually" under a traditional Stellar account address. This address distinguishes between the virtual accounts | string | | | | | No | | -| fee_account_muxed | If the fee account that sponsors fee is a multiplexed account, the virtual address will be listed here | string | | | | | No | | -| ledger_bounds | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. Ledger bounds allow the user to specify a minimum and maxiumum ledger sequence number in which the transaction can successfully execute | string | | | | | No | | -| min_account_sequence | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the lowest source account sequence number for which the transaction is valid | integer | | | | | No | | -| min_account_sequence_age | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains a minimum duration of time that must have passed since the source account's sequence number changed for the transaction to be valid | integer | | | | | No | | -| min_account_sequence_ledger_gap | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the minimum number of ledgers that must have closed since the source account's sequence number change for the transaction to be valid | integer | | | | | No | | -| extra_signers | An array of up to two additional signers that must have corresponding signatures for this transaction to be valid | array[string] | | | | | No | | -| tx_envelope | base-64 encoded XDR blob | string | | | | | No | | -| tx_result | base-64 encoded XDR blob | string | | | | | No | | -| tx_meta | base-64 encoded XDR blob | string | | | | | No | | -| tx_fee_meta | base-64 encoded XDR blob | string | | | | | No | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| resource_fee | The fee charged less the inclusion fee for the Soroban transaction. This is calculated by the read/write operations and how process intensive the Soroban transaction is | integer | | | | | No | | -| soroban resources_instructions | Number of CPU instructions the Soroban transaction uses | integer | | | | | No | | -| soroban resources_read_bytes | Number of bytes read by the Soroban transaction | integer | | | | | No | | -| soroban_resources_write_bytes | Number of bytes written by the Soroban transaction | integer | | | | | No | | -| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | | | Yes | We aim to repartition the table by closed_at | -| transaction_result_code | The detailed result code that outlines why a transaction failed. This code is only useful for failed transactions. The full list of domain values can be found [here](https://pkg.go.dev/github.com/stellar/go/xdr#TransactionResultCode) | string | TransactionResultCodeTxFeeBumpInnerSuccess TransactionResultCodeTxSuccess TransactionResultCodeTxFailed TransactionResultCodeTxTooEarly TransactionResultCodeTxTooLate TransactionResultCodeTxMissingOperation TransactionResultCodeTxBadSeq TransactionResultCodeTxBadAuth TransactionResultCodeTxInsufficientBalance TransactionResultCodeTxNoAccount TransactionResultCodeTxInsufficientFee TransactionResultCodeTxBadAuthExtra TransactionResultCodeTxInternalError TransactionResultCodeTxNotSupported TransactionResultCodeTxFeeBumpInnerFailed TransactionResultCodeTxBadSponsorship TransactionResultCodeTxBadMinSeqAgeOrGap TransactionResultCodeTxMalformed TransactionResultCodeTxSorobanInvalid | | | | Yes | | -| inclusion_fee_bid | The maximum bid the submitter is willing to pay for inclusion of the transaction. This fee is used to prioritize transactions that are included in the ledger. | integer | | | | | No | | -| inclusion_fee_charged | The fee charged for the transaction to be included in the ledger. This is a fixed fee for the entire ledger and starts at a minimum of 100 stroops. The fee increases based on demand | integer | | | | | No | | -| resource_fee_refund | The amount of the resource fee refunded to the transaction submitter. The refundable fees are calculated from rent, events and return value. Refundable fees are charged from the source account before the transaction is executed and then refunded based on the actual usage. | integer | | | | | No | | -| non_refundable_resource_fee_charged | The amount charged for the transaction that is not refundable | integer | | | | | | | -| refundable_resource_fee_charged | The amount charged for the transaction from the refundable_fee | integer | | | | | | | -| rent_fee_charged | The rent fee charged to persist the contract or contract code | integer | | | | | | | -| refundable_fee | The amount of resource fees that are refundable based on the actual usage of resources in the transaction | integer | | | | | | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | id | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | account, ledger_sequence, successful | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.history_transactions) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| id | A unique identifier for this transaction | integer | | Yes | | +| transaction_hash | A hex-encoded SHA-256 hash of this transaction's XDR-encoded form | string | | | | +| ledger_sequence | The sequence number of the ledger that this transaction was included in | integer | | Yes | | +| account | The account address that originates the transaction | string | | Yes | | +| account_sequence | The source account's sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network. | integer | | Yes | | +| max_fee | The maximum fee (in stroops) that the source account is willing to pay for the transaction to be included in a ledger. When the network enters surge pricing, this helps determine if a transaction is included in the set | integer | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | +| operation_count | The number of operations contained within this transaction | integer | | Yes | A transaction is permitted to have up to 100 operations | +| created_at | The date the transaction was created | timestamp | | No | | +| memo_type | The type of memo | string |
    • MemoTypeMemoHash
    • MemoTypeMemoId
    • MemoTypeMemoNone
    • MemoTypeMemoReturn
    • MemoTypeMemoText
    | Yes | Defaults to `MemoTypeMemoNone` | +| memo | An optional freeform field that attaches a memo to a transaction | string | | No | Memos are heavily used by centralized exchanges to help with account management. | +| time_bounds | A transaction precondition that can be set to determine when a transaction is valid. The user can set a lower and upper timebound, defined as a UNIX timestamp when the transaction can be executed. If the transaction attempts to execute outside of the time range, the transaction will fail | string | | No | | +| successful | Indicates if this transaction was successful or not | boolean | | No | A transaction's success does not indicate whether it was included and written to a ledger. It only indicates whether the operations in the transaction were successfully applied to mutate the ledger state. | +| fee_charged | The fee (in stroops) paid by the source account to apply this transaction to the ledger. At minimum, a transaction is charged # of operations \* base fee. The minimum base fee is 100 stroops | integer | | No | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. | +| inner_transaction_hash | A transaction hash of a transaction wrapped with its signatures for fee-bump transactions | string | | No | | +| fee_account | An account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account. | string | | No | | +| new_max_fee | If an account has a fee account, the fee account can specify a maximum fee (in stroops) that it is willing to pay for this account's fees. When the network is in surge pricing, the validators will consider the new_max_fee instead of the max_fee when determining if the transaction will be included in the transaction set | integer | | No | | +| account_muxed | If the user has defined multiplexed (muxed) accounts, the account exists "virtually" under a traditional Stellar account address. This address distinguishes between the virtual accounts | string | | No | | +| fee_account_muxed | If the fee account that sponsors fee is a multiplexed account, the virtual address will be listed here | string | | No | | +| ledger_bounds | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. Ledger bounds allow the user to specify a minimum and maxiumum ledger sequence number in which the transaction can successfully execute | string | | No | | +| min_account_sequence | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the lowest source account sequence number for which the transaction is valid | integer | | No | | +| min_account_sequence_age | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains a minimum duration of time that must have passed since the source account's sequence number changed for the transaction to be valid | integer | | No | | +| min_account_sequence_ledger_gap | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the minimum number of ledgers that must have closed since the source account's sequence number change for the transaction to be valid | integer | | No | | +| extra_signers | An array of up to two additional signers that must have corresponding signatures for this transaction to be valid | array[string] | | No | | +| tx_envelope | base-64 encoded XDR blob | string | | No | | +| tx_result | base-64 encoded XDR blob | string | | No | | +| tx_meta | base-64 encoded XDR blob | string | | No | | +| tx_fee_meta | base-64 encoded XDR blob | string | | No | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_[batch_end_date]-[dag_alias]". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| resource_fee | The fee charged less the inclusion fee for the Soroban transaction. This is calculated by the read/write operations and how process intensive the Soroban transaction is | integer | | No | | +| soroban_resources_instructions | Number of CPU instructions the Soroban transaction uses | integer | | No | | +| soroban_resources_read_bytes | Number of bytes read by the Soroban transaction | integer | | No | | +| soroban_resources_write_bytes | Number of bytes written by the Soroban transaction | integer | | No | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | We aim to repartition the table by closed_at | +| transaction_result_code | The detailed result code that outlines why a transaction failed. This code is only useful for failed transactions. The full list of domain values can be found [here](https://pkg.go.dev/github.com/stellar/go/xdr#TransactionResultCode) | string |
    • TransactionResultCodeTxFeeBumpInnerSuccess
    • TransactionResultCodeTxSuccess
    • TransactionResultCodeTxFailed
    • TransactionResultCodeTxTooEarly
    • TransactionResultCodeTxTooLate
    • TransactionResultCodeTxMissingOperation
    • TransactionResultCodeTxBadSeq
    • TransactionResultCodeTxBadAuth
    • TransactionResultCodeTxInsufficientBalance
    • TransactionResultCodeTxNoAccount
    • TransactionResultCodeTxInsufficientFee
    • TransactionResultCodeTxBadAuthExtra
    • TransactionResultCodeTxInternalError
    • TransactionResultCodeTxNotSupported
    • TransactionResultCodeTxFeeBumpInnerFailed
    • TransactionResultCodeTxBadSponsorship
    • TransactionResultCodeTxBadMinSeqAgeOrGap
    • TransactionResultCodeTxMalformed
    • TransactionResultCodeTxSorobanInvalid
    | Yes | | +| inclusion_fee_bid | The maximum bid the submitter is willing to pay for inclusion of the transaction. This fee is used to prioritize transactions that are included in the ledger. | integer | | No | | +| inclusion_fee_charged | The fee charged for the transaction to be included in the ledger. This is a fixed fee for the entire ledger and starts at a minimum of 100 stroops. The fee increases based on demand | integer | | No | | +| resource_fee_refund | The amount of the resource fee refunded to the transaction submitter. The refundable fees are calculated from rent, events and return value. Refundable fees are charged from the source account before the transaction is executed and then refunded based on the actual usage. | integer | | No | | +| non_refundable_resource_fee_charged | The amount charged for the transaction that is not refundable | integer | | | | +| refundable_resource_fee_charged | The amount charged for the transaction from the refundable_fee | integer | | | | +| rent_fee_charged | The rent fee charged to persist the contract or contract code | integer | | | | +| refundable_fee | The amount of resource fees that are refundable based on the actual usage of resources in the transaction | integer | | | | +| tx_signers | The public keys of the signers who authorized the transaction. This field lists all the signatories that validated and approved the transaction, ensuring it meets the required authorization thresholds | string | | | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/liquidity-pools.mdx b/docs/data/hubble/data-catalog/data-dictionary/liquidity-pools.mdx index 3225c9ec7..16799b825 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/liquidity-pools.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/liquidity-pools.mdx @@ -1,28 +1,46 @@ --- title: Liquidity Pools sidebar_position: 50 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| liquidity_pool_id | Unique identifier for a liquidity pool. There cannot be duplicate pools for the same asset pair. Once a pool has been created for the asset pair, another cannot be created. | string | | | Yes | cluster | Yes | There is a good primer on AMMs [here](https://developers.stellar.org/docs/learn/encyclopedia/sdex/liquidity-on-stellar-sdex-liquidity-pools#liquidity-pools) | -| type | The mechanism that calculates pricing and division of shares for the pool. With the initial AMM rollout, the only type of liquidity pool allowed to be created is a constant product pool | string | constant_product | | | | Yes | For more information regarding pricing and deposit calculations, read [Cap-38.](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0038.md) | -| fee | The number of basis points charged as a percentage of the trade in order to complete the transaction. The fees earned on all trades are divided amongst pool shareholders and distributed as an incentive to keep money in the pools | integer | 30 | | | | Yes | Fees are distributed immediately to accounts as the transaction completes. There is no schedule for fee distribution | -| trustline_count | Total number of accounts with trustlines authorized to the pool. To create a trustline, an account must trust both base assets before trusting a pool with the asset pair | integer | | | | | Yes | If the issuer of A or B revokes authorization on the trustline, the account will automatically withdraw from every liquidity pool containing that asset and those pool trustlines will be deleted. | -| pool_share_count | Participation in a liquidity pool is represented by a pool share. The total number of pool shares is calculated by a constat product formula and is an arbitrary number representing the amount of participation in the pool. | float | | | | | Yes | Shares are not transferable; the only way to increase the number of pool shares held is to deposit into a liquidity pool. Conversely, decreasing pools shares can only be accomplished through a withdraw operation. Shares cannot be sent in payments or sold using offers. | -| asset_a_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | | -| asset_a_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | No | | -| asset_a_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | No | | -| asset_a_amount | The raw number of tokens locked in the pool for one of the two asset pairs in the liquidity pool | float | | | | | Yes | The amount is a better representation of liquidity in the pool over pool share counts. | -| asset_b_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | | -| asset_b_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | No | | -| asset_b_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | No | | -| asset_b_amount | The raw number of tokens locked in the pool for one of the two asset pairs in the liquidity pool | float | | | | | Yes | The amount is a better representation of liquidity in the pool over pool share counts. | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`liquidity_pools\`. | -| deleted | Indicates whether the ledger entry (liquidity pool) has been deleted or not. Once an entry is deleted, it cannot be recovered. Liquidity pools are deleted once all pool shares are withdrawn from the pool | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| asset_a_id | Unique identifier for asset_a_code, asset_a_issuer | integer | | | | cluster | No | | -| asset_b_id | Unique identifier for asset_b_code, asset_b_issuer | integer | | | | cluster | No | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | liquidity_pool_id, closed_at | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | liquidity_pool_id, asset_a_id, asset_b_id, last_modified_ledger | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.liquidity_pools) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| liquidity_pool_id | Unique identifier for a liquidity pool. There cannot be duplicate pools for the same asset pair. Once a pool has been created for the asset pair, another cannot be created. | string | | Yes | There is a good primer on AMMs [here](https://developers.stellar.org/docs/learn/encyclopedia/sdex/liquidity-on-stellar-sdex-liquidity-pools#liquidity-pools) | +| type | The mechanism that calculates pricing and division of shares for the pool. With the initial AMM rollout, the only type of liquidity pool allowed to be created is a constant product pool | string | constant_product | Yes | For more information regarding pricing and deposit calculations, read [Cap-38.](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0038.md) | +| fee | The number of basis points charged as a percentage of the trade in order to complete the transaction. The fees earned on all trades are divided amongst pool shareholders and distributed as an incentive to keep money in the pools | integer | 30 | Yes | Fees are distributed immediately to accounts as the transaction completes. There is no schedule for fee distribution | +| trustline_count | Total number of accounts with trustlines authorized to the pool. To create a trustline, an account must trust both base assets before trusting a pool with the asset pair | integer | | Yes | If the issuer of A or B revokes authorization on the trustline, the account will automatically withdraw from every liquidity pool containing that asset and those pool trustlines will be deleted. | +| pool_share_count | Participation in a liquidity pool is represented by a pool share. The total number of pool shares is calculated by a constant product formula and is an arbitrary number representing the amount of participation in the pool. | float | | Yes | Shares are not transferable; the only way to increase the number of pool shares held is to deposit into a liquidity pool. Conversely, decreasing pools shares can only be accomplished through a withdraw operation. Shares cannot be sent in payments or sold using offers. | +| asset_a_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | | +| asset_a_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | No | | +| asset_a_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | No | | +| asset_a_amount | The raw number of tokens locked in the pool for one of the two asset pairs in the liquidity pool | float | | Yes | The amount is a better representation of liquidity in the pool over pool share counts. | +| asset_b_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | | +| asset_b_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | No | | +| asset_b_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | No | | +| asset_b_amount | The raw number of tokens locked in the pool for one of the two asset pairs in the liquidity pool | float | | Yes | The amount is a better representation of liquidity in the pool over pool share counts. | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer |
    • 0 - Ledger Entry Created
    • 1 - Ledger Entry Updated
    • 2 - Ledger Entry Deleted
    • 3 - Ledger Entry State (value of the entry)
    | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type `liquidity_pools`. | +| deleted | Indicates whether the ledger entry (liquidity pool) has been deleted or not. Once an entry is deleted, it cannot be recovered. Liquidity pools are deleted once all pool shares are withdrawn from the pool | boolean | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| asset_a_id | Unique identifier for asset_a_code, asset_a_issuer | integer | | No | | +| asset_b_id | Unique identifier for asset_b_code, asset_b_issuer | integer | | No | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/offers.mdx b/docs/data/hubble/data-catalog/data-dictionary/offers.mdx index fa93fdc48..92d8ac20d 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/offers.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/offers.mdx @@ -1,29 +1,47 @@ --- title: Offers sidebar_position: 60 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| seller_id | The account address that is making this offer | string | | | | | Yes | | -| offer_id | The unique identifier for this offer | integer | | | | | Yes | | -| selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | | -| selling_asset_code | The 4 or 12 character code representation of the asset offered to be sold | string | | | | | No | | -| selling_asset_issuer | The account address of the original asset issuer that minted the asset which will be sold in exchange for another asset. | string | | | | | No | | -| buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | | -| buying_asset_code | The 4 or 12 character code representation of the asset desired to be purchased | string | | | | | No | | -| buying_asset_issuer | The account address of the original asset issuer that minted the asset which will be bought in exchange for a currently held asset | string | | | | | No | | -| amount | The amount of selling that the account making this offer is willing to sell | float | | | | | Yes | | -| pricen | The numerator of the precise representation of the buy and sell price of assets on offer (The buy amount desired) | integer | | | | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the numerator will be 1. | -| priced | The denominator of the precise representation of the buy and sell price of assets on offer (The sell amount offered) | integer | | | | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the denominator will be 10. | -| price | How many units of buying it takes to get 1 unit of selling. This number is the decimal form of pricen / priced | float | | | | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the price will be 0.1 | -| flags | Denotes the enabling/disabling of certain asset issuer privileges | integer | 0 - None, Default 1 - Passive (offer with this flag will not act on and take a reverse offer of equal price) | | | | Yes | | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`offers\`. | -| deleted | Indicates whether the ledger entry (offer id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| sponsor | The account address that is sponsoring the base reserves for the offer. | string | | | | | No | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | integer | | | | cluster | No | | -| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | integer | | | | cluster | No | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | offer_id, closed_at | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | selling_asset_id, buying_asset_id, last_modified_ledger | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.offers) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| seller_id | The account address that is making this offer | string | | Yes | | +| offer_id | The unique identifier for this offer | integer | | Yes | | +| selling_asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | | +| selling_asset_code | The 4 or 12 character code representation of the asset offered to be sold | string | | No | | +| selling_asset_issuer | The account address of the original asset issuer that minted the asset which will be sold in exchange for another asset | string | | No | | +| buying_asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | | +| buying_asset_code | The 4 or 12 character code representation of the asset desired to be purchased | string | | No | | +| buying_asset_issuer | The account address of the original asset issuer that minted the asset which will be bought in exchange for a currently held asset | string | | No | | +| amount | The amount of selling that the account making this offer is willing to sell | float | | Yes | | +| pricen | The numerator of the precise representation of the buy and sell price of assets on offer (The buy amount desired) | integer | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the numerator will be 1. | +| priced | The denominator of the precise representation of the buy and sell price of assets on offer (The sell amount offered) | integer | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the denominator will be 10. | +| price | How many units of buying it takes to get 1 unit of selling. This number is the decimal form of pricen / priced | float | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the price will be 0.1 | +| flags | Denotes the enabling/disabling of certain asset issuer privileges | integer |
    • 0 - None, Default
    • 1 - Passive (offer with this flag will not act on and take a reverse offer of equal price)
    | Yes | | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer |
    • 0 - Ledger Entry Created
    • 1 - Ledger Entry Updated
    • 2 - Ledger Entry Deleted
    • 3 - Ledger Entry State (value of the entry)
    | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type `offers`. | +| deleted | Indicates whether the ledger entry (offer id) has been deleted or not. Once an entry is deleted, it cannot be recovered | boolean | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| sponsor | The account address that is sponsoring the base reserves for the offer | string | | No | | +| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | Yes | | +| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | integer | | No | | +| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | integer | | No | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/trustlines.mdx b/docs/data/hubble/data-catalog/data-dictionary/trustlines.mdx index ed250dce7..6f1120709 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/trustlines.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/trustlines.mdx @@ -1,26 +1,44 @@ --- title: Trustlines sidebar_position: 70 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| ledger_key | The unique ledger key when the trust line state last changed | string | | | | | Yes | | -| account_id | The account address | string | | | Yes | cluster | Yes | | -| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | integer | credit_alphanum4 credit_alphanum12 native | | Yes | | Yes | | -| asset_issuer | The account address of the original asset issuer that created the asset held by this account | string | | | Yes | | No | | -| asset_code | The 4 or 12 character code representation of the asset held by this account | string | | | Yes | | No | | -| liquidity_pool_id | If the asset held is part of a liquidity pool share, the unique pool id from which the asset balance originates | string | | | Yes | cluster | No | | -| balance | The number of units of an asset held by this account | float | | | | | Yes | | -| trust_line_limits | The maximum amount of this asset that this account is willing to accept. The limit is specified when opening a trust line | integer | | | | | Yes | | -| buying_liabilities | The sum of all buy offers owned by this account for non-native assets | float | | | | | Yes | | -| selling_liabilities | The sum of all sell offers owned by this account for non-native assets | float | | | | | Yes | | -| flags | Denotes the enabling and disabling of certain asset issuer privileges | integer | 0 - None, Default 1 - Authorized (issuer has authorized account to perform transaction with its credit) 2 - Authorized to Maintain Liabilities (issuer has authorized account to maintain and reduce liabilities for its credit) 4 - Clawback Enabled (issuer has specified that it may clawback its credit, including claimable balances) | | | | Yes | Flags are set on the issuer accounts for an asset. When user accounts trust an asset, the flags applied to the asset originate from this account | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`trust_lines\`. | -| deleted | Indicates whether the ledger entry (trust line) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| sponsor | The account address that is sponsoring the base reserves for the trust line. | string | | | | | No | | -| asset_id | Unique identifier for asset_code, asset_issuer | integer | | | | | No | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | account_id, asset_type, asset_issuer, asset_code, liquidity_pool_id, closed_at | +| Partition Field(s) | batch_run_date (MONTH partition) | +| Clustered Field(s) | account_id, asset_id, liquidity_pool_id, last_modified_ledger | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.trust_lines) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| ledger_key | The unique ledger key when the trust line state last changed | string | | Yes | | +| account_id | The account address | string | | Yes | | +| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | integer |
    • credit_alphanum4
    • credit_alphanum12
    • native
    | Yes | | +| asset_issuer | The account address of the original asset issuer that created the asset held by this account | string | | No | | +| asset_code | The 4 or 12 character code representation of the asset held by this account | string | | No | | +| liquidity_pool_id | If the asset held is part of a liquidity pool share, the unique pool id from which the asset balance originates | string | | No | | +| balance | The number of units of an asset held by this account | float | | Yes | | +| trust_line_limit | The maximum amount of this asset that this account is willing to accept. The limit is specified when opening a trust line | integer | | Yes | | +| buying_liabilities | The sum of all buy offers owned by this account for non-native assets | float | | Yes | | +| selling_liabilities | The sum of all sell offers owned by this account for non-native assets | float | | Yes | | +| flags | Denotes the enabling and disabling of certain asset issuer privileges | integer |
    • 0 - None, Default
    • 1 - Authorized
    • 2 - Authorized to Maintain Liabilities
    • 4 - Clawback Enabled
    | Yes | Flags are set on the issuer accounts for an asset. When user accounts trust an asset, the flags applied to the asset originate from this account | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry | integer |
    • 0 - Ledger Entry Created
    • 1 - Ledger Entry Updated
    • 2 - Ledger Entry Deleted
    • 3 - Ledger Entry State
    | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type `trust_lines`. | +| deleted | Indicates whether the ledger entry (trust line) has been deleted or not. Once an entry is deleted, it cannot be recovered | boolean | | Yes | | +| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | | +| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed | datetime | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database | timestamp | | Yes | | +| sponsor | The account address that is sponsoring the base reserves for the trust line | string | | No | | +| asset_id | Unique identifier for asset_code, asset_issuer | integer | | No | | + +
    diff --git a/docs/data/hubble/data-catalog/data-dictionary/ttl.mdx b/docs/data/hubble/data-catalog/data-dictionary/ttl.mdx index 09efd6823..cb7522181 100644 --- a/docs/data/hubble/data-catalog/data-dictionary/ttl.mdx +++ b/docs/data/hubble/data-catalog/data-dictionary/ttl.mdx @@ -1,17 +1,33 @@ --- title: TTL sidebar_position: 80 +description: "" --- -| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | -| key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | | Yes | Cluster | Yes | | -| live_until_ledger_seq | Ledger sequence the contract or wasm will live until | integer | | | | | Yes | | -| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | Cluster | Yes | | -| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | | | | Yes | | -| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | | -| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\-\". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | | -| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | | -| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | | -| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | | Yes | Parition | Yes | | -| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | | Yes | | Yes | | +
    + +## Table Metadata + +| Property | Configuration | +| --- | --- | +| Natural Key(s) | key_hash, closed_at | +| Partition Field(s) | closed_at (MONTH partition) | +| Clustered Field(s) | last_modified_ledger, key_hash | +| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.ttl) | + +## Column Details + +| Name | Description | Data Type | Domain Values | Required? | Notes | +| --- | --- | --- | --- | --- | --- | +| key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | Yes | | +| live_until_ledger_seq | Ledger sequence the contract or wasm will live until | integer | | Yes | | +| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified | integer | | Yes | | +| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry | integer | | Yes | | +| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered | boolean | | Yes | | +| batch_id | String representation of the run id for a given DAG in Airflow | string | | Yes | | +| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed | datetime | | Yes | | +| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database | timestamp | | Yes | | +| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | Yes | | +| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | Yes | | + +
    diff --git a/docs/data/requirements.mdx b/docs/data/requirements.mdx index 3396491ac..1fe42a186 100644 --- a/docs/data/requirements.mdx +++ b/docs/data/requirements.mdx @@ -10,7 +10,7 @@ Here you can find the requirements for running the various types of nodes the op | Core Validator Node | 8x Intel Xeon @ 3.4 GHz | 16 GB | 100 GB NVMe SSD | [c5d.2xlarge] | [n4-highcpu-8] | [Click here](../validators/admin-guide/README.mdx) | | Horizon API Service | 4 vCPU | 16 GB | 100 GB SSD >= 1.5K IOPS | [c5d.xlarge] | [n4-standard-4] | [Click here](./horizon/admin-guide/overview.mdx) | | Horizon PostgreSQL | 4 vCPU | 32 GB | 2 TB\* SSD (NVMe or Direct Attached Storage) >= 7K IOPS | [i4g.xlarge] | [c3-highmem-8] | [Click here](./horizon/admin-guide/overview.mdx) | -| Soroban RPC | 2 vCPU | 4 GB | 30 GB persistent volume >= 3K IOPS | [c5.large] | [n4-highcpu-2] | [Click here](./rpc/admin-guide.mdx) | +| Stellar RPC | 2 vCPU | 4 GB | 30 GB persistent volume >= 3K IOPS | [c5.large] | [n4-highcpu-2] | [Click here](./rpc/admin-guide.mdx) | _\* Assuming a 30-day retention window for data storage._ diff --git a/docs/data/rpc/README.mdx b/docs/data/rpc/README.mdx index 81d754d5d..8012b38d9 100644 --- a/docs/data/rpc/README.mdx +++ b/docs/data/rpc/README.mdx @@ -3,25 +3,31 @@ title: RPC Introduction sidebar_position: 5 --- -The Soroban-RPC can be described as a "live network gateway for Soroban." It provides information that the network currently has in its view (i.e. current state). It also has the ability to send a transaction to the network, and query the network for the status of previously sent transactions. It is meant to be simple, minimal, scalable, and familiar to blockchain developers from other ecosystems. +:::info -Soroban-RPC should provide all the basic data that a dapp developer would need, provided they are: +Stellar-RPC was previously known as Soroban-RPC. Soroban-RPC was renamed as Stellar-RPC in Nov 2024. + +::: + +The Stellar-RPC can be described as a "live network gateway for Soroban." It provides information that the network currently has in its view (i.e. current state). It also has the ability to send a transaction to the network, and query the network for the status of previously sent transactions. It is meant to be simple, minimal, scalable, and familiar to blockchain developers from other ecosystems. + +Stellar-RPC should provide all the basic data that a dapp developer would need, provided they are: - Only interested in current state data, or are willing to ingest events into their own infrastructure to support reporting/analytics queries. - - Caveat: Soroban-RPC should provide enough data-retention to support reliable ingestion of events. + - Caveat: Stellar-RPC should provide enough data-retention to support reliable ingestion of events. - Only interested in building and submitting Soroban transactions (not Stellar Vanilla). -Soroban-RPC should support the developer from local testing (via the [quickstart] image), all the way through to production deployments. +Stellar-RPC should support the developer from local testing (via the [quickstart] image), all the way through to production deployments. - This implies it should be easy to deploy, and easy to maintain; with low cost, and little "admin" needed. - The developer should be able to simply run the [quickstart] docker image, and quickly be ready to serve requests without needing to set up or maintain dependent infrastructure. ## Anti-Goals -- Soroban-RPC is not a Horizon replacement. Horizon is better suited for historical reporting and analytics queries. Horizon is more concerned with "classic" Stellar data. -- Soroban-RPC should not depend on Horizon. Horizon is expensive and difficult to run, so if Soroban-RPC depended on Horizon, it would inherit that. -- Soroban-RPC should also provide an API basis for infrastructure providers to implement, but not necessarily be an off-the-shelf solution for them. -- Soroban-RPC is not a reporting/analytics tool and does not provide thorough historical data querying. It does not provide any data aggregation, compilations, or multi-server coordination requests. -- Soroban-RPC does not target ultra-low latency. The latency should be low enough to build and submit successful soroban transactions, but supporting high-frequency traders is not the goal. +- Stellar-RPC is not a Horizon replacement. Horizon is better suited for historical reporting and analytics queries. Horizon is more concerned with "classic" Stellar data. +- Stellar-RPC should not depend on Horizon. Horizon is expensive and difficult to run, so if Stellar-RPC depended on Horizon, it would inherit that. +- Stellar-RPC should also provide an API basis for infrastructure providers to implement, but not necessarily be an off-the-shelf solution for them. +- Stellar-RPC is not a reporting/analytics tool and does not provide thorough historical data querying. It does not provide any data aggregation, compilations, or multi-server coordination requests. +- Stellar-RPC does not target ultra-low latency. The latency should be low enough to build and submit successful soroban transactions, but supporting high-frequency traders is not the goal. [quickstart]: https://github.com/stellar/quickstart diff --git a/docs/data/rpc/admin-guide.mdx b/docs/data/rpc/admin-guide.mdx index fc4cc9c09..c6afe6286 100644 --- a/docs/data/rpc/admin-guide.mdx +++ b/docs/data/rpc/admin-guide.mdx @@ -22,12 +22,12 @@ We don't recommend running the Quickstart image in production. See the [deploy y The Quickstart image with the RPC service can run on a standard laptop with 8GB of RAM and has minimal storage and CPU requirements. It is a single container that runs everything you need to test against a fully featured network. It contains: - [Stellar Core] - Node software that runs the network, coordinates consensus, and finalizes ledgers. -- [Soroban RPC] server - JSON RPC server for interacting with Soroban contracts. +- [Stellar RPC] server - JSON RPC server for interacting with Soroban contracts. - [Horizon server] - HTTP API for accessing ledger state and historical transactions. - [Friendbot server] - HTTP API for creating and funding new accounts on test networks. [Stellar Core]: https://github.com/stellar/stellar-core -[Soroban RPC]: https://github.com/stellar/soroban-rpc/tree/main/cmd/soroban-rpc +[Stellar RPC]: https://github.com/stellar/soroban-rpc/tree/main/cmd/soroban-rpc [Horizon server]: https://github.com/stellar/go/tree/master/services/horizon [Friendbot server]: https://github.com/stellar/go/tree/master/services/friendbot @@ -150,19 +150,19 @@ Now you can replace `--network standalone` with `--network futurenet` (or whatev We recommend the following ways to deploy your own RPC instance: 1. Deploy to Kubernetes using [Helm](https://helm.sh/docs/intro/install/) -2. Run the [soroban-rpc docker image](https://hub.docker.com/r/stellar/soroban-rpc) directly +2. Run the [stellar-rpc docker image](https://hub.docker.com/r/stellar/stellar-rpc) directly ### Hardware Requirements -For deployments expecting up to 1000 requests per second to Soroban RPC, we recommend at least 4GB of RAM and at least a dual core CPU with a 2.4GHz clock speed. +For deployments expecting up to 1000 requests per second to Stellar RPC, we recommend at least 4GB of RAM and at least a dual core CPU with a 2.4GHz clock speed. -For deployments expecting 1000-10000+ requests per second to Soroban RPC, we recommend at least 8GB of RAM and at least a quad core CPU with a 2.4GHz clock speed. +For deployments expecting 1000-10000+ requests per second to Stellar RPC, we recommend at least 8GB of RAM and at least a quad core CPU with a 2.4GHz clock speed. For all deployments, we recommend at least 10GB of disk/storage space. | Node Type | CPU | RAM | Disk | AWS SKU | Google Cloud SKU | | --- | --- | --- | --- | --- | --- | -| Soroban RPC | 2 vCPU | 4-8 GB | 30 GB persistent volume >= 3K IOPS | [c5.large] | [n4-highcpu-2] | +| Stellar RPC | 2 vCPU | 4-8 GB | 30 GB persistent volume >= 3K IOPS | [c5.large] | [n4-highcpu-2] | _\* Assuming a 7-day retention window for data storage._ @@ -182,7 +182,7 @@ helm repo update stellar 3. Deploy the RPC instance to Kubernetes using [our Helm chart](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc): ```bash -helm install my-rpc stellar/soroban-rpc \ +helm install my-rpc stellar/stellar-rpc \ --namespace my-rpc-namespace-on-cluster \ --set global.image.sorobanRpc.tag=20.0.0-rc4-40 \ --set sorobanRpc.ingress.host=myrpc.example.org \ @@ -194,7 +194,7 @@ helm install my-rpc stellar/soroban-rpc \ This example of Helm chart usage highlights some key aspects: -- Set the `global.image.sorobanRpc.tag` to a tag from the [soroban-rpc dockerhub repo](https://hub.docker.com/r/stellar/soroban-rpc) for the image version you want to run. Refer to [the software versions page](/docs/networks/software-versions) to find the correct tag for the Soroban release you are running. +- Set the `global.image.sorobanRpc.tag` to a tag from the [stellar-rpc dockerhub repo](https://hub.docker.com/r/stellar/stellar-rpc) for the image version you want to run. Refer to [the software versions page](/docs/networks/software-versions) to find the correct tag for the Soroban release you are running. - The RPC server stores a revolving window of recent data from network ledgers to disk. The size of that data varies depending on the network and its transaction volumes, but it has an estimated range between 10 to 100 MB. To ensure the RPC pod has consistent access to disk storage space and read/write throughput, this example demonstrates how to optionally enable the Helm chart deployment to use a `PersistentVolumeClaim` (PVC) of 100MB from `default` storage class on Kubernetes by enabling these persistence parameters: @@ -224,10 +224,10 @@ By default, this is disabled (`sorobanRpc.persistence.enabled=false`) and the RP --set sorobanRpc.resources.limits.memory=2560Mi ``` -Even if you're not deploying Soroban RPC using Kubernetes, the manifests generated by the charts may still be a good reference for showing how to configure and run Soroban RPC as a docker container. Just run the `helm template` command to print the container configuration to screen: +Even if you're not deploying Stellar RPC using Kubernetes, the manifests generated by the charts may still be a good reference for showing how to configure and run Stellar RPC as a docker container. Just run the `helm template` command to print the container configuration to screen: ```bash -helm template my-rpc stellar/soroban-rpc +helm template my-rpc stellar/stellar-rpc ``` ### Docker Image @@ -240,12 +240,12 @@ Although we have a [Quickstart Image](https://github.com/stellar/quickstart), it ::: -Here's how to run the [soroban-rpc docker image](https://hub.docker.com/r/stellar/soroban-rpc): +Here's how to run the [stellar-rpc docker image](https://hub.docker.com/r/stellar/stellar-rpc): -1. Pull the image at the version you'd like to run from [the tags](https://hub.docker.com/r/stellar/soroban-rpc/tags): +1. Pull the image at the version you'd like to run from [the tags](https://hub.docker.com/r/stellar/stellar-rpc/tags): ```bash -docker pull stellar/soroban-rpc +docker pull stellar/stellar-rpc ``` 2. Create a configuration file for [Stellar Core](https://github.com/stellar/stellar-core). Here is a sample configuration file for Testnet: @@ -289,7 +289,7 @@ HISTORY="curl -sf http://history.stellar.org/prd/core-testnet/core_testnet_003/{ ```bash docker run -p 8001:8001 -p 8000:8000 \ --v :/config stellar/soroban-rpc \ +-v :/config stellar/stellar-rpc \ --captive-core-config-path="/config/" \ --captive-core-storage-path="/var/lib/stellar/captive-core" \ --captive-core-use-db=true \ @@ -305,18 +305,18 @@ docker run -p 8001:8001 -p 8000:8000 \ #### Configuration -For production, we recommend running Soroban RPC with a [TOML](https://toml.io/en/) configuration file rather than CLI flags. This is similar to creating a configuration file for Stellar-Core as we did previously. For example, using [our docker image](https://hub.docker.com/r/stellar/soroban-rpc): +For production, we recommend running Stellar RPC with a [TOML](https://toml.io/en/) configuration file rather than CLI flags. This is similar to creating a configuration file for Stellar-Core as we did previously. For example, using [our docker image](https://hub.docker.com/r/stellar/stellar-rpc): ```bash docker run -p 8001:8001 -p 8000:8000 \ --v :/config stellar/soroban-rpc \ +-v :/config stellar/stellar-rpc \ --config-path ``` -You can use Soroban RPC itself to generate a starter configuration file: +You can use Stellar RPC itself to generate a starter configuration file: ```bash -docker run stellar/soroban-rpc gen-config-file > soroban-rpc-config.toml +docker run stellar/stellar-rpc gen-config-file > soroban-rpc-config.toml ``` The resulting configuration should look like this: @@ -335,7 +335,7 @@ The resulting configuration should look like this: CAPTIVE_CORE_STORAGE_PATH = "/" # informs captive core to use on disk mode. the db will by default be created in -# current runtime directory of soroban-rpc, unless DATABASE= setting is +# current runtime directory of stellar-rpc, unless DATABASE= setting is # present in captive core config file. # CAPTIVE_CORE_USE_DB = false @@ -352,10 +352,6 @@ DEFAULT_EVENTS_LIMIT = 100 # Endpoint to listen and serve on ENDPOINT = "0.0.0.0:8000" -# configures the event retention window expressed in number of ledgers, the -# default value is 17280 which corresponds to about 24 hours of history -EVENT_RETENTION_WINDOW = 17280 - # The friendbot URL to be returned by getNetwork endpoint # FRIENDBOT_URL = "" @@ -494,7 +490,7 @@ Note that the above generated configuration contains the default values and you ### Build From Source -Instructions for building Soroban RPC from source can be found [here](https://github.com/stellar/soroban-rpc/blob/main/cmd/soroban-rpc/README.md). +Instructions for building Stellar RPC from source can be found [here](https://github.com/stellar/soroban-rpc/blob/main/cmd/soroban-rpc/README.md). ## Use the RPC Instance @@ -516,20 +512,20 @@ See the tip above about command expansion (that's the note about `$(...)`) if yo :::caution -When interacting with the network in production you should run your own soroban-rpc or use a third-party infrastructure provider. +When interacting with the network in production you should run your own stellar-rpc or use a third-party infrastructure provider. ::: ## Verify the RPC Instance -After installation, it will be worthwhile to verify the installation of Soroban RPC is healthy. There are two methods: +After installation, it will be worthwhile to verify the installation of Stellar RPC is healthy. There are two methods: 1. Access the health status endpoint of the JSON RPC service using an HTTP client -2. Use our pre-built [System Test Docker image](https://hub.docker.com/r/stellar/system-test/tags) as a tool to run a set of live tests against Soroban RPC +2. Use our pre-built [System Test Docker image](https://hub.docker.com/r/stellar/system-test/tags) as a tool to run a set of live tests against Stellar RPC ### Health Status Endpoint -If you send a JSON RPC HTTP request to your running instance of Soroban RPC: +If you send a JSON RPC HTTP request to your running instance of Stellar RPC: ```bash curl --location 'http://localhost:8000' \ @@ -570,7 +566,7 @@ docker.io/stellar/system-test:soroban-preview11 \ Make sure you configure the system test correctly: -- Use a published [system test tag](https://hub.docker.com/r/stellar/system-test/tags) that aligns with the deployed Soroban RPC release version. For each release, there will be two tags published for different CPU architectures. Make sure to use the tag that matches your host machine's CPU architecture: +- Use a published [system test tag](https://hub.docker.com/r/stellar/system-test/tags) that aligns with the deployed Stellar RPC release version. For each release, there will be two tags published for different CPU architectures. Make sure to use the tag that matches your host machine's CPU architecture: - `docker.io/stellar/system-test:` for machines with AMD/Intel-based CPUs - `docker.io/stellar/system-test:-arm64` for machines with ARM CPUs - Set `--TargetNetworkRPCURL` to your RPC HTTP URL @@ -586,7 +582,7 @@ Make sure you configure the system test correctly: ## Monitor the RPC Instance -If you run Soroban RPC with the `--admin-endpoint` configured and [expose the port](https://docs.docker.com/engine/reference/commandline/run/#publish), you'll have access to the [Prometheus](https://prometheus.io/) metrics via the `/metrics` endpoint. For example, if the admin endpoint is `0.0.0.0:8001` and you're running the Soroban RPC Docker image: +If you run Stellar RPC with the `--admin-endpoint` configured and [expose the port](https://docs.docker.com/engine/reference/commandline/run/#publish), you'll have access to the [Prometheus](https://prometheus.io/) metrics via the `/metrics` endpoint. For example, if the admin endpoint is `0.0.0.0:8001` and you're running the Stellar RPC Docker image: ```bash curl localhost:8001/metrics @@ -594,14 +590,14 @@ curl localhost:8001/metrics You will see many of the default Go and Process metrics (prefixed by `go_` and `process_` respectively) such as memory usage, CPU usage, number of threads, etc. -We also expose metrics related to Soroban RPC (prefixed by `soroban_rpc`). There are many, but some notable ones are: +We also expose metrics related to Stellar RPC (prefixed by `soroban_rpc`). There are many, but some notable ones are: - `soroban_rpc_transactions_count` - count of transactions ingested with a sliding window of 10m - `soroban_rpc_events_count` - count of events ingested with a sliding window of 10m - `soroban_rpc_ingest_local_latest_ledger` - latest ledger ingested - `soroban_rpc_db_round_trip_time_seconds` - time required to run `SELECT 1` query in the DATABASE -Soroban RPC also provides logging to console for: +Stellar RPC also provides logging to console for: - Startup activity - Ingesting, applying, and closing ledgers diff --git a/docs/data/rpc/api-reference/json-rpc.mdx b/docs/data/rpc/api-reference/json-rpc.mdx index ba32429ae..7c0b4d245 100644 --- a/docs/data/rpc/api-reference/json-rpc.mdx +++ b/docs/data/rpc/api-reference/json-rpc.mdx @@ -3,11 +3,11 @@ sidebar_position: 40 title: JSON-RPC --- -Soroban-RPC will accept HTTP POST requests using the [JSON-RPC 2.0] specification. Errors are returned via the [jsonrpc error object] wherever possible (and makes sense). +Stellar-RPC will accept HTTP POST requests using the [JSON-RPC 2.0] specification. Errors are returned via the [jsonrpc error object] wherever possible (and makes sense). -For production and other publicly-accessible instances, the JSON-RPC endpoint should be served over SSL on port 443, where possible, for security and ease of use. Though, soroban-rpc does not terminate ssl by itself, so will need a load-balancer or other service to terminate SSL for it. +For production and other publicly-accessible instances, the JSON-RPC endpoint should be served over SSL on port 443, where possible, for security and ease of use. Though, stellar-rpc does not terminate ssl by itself, so will need a load-balancer or other service to terminate SSL for it. -To interact with soroban-rpc from inside a JavaScript application, use the [JavaScript SDK] package, which gives a convenient interface for the RPC methods inside of its `SorobanRpc` module. +To interact with stellar-rpc from inside a JavaScript application, use the [JavaScript SDK] package, which gives a convenient interface for the RPC methods inside of its `SorobanRpc` module. When XDR is passed as a parameter or returned, it is always a string encoded using standard base64. @@ -19,7 +19,7 @@ Please note that parameter structure must contain named parameters as a by-name ## Open-RPC Specification -Soroban-RPC provides an [OpenRPC] specification document that can be used to mock, build, and/or validate both server and client software implementations. This document is used to generate all of our [methods] documentation pages. You can view the full [specification document here]. Additionally, you can experiment with this specificaiton document in the [OpenRPC Playground]. +Stellar-RPC provides an [OpenRPC] specification document that can be used to mock, build, and/or validate both server and client software implementations. This document is used to generate all of our [methods] documentation pages. You can view the full [specification document here]. Additionally, you can experiment with this specificaiton document in the [OpenRPC Playground]. [JSON-RPC 2.0]: https://www.jsonrpc.org/specification [jsonrpc error object]: https://www.jsonrpc.org/specification#error_object diff --git a/docs/data/rpc/api-reference/methods/getLedgerEntries.mdx b/docs/data/rpc/api-reference/methods/getLedgerEntries.mdx index a7eb8206c..8962b905e 100644 --- a/docs/data/rpc/api-reference/methods/getLedgerEntries.mdx +++ b/docs/data/rpc/api-reference/methods/getLedgerEntries.mdx @@ -304,7 +304,7 @@ console.log( // OUTPUT: AAAAB+QzbW3JDhlUbDVW/C+1/5SIQDstqORuhpCyl73O1vH6 ``` -Now, finally we have a `LedgerKey` that correspond to the Wasm byte-code that has been deployed under the `ContractId` we started out with so very long ago. This `LedgerKey` can be used in a final request to the Soroban-RPC endpoint. +Now, finally we have a `LedgerKey` that correspond to the Wasm byte-code that has been deployed under the `ContractId` we started out with so very long ago. This `LedgerKey` can be used in a final request to the Stellar-RPC endpoint. ```json { diff --git a/docs/data/rpc/api-reference/pagination.mdx b/docs/data/rpc/api-reference/pagination.mdx index a5b4780d8..406336a2f 100644 --- a/docs/data/rpc/api-reference/pagination.mdx +++ b/docs/data/rpc/api-reference/pagination.mdx @@ -3,12 +3,12 @@ sidebar_position: 50 title: Pagination --- -Pagination in soroban-rpc is similar to pagination in Horizon. +Pagination in stellar-rpc is similar to pagination in Horizon. For methods which support it, the pagination arguments are passed as a final object argument with two values: -- `cursor`: string - (optional) A string ID that points to a specific location in a collection of responses and is pulled from the paging*token value of a record. When a cursor is provided Soroban-RPC will \_not* include the element whose id matches the cursor in the response. Only elements which appear _after_ the cursor are included. -- `limit`: number - (optional) The maximum number of records returned. The limit for [getEvents](./methods/getEvents.mdx) can range from 1 to 10000 - an upper limit that is hardcoded in Soroban-RPC for performance reasons. If this argument isn't designated, it defaults to 100. +- `cursor`: string - (optional) A string ID that points to a specific location in a collection of responses and is pulled from the paging*token value of a record. When a cursor is provided Stellar-RPC will \_not* include the element whose id matches the cursor in the response. Only elements which appear _after_ the cursor are included. +- `limit`: number - (optional) The maximum number of records returned. The limit for [getEvents](./methods/getEvents.mdx) can range from 1 to 10000 - an upper limit that is hardcoded in Stellar-RPC for performance reasons. If this argument isn't designated, it defaults to 100. For example, calling a method with pagination parameter set: diff --git a/docs/data/rpc/rpc-providers.mdx b/docs/data/rpc/rpc-providers.mdx index 912876010..94c202bbe 100644 --- a/docs/data/rpc/rpc-providers.mdx +++ b/docs/data/rpc/rpc-providers.mdx @@ -5,7 +5,7 @@ title: Ecosystem RPC Providers ## Ecosystem Providers -Multiple infrastructure providers have made Soroban RPC endpoint services available, and offer plans ranging from free to high throughput endpoints. These providers can be used for development, testing, and production. +Multiple infrastructure providers have made Stellar RPC endpoint services available, and offer plans ranging from free to high throughput endpoints. These providers can be used for development, testing, and production. These providers allow access to the Testnet network and Mainnet network. @@ -29,10 +29,11 @@ These providers allow access to the Testnet network and Mainnet network. | --- | --- | --- | --- | | [Liquify](https://www.liquify.io/) | `https://stellar-mainnet.liquify.com/api=41EEWAH79Y5OCGI7/mainnet` | `https://stellar.liquify.com/api=41EEWAH79Y5OCGI7/testnet` | `https://stellar.liquify.com/api=41EEWAH79Y5OCGI7/futurenet` | | [Gateway](https://gateway.fm/) | `https://soroban-rpc.mainnet.stellar.gateway.fm` | `https://soroban-rpc.testnet.stellar.gateway.fm` | N/A | +| [sorobanrpc.com](https://sorobanrpc.com/) | `https://mainnet.sorobanrpc.com` | N/A | N/A | ## SDF Provided RPC (Futurenet and Testnet only) {#sdf-provided-rpc} -SDF has made available Soroban RPC with access to the Futurenet and Testnet networks. These services are free to use, and are suitable for development and testing. +SDF has made available Stellar RPC with access to the Futurenet and Testnet networks. These services are free to use, and are suitable for development and testing. SDF will not be providing a publicly available RPC endpoint for Mainnet. Developers should select an ecosystem provider that works for their project before migrating to Mainnet. In some cases, projects may choose to [run their own RPC instance](./admin-guide.mdx). diff --git a/docs/learn/encyclopedia/contract-development/contract-interactions/stellar-transaction.mdx b/docs/learn/encyclopedia/contract-development/contract-interactions/stellar-transaction.mdx index 7ffba4a39..16471ea21 100644 --- a/docs/learn/encyclopedia/contract-development/contract-interactions/stellar-transaction.mdx +++ b/docs/learn/encyclopedia/contract-development/contract-interactions/stellar-transaction.mdx @@ -57,7 +57,7 @@ npm install --save @stellar/stellar-sdk "SCQN3XGRO65BHNSWLSHYIR4B65AHLDUQ7YLHGIWQ4677AZFRS77TCZRB", ); - // Configure the SDK to use the `soroban-rpc` instance of your choosing. + // Configure the SDK to use the `stellar-rpc` instance of your choosing. const server = new SorobanRpc.Server( "https://soroban-testnet.stellar.org:443", ); @@ -101,7 +101,7 @@ npm install --save @stellar/stellar-sdk .toXDR("base64")}`, ); - // Submit the transaction to the Soroban-RPC server. The RPC server will + // Submit the transaction to the Stellar-RPC server. The RPC server will // then submit the transaction into the network for us. Then we will have to // wait, polling `getTransaction` until the transaction completes. try { @@ -168,7 +168,7 @@ from stellar_sdk.soroban_rpc import GetTransactionStatus, SendTransactionStatus # GCWY3M4VRW4NXJRI7IVAU3CC7XOPN6PRBG6I5M7TAOQNKZXLT3KAH362 source_keypair = Keypair.from_secret('SCQN3XGRO65BHNSWLSHYIR4B65AHLDUQ7YLHGIWQ4677AZFRS77TCZRB') -# Configure SorobanClient to use the `soroban-rpc` instance of your choosing. +# Configure SorobanClient to use the `stellar-rpc` instance of your choosing. soroban_server = SorobanServer('https://soroban-testnet.stellar.org') # Here we will use a deployed instance of the `increment` example contract. @@ -215,7 +215,7 @@ prepared_transaction.sign(source_keypair) # Let's see the base64-encoded XDR of the transaction we just built. print(f"Signed prepared transaction XDR: {prepared_transaction.to_xdr()}") -# Submit the transaction to the Soroban-RPC server. The RPC server will then +# Submit the transaction to the Stellar-RPC server. The RPC server will then # submit the transaction into the network for us. Then we will have to wait, # polling `getTransaction` until the transaction completes. send_response = soroban_server.send_transaction(prepared_transaction) @@ -285,7 +285,7 @@ public class SorobanExample { KeyPair sourceKeypair = KeyPair.fromSecretSeed("SCQN3XGRO65BHNSWLSHYIR4B65AHLDUQ7YLHGIWQ4677AZFRS77TCZRB"); - // Configure SorobanClient to use the `soroban-rpc` instance of your choosing. + // Configure SorobanClient to use the `stellar-rpc` instance of your choosing. SorobanServer sorobanServer = new SorobanServer("https://soroban-testnet.stellar.org"); // Here we will use a deployed instance of the `increment` example contract. @@ -333,7 +333,7 @@ public class SorobanExample { // Let's see the base64-encoded XDR of the transaction we just built. System.out.println("Signed prepared transaction XDR: " + transaction.toEnvelopeXdrBase64()); - // Submit the transaction to the Soroban-RPC server. The RPC server will then + // Submit the transaction to the Stellar-RPC server. The RPC server will then // submit the transaction into the network for us. Then we will have to wait, // polling `getTransaction` until the transaction completes. SendTransactionResponse response = sorobanServer.sendTransaction(transaction); diff --git a/docs/learn/encyclopedia/contract-development/events.mdx b/docs/learn/encyclopedia/contract-development/events.mdx index cce175a6a..9bddcce2f 100644 --- a/docs/learn/encyclopedia/contract-development/events.mdx +++ b/docs/learn/encyclopedia/contract-development/events.mdx @@ -25,7 +25,7 @@ Events are the mechanism that applications off-chain can use to monitor changes :::info -Events are ephemeral, the data retention window is roughly 24 hours. See the [ingestion guide](../../../build/guides/events/ingest.mdx) to learn how to work with this constraint. +Events are ephemeral, the data retention window is a maximum of 7 days. See the [ingestion guide](../../../build/guides/events/ingest.mdx) to learn how to work with this constraint. ::: @@ -33,7 +33,7 @@ Events are ephemeral, the data retention window is roughly 24 hours. See the [in ### ContractEvent -An event may contain up to four topics. The topics don't have to be made of the same type. You can mix different types as long as the total topic count stays below the limit. +An events topics don't have to be made of the same type. You can mix different types. An event also contains a data object of any value or type including types defined by contracts using `#[contracttype]` diff --git a/docs/learn/encyclopedia/contract-development/transaction-lifecycle.mdx b/docs/learn/encyclopedia/contract-development/transaction-lifecycle.mdx index dc2708d93..0b29f20f6 100644 --- a/docs/learn/encyclopedia/contract-development/transaction-lifecycle.mdx +++ b/docs/learn/encyclopedia/contract-development/transaction-lifecycle.mdx @@ -12,4 +12,4 @@ We're getting a lot of questions that relate to the transaction lifecycle and do The regular Stellar resources are confusing because: 1. they don't have any information on preflight and -2. soroban-rpc's tx submission is async +2. stellar-rpc's tx submission is async diff --git a/docs/learn/encyclopedia/contract-development/types/built-in-types.mdx b/docs/learn/encyclopedia/contract-development/types/built-in-types.mdx index 33f9a49fd..2c11cb76d 100644 --- a/docs/learn/encyclopedia/contract-development/types/built-in-types.mdx +++ b/docs/learn/encyclopedia/contract-development/types/built-in-types.mdx @@ -52,12 +52,14 @@ Symbols are small efficient strings up to 32 characters in length and limited to Symbols are primarily used for function names and other identifiers that are exported in the public API of a contract. They can also be used wherever short strings are needed to keep resource costs down. -## Bytes, Strings (`Bytes`, `BytesN`) +## Bytes, Strings (`Bytes`, `BytesN`, `String`) Byte arrays and strings can be passed to contracts and stores using the `Bytes` type. For byte arrays of fixed length, `BytesN` can be used. For example, contract IDs are fixed 32-byte byte arrays, and are represented as `BytesN<32>`. +Note that the bytes contained in `String`s do not necessarily conform to any standard text encoding such as ASCII or Unicode UTF-8. They are plain uninterpreted bytes, and users expecting a particular encoding need to enforce that encoding manually. + ## Vec (`Vec`) Vec is a sequential and indexable growable collection type. diff --git a/docs/learn/encyclopedia/storage/state-archival.mdx b/docs/learn/encyclopedia/storage/state-archival.mdx index 5eefb20c2..db558a929 100644 --- a/docs/learn/encyclopedia/storage/state-archival.mdx +++ b/docs/learn/encyclopedia/storage/state-archival.mdx @@ -176,13 +176,13 @@ The restored entry will have its live until ledger extended to the [minimum] the ## Examples -We've done our best to build tooling around state archival in both the Soroban RPC server as well as the JavaScript SDK to make it easier to deal with, and this set of examples demonstrates how to leverage it. +We've done our best to build tooling around state archival in both the Stellar RPC server as well as the JavaScript SDK to make it easier to deal with, and this set of examples demonstrates how to leverage it. ### Overview Both restoring and extending the TTL of ledger entries follows a three-step process regardless of their nature (contract data, instances, etc.): -1. **Identify the ledger entries**. This usually means acquiring them from a Soroban RPC server as part of your initial transaction simulation (see the [transaction simulation docs](../contract-development/contract-interactions/transaction-simulation.mdx) and the [`simulateTransaction`](../../../data/rpc/api-reference/methods/simulateTransaction.mdx) RPC method). +1. **Identify the ledger entries**. This usually means acquiring them from a Stellar RPC server as part of your initial transaction simulation (see the [transaction simulation docs](../contract-development/contract-interactions/transaction-simulation.mdx) and the [`simulateTransaction`](../../../data/rpc/api-reference/methods/simulateTransaction.mdx) RPC method). 2. **Prepare your operation**. This means describing the ledger entries within the corresponding operation (i.e. `ExtendFootprintTTLOp` or `RestoreFootprintOp`) and its ledger footprint (the `SorobanTransactionData` field), then simulating it to fill out fee and resource usage information (when restoring, you usually have simulation results already). diff --git a/docs/learn/fundamentals/networks.mdx b/docs/learn/fundamentals/networks.mdx index 6593e67be..08006a16e 100644 --- a/docs/learn/fundamentals/networks.mdx +++ b/docs/learn/fundamentals/networks.mdx @@ -40,7 +40,7 @@ If you are creating multiple accounts, you can fund your first account with Frie ## Testnet and Futurenet data reset -Testnet and Futurenet are reset periodically to the genesis ledger to declutter the network, remove spam, reduce the time needed to catch up on the latest ledger, and help maintain the system. Resets clear all ledger entries (accounts, trustlines, offers, smart contract data, etc.), transactions, and historical data from Stellar Core, Horizon, and the Soroban RPC- which is why developers should not rely on the persistence of accounts or the state of any balances when using Testnet or Futurenet. +Testnet and Futurenet are reset periodically to the genesis ledger to declutter the network, remove spam, reduce the time needed to catch up on the latest ledger, and help maintain the system. Resets clear all ledger entries (accounts, trustlines, offers, smart contract data, etc.), transactions, and historical data from Stellar Core, Horizon, and the Stellar RPC- which is why developers should not rely on the persistence of accounts or the state of any balances when using Testnet or Futurenet. Futurenet resets are on a less regular cadence than Testnet resets and don't have a set schedule. @@ -76,7 +76,7 @@ A script can automate this entire process by creating an account with Friendbot - Creating test accounts (with funding from Friendbot); - Developing applications and contracts and exploring tutorials on Stellar without the potential to lose any assets; -- Testing existing applications against new releases or release candidates of Stellar Core, Horizon, and the Soroban RPC; +- Testing existing applications against new releases or release candidates of Stellar Core, Horizon, and the Stellar RPC; - Performing data analysis on a smaller, non-trivial data set compared to the Mainnet. ### Testnet and Futurenet are bad for diff --git a/docs/learn/fundamentals/stellar-stack.mdx b/docs/learn/fundamentals/stellar-stack.mdx index 6cd52a4aa..f530a7431 100644 --- a/docs/learn/fundamentals/stellar-stack.mdx +++ b/docs/learn/fundamentals/stellar-stack.mdx @@ -31,7 +31,7 @@ Learn all there is to know about using Horizon in the Horizon [documentation](.. ## RPC -Soroban's RPC is a JSON RPC server that provides an interface for users and applications to interact with smart contracts on the Stellar blockchain. When an application would like to interact with smart contracts, it sends a request to the RPC server. The server interprets these requests, translates them into a format understandable by the blockchain nodes, and forwards them. After processing the requests, the blockchain nodes send back the results. The RPC server receives these results and sends them back to the requesting application. +Stellar's RPC is a JSON RPC server that provides an interface for users and applications to interact with smart contracts on the Stellar blockchain. When an application would like to interact with smart contracts, it sends a request to the RPC server. The server interprets these requests, translates them into a format understandable by the blockchain nodes, and forwards them. After processing the requests, the blockchain nodes send back the results. The RPC server receives these results and sends them back to the requesting application. SDF has RPC endpoints available for Futurenet and Testnet. These services are free to use, and are suitable for development and testing. @@ -39,6 +39,6 @@ SDF does not provide a publicly available RPC endpoint for Mainnet. Developers s ## SDKs -SDKs simplify some of the work of accessing Horizon and the Soroban RPC by converting the data into friendlier formats and allowing you to program in the language of your choice. Stellar’s SDKs show you how to request data and create and submit transactions. Soroban's SDKs allow you to write smart contracts in Rust and interact with smart contracts in a myriad of other languages. +SDKs simplify some of the work of accessing Horizon and the Stellar RPC by converting the data into friendlier formats and allowing you to program in the language of your choice. Stellar’s SDKs show you how to request data and create and submit transactions. Soroban's SDKs allow you to write smart contracts in Rust and interact with smart contracts in a myriad of other languages. View Stellar's [SDK library](../../tools/sdks/library.mdx) to access our SDKs and their documentation. diff --git a/docs/learn/interactive/dapps/scaffold-soroban.mdx b/docs/learn/interactive/dapps/scaffold-soroban.mdx index 86fdc8be0..0304ede10 100644 --- a/docs/learn/interactive/dapps/scaffold-soroban.mdx +++ b/docs/learn/interactive/dapps/scaffold-soroban.mdx @@ -73,11 +73,11 @@ Dive in and discover the power of Soroban! With the introduction of these dapps, let's delve deeper into some of their [standout features](https://github.com/stellar/soroban-react-atomic-swap/blob/main/src/helpers/soroban.ts) that showcase the power and innovation behind the dapps: -Functionality behind the dapps is extensive and diverse, leveraging the `@stellar/stellar-sdk` library to integrate with the Soroban RPC and facilitating direct communication with Soroban using a JSON RPC interface on the Stellar network. They are equipped to communicate across different network setups, as they incorporate the `RPC_URLS` and `getServer` functionalities, providing adaptability that is crucial for various development and deployment scenarios. Users can retrieve user-friendly token information without engaging with complex blockchain operations, by utilizing functions like `getTokenSymbol`, `getTokenName`, and `getTokenDecimals`. +Functionality behind the dapps is extensive and diverse, leveraging the `@stellar/stellar-sdk` library to integrate with the Stellar RPC and facilitating direct communication with Soroban using a JSON RPC interface on the Stellar network. They are equipped to communicate across different network setups, as they incorporate the `RPC_URLS` and `getServer` functionalities, providing adaptability that is crucial for various development and deployment scenarios. Users can retrieve user-friendly token information without engaging with complex blockchain operations, by utilizing functions like `getTokenSymbol`, `getTokenName`, and `getTokenDecimals`. A significant feature is the `simulateTx` function, which allows users to preview the outcome of a transaction before actually executing it. `simulateTx` allows users to submit a trial contract invocation by first running a simulation of the contract invocation as defined on the incoming transaction. The results are then applied to a new copy of the transaction, which is returned with the ledger footprint and authorization set, making it ready for signing and sending. The returned transaction will also have an updated fee, the sum of the fee set on the incoming transaction with the contract resource fees estimated from the simulation. It is advisable to check the fee on the returned transaction and validate or take appropriate measures for interaction with the user to confirm it is acceptable. -Other utilities such as `accountToScVal` and `numberToI128` are also provided to simplify transaction creation by converting user-friendly inputs into the formats expected by the Soroban RPC on the Stellar network. Furthermore, the dapps are built with premade helper functions such as the `makePayment` function which facilitates streamlined "transfer" operations and also includes memos for supplementary transaction-related information. +Other utilities such as `accountToScVal` and `numberToI128` are also provided to simplify transaction creation by converting user-friendly inputs into the formats expected by the Stellar RPC on the Stellar network. Furthermore, the dapps are built with premade helper functions such as the `makePayment` function which facilitates streamlined "transfer" operations and also includes memos for supplementary transaction-related information. The code referenced showcases various functionalities including sending transactions, retrieving token information, simulating transactions, building swaps, and authorizing contract calls, all of which are ready to be cloned, customized, and expanded upon to suit your unique needs and ideas. diff --git a/docs/learn/migrate/evm/smart-contract-deployment.mdx b/docs/learn/migrate/evm/smart-contract-deployment.mdx index d5a111d98..6d6fcee13 100644 --- a/docs/learn/migrate/evm/smart-contract-deployment.mdx +++ b/docs/learn/migrate/evm/smart-contract-deployment.mdx @@ -62,7 +62,7 @@ async function main() { ### Soroban Client -Soroban offers a comparable library, [`stellar-sdk`](../../../tools/sdks/library.mdx#javascript-sdk), that enables seamless interaction smart contracts deployed on the Stellar Network. This library supplies a comprehensive networking layer API for Soroban RPC methods as well as the traditional Horizon API, simplifying the process of building and signing transactions. Additionally, `stellar-sdk` streamlines communication with RPC instances and supports submitting transactions or querying network state with ease. +Soroban offers a comparable library, [`stellar-sdk`](../../../tools/sdks/library.mdx#javascript-sdk), that enables seamless interaction smart contracts deployed on the Stellar Network. This library supplies a comprehensive networking layer API for Stellar RPC methods as well as the traditional Horizon API, simplifying the process of building and signing transactions. Additionally, `stellar-sdk` streamlines communication with RPC instances and supports submitting transactions or querying network state with ease. ### Scripts diff --git a/docs/networks/README.mdx b/docs/networks/README.mdx index f1b04fc3f..be9fbbb22 100644 --- a/docs/networks/README.mdx +++ b/docs/networks/README.mdx @@ -16,7 +16,7 @@ Read more about the different networks in the [Networks section](../learn/fundam | :-- | --- | --- | --- | | Network Passphrase | `Public Global Stellar Network ; September 2015` | `Test SDF Network ; September 2015` | `Test SDF Future Network ; October 2022` | | Horizon API | See available [Horizon ecosystem providers] | https://horizon-testnet.stellar.org | https://horizon-futurenet.stellar.org | -| Soroban RPC | See available [RPC ecosystem providers] | `https://soroban-testnet.stellar.org` | `https://rpc-futurenet.stellar.org` | +| Stellar RPC | See available [RPC ecosystem providers] | `https://soroban-testnet.stellar.org` | `https://rpc-futurenet.stellar.org` | | Friendbot API | N/A | `https://friendbot.stellar.org` | `https://friendbot-futurenet.stellar.org` | | Validator | `core-live-a.stellar.org` `core-live-b.stellar.org` `core-live-c.stellar.org` | `core-live-testnet.stellar.org` | `core-live-futurenet.stellar.org` | | History Archive | `http://history.stellar.org/prd/core-live/core_live_001/`, `http://history.stellar.org/prd/core-live/core_live_002/`, `http://history.stellar.org/prd/core-live/core_live_003/` | https://history-testnet.stellar.org | https://history-futurenet.stellar.org | diff --git a/docs/networks/software-versions.mdx b/docs/networks/software-versions.mdx index 12d3702c2..f89fb8d22 100644 --- a/docs/networks/software-versions.mdx +++ b/docs/networks/software-versions.mdx @@ -19,9 +19,9 @@ Release candidates are software releases that are also released to the [Testnet] | Software | Version | | --- | --- | | XDR | `v22.0` | -| Rust XDR | `v22.0.0-rc.1.1` | -| Soroban Environment | `v22.0.0-rc.2` | -| Stellar Core | `v22.0.0rc2` | +| Rust XDR | `v22.0.0` | +| Soroban Environment | `v22.0.0` | +| Stellar Core | `v22.0.0` | | Soroban Rust SDK | `v22.0.0-rc.2.1` | | Stellar CLI | `TBD` | | Soroban RPC | `TBD` | diff --git a/docs/tokens/README.mdx b/docs/tokens/README.mdx index abe558388..f55a3aaa3 100644 --- a/docs/tokens/README.mdx +++ b/docs/tokens/README.mdx @@ -38,7 +38,7 @@ Assets issued on the Stellar network are accessible to smart contracts with the ### Stellar Asset Contract -The Stellar Asset Contract (SAC) is compiled into the protocol layer and allows smart contracts to interact with assets issued on Stellar. An instance of the SAC can be deployed for every Stellar asset by anyone who wants to interact with the asset from a contract. The SAC has access to all account balances (for XLM) and trustline balances (for all other assets) balances as well as smart contract token balances. +The Stellar Asset Contract (SAC) is compiled into the protocol layer and allows smart contracts to interact with assets issued on Stellar. An instance of the SAC can be deployed for every Stellar asset by anyone who wants to interact with the asset from a contract. The SAC has access to all account balances (for XLM) and trustline balances (for all other assets) as well as smart contract token balances. Read more about the SAC [here][sac]. diff --git a/docs/tools/developer-tools/data-indexers.mdx b/docs/tools/developer-tools/data-indexers.mdx index 79c62fdbd..40e7a7ee7 100644 --- a/docs/tools/developer-tools/data-indexers.mdx +++ b/docs/tools/developer-tools/data-indexers.mdx @@ -15,7 +15,7 @@ Also offers RPC and Horizon instances. ### [BlockEden](https://blockeden.xyz/stellar-soroban/) -An all-in-one Soroban RPC, indexer GraphQL API, and data analytics web portal. +An all-in-one Stellar RPC, indexer GraphQL API, and data analytics web portal. ### [Goldsky](https://goldsky.com/) diff --git a/docs/tools/developer-tools/lab/README.mdx b/docs/tools/developer-tools/lab/README.mdx index c2decfad8..464b1f58c 100644 --- a/docs/tools/developer-tools/lab/README.mdx +++ b/docs/tools/developer-tools/lab/README.mdx @@ -16,7 +16,7 @@ Stellar Lab is our new go-to tool for development, experimenting, and testing, a ### Features of Stellar Lab - Easily Create Accounts: Create Accounts on Mainnet, Testnet, and Futurenet using a web UI. You can use Friendbot to fund those accounts directly on Lab for Testnet and Futurenet. -- Access RPC Methods and Horizon Endpoints: Leverage powerful Soroban RPC methods and Stellar Horizon endpoints in a web UI to interact with the Stellar network and obtain crucial data. Try RPC methods to get states from the ledger like accounts, trustlines, contract wasm, and more. +- Access RPC Methods and Horizon Endpoints: Leverage powerful Stellar RPC methods and Stellar Horizon endpoints in a web UI to interact with the Stellar network and obtain crucial data. Try RPC methods to get states from the ledger like accounts, trustlines, contract wasm, and more. - Simulate and Submit: Lab supports the ability to use custom RPC providers so that you could simulate transactions, save transactions, and submit transactions directly using Lab. You can also submit transactions using Horizon. - Save and Share API Requests: Easily save your requests and transactions for the future or share them with teammates to build faster together. - XDR ⇔ JSON Support: We have introduced a canonical [XDR to JSON mapping](https://www.npmjs.com/package/@stellar/stellar-xdr-json-web) which is used on Stellar Lab (also used in the [Stellar CLI](https://github.com/stellar/stellar-cli)). You can see this at work in the Lab where [XDR can be converted to JSON](https://lab.stellar.org/xdr/view). diff --git a/docs/tools/developer-tools/lab/account.mdx b/docs/tools/developer-tools/lab/account.mdx index 99c9830e5..bafee855b 100644 --- a/docs/tools/developer-tools/lab/account.mdx +++ b/docs/tools/developer-tools/lab/account.mdx @@ -1,6 +1,12 @@ +--- +title: Account +description: Explore Stellar Lab's Account Page by creating and funding account on Stellar +sidebar_position: 10 +--- + # Account -## Create Account Keypair +## [Create Account Keypair](https://lab.stellar.org/account/create) ![Lab: Create Account](/assets/lab/lab-account-create.png) @@ -23,7 +29,9 @@ The Friendbot can be used for new account or accounts with balance under a start ::: -## Fund Account +4. Optionally, to save the generated keypair, click the "Save Keypair" button. Enter the name in the pop-up and click the "Save" button to save the keypair in the browser's local storage. Click the "Saved Keypairs" link on the left-side menu to view saved keypairs. The save feature is available only on Testnet and Futurenet networks. + +## [Fund Account](https://lab.stellar.org/account/fund) ![Lab: Fund Account](/assets/lab/lab-account-fund.png) @@ -39,3 +47,17 @@ If you already have a keypair you want to fund, go to the "Fund Account" page. You can also create an account using a Stellar SDK. Follow a guide [here](../../../build/guides/basics/create-account.mdx). ::: + +## [Saved Keypairs](https://lab.stellar.org/account/saved) + +![Lab: Saved Keypairs](/assets/lab/lab-account-saved.png) + +This page shows you saved keypairs for the selected network (only Testnet and Futurenet) in the browser's local storage. Every keypair has the following: + +1. Name - makes it easy to find the keypair you're looking for. You can update the name anytime by clicking the edit button and saving the new name. +2. Public key - the public account address. You can quickly copy it with a click of a button. +3. Secret key - the secret key of the account. Click the Eye button to toggle between masked and clear text format. Like the Public key, you can copy it by clicking the Copy button. +4. Delete the saved keypair if it's no longer needed. +5. The last saved date and time. +6. XLM balance if the account is funded. +7. If the account is unfunded, you can get 10,000 XLM by clicking the "Fund with Friendbot" button. This might be useful after the Testnet or Futurenet reset, as all your saved accounts will also be reset. diff --git a/docs/tools/developer-tools/lab/api-explorer/README.mdx b/docs/tools/developer-tools/lab/api-explorer/README.mdx new file mode 100644 index 000000000..c7e2cb34c --- /dev/null +++ b/docs/tools/developer-tools/lab/api-explorer/README.mdx @@ -0,0 +1,14 @@ +--- +title: API Explorer +sidebar_position: 20 +--- + +import DocCardList from "@theme/DocCardList"; + +# Developer Tools + +This section demonstrates how to use RPC methods and Horizon endpoints on the Stellar Lab across different networks, including features like sharing URLs and saving requests for future use. + +You can explore the various endpoints from the RPC and Horizon, make requests to these endpoints, and save them for future use. + + diff --git a/docs/tools/developer-tools/lab/api-explorer/horizon-endpoint.mdx b/docs/tools/developer-tools/lab/api-explorer/horizon-endpoint.mdx new file mode 100644 index 000000000..3435ce840 --- /dev/null +++ b/docs/tools/developer-tools/lab/api-explorer/horizon-endpoint.mdx @@ -0,0 +1,360 @@ +# Horizon Endpoints + +Horizon provides an HTTP API to access data stored on the Stellar network. This API acts as a bridge between applications and Stellar Core. Stellar Lab's [API Explorer](https://lab.stellar.org/endpoints) offers a Horizon Endpoints UI, enabling developers to interact with Horizon on Futurenet, Testnet, Mainnet, and custom networks. Developers can use Stellar Lab to build and submit transactions, query account balances, and stream events such as transactions for an account. + +:::info + +On August 1, 2024, the SDF truncated historical data on its Horizon instances to one year. This update allows us to optimize performance and ensure a streamlined experience for all users. We encourage you to explore [third-party ecosystem providers of Horizon](../../../../data/horizon/horizon-providers), which may provide a longer history retention window as well as other features. + +::: + +Data on the Stellar ledger is organized into [resources](https://developers.stellar.org/docs/data/horizon/api-reference/resources): **Accounts, Assets, Claimable Balances, Effects, Ledgers, Liquidity Pools, Offers, Operations, Trades**, and **Transactions**. Each resource has multiple endpoints. Endpoints that aggregate ledger data (also known as [aggregations](https://developers.stellar.org/docs/data/horizon/api-reference/aggregations)) include resources like **Order Books, Paths, Trade Aggregations**, and **Fee Stats**. + +Stellar Lab's Horizon Endpoints lists each resource type in the side menu, allowing developers to interact with its respective endpoints. + +![Lab: Horizon Page](/assets/lab/horizon-endpoints.png) + +:::info + +For detailed information about each endpoint on a page, click the **View Docs** link in the header to access its API Reference documentation. + +::: + +![Lab: Horizon - View Docs](/assets/lab/lab-horizon-view-docs.png) + +## Examples of Horizon Endpoints + +Let's explore a few examples of Horizon endpoints on Testnet and Mainnet. We also have a [documentation on how to set up a local Stellar network environment](../quickstart-with-lab) if you are interested in using a local environment. This will demonstrate how to use the Lab to access these endpoints. + +- [Single Account](#single-account): `/accounts/:account-id` +- [Payments for Account](#payments-for-account): `/accounts/:account-id/payments` +- [All Assets](#all-assets): `/assets` + +### [Single Account](https://lab.stellar.org/endpoints/accounts/single) + +The single account endpoint `/accounts/:account-id` provides information on a specific account. This example uses an account `GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F` on Testnet. + +![Lab: Horizon - Single Account](/assets/lab/lab-single-account.png) + +When I click the **Submit** button, the account endpoint returns the account details in `JSON` format. Developers can use the **Copy Json** functionality to copy and paste the response. Along with the account details such as `id`, `balances` of the account including the assets that the account has set its trustline to, `thresholds`, `flags`, and `signers` (3 signers in the example account). + +The endpoint also provides links to related resource pages on the Stellar Lab for the queried account. For example, the response includes `transactions`, `operations`, `payments`, and more under `_links`. Clicking a transaction's `href` takes developers to the [Transactions for Account page](https://lab.stellar.org/endpoints/transactions/account?$=network$id=testnet&label=Testnet&horizonUrl=https:////horizon-testnet.stellar.org&rpcUrl=https:////soroban-testnet.stellar.org&passphrase=Test%20SDF%20Network%20/;%20September%202015;&endpoints$params$account_id=GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F;;) page on the Stellar Lab where developers can query transactions for that account right away. + +![Lab: Horizon - Single Account Response](/assets/lab/lab-single-account-response.png) + +```{ + "_links": { + "self": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F" + }, + "transactions": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/transactions{?cursor,limit,order}", + "templated": true + }, + "operations": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/operations{?cursor,limit,order}", + "templated": true + }, + "payments": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments{?cursor,limit,order}", + "templated": true + }, + "effects": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/effects{?cursor,limit,order}", + "templated": true + }, + "offers": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/offers{?cursor,limit,order}", + "templated": true + }, + "trades": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/trades{?cursor,limit,order}", + "templated": true + }, + "data": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/data/{key}", + "templated": true + } + }, + "id": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "account_id": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "sequence": "4113457683103748", + "sequence_ledger": 958608, + "sequence_time": "1731620848", + "subentry_count": 3, + "last_modified_ledger": 958608, + "last_modified_time": "2024-11-14T21:47:28Z", + "thresholds": { + "low_threshold": 5, + "med_threshold": 5, + "high_threshold": 5 + }, + "flags": { + "auth_required": false, + "auth_revocable": false, + "auth_immutable": false, + "auth_clawback_enabled": false + }, + "balances": [ + { + "balance": "0.0000000", + "limit": "922337203685.4775807", + "buying_liabilities": "0.0000000", + "selling_liabilities": "0.0000000", + "last_modified_ledger": 958608, + "is_authorized": true, + "is_authorized_to_maintain_liabilities": true, + "asset_type": "credit_alphanum4", + "asset_code": "USDC", + "asset_issuer": "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5" + }, + { + "balance": "9990.9999400", + "buying_liabilities": "0.0000000", + "selling_liabilities": "0.0000000", + "asset_type": "native" + } + ], + "signers": [ + { + "weight": 2, + "key": "GAGOOY3NKKNEXDOVKTKIP2AUCT6ZOQD4SMWAB54TSHTAXATLJSVVDJCZ", + "type": "ed25519_public_key" + }, + { + "weight": 1, + "key": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "type": "ed25519_public_key" + }, + { + "weight": 2, + "key": "GDFHN4ILDFEBM5YHW6MYOQIRNY3EQ7VV72IW3YIAZNXDW363SUAK7BBL", + "type": "ed25519_public_key" + } + ], + "data": {}, + "num_sponsoring": 0, + "num_sponsored": 0, + "paging_token": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F" +} +``` + +### [Payments for Account](https://lab.stellar.org/endpoints/payments/account) + +The Payments for Account endpoint `/accounts/:account-id/payments` provides successful payments for a given account and can be used in streaming mode. We're going to use the same account that we used from the previous example: `GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F`. + +![Lab: Horizon - Payments](/assets/lab/horizon-payments.png) + +When I click the **Submit** button, the endpoint returns the records of payments (see the [api reference](https://developers.stellar.org/docs/data/horizon/api-reference/get-payments-by-account-id) for more information on the response format) including the [payment object](https://developers.stellar.org/docs/data/horizon/api-reference/resources/payments/object) that were submitted successfully in the account in `JSON` format. + +![Lab: Horizon - Payments Response](/assets/lab/horizon-payments-response.png) + +``` +{ + "_links": { + "self": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments?cursor=&limit=10&order=asc" + }, + "next": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments?cursor=4115390418391041&limit=10&order=asc" + }, + "prev": { + "href": "https://horizon-testnet.stellar.org/accounts/GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F/payments?cursor=4113457683111937&limit=10&order=desc" + } + }, + "_embedded": { + "records": [ + { + "_links": { + "self": { + "href": "https://horizon-testnet.stellar.org/operations/4113457683111937" + }, + "transaction": { + "href": "https://horizon-testnet.stellar.org/transactions/b86ad0433bd024d37739b803529e77601bceb83976d6ae328a61f8f0f8300cb6" + }, + "effects": { + "href": "https://horizon-testnet.stellar.org/operations/4113457683111937/effects" + }, + "succeeds": { + "href": "https://horizon-testnet.stellar.org/effects?order=desc&cursor=4113457683111937" + }, + "precedes": { + "href": "https://horizon-testnet.stellar.org/effects?order=asc&cursor=4113457683111937" + } + }, + "id": "4113457683111937", + "paging_token": "4113457683111937", + "transaction_successful": true, + "source_account": "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR", + "type": "create_account", + "type_i": 0, + "created_at": "2024-11-14T20:34:58Z", + "transaction_hash": "b86ad0433bd024d37739b803529e77601bceb83976d6ae328a61f8f0f8300cb6", + "starting_balance": "10000.0000000", + "funder": "GAIH3ULLFQ4DGSECF2AR555KZ4KNDGEKN4AFI4SU2M7B43MGK3QJZNSR", + "account": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F" + }, + { + "_links": { + "self": { + "href": "https://horizon-testnet.stellar.org/operations/4113586532130817" + }, + "transaction": { + "href": "https://horizon-testnet.stellar.org/transactions/bbc6b423efb9c5a8ebb1ac72437a326ffd4b8a202782157f9a9bca38f742f7d7" + }, + "effects": { + "href": "https://horizon-testnet.stellar.org/operations/4113586532130817/effects" + }, + "succeeds": { + "href": "https://horizon-testnet.stellar.org/effects?order=desc&cursor=4113586532130817" + }, + "precedes": { + "href": "https://horizon-testnet.stellar.org/effects?order=asc&cursor=4113586532130817" + } + }, + "id": "4113586532130817", + "paging_token": "4113586532130817", + "transaction_successful": true, + "source_account": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "type": "payment", + "type_i": 1, + "created_at": "2024-11-14T20:37:28Z", + "transaction_hash": "bbc6b423efb9c5a8ebb1ac72437a326ffd4b8a202782157f9a9bca38f742f7d7", + "asset_type": "native", + "from": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "to": "GDE25LQ34AFCSDMYTOI6AVVEHRXFRJI4MOAVIUGUDUQEC5ZWN5OZDLAZ", + "amount": "4.0000000" + }, + { + "_links": { + "self": { + "href": "https://horizon-testnet.stellar.org/operations/4115390418391041" + }, + "transaction": { + "href": "https://horizon-testnet.stellar.org/transactions/6de546bd7702f1590f21928e6aa1329582b436f11d9fc9bcce304ea51f1893b0" + }, + "effects": { + "href": "https://horizon-testnet.stellar.org/operations/4115390418391041/effects" + }, + "succeeds": { + "href": "https://horizon-testnet.stellar.org/effects?order=desc&cursor=4115390418391041" + }, + "precedes": { + "href": "https://horizon-testnet.stellar.org/effects?order=asc&cursor=4115390418391041" + } + }, + "id": "4115390418391041", + "paging_token": "4115390418391041", + "transaction_successful": true, + "source_account": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "type": "payment", + "type_i": 1, + "created_at": "2024-11-14T21:12:31Z", + "transaction_hash": "6de546bd7702f1590f21928e6aa1329582b436f11d9fc9bcce304ea51f1893b0", + "asset_type": "native", + "from": "GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F", + "to": "GCNJ2TA24PJNDPE2JF3BYVLUTJX2GLRDGGBG4SYMQHKHYDHSMAPRZXWC", + "amount": "5.0000000" + } + ] + } +} +``` + +### [All Assets](https://lab.stellar.org/endpoints/assets) + +Horizon's `/assets` endpoint provides information about an asset. Since we are not interested in historical data, we will use SDF's Mainnet Horizon to retrieve the latest information about the asset. + +![Lab: Horizon - Assets Page](/assets/lab/horizon-assets.png) + +Let's inquire about one of the most popular assets on the Stellar network: [USDC by Circle](https://www.circle.com/usdc). To do this, enter `USDC` as the Asset Code and `GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN` as the Asset Issuer. + +![Lab: Horizon - Assets Page](/assets/lab/horizon-assets-usdc.png) + +When I click the **Submit** button, the `/assets` endpoint returns the `USDC` asset details in `JSON` format. + +![Lab: Horizon - Assets Page](/assets/lab/horizon-assets-usdc-response.png) + +The JSON response for the `USDC` asset includes [the asset object](https://developers.stellar.org/docs/data/horizon/api-reference/resources/assets/object), which contains details about USDC, such as the asset's TOML file (also known as [the Stellar info file](https://developers.stellar.org/docs/tokens/publishing-asset-info)), the number of claimable balances, liquidity pools, contracts, accounts, balances, and flags. + +It shows that `auth_revocable` is set to `true` under `flags`, indicating that this account (in this case, the `USDC` issuer) can freeze the balance of a holder of an asset it has issued. + +``` +{ + "_links": { + "self": { + "href": "https://horizon.stellar.org/assets?asset_code=USDC&asset_issuer=GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&cursor=&limit=10&order=asc" + }, + "next": { + "href": "https://horizon.stellar.org/assets?asset_code=USDC&asset_issuer=GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&cursor=USDC_GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN_credit_alphanum4&limit=10&order=asc" + }, + "prev": { + "href": "https://horizon.stellar.org/assets?asset_code=USDC&asset_issuer=GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&cursor=USDC_GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN_credit_alphanum4&limit=10&order=desc" + } + }, + "_embedded": { + "records": [ + { + "_links": { + "toml": { + "href": "https://centre.io/.well-known/stellar.toml" + } + }, + "asset_type": "credit_alphanum4", + "asset_code": "USDC", + "asset_issuer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN", + "paging_token": "USDC_GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN_credit_alphanum4", + "contract_id": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", + "num_claimable_balances": 449, + "num_liquidity_pools": 645, + "num_contracts": 388, + "num_archived_contracts": 18, + "accounts": { + "authorized": 1058053, + "authorized_to_maintain_liabilities": 0, + "unauthorized": 0 + }, + "claimable_balances_amount": "8567.4304807", + "liquidity_pools_amount": "6154162.8631633", + "contracts_amount": "2734426.6007745", + "archived_contracts_amount": "26.3776599", + "balances": { + "authorized": "121258232.6884846", + "authorized_to_maintain_liabilities": "0.0000000", + "unauthorized": "0.0000000" + }, + "flags": { + "auth_required": false, + "auth_revocable": true, + "auth_immutable": false, + "auth_clawback_enabled": false + } + } + ] + } +} +``` + +## Share Feature + +The Stellar Lab offers a share feature that allows you to copy a URL to its page, which redirects users to a form with the endpoint URL and parameter values pre-filled. This feature makes it easy to collaborate with others. + +For example, clicking the share icon on the Payments for Account page with the account ID `GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F`, copies a URL that includes the account ID parameter and network setting. An example of a copied URL is [this link](https://lab.stellar.org/endpoints/payments/account?$=network$id=testnet&label=Testnet&horizonUrl=https:////horizon-testnet.stellar.org&rpcUrl=https:////soroban-testnet.stellar.org&passphrase=Test%20SDF%20Network%20/;%20September%202015;&endpoints$params$account_id=GBPIMUEJFYS7RT23QO2ACH2JMKGXLXZI4E5ACBSQMF32RKZ5H3SVNL5F;;). + +![Lab: Horizon - Share Feature](/assets/lab/horizon-share.png) + +## Saved Requests + +The icon next to the Share Feature icon allows you to save an endpoint with its parameters in your browser's local storage. It displays the endpoint for the selected network, which can be changed using the menu in the upper-right corner. + +![Lab: Horizon - Save](/assets/lab/horizon-save.png) + +Clicking the icon opens a modal. We recommend providing an identifiable name to make it easier to search for later. + +![Lab: Horizon - Modal](/assets/lab/horizon-save-modal.png) + +Saved endpoints are located at the top left of the side menu. They include requests for both the **RPC Methods** and **Horizon Endpoints**. + +![Lab: Horizon - Saved Requests Page](/assets/lab/horizon-saved-requests.png) + +On the Saved Requests page, you can update a request name at any time by clicking the edit button and saving the new name. The **View** button redirects you to the respective endpoint page on the Stellar Lab, while the copy icon serves as the Share Feature we discussed earlier. You can also delete saved requests from this page. diff --git a/docs/tools/developer-tools/lab/quickstart-with-lab.mdx b/docs/tools/developer-tools/lab/quickstart-with-lab.mdx new file mode 100644 index 000000000..9cd587866 --- /dev/null +++ b/docs/tools/developer-tools/lab/quickstart-with-lab.mdx @@ -0,0 +1,33 @@ +# Using Lab with Quickstart + +## Overview + +[Quickstart](https://github.com/stellar/quickstart) provides an easy way to set up a local Stellar network environment. Specifically, Quickstart docker image bundles Stellar Core with Horizon, RPC, Friendbot, and the necessary PostgreSQL databases. Now it is possible to use Stellar Lab as an interface on Quickstart. + +## Prerequisites + +- [Stellar CLI](/docs/tools/developer-tools/cli/install-cli) +- [Docker](https://www.docker.com/) + +## Start Quickstart + +Quickstart can be started for different networks. In this example, we will start Quickstart for `testnet`. Start Quickstart with the Stellar CLI using the following command: + +```sh +stellar network container start testnet +``` + +Quickstart will usually start on `http://localhost:8000`. With this information, we can now configure Stellar Lab to use the local network. + +## Configure Stellar Lab to use Local Horizon and Local RPC + +![Lab: Network selector](/assets/lab/lab-custom-network.png) + +1. Open Stellar Lab network selector on the upper right hand corner. +2. Select `Custom` network in the dropdown. +3. For the RPC URL, input `http://localhost:8000/rpc`. +4. For the Horizon URL, input `http://localhost:8000.`. +5. For the [network passphrase](/docs/networks), input `Test SDF Network ; September 2015` +6. Click the button `Switch to Custom Network` and switched to using your Quickstart. + +You should be able to use Horizon endpoints, RPC endpoints, Friendbot on Lab, with requests now send to your local environment (Quickstart). Lab gives you a user friendly interface to interact with you local environment. diff --git a/docs/tools/developer-tools/lab/transactions.mdx b/docs/tools/developer-tools/lab/transactions.mdx new file mode 100644 index 000000000..761b7d3f2 --- /dev/null +++ b/docs/tools/developer-tools/lab/transactions.mdx @@ -0,0 +1,55 @@ +# Transactions + +## [Build Transaction](https://lab.stellar.org/transaction/build) + +![Lab: Build Transaction](/assets/lab/lab-transactions-build.png) + +You can access the "Build Transaction" page by clicking the "Transactions" link in the Lab's top navigation. The transaction builder UI has helpful messages, links, and input validation to make learning how to build transactions on the Stellar network easier. There are three main sections: params, operations, and transaction validation (error or success). + +### Params + +A Stellar transaction requires a source account, transaction sequence number, and a base fee. Memo and time bounds are optional. + +Once you enter a valid public address in the "Source Account" input, you can automatically fetch the sequence number by clicking the "Fetch next sequence" button. + +The base fee is 100 by default, but you may need to increase the fee if the network is congested. + +### Operations + +![Lab: Transaction operations](/assets/lab/lab-transactions-ops.png) + +A transaction requires at least one operation, but Stellar supports up to 100 operations in a single transaction. + +Select the operation type from the dropdown to get the fields for that operation type, and fill them out as needed. + +If you wish to add more operations, click the "Add Operation" button at the bottom of the operations section. You can also duplicate, delete, and move the operation by clicking the appropriate button on the upper right of the individual operation section. + +You can also save a valid transaction by clicking the save button at the bottom of the operations section. You will need to enter a name for this transaction in a pop-up and click the "Save" button. The transactions are saved in the browser's local storage and can be found on the "Saved Transactions" page (accessed by clicking the link in the left-side navigation). + +Clicking the share button (right next to the save button) allows you to share a link with all the transaction information provided. You can share any transaction, even if it's invalid or incomplete. + +### Transaction Validation + +![Lab: Transaction validation success](/assets/lab/lab-transactions-response-success.png) + +The validation section at the bottom of the page shows the built transaction information if everything is correct. Clicking the "Sign in Transaction Signer" button will take you to the "Sign Transaction" page, where you can sign the transaction. You can also click the "View in XDR viewer" button to view the JSON of the built transaction. + +If there are errors in this transaction, you will see them grouped by section (params and every operation) to make it easier to tell what needs fixing. + +![Lab: Transaction validation error](/assets/lab/lab-transactions-response-error.png) + +## [Saved Transactions](https://lab.stellar.org/transaction/saved) + +![Lab: Saved Transactions](/assets/lab/lab-transactions-saved.png) + +On this page, you'll see transactions saved in your browser's local storage. It only shows the transactions on the selected network, which you can change in the upper right corner. + +Saved transactions have the following: + +1. Name - makes finding the transaction you're looking for easy. You can update the name anytime by clicking the edit button and saving the new name. +2. Operations - list of operations in this transaction. +3. Delete the saved transaction. +4. The last saved date and time. +5. The share button to get a shareable link to this transaction. +6. Transactions saved on the "Transaction Builder" page have the "View in builder" button to take you to the "Build Transaction" page. +7. Transactions saved on the "Submit Transaction" page have the "View in submitter" button to take you to that page. diff --git a/docs/tools/developer-tools/network-insights.mdx b/docs/tools/developer-tools/network-insights.mdx new file mode 100644 index 000000000..51a2edc5e --- /dev/null +++ b/docs/tools/developer-tools/network-insights.mdx @@ -0,0 +1,12 @@ +--- +title: Network Insights +description: Tools to find unique insights about the Stellar network +sidebar_label: Network Insights +sidebar_position: 85 +--- + +# Network Insights + +### [StellarFee](https://stellarfee.expert/) + +A GUI tool which is a useful fee estimator, transaction simulator to find the resources consumed and the expected fees for a transaction. diff --git a/docs/tools/sdks/library.mdx b/docs/tools/sdks/library.mdx index c06aa07d1..f7684fa02 100644 --- a/docs/tools/sdks/library.mdx +++ b/docs/tools/sdks/library.mdx @@ -39,11 +39,11 @@ The AssemblyScript Soroban SDK is maintained by dedicated community developer, S [JavaScript SDK](https://github.com/stellar/js-stellar-sdk) | [Docs](https://stellar.github.io/js-stellar-sdk/) | [NPM](https://www.npmjs.com/package/@stellar/stellar-sdk) -`stellar-sdk` is the JavaScript library for communicating with a Soroban RPC server, communicating with the Horizon API, and building transactions on the Stellar network. It is used for building Stellar apps either on Node.js or in the browser. +`stellar-sdk` is the JavaScript library for communicating with a Stellar RPC server, communicating with the Horizon API, and building transactions on the Stellar network. It is used for building Stellar apps either on Node.js or in the browser. It provides: -- A networking layer API for Soroban RPC methods and the Horizon API. +- A networking layer API for Stellar RPC methods and the Horizon API. - Facilities for building and signing transactions, for communicating with an RPC instance, for communicating with a Horizon instance, and for submitting transactions or querying network state. ### Python SDK @@ -63,7 +63,7 @@ It provides: [iOS SDK](https://github.com/Soneso/stellar-ios-mac-sdk) | [Docs](https://github.com/Soneso/stellar-ios-mac-sdk/tree/master/docs) | [Smart Contract Docs](https://github.com/Soneso/stellar-ios-mac-sdk/blob/master/soroban.md) -The `stellar-ios-mac-sdk` is an open source Stellar SDK for iOS & Mac. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server. +The `stellar-ios-mac-sdk` is an open source Stellar SDK for iOS & Mac. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Stellar RPC Server. The iOS SDK is maintained by dedicated community developer, Soneso. @@ -71,7 +71,7 @@ The iOS SDK is maintained by dedicated community developer, Soneso. [Flutter SDK](https://github.com/Soneso/stellar_flutter_sdk) | [Docs](https://github.com/Soneso/stellar_flutter_sdk/blob/master/soroban.md) -The `stellar-flutter-sdk` is an open source Stellar SDK for Flutter developers. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server. +The `stellar-flutter-sdk` is an open source Stellar SDK for Flutter developers. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Stellar RPC Server. The Flutter Stellar SDK is maintained by dedicated community developer, Soneso. @@ -79,7 +79,7 @@ The Flutter Stellar SDK is maintained by dedicated community developer, Soneso. [PHP SDK](https://github.com/Soneso/stellar-php-sdk) | [Docs](https://github.com/Soneso/stellar-php-sdk/blob/main/soroban.md) -The `stellar-php-sdk` is an open source Stellar SDK for PHP developers. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server. +The `stellar-php-sdk` is an open source Stellar SDK for PHP developers. It provides APIs to build transactions and connect to Horizon. It also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Stellar RPC Server. The PHP Stellar SDK is maintained by dedicated community developer, Soneso. @@ -93,7 +93,7 @@ This SDK is maintained by dedicated community developers, kommitters Open Source [Java SDK](https://github.com/lightsail-network/java-stellar-sdk) | [Docs](https://lightsail-network.github.io/java-stellar-sdk/) -`java-stellar-sdk` provides APIs to build transactions and connect to Horizon and also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Soroban RPC Server. +`java-stellar-sdk` provides APIs to build transactions and connect to Horizon and also provides functionality to deploy and invoke Soroban smart contracts and communicates with the Stellar RPC Server. ### Go diff --git a/docs/validators/README.mdx b/docs/validators/README.mdx index d3bec8db7..848b0f179 100644 --- a/docs/validators/README.mdx +++ b/docs/validators/README.mdx @@ -10,7 +10,7 @@ Stellar is a peer-to-peer network made up of nodes, which are computers that kee This section of the docs explains how to run a validator node, which participates in consensus to validate transactions and determine network settings. A validator node _should not_ be used for network data access and transaction submission. There are two varieties of _non-validating_ nodes that can be used for those purposes, each of which has its own process for set up, interaction, maintenance, and monitoring. They are: 1. [**Horizon Nodes**](../data/horizon/README.mdx) can be used for submitting transactions, as well as exposing a REST API service to query and retrieve network state. -2. [**Soroban RPC Nodes**](../data/rpc/README.mdx) can be used for simulating and/or submitting transactions, as well as exposing an RPC service to query and retrieve current network state. +2. [**Stellar RPC Nodes**](../data/rpc/README.mdx) can be used for simulating and/or submitting transactions, as well as exposing an RPC service to query and retrieve current network state. If you are interested in Horizon or RPC nodes, please explore those docs. diff --git a/docusaurus.config.ts b/docusaurus.config.ts index ff118e6a1..20467918f 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -164,6 +164,11 @@ const config: Config = { docId: "data/horizon/README", label: "Horizon", }, + { + type: 'doc', + docId: "data/galexie/README", + label: "Galexie", + }, ] }, diff --git a/meeting-notes/2024-02-22.mdx b/meeting-notes/2024-02-22.mdx index e12a1363c..3ab6227db 100644 --- a/meeting-notes/2024-02-22.mdx +++ b/meeting-notes/2024-02-22.mdx @@ -15,5 +15,5 @@ tags: [developer] 1. Latest and greatest on the TypeScript bindings with [@chadoh](https://github.com/chadoh) 2. [Available RPC providers](/docs/data/rpc/rpc-providers) -3. Standing up a [`soroban-rpc` docker container](/docs/data/rpc/admin-guide#docker-image) +3. Standing up a [`stellar-rpc` docker container](/docs/data/rpc/admin-guide#docker-image) 4. Installing and invoking a Stellar Asset Contract on mainnet in Phase 0 diff --git a/meeting-notes/2024-11-14.mdx b/meeting-notes/2024-11-14.mdx new file mode 100644 index 000000000..ea0f02aea --- /dev/null +++ b/meeting-notes/2024-11-14.mdx @@ -0,0 +1,21 @@ +--- +title: '2024-11-14' +authors: carstenjacobsen +tags: [developer] +--- + + + +Agenda: [Discord thread](https://discord.com/events/897514728459468821/1304859059425382553/1306725344870400000) + +At this week’s developer meeting, Jeesun demonstrated the new Stellar Lab, showcasing its enhanced features designed to improve the developer experience. + +The tech stack of the new Stellar Lab was discussed in the meeting, and the following demos were used to show the Lab's functionality: + +1. Enable MultiSig Exercise +2. Stellar Wallets Kit +3. Create & Fund Account +4. Save KeyPairs Feature +5. Save Transactions Feature +6. XDR to JSON mapping +7. RPC Methods - including simulateTransaction diff --git a/openapi/horizon/bundled.yml b/openapi/horizon/bundled.yml index 4d8e18e63..b1b03d2af 100644 --- a/openapi/horizon/bundled.yml +++ b/openapi/horizon/bundled.yml @@ -1168,6 +1168,7 @@ paths: - $ref: '#/components/schemas/PathPaymentStrictReceive' - $ref: '#/components/schemas/PathPaymentStrictSend' - $ref: '#/components/schemas/AccountMerge' + - $ref: '#/components/schemas/InvokeHostFunction' examples: ListAllPayments: $ref: '#/components/examples/ListAllPayments' @@ -3765,6 +3766,109 @@ components: - destination_asset_type - destination_amount - path + host_function_parameter: + type: object + properties: + value: + type: string + type: + type: string + required: + - value + - type + asset_balance_change: + type: object + properties: + asset_type: + type: string + asset_code: + enum: + - native + - credit_alphanum4 + - credit_alphanum12 + asset_issuer: + $ref: '#/components/schemas/address' + type: + type: string + enum: + - transfer + - mint + - clawback + - burn + from: + type: string + to: + type: string + amount: + type: string + required: + - asset_type + - type + - amount + InvokeHostFunction: + type: object + properties: + _links: + type: object + properties: + self: + $ref: '#/components/schemas/link' + transaction: + $ref: '#/components/schemas/link' + effects: + $ref: '#/components/schemas/link' + succeeds: + $ref: '#/components/schemas/link' + precedes: + $ref: '#/components/schemas/link' + required: + - self + - transaction + - effects + - succeeds + - precedes + id: + $ref: '#/components/schemas/id' + paging_token: + type: string + transaction_successful: + type: boolean + source_account: + $ref: '#/components/schemas/address' + type: + type: string + example: invoke_host_function + type_i: + type: number + example: 0 + created_at: + type: string + transaction_hash: + type: string + function: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/host_function_parameter' + address: + type: string + salt: + type: string + asset_balance_changes: + type: array + items: + $ref: '#/components/schemas/asset_balance_change' + required: + - id + - paging_token + - transaction_successful + - source_account + - type + - type_i + - created_at + - transaction_hash + - function TradeAggregation: type: object properties: diff --git a/openapi/horizon/components/endpoints/payments.yml b/openapi/horizon/components/endpoints/payments.yml index cb19e32f9..8e9b45279 100644 --- a/openapi/horizon/components/endpoints/payments.yml +++ b/openapi/horizon/components/endpoints/payments.yml @@ -22,11 +22,12 @@ paths: allOf: - $ref: "../schemas/linksSchema.yml#/components/schemas/Links" - oneOf: - - $ref: "../schemas/createAccountSchema.yml#/components/schemas/CreateAccount" - - $ref: "../schemas/paymentSchema.yml#/components/schemas/Payment" - - $ref: "../schemas/pathPaymentStrictReceiveSchema.yml#/components/schemas/PathPaymentStrictReceive" - - $ref: "../schemas/pathPaymentStrictSendSchema.yml#/components/schemas/PathPaymentStrictSend" - - $ref: "../schemas/accountMergeSchema.yml#/components/schemas/AccountMerge" + - $ref: "../schemas/createAccountSchema.yml#/components/schemas/CreateAccount" + - $ref: "../schemas/paymentSchema.yml#/components/schemas/Payment" + - $ref: "../schemas/pathPaymentStrictReceiveSchema.yml#/components/schemas/PathPaymentStrictReceive" + - $ref: "../schemas/pathPaymentStrictSendSchema.yml#/components/schemas/PathPaymentStrictSend" + - $ref: "../schemas/accountMergeSchema.yml#/components/schemas/AccountMerge" + - $ref: "../schemas/invokeHostFunctionSchema.yml#/components/schemas/InvokeHostFunction" examples: ListAllPayments: $ref: "../examples/responses/Operations/ListAllPayments.yml#/components/examples/ListAllPayments" diff --git a/openapi/horizon/components/instance_variables.yml b/openapi/horizon/components/instance_variables.yml index a80838e3d..8a0f59c21 100644 --- a/openapi/horizon/components/instance_variables.yml +++ b/openapi/horizon/components/instance_variables.yml @@ -4,7 +4,7 @@ components: type: string address: type: string - pattern: "G[A-Z0-9]{55}" + pattern: "G[A-Z0-9]{55}" sequence: type: string pattern: "[0-9]+" @@ -13,7 +13,7 @@ components: format: int32 sequence_ledger: type: integer - format: uint32 + format: uint32 last_modified_ledger: type: integer format: uint32 @@ -21,7 +21,7 @@ components: type: object properties: auth_required: - type: boolean + type: boolean auth_revocable: type: boolean auth_immutable: @@ -36,14 +36,14 @@ components: med_threshold: type: integer high_threshold: - type: integer + type: integer hash: type: string signatures: type: array - items: + items: type: string - pattern: "G[A-Z0-9]{55}" + pattern: "G[A-Z0-9]{55}" link: type: object properties: @@ -53,6 +53,43 @@ components: templated: type: boolean required: - ["href"] + ["href"] paging_token: - type: string \ No newline at end of file + type: string + host_function_parameter: + type: object + properties: + value: + type: string + type: + type: string + required: [ value, type ] + asset_balance_change: + type: object + properties: + asset_type: + type: string + asset_code: + enum: + - native + - credit_alphanum4 + - credit_alphanum12 + asset_issuer: + $ref: './instance_variables.yml#/components/schemas/address' + type: + type: string + enum: + - transfer + - mint + - clawback + - burn + from: + type: string + to: + type: string + amount: + type: string + required: + - asset_type + - type + - amount diff --git a/openapi/horizon/components/schemas/invokeHostFunctionSchema.yml b/openapi/horizon/components/schemas/invokeHostFunctionSchema.yml new file mode 100644 index 000000000..79d7346b6 --- /dev/null +++ b/openapi/horizon/components/schemas/invokeHostFunctionSchema.yml @@ -0,0 +1,66 @@ +components: + schemas: + InvokeHostFunction: + type: object + properties: + _links: + type: object + properties: + self: + $ref: '../instance_variables.yml#/components/schemas/link' + transaction: + $ref: '../instance_variables.yml#/components/schemas/link' + effects: + $ref: '../instance_variables.yml#/components/schemas/link' + succeeds: + $ref: '../instance_variables.yml#/components/schemas/link' + precedes: + $ref: '../instance_variables.yml#/components/schemas/link' + required: + - self + - transaction + - effects + - succeeds + - precedes + id: + $ref: '../instance_variables.yml#/components/schemas/id' + paging_token: + type: string + transaction_successful: + type: boolean + source_account: + $ref: '../instance_variables.yml#/components/schemas/address' + type: + type: string + example: invoke_host_function + type_i: + type: number + example: 0 + created_at: + type: string + transaction_hash: + type: string + function: + type: string + parameters: + type: array + items: + $ref: '../instance_variables.yml#/components/schemas/host_function_parameter' + address: + type: string + salt: + type: string + asset_balance_changes: + type: array + items: + $ref: '../instance_variables.yml#/components/schemas/asset_balance_change' + required: + - id + - paging_token + - transaction_successful + - source_account + - type + - type_i + - created_at + - transaction_hash + - function diff --git a/openapi/stellar-disbursement-platform/bundled.yaml b/openapi/stellar-disbursement-platform/bundled.yaml index 9aa7c96ad..fe4a5b1b7 100644 --- a/openapi/stellar-disbursement-platform/bundled.yaml +++ b/openapi/stellar-disbursement-platform/bundled.yaml @@ -40,7 +40,7 @@ tags: Each receiver will have at least one wallet associated with them. The wallet public key will remain null until the receiver registers with a wallet provider and links the wallet to the SDP through SEP-24. Receivers must verify their identity through that process, which requires the SDP to store verification information on receivers like date of birth, national ID number, or personal PIN. This information can be updated by the organization through the receiver endpoints. - name: Registration description: | - The registration endpoints guide the process for a receiver to verify their identity and link their wallet address to an SDP. The registration process only needs to happen once per receiver to link their wallet. Only SDP-compatible wallet providers can facilitate the registration process. These endpoints must be supported and hit by the wallet providers after the receiver gets the initial SMS invite. After the wallet address is successfully linked, the payment automatically begins. + The registration endpoints guide the process for a receiver to verify their identity and link their wallet address to an SDP. The registration process only needs to happen once per receiver to link their wallet. Only SDP-compatible wallet providers can facilitate the registration process. These endpoints must be supported and hit by the wallet providers after the receiver gets the initial invite. After the wallet address is successfully linked, the payment automatically begins. There are two parts to the registration flow. First, the wallet must authenticate and initiate a registration flow using the Anchor Platform Endpoints defined below. Note that these endpoints are hosted on a different host than the Stellar Disursement Platform. @@ -530,14 +530,19 @@ paths: type: string asset_id: type: string - country_code: + verification_field: + $ref: '#/components/schemas/VerificationField' + registration_contact_type: + $ref: '#/components/schemas/RegistrationContactType' + receiver_registration_message_template: type: string - description: Three-character ISO 3166 code example: name: My New Disbursement name wallet_id: e2de8544-b7e2-40a9-ad40-411f70d5c4bf asset_id: d227a68c-2f40-11ee-be56-0242ac120002 - country_code: UKR + verification_field: DATE_OF_BIRTH + registration_contact_type: PHONE_NUMBER + receiver_registration_message_template: You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register. required: false responses: '201': @@ -566,12 +571,12 @@ paths: error: Bad request extras: status: 400 - message: Invalid country code provided + message: Invalid wallet provided example: error: Bad request extras: status: 400 - message: Invalid country code provided + message: Invalid wallet provided '401': description: Unauthorized content: @@ -946,7 +951,7 @@ paths: tags: - Disbursements summary: Upload Disbursement Instructions - description: Adds a file containing a list of receivers to a `draft ` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a standard format that can be found at `dev/sample/sample-disbursement.csv `. The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called. + description: Adds a file containing a list of receivers to a `DRAFT` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a different possible formats according with the disbursement configuration, and they can be found at [public/resources/disbursementTemplates](https://github.com/stellar/stellar-disbursement-platform-frontend/tree/58873bbf36cff4614e603daf449079b1d9fad24a/public/resources/disbursementTemplates). The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called. operationId: UploadDisbursementInstructions parameters: - name: id @@ -967,7 +972,7 @@ paths: properties: file: type: string - description: 'Disbursement instructions file to upload. The CSV file should be in the following format: `phone,id,amount,verification`' + description: 'Disbursement instructions file to upload. The CSV file columns can vary depending om the way the disbursement was configured, and the fields are a subset of the following: [`phone`, `email`, `id`, `amount`, `verification`, `paymentID`, `walletAddress`]' format: binary required: true responses: @@ -1652,7 +1657,7 @@ paths: - Receivers summary: Update a Receiver description: This endpoint allows an organization to add and update information on the receiver, including email address, external ID, date of birth, personal PIN, and national ID number. The response includes all information on the receiver. - operationId: UpdateAReceiver + operationId: UpdateReceiver parameters: - name: id in: path @@ -1754,6 +1759,21 @@ paths: extras: status: 404 message: Resource not found + '409': + description: Conflicting phone number or email + content: + application/json: + schema: + type: object + properties: + error: + type: string + extras: + type: object + example: + error: The provided email is already associated with another user. + extras: + email: email must be unique security: - BearerAuth: [] x-codegen-request-body-name: body @@ -1945,7 +1965,7 @@ paths: tags: - Registration summary: Send One-Time Passcode - description: This endpoint generates a 6-digit OTP and sends it via SMS to the phone number provided in the request body (after checking that the phone number matches a receiver phone number in the SDP). A valid SEP-24 token should be included in the Authorization header of the request. + description: This endpoint generates a 6-digit OTP and sends it to the user contact (email or phone number SMS) provided in the request body, as long as it matches the receiver contact info stored in the SDP. A valid SEP-24 token should be included in this request's Authorization header. operationId: SendOneTimePasscode parameters: - name: Authorization @@ -1962,13 +1982,15 @@ paths: application/json: schema: required: - - phone_number - recaptcha_token type: object properties: phone_number: type: string - description: Phone number to which the OTP will be sent + description: Phone number to which the OTP will be sent. Either `phone_number` or `email` is required. + email: + type: string + description: Email to which the OTP will be sent. Either `phone_number` or `email` is required. recaptcha_token: type: string description: Token for reCAPTCHA validation @@ -2058,7 +2080,7 @@ paths: schema: type: string requestBody: - description: Verification data including phone number, OTP, verification value, and reCAPTCHA token + description: Verification data including phone_number/email, OTP, verification value, and reCAPTCHA token content: application/json: schema: @@ -2441,7 +2463,7 @@ paths: data: type: string description: | - A JSON string that contains the details to update. Contains the following keys: `organization_name` (string): the new name of the organization, `timezone_utc_offset` (string): the new timezone offset of the organization, `is_approval_required` (boolean): whether the approval workflow is enabled or not. `sms_registration_message_template` (string): the SMS message template sent to the receivers inviting them to registration. Sending this field empty sets the `default` value for it. `otp_message_template` (string): the SMS message template sent to the receivers sending the OTP to complete the registration flow. Sending this field empty sets the `default` value for it. For example: '{"organization_name": "NewOrgName", "timezone_utc_offset": "+02:00", "is_approval_required": true, "sms_registration_message_template": "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register.", "otp_message_template": "{{.OTP}} is your {{.OrganizationName}} phone verification code."}' + A JSON string that contains the details to update. Contains the following keys: `organization_name` (string): the new name of the organization, `timezone_utc_offset` (string): the new timezone offset of the organization, `is_approval_required` (boolean): whether the approval workflow is enabled or not. `receiver_registration_message_template` (string): the message template sent to the receivers inviting them to registration. Sending this field empty sets the `default` value for it. `otp_message_template` (string): the message template sent to the receivers sending the OTP to complete the registration flow. Sending this field empty sets the `default` value for it. For example: '{"organization_name": "NewOrgName", "timezone_utc_offset": "+02:00", "is_approval_required": true, "receiver_registration_message_template": "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register.", "otp_message_template": "{{.OTP}} is your {{.OrganizationName}} phone verification code."}' format: json responses: '200': @@ -2617,63 +2639,6 @@ paths: message: Not authorized security: - BearerAuth: [] - /countries: - get: - tags: - - Organization - summary: Get All Countries - description: Fetches the list of available countries to populate the dropdown box in the New Disbursement flow. The default list reflects geographic coverage of SDP-compatible wallet providers. - operationId: GetAllCountries - responses: - '200': - description: A list of countries - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Country' - '401': - description: Unauthorized - content: - application/json: - schema: - type: object - properties: - error: - type: string - extras: - type: object - properties: - status: - type: number - message: - type: string - example: - error: Not authorized - extras: - status: 401 - message: Not authorized - example: - error: Not authorized - extras: - status: 401 - message: Not authorized - '403': - description: Forbidden - content: - application/json: - schema: - type: object - properties: - error: - type: string - example: - error: Forbidden - example: - error: Forbidden - security: - - BearerAuth: [] /assets: get: tags: @@ -2798,6 +2763,7 @@ paths: get: tags: - Organization + - Wallets summary: Get All Wallets description: Fetches the list of available wallet providers to populate the dropdown box in the New Disbursement flow. The organization should coordinate with the wallet provider before selecting a particular wallet provider for a disbursement. The initial list reflects all SDP-compatible wallets. operationId: GetAllWallets @@ -2851,6 +2817,50 @@ paths: error: Forbidden security: - BearerAuth: [] + /wallets/{id}: + patch: + tags: + - Organization + - Wallets + summary: Update Wallet + description: 'This endpoint is used to enable or disable a wallet provider. Note: the organization should coordinate with the wallet provider before selecting a particular wallet provider for a disbursement.' + operationId: UpdateWallet + parameters: + - name: id + in: path + description: ID of the wallet to update + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: Wallet to be updated + content: + application/json: + schema: + required: + - enabled + type: object + properties: + enabled: + type: boolean + description: The enabled status of the wallet + example: true + required: true + responses: + '200': + description: Wallet updated successfully + content: + '*/*': + schema: + $ref: '#/components/schemas/MessageResponse' + '400': + description: Bad request, usually caused by the `enabled` field missing from the request body. + $ref: '#/components/responses/BadRequestResponse' + '404': + description: Wallet not found + $ref: '#/components/responses/NotFoundResponse' /users: get: tags: @@ -3689,25 +3699,6 @@ components: format: date-time example: '2023-06-03T10:55:51Z' description: The Stellar asset object - Country: - type: object - properties: - code: - type: string - description: Three-character ISO 3166 code - example: UKR - name: - type: string - description: Country name - example: Ukraine - created_at: - type: string - format: date-time - example: '2023-02-03T10:45:51Z' - updated_at: - type: string - format: date-time - example: '2023-02-03T10:45:51Z' Disbursement: type: object properties: @@ -3719,8 +3710,12 @@ components: type: string description: The name of the disbursement example: Disbursement Name - country: - $ref: '#/components/schemas/Country' + receiver_registration_message_template: + type: string + description: 'The custom template used to send invitations to receivers. The `default` message isn''t returned. In the message''s content it''s possible to add the following template variables: {{.OrganizationName}} which is the Organization Name configured and {{.RegistrationLink}} which is the link generated by SDP to send to the receiver (in case this is not present in the message, it''s automatically appended at the end).' + example: You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register. + registration_contact_type: + $ref: '#/components/schemas/RegistrationContactType' wallet: $ref: '#/components/schemas/Wallet' asset: @@ -3803,46 +3798,6 @@ components: type: array items: $ref: '#/components/schemas/Disbursement' - example: - pagination: - next: /disbursements?page=3&page_limit=1 - prev: /disbursements?page=1&page_limit=1 - pages: 4 - total: 4 - data: - id: 619da857-8725-4c58-933d-c120a458e0f5 - name: Disbursement Name - country: - code: UKR - name: Ukraine - created_at: '2023-02-03T10:45:51.000Z' - updated_at: '2023-02-03T10:45:51.000Z' - wallet: - id: e2de8544-b7e2-40a9-ad40-411f70d5c4bf - name: Vibrant - homepage: https://vibrantapp.com - asset: - id: 25923001-508a-4629-9186-c41211b2a3d0 - code: USDC - issuer: GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5 - status: READY - verification_field: DATE_OF_BIRTH - status_history: - - status: DRAFT - timestamp: '2023-02-03T10:45:51.000Z' - - user_id: 2ec7f1f9-add3-4e6d-9d14-bd8ac5e88872 - status: READY - timestamp: '2023-02-03T10:45:51.000Z' - file_name: disbursement-february-03-2023.csv - created_at: '2023-02-03T10:45:51.000Z' - updated_at: '2023-02-03T10:45:51.000Z' - total_payments: 10 - total_payments_sent: 8 - total_payments_failed: 1 - total_payments_remaining: 1 - amount_disbursed: '800.00' - total_amount: '1000.00' - average_amount: '100.00' DisbursementReceiver: type: object properties: @@ -3955,7 +3910,7 @@ components: - name - payment_cancellation_period_days - privacy_policy_link - - sms_resend_interval + - receiver_invitation_resend_interval_days - timezone_utc_offset type: object properties: @@ -3978,9 +3933,9 @@ components: type: boolean description: Enables multi-user approval workflow for disbursements example: true - sms_resend_interval: + receiver_invitation_resend_interval_days: type: integer - description: The amount of days that the SDP will wait to resend the invitation SMS to the receivers that have not registered. If `0`, that means the resending invitation SMS feature is disabled. + description: The amount of days that the SDP will wait to resend the invitation to the receivers that have not registered. If `0`, that means the resending invitation feature is disabled. example: 5 payment_cancellation_period_days: type: integer @@ -3990,9 +3945,9 @@ components: type: string description: The link to the organization privacy policy example: https://stellar.org/privacy-policy - sms_registration_message_template: + receiver_registration_message_template: type: string - description: 'The custom SMS message template set for the registration invite. The `default` message isn''t returned. In the message''s content it''s possible to add the following template variables: {{.OrganizationName}} which is the Organization Name configured and {{.RegistrationLink}} which is the link generated by SDP to send to the receiver (in case this is not present in the message, it''s automatically appended at the end).' + description: 'The custom template used to send invitations to receivers. The `default` message isn''t returned. In the message''s content it''s possible to add the following template variables: {{.OrganizationName}} which is the Organization Name configured and {{.RegistrationLink}} which is the link generated by SDP to send to the receiver (in case this is not present in the message, it''s automatically appended at the end).' example: You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register. otp_message_template: type: string @@ -4303,9 +4258,9 @@ components: invited_at: type: string example: '2023-02-09T10:45:51.000Z' - last_sms_sent: + last_message_sent_at: type: string - description: timestamp when the receiver last received an SMS about this wallet + description: timestamp when the receiver last received an invitation about this wallet example: '2023-02-10T10:45:51.000Z' total_payments: type: string @@ -4439,8 +4394,16 @@ components: type: string enum: - DATE_OF_BIRTH + - YEAR_MONTH - PIN - NATIONAL_ID_NUMBER + RegistrationContactType: + type: string + enum: + - EMAIL + - PHONE_NUMBER + - EMAIL_AND_WALLET_ADDRESS + - PHONE_NUMBER_AND_WALLET_ADDRESS Wallet: type: object properties: @@ -4482,23 +4445,20 @@ components: ReceiverRegistrationRequest: type: object properties: + email: + type: string + description: Email associated with the receiver in the SDP database. Either `phone_number` or `email` is required. phone_number: type: string - description: Phone number used in registration + description: Phone number associated with the receiver in the SDP database. Either `phone_number` or `email` is required. otp: type: string description: One-Time Password received for verification verification: type: string description: Verification value provided by the user - verification_type: - type: string - description: Type of verification value - enum: - - DATE_OF_BIRTH - - PIN - - NATIONAL_ID_NUMBER - - YEAR_MONTH + verification_field: + $ref: '#/components/schemas/VerificationField' recaptcha_token: type: string description: Token received from Google reCAPTCHA @@ -4517,6 +4477,9 @@ components: email: type: string description: Email of the receiver + phone_number: + type: string + description: Phone number of the receiver external_id: type: string description: External ID of the receiver diff --git a/openapi/stellar-disbursement-platform/main.yaml b/openapi/stellar-disbursement-platform/main.yaml index a015db54e..59e30920a 100644 --- a/openapi/stellar-disbursement-platform/main.yaml +++ b/openapi/stellar-disbursement-platform/main.yaml @@ -40,7 +40,7 @@ tags: Each receiver will have at least one wallet associated with them. The wallet public key will remain null until the receiver registers with a wallet provider and links the wallet to the SDP through SEP-24. Receivers must verify their identity through that process, which requires the SDP to store verification information on receivers like date of birth, national ID number, or personal PIN. This information can be updated by the organization through the receiver endpoints. - name: Registration description: | - The registration endpoints guide the process for a receiver to verify their identity and link their wallet address to an SDP. The registration process only needs to happen once per receiver to link their wallet. Only SDP-compatible wallet providers can facilitate the registration process. These endpoints must be supported and hit by the wallet providers after the receiver gets the initial SMS invite. After the wallet address is successfully linked, the payment automatically begins. + The registration endpoints guide the process for a receiver to verify their identity and link their wallet address to an SDP. The registration process only needs to happen once per receiver to link their wallet. Only SDP-compatible wallet providers can facilitate the registration process. These endpoints must be supported and hit by the wallet providers after the receiver gets the initial invite. After the wallet address is successfully linked, the payment automatically begins. There are two parts to the registration flow. First, the wallet must authenticate and initiate a registration flow using the Anchor Platform Endpoints defined below. Note that these endpoints are hosted on a different host than the Stellar Disursement Platform. @@ -534,14 +534,19 @@ paths: type: string asset_id: type: string - country_code: + verification_field: + $ref: '#/components/schemas/VerificationField' + registration_contact_type: + $ref: '#/components/schemas/RegistrationContactType' + receiver_registration_message_template: type: string - description: Three-character ISO 3166 code example: name: My New Disbursement name wallet_id: e2de8544-b7e2-40a9-ad40-411f70d5c4bf asset_id: d227a68c-2f40-11ee-be56-0242ac120002 - country_code: UKR + verification_field: DATE_OF_BIRTH + registration_contact_type: PHONE_NUMBER + receiver_registration_message_template: "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register." required: false responses: "201": @@ -570,12 +575,12 @@ paths: error: Bad request extras: status: 400 - message: Invalid country code provided + message: Invalid wallet provided example: error: Bad request extras: status: 400 - message: Invalid country code provided + message: Invalid wallet provided "401": description: Unauthorized content: @@ -953,7 +958,7 @@ paths: tags: - Disbursements summary: Upload Disbursement Instructions - description: "Adds a file containing a list of receivers to a `draft ` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a standard format that can be found at `dev/sample/sample-disbursement.csv `. The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called." + description: "Adds a file containing a list of receivers to a `DRAFT` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a different possible formats according with the disbursement configuration, and they can be found at [public/resources/disbursementTemplates](https://github.com/stellar/stellar-disbursement-platform-frontend/tree/58873bbf36cff4614e603daf449079b1d9fad24a/public/resources/disbursementTemplates). The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called." operationId: UploadDisbursementInstructions parameters: - name: id @@ -974,7 +979,7 @@ paths: properties: file: type: string - description: "Disbursement instructions file to upload. The CSV file should be in the following format: `phone,id,amount,verification`" + description: "Disbursement instructions file to upload. The CSV file columns can vary depending om the way the disbursement was configured, and the fields are a subset of the following: [`phone`, `email`, `id`, `amount`, `verification`, `paymentID`, `walletAddress`]" format: binary required: true responses: @@ -1664,7 +1669,7 @@ paths: - Receivers summary: Update a Receiver description: "This endpoint allows an organization to add and update information on the receiver, including email address, external ID, date of birth, personal PIN, and national ID number. The response includes all information on the receiver." - operationId: UpdateAReceiver + operationId: UpdateReceiver parameters: - name: id in: path @@ -1766,6 +1771,21 @@ paths: extras: status: 404 message: Resource not found + "409": + description: Conflicting phone number or email + content: + application/json: + schema: + type: object + properties: + error: + type: string + extras: + type: object + example: + error: The provided email is already associated with another user. + extras: + email: email must be unique security: - BearerAuth: [] x-codegen-request-body-name: body @@ -1959,10 +1979,10 @@ paths: tags: - Registration summary: Send One-Time Passcode - description: This endpoint generates a 6-digit OTP and sends it via SMS to the - phone number provided in the request body (after checking that the phone number - matches a receiver phone number in the SDP). A valid SEP-24 token should be - included in the Authorization header of the request. + description: This endpoint generates a 6-digit OTP and sends it to the user contact + (email or phone number SMS) provided in the request body, as long as it matches + the receiver contact info stored in the SDP. A valid SEP-24 token should be + included in this request's Authorization header. operationId: SendOneTimePasscode parameters: - name: Authorization @@ -1979,13 +1999,15 @@ paths: application/json: schema: required: - - phone_number - recaptcha_token type: object properties: phone_number: type: string - description: Phone number to which the OTP will be sent + description: Phone number to which the OTP will be sent. Either `phone_number` or `email` is required. + email: + type: string + description: Email to which the OTP will be sent. Either `phone_number` or `email` is required. recaptcha_token: type: string description: Token for reCAPTCHA validation @@ -2078,7 +2100,7 @@ paths: schema: type: string requestBody: - description: "Verification data including phone number, OTP, verification value, and reCAPTCHA token" + description: "Verification data including phone_number/email, OTP, verification value, and reCAPTCHA token" content: application/json: schema: @@ -2470,7 +2492,7 @@ paths: data: type: string description: | - A JSON string that contains the details to update. Contains the following keys: `organization_name` (string): the new name of the organization, `timezone_utc_offset` (string): the new timezone offset of the organization, `is_approval_required` (boolean): whether the approval workflow is enabled or not. `sms_registration_message_template` (string): the SMS message template sent to the receivers inviting them to registration. Sending this field empty sets the `default` value for it. `otp_message_template` (string): the SMS message template sent to the receivers sending the OTP to complete the registration flow. Sending this field empty sets the `default` value for it. For example: '{"organization_name": "NewOrgName", "timezone_utc_offset": "+02:00", "is_approval_required": true, "sms_registration_message_template": "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register.", "otp_message_template": "{{.OTP}} is your {{.OrganizationName}} phone verification code."}' + A JSON string that contains the details to update. Contains the following keys: `organization_name` (string): the new name of the organization, `timezone_utc_offset` (string): the new timezone offset of the organization, `is_approval_required` (boolean): whether the approval workflow is enabled or not. `receiver_registration_message_template` (string): the message template sent to the receivers inviting them to registration. Sending this field empty sets the `default` value for it. `otp_message_template` (string): the message template sent to the receivers sending the OTP to complete the registration flow. Sending this field empty sets the `default` value for it. For example: '{"organization_name": "NewOrgName", "timezone_utc_offset": "+02:00", "is_approval_required": true, "receiver_registration_message_template": "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register.", "otp_message_template": "{{.OTP}} is your {{.OrganizationName}} phone verification code."}' format: json responses: "200": @@ -2647,63 +2669,6 @@ paths: message: Not authorized security: - BearerAuth: [] - /countries: - get: - tags: - - Organization - summary: Get All Countries - description: Fetches the list of available countries to populate the dropdown box in the New Disbursement flow. The default list reflects geographic coverage of SDP-compatible wallet providers. - operationId: GetAllCountries - responses: - "200": - description: A list of countries - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Country' - "401": - description: Unauthorized - content: - application/json: - schema: - type: object - properties: - error: - type: string - extras: - type: object - properties: - status: - type: number - message: - type: string - example: - error: Not authorized - extras: - status: 401 - message: Not authorized - example: - error: Not authorized - extras: - status: 401 - message: Not authorized - "403": - description: Forbidden - content: - application/json: - schema: - type: object - properties: - error: - type: string - example: - error: Forbidden - example: - error: Forbidden - security: - - BearerAuth: [] /assets: get: tags: @@ -2827,7 +2792,8 @@ paths: /wallets: get: tags: - - Organization + - Organization + - Wallets summary: Get All Wallets description: Fetches the list of available wallet providers to populate the dropdown box in the New Disbursement flow. The organization should coordinate with the wallet provider before selecting a particular wallet provider for a disbursement. The initial list reflects all SDP-compatible wallets. operationId: GetAllWallets @@ -2881,6 +2847,53 @@ paths: error: Forbidden security: - BearerAuth: [] + + + /wallets/{id}: + patch: + tags: + - Organization + - Wallets + summary: Update Wallet + description: "This endpoint is used to enable or disable a wallet provider. Note: the organization should coordinate with the wallet provider before selecting a particular wallet provider for a disbursement." + operationId: UpdateWallet + parameters: + - name: id + in: path + description: ID of the wallet to update + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: Wallet to be updated + content: + application/json: + schema: + required: + - enabled + type: object + properties: + enabled: + type: boolean + description: The enabled status of the wallet + example: true + required: true + responses: + "200": + description: Wallet updated successfully + content: + '*/*': + schema: + $ref: '#/components/schemas/MessageResponse' + "400": + description: "Bad request, usually caused by the `enabled` field missing from the request body." + $ref: '#/components/responses/BadRequestResponse' + "404": + description: Wallet not found + $ref: '#/components/responses/NotFoundResponse' + /users: get: tags: @@ -3722,25 +3735,6 @@ components: format: date-time example: 2023-06-03T10:55:51Z description: The Stellar asset object - Country: - type: object - properties: - code: - type: string - description: Three-character ISO 3166 code - example: UKR - name: - type: string - description: Country name - example: Ukraine - created_at: - type: string - format: date-time - example: 2023-02-03T10:45:51Z - updated_at: - type: string - format: date-time - example: 2023-02-03T10:45:51Z Disbursement: type: object properties: @@ -3752,8 +3746,12 @@ components: type: string description: The name of the disbursement example: Disbursement Name - country: - $ref: '#/components/schemas/Country' + receiver_registration_message_template: + type: string + description: "The custom template used to send invitations to receivers. The `default` message isn't returned. In the message's content it's possible to add the following template variables: {{.OrganizationName}} which is the Organization Name configured and {{.RegistrationLink}} which is the link generated by SDP to send to the receiver (in case this is not present in the message, it's automatically appended at the end)." + example: "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register." + registration_contact_type: + $ref: '#/components/schemas/RegistrationContactType' wallet: $ref: '#/components/schemas/Wallet' asset: @@ -3836,46 +3834,6 @@ components: type: array items: $ref: '#/components/schemas/Disbursement' - example: - pagination: - next: /disbursements?page=3&page_limit=1 - prev: /disbursements?page=1&page_limit=1 - pages: 4 - total: 4 - data: - id: 619da857-8725-4c58-933d-c120a458e0f5 - name: Disbursement Name - country: - code: UKR - name: Ukraine - created_at: 2023-02-03T10:45:51.000Z - updated_at: 2023-02-03T10:45:51.000Z - wallet: - id: e2de8544-b7e2-40a9-ad40-411f70d5c4bf - name: Vibrant - homepage: https://vibrantapp.com - asset: - id: 25923001-508a-4629-9186-c41211b2a3d0 - code: USDC - issuer: GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5 - status: READY - verification_field: DATE_OF_BIRTH - status_history: - - status: DRAFT - timestamp: 2023-02-03T10:45:51.000Z - - user_id: 2ec7f1f9-add3-4e6d-9d14-bd8ac5e88872 - status: READY - timestamp: 2023-02-03T10:45:51.000Z - file_name: disbursement-february-03-2023.csv - created_at: 2023-02-03T10:45:51.000Z - updated_at: 2023-02-03T10:45:51.000Z - total_payments: 10 - total_payments_sent: 8 - total_payments_failed: 1 - total_payments_remaining: 1 - amount_disbursed: "800.00" - total_amount: "1000.00" - average_amount: "100.00" DisbursementReceiver: type: object properties: @@ -3988,7 +3946,7 @@ components: - name - payment_cancellation_period_days - privacy_policy_link - - sms_resend_interval + - receiver_invitation_resend_interval_days - timezone_utc_offset type: object properties: @@ -4011,9 +3969,9 @@ components: type: boolean description: Enables multi-user approval workflow for disbursements example: true - sms_resend_interval: + receiver_invitation_resend_interval_days: type: integer - description: "The amount of days that the SDP will wait to resend the invitation SMS to the receivers that have not registered. If `0`, that means the resending invitation SMS feature is disabled." + description: "The amount of days that the SDP will wait to resend the invitation to the receivers that have not registered. If `0`, that means the resending invitation feature is disabled." example: 5 payment_cancellation_period_days: type: integer @@ -4023,9 +3981,9 @@ components: type: string description: The link to the organization privacy policy example: https://stellar.org/privacy-policy - sms_registration_message_template: + receiver_registration_message_template: type: string - description: "The custom SMS message template set for the registration invite. The `default` message isn't returned. In the message's content it's possible to add the following template variables: {{.OrganizationName}} which is the Organization Name configured and {{.RegistrationLink}} which is the link generated by SDP to send to the receiver (in case this is not present in the message, it's automatically appended at the end)." + description: "The custom template used to send invitations to receivers. The `default` message isn't returned. In the message's content it's possible to add the following template variables: {{.OrganizationName}} which is the Organization Name configured and {{.RegistrationLink}} which is the link generated by SDP to send to the receiver (in case this is not present in the message, it's automatically appended at the end)." example: "You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register." otp_message_template: type: string @@ -4338,9 +4296,9 @@ components: invited_at: type: string example: 2023-02-09T10:45:51.000Z - last_sms_sent: + last_message_sent_at: type: string - description: timestamp when the receiver last received an SMS about this + description: timestamp when the receiver last received an invitation about this wallet example: 2023-02-10T10:45:51.000Z total_payments: @@ -4475,8 +4433,16 @@ components: type: string enum: - DATE_OF_BIRTH + - YEAR_MONTH - PIN - NATIONAL_ID_NUMBER + RegistrationContactType: + type: string + enum: + - EMAIL + - PHONE_NUMBER + - EMAIL_AND_WALLET_ADDRESS + - PHONE_NUMBER_AND_WALLET_ADDRESS Wallet: type: object properties: @@ -4518,23 +4484,20 @@ components: ReceiverRegistrationRequest: type: object properties: + email: + type: string + description: Email associated with the receiver in the SDP database. Either `phone_number` or `email` is required. phone_number: type: string - description: Phone number used in registration + description: Phone number associated with the receiver in the SDP database. Either `phone_number` or `email` is required. otp: type: string description: One-Time Password received for verification verification: type: string description: Verification value provided by the user - verification_type: - type: string - description: Type of verification value - enum: - - DATE_OF_BIRTH - - PIN - - NATIONAL_ID_NUMBER - - YEAR_MONTH + verification_field: + $ref: '#/components/schemas/VerificationField' recaptcha_token: type: string description: Token received from Google reCAPTCHA @@ -4553,6 +4516,9 @@ components: email: type: string description: Email of the receiver + phone_number: + type: string + description: Phone number of the receiver external_id: type: string description: External ID of the receiver diff --git a/openrpc/README.md b/openrpc/README.md index 9e7a0e360..0c51bcbde 100644 --- a/openrpc/README.md +++ b/openrpc/README.md @@ -1,4 +1,4 @@ -# Soroban RPC API Specification +# Stellar RPC API Specification ## Table of Contents @@ -157,7 +157,7 @@ object allows us to embed a literal example of what the schema can look like. This collection of JSON files define the [example pairing objects] that will go into the generated specification file. The example pairing objects make up a -complete example request to the Soroban RPC service. This is where you can +complete example request to the Stellar RPC service. This is where you can specify a set of `params` that were supplied in the request, as well as the value(s) returned in the `result` from the node. The following properties are required in the example pairing objects: @@ -168,7 +168,7 @@ required in the example pairing objects: > _Note:_ The `result` property is not technically _required_ by the open-rpc > specification if the method is to be represented as a notification. However, -> Soroban RPC doesn't make use of any methods as notifications, so we've listed +> Stellar RPC doesn't make use of any methods as notifications, so we've listed > it as required here. [method objects]: https://spec.open-rpc.org/#method-object diff --git a/openrpc/scripts/build.mjs b/openrpc/scripts/build.mjs index b17e42567..d26f13052 100644 --- a/openrpc/scripts/build.mjs +++ b/openrpc/scripts/build.mjs @@ -122,8 +122,8 @@ const services = { starterFile: { openrpc: "1.2.6", info: { - title: "Soroban RPC", - description: "Soroban-RPC allows you to communicate directly with Soroban via a JSON RPC interface.", + title: "Stellar RPC", + description: "Stellar-RPC allows you to communicate directly with Soroban via a JSON RPC interface.", termsOfService: "https://stellar.org/terms-of-service", contact: { name: "Stellar Development Foundation", diff --git a/openrpc/src/anchor-platform/contentDescriptors/transaction_id.json b/openrpc/src/anchor-platform/contentDescriptors/transaction_id.json index fc28f5829..11b473461 100644 --- a/openrpc/src/anchor-platform/contentDescriptors/transaction_id.json +++ b/openrpc/src/anchor-platform/contentDescriptors/transaction_id.json @@ -25,5 +25,14 @@ "schema": { "$ref": "#/components/schemas/transaction_id" } + }, + "id": { + "name": "id", + "summary": "ID of the transaction.", + "description": "The unique identifier of this transaction.", + "required": true, + "schema": { + "$ref": "#/components/schemas/transaction_id" + } } } diff --git a/openrpc/src/anchor-platform/examples/datetime.json b/openrpc/src/anchor-platform/examples/datetime.json index dca669b42..90b0b7560 100644 --- a/openrpc/src/anchor-platform/examples/datetime.json +++ b/openrpc/src/anchor-platform/examples/datetime.json @@ -3,6 +3,10 @@ "name": "datetime", "value": "2023-08-04T10:04:06.280923Z" }, + "created_at": { + "name": "created_at", + "value": "2023-08-04T10:04:06.280923Z" + }, "started_at": { "name": "started_at", "value": "2023-08-04T10:04:06.280923Z" @@ -18,5 +22,9 @@ "funds_sent_at": { "name": "funds_sent_at", "value": "2023-07-04T12:34:38Z" + }, + "user_action_required_by": { + "name": "user_action_required_by", + "value": "2023-07-04T12:34:38Z" } } diff --git a/openrpc/src/anchor-platform/examples/platform_transaction.json b/openrpc/src/anchor-platform/examples/platform_transaction.json new file mode 100644 index 000000000..ff6cd3f6f --- /dev/null +++ b/openrpc/src/anchor-platform/examples/platform_transaction.json @@ -0,0 +1,98 @@ +{ + "platformTransactionResponse": { + "name": "platformTransactionResponse", + "value": { + "id": "1c186184-09ee-486c-82a7-aa7a0ab1119d", + "sep": "31", + "kind": "receive", + "status": "completed", + "funding_method": "SWIFT", + "amount_expected": { + "amount": "100", + "asset": "iso4217:USD" + }, + "amount_in": { + "amount": "100.0000", + "asset": "iso4217:USD" + }, + "amount_out": { + "amount": "98.0000000", + "asset": "stellar:USDC:GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5" + }, + "fee_details": { + "total": "2.0000", + "asset": "iso4217:USD" + }, + "quote_id": "quote-id", + "message": "Please don\u0027t forget to foo bar", + "refunds": { + "amount_refunded": { + "amount": "90.0000", + "asset": "iso4217:USD" + }, + "amount_fee": { + "amount": "8.0000", + "asset": "iso4217:USD" + }, + "payments": [ + { + "id": "1111", + "id_type": "stellar", + "amount": { + "amount": "50.0000", + "asset": "iso4217:USD" + }, + "fee": { + "amount": "4.0000", + "asset": "iso4217:USD" + } + }, + { + "id": "2222", + "id_type": "stellar", + "amount": { + "amount": "40.0000", + "asset": "iso4217:USD" + }, + "fee": { + "amount": "4.0000", + "asset": "iso4217:USD" + } + } + ] + }, + "stellar_transactions": [ + { + "id": "stellar-tx-id", + "memo": "my-memo", + "memo_type": "text", + "envelope": "here_comes_the_envelope", + "payments": [ + { + "id": "payment-id", + "amount": { + "amount": "100.0000", + "asset": "iso4217:USD" + }, + "payment_type": "payment", + "source_account": "GB4GJAV4Q7DPGU7WI3H5TMVKEYZJ4JFLFEF3O3TRJKDPXK7NAMRBXWFL", + "destination_account": "GDIN5ZULIOT5YPBIXJXFGNH4TCNTDKIA4ZF6QQE3S2P5P44BHCQQJNDC" + } + ] + } + ], + "external_transaction_id": "external-tx-id", + "customers": { + "sender": { + "id": "sender-id" + }, + "receiver": { + "id": "receiver-id" + } + }, + "creator": { + "id": "creator-id" + } + } + } +} \ No newline at end of file diff --git a/openrpc/src/anchor-platform/examples/transaction_id.json b/openrpc/src/anchor-platform/examples/transaction_id.json index 943a8fb86..42afa45f7 100644 --- a/openrpc/src/anchor-platform/examples/transaction_id.json +++ b/openrpc/src/anchor-platform/examples/transaction_id.json @@ -10,5 +10,9 @@ "external_transaction_id": { "name": "external_transaction_id", "value": "3320c6faad48c3cf39b6d4ac15ed50b6e5868b62551e69cde15df2d66c8ca360" + }, + "id": { + "name": "id", + "value": "1c186184-09ee-486c-82a7-aa7a0ab1119d" } } diff --git a/openrpc/src/anchor-platform/methods/get_transaction.json b/openrpc/src/anchor-platform/methods/get_transaction.json new file mode 100644 index 000000000..0c8ac0554 --- /dev/null +++ b/openrpc/src/anchor-platform/methods/get_transaction.json @@ -0,0 +1,32 @@ +{ + "name": "get_transaction", + "summary": "Retrieve a transaction.", + "description": "Retrieve a transaction by its ID.", + "paramStructure": "by-name", + "tags": [ + { "name": "SEP-6" }, + { "name": "SEP-24" }, + { "name": "SEP-31" } + ], + "params": [ + { "$ref": "#/components/contentDescriptors/id" } + ], + "result": { + "name": "get_transactionResponse", + "schema": { + "$ref": "#/components/schemas/platform_transaction" + } + }, + "examples": [ + { + "name": "get_transactionExample", + "description": "Example request to the `get_transaction` method.", + "params": [ + { "$ref": "#/components/examples/id" } + ], + "result": { + "$ref": "#/components/examples/platformTransactionResponse" + } + } + ] +} diff --git a/openrpc/src/anchor-platform/schemas/account.json b/openrpc/src/anchor-platform/schemas/account.json new file mode 100644 index 000000000..36746450b --- /dev/null +++ b/openrpc/src/anchor-platform/schemas/account.json @@ -0,0 +1,12 @@ +{ + "source_account": { + "title": "source_account", + "description":"The account being debited in the Stellar Network.", + "type": "string" + }, + "destination_account": { + "title": "destination_account", + "description":"The account being credited in the Stellar Network.", + "type": "string" + } +} \ No newline at end of file diff --git a/openrpc/src/anchor-platform/schemas/customer.json b/openrpc/src/anchor-platform/schemas/customer.json new file mode 100644 index 000000000..375132d4c --- /dev/null +++ b/openrpc/src/anchor-platform/schemas/customer.json @@ -0,0 +1,32 @@ +{ + "stellar_id": { + "description": "A object that identify end-user. \nFor a SEP-12 customer, the `id` field should be sufficient to fully identify the customer in the business' Backend. \nFor a SEP-31 Sending Anchor, the `account` and `memo` fields should be used. \nFor a SEP-6 or SEP-24 Anchor, the `account` and `memo` fields should be used.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The `id` of the customer registered through SEP-12." + }, + "account": { + "type": "string", + "description": "Either the Stellar account or Muxed account address of the on-chain entity." + }, + "memo": { + "type": "string", + "description": "The memo value identifying a customer with a shared account, where the shared account is `account`." + } + } + }, + "customers": { + "description": "The Identification info of the sending and receiving customers. If they were created through [SEP-12](https://stellar.org/protocol/sep-12),\n this object should contain the SEP-12 customer `id`. Otherwise, the `account` address of the customer.", + "type": "object", + "properties": { + "sender": { + "$ref": "#/components/schemas/stellar_id" + }, + "receiver": { + "$ref": "#/components/schemas/stellar_id" + } + } + } +} \ No newline at end of file diff --git a/openrpc/src/anchor-platform/schemas/datetime.json b/openrpc/src/anchor-platform/schemas/datetime.json index 8146263b4..268d19d91 100644 --- a/openrpc/src/anchor-platform/schemas/datetime.json +++ b/openrpc/src/anchor-platform/schemas/datetime.json @@ -4,6 +4,11 @@ "description": "A date and time.", "type": "string" }, + "created_at": { + "title": "created_at", + "description": "The date and time when the transaction is created.", + "$ref": "#/components/schemas/datetime" + }, "started_at": { "title": "started_at", "description": "Start date and time of transaction.", @@ -23,5 +28,10 @@ "title": "transfer_received_at", "description": "The date and time of receiving transfer.", "$ref": "#/components/schemas/datetime" + }, + "user_action_required_by": { + "title": "user_action_required_by", + "description": "Time and date by which user action is required.", + "$ref": "#/components/schemas/datetime" } } diff --git a/openrpc/src/anchor-platform/schemas/memo.json b/openrpc/src/anchor-platform/schemas/memo.json new file mode 100644 index 000000000..6f89e05fe --- /dev/null +++ b/openrpc/src/anchor-platform/schemas/memo.json @@ -0,0 +1,12 @@ +{ + "memo": { + "title": "memo", + "type": "string" + }, + "memo_type": { + "title": "memo_type", + "description": "The memo type of the transaction in the Stellar network. Should be present if memo is not null.", + "type": "string", + "enum": ["id", "hash", "text"] + } +} \ No newline at end of file diff --git a/openrpc/src/anchor-platform/schemas/platform_transaction.json b/openrpc/src/anchor-platform/schemas/platform_transaction.json new file mode 100644 index 000000000..bd79389d2 --- /dev/null +++ b/openrpc/src/anchor-platform/schemas/platform_transaction.json @@ -0,0 +1,107 @@ +{ + "platform_transaction": { + "title": "Platform Transaction", + "description": "A platform transaction object", + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/transaction_id" + }, + "sep": { + "$ref": "#/components/schemas/sep" + }, + "kind": { + "$ref": "#/components/schemas/kind" + }, + "status": { + "$ref": "#/components/schemas/status" + }, + "funding_method": { + "description": "Funding method used for transferring or settling assets.", + "type": "string" + }, + "type": { + "description": "DEPRECATED in favor of funding_method. Type of deposit, withdrawal or receive.", + "type": "string" + }, + "amount_expected": { + "$ref": "#/components/schemas/amount_expected" + }, + "amount_in": { + "$ref": "#/components/schemas/amount_in" + }, + "amount_out": { + "$ref": "#/components/schemas/amount_out" + }, + "fee_details": { + "$ref": "#/components/schemas/fee_details" + }, + "quote_id": { + "$ref": "#/components/schemas/quote_id" + }, + "started_at": { + "$ref": "#/components/schemas/started_at" + }, + "updated_at": { + "$ref": "#/components/schemas/updated_at" + }, + "completed_at": { + "$ref": "#/components/schemas/completed_at" + }, + "transfer_received_at": { + "$ref": "#/components/schemas/transfer_received_at" + }, + "user_action_required_by": { + "$ref": "#/components/schemas/user_action_required_by" + }, + "message": { + "description": "Human readable explanation of transaction status", + "$ref": "#/components/schemas/message" + }, + "refunds": { + "$ref": "#/components/schemas/refunds" + }, + "stellar_transactions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/stellar_transaction" + } + }, + "source_account": { + "$ref": "#/components/schemas/source_account" + }, + "destination_account": { + "$ref": "#/components/schemas/destination_account" + }, + "external_transaction_id": { + "$ref": "#/components/schemas/transaction_id" + }, + "memo": { + "$ref": "#/components/schemas/memo" + }, + "memo_type": { + "$ref": "#/components/schemas/memo_type" + }, + "refund_memo": { + "$ref": "#/components/schemas/memo" + }, + "refund_memo_type": { + "$ref": "#/components/schemas/memo_type" + }, + "client_domain": { + "description": "The domain of the client.", + "type": "string" + }, + "client_name": { + "description": "The domain of the client.", + "type": "string" + }, + "customers": { + "$ref": "#/components/schemas/customers" + }, + "creator": { + "$ref": "#/components/schemas/stellar_id" + } + } + } +} \ No newline at end of file diff --git a/openrpc/src/anchor-platform/schemas/stellar_transaction.json b/openrpc/src/anchor-platform/schemas/stellar_transaction.json new file mode 100644 index 000000000..cddc002fa --- /dev/null +++ b/openrpc/src/anchor-platform/schemas/stellar_transaction.json @@ -0,0 +1,41 @@ +{ + "stellar_transaction": { + "title": "stellar_transaction", + "type": "object", + "properties": { + "id": { "$ref": "#/components/schemas/StellarHash" }, + "memo": {"$ref": "#/components/schemas/memo" }, + "memo_type": {"$ref": "#/components/schemas/memo_type" }, + "created_at": {"$ref": "#/components/schemas/created_at" }, + "envelop" : { + "description": "The transaction envelope, containing all the transaction information.", + "type": "string" + }, + "payments": { + "type": "array", + "items": { + "properties": { + "id": { + "description":" The ID of the payment in the Stellar Network.", + "type": "string" + }, + "payment_type": { + "description":" The ID of the payment in the Stellar Network.", + "type": "string", + "enum": [ + "payment", + "path_payment" + ], + "default": "payment" + }, + "source_account": {"$ref": "#/components/schemas/source_account"}, + "destination_account": { "$ref": "#/components/schemas/destination_account" }, + "amount": { "$ref": "#/components/schemas/AmountObjectString" } + }, + "required": ["id", "payment_type", "source_account", "destination_account", "amount"] + } + } + }, + "required": ["id", "created_at", "envelope", "payments"] + } +} \ No newline at end of file diff --git a/openrpc/src/anchor-platform/schemas/transaction.json b/openrpc/src/anchor-platform/schemas/transaction.json index cc612e7ab..038061acd 100644 --- a/openrpc/src/anchor-platform/schemas/transaction.json +++ b/openrpc/src/anchor-platform/schemas/transaction.json @@ -1,7 +1,7 @@ { "StellarHash": { "title": "hash", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "kind": { diff --git a/openrpc/src/stellar-rpc/contentDescriptors/Pagination.json b/openrpc/src/stellar-rpc/contentDescriptors/Pagination.json index c8162cc9f..9a5234159 100644 --- a/openrpc/src/stellar-rpc/contentDescriptors/Pagination.json +++ b/openrpc/src/stellar-rpc/contentDescriptors/Pagination.json @@ -2,7 +2,7 @@ "EventsPagination": { "name": "pagination", "summary": "pagination options", - "description": "Pagination in soroban-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/pagination).", + "description": "Pagination in stellar-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/pagination).", "required": false, "schema": { "$ref": "#/components/schemas/EventsPagination" diff --git a/openrpc/src/stellar-rpc/methods/getEvents.json b/openrpc/src/stellar-rpc/methods/getEvents.json index 3fa57941c..1d6512e7a 100644 --- a/openrpc/src/stellar-rpc/methods/getEvents.json +++ b/openrpc/src/stellar-rpc/methods/getEvents.json @@ -1,7 +1,7 @@ { "name": "getEvents", "summary": "returns contract events", - "description": "Clients can request a filtered list of events emitted by a given ledger range.\n\nSoroban-RPC will support querying within a maximum 24 hours of recent ledgers.\n\nNote, this could be used by the client to only prompt a refresh when there is a new ledger with relevant events. It should also be used by backend Dapp components to \"ingest\" events into their own database for querying and serving.\n\nIf making multiple requests, clients should deduplicate any events received, based on the event's unique id field. This prevents double-processing in the case of duplicate events being received.\n\nBy default soroban-rpc retains the most recent 24 hours of events.", + "description": "Clients can request a filtered list of events emitted by a given ledger range.\n\nStellar-RPC will support querying within a maximum 7 days of recent ledgers.\n\nNote, this could be used by the client to only prompt a refresh when there is a new ledger with relevant events. It should also be used by backend Dapp components to \"ingest\" events into their own database for querying and serving.\n\nIf making multiple requests, clients should deduplicate any events received, based on the event's unique id field. This prevents double-processing in the case of duplicate events being received.\n\nBy default stellar-rpc retains the most recent 24 hours of events.", "externalDocs": { "url": "https://developers.stellar.org/docs/data/rpc/api-reference/methods/getEvents" }, diff --git a/openrpc/src/stellar-rpc/methods/getTransaction.json b/openrpc/src/stellar-rpc/methods/getTransaction.json index 3fcd3ea8e..bb4176e3d 100644 --- a/openrpc/src/stellar-rpc/methods/getTransaction.json +++ b/openrpc/src/stellar-rpc/methods/getTransaction.json @@ -1,7 +1,7 @@ { "name": "getTransaction", "summary": "returns transaction details", - "description": "The getTransaction method provides details about the specified transaction. Clients are expected to periodically query this method to ascertain when a transaction has been successfully recorded on the blockchain. The soroban-rpc system maintains a restricted history of recently processed transactions, with the default retention window set at 1440 ledgers, approximately equivalent to a 2-hour timeframe. For private soroban-rpc instances, it is possible to modify the retention window value by adjusting the transaction-retention-window configuration setting. For comprehensive debugging needs that extend beyond the 2-hour timeframe, it is advisable to retrieve transaction information from Horizon, as it provides a lasting and persistent record.", + "description": "The getTransaction method provides details about the specified transaction. Clients are expected to periodically query this method to ascertain when a transaction has been successfully recorded on the blockchain. The stellar-rpc system maintains a restricted history of recently processed transactions, with the default retention window set at 24 hours. For private soroban-rpc instances, it is possible to modify the retention window value by adjusting the transaction-retention-window configuration setting, but we do not recommend values longer than 7 days. For debugging needs that extend beyond this timeframe, it is advisable to index this data yourself, employ a third-party [indexer](https://developers.stellar.org/docs/tools/developer-tools/data-indexers), or query [Hubble](https://developers.stellar.org/docs/data/hubble) (our public BigQuery data set).", "externalDocs": { "url": "https://developers.stellar.org/docs/data/rpc/api-reference/methods/getTransaction" }, diff --git a/openrpc/src/stellar-rpc/schemas/Hash.json b/openrpc/src/stellar-rpc/schemas/Hash.json index f12fe2cfc..dd20709d6 100644 --- a/openrpc/src/stellar-rpc/schemas/Hash.json +++ b/openrpc/src/stellar-rpc/schemas/Hash.json @@ -13,7 +13,7 @@ }, "LedgerHash": { "title": "id", - "description": "Hash identifier of the latest ledger (as a hex-encoded string) known to Soroban RPC at the time it handled the request.", + "description": "Hash identifier of the latest ledger (as a hex-encoded string) known to Stellar RPC at the time it handled the request.", "$ref": "#/components/schemas/Hash" } } diff --git a/openrpc/src/stellar-rpc/schemas/LedgerCloseTime.json b/openrpc/src/stellar-rpc/schemas/LedgerCloseTime.json index ba6df7fea..81c16b8e6 100644 --- a/openrpc/src/stellar-rpc/schemas/LedgerCloseTime.json +++ b/openrpc/src/stellar-rpc/schemas/LedgerCloseTime.json @@ -6,12 +6,12 @@ }, "LatestLedgerCloseTime": { "title": "latestLedgerCloseTime", - "description": "The unix timestamp of the close time of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the latest ledger known to Stellar RPC at the time it handled the request.", "$ref": "#/components/schemas/LedgerCloseTime" }, "OldestLedgerCloseTime": { "title": "oldestLedgerCloseTime", - "description": "The unix timestamp of the close time of the oldest ledger ingested by Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the oldest ledger ingested by Stellar RPC at the time it handled the request.", "$ref": "#/components/schemas/LedgerCloseTime" } } diff --git a/openrpc/src/stellar-rpc/schemas/LedgerEntries.json b/openrpc/src/stellar-rpc/schemas/LedgerEntries.json index dc9b98efb..898e4ea60 100644 --- a/openrpc/src/stellar-rpc/schemas/LedgerEntries.json +++ b/openrpc/src/stellar-rpc/schemas/LedgerEntries.json @@ -4,7 +4,7 @@ "description": "Ledger key, serialized as a base64 string, corresponding to an existing ledger entry you wish to retrieve." }, "LedgerKeys": { - "description": "Array containing ledger keys.", + "description": "Array containing ledger keys. The maximum number of ledger keys accepted is 200.", "type": "array", "items": { "$ref": "#/components/schemas/LedgerKey" diff --git a/openrpc/src/stellar-rpc/schemas/LedgerSequence.json b/openrpc/src/stellar-rpc/schemas/LedgerSequence.json index bd097ba91..ebfe2b6fd 100644 --- a/openrpc/src/stellar-rpc/schemas/LedgerSequence.json +++ b/openrpc/src/stellar-rpc/schemas/LedgerSequence.json @@ -6,12 +6,12 @@ }, "LatestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "$ref": "#/components/schemas/LedgerSequence" }, "OldestLedger": { "title": "oldestLedger", - "description": "The sequence number of the oldest ledger ingested by Soroban RPC at the time it handled the request.", + "description": "The sequence number of the oldest ledger ingested by Stellar RPC at the time it handled the request.", "$ref": "#/components/schemas/LedgerSequence" } } diff --git a/openrpc/src/stellar-rpc/schemas/NetworkConfig.json b/openrpc/src/stellar-rpc/schemas/NetworkConfig.json index fdcf3a990..88bc9cd69 100644 --- a/openrpc/src/stellar-rpc/schemas/NetworkConfig.json +++ b/openrpc/src/stellar-rpc/schemas/NetworkConfig.json @@ -6,7 +6,7 @@ }, "NetworkPassphrase": { "title": "networkPassphrase", - "description": "Network passphrase configured for this Soroban RPC node.", + "description": "Network passphrase configured for this Stellar RPC node.", "type": "string" } } diff --git a/openrpc/src/stellar-rpc/schemas/Pagination.json b/openrpc/src/stellar-rpc/schemas/Pagination.json index a74f6ebdc..d1f5e2723 100644 --- a/openrpc/src/stellar-rpc/schemas/Pagination.json +++ b/openrpc/src/stellar-rpc/schemas/Pagination.json @@ -7,7 +7,7 @@ }, "limit": { "type": "number", - "description": "The maximum number of records returned. The limit for getEvents can range from 1 to 10000 - an upper limit that is hardcoded in Soroban-RPC for performance reasons. If this argument isn't designated, it defaults to 100." + "description": "The maximum number of records returned. The limit for getEvents can range from 1 to 10000 - an upper limit that is hardcoded in Stellar-RPC for performance reasons. If this argument isn't designated, it defaults to 100." } }, "required": [] diff --git a/platforms/anchor-platform/admin-guide/events/getting-started.mdx b/platforms/anchor-platform/admin-guide/events/getting-started.mdx index d7c3a3832..5001c7931 100644 --- a/platforms/anchor-platform/admin-guide/events/getting-started.mdx +++ b/platforms/anchor-platform/admin-guide/events/getting-started.mdx @@ -3,6 +3,26 @@ title: Getting Started sidebar_position: 10 --- -Anchor Platform provides an event service that allows your business application and client applications such as wallets to receive updates about transaction updates via HTTP webhooks without the need to poll the transactions API. +Anchor Platform provides an event service that sends HTTP webhook notifications to: -By integrating with the event service, you or your clients will be able to receive updates about the status of transactions, including when they are submitted, completed, and failed as well as any quotes created. +**Business Servers** + +- Transaction status changes +- Quote updates +- Customer KYC status changes + +Event schemas for business servers are defined in the [API reference](/platforms/anchor-platform/next/api-reference/callbacks/post-event). + +**Client Applications** + +- Transaction status changes affecting their users +- Customer KYC status changes affecting their users + +_Event schemas for client applications are defined in their respective SEPs:_ + +- [SEP-6 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#single-historical-transaction) +- [SEP-12 Customer Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#response) +- [SEP-24 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#single-historical-transaction) +- [SEP-31 Transaction Events](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#get-transaction) + +This eliminates the need for business servers and client applications to continuously poll the APIs for updates. diff --git a/platforms/anchor-platform/admin-guide/events/integration.mdx b/platforms/anchor-platform/admin-guide/events/integration.mdx index e716f3344..98c919e72 100644 --- a/platforms/anchor-platform/admin-guide/events/integration.mdx +++ b/platforms/anchor-platform/admin-guide/events/integration.mdx @@ -67,9 +67,9 @@ The event service can be used to send events to client and business server callb ### As a Client Application -Client applications can receive updates whenever the `status` of a SEP transaction changes. +Client applications can receive updates about their users' transactions and customer information. The schema of the event data will depend on the type of event being sent. -To receive events as a client application, you will need to expose a callback URL that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. +To receive events as a client application, you will need to expose callback URLs that the event service can send events to. The event service will send a POST request to this endpoint with the event data in the request body. The schema of the event data will depend on the type of event being sent. Anchor Platform allows unique endpoints to be configured by event type. Anchor Platform will only send events to clients listed in the client configuration. See the [client configuration documentation][clients-config] for more information. @@ -78,6 +78,7 @@ Anchor Platform will only send events to clients listed in the client configurat Anchor Platform signs the callback requests it sends to client applications. The signature is included in the `Signature` header of the request. The callback URL signature specification can be found in the corresponding SEP protocol specifications. - [SEP-0006](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#url-callback-signature) +- [SEP-0012](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md#callback-post-request) - [SEP-0024](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md#url-callback-signature) - [SEP-0031](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0031.md#url-callback-signature) @@ -91,12 +92,6 @@ To receive events as a business server, you will need to expose a callback URL t The event service's callback API can be configured using the `callback_api` section of the Anchor Platform configuration file or setting the environment variables. -:::caution - -The `--event-processor` will ignore any path segments specified in `callback_api.base_url` and will instead send events to `[scheme]://[host]:[port]/event`. This is a bug, but in order not to disrupt those using the event processor, we will defer the fix of including path segments in version 3 of the Anchor Platform. - -::: - The following is an example of how to configure the event service's callback API with JWT authentication: diff --git a/platforms/anchor-platform/admin-guide/sep24/integration.mdx b/platforms/anchor-platform/admin-guide/sep24/integration.mdx index 2ae5f2bc5..4fae1b17e 100644 --- a/platforms/anchor-platform/admin-guide/sep24/integration.mdx +++ b/platforms/anchor-platform/admin-guide/sep24/integration.mdx @@ -29,8 +29,18 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-24 protocol document][sep-24] +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about quotes. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. + ## Securing Platform API @@ -1006,4 +1016,6 @@ Works in the same manner as for the deposit flow. For more details, see [Transac [sep-9]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0009.md [sep-24]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md +[event-handling]: /platforms/anchor-platform/admin-guide/events/README.mdx +[rate-callback]: /platforms/anchor-platform/api-reference/callbacks/README.mdx [json-rpc-methods]: ../../api-reference/platform/rpc/methods/README.mdx diff --git a/platforms/anchor-platform/admin-guide/sep6/integration.mdx b/platforms/anchor-platform/admin-guide/sep6/integration.mdx index fa22b842a..7627af2e8 100644 --- a/platforms/anchor-platform/admin-guide/sep6/integration.mdx +++ b/platforms/anchor-platform/admin-guide/sep6/integration.mdx @@ -30,9 +30,21 @@ This is done by making JSON-RPC requests to the Platform API's endpoint. JSON-RP The Anchor Platform JSON-RPC API is designed to notify the platform about changes in the status of the transaction. Given that, the API will be called every time a user or the anchor takes any action that progresses the transaction status in the flow. +Communication from the Anchor Platform about transaction updates, customer updates, and quote creation is handled through the event service. This is an optional feature that needs to be configured separately from the SEP-6 integration. For more information, see [Event Handling][event-handling]. + You can find out more about transaction flow and statuses in the [SEP-6 protocol document][sep-6]. -[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +## Callbacks + +The Anchor Platform relies on the business server to provide and store information about customers and quotes. + +### Customer Information + +The Anchor Platform does not store customer information. Instead, it forwards all SEP-12 customer requests to the business server. The business server is responsible for storing and managing this information. Therefore, your business server must implement the [customer APIs][customer-callback] to handle KYC updates. + +### Quotes and Fees + +To support the exchange of non-equivalent assets, the Anchor Platform exposes a SEP-38 compliant API to provide quotes for the exchange. The quote API is used to provide the user with the expected amount of the asset they will receive in exchange for the asset they are sending. The quote API is also used to provide the user with the expected fees for the transaction. Therefore, your business server must implement the [rate API][rate-callback] to provide quotes to the Anchor Platform. ## Securing Platform API @@ -972,4 +984,8 @@ Works in the same manner as for the deposit flow. For more details, see [Transac +[sep-6]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md +[event-handling]: /platforms/anchor-platform/admin-guide/events/README.mdx +[customer-callback]: /platforms/anchor-platform/api-reference/callbacks/README.mdx +[rate-callback]: /platforms/anchor-platform/api-reference/callbacks/README.mdx [get-transactions]: ../../api-reference/platform/transactions/get-transactions.api.mdx diff --git a/platforms/anchor-platform/api-reference/platform/rpc/anchor-platform.openrpc.json b/platforms/anchor-platform/api-reference/platform/rpc/anchor-platform.openrpc.json index 895bd6932..12e4d9970 100644 --- a/platforms/anchor-platform/api-reference/platform/rpc/anchor-platform.openrpc.json +++ b/platforms/anchor-platform/api-reference/platform/rpc/anchor-platform.openrpc.json @@ -76,7 +76,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -172,7 +176,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -273,7 +280,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -421,13 +428,19 @@ "required": false, "schema": { "type": "object", - "required": ["amount", "amount_fee"], + "required": [ + "amount", + "amount_fee" + ], "properties": { "amount": { "title": "amount", "description": "Amount to be refunded", "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -445,7 +458,10 @@ "title": "amount_fee", "description": "Amount of fee", "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -478,7 +494,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -574,7 +594,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -675,7 +698,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -791,6 +814,639 @@ } ] }, + { + "name": "get_transaction", + "summary": "Retrieve a transaction.", + "description": "Retrieve a transaction by its ID.", + "paramStructure": "by-name", + "tags": [ + { + "name": "SEP-6" + }, + { + "name": "SEP-24" + }, + { + "name": "SEP-31" + } + ], + "params": [ + { + "name": "id", + "summary": "ID of the transaction.", + "description": "The unique identifier of this transaction.", + "required": true, + "schema": { + "title": "transaction_id", + "description": "A unique transaction identifier.", + "type": "string" + } + } + ], + "result": { + "name": "get_transactionResponse", + "schema": { + "title": "Platform Transaction", + "description": "A platform transaction object", + "type": "object", + "properties": { + "id": { + "title": "transaction_id", + "description": "A unique transaction identifier.", + "type": "string" + }, + "sep": { + "title": "sep", + "description": "Protocol of the transaction.", + "type": "integer", + "enum": [ + 6, + 24, + 31 + ] + }, + "kind": { + "title": "kind", + "description": "The kind of transaction that is desired.", + "type": "string", + "enum": [ + "undefined", + "receive", + "deposit", + "deposit-exchange", + "withdrawal", + "withdrawal-exchange" + ] + }, + "status": { + "title": "status", + "description": "Processing status of the transaction.", + "type": "string", + "enum": [ + "pending_anchor", + "pending_trust", + "pending_user", + "pending_user_transfer_start", + "pending_user_transfer_complete", + "incomplete", + "no_market", + "too_small", + "too_large", + "pending_sender", + "pending_receiver", + "pending_transaction_info_update", + "pending_customer_info_update", + "completed", + "refunded", + "expired", + "error", + "pending_external", + "pending_stellar" + ] + }, + "funding_method": { + "description": "Funding method used for transferring or settling assets.", + "type": "string" + }, + "type": { + "description": "DEPRECATED in favor of funding_method. Type of deposit, withdrawal or receive.", + "type": "string" + }, + "amount_expected": { + "type": "object", + "title": "amount_expected", + "description": "The amount expected in the payment.", + "properties": { + "amount": { + "title": "amount", + "description": "A stringified amount of an asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "amount_in": { + "type": "object", + "title": "amount_in", + "description": "Amount expected/received by anchor.", + "properties": { + "amount": { + "title": "amount", + "description": "A stringified amount of an asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "amount_out": { + "type": "object", + "title": "amount_out", + "description": "The amount expected to be sent by anchor to user at end of transaction.", + "properties": { + "amount": { + "title": "amount", + "description": "A stringified amount of an asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "fee_details": { + "title": "fee_details", + "description": "Description of fee charged by the anchor.", + "type": "object", + "required": [ + "total", + "asset" + ], + "properties": { + "total": { + "type": "number" + }, + "asset": { + "type": "string" + }, + "details": { + "type": "array", + "description": "Details about fee charged.", + "items": { + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "amount": { + "type": "number" + } + } + } + } + } + }, + "quote_id": { + "title": "quote_id", + "description": "The id returned from a SEP-38 POST /quote response", + "type": "string" + }, + "started_at": { + "title": "started_at", + "description": "Start date and time of transaction.", + "type": "string" + }, + "updated_at": { + "title": "updated_at", + "description": "The date and time of transaction reaching the current status.", + "type": "string" + }, + "completed_at": { + "title": "completed_at", + "description": "The date and time of transaction reaching completed or refunded status.", + "type": "string" + }, + "transfer_received_at": { + "title": "transfer_received_at", + "description": "The date and time of receiving transfer.", + "type": "string" + }, + "user_action_required_by": { + "title": "user_action_required_by", + "description": "Time and date by which user action is required.", + "type": "string" + }, + "message": { + "title": "message", + "description": "Human readable explanation of transaction status", + "type": "string" + }, + "refunds": { + "title": "refunds", + "description": "An object describing any on or offchain refund associated with this transaction.", + "type": "object", + "properties": { + "amount_refunded": { + "type": "object", + "description": "The total amount refunded in units of amount_in_asset.", + "properties": { + "amount": { + "title": "amount", + "description": "A numerical representation of an amount of some asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "amount_fee": { + "type": "object", + "description": "The total amount charged in fees for processing all refund payments, in units of amount_in_asset.", + "properties": { + "amount": { + "title": "amount", + "description": "A numerical representation of an amount of some asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "payments": { + "type": "array", + "description": "A list of objects containing information on the individual payments made back as refunds.", + "items": { + "properties": { + "id": { + "title": "id", + "description": "The Stellar transaction hash.", + "type": "string" + }, + "id_type": { + "type": "string" + }, + "amount": { + "type": "object", + "description": "The amount sent back for the payment identified by id, in units of amount_in_asset.", + "properties": { + "amount": { + "title": "amount", + "description": "A numerical representation of an amount of some asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "fee": { + "type": "object", + "description": "The amount charged as a fee for processing the refund, in units of amount_in_asset.", + "properties": { + "amount": { + "title": "amount", + "description": "A numerical representation of an amount of some asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + }, + "requested_at": { + "title": "datetime", + "description": "The date and time of requesting refund.", + "type": "string" + }, + "refunded_at": { + "title": "datetime", + "description": "The date and time of making refund.", + "type": "string" + } + } + } + } + } + }, + "stellar_transactions": { + "type": "array", + "items": { + "title": "stellar_transaction", + "type": "object", + "required": [ + "id", + "created_at", + "envelope", + "payments" + ], + "properties": { + "id": { + "title": "hash", + "description": "The Stellar transaction hash.", + "type": "string" + }, + "memo": { + "title": "memo", + "type": "string" + }, + "memo_type": { + "title": "memo_type", + "description": "The memo type of the transaction in the Stellar network. Should be present if memo is not null.", + "type": "string", + "enum": [ + "id", + "hash", + "text" + ] + }, + "created_at": { + "title": "created_at", + "description": "The date and time when the transaction is created.", + "type": "string" + }, + "envelop": { + "description": "The transaction envelope, containing all the transaction information.", + "type": "string" + }, + "payments": { + "type": "array", + "items": { + "required": [ + "id", + "payment_type", + "source_account", + "destination_account", + "amount" + ], + "properties": { + "id": { + "description": " The ID of the payment in the Stellar Network.", + "type": "string" + }, + "payment_type": { + "description": " The ID of the payment in the Stellar Network.", + "type": "string", + "enum": [ + "payment", + "path_payment" + ], + "default": "payment" + }, + "source_account": { + "title": "source_account", + "description": "The account being debited in the Stellar Network.", + "type": "string" + }, + "destination_account": { + "title": "destination_account", + "description": "The account being credited in the Stellar Network.", + "type": "string" + }, + "amount": { + "type": "object", + "properties": { + "amount": { + "title": "amount", + "description": "A stringified amount of an asset.", + "type": "string" + }, + "asset": { + "title": "asset", + "description": "An asset.", + "type": "string" + } + } + } + } + } + } + } + } + }, + "source_account": { + "title": "source_account", + "description": "The account being debited in the Stellar Network.", + "type": "string" + }, + "destination_account": { + "title": "destination_account", + "description": "The account being credited in the Stellar Network.", + "type": "string" + }, + "external_transaction_id": { + "title": "transaction_id", + "description": "A unique transaction identifier.", + "type": "string" + }, + "memo": { + "title": "memo", + "type": "string" + }, + "memo_type": { + "title": "memo_type", + "description": "The memo type of the transaction in the Stellar network. Should be present if memo is not null.", + "type": "string", + "enum": [ + "id", + "hash", + "text" + ] + }, + "refund_memo": { + "title": "memo", + "type": "string" + }, + "refund_memo_type": { + "title": "memo_type", + "description": "The memo type of the transaction in the Stellar network. Should be present if memo is not null.", + "type": "string", + "enum": [ + "id", + "hash", + "text" + ] + }, + "client_domain": { + "description": "The domain of the client.", + "type": "string" + }, + "client_name": { + "description": "The domain of the client.", + "type": "string" + }, + "customers": { + "description": "The Identification info of the sending and receiving customers. If they were created through [SEP-12](https://stellar.org/protocol/sep-12),\n this object should contain the SEP-12 customer `id`. Otherwise, the `account` address of the customer.", + "type": "object", + "properties": { + "sender": { + "description": "A object that identify end-user. \nFor a SEP-12 customer, the `id` field should be sufficient to fully identify the customer in the business' Backend. \nFor a SEP-31 Sending Anchor, the `account` and `memo` fields should be used. \nFor a SEP-6 or SEP-24 Anchor, the `account` and `memo` fields should be used.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The `id` of the customer registered through SEP-12." + }, + "account": { + "type": "string", + "description": "Either the Stellar account or Muxed account address of the on-chain entity." + }, + "memo": { + "type": "string", + "description": "The memo value identifying a customer with a shared account, where the shared account is `account`." + } + } + }, + "receiver": { + "description": "A object that identify end-user. \nFor a SEP-12 customer, the `id` field should be sufficient to fully identify the customer in the business' Backend. \nFor a SEP-31 Sending Anchor, the `account` and `memo` fields should be used. \nFor a SEP-6 or SEP-24 Anchor, the `account` and `memo` fields should be used.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The `id` of the customer registered through SEP-12." + }, + "account": { + "type": "string", + "description": "Either the Stellar account or Muxed account address of the on-chain entity." + }, + "memo": { + "type": "string", + "description": "The memo value identifying a customer with a shared account, where the shared account is `account`." + } + } + } + } + }, + "creator": { + "description": "A object that identify end-user. \nFor a SEP-12 customer, the `id` field should be sufficient to fully identify the customer in the business' Backend. \nFor a SEP-31 Sending Anchor, the `account` and `memo` fields should be used. \nFor a SEP-6 or SEP-24 Anchor, the `account` and `memo` fields should be used.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The `id` of the customer registered through SEP-12." + }, + "account": { + "type": "string", + "description": "Either the Stellar account or Muxed account address of the on-chain entity." + }, + "memo": { + "type": "string", + "description": "The memo value identifying a customer with a shared account, where the shared account is `account`." + } + } + } + } + } + }, + "examples": [ + { + "name": "get_transactionExample", + "description": "Example request to the `get_transaction` method.", + "params": [ + { + "name": "id", + "value": "1c186184-09ee-486c-82a7-aa7a0ab1119d" + } + ], + "result": { + "name": "platformTransactionResponse", + "value": { + "id": "1c186184-09ee-486c-82a7-aa7a0ab1119d", + "sep": "31", + "kind": "receive", + "status": "completed", + "funding_method": "SWIFT", + "amount_expected": { + "amount": "100", + "asset": "iso4217:USD" + }, + "amount_in": { + "amount": "100.0000", + "asset": "iso4217:USD" + }, + "amount_out": { + "amount": "98.0000000", + "asset": "stellar:USDC:GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5" + }, + "fee_details": { + "total": "2.0000", + "asset": "iso4217:USD" + }, + "quote_id": "quote-id", + "message": "Please don't forget to foo bar", + "refunds": { + "amount_refunded": { + "amount": "90.0000", + "asset": "iso4217:USD" + }, + "amount_fee": { + "amount": "8.0000", + "asset": "iso4217:USD" + }, + "payments": [ + { + "id": "1111", + "id_type": "stellar", + "amount": { + "amount": "50.0000", + "asset": "iso4217:USD" + }, + "fee": { + "amount": "4.0000", + "asset": "iso4217:USD" + } + }, + { + "id": "2222", + "id_type": "stellar", + "amount": { + "amount": "40.0000", + "asset": "iso4217:USD" + }, + "fee": { + "amount": "4.0000", + "asset": "iso4217:USD" + } + } + ] + }, + "stellar_transactions": [ + { + "id": "stellar-tx-id", + "memo": "my-memo", + "memo_type": "text", + "envelope": "here_comes_the_envelope", + "payments": [ + { + "id": "payment-id", + "amount": { + "amount": "100.0000", + "asset": "iso4217:USD" + }, + "payment_type": "payment", + "source_account": "GB4GJAV4Q7DPGU7WI3H5TMVKEYZJ4JFLFEF3O3TRJKDPXK7NAMRBXWFL", + "destination_account": "GDIN5ZULIOT5YPBIXJXFGNH4TCNTDKIA4ZF6QQE3S2P5P44BHCQQJNDC" + } + ] + } + ], + "external_transaction_id": "external-tx-id", + "customers": { + "sender": { + "id": "sender-id" + }, + "receiver": { + "id": "receiver-id" + } + }, + "creator": { + "id": "creator-id" + } + } + } + } + ] + }, { "name": "notify_amounts_updated", "summary": "Update transaction amounts", @@ -833,7 +1489,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -856,7 +1515,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -900,7 +1562,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -996,7 +1662,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -1097,7 +1766,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -1281,7 +1950,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -1377,7 +2050,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -1478,7 +2154,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -1628,7 +2304,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -1649,7 +2328,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -1672,7 +2354,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -1706,7 +2391,9 @@ "required": false, "schema": { "type": "object", - "required": ["amount"], + "required": [ + "amount" + ], "properties": { "amount": { "title": "amount", @@ -1742,7 +2429,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -1838,7 +2529,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -1939,7 +2633,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -2142,7 +2836,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -2238,7 +2936,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -2339,7 +3040,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -2522,7 +3223,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -2618,7 +3323,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -2719,7 +3427,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -2889,7 +3597,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -2910,7 +3621,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -2933,7 +3647,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -2977,7 +3694,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -3073,7 +3794,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -3174,7 +3898,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -3386,7 +4110,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -3482,7 +4210,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -3583,7 +4314,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -3740,7 +4471,7 @@ "required": true, "schema": { "title": "hash", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" } }, @@ -3750,7 +4481,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -3771,7 +4505,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -3794,7 +4531,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -3838,7 +4578,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -3934,7 +4678,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -4035,7 +4782,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -4191,7 +4938,7 @@ "required": true, "schema": { "title": "hash", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" } } @@ -4211,7 +4958,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -4307,7 +5058,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -4408,7 +5162,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -4555,13 +5309,20 @@ "name": "refund", "schema": { "type": "object", - "required": ["amount", "amount_fee", "id"], + "required": [ + "amount", + "amount_fee", + "id" + ], "properties": { "amount": { "title": "amount", "description": "Amount to be refunded", "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -4579,7 +5340,10 @@ "title": "amount_fee", "description": "Amount of fee", "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -4595,7 +5359,7 @@ }, "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" } } @@ -4617,7 +5381,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -4713,7 +5481,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -4814,7 +5585,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -4974,13 +5745,20 @@ "name": "refund", "schema": { "type": "object", - "required": ["amount", "amount_fee", "id"], + "required": [ + "amount", + "amount_fee", + "id" + ], "properties": { "amount": { "title": "amount", "description": "Amount to be refunded", "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -4998,7 +5776,10 @@ "title": "amount_fee", "description": "Amount of fee", "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -5014,7 +5795,7 @@ }, "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" } } @@ -5036,7 +5817,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -5132,7 +5917,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -5233,7 +6021,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -5405,7 +6193,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -5501,7 +6293,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -5602,7 +6397,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -5760,7 +6555,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -5856,7 +6655,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -5957,7 +6759,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -6122,7 +6924,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -6218,7 +7024,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -6319,7 +7128,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -6477,7 +7286,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -6573,7 +7386,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -6674,7 +7490,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -6837,7 +7653,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -6933,7 +7753,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -7034,7 +7857,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -7179,7 +8002,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -7200,7 +8026,10 @@ "required": false, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -7223,7 +8052,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -7257,7 +8089,9 @@ "required": false, "schema": { "type": "object", - "required": ["amount"], + "required": [ + "amount" + ], "properties": { "amount": { "title": "amount", @@ -7323,7 +8157,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -7419,7 +8257,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -7520,7 +8361,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -7674,6 +8515,9 @@ }, { "name": "SEP-24" + }, + { + "name": "SEP-31" } ], "params": [ @@ -7705,7 +8549,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -7726,7 +8573,10 @@ "required": true, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -7747,7 +8597,10 @@ "required": false, "schema": { "type": "object", - "required": ["amount", "asset"], + "required": [ + "amount", + "asset" + ], "properties": { "amount": { "title": "amount", @@ -7770,7 +8623,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -7804,7 +8660,9 @@ "required": false, "schema": { "type": "object", - "required": ["amount"], + "required": [ + "amount" + ], "properties": { "amount": { "title": "amount", @@ -7864,7 +8722,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -7960,7 +8822,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -8061,7 +8926,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -8253,7 +9118,11 @@ "title": "sep", "description": "Protocol of the transaction.", "type": "integer", - "enum": [6, 24, 31] + "enum": [ + 6, + 24, + 31 + ] }, "kind": { "title": "kind", @@ -8349,7 +9218,10 @@ "title": "fee_details", "description": "Description of fee charged by the anchor.", "type": "object", - "required": ["total", "asset"], + "required": [ + "total", + "asset" + ], "properties": { "total": { "type": "number" @@ -8450,7 +9322,7 @@ "properties": { "id": { "title": "id", - "description": "The Stellar transaction hash of the transaction that included the refund payment.", + "description": "The Stellar transaction hash.", "type": "string" }, "id_type": { @@ -8555,4 +9427,4 @@ } ], "components": {} -} +} \ No newline at end of file diff --git a/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction.mdx b/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction.mdx new file mode 100644 index 000000000..c313dc6a1 --- /dev/null +++ b/platforms/anchor-platform/api-reference/platform/rpc/methods/get_transaction.mdx @@ -0,0 +1,11 @@ +--- +title: get_transaction +hide_title: true +--- + +import { RpcMethod } from "@site/src/components/RpcMethod"; +import rpcSpec from "../anchor-platform.openrpc.json"; + + meth.name === "get_transaction")[0]} +/> diff --git a/platforms/stellar-disbursement-platform/README.mdx b/platforms/stellar-disbursement-platform/README.mdx index 75dbf8d74..9c42e655d 100644 --- a/platforms/stellar-disbursement-platform/README.mdx +++ b/platforms/stellar-disbursement-platform/README.mdx @@ -13,4 +13,4 @@ This is an open-source project that is built on top of the Stellar network, and - [stellar/stellar-disbursement-platform-frontend](https://github.com/stellar/stellar-disbursement-platform-frontend): This repository contains the web frontend code for the Stellar Disbursement Platform. - [stellar/helm-charts](https://github.com/stellar/helm-charts/tree/main/charts/stellar-disbursement-platform): This repository contains the Helm chart for deploying the Stellar Disbursement Platform using kubernetes. -In this section, you'll find an [Admin Guide](./admin-guide/10-overview.mdx) that will teach you how to run the Stellar Disbursement Platform as well as an [API Reference](./api-reference/admin.tag.mdx). +In this section, you'll find an [Admin Guide](./stellar-disbursement-platform/admin-guide/) that will teach you how to run the Stellar Disbursement Platform as well as an [API Reference](./api-reference/admin.tag.mdx). diff --git a/platforms/stellar-disbursement-platform/admin-guide/10-overview.mdx b/platforms/stellar-disbursement-platform/admin-guide/10-overview.mdx index 6e659499c..d241125bc 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/10-overview.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/10-overview.mdx @@ -9,7 +9,7 @@ The entire SDP step-by-step process usually looks something like the following a 1. The organization funds the SDP’s distribution account with a Stellar-based asset (e.g. USDC) 2. An administrator logs in to the SDP’s dashboard and uploads a CSV file containing the payment information to initiate a new disbursement 3. The SDP sends a text message to every first-time recipient in the CSV inviting them to download a Stellar-enabled wallet application -4. Meanwhile, the SDP immediately begins making payments to each recipient that has already registered a wallet through a prior payment +4. Meanwhile, the SDP immediately begins making payments to each recipient that already has a wallet registered to them 5. Each first-time recipient clicks a deep link to download the Stellar-enabled wallet application chosen by the organization for this disbursement, downloads the app, and goes through the wallet sign-up process 6. Once the recipient has signed up and their Stellar account has been created, the wallet immediately authenticates with the SDP using parameters from the deep link and opens the SDP registration web view for the recipient to complete verification 7. The user confirms their identity by providing an OTP code sent to their phone number and an additional piece of verification information for security purposes. The SDP supports three different types of verification information: Date of Birth, Personal PIN, and National ID. This information is input by the recipient in a web flow and passes directly to the SDP, meaning the wallet does not need to process or store this information. diff --git a/platforms/stellar-disbursement-platform/admin-guide/20-design-and-architecture.mdx b/platforms/stellar-disbursement-platform/admin-guide/20-design-and-architecture.mdx index 5288aca13..c1596a13f 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/20-design-and-architecture.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/20-design-and-architecture.mdx @@ -20,7 +20,7 @@ The Stellar Disbursement Platform consists of four services deployed together: - **Container Orchestration**: the SDP is packaged as Docker containers and can be deployed to Kubernetes or AWS Fargate. SDF provides a Helm Chart for Kubernetes - **Postgres**: the SDP uses a Postgres database server for all of its services - **Apache Kafka**: the SDP optionally uses Kafka for streaming events between services. This is primarily used between SDP Core Service and Transaction Submission Service -- **Twilio or AWS SNS and SES**: the SDP’s messaging service uses SMS messages via Twilio or AWS SNS and administrative emails for organization account setup and recovery via AWS SES +- **Twilio or AWS SNS and SES**: the SDP’s messaging service uses SMS messages via Twilio or AWS SNS and administrative emails for organization account setup and recovery via AWS SES or Twilio SendGrid - **Stellar Accounts**: - Distribution Account: the SDP requires access to at least one funded Stellar account to make payments to the recipient - SEP-10 Auth Account: the SDP requires a Stellar account for the mutual authentication protocol [SEP-10: Stellar Web Authentication](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md) used to connect to wallet applications diff --git a/platforms/stellar-disbursement-platform/admin-guide/30-getting-started.mdx b/platforms/stellar-disbursement-platform/admin-guide/30-getting-started.mdx index 3cd421c40..37187b1cc 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/30-getting-started.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/30-getting-started.mdx @@ -146,15 +146,6 @@ Go to Forgot Password page on `http://${tenant}.stellar.local:3000/forgot-passwo A token will be generated, and it's possible to check it on `sdp-api` logs. This token will be needed to Reset Password on `http://${tenant}.stellar.local:3000/reset-password`. -## Create Your First Disbursement - -Navigate to the frontend service by opening a browser and going to http://bluecorp.stellar.local:3000. - -- Click `New Disbursement+` on the Dashboard screen. -- Use `Demo Wallet` as your wallet and choose a verification method. -- Upload a disbursement file. A sample file is available at `./dev/sample/sample-disbursement.csv`. Make sure to update the invalid phone number before using it. -- Finally, confirm the disbursement. - ## Log In Once the password for your target org user has been reset to one of your choice, navigate to the dashboard by opening a browser to localhost:3000 and login with the user account. ![Login](/assets/SDP/SDP26.png) @@ -163,7 +154,14 @@ Click the Sign in button and the SDP Dashboard will open. You will have no disbu ## Create Your First Disbursement -Create your first disbursement by clicking the New Disbursement button. Use Demo Wallet as your wallet and USDC as your asset. You can choose whatever values you like for Country and Name, but ensure that Verification type matches the type used in the disbursement file that you will then upload with receiver information. Refer to `./dev/sample/sample-disbursement.csv` for the disbursement file template. ![Disbursement Details](/assets/SDP/SDP28.png) +Navigate to the frontend service by opening a browser and going to http://bluecorp.stellar.local:3000. + +- Click `New Disbursement+` on the Dashboard screen. +- Use `Demo Wallet` as your wallet and choose a verification method. +- Upload a disbursement file. A template file can be downloaded at the frontend page when creating a disbursement, and the template will change according with the options set for that disbursement. You can also find the template files at [public/resources/disbursementTemplates](https://github.com/stellar/stellar-disbursement-platform-frontend/tree/58873bbf36cff4614e603daf449079b1d9fad24a/public/resources/disbursementTemplates). Make sure to update the file before using it by changing the contact info to yours and removing the comment line. +- Finally, confirm the disbursement. + +![Disbursement Details](/assets/SDP/SDP28.png) You also have the option of modifying the message in the receiver invite. ![Disbursment Details 2](/assets/SDP/SDP29.png) @@ -198,15 +196,21 @@ Payments will start failing if the distribution account runs out of funds. To fi ## Verify Your Identity -When a disbursement is created, the SDP attempts to send SMS messages to receivers using either Twilio or AWS SNS. This message includes a link to the wallet application selected when creating the disbursement, and should direct the receiver to install the wallet app, go through the wallet's onboarding flow, and finally register with the SDP. However, neither service is configured by default, so the SDP will not send an SMS message to the phone numbers listed in the CSV uploaded in the previous step. You can still see the message in the `sdp-api` container logs. +When a disbursement is created, the SDP attempts to send a message to receivers using either Twilio/AWS for SMS or email, according to the contact type associated with the user. This message includes a link to the wallet application selected when creating the disbursement, and should direct the receiver to install the wallet app, go through the wallet's onboarding flow, and finally register with the SDP. + +:::info + +Please notice that the initial configuration has `SMS_SENDER_TYPE=DRY_RUN` and `EMAIL_SENDER_TYPE=DRY_RUN`, which means the messages will be printed in the logs (of the `sdp-api` container) instead of being sent. Check out the [Email and SMS Messages](#email-and-sms-messages) section to learn how to configure messaging in the SDP. When you do, and another disbursement is created, you should get a message like the following. ![Verify Identity](/assets/SDP/SDP8.png) +::: + ## Create a Receiver Account -Clicking on the link within the SMS message will bring you back to the Stellar Demo Wallet, where you'll need to create another account to receive the USDC. Follow the same process described earlier to create the account and add a USDC trustline. +Clicking on initation message link will take the receiver to the [demo-wallet], where they'll need to create an account to be used to receive the USDC payment. Follow the same process described earlier to create the account and add a USDC trustline. ## Initiate SEP-24 Webflow @@ -216,9 +220,13 @@ In the "Select Action" dropdown, select "SEP-24 Deposit" to initiate a SEP-24 we ![SEP-24](/assets/SDP/SDP13.png) -A SEP-24 interactive window will appear. This simulates the wallet application popup you would see on your mobile phone. Enter the phone number from the disbursement CSV. +A SEP-24 interactive window will appear, where the receiver can select the contact info type (e.g. phone number or email) that is registered for them in the SDP database. + +![Webflow1](/assets/SDP/SDP14.1.png) + +In the next SEP-24 screen the user should enter the contact info data (phone number or email) from the disbursement CSV. -![Webflow](/assets/SDP/SDP14.png) +![Webflow2](/assets/SDP/SDP14.2.png) Next, enter the passcode and the verification field that you used in the disbursement file. Note: use 000000 for this example (or 999999 if you want to see an error response). @@ -244,9 +252,9 @@ Now that you've been able to make a disbursement, let's go back to our docker co ### Email and SMS Messages -The Stellar Disbursement Platform sends SMS messages and emails to receivers and users, respectively. For SMS messages, the Stellar Disbursement Platform supports Twilio, AWS SNS, and a dry run mode that just logs the messages. For emails, it supports AWS SES and dry run. +The Stellar Disbursement Platform sends emails to users and SMS/emails to receivers. For SMS messages, the Stellar Disbursement Platform supports Twilio, AWS SNS, and a dry run mode that just logs the messages. For emails, it supports AWS SES, Twilio SendGrid, and dry run. -These services can be selected through the `SMS_SENDER_TYPE` and `EMAIL_SENDER_TYPE` configurations. When selecting Twilio or AWS services, you'll need to fill their service-specific configuration as well. Here are some example configurations. You can mix and match the services as you see fit. +These services can be selected through the `SMS_SENDER_TYPE` and `EMAIL_SENDER_TYPE` configurations. When selecting Twilio or AWS services, you'll need to fill their service-specific configuration as well. Below there are some example configurations, and you can mix and match the services as you see fit. #### Dry Run Configuration @@ -276,6 +284,20 @@ TWILIO_SERVICE_SID: +#### Twilio Email (Send Grid) Configuration + + + +```yaml +SMS_SENDER_TYPE: TWILIO_EMAIL + +# Twilio specific configuration +TWILIO_SENDGRID_API_KEY: +TWILIO_SENDGRID_SENDER_ADDRESS: +``` + + + #### AWS SMS Configuration @@ -364,11 +386,13 @@ EC256_PRIVATE_KEY: There are many other configuration values to update when moving to a production environment, such as database credentials, URLs, and more. -## Level Up: Customize Default Options +## Level Up -The SDP contains a list of assets, countries, and wallets available for disbursements out-of-the-box. You might want to customize these, either to limit/expand options or to prepare for going live in production. Now that you've made a disbursement and added application secrets, let's look at how to customize the new disbursement options. +### Custom Assets and Wallets -### Assets +The SDP contains a list of assets and wallets available for disbursements out-of-the-box. You might want to customize these, either to limit/expand options or to prepare for going live in production. Now that you've made a disbursement and added application secrets, let's look at how to customize the new disbursement options. + +#### Assets You can add and remove assets easily in the SDP dashboard. The SDP backend handles the request seamlessly, including checking for outstanding balance and adding/removing trustlines on the Stellar network. When assets are removed, the record is still retained in the database to preserve a full history. However, the asset will no longer be available for disbursements or holding a balance in the distribution account. @@ -380,25 +404,21 @@ Please make sure to update the appropriate configuration on the Anchor Platform ::: -### Countries - -To customize wallets and countries, you’ll need to do some backend work. - -The list of available countries is seeded with a database patch. The default list includes every country except North Korea, Iran, Cuba, and Syria for easy testing. If you want to narrow the list, you will need to remove the country record directly from the countries table within the SDP database. +#### Wallets -Here is an example of how to remove France with its three-character ISO 3166 code: - - +For a full overview on how to add wallets and how to make a wallet SDP-compatible, check out the [Making Your Wallet SDP-Ready](making-your-wallet-sdp-ready) guide. -```sql -DELETE FROM countries WHERE code = 'FRA'; -``` +### Wallet Address Registration - +Since version [`3.0.0`](https://github.com/stellar/stellar-disbursement-platform-backend/releases/tag/3.0.0), the SDP can pay directly to Stellar wallet addresses rather than directing the receivers through the registration flow. This is useful for organizations that are paying receivers who already have Stellar wallets and don't need to create a new one. -### Wallets +To use this feature, follow these steps: -For a full overview on how to add wallets and how to make a wallet SDP-compatible, check out the [Making Your Wallet SDP-Ready](making-your-wallet-sdp-ready) guide. +1. Make sure the User Managed Wallet is enabled at the Wallet Providers section (also available at [`GET /wallets`](/platforms/stellar-disbursement-platform/api-reference/get-all-wallets)). +2. If it's not enabled, you can update it through the UI dashboard or with [`PATCH /wallets/{id}`](/platforms/stellar-disbursement-platform/api-reference/update-wallet). +3. Now you can create a disbursement and select from the `registration Contact Type dropdown an option that contains `Walet Address` in the name. +4. Prepare the CSV file according with the [CSV sample](https://github.com/stellar/stellar-disbursement-platform-frontend/tree/58873bbf36cff4614e603daf449079b1d9fad24a/public/resources/disbursementTemplates) associated with your disbursement configuration. +5. Upload the CSV file and confirm the disbursement as usual. The SDP will send the payment directly to the wallet addresses provided in the CSV ✅. [demo-wallet]: https://demo-wallet.stellar.org [circle-sandbox]: https://login-sandbox.circle.com/ diff --git a/platforms/stellar-disbursement-platform/admin-guide/45-configuring-sdp.mdx b/platforms/stellar-disbursement-platform/admin-guide/45-configuring-sdp.mdx index 095e5fcb8..62f47dc15 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/45-configuring-sdp.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/45-configuring-sdp.mdx @@ -47,7 +47,7 @@ Operational Configuration allows controlling metrics, logging, and other operati Messaging Configuration allows configuring the messaging service used to send messages to recipients and sdp dashboard users. The default configuration is set to "DRY_RUN" which means no messages will be sent and the messages will be logged to the console. This is recommended for testing purposes only. -- `EMAIL_SENDER_TYPE`: The messenger type used to send invitations to new dashboard users. Options: "DRY_RUN", "AWS_EMAIL". Default: "DRY_RUN". +- `EMAIL_SENDER_TYPE`: The messenger type used to send invitations to new dashboard users. Options: "DRY_RUN", "TWILIO_EMAIL", "AWS_EMAIL". Default: "DRY_RUN". - `SMS_SENDER_TYPE`: The messenger type used to send SMS messages to recipients. Options: "DRY_RUN", "TWILIO_SMS", "AWS_SMS". Default: "DRY_RUN". #### AWS Configuration @@ -62,15 +62,20 @@ The following configurations are required when using AWS SES or SNS to send emai #### Twilio Configuration -The following configurations are required when `SMS_SENDER_TYPE` is set to "TWILIO_SMS". +The following configurations are required when `SMS_SENDER_TYPE=TWILIO_SMS`. - `TWILIO_ACCOUNT_SID` - 🔑 The Twilio account SID. - `TWILIO_AUTH_TOKEN` - 🔑 The Twilio auth token. - `TWILIO_SERVICE_SID` - The Twilio service SID. -General Messaging Configuration: +The following configurations are required when `EMAIL_SENDER_TYPE=TWILIO_EMAIL`. -- `MAX_INVITATION_SMS_RESEND_ATTEMPTS` - The maximum number of attempts to resend the SMS invitation to the Receiver Wallets. Default: 3. +- `TWILIO_SENDGRID_API_KEY` - 🔑 The API key for the Twilio SendGrid (email) service. +- `TWILIO_SENDGRID_SENDER_ADDRESS` - The email address used to send emails via Twilio SendGrid. + +#### General Messaging Configuration + +- `MAX_INVITATION_RESEND_ATTEMPTS` - The maximum number of attempts to (auto) resend the invitation to the Receiver Wallets. Default: 3. ### Stellar Configuration diff --git a/platforms/stellar-disbursement-platform/admin-guide/48-tenant-provisioning.mdx b/platforms/stellar-disbursement-platform/admin-guide/48-tenant-provisioning.mdx index 8511e0378..6af351253 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/48-tenant-provisioning.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/48-tenant-provisioning.mdx @@ -60,7 +60,7 @@ It cannot be changed once the tenant is created. ### `base_url`, and `sdp_ui_base_url` -These are the URLs that the tenant will use to access the API and the dashboard, respectively. They are used to generate the tenant-specific URLs that are used in the dashboard and the email and SMS messages. +These are the URLs that the tenant will use to access the API and the dashboard, respectively. They are used to generate the tenant-specific URLs that are used in the dashboard and the user-targeted or receiver-targeted messages. They are important to allow the SDP backend to route the unauthenticated requests to the correct tenant, and to generate the correct URLs in the dashboard. diff --git a/platforms/stellar-disbursement-platform/admin-guide/50-making-your-wallet-sdp-ready.mdx b/platforms/stellar-disbursement-platform/admin-guide/50-making-your-wallet-sdp-ready.mdx index 97feaf712..c8b930f8d 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/50-making-your-wallet-sdp-ready.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/50-making-your-wallet-sdp-ready.mdx @@ -68,7 +68,7 @@ Please make sure to update the appropriate configuration on the Anchor Platform The recipient registration experience is paramount to make this application smooth and easy to use. this requires the wallet to support [deferred deep linking], which will be discussed in a later section. A good description of the registration experience is as follows: -1. The recipient receives an SMS message notifying them they have a payment waiting from the organization and prompts them to click a [deep link] to open or install&open a wallet application +1. The recipient receives an invitation message notifying them they have a payment waiting from the organization and prompts them to click a [deep link] to open or install&open a wallet application 1. When the recipient opens the wallet app, the wallet immediately onboards the recipient, creates a Stellar account and trustline for the desired asset, initiates a [SEP-24] deposit transaction with the SDP, and opens the SDP's registration webpage as an overlay screen/iframe inside the app. 1. The user confirms their phone number and date of birth directly with the SDP, without sharing any data with the wallet, and after the registration finishes, the user is sent back to the wallet application. Here are the screens demonstrating these steps: diff --git a/platforms/stellar-disbursement-platform/admin-guide/70-migrating-to-sdp-multi-tenant.mdx b/platforms/stellar-disbursement-platform/admin-guide/70-migrating-to-sdp-multi-tenant.mdx index 67a2baeb7..686a50202 100644 --- a/platforms/stellar-disbursement-platform/admin-guide/70-migrating-to-sdp-multi-tenant.mdx +++ b/platforms/stellar-disbursement-platform/admin-guide/70-migrating-to-sdp-multi-tenant.mdx @@ -315,7 +315,6 @@ Please notice that the following tables don't need to be copied: - **_gorp_migrations_** - **_auth_migrations_** -- **_countries_** - **_organizations_** To help with the import process, we added a function to the `admin` schema that will copy the data from the v1 tables located in the public schema to the new tenant schema. The function is called `import_tenant_data_from_v1_to_v2` and it receives the tenant name as a parameter. Tenant name needs to be the same as the `$name` used in the tenant creation API call. @@ -354,7 +353,6 @@ DROP TABLE public.wallets CASCADE; DROP TABLE public.organizations CASCADE; DROP TABLE public.gorp_migrations CASCADE; DROP TABLE public.auth_migrations CASCADE; -DROP TABLE public.countries CASCADE; DROP TABLE public.submitter_transactions CASCADE; DROP TABLE public.channel_accounts CASCADE; diff --git a/platforms/stellar-disbursement-platform/api-reference/create-disbursement.api.mdx b/platforms/stellar-disbursement-platform/api-reference/create-disbursement.api.mdx index bcb805772..d923c88d5 100644 --- a/platforms/stellar-disbursement-platform/api-reference/create-disbursement.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/create-disbursement.api.mdx @@ -5,7 +5,7 @@ description: "Creates a new disbursement in `draft ` state with basic details. sidebar_label: "Create Disbursement" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -113,11 +113,29 @@ Creates a new disbursement in `draft ` state with basic details. Important: a d
    + + + + @@ -195,71 +213,23 @@ Creates a new disbursement in `draft ` state with basic details. Important: a d > -
    - - - - country - - object - - -
    - - - - - - - - - -
    -
    + +
    + @@ -751,7 +721,7 @@ Creates a new disbursement in `draft ` state with basic details. Important: a d value={"Example (from schema)"} > @@ -761,7 +731,7 @@ Creates a new disbursement in `draft ` state with basic details. Important: a d value={"Example"} > diff --git a/platforms/stellar-disbursement-platform/api-reference/get-all-wallets.api.mdx b/platforms/stellar-disbursement-platform/api-reference/get-all-wallets.api.mdx index 51c5d2ac5..8fe470415 100644 --- a/platforms/stellar-disbursement-platform/api-reference/get-all-wallets.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/get-all-wallets.api.mdx @@ -5,7 +5,7 @@ description: "Fetches the list of available wallet providers to populate the dro sidebar_label: "Get All Wallets" hide_title: true hide_table_of_contents: true -api: eJztV99v2zYQ/lcIPrWAZDtufnR689a06za0AZyuwNIgOElnizVFcuTJrmvofx+OkhMnTpO2Q4E9LA+xxbv7eN+Ruu+8kQTzILML+dbPwajPQMoaeZnIEkPhlYuPmXyJVFQYBFUotAok7EzAEpSGXKNYgdZIwnm7VCX6IMgKZ12jgTCGlN660q6MyO0noUxce4Mr8UKFvPEBazQkZtquBuK8QmF3chGhso0uRWGtL5VhxJWiKkLc2VfkOLMeRUCNBSkzFyAceFJFo8Hvec+sFyDKnRS63ZVRpEB3PD3OGCwI0FpMX5ylha0dkLqhHQYykdahj+m+LmUmXyFNtH7fmWUiPQZnTcAgs40cj0b8cbu+k+uqrq6jCmsIDbEzOKdVETcYfgwcsZGhqLAG/kZrhzKT4D2sZSIVYR121m3+EQuSiXSe0yTV5aHKHZ9AXpm5TCR+gtppXjqCEn7C8ig9PDqC9PDk+TiFEWJ6cDw6OT7BUYn5gWwTaaDGh5H+VLkHQ2ISggrEMZWt0cH8kbiKyIVsOFx28eDcoLA1xwd0Vwejq0IrNHRV2hqUeRgLnEpLXA72sUpEd6WVWVztVfSrcxqG0jE84xUegbC8AroPaWZ9zRZZAmFKqsZb8OPR+Fk6OkmfHZyPR9nRKDs8GhwfPv+LgRtX/gjgNpGkKDp1N1a2/JfIw9HB/kV9Z6Chynr1GcvvuKNfuIvovfX7rFpmQB6+4jYHAmp2/UxT5+gZosYQ7r1rHc3rGl2nId9YErdo3mSx3edwdLCDfDfiRwJ3R/Ns/2heWp+rskTz48/lfnY3CXyFQ+QRsGi8orXMLjbyZwSPftJQJbOLy/aSy0CV5YY6x5gbsEkOb1pkQL9EH2J447XMpOS4LeyUaXZMdsFvOqZTvyO3zNuF/O39uWgClp1CNFShob6CiQhqbrDsNAiMOJ2Oj46F82rJyrTANatB1xLlpD+3TlMTyT1KVggl38uWn2c2ZtO/flNCzUJ1SxXPNBC/22Jy9lomkul2WY4HB4MR16Cpa/BrmUkWr4cxnkxfnD0VKggQZK0WeaM0RZq7khv1u4YFirzRC+FgzShxFcTc28axUHkslFPRYJfooyBvdzdIK+sXg73S/vdS/GA+mPNKhbilEdahSYNtfIE8KfBbIagCYnOXijWCbIS/By4RYMpoKGyJogAjchQz25gyBlb8oLVd8XTi0dmgyHqFIeM8UnEROrxh/5nujiep64uU5lAs0JSXT7ZyNFdUNXknRd+C8DQTkfx1KmvBrQOU6Wa93i2yUmbmIZBvCmp8T5DPhR4708E3MJv52Ln+DbUtxGPcVpiLre93s6lQ12lRgafwYMo7fkPyiEMeWYb9woN8HqPxK+paRKCYf4lO2zVfr0eZiCaw36LJ0RskDIMP3KYIfR3ezqbol6rYnXn6NAfWz4fRKbWzNPRuidSqQBNiw982QAdFhWIc+1TXnxkrGw5Xq9UAojWi9aFh+MfrX07fTE/T8WA0qKjWsU86G6gGswP8CklMtBY3I/atNrO50b//f7k88sull0LCTzR0mufotj+rTS+4F3IruJc8uQfipc0mh4DvvG5bXv67QZagi8tELsErrm0U8WSrd6zQC2SVmhQFOpbzJeimU+E7A8ot6X91ei4TCXvCvYjC3X9h9K3JrHew70pwlwL/b5MvhGw23VjQttf+nemLET3FrTeX8LJt238AcEpqNw== +api: eJztV99v2zYQ/lcIPrWAZDtufnR689a06za0AZKuwNIgOElnizVFcuTJrmvofx+OkmMnTpO2Q4E9LA+xTd59/L4jdR+1lgSzILNL+dbPwKjPQMoamcj3oDVSkFeJLDEUXrk4kcmXSEWFQVCFQqtAwk4FLEBpyDWKZUwTztuFKtEHQVY46xoNhDGl9NaVdmlEbj8JZeLYG1yKFyrkjQ9YoyEx1XY5EBcVCrvDSoTKNroUhbW+VIYRl4qqCHFnXZHj1HoUATUWpMxMgHDgSRWNBr8XPbVegCh3KHSrK6NIge50epwyWBCgtTh/cZYWtnZAais7DGQirUMf6b4uZSZfIU203hQzkR6DsyZgkNlajkcj/rhd38lNVZc3WYU1hIY4GJzTqogLDD8GzljLUFRYA3+jlUOZSfAeVjKRirAOO+M2/4gFyUQ6zzRJdTxUuRMTyCszk4nET1A7zUNHUMJPWB6lh0dHkB6ePB+nMEJMD45HJ8cnOCoxP5BtIg3U+DDSnyr3YEhMQlCBOKeyNTqYPZJXEbmQDYeLLh+cGxS25vyA7vpgdF1ohYauS1uDMg9jgVNpiYvBPlaJ6K61MvPrvYp+NadhKB3DM17hEQjLa6D7kKbW1zwjSyBMSdV4C348Gj9LRyfps4OL8Sg7GmWHR4Pjw+d/MXDjyh8B3CaSFMWg7sTKlv8SeTg62D+o7ww0VFmvPmP5HWf0C2cRvbd+X1XLCsjDV5zmQEDNbpxp6hw9Q9QYwr1nrZN5U6MbGvKNJXFL5pbFZp3D0cEO8t2MHwncbc2z/a15aX2uyhLNj9+X+9VtCXxFQNQRsGi8opXMLtfyZwSPftJQJbPLq/aKy0CV5YY6w8gNeEoOty0yoF+gDzG98VpmUnLeBvacZXZKdsG3HdOp35Fb5u1C/vb+QjQBy84hGqrQUF/BRAQ1M1h2HgRGnJ6Pj46F82rBzjTHFbtB1xLlpN+3jbtyj5IVQsnnsuXfUxvZ9I/fOaFmo7rlimcaiJ9tMTl7LRPJcjuW48HBYMQ1aOoa/Epmks3rYYwn5y/OngoVBAiyVou8UZqizF3Ljf5dwxxF3ui5cLBilDgKYuZt49ioPBbKqThhF+ijIW9WN0hL6+eDvdL+9yh+MB/MRaVCXNII69CkwTa+QL4p8FMhqALi6Y6KNYJshL8HLhFgyjhR2BJFAUbkKKa2MWVMrPiH1nbJtxOPzgZF1isMGfNIxWXo8Ib9Z7p7PUldX6Q0h2KOprx6srGjmaKqyTsr+haEp5mI4m+orAS3DlCmu+v1YVGVMlMPgXxTUON7gbwv9NieDr5B2dTHzvVvpG0gHtO2xFxsYr9bTYW6TosKPIUHKe/EDckjDvnKMuwHHtTzmIxfUdciAkX+JTptV3y8HlUimsBx8yZHb5AwDD5wmyL0dXg7PUe/UMXunaenObB+NoxBqZ2moQ9LpFYFmhAb/qYBOigqFOPYp7r+zFjZcLhcLgcQZyNanxqGf7z+5fTN+Wk6HowGFdU69klnA9VgdoBfIYmJ1mJ7xb7VZtZb//v/zeWRN5feCgk/0dBpvke3/V6te8O9lMvta2FlA/HQep1DwHdety0P/90gW9DlVSIX4BXXNpp4svE7dug5sktNigId2/kCdNO58J0Lyi3rf3V6IRMJe8Y9j8bdf2H0zZRZ7WDfteCOAv9vky+krNfdtaBtb+K7qS9m9BI30VzCq7Zt/wEuCm2D sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null diff --git a/platforms/stellar-disbursement-platform/api-reference/get-organization-info.api.mdx b/platforms/stellar-disbursement-platform/api-reference/get-organization-info.api.mdx index 4e8e1ec3e..5bda3ffc3 100644 --- a/platforms/stellar-disbursement-platform/api-reference/get-organization-info.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/get-organization-info.api.mdx @@ -5,7 +5,7 @@ description: "This endpoint returns the organization's info. It is used in many sidebar_label: "Get Organization Info" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -220,11 +220,11 @@ This endpoint returns the organization's info. It is used in many places across diff --git a/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers.api.mdx b/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers.api.mdx index c5fe998b1..d8bfc5cbd 100644 --- a/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/list-all-disbursement-receivers.api.mdx @@ -5,7 +5,7 @@ description: "Fetches a list of receivers within a specific disbursement using t sidebar_label: "List All Disbursement Receivers" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -483,11 +483,11 @@ Fetches a list of receivers within a specific disbursement using the disbursemen diff --git a/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements.api.mdx b/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements.api.mdx index 994f8fbce..7a7ccc2f9 100644 --- a/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/list-all-disbursements.api.mdx @@ -5,7 +5,7 @@ description: "Fetches all disbursements the organization has created. This endpo sidebar_label: "List All Disbursements" hide_title: true hide_table_of_contents: true -api: eJzVWltv27gS/isEHw52AcuWZPkSA4sDt3a2OU3TbJK26HYDg5JGNje6laSSegP/94OhJFu2FdtJ3cXuS9NEc/lmOJwLyUeq2FTSwRc64tLNhIQIYiXpbYP6ID3BU8WTmA7oKShvBpKwMCR+lZSoGZBETFnM/2JITGZMEk8AU+A3yc2MSwKxnyY8VkRmaZoIJUnKpjzW5EgCRIBMk1gC4bEXZj5I4jLJPcKmUwFTTShJEpOUzXOtD1zNeKyVV+E0aYMmKQjNcebTAT3nUg3DcN28Bk2ZYBEoEGj8I41ZBHRAUzYF2qAcLf6agZjTTT8gWKQiAr5mINFG2qD4Cxfg00HAQgkNKtU8RIFBIiLaoPAtDRMf6ECJDL96M4gYHTxSNU+RLM4iF4RWFrAsVHRgLRaNNViTkEdc7QY3goDHQGbJA4lYPEevZqF2VhgSFzGrTMTgk8Jzpdd/jAm2WbXh627oQyKBCW9GFIiIZBJ8ohKiaYmaiSSbzrYWm6BoeQzwUgkeT2kVr1RMZXI36PE35ikSMeXNMDgRX85GkqA2NI+Es0EhziK9a6+Gpze0Qa/Gw9Fn2qDXN8Orm/GINujl8MO1/s/r9+8uz8f4x9sFamBRqlXmrBWLiz07YWrCAqXXcoft7+NwXgTUVkJgijABZRIgWhpRmAl8pqBJThMRMTUgnz9//my8e2eMRkdcw6qNtml2DdMyTPsJQ10IErFnyz/D0lzcP8hUmYg9OeOUQ+gvNxzSrxt5zKhdpobKElSCWWNuVL/dVnekzwV4GvXuJFiSkSAR2iAeT9dtOupWXBnFpFexJv8NsaEZt6gxz7YSpdimiT82k2DIpcLkUS1XxAfFeIgr4SWxglghJ0vTkHu6zrX+lMj+uA0ycf8ED12cCqyKiufKV9V3P20M31RtBlpG3n+xPP3S/s+qSv2CMUhTAfeHcFrbnGyaKy9YeaxgqhPSkre/aFCVKBbuJrO6CyTkSuu7XNm9aFCfqaqvmBAMo4kriOR+v3C/Phg2m4Us5l8zINyHWPGAg6irDWte6VonPut3eka/Z3cMx+v0jZN22zc8yzaZ0+mDGXQQf74tDsGAlHvVroXcBcpeYMBlsRLz/e7w9F7ZD0YAGN6MCeZhTTi7fk/aVrdLNHsVzYe3V4fb+DpHSYoEUpFyJxiPc0tWWaVGXqDTNCYZpsBQfEOObdptw7QNs31jmQOnM+hYv6PQLPWPLbQSroVZqOiBhSGol0blSmeH+ewE/I7hdDrMcHp922AmgGF1zV63B6YPrrXL7ytJH7krWKzIUEouFfLMkgh0A72Tb6ZUKget1n3Oz9K06SUR8ktIJ5Y58UIOsZr4ScR4vFsWS7nhw31zW5YPkE5CHt9NdvRQezC1pJ+i+CNFT89oWze2OejgWje7Tv9YEVQnuBJFn/LQWTQok/IYMRQEDDzHbRtO1zUNx3cdgzmeY3S9dsfsm51ez+zkueOQlDBEUDX7/3r0GoVwKTMQh4rJqQnzfQFSrgn89dWrkdM7O+2ef3rbu+y9G40/Xr/+dNUbXX749LF98bk9uvlt/PH03LkY3jjD3960fz8/Pz0fdv5NuQOdEsJ3Cu0WQjurhLRdUa4VhCETRIcUWQZSGXN6NfSezqeoo00wKxXVcnWda1k06D0IHhRt0STA1nan7uHNePL+dPLq7OrmDWo8u6ANejG8OXt/MTyfnI0mFx/evRpfVfV+rGjQvfPKzMmMS5WsVctnNhWZBDHZt//aQbtjuSdggG8GhmMGzGBtyzEsp9fpuY7tszyH/92+x3iSikXpj6iF2yrf5M4elyVyLyUSBTyEyf7iVm2SjABcw2wbCLHpyWOVg78pIegeeVIem9U2yxu7GxlIfpqDPeOStdpVm1uSJ7KYS54pXmaeB1IGWVirqb+tKGA8BP8FqnLGeoO21QjA/gN9/3xNS94nlbEIe7tJGWcHzhIaIsl5l428T2RCArY29tC+aTZNcxUAOc8LtKgEDw5XOKtKLHOphd2DwCHuOXoKnlJTCqJ016YWreSJLU4Xi+o5yOZwm4+vtLU2/9dMrBYtB9ZaWmuLNh9RneUU6lQmSszgh41xZaddM32tDV95L6WnoiVLOdysp6O6TNA0TfN3up5hnqZbGze0KWD70O84juH2wDYck50YzHdMw7GsoGf6Hc9xgxWuYjKg1YlgR9u/7Eq1KrtzYrdN0zI6Zp8ZTtc+MU6sftfwHMu2LNdmbd+kjaU/sEtcNYnf1eSV5XJZDet6ia2WYbPyf3lcCSrLa6Uw7vJ6pfxTG7xeYAXoZ79tOND1jRPfcgzX7zOvA/1+v2fTGsyHqbpdK4Rb1U5kTMzXSt6xQ2y7LlnmExWl/2QBsHblbKsux5ZpcTMrLjPZdiLbl36qR0o6EzmmtX2w9yFmmZolgv+lU+iRjvFAiKRmNNLpUAl2QL+51SIWtziLBo1AytphfrGZcAsY9CJRZM3MFYpSj2NaFcmbHD9ScL407e2lOU2Ey30f4h+/LvXWrQAcQKDtkOBlgqs827wCJkAMMzWjgy+3uLUjULMEo30KGhvDTxtVDXMHiPvy+jMTIR1QnRhK4ddobG5PVcVqskn5W9g+ff/fp5v8MgEP33EJ8Ngz92ODSD7F20e8uyUsJuNru9MlqeD3TAG5g3lzVUSGxeqx6oH/DJiP0YnnAnGQaDTFniwH0rU6ehkyhX0zGV6e5Qld5ijtptXE3S6zKGKYtteG2noZP12PLn8mXBJGVJKExM14qLSZ1dtviR1TxO6AuFl4t7qvVglhZCqSLM0bRI+nXH9I7vXd2Ep7DOohEXfN2p7pnwXxj/iPWF/wo8qYJCnEhkwy4QFJRYJ7I78i47KAgpekSVoeRW+IaxAW+/oDVnfisRhbzyDJYr+8XQ2SMEwesLEWkCaSq0RwkAPEYZAvMpfXKn4aa3UtLZxkuMy7g9i//alsSaZczTI3P/F7joSfB/nrhiWUOcEEwnicP4ooyLRVPA4Ek0pknspEYSCui9q3ps1nWBYInb++x7RSxD7bHsAlJe2LrZlBGOnLACV3Qq7QtZQAaGGVbxV/2GnPPjPeQBgRLUjj9yENkzmG115LSCaR7i5zQcSgQDb/wDSFrxfk++AaxD33qn1vAbOZiGlLExlJYMiCrEFD7kEsddovE2DKvBkQW+epPD+jrEGr9fDw0GT6q5ZWsMrW+dnr8cX12LCbZnOmolDnyTSRKmJxRTA+iCHDMCSbT2LWss3jqhj+m97+FMVJwTfVSkO8QFgU3nssCuEXul4Ib3FMkQo/PD66TMIHES4W+Of8ehnLo88lc8PKXfGTrqp/HlSL6g7mqxdH9yzMQJfgxnPUfc+Dnz2glu+NXgjt+x707AD39eWYnv1eZweM5fugF2I5+vuZHVhrXvb8eNQHvoU5DPbync4LcR/wymXXWuevaF66SQ97kLJDf/XlywrELf4iOKLQrX+j7I8xZeWMQ8+DtAp9a6xZGxh+HeNxBdtq9O90o1/8B6WXn+J5RfZmy55DwH/RX7Usj4/5GLFYLOnzT09yFCaW1Oil28Vi8X/RFXO0 +api: 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 sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -284,71 +284,23 @@ Fetches all disbursements the organization has created. This endpoint supports p > -
    - - - - country - - object - - -
    - - - - - - - - - -
    -
    + +
    + diff --git a/platforms/stellar-disbursement-platform/api-reference/list-all-receivers.api.mdx b/platforms/stellar-disbursement-platform/api-reference/list-all-receivers.api.mdx index 6e9b4f88d..58a8c0abc 100644 --- a/platforms/stellar-disbursement-platform/api-reference/list-all-receivers.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/list-all-receivers.api.mdx @@ -5,7 +5,7 @@ description: "Returns all receivers matching the request criteria. This endpoint sidebar_label: "List All Receivers" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -618,11 +618,11 @@ Returns all receivers matching the request criteria. This endpoint supports pagi diff --git a/platforms/stellar-disbursement-platform/api-reference/registration.tag.mdx b/platforms/stellar-disbursement-platform/api-reference/registration.tag.mdx index a571a68d3..65139164b 100644 --- a/platforms/stellar-disbursement-platform/api-reference/registration.tag.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/registration.tag.mdx @@ -7,7 +7,7 @@ custom_edit_url: null -The registration endpoints guide the process for a receiver to verify their identity and link their wallet address to an SDP. The registration process only needs to happen once per receiver to link their wallet. Only SDP-compatible wallet providers can facilitate the registration process. These endpoints must be supported and hit by the wallet providers after the receiver gets the initial SMS invite. After the wallet address is successfully linked, the payment automatically begins. +The registration endpoints guide the process for a receiver to verify their identity and link their wallet address to an SDP. The registration process only needs to happen once per receiver to link their wallet. Only SDP-compatible wallet providers can facilitate the registration process. These endpoints must be supported and hit by the wallet providers after the receiver gets the initial invite. After the wallet address is successfully linked, the payment automatically begins. There are two parts to the registration flow. First, the wallet must authenticate and initiate a registration flow using the Anchor Platform Endpoints defined below. Note that these endpoints are hosted on a different host than the Stellar Disursement Platform. diff --git a/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement.api.mdx b/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement.api.mdx index 579f000e2..491d3f9b0 100644 --- a/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/retrieve-a-disbursement.api.mdx @@ -5,7 +5,7 @@ description: "Fetches information on a specific disbursement by `id `." sidebar_label: "Retrieve a Disbursement" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -150,71 +150,23 @@ Fetches information on a specific disbursement by `id `. > -
    - - - - country - - object - - -
    - - - - - - - - - -
    -
    + +
    + diff --git a/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver.api.mdx b/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver.api.mdx index 176f29ae4..945001471 100644 --- a/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/retrieve-a-receiver.api.mdx @@ -5,7 +5,7 @@ description: "Fetches detailed information on a specific receiver by `id `, inc sidebar_label: "Retrieve a Receiver" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -484,11 +484,11 @@ Fetches detailed information on a specific receiver by `id `, including all ass diff --git a/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode.api.mdx b/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode.api.mdx index ed1f2aa5d..574cb8764 100644 --- a/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/send-one-time-passcode.api.mdx @@ -1,11 +1,11 @@ --- id: send-one-time-passcode title: "Send One-Time Passcode" -description: "This endpoint generates a 6-digit OTP and sends it via SMS to the phone number provided in the request body (after checking that the phone number matches a receiver phone number in the SDP). A valid SEP-24 token should be included in the Authorization header of the request." +description: "This endpoint generates a 6-digit OTP and sends it to the user contact (email or phone number SMS) provided in the request body, as long as it matches the receiver contact info stored in the SDP. A valid SEP-24 token should be included in this request's Authorization header." sidebar_label: "Send One-Time Passcode" hide_title: true hide_table_of_contents: true -api: eJztWN9v2zYQ/lcOfGkLSHYadAWmt7TN0G5rY9Qu9pAGBSWdJdYUyZInO57h/304So7lOEvaDgX6ML/Elo4f7xfv+5iNIFkFkV2K91ipQF6SskZcJaLEUHjl4s9MzGoVAE3prDIEFRr0kjCAhOdpqSpFcDGbgDQlBDRlAEWwVBKmb6dAFqhGcLU1CKZtcvTgvF2qEktQJr70+KXFQJDbcg2P5ZzQQ1FjsVCmAqolHUM0koo6euCxQLVk1OH7Hnn6avJkBGewlFqVMD2fpKfPgOwCDYTatrqEHEGZQrcDd85aqq1Xf8dkQI2yRA92PnR1JBJhHXb5elOKTEzRlBcGZ6rBiQyhsCWKRDjpZYOEnpO8EUY2KDJxsIFIhOIcd/uI26k/8HluPcgD7x7/Zn0jKYNHL1B69LCJlttHT0Qi2FnlsRQZ+RYTEWitef+gGqfZPbx2mh3N5lIHNihqbKTINoLWLlqSV6YS2+1Vh4aBXthyzRaHbl7kn7EgKKwhqQzXbVgOkQh+g4Z4pXROqyL6P/4cePlmsPPe6UsRMT7dYHgspKOilp9ikNynvZ82bs8J91wWUhgY62D9UVS3Uz0ZNhBZWNWqqGPVubtXSmvulsBRbI+deRB+dlNCjy/PJrOXr/u+7Npgy5/bNYsPgrMmdAGdnpzckfvZJHoFoS0KDGHear3+3pQ3GIKs8OHc7gzvaJZEkKLYaW87o/d9DKKL8dldUbyQJbzvWuxbfL/fSfTefkXlXyFJpQPI3LbdsOkWbvmIkJfhwZ1iXHgt48HabyzemG70KONaEkO4uUJdfppbK7L9d1ABbqqR9M9z6W9scunBIJaBGzRHkAaUIazQdw0Us/v0OLsfzG5uROAfm96vT5sIJKkd2vWHdZvc12D/kux3luAgzL0Xu32enTwdIN9e8SOBY2lOfz0uzZnp5osM3SnuGbNSSzTQBvSR4gzpdWTYWgbziACvHTcJrJFGcGH4ZeTN3XNFBxNrhxrxZCWVGf1MbRDp8i6AsjuZdzdBn9XrlJdXaNKeolIWEmlPtvy9qxiaoKzpmHiBa5HduzIRS6nbGwRmwAaptkz2zsYh5STVIhPjldQaKfUDDTW25EQiAvrljvxbr0UmIlDAovWK1lNOcJeBjr5ZGQxilU79geujcfX7XzMuZHmjB9BQX7sEgqoMlrBSVPN0OJ+e/vIcnFdLSQgLXHPdv0KHcGK5D97vWf98fzAOiXU/Vo9IcVBKZeY2xtZzw5RQa+nhlQp56wM23KYTLWlufQNnkzdcAvShi/l09HR0whltm0b6dRSlCPdjPGb5xyNVAlmrIW+Vppg06ytp+sDjKG3kAiFv9QKcXDNKfCqh8rZ1LP48Fsqp+MKy2qTB7gZpZf1idEz5P52LH81HE9U8b2nAOjRpsK0vkFV51HBRcKvQu2INkHU7+XsLLokTiV/wOYJCGp43c9uaMi6s+YfWdsWC0KOzQZH1CkPGfqRwGTq8cf83LQdJSl2fpDSXxQJNefW4JnIhG48rRXWbjwrbjL8J4UkGMfgbV9Y7xRqis71ZjEqZuZeBfFtQ6/sAuS70UE1H3xDZ3McJ/F9C20E8FNsKc9jZfnc0NeomLWrpKdzr8sBuTB5x3Ehlxv2De+N5KIzXqBuIQNH/Ep226+6e+NBZawPbLdocvUHCMPrIQ4/QN+FiPkW/VAXPpV1YvZsj66txNErtPA29WSK0KpAlbba/1jlZ1AincU51056xsvF4tVqNZHwb0fqlYfznm5fn76bn6enoZFRTo+PUZXJppBkA890SLgymfLuEwfXyYNps9nT+/4X9rgt7T6qE1zR2WirDrBTrtOmp/FLcQeV81SfHF6KaaT+7FJtNLgN+8Hq75cdfWmRCurxiyeCVzJneLq+2yY5L94LjZVehdMau7BXGkfjaJrsVZ0WBju61HSqTycV0JpJOsvAlLeoq4eWKyVmuWIDwfy6oE0Kb7tlGaGmqtlOuHSZ//gFrQmxG +api: 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 sidebar_class_name: "post api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -45,7 +45,7 @@ import TabItem from "@theme/TabItem"; -This endpoint generates a 6-digit OTP and sends it via SMS to the phone number provided in the request body (after checking that the phone number matches a receiver phone number in the SDP). A valid SEP-24 token should be included in the Authorization header of the request. +This endpoint generates a 6-digit OTP and sends it to the user contact (email or phone number SMS) provided in the request body, as long as it matches the receiver contact info stored in the SDP. A valid SEP-24 token should be included in this request's Authorization header. + + diff --git a/platforms/stellar-disbursement-platform/api-reference/update-a-receiver.api.mdx b/platforms/stellar-disbursement-platform/api-reference/update-receiver.api.mdx similarity index 87% rename from platforms/stellar-disbursement-platform/api-reference/update-a-receiver.api.mdx rename to platforms/stellar-disbursement-platform/api-reference/update-receiver.api.mdx index 2a9d38db5..3eecacdd3 100644 --- a/platforms/stellar-disbursement-platform/api-reference/update-a-receiver.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/update-receiver.api.mdx @@ -1,11 +1,11 @@ --- -id: update-a-receiver +id: update-receiver title: "Update a Receiver" description: "This endpoint allows an organization to add and update information on the receiver, including email address, external ID, date of birth, personal PIN, and national ID number. The response includes all information on the receiver." sidebar_label: "Update a Receiver" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "patch api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -156,6 +156,15 @@ This endpoint allows an organization to add and update information on the receiv schema={{"type":"string","description":"Email of the receiver"}} > +
    + @@ -1233,6 +1242,98 @@ This endpoint allows an organization to add and update information on the receiv language={"json"} > + + + + + + + +
    + + + Conflicting phone number or email + + +
    + + + + +
    + + + Schema + +
    + +
      + + + + + +
    +
    +
    + + + + + +
    diff --git a/platforms/stellar-disbursement-platform/api-reference/get-all-countries.api.mdx b/platforms/stellar-disbursement-platform/api-reference/update-wallet.api.mdx similarity index 54% rename from platforms/stellar-disbursement-platform/api-reference/get-all-countries.api.mdx rename to platforms/stellar-disbursement-platform/api-reference/update-wallet.api.mdx index 1018acd9b..b431e0d45 100644 --- a/platforms/stellar-disbursement-platform/api-reference/get-all-countries.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/update-wallet.api.mdx @@ -1,12 +1,12 @@ --- -id: get-all-countries -title: "Get All Countries" -description: "Fetches the list of available countries to populate the dropdown box in the New Disbursement flow. The default list reflects geographic coverage of SDP-compatible wallet providers." -sidebar_label: "Get All Countries" +id: update-wallet +title: "Update Wallet" +description: "This endpoint is used to enable or disable a wallet provider. Note: the organization should coordinate with the wallet provider before selecting a particular wallet provider for a disbursement." +sidebar_label: "Update Wallet" hide_title: true hide_table_of_contents: true -api: eJzVVt9v2zYQ/lcIPrWAbDlO2we9eW3aZR3aYE4xYGkwUNTZYk2R3PFk1zX0vw9HyYnzo03brcDmB0sijx/vu5O+jztJahllcSHf4lI580mR8U5eZrKCqNGE9FjIl0C6hiioBmFNJOEXQq2Vsaq0ILRvHaHheS+CD61VBCm2Qh8qv3Gi9B+FcWnsDWzECxPLFiM04EgsrN+MxTmHw0K1lvotEBYWNEWxBL9EFWqjhfZrQLUE3n/+4mykfRMUGU5io6wFEgH92lSAcSwz6QNgYnRayUK+AppZ+3yfrMwkQgzeRYiy2MnpZMKXm8RnV3T1wTrtHYEjDlchWKPTJvmHyGt2MuoaGsV3tA0gC6kQ1VZm0hA08WDclx9Ak8xkQE6VTJ+J9hUcREVC45bydk/OawQY6Vqh0gQoTudvxfHRs2ciLc8kfFRNsAzw7vVvssukU81XwPb12YoUfQNlhco4YCSNoAiqPxXdh7fw2PCMrBTBiMwtnOlkejyaTEeT4/OjSfHkafH06A8GbUP1b4N2mSRDKWCgJTv+ZfLJ5Ohus9851VLt0XyC6ju6/JluAqLHu5Q6Tp9QfcX7EElRexjn2qYEZIgGYlTLe9ra07wq0FUa8o0ncYPmdRb7fZ5Mjg6Qb6/4kcB9a47vtualx9JUFbgf35f72V0n8BUBiUcE3aKhrSwudvInUAg4a6mWxcVld8lloNqzLC0h5aZ4SuaHMhMB14AxAbRoZSElr9wDz5loz+UQ/lp1gnkN2zsf+C+/n4s2QiUWHlP5wdFQw0xEs3RQiY2hWignTubTp89EQLNmRV/BllW11xE5GzrXW0YmDYPXoCp+Mzt+XviUzfAFzgmsVXhT+8+sIv60xezsVGaS6fZZTsdH4wnXoG0ahdukdyC+jPFo/uLssTBRKEHeW1G2xlKi6Q/cLblUo1YgytauRFBbRkmjSizRt4HlHkGbYNIEe05yrv3uDmjjcTW+R5L/aym+d+/deW1i2tIJH8CNom9RAzslfxeCakU83afinSCf4O+By4RyVZpgjxFaOVGCWPjWVWlhzQ/W+o1xS4EQfDTk+WUuOI+RuIg9Xj5cR9VBkUZhKNKoVHoFrrp8VBOFWOT50lDdlmPtm/ybEB4XIpG/SmUrWDyUcf1RZghLrIxboIqEraYWB4LcF3qop+NvYLbApF3/hNoe4iFuGyjFPva72dRgm3TEoPjFlA/ickKAvFHG5cPAF/k8RONnsI1IQCn/CoL1W369HmQi2shxq7YEdEAQx+9ZpgiwiW8Xc8C10axLe1pDmmOPyzwFjfxiFIewTFqjwcUk+XsBDErXIKZJp3p9ZqwizzebzVil2YQ2LI35r6fPT97MT0bT8WRcU2OTTgYfqVHuAPgVkJhZKw6PqjeEZnftgf/Xo/ngUQQfKQ9WGZeOgFzE3eCFF/LaCy8zWftIPLjblSrCO7Rdx8N/tcDucHGZybVCw6STw2Z7K2LzXAEbyExrCOy1a2Xb3iBvnR5u+PKrk3OZSXXHU1fJU4cbRt9Pue0B9m137FPg/y77zJLdrnfsrruK76c+u2KguI/mIl52Xfc3WLjfug== -sidebar_class_name: "get api-method" +api: eJzdV0tvGzcQ/isET0mw0rqG28PenNhA3Edi2A5ycIxmdjmrZcwlGXIoRRX03wtyuZL8VNOiQFFdJJHDmfm+4Ty44gQzz6tr/t7NQMs/gKTRvOAfQSkkz28KLtA3Ttq0UfGrTnqGWlgjNTHpWfAoGBmGGmqFzDgmpE8/gS2SFmadmUuBbsreGcKKURfltvaY70xQgjXGOCE1ELKFpC7J3VPBamyNQ+ZRYUNSzxgwC45kExS4B9KtcQyiQ3VwHnvUNOUFNxZdMnwmeMU/WAGEA2BecAsOeiR0kZYV19Ajr7gUvOAyEmCBOn6flbMTZtpdf8mwkPTygjv8GqRDwStyAQvuaamiTi97q6IAfrPKCORVC8pHgabDHni14rS0SZKc1DO+Xt8M2tDTayOWUeKuHx831mvMDkTHG6MJNUV5sFbJJqEvv/h4aLVjb+vqNR8CKuIVyG6Y+gs2iSMXKSSJPh4aBbf+1sYoBP2ApqsO8z0RzBNQ8HdpS1xAYiVxtY6f+wSmBW+N9oP5w4ODJ4nIFDAfmga9b4NSy7t8vCpfPU1Bj97DDPdTMAo+ErKCk6QU798GoYvsPB/AHT3m/msQLAe6YMEHUGrJGki5Vi8TY58zkZ9ZK1EJ1kvvYz60zvRJIJ9ntRHL6R7QewLsnHEPsd2P7gkSSOUZ1CZQcmE4uI5RJQd+r6VEyOYGbAzzMz0HJQWT2obhkozqEvbfW2N4tf0dy9ImjEVer8FtZGpwTCMKnzMFNJOacIYuBWUIy9GTt0obYq0JWvwbrP51tviQQjtyOvQ1JsKfuZADvsfqwCPMv9uBunVrNHx0cLRjil+gN8E1uEPQaK5H6owYymfTpTJLHa94OSS+L1dSrHnBPbr5WHqDU7ziPBY9j01wkpaXkdsB/GsEh+44RDUbkGDlL7h8cDN//ng19KnUDwJ1qCmDL5iXM41i6Dig2enl4Y8/MevkPPahW0y5k7tAtGbctkumhtAhiHRxCh6JvNjW59MdPscamSuY1K1JfufacEmoYgM72WlV7FwBtcb17Pj8jBc8EjPgOZz+MD2IbIW+B7fMlfV5HS8uT85fxswARsYoVgepKBGy24pTRvRwi6wO6pZZWEYtaRXYzJlgY8V22Egr04aZo0u5PlrXSAvjbqePFv//louf9Ced5ploUjNjUU/yDbbOxJRj1EGacgZXjGZk7Niz7qkrGGiRNhojkDWgY2lJaZAOdvGPUmYRq7RDa7wk4yT6KvoxYdd+0Ffm78nu2DKxmaRJDc0tanHzoiOyvirLmaQu1NPG9OV3aXhZsQR+48qSxWIGMjLcIctiCZXUrQNPLjQUXAYY40L7Yjr9DmStS7X0n0AbVezDtsCajbJ/G02Hqp80HTjyz7q8I1eSQyx7kLrMC8/i2QfjLaqeJUXJf4FWmWW8XnuRsJCGhdtQo9NI6KefYkEjdL1/316im8sm1qURVnZzatysTEIT0058Fiu4kg3GkabaDMzHFpoO2WGqU0Mlj7qqslwsFlNIu0lbPurLX8/enL67PJ0cTg+mHfUqVVRrPPWgdxQP4zrbzOt3isxq24//Fy+V3NYIv1FpFUgde3tic5U76DXPHZQXvJJpWu+Mp7ixWtXg8YNT63Vc/howtorrm4LPwckIPLXZTILYPD+eZPTFRR6qXrJnHzyPej12aB3b8xxUiP94wW9xObyv1jfrYmym0a9h481gfXIVj28PPhhf1sV44rhp0NKObJzL4hCxmUHOj6/evOUFr/Mbqk+PL+5gEV9rsBgcM4mBNGuktRVXoGdhGHUGm/HzJ4guaH0= +sidebar_class_name: "patch api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null --- @@ -32,22 +32,108 @@ import TabItem from "@theme/TabItem"; -Fetches the list of available countries to populate the dropdown box in the New Disbursement flow. The default list reflects geographic coverage of SDP-compatible wallet providers. +This endpoint is used to enable or disable a wallet provider. Note: the organization should coordinate with the wallet provider before selecting a particular wallet provider for a disbursement. -
    + + + +
    + +

    + Path Parameters +

    +
    +
      + + + +
    +
    +
    + +
    + +

    + Body +

    + required + +
    +
    + + + Wallet to be updated + + +
    +
      + + + +
    +
    +
    +
    - A list of countries + Wallet updated successfully
    @@ -69,8 +155,8 @@ Fetches the list of available countries to populate the dropdown box in the New schemaType={"response"} >
      -
    • -
      - Array [ -
      -
    • - - - - - - -
    • -
      - ] -
      -
    • +
    @@ -166,13 +213,13 @@ Fetches the list of available countries to populate the dropdown box in the New
    - Unauthorized + Bad request, usually caused by the `enabled` field missing from the request body.
    @@ -181,8 +228,8 @@ Fetches the list of available countries to populate the dropdown box in the New schemaType={"response"} > - - @@ -276,17 +314,7 @@ Fetches the list of available countries to populate the dropdown box in the New value={"Example (from schema)"} > - - - - @@ -297,13 +325,13 @@ Fetches the list of available countries to populate the dropdown box in the New
    - Forbidden + Wallet not found
    @@ -312,8 +340,8 @@ Fetches the list of available countries to populate the dropdown box in the New schemaType={"response"} > + +
    + + + + extras + + object + + +
    + + + + + +
    +
    @@ -359,7 +435,53 @@ Fetches the list of available countries to populate the dropdown box in the New value={"Example (from schema)"} > + + +
    + + + + +
    + + + Schema + +
    + +
      + any +
    +
    +
    + @@ -369,7 +491,7 @@ Fetches the list of available countries to populate the dropdown box in the New value={"Example"} > diff --git a/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions.api.mdx b/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions.api.mdx index 7b657caec..8c2929d4b 100644 --- a/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/upload-disbursement-instructions.api.mdx @@ -1,11 +1,11 @@ --- id: upload-disbursement-instructions title: "Upload Disbursement Instructions" -description: "Adds a file containing a list of receivers to a `draft ` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a standard format that can be found at `dev/sample/sample-disbursement.csv `. The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called." +description: "Adds a file containing a list of receivers to a `DRAFT` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a different possible formats according with the disbursement configuration, and they can be found at [public/resources/disbursementTemplates](https://github.com/stellar/stellar-disbursement-platform-frontend/tree/58873bbf36cff4614e603daf449079b1d9fad24a/public/resources/disbursementTemplates). The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called." sidebar_label: "Upload Disbursement Instructions" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -45,7 +45,7 @@ import TabItem from "@theme/TabItem"; -Adds a file containing a list of receivers to a `draft ` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a standard format that can be found at `dev/sample/sample-disbursement.csv `. The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called. +Adds a file containing a list of receivers to a `DRAFT` disbursement. This step is required before a disbursement can begin. The file must be a CSV and has a different possible formats according with the disbursement configuration, and they can be found at [public/resources/disbursementTemplates](https://github.com/stellar/stellar-disbursement-platform-frontend/tree/58873bbf36cff4614e603daf449079b1d9fad24a/public/resources/disbursementTemplates). The operation is idempotent, guaranteed by deleting and recreating the disbursement attributes when this endpoint is called. diff --git a/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration.api.mdx b/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration.api.mdx index 90710c916..6fc25443f 100644 --- a/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration.api.mdx +++ b/platforms/stellar-disbursement-platform/api-reference/verify-receiver-registration.api.mdx @@ -5,7 +5,7 @@ description: "This endpoint verifies the receiver's registration by validating t sidebar_label: "Verify Receiver Registration" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: platforms/stellar-disbursement-platform/api-reference/stellar-disbursement-platform-api custom_edit_url: null @@ -113,7 +113,7 @@ This endpoint verifies the receiver's registration by validating the OTP and oth > - Verification data including phone number, OTP, verification value, and reCAPTCHA token + Verification data including phone_number/email, OTP, verification value, and reCAPTCHA token
    @@ -121,12 +121,21 @@ This endpoint verifies the receiver's registration by validating the OTP and oth style={{"marginLeft":"1rem"}} > + + {command}; +} diff --git a/src/components/StellarCliWingetVersion.tsx b/src/components/StellarCliWingetVersion.tsx new file mode 100644 index 000000000..b634f1ffd --- /dev/null +++ b/src/components/StellarCliWingetVersion.tsx @@ -0,0 +1,9 @@ +import React from "react"; +import CodeBlock from "@theme/CodeBlock"; +import { latestVersion } from "@site/src/helpers/stellarCli"; + +export function StellarCliWingetVersion() { + const command = `winget install --id Stellar.StellarCLI --version ${latestVersion}`; + + return {command}; +} diff --git a/src/css/custom.scss b/src/css/custom.scss index 54624bcf4..0825bf70e 100644 --- a/src/css/custom.scss +++ b/src/css/custom.scss @@ -200,3 +200,22 @@ select[data-testid="example-pairing-select"] { font-family: "Font Awesome 6 Brands"; font-size: x-large; } + +/* Hubble data dictionary formatting */ +.scoped-data-dictionary-table table { + display: table; + width: max-content; + max-width: 135%; + + thead { + color: var(--ifm-color-primary-darker); + background-color: var(--ifm-color-gray-300); + font-size: large; + text-align: left; + text-wrap: nowrap; + } + + td { + font-size: small; + } +} \ No newline at end of file diff --git a/src/helpers/getPlatform.tsx b/src/helpers/getPlatform.ts similarity index 100% rename from src/helpers/getPlatform.tsx rename to src/helpers/getPlatform.ts diff --git a/src/helpers/getShell.ts b/src/helpers/getShell.ts new file mode 100644 index 000000000..f89e59b7f --- /dev/null +++ b/src/helpers/getShell.ts @@ -0,0 +1,7 @@ +export function getShell() { + if (!globalThis.navigator) { + return "bash"; + } + + return navigator.userAgent.match(/Windows/) ? "powershell" : "bash"; +} diff --git a/src/helpers/getStellarCliLatestReleaseUrl.ts b/src/helpers/getStellarCliLatestReleaseUrl.ts new file mode 100644 index 000000000..7537fedce --- /dev/null +++ b/src/helpers/getStellarCliLatestReleaseUrl.ts @@ -0,0 +1,5 @@ +import { latestVersion } from "@site/src/helpers/stellarCli"; + +export function getStellarCliLatestReleaseUrl() { + return `https://github.com/stellar/stellar-cli/releases/download/v${latestVersion}/stellar-cli-installer-${latestVersion}-x86_64-pc-windows-msvc.exe`; +} diff --git a/src/helpers/stellarCli.ts b/src/helpers/stellarCli.ts new file mode 100644 index 000000000..7e43b7546 --- /dev/null +++ b/src/helpers/stellarCli.ts @@ -0,0 +1,2 @@ +// Stub file: the real file is generated in build time by `yarn stellar-cli:build`. +export const latestVersion = "0.0.0"; diff --git a/static/assets/SDP/SDP14.1.png b/static/assets/SDP/SDP14.1.png new file mode 100644 index 000000000..8272aa362 Binary files /dev/null and b/static/assets/SDP/SDP14.1.png differ diff --git a/static/assets/SDP/SDP14.png b/static/assets/SDP/SDP14.2.png similarity index 100% rename from static/assets/SDP/SDP14.png rename to static/assets/SDP/SDP14.2.png diff --git a/static/assets/galexie-architecture.png b/static/assets/galexie-architecture.png new file mode 100644 index 000000000..00873711c Binary files /dev/null and b/static/assets/galexie-architecture.png differ diff --git a/static/assets/lab/horizon-assets-usdc-response.png b/static/assets/lab/horizon-assets-usdc-response.png new file mode 100644 index 000000000..aff4f9648 Binary files /dev/null and b/static/assets/lab/horizon-assets-usdc-response.png differ diff --git a/static/assets/lab/horizon-assets-usdc.png b/static/assets/lab/horizon-assets-usdc.png new file mode 100644 index 000000000..3ee8053e2 Binary files /dev/null and b/static/assets/lab/horizon-assets-usdc.png differ diff --git a/static/assets/lab/horizon-assets.png b/static/assets/lab/horizon-assets.png new file mode 100644 index 000000000..babf87e1b Binary files /dev/null and b/static/assets/lab/horizon-assets.png differ diff --git a/static/assets/lab/horizon-endpoints.png b/static/assets/lab/horizon-endpoints.png new file mode 100644 index 000000000..bee7c58c5 Binary files /dev/null and b/static/assets/lab/horizon-endpoints.png differ diff --git a/static/assets/lab/horizon-payments-response.png b/static/assets/lab/horizon-payments-response.png new file mode 100644 index 000000000..6bd380aa3 Binary files /dev/null and b/static/assets/lab/horizon-payments-response.png differ diff --git a/static/assets/lab/horizon-payments.png b/static/assets/lab/horizon-payments.png new file mode 100644 index 000000000..afacba511 Binary files /dev/null and b/static/assets/lab/horizon-payments.png differ diff --git a/static/assets/lab/horizon-save-modal.png b/static/assets/lab/horizon-save-modal.png new file mode 100644 index 000000000..8642fe955 Binary files /dev/null and b/static/assets/lab/horizon-save-modal.png differ diff --git a/static/assets/lab/horizon-save.png b/static/assets/lab/horizon-save.png new file mode 100644 index 000000000..aadbd5631 Binary files /dev/null and b/static/assets/lab/horizon-save.png differ diff --git a/static/assets/lab/horizon-saved-requests.png b/static/assets/lab/horizon-saved-requests.png new file mode 100644 index 000000000..8d0b7fb3e Binary files /dev/null and b/static/assets/lab/horizon-saved-requests.png differ diff --git a/static/assets/lab/horizon-share.png b/static/assets/lab/horizon-share.png new file mode 100644 index 000000000..6737c9ec5 Binary files /dev/null and b/static/assets/lab/horizon-share.png differ diff --git a/static/assets/lab/lab-account-create.png b/static/assets/lab/lab-account-create.png index 661526802..af238da5b 100644 Binary files a/static/assets/lab/lab-account-create.png and b/static/assets/lab/lab-account-create.png differ diff --git a/static/assets/lab/lab-account-fund.png b/static/assets/lab/lab-account-fund.png index 180cb19bb..3bb099cd0 100644 Binary files a/static/assets/lab/lab-account-fund.png and b/static/assets/lab/lab-account-fund.png differ diff --git a/static/assets/lab/lab-account-saved.png b/static/assets/lab/lab-account-saved.png new file mode 100644 index 000000000..015360922 Binary files /dev/null and b/static/assets/lab/lab-account-saved.png differ diff --git a/static/assets/lab/lab-custom-network.png b/static/assets/lab/lab-custom-network.png new file mode 100644 index 000000000..d8ef0f022 Binary files /dev/null and b/static/assets/lab/lab-custom-network.png differ diff --git a/static/assets/lab/lab-horizon-view-docs.png b/static/assets/lab/lab-horizon-view-docs.png new file mode 100644 index 000000000..5924fed40 Binary files /dev/null and b/static/assets/lab/lab-horizon-view-docs.png differ diff --git a/static/assets/lab/lab-single-account-response.png b/static/assets/lab/lab-single-account-response.png new file mode 100644 index 000000000..df2c8b782 Binary files /dev/null and b/static/assets/lab/lab-single-account-response.png differ diff --git a/static/assets/lab/lab-single-account.png b/static/assets/lab/lab-single-account.png new file mode 100644 index 000000000..4ff1d190f Binary files /dev/null and b/static/assets/lab/lab-single-account.png differ diff --git a/static/assets/lab/lab-transactions-build.png b/static/assets/lab/lab-transactions-build.png new file mode 100644 index 000000000..6eb547404 Binary files /dev/null and b/static/assets/lab/lab-transactions-build.png differ diff --git a/static/assets/lab/lab-transactions-ops.png b/static/assets/lab/lab-transactions-ops.png new file mode 100644 index 000000000..6ad3e1f46 Binary files /dev/null and b/static/assets/lab/lab-transactions-ops.png differ diff --git a/static/assets/lab/lab-transactions-response-error.png b/static/assets/lab/lab-transactions-response-error.png new file mode 100644 index 000000000..caf58fde1 Binary files /dev/null and b/static/assets/lab/lab-transactions-response-error.png differ diff --git a/static/assets/lab/lab-transactions-response-success.png b/static/assets/lab/lab-transactions-response-success.png new file mode 100644 index 000000000..e72f8680b Binary files /dev/null and b/static/assets/lab/lab-transactions-response-success.png differ diff --git a/static/assets/lab/lab-transactions-saved.png b/static/assets/lab/lab-transactions-saved.png new file mode 100644 index 000000000..28a9ec5af Binary files /dev/null and b/static/assets/lab/lab-transactions-saved.png differ diff --git a/static/assets/lab/lab.png b/static/assets/lab/lab.png index 72c509e8f..872068ede 100644 Binary files a/static/assets/lab/lab.png and b/static/assets/lab/lab.png differ diff --git a/static/stellar-rpc.openrpc.json b/static/stellar-rpc.openrpc.json index 3998c52b8..2040e93ee 100644 --- a/static/stellar-rpc.openrpc.json +++ b/static/stellar-rpc.openrpc.json @@ -1,8 +1,8 @@ { "openrpc": "1.2.6", "info": { - "title": "Soroban RPC", - "description": "Soroban-RPC allows you to communicate directly with Soroban via a JSON RPC interface.", + "title": "Stellar RPC", + "description": "Stellar-RPC allows you to communicate directly with Soroban via a JSON RPC interface.", "termsOfService": "https://stellar.org/terms-of-service", "contact": { "name": "Stellar Development Foundation", @@ -33,7 +33,7 @@ { "name": "getEvents", "summary": "returns contract events", - "description": "Clients can request a filtered list of events emitted by a given ledger range.\n\nSoroban-RPC will support querying within a maximum 24 hours of recent ledgers.\n\nNote, this could be used by the client to only prompt a refresh when there is a new ledger with relevant events. It should also be used by backend Dapp components to \"ingest\" events into their own database for querying and serving.\n\nIf making multiple requests, clients should deduplicate any events received, based on the event's unique id field. This prevents double-processing in the case of duplicate events being received.\n\nBy default soroban-rpc retains the most recent 24 hours of events.", + "description": "Clients can request a filtered list of events emitted by a given ledger range.\n\nStellar-RPC will support querying within a maximum 7 days of recent ledgers.\n\nNote, this could be used by the client to only prompt a refresh when there is a new ledger with relevant events. It should also be used by backend Dapp components to \"ingest\" events into their own database for querying and serving.\n\nIf making multiple requests, clients should deduplicate any events received, based on the event's unique id field. This prevents double-processing in the case of duplicate events being received.\n\nBy default stellar-rpc retains the most recent 24 hours of events.", "externalDocs": { "url": "https://developers.stellar.org/docs/data/rpc/api-reference/methods/getEvents" }, @@ -50,6 +50,17 @@ "type": "number" } }, + { + "name": "endLedger", + "summary": "ledger represents the end of search window", + "description": "Ledger sequence number represents the end of search window (exclusive). If a cursor is included in the request, `endLedger` must be omitted.", + "required": false, + "schema": { + "title": "ledgerSequence", + "description": "Sequence number of the ledger.", + "type": "number" + } + }, { "name": "filters", "summary": "filters to narrow events search", @@ -101,7 +112,7 @@ { "name": "pagination", "summary": "pagination options", - "description": "Pagination in soroban-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/pagination).", + "description": "Pagination in stellar-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/pagination).", "required": false, "schema": { "type": "object", @@ -114,7 +125,7 @@ }, "limit": { "type": "number", - "description": "The maximum number of records returned. The limit for getEvents can range from 1 to 10000 - an upper limit that is hardcoded in Soroban-RPC for performance reasons. If this argument isn't designated, it defaults to 100." + "description": "The maximum number of records returned. The limit for getEvents can range from 1 to 10000 - an upper limit that is hardcoded in Stellar-RPC for performance reasons. If this argument isn't designated, it defaults to 100." } } } @@ -127,7 +138,7 @@ "properties": { "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" }, "events": { @@ -491,7 +502,7 @@ }, "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" } } @@ -617,7 +628,7 @@ "minLength": 64, "maxLength": 64, "pattern": "^[a-f\\d]{64}$", - "description": "Hash identifier of the latest ledger (as a hex-encoded string) known to Soroban RPC at the time it handled the request." + "description": "Hash identifier of the latest ledger (as a hex-encoded string) known to Stellar RPC at the time it handled the request." }, "protocolVersion": { "title": "protocolVersion", @@ -626,7 +637,7 @@ }, "sequence": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" } } @@ -663,7 +674,7 @@ "description": "Array containing the keys of the ledger entries you wish to retrieve. (an array of serialized base64 strings)", "required": true, "schema": { - "description": "Array containing ledger keys.", + "description": "Array containing ledger keys. The maximum number of ledger keys accepted is 200.", "type": "array", "items": { "type": "string", @@ -682,7 +693,7 @@ "properties": { "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" }, "entries": { @@ -826,7 +837,7 @@ "properties": { "passphrase": { "title": "networkPassphrase", - "description": "Network passphrase configured for this Soroban RPC node.", + "description": "Network passphrase configured for this Stellar RPC node.", "type": "string" }, "protocolVersion": { @@ -873,7 +884,7 @@ { "name": "getTransaction", "summary": "returns transaction details", - "description": "The getTransaction method provides details about the specified transaction. Clients are expected to periodically query this method to ascertain when a transaction has been successfully recorded on the blockchain. The soroban-rpc system maintains a restricted history of recently processed transactions, with the default retention window set at 1440 ledgers, approximately equivalent to a 2-hour timeframe. For private soroban-rpc instances, it is possible to modify the retention window value by adjusting the transaction-retention-window configuration setting. For comprehensive debugging needs that extend beyond the 2-hour timeframe, it is advisable to retrieve transaction information from Horizon, as it provides a lasting and persistent record.", + "description": "The getTransaction method provides details about the specified transaction. Clients are expected to periodically query this method to ascertain when a transaction has been successfully recorded on the blockchain. The stellar-rpc system maintains a restricted history of recently processed transactions, with the default retention window set at 24 hours. For private soroban-rpc instances, it is possible to modify the retention window value by adjusting the transaction-retention-window configuration setting, but we do not recommend values longer than 7 days. For debugging needs that extend beyond this timeframe, it is advisable to index this data yourself, employ a third-party [indexer](https://developers.stellar.org/docs/tools/developer-tools/data-indexers), or query [Hubble](https://developers.stellar.org/docs/data/hubble) (our public BigQuery data set).", "externalDocs": { "url": "https://developers.stellar.org/docs/data/rpc/api-reference/methods/getTransaction" }, @@ -917,22 +928,22 @@ }, "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" }, "latestLedgerCloseTime": { "title": "latestLedgerCloseTime", - "description": "The unix timestamp of the close time of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "string" }, "oldestLedger": { "title": "oldestLedger", - "description": "The sequence number of the oldest ledger ingested by Soroban RPC at the time it handled the request.", + "description": "The sequence number of the oldest ledger ingested by Stellar RPC at the time it handled the request.", "type": "number" }, "oldestLedgerCloseTime": { "title": "oldestLedgerCloseTime", - "description": "The unix timestamp of the close time of the oldest ledger ingested by Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the oldest ledger ingested by Stellar RPC at the time it handled the request.", "type": "string" }, "ledger": { @@ -1147,22 +1158,22 @@ }, "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" }, "latestLedgerCloseTimestamp": { "title": "latestLedgerCloseTime", - "description": "The unix timestamp of the close time of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "string" }, "oldestLedger": { "title": "oldestLedger", - "description": "The sequence number of the oldest ledger ingested by Soroban RPC at the time it handled the request.", + "description": "The sequence number of the oldest ledger ingested by Stellar RPC at the time it handled the request.", "type": "number" }, "oldestLedgerCloseTimestamp": { "title": "oldestLedgerCloseTime", - "description": "The unix timestamp of the close time of the oldest ledger ingested by Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the oldest ledger ingested by Stellar RPC at the time it handled the request.", "type": "string" } } @@ -1466,12 +1477,12 @@ }, "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" }, "latestLedgerCloseTime": { "title": "latestLedgerCloseTime", - "description": "The unix timestamp of the close time of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The unix timestamp of the close time of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "string" }, "errorResultXdr": { @@ -1629,7 +1640,7 @@ "properties": { "latestLedger": { "title": "latestLedger", - "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", + "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.", "type": "number" }, "minResourceFee": {