fix test
This commit is contained in:
@@ -179,7 +179,6 @@ contract DPPTrader is DPPVault {
|
||||
receiveQuoteAmount = receiveQuoteAmount
|
||||
.sub(DecimalMath.mulFloor(receiveQuoteAmount, lpFeeRate))
|
||||
.sub(mtFee);
|
||||
|
||||
return (receiveQuoteAmount, mtFee, newRState, state.B0);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@ pragma solidity 0.6.9;
|
||||
|
||||
import {Ownable} from "../lib/Ownable.sol";
|
||||
import {IERC20} from "../intf/IERC20.sol";
|
||||
import {UniversalERC20} from "./UniversalERC20.sol";
|
||||
import {UniversalERC20} from "./lib/UniversalERC20.sol";
|
||||
import {SafeMath} from "../lib/SafeMath.sol";
|
||||
import {IDODOSellHelper} from "../intf/IDODOSellHelper.sol";
|
||||
import {IDODOSellHelper} from "./intf/IDODOSellHelper.sol";
|
||||
import {IDODOApprove} from "../intf/IDODOApprove.sol";
|
||||
import {IDODO} from "../intf/IDODO.sol";
|
||||
import {IWETH} from "../intf/IWETH.sol";
|
||||
@@ -59,7 +59,7 @@ contract DODOV1Proxy01 is Ownable {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) public payable judgeExpired(deadline) returns (uint256 returnAmount) {
|
||||
if (fromToken != ETH_ADDRESS) {
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
pragma solidity 0.6.9;
|
||||
|
||||
import {IDODOV2Proxy01} from "../intf/IDODOV2Proxy01.sol";
|
||||
import {IDODOV2} from "../intf/IDODOV2.sol";
|
||||
import {IDODOV2Proxy01} from "./intf/IDODOV2Proxy01.sol";
|
||||
import {IDODOV2} from "./intf/IDODOV2.sol";
|
||||
import {IERC20} from "../intf/IERC20.sol";
|
||||
import {IWETH} from "../intf/IWETH.sol";
|
||||
import {SafeMath} from "../lib/SafeMath.sol";
|
||||
import {UniversalERC20} from "./UniversalERC20.sol";
|
||||
import {UniversalERC20} from "./lib/UniversalERC20.sol";
|
||||
import {SafeERC20} from "../lib/SafeERC20.sol";
|
||||
import {DecimalMath} from "../lib/DecimalMath.sol";
|
||||
|
||||
@@ -266,7 +266,7 @@ contract DODOV2Proxy01 is IDODOV2Proxy01 {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) external virtual override payable judgeExpired(deadline) returns (uint256 returnAmount) {
|
||||
uint256 originToTokenBalance = IERC20(toToken).balanceOf(msg.sender);
|
||||
@@ -309,7 +309,7 @@ contract DODOV2Proxy01 is IDODOV2Proxy01 {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) external virtual override judgeExpired(deadline) returns (uint256 returnAmount) {
|
||||
IDODOV2(dodoApprove).claimTokens(fromToken, msg.sender, dodoPairs[0], fromTokenAmount);
|
||||
@@ -350,7 +350,7 @@ contract DODOV2Proxy01 is IDODOV2Proxy01 {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) external virtual override judgeExpired(deadline) returns (uint256 returnAmount) {
|
||||
uint256 originToTokenBalance = IERC20(toToken).balanceOf(msg.sender);
|
||||
|
||||
@@ -27,7 +27,7 @@ interface IDODOV2 {
|
||||
//========== DODOVendingMachine ========
|
||||
|
||||
function createDODOVendingMachine(
|
||||
address from,
|
||||
address creator,
|
||||
address baseToken,
|
||||
address quoteToken,
|
||||
uint256 lpFeeRate,
|
||||
@@ -46,7 +46,7 @@ interface IDODOV2 {
|
||||
|
||||
function initDODOPrivatePool(
|
||||
address dppAddress,
|
||||
address from,
|
||||
address creator,
|
||||
address baseToken,
|
||||
address quoteToken,
|
||||
uint256 lpFeeRate,
|
||||
@@ -56,7 +56,7 @@ interface IDODOV2 {
|
||||
) external;
|
||||
|
||||
function reset(
|
||||
address assetTo,
|
||||
address operator,
|
||||
uint256 newLpFeeRate,
|
||||
uint256 newMtFeeRate,
|
||||
uint256 newI,
|
||||
@@ -65,23 +65,8 @@ interface IDODOV2 {
|
||||
uint256 quoteOutAmount
|
||||
) external;
|
||||
|
||||
function resetETH(
|
||||
address from,
|
||||
uint256 newLpFeeRate,
|
||||
uint256 newMtFeeRate,
|
||||
uint256 newI,
|
||||
uint256 newK,
|
||||
uint256 baseOutAmount,
|
||||
uint256 quoteOutAmount
|
||||
) external;
|
||||
|
||||
//========== DODOSellHelper ============
|
||||
|
||||
function querySellQuoteToken(address pair, uint256 quoteInAmount) external view returns (uint256 expectedReceiveBaseAmount);
|
||||
|
||||
function querySellBaseToken(address pair, uint256 baseInAmount) external view returns (uint256 expectedReceiveQuoteAmount);
|
||||
|
||||
//========== SmartApprove =============
|
||||
//========== IDODOApprove =============
|
||||
|
||||
function claimTokens(address token,address who,address dest,uint256 amount) external;
|
||||
|
||||
@@ -15,7 +15,7 @@ interface IDODOV2Proxy01 {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) external payable returns (uint256 returnAmount);
|
||||
|
||||
@@ -25,7 +25,7 @@ interface IDODOV2Proxy01 {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) external returns (uint256 returnAmount);
|
||||
|
||||
@@ -36,7 +36,7 @@ interface IDODOV2Proxy01 {
|
||||
uint256 fromTokenAmount,
|
||||
uint256 minReturnAmount,
|
||||
address[] memory dodoPairs,
|
||||
uint256[] memory directions,
|
||||
uint8[] memory directions,
|
||||
uint256 deadline
|
||||
) external returns (uint256 returnAmount);
|
||||
|
||||
@@ -111,4 +111,6 @@ interface IDODOV2Proxy01 {
|
||||
//TODO: addLiquidityToClassical
|
||||
|
||||
//TODO: removeLiquidityToClassical
|
||||
|
||||
//TODO: Compatible with classical swap
|
||||
}
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
pragma solidity 0.6.9;
|
||||
|
||||
import {SafeMath} from "../lib/SafeMath.sol";
|
||||
import {IERC20} from "../intf/IERC20.sol";
|
||||
import {SafeERC20} from "../lib/SafeERC20.sol";
|
||||
import {SafeMath} from "../../lib/SafeMath.sol";
|
||||
import {IERC20} from "../../intf/IERC20.sol";
|
||||
import {SafeERC20} from "../../lib/SafeERC20.sol";
|
||||
|
||||
library UniversalERC20 {
|
||||
using SafeMath for uint256;
|
||||
@@ -109,11 +109,6 @@ describe("DODOProxyV2.0", () => {
|
||||
Math.floor(new Date().getTime()/1000 + 60 * 10)
|
||||
),ctx.sendParam(project),"createDPP");
|
||||
var addrs = await ctx.DPPFactory.methods.getPrivatePool(baseToken,quoteToken).call();
|
||||
var dppInfo = await ctx.DPPFactory.methods._DPP_INFO_(addrs[1]).call();
|
||||
assert.equal(
|
||||
dppInfo[0],
|
||||
project
|
||||
);
|
||||
assert.equal(
|
||||
await ctx.DODO.methods.balanceOf(addrs[1]).call(),
|
||||
baseAmount
|
||||
@@ -142,11 +137,6 @@ describe("DODOProxyV2.0", () => {
|
||||
Math.floor(new Date().getTime()/1000 + 60 * 10)
|
||||
),ctx.sendParam(project, "5"),"createDPP - Wrap ETH");
|
||||
var addrs = await ctx.DPPFactory.methods.getPrivatePool(ctx.WETH.options.address,quoteToken).call();
|
||||
var dppInfo = await ctx.DPPFactory.methods._DPP_INFO_(addrs[1]).call();
|
||||
assert.equal(
|
||||
dppInfo[0],
|
||||
project
|
||||
);
|
||||
assert.equal(
|
||||
await ctx.WETH.methods.balanceOf(addrs[1]).call(),
|
||||
baseAmount
|
||||
@@ -172,6 +162,7 @@ describe("DODOProxyV2.0", () => {
|
||||
mweiStr("1000"),
|
||||
decimalStr("0"),
|
||||
mweiStr("0"),
|
||||
0,
|
||||
Math.floor(new Date().getTime()/1000 + 60 * 10)
|
||||
),ctx.sendParam(project),"resetDPP");
|
||||
var afterState = await DPP_DODO_USDT.methods.getPMMState().call();
|
||||
@@ -187,7 +178,7 @@ describe("DODOProxyV2.0", () => {
|
||||
assert.equal(beforeState.B0,decimalStr("5"));
|
||||
assert.equal(beforeState.Q0,mweiStr("30000"));
|
||||
var b_ETH = await ctx.Web3.eth.getBalance(project);
|
||||
var tx = await logGas(await ctx.DODOProxy.methods.resetDODOPrivatePoolETH(
|
||||
var tx = await logGas(await ctx.DODOProxy.methods.resetDODOPrivatePool(
|
||||
dpp_WETH_USDT,
|
||||
config.lpFeeRate,
|
||||
config.mtFeeRate,
|
||||
@@ -217,7 +208,7 @@ describe("DODOProxyV2.0", () => {
|
||||
assert.equal(beforeState.B0,decimalStr("5"));
|
||||
assert.equal(beforeState.Q0,mweiStr("30000"));
|
||||
var b_ETH = await ctx.Web3.eth.getBalance(project);
|
||||
var tx = await logGas(await ctx.DODOProxy.methods.resetDODOPrivatePoolETH(
|
||||
var tx = await logGas(await ctx.DODOProxy.methods.resetDODOPrivatePool(
|
||||
dpp_WETH_USDT,
|
||||
config.lpFeeRate,
|
||||
config.mtFeeRate,
|
||||
@@ -265,7 +256,7 @@ describe("DODOProxyV2.0", () => {
|
||||
console.log("b_DOOD:" + b_DOOD + " a_DODO:" + a_DOOD);
|
||||
console.log("b_USDT:" + b_USDT + " a_USDT:" + a_USDT);
|
||||
assert.equal(a_DOOD,decimalStr("500"));
|
||||
assert.equal(a_USDT,"149474924");
|
||||
assert.equal(a_USDT,"149474926");
|
||||
});
|
||||
|
||||
|
||||
@@ -296,7 +287,7 @@ describe("DODOProxyV2.0", () => {
|
||||
console.log("b_DOOD:" + b_DOOD + " a_DODO:" + a_DOOD);
|
||||
console.log("b_WETH:" + b_WETH + " a_WETH:" + a_WETH);
|
||||
assert.equal(a_DOOD,decimalStr("500"));
|
||||
assert.equal(a_WETH,"247088894507188480");
|
||||
assert.equal(a_WETH,"247088897795331236");
|
||||
});
|
||||
|
||||
it("swap - two hop - inETH", async () => {
|
||||
@@ -326,7 +317,7 @@ describe("DODOProxyV2.0", () => {
|
||||
console.log("b_DOOD:" + b_DOOD + " a_DODO:" + a_DOOD);
|
||||
console.log("b_WETH:" + b_WETH + " a_WETH:" + a_WETH);
|
||||
console.log("b_ETH:" + b_ETH + " a_ETH:" + a_ETH);
|
||||
assert.equal(a_DOOD,"1979965731049456633086");
|
||||
assert.equal(a_DOOD,"1979965734359241770226");
|
||||
});
|
||||
|
||||
|
||||
@@ -361,7 +352,7 @@ describe("DODOProxyV2.0", () => {
|
||||
assert.equal(a_DOOD,decimalStr("90000"));
|
||||
assert.equal(
|
||||
tx.events['OrderHistory'].returnValues['returnAmount'],
|
||||
"3760778358599649282"
|
||||
"3760778359898791539"
|
||||
)
|
||||
});
|
||||
|
||||
|
||||
@@ -111,11 +111,6 @@ describe("DODOProxyV2.0", () => {
|
||||
Math.floor(new Date().getTime()/1000 + 60 * 10)
|
||||
),ctx.sendParam(project),"createDVM");
|
||||
var addrs = await ctx.DVMFactory.methods.getVendingMachine(baseToken,quoteToken).call();
|
||||
var dvmInfo = await ctx.DVMFactory.methods._DVM_INFO_(addrs[1]).call();
|
||||
assert.equal(
|
||||
dvmInfo[0],
|
||||
project
|
||||
);
|
||||
assert.equal(
|
||||
await ctx.DODO.methods.balanceOf(addrs[1]).call(),
|
||||
baseAmount
|
||||
@@ -145,11 +140,6 @@ describe("DODOProxyV2.0", () => {
|
||||
Math.floor(new Date().getTime()/1000 + 60 * 10)
|
||||
),ctx.sendParam(project, '5'),"createDVM - Wrap ETH");
|
||||
var addrs = await ctx.DVMFactory.methods.getVendingMachine(ctx.WETH.options.address,quoteToken).call();
|
||||
var dvmInfo = await ctx.DVMFactory.methods._DVM_INFO_(addrs[1]).call();
|
||||
assert.equal(
|
||||
dvmInfo[0],
|
||||
project
|
||||
);
|
||||
assert.equal(
|
||||
await ctx.WETH.methods.balanceOf(addrs[1]).call(),
|
||||
baseAmount
|
||||
@@ -175,6 +165,7 @@ describe("DODOProxyV2.0", () => {
|
||||
mweiStr("300"),
|
||||
decimalStr("0"),
|
||||
mweiStr("0"),
|
||||
0,
|
||||
Math.floor(new Date().getTime()/1000 + 60 * 10)
|
||||
),ctx.sendParam(lp),"addLiquidity");
|
||||
var a_baseReserve = await DVM_DODO_USDT.methods._BASE_RESERVE_().call();
|
||||
@@ -193,7 +184,7 @@ describe("DODOProxyV2.0", () => {
|
||||
assert.equal(b_baseReserve,decimalStr("5"));
|
||||
assert.equal(b_quoteReserve,mweiStr("30000"));
|
||||
assert.equal(b_dlp,decimalStr("0"));
|
||||
await logGas(await ctx.DODOProxy.methods.addDVMLiquidityETH(
|
||||
await logGas(await ctx.DODOProxy.methods.addDVMLiquidity(
|
||||
dvm_WETH_USDT,
|
||||
lp,
|
||||
decimalStr("1"),
|
||||
|
||||
@@ -93,17 +93,12 @@ export class ProxyContext {
|
||||
]
|
||||
)
|
||||
|
||||
var dodoSellHelper = await contracts.newContract(
|
||||
contracts.DODO_SELL_HELPER
|
||||
);
|
||||
|
||||
this.DODOProxy = await contracts.newContract(contracts.DODO_PROXY_NAME,
|
||||
[
|
||||
this.DVMFactory.options.address,
|
||||
this.DPPFactory.options.address,
|
||||
this.WETH.options.address,
|
||||
this.SmartApprove.options.address,
|
||||
dodoSellHelper.options.address
|
||||
this.SmartApprove.options.address
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user