/* Copyright 2020 DODO ZOO. SPDX-License-Identifier: Apache-2.0 */ pragma solidity 0.6.9; pragma experimental ABIEncoderV2; interface IDODOV2Proxy01 { function dodoSwapV2ETHToToken( address toToken, uint256 minReturnAmount, address[] memory dodoPairs, uint256 directions, bool isIncentive, uint256 deadLine ) external payable returns (uint256 returnAmount); function dodoSwapV2TokenToETH( address fromToken, uint256 fromTokenAmount, uint256 minReturnAmount, address[] memory dodoPairs, uint256 directions, bool isIncentive, uint256 deadLine ) external returns (uint256 returnAmount); function dodoSwapV2TokenToToken( address fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, address[] memory dodoPairs, uint256 directions, bool isIncentive, uint256 deadLine ) external returns (uint256 returnAmount); function createDODOVendingMachine( address baseToken, address quoteToken, uint256 baseInAmount, uint256 quoteInAmount, uint256 lpFeeRate, uint256 i, uint256 k, bool isOpenTWAP, uint256 deadLine ) external payable returns (address newVendingMachine, uint256 shares); function addDVMLiquidity( address dvmAddress, uint256 baseInAmount, uint256 quoteInAmount, uint256 baseMinAmount, uint256 quoteMinAmount, uint8 flag, // 0 - ERC20, 1 - baseInETH, 2 - quoteInETH uint256 deadLine ) external payable returns ( uint256 shares, uint256 baseAdjustedInAmount, uint256 quoteAdjustedInAmount ); function createDODOPrivatePool( address baseToken, address quoteToken, uint256 baseInAmount, uint256 quoteInAmount, uint256 lpFeeRate, uint256 i, uint256 k, bool isOpenTwap, uint256 deadLine ) external payable returns (address newPrivatePool); function resetDODOPrivatePool( address dppAddress, uint256[] memory paramList, //0 - newLpFeeRate, 1 - newI, 2 - newK uint256[] memory amountList, //0 - baseInAmount, 1 - quoteInAmount, 2 - baseOutAmount, 3 - quoteOutAmount uint8 flag, // 0 - ERC20, 1 - baseInETH, 2 - quoteInETH, 3 - baseOutETH, 4 - quoteOutETH uint256 minBaseReserve, uint256 minQuoteReserve, uint256 deadLine ) external payable; function bid( address cpAddress, uint256 quoteAmount, uint8 flag, // 0 - ERC20, 1 - quoteInETH uint256 deadLine ) external payable; function addLiquidityToV1( address pair, uint256 baseAmount, uint256 quoteAmount, uint256 baseMinShares, uint256 quoteMinShares, uint8 flag, // 0 erc20 Out 1 baseInETH 2 quoteInETH uint256 deadLine ) external payable returns(uint256, uint256); function dodoSwapV1( address fromToken, address toToken, uint256 fromTokenAmount, uint256 minReturnAmount, address[] memory dodoPairs, uint256 directions, bool isIncentive, uint256 deadLine ) external payable returns (uint256 returnAmount); function externalSwap( address fromToken, address toToken, address approveTarget, address to, uint256 fromTokenAmount, uint256 minReturnAmount, bytes memory callDataConcat, bool isIncentive, uint256 deadLine ) external payable returns (uint256 returnAmount); // function mixSwap( // address fromToken, // address toToken, // uint256 fromTokenAmount, // uint256 minReturnAmount, // address[] memory mixAdapters, // address[] memory mixPairs, // address[] memory assetTo, // uint256 directions, // bool isIncentive, // uint256 deadLine // ) external payable returns (uint256 returnAmount); }