Solidity API
IOrionConfig
Interface for the Orion config contract
internalStatesOrchestrator
function internalStatesOrchestrator() external view returns (address)
Returns the address of the internal states orchestrator contract
This orchestrator manages the internal state transitions of the protocol
Return Values
Name | Type | Description |
---|---|---|
[0] | address | The address of the internal states 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 |
curatorIntentDecimals
function curatorIntentDecimals() external view returns (uint8)
Returns the number of decimal places used for curator intent calculations
This value is used to scale curator intent values for precision
Return Values
Name | Type | Description |
---|---|---|
[0] | uint8 | The number of decimal places for curator 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 |
setInternalStatesOrchestrator
function setInternalStatesOrchestrator(address orchestrator) external
Sets the internal states orchestrator for the protocol
Can only be called by the contract owner
Parameters
Name | Type | Description |
---|---|---|
orchestrator | address | The address of the internal states 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 |
setVaultFactories
function setVaultFactories(address transparentFactory, address encryptedFactory) external
Sets the vault factories for the protocol
Can only be called by the contract owner
Parameters
Name | Type | Description |
---|---|---|
transparentFactory | address | The address of the transparent vault factory |
encryptedFactory | address | The address of the encrypted 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 |
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, enum EventsLib.VaultType vaultType) 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 curator intents inactive.
Parameters
Name | Type | Description |
---|---|---|
vault | address | The address of the vault to be removed from the registry |
vaultType | enum EventsLib.VaultType | The type of the vault—either encrypted or transparent |
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 |
isSystemIdle
function isSystemIdle() external view returns (bool)
Checks if the system is idle
This function checks if both the liquidity orchestrator and the internal states 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 |