OrionEncryptedVault
OrionEncryptedVault
A confidential implementation of OrionVault supporting active management strategies
MIN_CIPHERTEXT_LENGTH
uint256 MIN_CIPHERTEXT_LENGTH
Minimum ciphertext length.
_portfolioCiphertext
bytes _portfolioCiphertext
Encrypted portfolio shares per asset (w_0)
_intentCiphertext
bytes _intentCiphertext
Encrypted strategist intent (w_1)
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(bytes intentCiphertext) external
Submit an encrypted portfolio intent
Parameters
| Name | Type | Description |
|---|---|---|
| intentCiphertext | bytes | Opaque intent ciphertext |
maxCiphertextLength
function maxCiphertextLength() public view returns (uint256)
Maximum accepted ciphertext length for the current investment universe
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | Max blob length. |
getPortfolio
function getPortfolio() external view returns (bytes portfolioCiphertext)
Returns the stored portfolio ciphertext
Return Values
| Name | Type | Description |
|---|---|---|
| portfolioCiphertext | bytes | Opaque portfolio |
getIntent
function getIntent() external view returns (bytes intentCiphertext)
Returns the stored intent ciphertext
Return Values
| Name | Type | Description |
|---|---|---|
| intentCiphertext | bytes | Opaque intent |
updateVaultState
function updateVaultState(bytes portfolioCiphertext, uint256 newTotalAssets) external
Updates the vault's encrypted portfolio and total assets
Can only be called by the liquidity orchestrator.
Parameters
| Name | Type | Description |
|---|---|---|
| portfolioCiphertext | bytes | Opaque portfolio |
| newTotalAssets | uint256 | The new total assets value for the vault |