Vault

Interfaces

IAlephVault

interface IAlephVault {
    // Vault metadata
    function name() external view returns (string memory);
    function manager() external view returns (address);
    function underlyingToken() external view returns (address);
    function custodian() external view returns (address);
    
    // Batch tracking
    function startTimeStamp() external view returns (uint48);
    function currentBatch() external view returns (uint48);
    
    // Share class/series info
    function shareClasses() external view returns (uint8);
    function shareSeriesId(uint8 _classId) external view returns (uint32);
    function lastConsolidatedSeriesId(uint8 _classId) external view returns (uint32);
    
    // Assets and shares
    function totalAssets() external view returns (uint256);
    function totalAssetsPerClass(uint8 _classId) external view returns (uint256);
    function totalAssetsPerSeries(uint8 _classId, uint32 _seriesId) external view returns (uint256);
    function totalSharesPerSeries(uint8 _classId, uint32 _seriesId) external view returns (uint256);
    
    // User positions
    function assetsOf(uint8 _classId, uint32 _seriesId, address _user) external view returns (uint256);
    function sharesOf(uint8 _classId, uint32 _seriesId, address _user) external view returns (uint256);
    function assetsPerClassOf(uint8 _classId, address _user) external view returns (uint256);
    function redeemableAmount(address _user) external view returns (uint256);
    
    // Pricing
    function pricePerShare(uint8 _classId, uint32 _seriesId) external view returns (uint256);
    function highWaterMark(uint8 _classId, uint32 _seriesId) external view returns (uint256);
    
    // Share class parameters
    function managementFee(uint8 _classId) external view returns (uint32);
    function performanceFee(uint8 _classId) external view returns (uint32);
    function noticePeriod(uint8 _classId) external view returns (uint48);
    function lockInPeriod(uint8 _classId) external view returns (uint48);
    function minDepositAmount(uint8 _classId) external view returns (uint256);
    function minUserBalance(uint8 _classId) external view returns (uint256);
    function maxDepositCap(uint8 _classId) external view returns (uint256);
    function minRedeemAmount(uint8 _classId) external view returns (uint256);
    
    // Request queries
    function depositRequestOf(uint8 _classId, address _user) external view returns (uint256);
    function redeemRequestOf(uint8 _classId, address _user) external view returns (uint256);
    function totalAmountToDeposit(uint8 _classId) external view returns (uint256);
}

IAlephVaultDeposit

IAlephVaultRedeem

IAlephVaultSettlement

IFeeManager

Data Structures

ShareClassParams

ShareSeries

AuthSignature

Events

Deposit Events

Redemption Events

Series Events

Fee Events

Error Codes

Deposit Errors

Error
Description

InsufficientDeposit

Amount below minimum

DepositLessThanMinDepositAmount

Below class minimum

DepositLessThanMinUserBalance

Would leave balance below minimum

DepositExceedsMaxDepositCap

Exceeds vault capacity

OnlyOneRequestPerBatchAllowedForDeposit

Already requested this batch

Redemption Errors

Error
Description

RedeemLessThanMinRedeemAmount

Amount below minimum

InsufficientAssetsToRedeem

Not enough shares

RedeemFallBelowMinUserBalance

Would violate minimum balance

OnlyOneRequestPerBatchAllowedForRedeem

Already requested this batch

InsufficientVaultBalance

Vault lacks liquidity

Settlement Errors

Error
Description

InvalidNewTotalAssets

Bad NAV data

InvalidToBatchId

Invalid settlement range

NoDepositsToSettle

Nothing to settle

NoRedeemsToSettle

Nothing to settle

InsufficientAssetsToSettle

Vault underfunded

Integration Example

Checking User Position

Deposit

Redeem

Constants

Last updated

Was this helpful?