コンテンツへスキップ

VaultDeposit

[Source]

Deposits a specified number of assets into a vault in exchange for shares.

For private vaults, the depositor must be authorized to interact with the vault’s shares and have Credentials in the Permissioned Domain of the share.

Public vaults require no authorization, and anyone can deposit as long as they meet the asset type requirement and have sufficient funds.

Warning

A depositor cannot deposit assets into the vault if:

  • The asset is frozen for the depositor.
  • The trust line between the pseudo-account and the issuer is frozen, or the MPToken is locked.
  • The vault is private and the depositor's credentials have expired.

If successful, the transaction moves the assets from the depositor's account to the vault's pseudo-account, issues the corresponding vault shares, and updates the vault’s balance.

SingleAssetVault amendmentが必要です。 Loading...

LendingProtocolV1_1 amendmentが必要です。 Loading...

Example VaultDeposit JSON

{
  "TransactionType": "VaultDeposit",
  "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX",
  "Fee": "12",
  "Flags": 0,
  "LastLedgerSequence": 7108682,
  "Sequence": 8,
  "VaultID": "77D6234D074E505024D39C04C3F262997B773719AB29ACFA83119E4210328776",
  "Amount" : {
    "currency" : "TST",
    "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd",
    "value" : "2.5"
  }
}

VaultDeposit Fields

In addition to the common fields, VaultDeposit transactions use the following fields:

Field NameJSON TypeInternal TypeRequired?Description
VaultIDStringHash256YesThe unique identifier of the vault to which the asset is deposited.
AmountCurrency AmountAmountYesThe asset and quantity to be deposited into the vault.

The deposited asset must match the vault’s designated asset for the transaction to succeed. Depending on the asset type, the following changes occur:

  • XRP: The vault’s pseudo-account balance increases, and the depositor’s balance decreases.
  • Trust line token: The trust line balance between the vault's pseudo-account and the asset issuer is adjusted.
  • MPT: The MPToken.MPTAmount of both the depositor and the vault's pseudo-account is updated.

The deposit amount is rounded down to match the vault's AssetsTotal precision, so the vault's total and available balances change by a representable amount.

fixCleanup3_4_0 amendmentが必要です。 Loading...

VaultDeposit Flags

There are no flags defined for VaultDeposit transactions.

Transfer Fees

A single asset vault does not apply the transfer fee to VaultDeposit transactions. Additionally, whenever a protocol moves assets from or to a vault, the transfer fee isn't charged.

Error Cases

Besides errors that can occur for all transactions, VaultDeposit transactions can result in the following transaction result codes:

Error CodeDescription
tecEXPIREDThe vault is closed-ended and in its Investment or Redemption phase.

LendingProtocolV1_1 amendmentが必要です。 Loading...

tecFROZENThe vault asset is frozen globally for the depositor, or for the vault's pseudo-account. Both regular and deep freezes cause this error.

fixCleanup3_3_0 amendmentが必要です。 Loading...

tecINSUFFICIENT_FUNDSThe depositor does not have sufficient funds to make a deposit.
tecLIMIT_EXCEEDEDAdding the provided Amount to the AssetsTotal exceeds the AssetsMaximum value.
tecLOCKEDThe MPT vault asset is locked globally for the depositor, or for the vault's pseudo-account.

fixCleanup3_3_0 amendmentが必要です。 Loading...

tecNO_AUTHEither the vault is private and the depositing account does not have credentials in the share's Permissioned Domain, or the asset is a non-transferable MPT.
tecNO_ENTRYThe Vault object with the provided VaultID does not exist on the ledger.
tecOBJECT_NOT_FOUNDA ledger entry specified in the transaction does not exist.
tecPATH_DRYConverting the deposit into shares overflowed the largest number the protocol can represent. This usually means the vault's Scale is high and the Amount is large.
tecPRECISION_LOSSThe deposit rounds to nothing, either at the vault's scale, at the depositor's trust line scale, or when converted into shares.

fixCleanup3_2_0 amendmentが必要です。 Loading...

fixCleanup3_4_0 amendmentが必要です。 Loading...

tecWRONG_ASSETThe asset of the vault does not match the asset being deposited.
temBAD_AMOUNTThe Amount field of the transaction is invalid.
temDISABLEDThe SingleAssetVault amendment is not enabled.
temMALFORMEDThe transaction was not validly formatted. For example, if the VaultID is not provided.

See Also