Skip to main content

Solidity API

Sorter

ATLAS

contract IAtlas ATLAS

VERIFICATION

contract IAtlasVerification VERIFICATION

SortingData

struct SortingData {
uint256 amount;
bool valid;
}

constructor

constructor(address _atlas) public

sortBids

function sortBids(struct UserOperation userOp, struct SolverOperation[] solverOps) external view returns (struct SolverOperation[])

_verifyBidFormat

function _verifyBidFormat(address bidToken, struct SolverOperation solverOp) internal pure returns (bool)

_verifySolverEligibility

function _verifySolverEligibility(struct DAppConfig dConfig, struct UserOperation userOp, struct SolverOperation solverOp, uint256 totalSurchargeRate) internal view returns (bool)

Verifies that the solver is eligible Does not check solver signature as it might be trusted (solverOp.from == bundler) Checks other than signature are same as those done in verifySolverOp() in AtlasVerification and _validateSolverOpGasAndValue() and _validateSolverOpDeadline() in Atlas

_getSortingData

function _getSortingData(struct DAppConfig dConfig, struct UserOperation userOp, struct SolverOperation[] solverOps, uint256 count) internal view returns (struct Sorter.SortingData[], uint256)

_sort

function _sort(struct Sorter.SortingData[] sortingData, uint256 count, uint256 invalid) internal pure returns (uint256[])