sdk
sdk copied to clipboard
feat: createUncheckedTrade
createUncheckedTrade is a way of simulating trades, this may be desirable feature for users
see https://github.com/Uniswap/v3-sdk/blob/7c3aedd0cf9441d03607e258734eada44a73863d/src/entities/trade.ts#L346
/**
* Creates a trade without computing the result of swapping through the route. Useful when you have simulated the trade
* elsewhere and do not have any tick data
* @template TInput The input token, either Ether or an ERC-20
* @template TOutput The output token, either Ether or an ERC-20
* @template TTradeType The type of the trade, either exact in or exact out
* @param constructorArguments The arguments passed to the trade constructor
* @returns The unchecked trade
*/
public static createUncheckedTrade<
TInput extends Currency,
TOutput extends Currency,
TTradeType extends TradeType
>(constructorArguments: {
route: Route<TInput, TOutput>
inputAmount: CurrencyAmount<TInput>
outputAmount: CurrencyAmount<TOutput>
tradeType: TTradeType
}): Trade<TInput, TOutput, TTradeType> {
return new Trade({
...constructorArguments,
routes: [
{
inputAmount: constructorArguments.inputAmount,
outputAmount: constructorArguments.outputAmount,
route: constructorArguments.route
}
]
})
}
/**
* Creates a trade without computing the result of swapping through the routes. Useful when you have simulated the trade
* elsewhere and do not have any tick data
* @template TInput The input token, either Ether or an ERC-20
* @template TOutput The output token, either Ether or an ERC-20
* @template TTradeType The type of the trade, either exact in or exact out
* @param constructorArguments The arguments passed to the trade constructor
* @returns The unchecked trade
*/
public static createUncheckedTradeWithMultipleRoutes<
TInput extends Currency,
TOutput extends Currency,
TTradeType extends TradeType
>(constructorArguments: {
routes: {
route: Route<TInput, TOutput>
inputAmount: CurrencyAmount<TInput>
outputAmount: CurrencyAmount<TOutput>
}[]
tradeType: TTradeType
}): Trade<TInput, TOutput, TTradeType> {
return new Trade(constructorArguments)
}