ILiquidityOrchestrator
ILiquidityOrchestrator
Interface for the liquidity orchestrator
LiquidityUpkeepPhase
Upkeep phase enum for liquidity orchestration
enum LiquidityUpkeepPhase {
Idle,
SellingLeg,
BuyingLeg,
ProcessVaultOperations
}
currentPhase
function currentPhase() external view returns (enum ILiquidityOrchestrator.LiquidityUpkeepPhase)
Returns the current upkeep phase
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | enum ILiquidityOrchestrator.LiquidityUpkeepPhase | The current LiquidityUpkeepPhase |
targetBufferRatio
function targetBufferRatio() external view returns (uint256)
Returns the target buffer ratio
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | The target buffer ratio |
slippageTolerance
function slippageTolerance() external view returns (uint256)
Returns the slippage tolerance
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | uint256 | The slippage tolerance |
updateMinibatchSize
function updateMinibatchSize(uint8 _minibatchSize) external
Updates the minibatch size for fulfill deposit and redeem processing
Parameters
| Name | Type | Description |
|---|---|---|
| _minibatchSize | uint8 | The new minibatch size |
updateAutomationRegistry
function updateAutomationRegistry(address newAutomationRegistry) external
Updates the Chainlink Automation Registry address
Parameters
| Name | Type | Description |
|---|---|---|
| newAutomationRegistry | address | The new automation registry address |
setInternalStateOrchestrator
function setInternalStateOrchestrator(address internalStateOrchestrator) external
Sets the internal state orchestrator address
Can only be called by the contract owner
Parameters
| Name | Type | Description |
|---|---|---|
| internalStateOrchestrator | address | The address of the internal state orchestrator |
setTargetBufferRatio
function setTargetBufferRatio(uint256 _targetBufferRatio) external
Sets the target buffer ratio
Slippage tolerance is set to 50% of targetBufferRatio to support worst-case scenario prices and full NAV rebalancing. This ensures ALL trades pass even with maximum price impact.
Parameters
| Name | Type | Description |
|---|---|---|
| _targetBufferRatio | uint256 | The new target buffer ratio |
claimProtocolFees
function claimProtocolFees(uint256 amount) external
Claim protocol fees with specified amount
Called by the Owner to claim a specific amount of protocol fees
Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | The amount of protocol fees to claim |
setExecutionAdapter
function setExecutionAdapter(address asset, contract IExecutionAdapter adapter) external
Register or replace the execution adapter for an asset.
Can only be called by the Orion Config contract.
Parameters
| Name | Type | Description |
|---|---|---|
| asset | address | The address of the asset. |
| adapter | contract IExecutionAdapter | The execution adapter for the asset. |
returnDepositFunds
function returnDepositFunds(address user, uint256 amount) external
Return deposit funds to a user who cancelled their deposit request
Called by vault contracts when users cancel deposit requests
Parameters
| Name | Type | Description |
|---|---|---|
| user | address | The user to return funds to |
| amount | uint256 | The amount to return |
transferVaultFees
function transferVaultFees(uint256 amount) external
Transfer pending fees to manager
Called by vault contracts when managers claim their fees
Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | The amount of fees to transfer |
transferRedemptionFunds
function transferRedemptionFunds(address user, uint256 amount) external
Transfer redemption funds to a user after shares are burned
Called by vault contracts when processing redemption requests
Parameters
| Name | Type | Description |
|---|---|---|
| user | address | The user to transfer funds to |
| amount | uint256 | The amount of underlying assets to transfer |
depositLiquidity
function depositLiquidity(uint256 amount) external
Deposits underlying assets to the liquidity orchestrator buffer
Increases the buffer amount by the deposited amount.
Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | The amount of underlying assets to deposit |
withdrawLiquidity
function withdrawLiquidity(uint256 amount) external
Withdraws underlying assets from the liquidity orchestrator buffer
Can only be called by the owner. Decreases the buffer amount by the withdrawn amount. Includes safety checks to prevent predatory withdrawals that could break protocol operations.
Parameters
| Name | Type | Description |
|---|---|---|
| amount | uint256 | The amount of underlying assets to withdraw |
withdraw
function withdraw(uint256 assets, address receiver) external
Synchronous redemption for decommissioned vaults
Called by vault contracts to process synchronous redemptions for LPs with share tokens
Parameters
| Name | Type | Description |
|---|---|---|
| assets | uint256 | The amount of underlying assets to withdraw |
| receiver | address | The address to receive the underlying assets |
advanceIdlePhase
function advanceIdlePhase() external
Advances the idle phase
Called by the internal state orchestrator to advance the idle phase
pause
function pause() external
Pauses the contract
Can only be called by OrionConfig for emergency situations
unpause
function unpause() external
Unpauses the contract
Can only be called by OrionConfig after resolving emergency