Skip to main content

atlasSolverCall

Solver Interface

Searchers need to implement the following interface in their smart contracts:

See Example Solver Repository

interface ISolverContract {
function atlasSolverCall(
address solverOpFrom,
address executionEnvironment,
address bidToken,
uint256 bidAmount,
bytes calldata solverOpData,
bytes calldata extraReturnData
)
external payable;
}
NameTypeDescription
solverOpFromaddressThe address initiating the solver operation.
executionEnvironmentaddressThe address of the Execution Environment.
bidTokenaddressThe token used for bidding; use zero address for ETH.
bidAmountuint256The amount of tokens bid in wei.
solverOpDatabytesThe data associated with the solver operation.
extraReturnDatabytesAdditional data to return after execution.
payable-Indicates that ether can be sent with the call.

The bidAmount must be transferred at the end of the solver call to the executionEnvironment address. We provide opinionated modifiers to help you get started.