Skip to main content

IOrionVault

IOrionVault

Interface for Orion vaults

SynchronousCallDisabled

error SynchronousCallDisabled()

External synchronous calls are disabled in the current context.

DepositRequest

event DepositRequest(address sender, uint256 assets)

A deposit request has been made by a user.

Parameters

NameTypeDescription
senderaddressThe address of the user making the deposit request.
assetsuint256The amount of assets being deposited.

DepositRequestCancelled

event DepositRequestCancelled(address user, uint256 amount)

A deposit request has been cancelled.

Parameters

NameTypeDescription
useraddressThe address of the user whose deposit request was cancelled.
amountuint256The amount of assets that were requested for deposit.

RedeemRequest

event RedeemRequest(address sender, uint256 shares)

A redemption request has been made by a user.

Parameters

NameTypeDescription
senderaddressThe address of the user making the redemption request.
sharesuint256The number of shares being redeemed.

RedeemRequestCancelled

event RedeemRequestCancelled(address user, uint256 shares)

A redemption request has been cancelled.

Parameters

NameTypeDescription
useraddressThe address of the user whose redemption request was cancelled.
sharesuint256The number of shares that were requested for redemption.

StrategistUpdated

event StrategistUpdated(address newStrategist)

The strategist has been updated.

Parameters

NameTypeDescription
newStrategistaddressThe new strategist address.

VaultFeeModelUpdated

event VaultFeeModelUpdated(uint8 mode, uint16 performanceFee, uint16 managementFee)

The fee model has been updated.

Parameters

NameTypeDescription
modeuint8The new calculation mode.
performanceFeeuint16The new performance fee in basis points.
managementFeeuint16The new management fee in basis points.

Redeem

event Redeem(address user, uint256 redeemAmount, uint256 sharesBurned)

A redemption request has been fulfilled.

Parameters

NameTypeDescription
useraddressThe address of the user whose redemption was fulfilled.
redeemAmountuint256The amount of assets redeemed by the user.
sharesBurneduint256The number of shares burned for the user.

VaultWhitelistUpdated

event VaultWhitelistUpdated(address[] assets)

The vault whitelist has been updated.

Parameters

NameTypeDescription
assetsaddress[]The new whitelist of assets.

VaultFeesAccrued

event VaultFeesAccrued(uint256 managementFee, uint256 performanceFee)

Fees have been accrued.

Parameters

NameTypeDescription
managementFeeuint256The amount of management fees accrued.
performanceFeeuint256The amount of performance fees accrued.

VaultFeesClaimed

event VaultFeesClaimed(address manager, uint256 feeAmount)

Fees have been claimed.

Parameters

NameTypeDescription
manageraddressThe address of the manager who claimed the fees.
feeAmountuint256The amount of fees claimed.

DepositAccessControlUpdated

event DepositAccessControlUpdated(address newDepositAccessControl)

The deposit access control contract has been updated.

Parameters

NameTypeDescription
newDepositAccessControladdressThe new deposit access control contract address (address(0) = permissionless).

config

function config() external view returns (contract IOrionConfig)

Orion config getter

Return Values

NameTypeDescription
[0]contract IOrionConfigThe Orion config contract address

manager

function manager() external view returns (address)

Manager getter

Return Values

NameTypeDescription
[0]addressThe manager address

strategist

function strategist() external view returns (address)

Strategist getter

Return Values

NameTypeDescription
[0]addressThe strategist address

pendingVaultFees

function pendingVaultFees() external view returns (uint256)

Pending vault fees getter

Return Values

NameTypeDescription
[0]uint256Pending vault fees amount

convertToAssetsWithPITTotalAssets

function convertToAssetsWithPITTotalAssets(uint256 shares, uint256 pointInTimeTotalAssets, enum Math.Rounding rounding) external view returns (uint256)

Convert shares to assets with point in time total assets.

Parameters

NameTypeDescription
sharesuint256The amount of shares to convert.
pointInTimeTotalAssetsuint256The point in time total assets.
roundingenum Math.RoundingThe rounding mode.

Return Values

NameTypeDescription
[0]uint256The amount of assets.

implementation

function implementation() external view returns (address)

Returns the implementation address of this proxy contract

This function enables third-party protocol integrations to verify that the implementation address has not been modified unexpectedly. It reads the beacon address from the ERC-1967 storage slot and returns the implementation address from the beacon.

Return Values

NameTypeDescription
[0]addressThe address of the implementation contract

overrideIntentForDecommissioning

function overrideIntentForDecommissioning() external

Override intent to 100% underlying asset for decommissioning

Can only be called by the OrionConfig contract

requestDeposit

function requestDeposit(uint256 assets) external

Submit an asynchronous deposit request.

