Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions XLS-0065-single-asset-vault/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -570,13 +570,14 @@ If no `MPToken` object exists for the depositor, create one. For object details,

The `VaultWithdraw` transaction withdraws assets in exchange for the vault's shares.

| Field Name | Required? | JSON Type | Internal Type | Default Value | Description |
| ----------------- | :----------------: | :-------: | :-----------: | :-----------: | :-------------------------------------------------------------------------- |
| `TransactionType` | :heavy_check_mark: | `string` | `UINT16` | `62` | Transaction type. |
| `VaultID` | :heavy_check_mark: | `string` | `HASH256` | `N/A` | The ID of the vault from which assets are withdrawn. |
| `Amount` | :heavy_check_mark: | `number` | `STAmount` | 0 | The exact amount of Vault asset to withdraw. |
| `Destination` | | `string` | `AccountID` | Empty | An account to receive the assets. It must be able to receive the asset. |
| `DestinationTag` | | `number` | `UINT32` | Empty | Arbitrary tag identifying the reason for the withdrawal to the destination. |
| Field Name | Required? | JSON Type | Internal Type | Default Value | Description |
| ----------------- | :----------------: | :-------: | :-----------: | :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TransactionType` | :heavy_check_mark: | `string` | `UINT16` | `62` | Transaction type. |
| `VaultID` | :heavy_check_mark: | `string` | `HASH256` | `N/A` | The ID of the vault from which assets are withdrawn. |
| `Amount` | :heavy_check_mark: | `number` | `STAmount` | 0 | The exact amount of Vault asset to withdraw. |
| `Destination` | | `string` | `AccountID` | Empty | An account to receive the assets. It must be able to receive the asset. |
| `DestinationTag` | | `number` | `UINT32` | Empty | Arbitrary tag identifying the reason for the withdrawal to the destination. |
| `CredentialIDs` | | `array` | `Vector256` | Empty | Credential(s) to attach for credential-based deposit preauthorization ([XLS-70](https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0070-credentials)). |

- If `Amount` is the Vaults asset, calculate the share cost using the [**Withdraw formula**](#21723-withdraw).
- If `Amount` is the Vaults share, calculate the assets amount using the [**Redeem formula**](#21722-redeem).
Expand Down Expand Up @@ -618,6 +619,10 @@ In sections below assume the following variables:
- The `Destination` account is specified:
- The account does not have permission to receive the asset.
- The account does not have a `RippleState` or `MPToken` object for the asset.
- The destination account has Deposit Authorization enabled (`lsfDepositAuth`), and the sender is not preauthorized. (`tecNO_PERMISSION`)
- The destination account requires credentials (via `DepositPreauth` with `AuthorizeCredentials`), but the transaction does not include valid matching credentials in the `CredentialIDs` field. (`tecNO_PERMISSION`)
- A credential ID specified in `CredentialIDs` does not exist on the ledger. (`tecBAD_CREDENTIALS`)
- A credential specified in `CredentialIDs` has expired. (`tecEXPIRED`)

##### 3.2.2.2 State Changes

Expand Down
18 changes: 11 additions & 7 deletions XLS-0066-lending-protocol/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -791,13 +791,14 @@ The `LoanBrokerCoverWithdraw` transaction withdraws the First-Loss Capital from

#### 3.6.1 Fields

| Field Name | Required | JSON Type | Internal Type | Default Value | Description |
| ----------------- | :------: | :------------------: | :-----------: | :-----------: | :--------------------------------------------------------------------------- |
| `TransactionType` | Yes | `string` | `UINT16` | `77` | Transaction type. |
| `LoanBrokerID` | Yes | `string` | `HASH256` | `N/A` | The Loan Broker ID from which to withdraw First-Loss Capital. |
| `Amount` | Yes | `string` or `object` | `AMOUNT` | `N/A` | The Fist-Loss Capital amount to withdraw. |
| `Destination` | No | `string` | `ACCOUNTID` | Empty | An account to receive the assets. It must be able to receive the asset. |
| `DestinationTag` | No | `number` | `UINT32` | Empty | Arbitrary tag identifying the reason for the transaction to the destination. |
| Field Name | Required | JSON Type | Internal Type | Default Value | Description |
| ----------------- | :------: | :------------------: | :-----------: | :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TransactionType` | Yes | `string` | `UINT16` | `77` | Transaction type. |
| `LoanBrokerID` | Yes | `string` | `HASH256` | `N/A` | The Loan Broker ID from which to withdraw First-Loss Capital. |
| `Amount` | Yes | `string` or `object` | `AMOUNT` | `N/A` | The Fist-Loss Capital amount to withdraw. |
| `Destination` | No | `string` | `ACCOUNTID` | Empty | An account to receive the assets. It must be able to receive the asset. |
| `DestinationTag` | No | `number` | `UINT32` | Empty | Arbitrary tag identifying the reason for the transaction to the destination. |
| `CredentialIDs` | No | `array` | `Vector256` | Empty | Credential(s) to attach for credential-based deposit preauthorization ([XLS-70](https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0070-credentials)). |

#### 3.6.2 Transaction Fee

Expand Down Expand Up @@ -826,6 +827,9 @@ This transaction uses the standard transaction fee.
11. The destination account is deep frozen for the asset (unless sending to the `Issuer`). (`tecFROZEN` for IOUs, `tecLOCKED` for MPTs)
12. `LoanBroker.CoverAvailable` < `Amount`. (`tecINSUFFICIENT_FUNDS`)
13. `LoanBroker.CoverAvailable - Amount` < `LoanBroker.DebtTotal * LoanBroker.CoverRateMinimum`. (`tecINSUFFICIENT_FUNDS`)
14. If `Destination` is a third party, the destination account requires credentials (via `DepositPreauth` with `AuthorizeCredentials`), but the transaction does not include valid matching credentials in the `CredentialIDs` field. (`tecNO_PERMISSION`)
15. A credential ID specified in `CredentialIDs` does not exist on the ledger. (`tecBAD_CREDENTIALS`)
16. A credential specified in `CredentialIDs` has expired. (`tecEXPIRED`)

#### 3.6.4 State Changes

Expand Down
Loading