Skip to content

Commit

Permalink
dont use router in uniswaplp
Browse files Browse the repository at this point in the history
  • Loading branch information
fengtality committed Jul 11, 2023
1 parent 8971533 commit c59e5c2
Showing 1 changed file with 44 additions and 41 deletions.
85 changes: 44 additions & 41 deletions src/connectors/uniswap/uniswap.lp.helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ import { UniswapConfig } from './uniswap.config';
import { Contract, ContractInterface } from '@ethersproject/contracts';
import {
Token,
Fraction,
// Fraction,
CurrencyAmount,
Percent,
Price,
} from '@uniswap/sdk-core';
import * as uniV3 from '@uniswap/v3-sdk';
import {
AlphaRouter,
SwapToRatioResponse,
SwapToRatioStatus,
// SwapToRatioResponse,
// SwapToRatioStatus,
} from '@uniswap/smart-order-router';
import { providers, Wallet, Signer, utils } from 'ethers';
import { percentRegexp } from '../../services/config-manager-v2';
Expand Down Expand Up @@ -384,44 +384,47 @@ export class UniswapLPHelper {
useFullPrecision: true,
});

const autorouterRoute: SwapToRatioResponse =
await this.alphaRouter.routeToRatio(
CurrencyAmount.fromRawAmount(
token0,
utils.parseUnits(amount0, token0.decimals).toString()
),
CurrencyAmount.fromRawAmount(
token1,
utils.parseUnits(amount1, token1.decimals).toString()
),
position,
{
ratioErrorTolerance: new Fraction(1, 100),
maxIterations: 6,
},
{
swapOptions: swapOptions,
addLiquidityOptions: addLiquidityOptions,
}
);

let methodParameters: uniV3.MethodParameters;
let swapReq = false;
if (autorouterRoute.status === SwapToRatioStatus.SUCCESS) {
swapReq = true;
methodParameters = autorouterRoute.result
.methodParameters as uniV3.MethodParameters;
} else if (autorouterRoute.status === SwapToRatioStatus.NO_SWAP_NEEDED) {
methodParameters = uniV3.NonfungiblePositionManager.addCallParameters(
position,
{ ...swapOptions, ...addLiquidityOptions }
);
} else {
throw new Error(
`Unable to add liquidity - ${SwapToRatioStatus[autorouterRoute.status]}`
);
}
return { ...methodParameters, swapRequired: swapReq };
// const autorouterRoute: SwapToRatioResponse =
// await this.alphaRouter.routeToRatio(
// CurrencyAmount.fromRawAmount(
// token0,
// utils.parseUnits(amount0, token0.decimals).toString()
// ),
// CurrencyAmount.fromRawAmount(
// token1,
// utils.parseUnits(amount1, token1.decimals).toString()
// ),
// position,
// {
// ratioErrorTolerance: new Fraction(1, 100),
// maxIterations: 6,
// },
// {
// swapOptions: swapOptions,
// addLiquidityOptions: addLiquidityOptions,
// }
// );
// let methodParameters: uniV3.MethodParameters;
// let swapReq = false;
// if (autorouterRoute.status === SwapToRatioStatus.SUCCESS) {
// swapReq = true;
// methodParameters = autorouterRoute.result
// .methodParameters as uniV3.MethodParameters;
// } else if (autorouterRoute.status === SwapToRatioStatus.NO_SWAP_NEEDED) {
// methodParameters = uniV3.NonfungiblePositionManager.addCallParameters(
// position,
// { ...swapOptions, ...addLiquidityOptions }
// );
// } else {
// throw new Error(
// `Unable to add liquidity - ${SwapToRatioStatus[autorouterRoute.status]}`
// );
// }
const methodParameters = uniV3.NonfungiblePositionManager.addCallParameters(
position,
{ ...swapOptions, ...addLiquidityOptions }
);
return { ...methodParameters, swapRequired: false };
}

async reducePositionHelper(
Expand Down

0 comments on commit c59e5c2

Please sign in to comment.