Skip to main content

IOrionTransparentVault

IOrionTransparentVault

Interface for the Orion transparent vault

IntentPosition

Struct representing a token and its weight in an intent.

Parameters

NameTypeDescription
struct IntentPosition {
address token;
uint32 weight;
}

submitIntent

function submitIntent(struct IOrionTransparentVault.IntentPosition[] intent) external

Submit a plaintext portfolio intent.

Parameters

NameTypeDescription
intentstruct IOrionTransparentVault.IntentPosition[]IntentPosition structs array containing the tokens and plaintext weights.

getPortfolio

function getPortfolio() external view returns (address[] tokens, uint256[] sharesPerAsset)

Get the transparent portfolio.

Return Values

NameTypeDescription
tokensaddress[]The tokens in the portfolio.
sharesPerAssetuint256[]The shares per asset in the portfolio.

getIntent

function getIntent() external view returns (address[] tokens, uint32[] weights)

Get the transparent intent.

Return Values

NameTypeDescription
tokensaddress[]The tokens in the intent.
weightsuint32[]The weights in the intent.

updateVaultState

function updateVaultState(address[] tokens, uint256[] shares, uint256 newTotalAssets) external

Updates the vault's portfolio state and total assets

Can only be called by the liquidity orchestrator. Clears the previous portfolio and replaces it with the new one. Updates the high watermark if the current share price exceeds it. The system maintains a single global high watermark shared across all LPs.

Parameters

NameTypeDescription
tokensaddress[]Array of token addresses in the portfolio
sharesuint256[]Array of shares per asset (parallel to tokens array)
newTotalAssetsuint256The new total assets value for the vault

removeFromVaultWhitelist

function removeFromVaultWhitelist(address asset) external

Remove an asset from the vault whitelist

Parameters

NameTypeDescription
assetaddressThe asset to remove from the whitelist