Skip to content

Commit d0592f4

Browse files
ncitronrichardliang
authored andcommitted
change constructor parameters (#104)
1 parent 9b3d727 commit d0592f4

File tree

6 files changed

+53
-13
lines changed

6 files changed

+53
-13
lines changed

contracts/product/AMMSplitter.sol

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,23 @@ contract AMMSplitter {
8686
/**
8787
* Sets state variables
8888
*
89-
* @param _uniRouter the Uniswap router contract
90-
* @param _sushiRouter the Sushiswap router contract
89+
* @param _uniRouter the Uniswap router contract
90+
* @param _sushiRouter the Sushiswap router contract
91+
* @param _uniFactory the Uniswap factory contract
92+
* @param _sushiFactory the Sushiswap factory contract
9193
*/
92-
constructor(IUniswapV2Router _uniRouter, IUniswapV2Router _sushiRouter) public {
94+
constructor(
95+
IUniswapV2Router _uniRouter,
96+
IUniswapV2Router _sushiRouter,
97+
IUniswapV2Factory _uniFactory,
98+
IUniswapV2Factory _sushiFactory
99+
)
100+
public
101+
{
93102
uniRouter = _uniRouter;
94103
sushiRouter = _sushiRouter;
95-
uniFactory = IUniswapV2Factory(_uniRouter.factory());
96-
sushiFactory = IUniswapV2Factory(_sushiRouter.factory());
104+
uniFactory = _uniFactory;
105+
sushiFactory = _sushiFactory;
97106
}
98107

99108
/* ============ External Functions ============= */

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@setprotocol/set-protocol-v2",
3-
"version": "0.0.41",
3+
"version": "0.0.42",
44
"description": "",
55
"main": "dist",
66
"types": "dist/types",

test/integration/ammSplitterGeneralIndexModule.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,12 @@ describe("AMMSplitterGeneralIndexModule", () => {
7373
await setup.controller.addModule(positionModule.address);
7474

7575

76-
tradeSplitter = await deployer.product.deployAMMSplitter(uniswapSetup.router.address, sushiswapSetup.router.address);
76+
tradeSplitter = await deployer.product.deployAMMSplitter(
77+
uniswapSetup.router.address,
78+
sushiswapSetup.router.address,
79+
uniswapSetup.factory.address,
80+
sushiswapSetup.factory.address
81+
);
7782
tradeSplitterAdapter = await deployer.adapters.deployUniswapV2IndexExchangeAdapter(tradeSplitter.address);
7883
tradeSplitterAdapterName = "TRADESPLITTER";
7984

test/integration/ammSplitterTradeModule.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,12 @@ describe("AMMSplitterTradeModule", () => {
7676
setup.dai.address
7777
);
7878

79-
tradeSplitter = await deployer.product.deployAMMSplitter(uniswapSetup.router.address, sushiswapSetup.router.address);
79+
tradeSplitter = await deployer.product.deployAMMSplitter(
80+
uniswapSetup.router.address,
81+
sushiswapSetup.router.address,
82+
uniswapSetup.factory.address,
83+
sushiswapSetup.factory.address
84+
);
8085

8186
tradeSplitterExchangeAdapter = await deployer.adapters.deployUniswapV2ExchangeAdapter(tradeSplitter.address);
8287
tradeSplitterAdapterName = "TRADESPLITTER";

test/product/ammSplitter.spec.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
import DeployHelper from "@utils/deploys";
1313
import { SystemFixture, UniswapFixture } from "@utils/fixtures";
1414
import { Account } from "@utils/test/types";
15-
import { AMMSplitter } from "@utils/contracts";
15+
import { AMMSplitter, UniswapV2Factory } from "@utils/contracts";
1616
import { UniswapV2Router02 } from "@utils/contracts";
1717
import { Address } from "@utils/types";
1818
import { bitcoin, ether, preciseMul } from "@utils/common";
@@ -56,7 +56,12 @@ describe("AMMSplitter", async () => {
5656
setup.dai.address
5757
);
5858

59-
splitter = await deployer.product.deployAMMSplitter(uniswapSetup.router.address, sushiswapSetup.router.address);
59+
splitter = await deployer.product.deployAMMSplitter(
60+
uniswapSetup.router.address,
61+
sushiswapSetup.router.address,
62+
uniswapSetup.factory.address,
63+
sushiswapSetup.factory.address
64+
);
6065
});
6166

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

6671
let subjectUniswapRouter: UniswapV2Router02;
6772
let subjectSushiswapRouter: UniswapV2Router02;
73+
let subjectUniswapFactory: UniswapV2Factory;
74+
let subjectSushiswapFactory: UniswapV2Factory;
6875

6976
beforeEach(() => {
7077
subjectUniswapRouter = uniswapSetup.router;
7178
subjectSushiswapRouter = sushiswapSetup.router;
79+
subjectUniswapFactory = uniswapSetup.factory;
80+
subjectSushiswapFactory = sushiswapSetup.factory;
7281
});
7382

7483
async function subject(): Promise<AMMSplitter> {
75-
return deployer.product.deployAMMSplitter(subjectUniswapRouter.address, subjectSushiswapRouter.address);
84+
return deployer.product.deployAMMSplitter(
85+
subjectUniswapRouter.address,
86+
subjectSushiswapRouter.address,
87+
subjectUniswapFactory.address,
88+
subjectSushiswapFactory.address
89+
);
7690
}
7791

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

8195
expect(await splitter.uniRouter()).to.eq(subjectUniswapRouter.address);
8296
expect(await splitter.sushiRouter()).to.eq(subjectSushiswapRouter.address);
97+
expect(await splitter.uniFactory()).to.eq(subjectUniswapFactory.address);
98+
expect(await splitter.sushiFactory()).to.eq(subjectSushiswapFactory.address);
8399
});
84100
});
85101

utils/deploys/deployProduct.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ export default class DeployProduct {
3737
return await new AssetLimitHook__factory(this._deployerSigner).attach(assetLimitHookAddress);
3838
}
3939

40-
public async deployAMMSplitter(uniRouter: Address, sushiRouter: Address): Promise<AMMSplitter> {
41-
return await new AMMSplitter__factory(this._deployerSigner).deploy(uniRouter, sushiRouter);
40+
public async deployAMMSplitter(
41+
uniRouter: Address,
42+
sushiRouter: Address,
43+
uniFactory: Address,
44+
sushiFactory: Address
45+
): Promise<AMMSplitter> {
46+
return await new AMMSplitter__factory(this._deployerSigner).deploy(uniRouter, sushiRouter, uniFactory, sushiFactory);
4247
}
4348
}

0 commit comments

Comments
 (0)