IOrionConfig
IOrionConfig
Interface for the Orion config contract
internalStateOrchestrator
function internalStateOrchestrator() external view returns (address)
Returns the address of the internal state orchestrator contract
This orchestrator manages the internal state transitions of the protocol
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address | The address of the internal state orchestrator |
liquidityOrchestrator
function liquidityOrchestrator() external view returns (address)
Returns the address of the liquidity orchestrator contract
This orchestrator manages liquidity operations and coordination
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address | The address of the liquidity orchestrator |
underlyingAsset
function underlyingAsset() external view returns (contract IERC20)
Returns the address of the underlying asset used by the protocol
This is the base asset that the protocol operates with
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | contract IERC20 | The address of the underlying asset contract |
priceAdapterRegistry
function priceAdapterRegistry() external view returns (address)
Returns the address of the price adapter registry contract
This registry is responsible for managing asset price adapters
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address | The address of the price adapter registry |
strategistIntentDecimals
function strategistIntentDecimals() external view returns (uint8)
Returns the number of decimal places used for strategist intent calculations
This value is used to scale strategist intent values for precision
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint8 | The number of decimal places for strategist intents |
priceAdapterDecimals
function priceAdapterDecimals() external view returns (uint8)
Returns the number of decimal places used for price adapters
This value is used to scale price adapter values for precision
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint8 | The number of decimal places for price adapters |
riskFreeRate
function riskFreeRate() external view returns (uint16)
Returns the risk-free rate
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint16 | The risk-free rate |
guardian
function guardian() external view returns (address)
Returns the guardian address
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address | The guardian address |
setInternalStateOrchestrator
function setInternalStateOrchestrator(address orchestrator) external
Sets the internal state orchestrator for the protocol
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| orchestrator | address | The address of the internal state orchestrator |
setLiquidityOrchestrator
function setLiquidityOrchestrator(address orchestrator) external
Sets the liquidity orchestrator for the protocol
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| orchestrator | address | The address of the liquidity orchestrator |
setVaultFactory
function setVaultFactory(address transparentFactory) external
Sets the vault factory for the protocol
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| transparentFactory | address | The address of the transparent vault factory |
setPriceAdapterRegistry
function setPriceAdapterRegistry(address registry) external
Sets the price adapter registry for the protocol
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| registry | address | The address of the price adapter registry |
setProtocolRiskFreeRate
function setProtocolRiskFreeRate(uint16 riskFreeRate) external
Sets the protocol risk-free rate
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| riskFreeRate | uint16 | The risk-free rate |
addWhitelistedAsset
function addWhitelistedAsset(address asset, address priceAdapter, address executionAdapter) external
Adds an asset to the whitelist
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| asset | address | The address of the asset to whitelist |
| priceAdapter | address | The address of the price adapter |
| executionAdapter | address | The address of the execution adapter |
removeWhitelistedAsset
function removeWhitelistedAsset(address asset) external
Removes an asset from the whitelist
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| asset | address | The address of the asset to remove from whitelist |
whitelistedAssetsLength
function whitelistedAssetsLength() external view returns (uint16)
Returns the total number of whitelisted assets
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint16 | The count of whitelisted assets |
getAllWhitelistedAssets
function getAllWhitelistedAssets() external view returns (address[])
Returns all whitelisted assets
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address[] | An array of whitelisted asset addresses |
isWhitelisted
function isWhitelisted(address asset) external view returns (bool)
Checks if an asset is whitelisted
Parameters
| Name | Type | Description |
|---|---|---|
| asset | address | The address of the asset to check |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | bool | True if the asset is whitelisted, false otherwise |
addWhitelistedManager
function addWhitelistedManager(address manager) external
Adds a manager to the whitelist
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| manager | address | The address of the manager to whitelist |
removeWhitelistedManager
function removeWhitelistedManager(address manager) external
Removes a manager from the whitelist
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| manager | address | The address of the manager to remove from whitelist |
isWhitelistedManager
function isWhitelistedManager(address manager) external view returns (bool)
Checks if a manager is whitelisted
Parameters
| Name | Type | Description |
|---|---|---|
| manager | address | The address of the manager to check |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | bool | True if the manager is whitelisted, false otherwise |
addOrionVault
function addOrionVault(address vault, enum EventsLib.VaultType vaultType) external
Adds a new Orion vault to the protocol registry
Only callable by the vault factories contracts
Parameters
| Name | Type | Description |
|---|---|---|
| vault | address | The address of the vault to add to the registry |
| vaultType | enum EventsLib.VaultType | Whether the vault is encrypted or transparent |
removeOrionVault
function removeOrionVault(address vault) external
Deregisters an Orion vault from the protocol's registry
Callable exclusively by the contract owner. This action does not destroy the vault itself; it merely disconnects the vault from the protocol, which causes the share price to stale and renders strategist intents inactive. The vault remains in both active and decommissioning states, allowing orchestrators to process it one last time to liquidate all positions before final removal.
Parameters
| Name | Type | Description |
|---|---|---|
| vault | address | The address of the vault to be removed from the registry |
getAllOrionVaults
function getAllOrionVaults(enum EventsLib.VaultType vaultType) external view returns (address[])
Returns all Orion vault addresses
Parameters
| Name | Type | Description |
|---|---|---|
| vaultType | enum EventsLib.VaultType | Whether to return encrypted or transparent vaults |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address[] | An array of Orion vault addresses |
isOrionVault
function isOrionVault(address vault) external view returns (bool)
Checks if an address is a registered Orion vault
This function checks both encrypted and transparent vaults
Parameters
| Name | Type | Description |
|---|---|---|
| vault | address | The address of the vault to check |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | bool | True if the address is a registered Orion vault, false otherwise |
isDecommissioningVault
function isDecommissioningVault(address vault) external view returns (bool)
Checks if an address is a decommissioning Orion vault
Parameters
| Name | Type | Description |
|---|---|---|
| vault | address | The address of the vault to check |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | bool | True if the address is a decommissioning Orion vault, false otherwise |
isDecommissionedVault
function isDecommissionedVault(address vault) external view returns (bool)
Checks if an address is a decommissioned Orion vault
Parameters
| Name | Type | Description |
|---|---|---|
| vault | address | The address of the vault to check |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | bool | True if the address is a decommissioned Orion vault, false otherwise |
completeVaultDecommissioning
function completeVaultDecommissioning(address vault) external
Completes the decommissioning process for a vault
This function removes the vault from the active vault lists and moves it to decommissioned vaults Only callable by the liquidity orchestrator after vault liquidation is complete
Parameters
| Name | Type | Description |
|---|---|---|
| vault | address | The address of the vault to complete decommissioning for |
isSystemIdle
function isSystemIdle() external view returns (bool)
Checks if the system is idle
This function checks if both the liquidity orchestrator and the internal state orchestrator are idle
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | bool | True if the system is idle, false otherwise |
getTokenDecimals
function getTokenDecimals(address token) external view returns (uint8)
Returns the number of decimals for a given token
This function returns the stored decimals for whitelisted tokens
Parameters
| Name | Type | Description |
|---|---|---|
| token | address | The address of the token |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint8 | The number of decimals for the token |
minDepositAmount
function minDepositAmount() external view returns (uint256)
Returns the minimum deposit amount
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | The minimum deposit amount in underlying asset units |
minRedeemAmount
function minRedeemAmount() external view returns (uint256)
Returns the minimum redeem amount
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | The minimum redeem amount in share units |
setMinDepositAmount
function setMinDepositAmount(uint256 amount) external
Sets the minimum deposit amount
Can be called by the contract owner or guardian
Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | The new minimum deposit amount in underlying asset units |
setMinRedeemAmount
function setMinRedeemAmount(uint256 amount) external
Sets the minimum redeem amount
Can be called by the contract owner or guardian
Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | The new minimum redeem amount in share units |
feeChangeCooldownDuration
function feeChangeCooldownDuration() external view returns (uint256)
Returns the fee change cooldown duration
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | The cooldown duration in seconds |
setFeeChangeCooldownDuration
function setFeeChangeCooldownDuration(uint256 duration) external
Sets the fee change cooldown duration
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| duration | uint256 | The new cooldown duration in seconds |
maxFulfillBatchSize
function maxFulfillBatchSize() external view returns (uint256)
Returns the maximum fulfill batch size
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | The maximum fulfill batch size |
setMaxFulfillBatchSize
function setMaxFulfillBatchSize(uint256 size) external
Sets the maximum fulfill batch size
Can be called by the contract owner or guardian
Parameters
| Name | Type | Description |
|---|---|---|
| size | uint256 | The new maximum fulfill batch size |