Skip to main content

Solidity API

IOrionTransparentVault

Interface for the Orion transparent vault

Position

Struct representing a token and its value in a portfolio.

Parameters

NameTypeDescription
struct Position {
address token;
uint32 value;
}

submitIntent

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

Submit a plaintext portfolio intent.

Parameters

NameTypeDescription
intentstruct IOrionTransparentVault.Position[]Position 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(struct IOrionTransparentVault.Position[] portfolio, 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.

Parameters

NameTypeDescription
portfoliostruct IOrionTransparentVault.Position[]Array of Position structs It contains the new portfolio token addresses and plaintext number of shares per asset.
newTotalAssetsuint256The new total assets value for the vault