VulpeFI Docs
  • Whitepaper
  • VulpeFI Overview
  • Wallet VulpeFI
    • Wallet auto-connect
  • Aggregation Protocol
    • Introduction
    • Guide
      • Quick start
    • API
      • Swagger
        • Binance Smart Chain
        • Ethereum Network
        • BASE
        • Arbitrum
        • Polygon
      • Swap params
      • Quote params
    • Smart contracts
      • Aggregation VulpeFI
      • ClipperRouter
      • LimitOrderProtocol
      • UnoswapRouter
    • Limit order protocol
      • Introduction
      • Limit vs. RFQ Orders
      • Smart contracts
        • LimitOrderProtocol
        • LimitOrderProtocolPro
        • OrderLib
        • OrderMixin
        • OrderRFQMixin
        • helpers
          • AmountCalculator
          • ChainlinkCalculator
          • ERC1155Proxy
          • ERC721Proxy
          • ERC721ProxySafe
          • ImmutableOwner
          • NonceManager
          • PredicateHelper
          • SeriesNonceManager
          • WethUnwrapper
        • Interfaces
          • IDaiLikePermit
          • IWithdrawable
          • Interaction
          • PostInteraction
          • PreInteraction
      • Liquidity Source and API
        • Ethereum Network
        • Binance Smart Chain
        • Polygon
        • Avalanche
        • Gnosis Chain
    • Spot Price aggregator
      • Examples
      • Spot Price Aggregator
Powered by GitBook
On this page
  • Derives​
  • Functions​
  • constructor​
  • clipperSwapToWithPermit​
  • clipperSwap​
  • clipperSwapTo​
  1. Aggregation Protocol
  2. Smart contracts

ClipperRouter

Clipper router that allows to use ClipperExchangeInterface for swaps

PreviousAggregation VulpeFINextLimitOrderProtocol

Last updated 4 months ago

Derives

  • Permitable

  • EthReceiver

Functions

constructor

function constructor(
  address weth,
  contract IClipperExchangeInterface clipperExchange
) public

Parameters:

Name
Type
Description

weth

address

clipperExchange

contract IClipperExchangeInterface

clipperSwapToWithPermit

function clipperSwapToWithPermit(
  address payable recipient,
  contract IERC20 srcToken,
  contract IERC20 dstToken,
  uint256 amount,
  uint256 minReturn,
  bytes permit
) external returns (uint256 returnAmount)

Same as clipperSwapTo but calls permit first, allowing to approve token spending and make a swap in one transaction.

Name
Type
Description

recipient

address payable

Address that will receive swap funds

srcToken

contract IERC20

Source token

dstToken

contract IERC20

Destination token

amount

uint256

Amount of source tokens to swap

minReturn

uint256

Minimal allowed returnAmount to make transaction commit

permit

bytes

Should contain valid permit that can be used in IERC20Permit.permit calls. See tests for examples

function clipperSwap(
  contract IERC20 srcToken,
  contract IERC20 dstToken,
  uint256 amount,
  uint256 minReturn
) external returns (uint256 returnAmount)

Same as clipperSwapTo but uses msg.sender as recipient

Name
Type
Description

srcToken

contract IERC20

Source token

dstToken

contract IERC20

Destination token

amount

uint256

Amount of source tokens to swap

minReturn

uint256

Minimal allowed returnAmount to make transaction commit

function clipperSwapTo(
  address payable recipient,
  contract IERC20 srcToken,
  contract IERC20 dstToken,
  uint256 amount,
  uint256 minReturn
) public returns (uint256 returnAmount)

Performs swap using Clipper exchange. Wraps and unwraps ETH if required. Sending non-zero msg.value for anything but ETH swaps is prohibited

Name
Type
Description

recipient

address payable

Address that will receive swap funds

srcToken

contract IERC20

Source token

dstToken

contract IERC20

Destination token

amount

uint256

Amount of source tokens to swap

minReturn

uint256

Minimal allowed returnAmount to make transaction commit

Parameters:

clipperSwap

Parameters:

clipperSwapTo

Parameters:

​
​
​
​
​
​
​
​
​
​