Skip to main content

IExecutionAdapter

IExecutionAdapter

Interface for execution adapters that handle asset trading operations

Execution adapters are responsible for converting between the Orion protocol's underlying token and various asset types (ERC-4626 vaults, ERC-20 tokens, etc.). All buy/sell operations use the Orion underlying token as the base currency, regardless of the token standard of the target asset. The underlying token is defined in the OrionConfig contract and serves as the protocol's base asset.

validateExecutionAdapter

function validateExecutionAdapter(address asset) external view

Validates that the given asset is compatible with this adapter

Parameters

NameTypeDescription
assetaddressThe address of the asset to validate

sell

function sell(address asset, uint256 sharesAmount, uint256 estimatedUnderlyingAmount) external returns (uint256 executionUnderlyingAmount)

Executes a sell operation by converting asset shares to underlying assets

Parameters

NameTypeDescription
assetaddressThe address of the asset to sell
sharesAmountuint256The amount of shares to sell
estimatedUnderlyingAmountuint256The estimated underlying amount to receive

Return Values

NameTypeDescription
executionUnderlyingAmountuint256The actual execution underlying amount received

buy

function buy(address asset, uint256 sharesAmount, uint256 estimatedUnderlyingAmount) external returns (uint256 executionUnderlyingAmount)

Executes a buy operation by converting underlying assets to asset shares

Parameters

NameTypeDescription
assetaddressThe address of the asset to buy
sharesAmountuint256The amount of shares to buy
estimatedUnderlyingAmountuint256The estimated underlying amount to spend

Return Values

NameTypeDescription
executionUnderlyingAmountuint256The actual execution underlying amount spent