tradeComparator function
Implementation
int tradeComparator(Trade a, Trade b) {
var ioComp = inputOutputComparator(InputOutput(a.inputAmount, a.outputAmount),
InputOutput(b.inputAmount, b.outputAmount));
if (ioComp != 0) {
return ioComp;
}
// consider lowest slippage next, since these are less likely to fail
if (a.priceImpact.lessThan(b.priceImpact)) {
return -1;
} else if (a.priceImpact.greaterThan(b.priceImpact)) {
return 1;
}
// finally consider the number of hops since each hop costs gas
return a.route.path.length - b.route.pairs.length;
}