Skip to content
LogoLogo

SwapComponent

Git Source

Inherits: ISwapComponent

Constants

MAX_BPS

Full scale value in basis points.

uint256 private constant MAX_BPS = 10_000;

State Variables

_swapperTargets

mapping(uint16 swapperId => SwapperTargets targets) private _swapperTargets;

_lastGuardedSwapTimestamp

uint256 private _lastGuardedSwapTimestamp;

maxSwapLossBps

Max allowed value loss (in basis points) for token swaps while in FENCED or WALLED mode.

uint256 public maxSwapLossBps;

Returns

NameTypeDescription
<none>uint256

swapCooldownDuration

Cooldown duration (in seconds) for token swaps while in FENCED or WALLED mode.

uint256 public swapCooldownDuration;

Returns

NameTypeDescription
<none>uint256

swapFeeRate

Swap fee rate, 1e18 = 100%.

uint256 public swapFeeRate;

Returns

NameTypeDescription
<none>uint256

Functions

getSwapperTargets

Returns approval and execution targets for a given swapper ID.

function getSwapperTargets(uint16 swapperId)
        external
        view
        returns (address approvalTarget, address executionTarget);

Parameters

NameTypeDescription
swapperIduint16The swapper ID.

Returns

NameTypeDescription
approvalTargetaddressThe approval target.
executionTargetaddressThe execution target.

_swap

Internal logic to swap tokens using a given swapper.

function _swap(SwapOrder calldata order, bool guarded) internal returns (uint256);

Parameters

NameTypeDescription
orderSwapOrder
guardedbool

Returns

NameTypeDescription
<none>uint256

_setMaxSwapLossBps

Internal logic to set the maximum allowed relative value loss for token swaps.

function _setMaxSwapLossBps(uint256 newMaxSwapLossBps) internal;

Parameters

NameTypeDescription
newMaxSwapLossBpsuint256

_setSwapCooldownDuration

Internal logic to set the swap cooldown duration.

function _setSwapCooldownDuration(uint256 newSwapCooldownDuration) internal;

Parameters

NameTypeDescription
newSwapCooldownDurationuint256

_setSwapFeeRate

Internal logic to set the swap fee rate.

function _setSwapFeeRate(uint256 newSwapFeeRate) internal;

Parameters

NameTypeDescription
newSwapFeeRateuint256

_setSwapperTargets

Internal logic to set approval and execution targets for a given swapper ID.

function _setSwapperTargets(uint16 swapperId, address approvalTarget, address executionTarget) internal;

Parameters

NameTypeDescription
swapperIduint16
approvalTargetaddress
executionTargetaddress

_checkAndSetCooldown

Checks cooldown for swaps and updates the last guarded swap timestamp.

function _checkAndSetCooldown() internal;

_valueOf

Returns the value of baseTokenAmount of baseToken denominated in quoteToken, using the registered price route.

function _valueOf(address baseToken, address quoteToken, uint256 baseTokenAmount)
        internal
        view
        virtual
        returns (uint256);

Parameters

NameTypeDescription
baseTokenaddress
quoteTokenaddress
baseTokenAmountuint256

Returns

NameTypeDescription
<none>uint256