No share tokens are minted immediately. The specified amount of underlying tokens is transferred to the liquidity orchestrator for centralized liquidity management.

Parameters

NameTypeDescription
assetsuint256The amount of the underlying asset to deposit.

cancelDepositRequest

function cancelDepositRequest(uint256 amount) external

Cancel a previously submitted deposit request.

Allows LPs to withdraw their funds before any share tokens are minted. The request must still have enough balance remaining to cover the cancellation. Funds are returned from the liquidity orchestrator to the LP.

Parameters

NameTypeDescription
amountuint256The amount of funds to withdraw.

requestRedeem

function requestRedeem(uint256 shares) external

Submit a redemption request.

No share tokens are burned immediately. The specified amount of share tokens is transferred to the vault.

Parameters

NameTypeDescription
sharesuint256The amount of the share tokens to withdraw.

cancelRedeemRequest

function cancelRedeemRequest(uint256 shares) external

Cancel a previously submitted redemption request.

Allows LPs to recover their share tokens before any burning occurs. The request must still have enough shares remaining to cover the cancellation. Share tokens are returned from the vault.

Parameters

NameTypeDescription
sharesuint256The amount of share tokens to recover.

updateStrategist

function updateStrategist(address newStrategist) external

Update the strategist address

The strategist is responsible for setting allocation logic for the vault's assets. This function enables managers to update the strategist. Strategist can be a smart contract or an address. It is the FULL responsibility of the manager to ensure the strategist is capable of performing its duties.

Parameters

NameTypeDescription
newStrategistaddressThe new strategist address.

updateVaultWhitelist

function updateVaultWhitelist(address[] assets) external

Update the vault whitelist

Parameters

NameTypeDescription
assetsaddress[]The new whitelist of assets.

vaultWhitelist

function vaultWhitelist() external view returns (address[])

Get the vault whitelist

Return Values

NameTypeDescription
[0]address[]The array of whitelisted asset addresses for this vault.

updateFeeModel

function updateFeeModel(uint8 mode, uint16 performanceFee, uint16 managementFee) external

Update the fee model parameters

Parameters

NameTypeDescription
modeuint8The calculation mode for fees
performanceFeeuint16The performance fee
managementFeeuint16The management fee

claimVaultFees

function claimVaultFees(uint256 amount) external

Claim accrued vault fees

Parameters

NameTypeDescription
amountuint256The amount of vault fees to claim

setDepositAccessControl

function setDepositAccessControl(address newDepositAccessControl) external

Set deposit access control contract

Only callable by vault manager It is the FULL responsibility of the vault manager to ensure the deposit access control is capable of performing its duties.

Parameters

NameTypeDescription
newDepositAccessControladdressAddress of the new access control contract (address(0) = permissionless)

pendingDeposit

function pendingDeposit(uint256 fulfillBatchSize) external view returns (uint256)

Get total pending deposit amount across all users

This returns asset amounts, not share amounts

Parameters

NameTypeDescription
fulfillBatchSizeuint256The maximum number of requests to process per fulfill call

Return Values

NameTypeDescription
[0]uint256Total pending deposits denominated in underlying asset units (e.g., USDC, ETH)

pendingRedeem

function pendingRedeem(uint256 fulfillBatchSize) external view returns (uint256)

Get total pending redemption shares across all users

This returns share amounts, not underlying asset amounts

Parameters

NameTypeDescription
fulfillBatchSizeuint256The maximum number of requests to process per fulfill call

Return Values

NameTypeDescription
[0]uint256Total pending redemptions denominated in vault share units

vaultFee

function vaultFee(uint256 totalAssets) external view returns (uint256 managementFee, uint256 performanceFee)

Calculate the vault's fee based on total assets

Warning: Calling this function mid-epoch may return inaccurate results since fees are calculated based on the full epoch duration

Parameters

NameTypeDescription
totalAssetsuint256The total assets under management

Return Values

NameTypeDescription
managementFeeuint256The management fee amount in underlying asset units
performanceFeeuint256The performance fee amount in underlying asset units

fulfillDeposit

function fulfillDeposit(uint256 depositTotalAssets) external

Process all pending deposit requests and mint shares to depositors

Parameters

NameTypeDescription
depositTotalAssetsuint256The total assets associated with the deposit requests

fulfillRedeem

function fulfillRedeem(uint256 redeemTotalAssets) external

Process all pending redemption requests and burn shares from redeemers

Parameters

NameTypeDescription
redeemTotalAssetsuint256The total assets associated with the redemption requests

accrueVaultFees

function accrueVaultFees(uint256 managementFee, uint256 performanceFee) external

Accrue vault fees for a specific epoch

Parameters

NameTypeDescription
managementFeeuint256The amount of management fees to accrue in underlying asset units
performanceFeeuint256The amount of performance fees to accrue in underlying asset units