Skip to content

Commit

Permalink
change constructor parameters (#104)
Browse files Browse the repository at this point in the history
  • Loading branch information
ncitron authored Jun 24, 2021
1 parent 368f13c commit 7904b16
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 13 deletions.
19 changes: 14 additions & 5 deletions contracts/product/AMMSplitter.sol
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,23 @@ contract AMMSplitter {
/**
* Sets state variables
*
* @param _uniRouter the Uniswap router contract
* @param _sushiRouter the Sushiswap router contract
* @param _uniRouter the Uniswap router contract
* @param _sushiRouter the Sushiswap router contract
* @param _uniFactory the Uniswap factory contract
* @param _sushiFactory the Sushiswap factory contract
*/
constructor(IUniswapV2Router _uniRouter, IUniswapV2Router _sushiRouter) public {
constructor(
IUniswapV2Router _uniRouter,
IUniswapV2Router _sushiRouter,
IUniswapV2Factory _uniFactory,
IUniswapV2Factory _sushiFactory
)
public
{
uniRouter = _uniRouter;
sushiRouter = _sushiRouter;
uniFactory = IUniswapV2Factory(_uniRouter.factory());
sushiFactory = IUniswapV2Factory(_sushiRouter.factory());
uniFactory = _uniFactory;
sushiFactory = _sushiFactory;
}

/* ============ External Functions ============= */
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@setprotocol/set-protocol-v2",
"version": "0.0.41",
"version": "0.0.42",
"description": "",
"main": "dist",
"types": "dist/types",
Expand Down
7 changes: 6 additions & 1 deletion test/integration/ammSplitterGeneralIndexModule.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,12 @@ describe("AMMSplitterGeneralIndexModule", () => {
await setup.controller.addModule(positionModule.address);


tradeSplitter = await deployer.product.deployAMMSplitter(uniswapSetup.router.address, sushiswapSetup.router.address);
tradeSplitter = await deployer.product.deployAMMSplitter(
uniswapSetup.router.address,
sushiswapSetup.router.address,
uniswapSetup.factory.address,
sushiswapSetup.factory.address
);
tradeSplitterAdapter = await deployer.adapters.deployUniswapV2IndexExchangeAdapter(tradeSplitter.address);
tradeSplitterAdapterName = "TRADESPLITTER";

Expand Down
7 changes: 6 additions & 1 deletion test/integration/ammSplitterTradeModule.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,12 @@ describe("AMMSplitterTradeModule", () => {
setup.dai.address
);

tradeSplitter = await deployer.product.deployAMMSplitter(uniswapSetup.router.address, sushiswapSetup.router.address);
tradeSplitter = await deployer.product.deployAMMSplitter(
uniswapSetup.router.address,
sushiswapSetup.router.address,
uniswapSetup.factory.address,
sushiswapSetup.factory.address
);

tradeSplitterExchangeAdapter = await deployer.adapters.deployUniswapV2ExchangeAdapter(tradeSplitter.address);
tradeSplitterAdapterName = "TRADESPLITTER";
Expand Down
22 changes: 19 additions & 3 deletions test/product/ammSplitter.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
import DeployHelper from "@utils/deploys";
import { SystemFixture, UniswapFixture } from "@utils/fixtures";
import { Account } from "@utils/test/types";
import { AMMSplitter } from "@utils/contracts";
import { AMMSplitter, UniswapV2Factory } from "@utils/contracts";
import { UniswapV2Router02 } from "@utils/contracts";
import { Address } from "@utils/types";
import { bitcoin, ether, preciseMul } from "@utils/common";
Expand Down Expand Up @@ -56,7 +56,12 @@ describe("AMMSplitter", async () => {
setup.dai.address
);

splitter = await deployer.product.deployAMMSplitter(uniswapSetup.router.address, sushiswapSetup.router.address);
splitter = await deployer.product.deployAMMSplitter(
uniswapSetup.router.address,
sushiswapSetup.router.address,
uniswapSetup.factory.address,
sushiswapSetup.factory.address
);
});

addSnapshotBeforeRestoreAfterEach();
Expand All @@ -65,21 +70,32 @@ describe("AMMSplitter", async () => {

let subjectUniswapRouter: UniswapV2Router02;
let subjectSushiswapRouter: UniswapV2Router02;
let subjectUniswapFactory: UniswapV2Factory;
let subjectSushiswapFactory: UniswapV2Factory;

beforeEach(() => {
subjectUniswapRouter = uniswapSetup.router;
subjectSushiswapRouter = sushiswapSetup.router;
subjectUniswapFactory = uniswapSetup.factory;
subjectSushiswapFactory = sushiswapSetup.factory;
});

async function subject(): Promise<AMMSplitter> {
return deployer.product.deployAMMSplitter(subjectUniswapRouter.address, subjectSushiswapRouter.address);
return deployer.product.deployAMMSplitter(
subjectUniswapRouter.address,
subjectSushiswapRouter.address,
subjectUniswapFactory.address,
subjectSushiswapFactory.address
);
}

it("should set the state variables correctly", async () => {
const splitter = await subject();

expect(await splitter.uniRouter()).to.eq(subjectUniswapRouter.address);
expect(await splitter.sushiRouter()).to.eq(subjectSushiswapRouter.address);
expect(await splitter.uniFactory()).to.eq(subjectUniswapFactory.address);
expect(await splitter.sushiFactory()).to.eq(subjectSushiswapFactory.address);
});
});

Expand Down
9 changes: 7 additions & 2 deletions utils/deploys/deployProduct.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,12 @@ export default class DeployProduct {
return await new AssetLimitHook__factory(this._deployerSigner).attach(assetLimitHookAddress);
}

public async deployAMMSplitter(uniRouter: Address, sushiRouter: Address): Promise<AMMSplitter> {
return await new AMMSplitter__factory(this._deployerSigner).deploy(uniRouter, sushiRouter);
public async deployAMMSplitter(
uniRouter: Address,
sushiRouter: Address,
uniFactory: Address,
sushiFactory: Address
): Promise<AMMSplitter> {
return await new AMMSplitter__factory(this._deployerSigner).deploy(uniRouter, sushiRouter, uniFactory, sushiFactory);
}
}

0 comments on commit 7904b16

Please sign in to comment.