diff --git a/docs/learn/fundamentals/transactions/list-of-operations.mdx b/docs/learn/fundamentals/transactions/list-of-operations.mdx index d5dab533f..49f1c3fd1 100644 --- a/docs/learn/fundamentals/transactions/list-of-operations.mdx +++ b/docs/learn/fundamentals/transactions/list-of-operations.mdx @@ -19,9 +19,9 @@ All these operations have an optional source account parameter. If the source ac ::: -## Create account +## Create Account -Creates and funds a new account with the specified starting balance +Creates and funds a new account with a specified starting balance. **SDKs**: [JavaScript](http://stellar.github.io/js-stellar-sdk/Operation.html#.createAccount) | [Java](https://github.com/lightsail-network/java-stellar-sdk/blob/master/src/main/java/org/stellar/sdk/operations/CreateAccountOperation.java) | [Go](https://godoc.org/github.com/stellar/go-stellar-sdk/txnbuild#CreateAccount) **Threshold**: Medium @@ -30,7 +30,7 @@ Creates and funds a new account with the specified starting balance | Parameter | Type | Description | | --- | --- | --- | -| Destination | account ID | The account address to be created and funded by this operation. | +| Destination | account ID | New account address that is created and funded. | | Starting Balance | integer | Amount of XLM to send to the newly created account. This XLM comes from the source account. | **Possible errors**: @@ -44,7 +44,7 @@ Creates and funds a new account with the specified starting balance ## Payment -Sends an amount in a specific asset to a destination account +Sends an amount in a specific asset to a destination account. **SDKs**: [JavaScript](http://stellar.github.io/js-stellar-sdk/Operation.html#.payment) | [Java](https://github.com/lightsail-network/java-stellar-sdk/blob/master/src/main/java/org/stellar/sdk/operations/PaymentOperation.java) | [Go](https://godoc.org/github.com/stellar/go-stellar-sdk/txnbuild#Payment) **Threshold**: Medium @@ -70,9 +70,9 @@ Sends an amount in a specific asset to a destination account | `PAYMENT_NOT_AUTHORIZED` | -7 | The destination account is not authorized by the asset's issuer to hold the asset. | | `PAYMENT_LINE_FULL` | -8 | The destination account (receiver) does not have sufficient limits to receive `amount` and still satisfy its buying liabilities. | -## Path payment strict send +## Path Payment Strict Send -A payment where the asset sent can be different than the asset received; allows the user to specify the amount of the asset to send +Facilitates a payment where the asset sent can be different from the asset received, allowing you to specify the amount of an asset to send. Learn more about path payments: [Path Payments Guide](../../../build/guides/transactions/path-payments.mdx) @@ -88,7 +88,7 @@ Learn more about path payments: [Path Payments Guide](../../../build/guides/tran | Destination | account ID | Account ID of the recipient. | | Destination asset | asset | The asset the destination account receives. | | Destination min | integer | The minimum amount of `destination asset` the destination account can receive. | -| Path | list of assets | The assets (other than `send asset` and `destination asset`) involved in the offers the path takes. For example, if you can only find a path from USD to EUR through XLM and BTC, the path would be USD -> XLM -> BTC -> EUR and the `path` field would contain XLM and BTC. | +| Path | list of assets | The assets (other than `send asset` and `destination asset`) involved in the path a route takes. For example, the conversion `AstroDollar` -> _CryptoToken_ -> _AstroEuro_ -> _GoldReserves_ -> `AstroPeso` uses three assets to send from dollars to pesos, included in the `path` [found](../../glossary.mdx#pathfinding). | **Possible errors**: @@ -102,13 +102,13 @@ Learn more about path payments: [Path Payments Guide](../../../build/guides/tran | `PATH_PAYMENT_STRICT_SEND_NO_TRUST` | -6 | The destination account does not trust the issuer of the asset being sent. For more, see the [Assets section](../stellar-data-structures/assets.mdx). | | `PATH_PAYMENT_STRICT_SEND_NOT_AUTHORIZED` | -7 | The destination account is not authorized by the asset's issuer to hold the asset. | | `PATH_PAYMENT_STRICT_SEND_LINE_FULL` | -8 | The destination account does not have sufficient limits to receive `destination amount` and still satisfy its buying liabilities. | -| `PATH_PAYMENT_STRICT_SEND_TOO_FEW_OFFERS` | -10 | There is no path of offers connecting the `send asset` and `destination asset`. Stellar only considers paths of length 5 or shorter. | +| `PATH_PAYMENT_STRICT_SEND_TOO_FEW_OFFERS` | -10 | There is no path of offers connecting the `send asset` and `destination asset`. Paths can contain up to 5 intermediate assets. | | `PATH_PAYMENT_STRICT_SEND_OFFER_CROSS_SELF` | -11 | The payment would cross one of its own offers. | | `PATH_PAYMENT_STRICT_SEND_UNDER_DESTMIN` | -12 | The paths that could send `destination amount` of `destination asset` would fall short of `destination min`. | -## Path payment strict receive +## Path Payment Strict Receive -A payment where the asset received can be different from the asset sent; allows the user to specify the amount of the asset received +Facilitates a payment where the asset received can be different from the asset sent, allowing you to specify the amount of an asset to receive. Learn more about path payments: [Path Payments Guide](../../../build/guides/transactions/path-payments.mdx) @@ -124,27 +124,27 @@ Learn more about path payments: [Path Payments Guide](../../../build/guides/tran | Destination | account ID | Account ID of the recipient. | | Destination asset | asset | The asset the destination account receives. | | Destination amount | integer | The amount of `destination asset` the destination account receives. | -| Path | list of assets | The assets (other than `send asset` and `destination asset`) involved in the offers the path takes. For example, if you can only find a path from USD to EUR through XLM and BTC, the path would be USD -> XLM -> BTC -> EUR and the `path` field would contain XLM and BTC. | +| Path | list of assets | The assets (other than `send asset` and `destination asset`) involved in the path a route takes. For example, the conversion `AstroDollar` -> _CryptoToken_ -> _AstroEuro_ -> _GoldReserves_ -> `AstroPeso` uses three assets to send from dollars to pesos, included in the `path` [found](../../glossary.mdx#pathfinding). | **Possible errors**: | Error | Code | Description | | --- | --- | --- | | `PATH_PAYMENT_STRICT_RECEIVE_MALFORMED` | -1 | The input to this path payment is invalid. | -| `PATH_PAYMENT_STRICT_RECEIVE_UNDERFUNDED` | -2 | The source account (sender) does not have enough funds to send and still satisfy its selling liabilities. Note that if sending XLM, the the sender must additionally maintain its minimum XLM reserve. | +| `PATH_PAYMENT_STRICT_RECEIVE_UNDERFUNDED` | -2 | The source account (sender) does not have enough funds to send and still satisfy its selling liabilities. Note that if sending XLM, the sender must additionally maintain its minimum XLM reserve. | | `PATH_PAYMENT_STRICT_RECEIVE_SRC_NO_TRUST` | -3 | The source account does not trust the issuer of the asset it is trying to send. | | `PATH_PAYMENT_STRICT_RECEIVE_SRC_NOT_AUTHORIZED` | -4 | The source account is not authorized to send this payment. | | `PATH_PAYMENT_STRICT_RECEIVE_NO_DESTINATION` | -5 | The destination account does not exist. | | `PATH_PAYMENT_STRICT_RECEIVE_NO_TRUST` | -6 | The destination account does not trust the issuer of the asset being sent. For more, see the [Assets section](../stellar-data-structures/assets.mdx). | | `PATH_PAYMENT_STRICT_RECEIVE_NOT_AUTHORIZED` | -7 | The destination account is not authorized by the asset's issuer to hold the asset. | | `PATH_PAYMENT_STRICT_RECEIVE_LINE_FULL` | -8 | The destination account does not have sufficient limits to receive `destination amount` and still satisfy its buying liabilities. | -| `PATH_PAYMENT_STRICT_RECEIVE_TOO_FEW_OFFERS` | -10 | There is no path of offers connecting the `send asset` and `destination asset`. Stellar only considers paths of length 5 or shorter. | +| `PATH_PAYMENT_STRICT_RECEIVE_TOO_FEW_OFFERS` | -10 | There is no path of offers connecting the `send asset` and `destination asset`. Paths can contain up to 5 intermediate assets. | | `PATH_PAYMENT_STRICT_RECEIVE_OFFER_CROSS_SELF` | -11 | The payment would cross one of its own offers. | | `PATH_PAYMENT_STRICT_RECEIVE_OVER_SENDMAX` | -12 | The paths that could send `destination amount` of `destination asset` would exceed `send max`. | -## Manage buy offer +## Manage Buy Offer -Creates, updates, or deletes an offer to buy a specific amount of an asset for another +Creates, updates, or deletes an offer to buy a specific amount of an asset for another. Learn more about passive sell offers: [Liquidity on Stellar: SDEX and Liquidity Pools](../liquidity-on-stellar-sdex-liquidity-pools.mdx) @@ -176,9 +176,9 @@ Learn more about passive sell offers: [Liquidity on Stellar: SDEX and Liquidity | `MANAGE_BUY_OFFER_NOT_FOUND` | -11 | An offer with that `offerID` cannot be found. | | `MANAGE_BUY_OFFER_LOW_RESERVE` | -12 | The account creating this offer does not have enough XLM to satisfy the minimum XLM reserve increase caused by adding a subentry and still satisfy its XLM selling liabilities. For every offer an account creates, the minimum amount of XLM that account must hold will increase. | -## Manage sell offer +## Manage Sell Offer -Creates, updates, or deletes an offer to sell a specific amount of an asset for another +Creates, updates, or deletes an offer to sell a specific amount of an asset for another. Learn more about passive sell offers: [Liquidity on Stellar: SDEX and Liquidity Pools](../liquidity-on-stellar-sdex-liquidity-pools.mdx) @@ -210,9 +210,9 @@ Learn more about passive sell offers: [Liquidity on Stellar: SDEX and Liquidity | `MANAGE_SELL_OFFER_NOT_FOUND` | -11 | An offer with that `offerID` cannot be found. | | `MANAGE_SELL_OFFER_LOW_RESERVE` | -12 | The account creating this offer does not have enough XLM to satisfy the minimum XLM reserve increase caused by adding a subentry and still satisfy its XLM selling liabilities. For every offer an account creates, the minimum amount of XLM that account must hold will increase. | -## Create passive sell offer +## Create Passive Sell Offer -Creates an offer to sell one asset for another without taking a reverse offer of equal price +Creates an offer to sell an asset for another without taking a reverse offer of equal price. Learn more about passive sell offers: [Liquidity on Stellar: SDEX and Liquidity Pools](../liquidity-on-stellar-sdex-liquidity-pools.mdx) @@ -243,16 +243,16 @@ Learn more about passive sell offers: [Liquidity on Stellar: SDEX and Liquidity | `MANAGE_SELL_OFFER_NOT_FOUND` | -11 | An offer with that `offerID` cannot be found. | | `MANAGE_SELL_OFFER_LOW_RESERVE` | -12 | The account creating this offer does not have enough XLM to satisfy the minimum XLM reserve increase caused by adding a subentry and still satisfy its XLM selling liabilities. For every offer an account creates, the minimum amount of XLM that account must hold will increase. | -## Set options +## Set Options -Set options for an account such as flags, inflation destination, signers, home domain, and master key weight +Sets account-level options such as flags, inflation destination, signers, home domain, and master key weight. Learn more about flags: [Flags Section](../../../tokens/control-asset-access.mdx#controlling-access-to-an-asset-with-flags) Learn more about the home domain: [Stellar Ecosystem Proposals SEP-1](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md) Learn more about signers operations and key weight: [Signature and Multisignature Section](../../fundamentals/transactions/signatures-multisig.mdx) **SDKs**: [JavaScript](http://stellar.github.io/js-stellar-sdk/Operation.html#.setOptions) | [Java](https://github.com/lightsail-network/java-stellar-sdk/blob/master/src/main/java/org/stellar/sdk/operations/SetOptionsOperation.java) | [Go](https://godoc.org/github.com/stellar/go-stellar-sdk/txnbuild#SetOptions) -**Threshold**: High (when updating signers or other thresholds) or Medium (when updating everything else) +**Threshold**: High if updating signers or other thresholds; Medium for everything else **Result**: `SetOptionsResult` **Parameters**: @@ -265,7 +265,7 @@ Learn more about signers operations and key weight: [Signature and Multisignatur | Low threshold | integer | A number from 0-255 (inclusive) representing the threshold this account sets on all operations it performs that have [a low threshold](../../fundamentals/transactions/signatures-multisig.mdx). | | Medium threshold | integer | A number from 0-255 (inclusive) representing the threshold this account sets on all operations it performs that have [a medium threshold](../../fundamentals/transactions/signatures-multisig.mdx). | | High threshold | integer | A number from 0-255 (inclusive) representing the threshold this account sets on all operations it performs that have [a high threshold](../../fundamentals/transactions/signatures-multisig.mdx). | -| Home domain | string | Sets the home domain of an account. See [Federation](../../glossary.mdx#federation). | +| Home domain | string | Sets the home domain of an account, which can be up to 32 characters. See [Federation](../../glossary.mdx#federation). | | Signer | \{Public Key, weight} | Add, update, or remove a signer from an account. Signer weight is a number from 0-255 (inclusive). The signer is deleted if the weight is 0. | **Possible errors**: @@ -282,9 +282,9 @@ Learn more about signers operations and key weight: [Signature and Multisignatur | `SET_OPTIONS_BAD_SIGNER` | -8 | Any additional signers added to the account cannot be the master key. | | `SET_OPTIONS_INVALID_HOME_DOMAIN` | -9 | Home domain is malformed. | -## Change trust +## Change Trust -Creates, updates, or deletes a trustline +Creates, updates, or deletes a trustline for an asset. Learn more about trustlines: [Trustlines section](../stellar-data-structures/accounts.mdx#trustlines) @@ -311,15 +311,11 @@ Learn more about trustlines: [Trustlines section](../stellar-data-structures/acc | `CHANGE_TRUST_CANNOT_DELETE` | -7 | The asset trustline is still referenced by a liquidity pool. | | `CHANGE_TRUST_NOT_AUTH_MAINTAIN_LIABILITIES` | -8 | The asset trustline is deauthorized. | -## Allow trust +## Allow Trust -Updates the authorized flag of an existing trustline. This operation can only be performed by the asset issuer +Updates the authorization flag of an existing trustline. This operation can only be performed by the asset issuer. -:::warning - -This operation is deprecated as of Protocol 17- prefer [_SetTrustlineFlags_](#set-trustline-flags) operation instead. - -::: +Protocol 17 deprecated this operation in favor of [`SetTrustlineFlags`](#set-trustline-flags), in order to independently manipulate newer trustline flags. **SDKs**: [JavaScript](http://stellar.github.io/js-stellar-sdk/Operation.html#.allowTrust) | [Java](https://github.com/lightsail-network/java-stellar-sdk/blob/master/src/main/java/org/stellar/sdk/operations/AllowTrustOperation.java) | [Go](https://godoc.org/github.com/stellar/go-stellar-sdk/txnbuild#AllowTrust) **Threshold**: Low @@ -343,9 +339,9 @@ This operation is deprecated as of Protocol 17- prefer [_SetTrustlineFlags_](#se | `ALLOW_TRUST_SELF_NOT_ALLOWED` | -5 | The source account attempted to allow a trustline for itself, which is not allowed because an account cannot create a trustline with itself. | | `ALLOW_TRUST_LOW_RESERVE` | -6 | Claimable balances can't be created on revocation of asset (or pool share) trustlines associated with a liquidity pool due to low reserves. | -## Account merge +## Account Merge -Transfers the XLM balance of an account to another account and removes the source account from the ledger +Transfers the XLM balance of one account to another account and removes the source account from the ledger. A source account can only be merged once it holds no non-signer subentries: any trustlines, offers, or data entries must be removed first. Signers are _not_ a blocker — they (including sponsored signers) are removed automatically during the merge. @@ -372,9 +368,9 @@ Sponsorship also blocks a merge (`ACCOUNT_MERGE_IS_SPONSOR`), and this covers tw | `ACCOUNT_MERGE_DEST_FULL` | -6 | The `destination` account cannot receive the balance of the source account and still satisfy its lumen buying liabilities. | | `ACCOUNT_MERGE_IS_SPONSOR` | -7 | The source account cannot be merged because it is sponsoring reserves. Either it is already sponsoring reserves for other accounts (`numSponsoring > 0`), which must be revoked first, or it has an open is-sponsoring-future-reserves relationship in the same transaction, which must be ended with `EndSponsoringFutureReserves`. | -## Manage data +## Manage Data -Sets, modifies, or deletes a data entry (name/value pair) that is attached to an account +Adds, modifies, or deletes a data entry ([name-value pair](../../../data/apis/horizon/api-reference/resources/operations/object/manage-data.mdx)) attached to an account. Learn more about entries and subentries: [Accounts section](../stellar-data-structures/accounts.mdx#subentries) @@ -397,9 +393,9 @@ Learn more about entries and subentries: [Accounts section](../stellar-data-stru | `MANAGE_DATA_LOW_RESERVE` | -3 | This account does not have enough XLM to satisfy the minimum XLM reserve increase caused by adding a subentry and still satisfy its XLM selling liabilities. For every new DataEntry added to an account, the minimum reserve of XLM that account must hold increases. | | `MANAGE_DATA_INVALID_NAME` | -4 | Name not a valid string. | -## Bump sequence +## Bump Sequence -Bumps forward the sequence number of the source account to the given sequence number, invalidating any transaction with a smaller sequence number +Bumps forward the sequence number of the source account to the given sequence number, invalidating any transaction with a smaller sequence number. **SDKs**: [JavaScript](http://stellar.github.io/js-stellar-sdk/Operation.html#.bumpSequence) | [Java](https://github.com/lightsail-network/java-stellar-sdk/blob/master/src/main/java/org/stellar/sdk/operations/BumpSequenceOperation.java) | [Go](https://godoc.org/github.com/stellar/go-stellar-sdk/txnbuild#BumpSequence) **Threshold**: Low @@ -418,7 +414,7 @@ Bumps forward the sequence number of the source account to the given sequence nu ## Create claimable balance -Moves an amount of asset from the operation source account into a new ClaimableBalanceEntry +Creates a `ClaimableBalanceEntry`, transferring an amount of an asset from the operation source account into a new ledger entry. Learn more about claimable balances: [Claimable Balances Guide](../../../build/guides/transactions/claimable-balances.mdx) @@ -443,9 +439,9 @@ Learn more about claimable balances: [Claimable Balances Guide](../../../build/g | `CREATE_CLAIMABLE_BALANCE_NOT_AUTHORIZED` | -4 | The source account is not authorized to transfer this asset. | | `CREATE_CLAIMABLE_BALANCE_UNDERFUNDED` | -5 | The source account does not have enough funds to transfer amount of this asset to the ClaimableBalanceEntry. | -## Claim claimable balance +## Claim Claimable Balance -Claims a ClaimableBalanceEntry that corresponds to the BalanceID and adds the amount of an asset on the entry to the source account +Claims a `ClaimableBalanceEntry` that corresponds to the `BalanceID`, transferring its assets to the claiming account. Learn more about claimable balances and view more parameters: [Claimable Balances Guide](../../../build/guides/transactions/claimable-balances.mdx) @@ -468,11 +464,11 @@ Learn more about claimable balances and view more parameters: [Claimable Balance | `CLAIM_CLAIMABLE_BALANCE_NO_TRUST` | -4 | The source account does not trust the issuer of the asset it is trying to claim in the ClaimableBalanceEntry. | | `CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED` | -5 | The source account is not authorized to claim the asset in the ClaimableBalanceEntry. | -## Begin sponsoring future reserves +## Begin Sponsoring Future Reserves -Allows an account to pay the base reserves for another account; sponsoring account establishes the is-sponsoring-future-reserves relationship +Allows an account to pay the base reserves for another account, whereby the sponsoring account establishes the `is-sponsoring-future-reserves` relationship. -There must also be an end sponsoring future reserves operation in the same transaction +There must also be an [end sponsoring future reserves](#end-sponsoring-future-reserves) operation in the same transaction. Learn more about sponsored reserves: [Sponsored Reserves Guide](../../../build/guides/transactions/sponsored-reserves.mdx) @@ -493,9 +489,9 @@ Learn more about sponsored reserves: [Sponsored Reserves Guide](../../../build/g | `BEGIN_SPONSORING_FUTURE_RESERVES_ALREADY_SPONSORED` | -2 | Source account is already sponsoring sponsoredID. | | `BEGIN_SPONSORING_FUTURE_RESERVES_RECURSIVE` | -3 | Either source account is currently being sponsored, or sponsoredID is sponsoring another account. | -## End sponsoring future reserves +## End Sponsoring Future Reserves -Terminates the current is-sponsoring-future-reserves relationship in which the source account is sponsored +Terminates the current `is-sponsoring-future-reserves` relationship between the source account and the sponsored account. Learn more about sponsored reserves: [Sponsored Reserves Guide](../../../build/guides/transactions/sponsored-reserves.mdx) @@ -514,9 +510,11 @@ Learn more about sponsored reserves: [Sponsored Reserves Guide](../../../build/g | --- | --- | --- | | `END_SPONSORING_FUTURE_RESERVES_NOT_SPONSORED` | -1 | Source account is not sponsored. | -## Revoke sponsorship +## Revoke Sponsorship + +Removes or transfers the sponsoring account's sponsorship of existing [`ledgerEntries`](../stellar-data-structures/ledgers/entries.mdx) or signers. -Sponsoring account can remove or transfer sponsorships of existing ledgerEntries and signers; the logic of this operation depends on the state of the source account +The logic of this operation depends on the state of the source account. Learn more about sponsored reserves: [Sponsored Reserves Guide](../../../build/guides/transactions/sponsored-reserves.mdx) @@ -529,7 +527,7 @@ This operation is a union with **two** possible types: | --- | --- | --- | --- | | `REVOKE_SPONSORSHIP_LEDGER_ENTRY` | LedgerKey | ledgerKey | Ledger key that holds information to identify a specific ledgerEntry that may have its sponsorship modified. See [LedgerKey](../../glossary.mdx#ledgerkey) for more information. | -Or +or | Union Type | Parameters | Type | Description | | --- | --- | --- | --- | @@ -547,7 +545,7 @@ Or ## Clawback -Burns an amount in a specific asset from an account. Only the issuing account for the asset can perform this operation. +Burns an amount of an asset from the account holding it, as allowed by the asset's issuing account. Learn more about clawbacks: [Clawback Guide](../../../build/guides/transactions/clawbacks.mdx) @@ -573,7 +571,7 @@ Learn more about clawbacks: [Clawback Guide](../../../build/guides/transactions/ ## Clawback claimable balance -Claws back an unclaimed ClaimableBalanceEntry, burning the pending amount of the asset. Only the issuing account for the asset can perform this operation. +Burns the unclaimed amount of an asset from a `ClaimableBalanceEntry`. Learn more about clawbacks: [Clawback Guide](../../../build/guides/transactions/clawbacks.mdx) @@ -596,14 +594,14 @@ Learn more about claimable balances: [Claimable Balances Guide](../../../build/g | `CLAWBACK_CLAIMABLE_BALANCE_NOT_ISSUER` | -2 | The source account is not the issuer of the asset in the claimable balance. | | `CLAWBACK_CLAIMABLE_BALANCE_NOT_CLAWBACK_ENABLED` | -3 | `The CLAIMABLE_BALANCE_CLAWBACK_ENABLED_FLAG` is not set for this trustline. | -## Set trustline flags +## Set Trustline Flags -Allows issuing account to configure authorization and trustline flags to an asset - -The Asset parameter is of the `TrustLineAsset` type. If you are modifying a trustline to a regular asset (i.e. one in a Code:Issuer format), this is equivalent to the Asset type. If you are modifying a trustline to a pool share, however, this is composed of the liquidity pool's unique ID. +Allows [issuing accounts](../../../tokens/control-asset-access.mdx#issuing-and-distribution-accounts) to configure future authorization or other trustline flags for an asset. Learn more about flags: [Flags Glossary Entry](../../glossary.mdx#flags) +The Asset parameter is of the `TrustLineAsset` type. If you are modifying a trustline to a regular asset (i.e. one in a `Code:Issuer` format), this is equivalent to the Asset type. If you are modifying a trustline to a pool share, however, this is composed of the liquidity pool's [unique ID](../liquidity-on-stellar-sdex-liquidity-pools.mdx#participation-deposits). + **SDKs**: [Java](https://github.com/lightsail-network/java-stellar-sdk/blob/master/src/main/java/org/stellar/sdk/operations/SetTrustlineFlagsOperation.java) **Threshold**: Low **Result**: `SetTrustLineFlagsResult` @@ -626,13 +624,13 @@ Learn more about flags: [Flags Glossary Entry](../../glossary.mdx#flags) | `SET_TRUST_LINE_FLAGS_INVALID_STATE` | -4 | If the final state of the trustline has both AUTHORIZED_FLAG (1) and AUTHORIZED_TO_MAINTAIN_LIABILITIES_FLAG (2) set, which are mutually exclusive. | | `SET_TRUST_LINE_FLAGS_LOW_RESERVE` | -5 | Claimable balances can't be created on revocation of asset (or pool share) trustlines associated with a liquidity pool due to low reserves. | -## Liquidity pool deposit +## Liquidity Pool Deposit -Deposits assets into a liquidity pool, increasing the reserves of a liquidity pool in exchange for pool shares +Deposits assets into a liquidity pool, increasing its reserves in exchange for pool shares. -Parameters to this operation depend on the ordering of assets in the liquidity pool: “A” refers to the first asset in the liquidity pool, and “B” refers to the second asset in the liquidity pool. +Parameters to this operation depend on the ordering of assets in the liquidity pool: $\mathrm{A}$ refers to the first asset in the liquidity pool, and $\mathrm{B}$ refers to the second asset in the liquidity pool. -If the pool is empty, then this operation deposits maxAmountA of A and maxAmountB of B into the pool. If the pool is not empty, then this operation deposits at most maxAmountA of A and maxAmountB of B into the pool. The actual amounts deposited are determined using the current reserves of the pool. You can use these parameters to control a percentage of slippage. +If the pool is empty, then this operation deposits `maxAmountA` of $\mathrm{A}$ and `maxAmountB` of $\mathrm{B}$ into the pool. If the pool is not empty, then this operation deposits at most `maxAmountA` of $\mathrm{A}$ and `maxAmountB` of $\mathrm{B}$ into the pool. The actual amounts deposited are determined using the current reserves of the pool. You can use these parameters to control a percentage of slippage. Learn more about liquidity pools: [Liquidity Pools section](../liquidity-on-stellar-sdex-liquidity-pools.mdx) @@ -661,9 +659,9 @@ Learn more about liquidity pools: [Liquidity Pools section](../liquidity-on-stel | `LIQUIDITY_POOL_DEPOSIT_BAD_PRICE` | -6 | The deposit price is outside of the given bounds. | | `LIQUIDITY_POOL_DEPOSIT_POOL_FULL` | -7 | The liquidity pool reserves are full. | -## Liquidity pool withdraw +## Liquidity Pool Withdraw -Withdraw assets from a liquidity pool, reducing the number of pool shares in exchange for reserves of a liquidity pool +Withdraw assets from a liquidity pool, reducing the number of pool shares in exchange for its constituent reserves. The minAmountA and minAmountB parameters can be used to control a percentage of slippage from the "spot price" on the pool. @@ -693,15 +691,19 @@ Learn more about liquidity pools: [Liquidity Pools section](../liquidity-on-stel ## Invoke Host Function -Invoke and deploy Soroban smart contracts with `InvokeHostFunctionOp`. +Invokes Soroban smart-contract functions, deploys contracts, or uploads WebAssembly to the network. -The `InvokeHostFunctionOp` can be used to perform the following Soroban operations: +Soroban operations performed by `InvokeHostFunctionOp`: -- Invoke contract functions: `HOST_FUNCTION_TYPE_INVOKE_CONTRACT` -- Upload Wasm of the contracts: `HOST_FUNCTION_TYPE_UPLOAD_CONTRACT_WASM` -- Deploy new contracts using the uploaded Wasm or built-in implementations: `HOST_FUNCTION_TYPE_CREATE_CONTRACT` +- Invoke contract functions (`HOST_FUNCTION_TYPE_INVOKE_CONTRACT`), +- Upload contract Wasm (`HOST_FUNCTION_TYPE_UPLOAD_CONTRACT_WASM`), and +- Deploy new contracts using uploaded Wasm or built-in implementations (`HOST_FUNCTION_TYPE_CREATE_CONTRACT`). -Note that Soroban transactions can only contain one operation per transaction. +:::info + +Soroban transactions can only contain one operation per transaction. + +::: Learn more [here](../../fundamentals/contract-development/contract-interactions/stellar-transaction.mdx#invokehostfunctionop). @@ -729,7 +731,11 @@ Learn more [here](../../fundamentals/contract-development/contract-interactions/ Extend the time to live (TTL) of entries for Soroban smart contracts with the `ExtendFootprintTTLOp`. This operation extends the TTL of the entries specified in the `readOnly` footprint of the transaction so that they will live at least until the `extendTo` ledger sequence number is reached. -Note that Soroban transactions can only contain one operation per transaction. +:::info + +Soroban transactions can only contain one operation per transaction. + +::: Learn more in the [State Archival section](../../fundamentals/contract-development/storage/state-archival.mdx). @@ -755,7 +761,11 @@ Learn more in the [State Archival section](../../fundamentals/contract-developme Make archived Soroban smart contract entries accessible again by restoring them with `RestoreFootprintOp`. This operation restores the archived entries specified in the `readWrite` footprint. -Note that Soroban transactions can only contain one operation per transaction. +:::info + +Soroban transactions can only contain one operation per transaction. + +::: Learn more in the [State Archival section](../../fundamentals/contract-development/storage/state-archival.mdx).