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_) public
Initialize the vault
Parameters
| Name | Type | Description |
|---|---|---|
| manager_ | address | The address of the vault manager |
| strategist_ | address | The address of the vault strategist |
| config_ | contract IOrionConfig | The address of the OrionConfig contract |
| name_ | string | The name of the vault |
| symbol_ | string | The symbol of the vault |
| feeType_ | uint8 | The fee type |
| performanceFee_ | uint16 | The performance fee |
| managementFee_ | uint16 | The management fee |
| depositAccessControl_ | address | The address of the deposit access control contract (address(0) = permissionless) |
submitIntent
function submitIntent(struct IOrionTransparentVault.IntentPosition[] intent) external
Submit a plaintext portfolio intent.
Parameters
| Name | Type | Description |
|---|---|---|
| intent | struct 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
| Name | Type | Description |
|---|---|---|
| tokens | address[] | The tokens in the portfolio. |
| sharesPerAsset | uint256[] | The shares per asset in the portfolio. |
getIntent
function getIntent() external view returns (address[] tokens, uint32[] weights)
Get the transparent intent.
Return Values
| Name | Type | Description |
|---|---|---|
| tokens | address[] | The tokens in the intent. |
| weights | uint32[] | 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
| Name | Type | Description |
|---|---|---|
| tokens | address[] | Array of token addresses in the portfolio |
| shares | uint256[] | Array of shares per asset (parallel to tokens array) |
| newTotalAssets | uint256 | The new total assets value for the vault |
removeFromVaultWhitelist
function removeFromVaultWhitelist(address asset) external
Remove an asset from the vault whitelist
Parameters
| Name | Type | Description |
|---|---|---|
| asset | address | The asset to remove from the whitelist |