Skip to main content

IOrionStrategy

IOrionStrategy

Interface for passive curators that compute portfolio intents on-demand

Passive curators are smart contracts that implement this interface to provide dynamic portfolio allocation strategies. The use of this is associated to a pull-based and stateless implementation of vault intents. The vault will call computeIntent() when the InternalStatesOrchestrator needs the current intent.

computeIntent

function computeIntent(address[] vaultWhitelistedAssets) external view returns (struct IOrionTransparentVault.IntentPosition[] intent)

Compute the current portfolio intent based on market conditions and strategy

This function should return a valid intent that sums to 100% (10^curatorIntentDecimals) All tokens in the intent must be whitelisted for the vault

Parameters

NameTypeDescription
vaultWhitelistedAssetsaddress[]The whitelisted assets for the vault

Return Values

NameTypeDescription
intentstruct IOrionTransparentVault.IntentPosition[]Array of IntentPosition structs containing the target allocation

validateStrategy

function validateStrategy(address[] vaultWhitelistedAssets) external view

Validate that the strategy is compatible with the provided whitelisted assets

This function should validate that all assets are compatible with the strategy's requirements Should revert with appropriate error if validation fails

Parameters

NameTypeDescription
vaultWhitelistedAssetsaddress[]The whitelisted assets for the vault