Skip to main content

For AI agents: the complete documentation index is at llms.txt. Markdown versions of pages are available by appending .md to the URL or sending Accept: text/markdown.

OrionTransparentVault

OrionTransparentVault​

A transparent implementation of OrionVault supporting both active and passive management strategies

_portfolio​

struct EnumerableMap.AddressToUintMap _portfolio

Current portfolio shares per asset (w_0) - mapping of token address to live allocation

_portfolioIntent​

struct EnumerableMap.AddressToUintMap _portfolioIntent

Strategist intent (w_1) - mapping of token address to target allocation

constructor​

constructor() public

Constructor that disables initializers for the implementation contract

initialize​

function initialize(address manager_, address strategist_, contract IOrionConfig config_, string name_, string symbol_, uint8 feeType_, uint16 performanceFee_, uint16 managementFee_, address depositAccessControl_, address holderAccessControl_, address transferAccessControl_) public

Initialize the vault

Parameters​

NameTypeDescription
manager_addressThe address of the vault manager
strategist_addressThe address of the vault strategist
config_contract IOrionConfigThe address of the OrionConfig contract
name_stringThe name of the vault
symbol_stringThe symbol of the vault
feeType_uint8The fee type
performanceFee_uint16The performance fee
managementFee_uint16The management fee
depositAccessControl_addressDeposit access control (address(0) = permissionless)
holderAccessControl_addressHolder access control (address(0) = permissionless)
transferAccessControl_addressTransfer access control (address(0) = permissionless)

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