smart-order-router-tbd 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { BigNumber } from '@ethersproject/bignumber';
2
- import { Token, TradeType } from '@uniswap/sdk-core';
2
+ import { Currency, Token, TradeType } from '@uniswap/sdk-core';
3
3
  import { CurrencyAmount } from '../../../util/amounts';
4
4
  import { PV4BIN_PROTOCOL } from '../../../util/pv4bin-constants';
5
5
  import { PV4BINRoute } from '../../router';
@@ -32,7 +32,7 @@ export declare class PV4BINRouteWithValidQuote implements IPV4BINRouteWithValidQ
32
32
  gasCostInUSD: CurrencyAmount;
33
33
  gasCostInGasToken?: CurrencyAmount;
34
34
  poolIdentifiers: string[];
35
- tokenPath: Token[];
35
+ tokenPath: Currency[];
36
36
  tradeType: TradeType;
37
37
  toString(): string;
38
38
  constructor({ amount, rawQuote, percent, route, gasModel, quoteToken, tradeType, }: PV4BINRouteWithValidQuoteParams);
@@ -52,8 +52,8 @@ class PV4BINRouteWithValidQuote {
52
52
  this.quoteAdjustedForGas = quoteGasAdjusted;
53
53
  }
54
54
  this.poolIdentifiers = lodash_1.default.map(route.pools, (p) => p.poolId);
55
- this.tokenPath = this.route.path;
55
+ this.tokenPath = this.route.currencyPath;
56
56
  }
57
57
  }
58
58
  exports.PV4BINRouteWithValidQuote = PV4BINRouteWithValidQuote;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0YmluLXJvdXRlLXdpdGgtdmFsaWQtcXVvdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcm91dGVycy9hbHBoYS1yb3V0ZXIvZW50aXRpZXMvcHY0YmluLXJvdXRlLXdpdGgtdmFsaWQtcXVvdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0RBQXFEO0FBQ3JELG9EQUF1QjtBQUV2QixtREFBdUQ7QUFDdkQscUVBQWlFO0FBQ2pFLGlEQUFxRDtBQW1CckQsTUFBYSx5QkFBeUI7SUFDcEIsUUFBUSxHQUFHLGtDQUFlLENBQUM7SUFDcEMsTUFBTSxDQUFpQjtJQUN2QixRQUFRLENBQVk7SUFDcEIsS0FBSyxDQUFpQjtJQUN0QixtQkFBbUIsQ0FBaUI7SUFDcEMsT0FBTyxDQUFTO0lBQ2hCLEtBQUssQ0FBYztJQUNuQixVQUFVLENBQVE7SUFDbEIsUUFBUSxDQUFpQjtJQUN6QixXQUFXLENBQVk7SUFDdkIsY0FBYyxDQUFpQjtJQUMvQixZQUFZLENBQWlCO0lBQzdCLGlCQUFpQixDQUFrQjtJQUNuQyxlQUFlLENBQVc7SUFDMUIsU0FBUyxDQUFVO0lBQ25CLFNBQVMsQ0FBWTtJQUVyQixRQUFRO1FBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUM1QixDQUFDLENBQ0YsaUJBQWlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLE9BQU8sSUFBQSxzQkFBYSxFQUN6SSxJQUFJLENBQUMsS0FBSyxDQUNYLEVBQUUsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixPQUFPLEVBQ1AsS0FBSyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxHQUN1QjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLHdCQUFjLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsR0FDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxvQkFBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1FBQzlDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsZ0JBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBL0RELDhEQStEQyJ9
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0YmluLXJvdXRlLXdpdGgtdmFsaWQtcXVvdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcm91dGVycy9hbHBoYS1yb3V0ZXIvZW50aXRpZXMvcHY0YmluLXJvdXRlLXdpdGgtdmFsaWQtcXVvdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0RBQStEO0FBQy9ELG9EQUF1QjtBQUV2QixtREFBdUQ7QUFDdkQscUVBQWlFO0FBQ2pFLGlEQUFxRDtBQW1CckQsTUFBYSx5QkFBeUI7SUFDcEIsUUFBUSxHQUFHLGtDQUFlLENBQUM7SUFDcEMsTUFBTSxDQUFpQjtJQUN2QixRQUFRLENBQVk7SUFDcEIsS0FBSyxDQUFpQjtJQUN0QixtQkFBbUIsQ0FBaUI7SUFDcEMsT0FBTyxDQUFTO0lBQ2hCLEtBQUssQ0FBYztJQUNuQixVQUFVLENBQVE7SUFDbEIsUUFBUSxDQUFpQjtJQUN6QixXQUFXLENBQVk7SUFDdkIsY0FBYyxDQUFpQjtJQUMvQixZQUFZLENBQWlCO0lBQzdCLGlCQUFpQixDQUFrQjtJQUNuQyxlQUFlLENBQVc7SUFDMUIsU0FBUyxDQUFhO0lBQ3RCLFNBQVMsQ0FBWTtJQUVyQixRQUFRO1FBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUM1QixDQUFDLENBQ0YsaUJBQWlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLE9BQU8sSUFBQSxzQkFBYSxFQUN6SSxJQUFJLENBQUMsS0FBSyxDQUNYLEVBQUUsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixPQUFPLEVBQ1AsS0FBSyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxHQUN1QjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLHdCQUFjLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsR0FDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxvQkFBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1FBQzlDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsZ0JBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBL0RELDhEQStEQyJ9
@@ -1,5 +1,5 @@
1
1
  import { BigNumber } from '@ethersproject/bignumber';
2
- import { Token, TradeType } from '@uniswap/sdk-core';
2
+ import { Currency, Token, TradeType } from '@uniswap/sdk-core';
3
3
  import { CurrencyAmount } from '../../../util/amounts';
4
4
  import { PV4CL_PROTOCOL } from '../../../util/pv4cl-constants';
5
5
  import { PV4CLRoute } from '../../router';
@@ -32,7 +32,7 @@ export declare class PV4CLRouteWithValidQuote implements IPV4CLRouteWithValidQuo
32
32
  gasCostInUSD: CurrencyAmount;
33
33
  gasCostInGasToken?: CurrencyAmount;
34
34
  poolIdentifiers: string[];
35
- tokenPath: Token[];
35
+ tokenPath: Currency[];
36
36
  tradeType: TradeType;
37
37
  toString(): string;
38
38
  constructor({ amount, rawQuote, percent, route, gasModel, quoteToken, tradeType, }: PV4CLRouteWithValidQuoteParams);
@@ -52,8 +52,8 @@ class PV4CLRouteWithValidQuote {
52
52
  this.quoteAdjustedForGas = quoteGasAdjusted;
53
53
  }
54
54
  this.poolIdentifiers = lodash_1.default.map(route.pools, (p) => p.poolId);
55
- this.tokenPath = this.route.path;
55
+ this.tokenPath = this.route.currencyPath;
56
56
  }
57
57
  }
58
58
  exports.PV4CLRouteWithValidQuote = PV4CLRouteWithValidQuote;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0Y2wtcm91dGUtd2l0aC12YWxpZC1xdW90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9lbnRpdGllcy9wdjRjbC1yb3V0ZS13aXRoLXZhbGlkLXF1b3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGdEQUFxRDtBQUNyRCxvREFBdUI7QUFFdkIsbURBQXVEO0FBQ3ZELG1FQUErRDtBQUMvRCxpREFBcUQ7QUFtQnJELE1BQWEsd0JBQXdCO0lBQ25CLFFBQVEsR0FBRyxnQ0FBYyxDQUFDO0lBQ25DLE1BQU0sQ0FBaUI7SUFDdkIsUUFBUSxDQUFZO0lBQ3BCLEtBQUssQ0FBaUI7SUFDdEIsbUJBQW1CLENBQWlCO0lBQ3BDLE9BQU8sQ0FBUztJQUNoQixLQUFLLENBQWE7SUFDbEIsVUFBVSxDQUFRO0lBQ2xCLFFBQVEsQ0FBaUI7SUFDekIsV0FBVyxDQUFZO0lBQ3ZCLGNBQWMsQ0FBaUI7SUFDL0IsWUFBWSxDQUFpQjtJQUM3QixpQkFBaUIsQ0FBa0I7SUFDbkMsZUFBZSxDQUFXO0lBQzFCLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVk7SUFFckIsUUFBUTtRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDNUIsQ0FBQyxDQUNGLGlCQUFpQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxPQUFPLElBQUEsc0JBQWEsRUFDekksSUFBSSxDQUFDLEtBQUssQ0FDWCxFQUFFLENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxFQUNQLEtBQUssRUFDTCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsR0FDc0I7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyx3QkFBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLEdBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksb0JBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGdCQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQS9ERCw0REErREMifQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0Y2wtcm91dGUtd2l0aC12YWxpZC1xdW90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9lbnRpdGllcy9wdjRjbC1yb3V0ZS13aXRoLXZhbGlkLXF1b3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGdEQUErRDtBQUMvRCxvREFBdUI7QUFFdkIsbURBQXVEO0FBQ3ZELG1FQUErRDtBQUMvRCxpREFBcUQ7QUFtQnJELE1BQWEsd0JBQXdCO0lBQ25CLFFBQVEsR0FBRyxnQ0FBYyxDQUFDO0lBQ25DLE1BQU0sQ0FBaUI7SUFDdkIsUUFBUSxDQUFZO0lBQ3BCLEtBQUssQ0FBaUI7SUFDdEIsbUJBQW1CLENBQWlCO0lBQ3BDLE9BQU8sQ0FBUztJQUNoQixLQUFLLENBQWE7SUFDbEIsVUFBVSxDQUFRO0lBQ2xCLFFBQVEsQ0FBaUI7SUFDekIsV0FBVyxDQUFZO0lBQ3ZCLGNBQWMsQ0FBaUI7SUFDL0IsWUFBWSxDQUFpQjtJQUM3QixpQkFBaUIsQ0FBa0I7SUFDbkMsZUFBZSxDQUFXO0lBQzFCLFNBQVMsQ0FBYTtJQUN0QixTQUFTLENBQVk7SUFFckIsUUFBUTtRQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDNUIsQ0FBQyxDQUNGLGlCQUFpQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxPQUFPLElBQUEsc0JBQWEsRUFDekksSUFBSSxDQUFDLEtBQUssQ0FDWCxFQUFFLENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxFQUNQLEtBQUssRUFDTCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsR0FDc0I7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyx3QkFBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLEdBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksb0JBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGdCQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQS9ERCw0REErREMifQ==
@@ -29,10 +29,6 @@ class PV4BINQuoter {
29
29
  this.chainId = chainId;
30
30
  }
31
31
  async getRoutesThenQuotes(tokenIn, tokenOut, amount, amounts, percents, quoteToken, pools, tradeType, routingConfig, gasModel, _gasPriceWei) {
32
- if (tradeType !== sdk_core_1.TradeType.EXACT_INPUT) {
33
- util_1.log.info('PV4BIN only supports EXACT_INPUT for now, skipping');
34
- return { routesWithValidQuotes: [], candidatePools: undefined };
35
- }
36
32
  if (pools.length === 0) {
37
33
  return { routesWithValidQuotes: [], candidatePools: undefined };
38
34
  }
@@ -75,61 +71,122 @@ class PV4BINQuoter {
75
71
  for (let aIdx = 0; aIdx < amounts.length; aIdx++) {
76
72
  const amt = amounts[aIdx];
77
73
  const amountBN = bignumber_1.BigNumber.from(amt.quotient.toString());
78
- if (route.pools.length === 1) {
79
- const pool = route.pools[0];
80
- const inputAddr = route.input.address.toLowerCase();
81
- const zeroForOne = inputAddr === pool.currency0Addr.toLowerCase() ||
82
- (pool.currency0Addr === pv4cl_constants_1.ADDRESS_ZERO &&
83
- inputAddr !== pool.currency1Addr.toLowerCase());
84
- const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInputSingle', [
85
- {
86
- poolKey: {
87
- currency0: pool.currency0Addr,
88
- currency1: pool.currency1Addr,
89
- hooks: pool.hooks,
90
- poolManager: pool.poolManager,
91
- fee: pool.fee,
92
- parameters: pool.parameters,
74
+ if (tradeType === sdk_core_1.TradeType.EXACT_INPUT) {
75
+ if (route.pools.length === 1) {
76
+ const pool = route.pools[0];
77
+ const inputAddr = route.input.address.toLowerCase();
78
+ const zeroForOne = inputAddr === pool.currency0Addr.toLowerCase() ||
79
+ (pool.currency0Addr === pv4cl_constants_1.ADDRESS_ZERO &&
80
+ inputAddr !== pool.currency1Addr.toLowerCase());
81
+ const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInputSingle', [
82
+ {
83
+ poolKey: {
84
+ currency0: pool.currency0Addr,
85
+ currency1: pool.currency1Addr,
86
+ hooks: pool.hooks,
87
+ poolManager: pool.poolManager,
88
+ fee: pool.fee,
89
+ parameters: pool.parameters,
90
+ },
91
+ zeroForOne,
92
+ exactAmount: amountBN,
93
+ hookData: '0x',
94
+ },
95
+ ]);
96
+ callEntries.push({
97
+ routeIdx: rIdx,
98
+ amountIdx: aIdx,
99
+ functionName: 'quoteExactInputSingle',
100
+ callData,
101
+ });
102
+ }
103
+ else {
104
+ const pathKeys = this.buildPathKeys(route);
105
+ const firstPool = route.pools[0];
106
+ const inAddr = route.input.address.toLowerCase();
107
+ let exactCurrency;
108
+ if (inAddr === firstPool.currency0Addr.toLowerCase()) {
109
+ exactCurrency = firstPool.currency0Addr;
110
+ }
111
+ else if (inAddr === firstPool.currency1Addr.toLowerCase()) {
112
+ exactCurrency = firstPool.currency1Addr;
113
+ }
114
+ else {
115
+ exactCurrency = pv4cl_constants_1.ADDRESS_ZERO;
116
+ }
117
+ const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInput', [
118
+ {
119
+ exactCurrency,
120
+ path: pathKeys,
121
+ exactAmount: amountBN,
93
122
  },
94
- zeroForOne,
95
- exactAmount: amountBN,
96
- hookData: '0x',
97
- },
98
- ]);
99
- callEntries.push({
100
- routeIdx: rIdx,
101
- amountIdx: aIdx,
102
- functionName: 'quoteExactInputSingle',
103
- callData,
104
- });
123
+ ]);
124
+ callEntries.push({
125
+ routeIdx: rIdx,
126
+ amountIdx: aIdx,
127
+ functionName: 'quoteExactInput',
128
+ callData,
129
+ });
130
+ }
105
131
  }
106
132
  else {
107
- const pathKeys = this.buildPathKeys(route);
108
- const firstPool = route.pools[0];
109
- const inAddr = route.input.address.toLowerCase();
110
- let exactCurrency;
111
- if (inAddr === firstPool.currency0Addr.toLowerCase()) {
112
- exactCurrency = firstPool.currency0Addr;
113
- }
114
- else if (inAddr === firstPool.currency1Addr.toLowerCase()) {
115
- exactCurrency = firstPool.currency1Addr;
133
+ // EXACT_OUTPUT: amount is in the output token; quoter returns amountIn.
134
+ if (route.pools.length === 1) {
135
+ const pool = route.pools[0];
136
+ const inputAddr = route.input.address.toLowerCase();
137
+ const zeroForOne = inputAddr === pool.currency0Addr.toLowerCase() ||
138
+ (pool.currency0Addr === pv4cl_constants_1.ADDRESS_ZERO &&
139
+ inputAddr !== pool.currency1Addr.toLowerCase());
140
+ const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactOutputSingle', [
141
+ {
142
+ poolKey: {
143
+ currency0: pool.currency0Addr,
144
+ currency1: pool.currency1Addr,
145
+ hooks: pool.hooks,
146
+ poolManager: pool.poolManager,
147
+ fee: pool.fee,
148
+ parameters: pool.parameters,
149
+ },
150
+ zeroForOne,
151
+ exactAmount: amountBN,
152
+ hookData: '0x',
153
+ },
154
+ ]);
155
+ callEntries.push({
156
+ routeIdx: rIdx,
157
+ amountIdx: aIdx,
158
+ functionName: 'quoteExactOutputSingle',
159
+ callData,
160
+ });
116
161
  }
117
162
  else {
118
- exactCurrency = pv4cl_constants_1.ADDRESS_ZERO;
163
+ const pathKeys = this.buildPathKeys(route);
164
+ const lastPool = route.pools[route.pools.length - 1];
165
+ const outAddr = route.output.address.toLowerCase();
166
+ let exactCurrency;
167
+ if (outAddr === lastPool.currency0Addr.toLowerCase()) {
168
+ exactCurrency = lastPool.currency0Addr;
169
+ }
170
+ else if (outAddr === lastPool.currency1Addr.toLowerCase()) {
171
+ exactCurrency = lastPool.currency1Addr;
172
+ }
173
+ else {
174
+ exactCurrency = pv4cl_constants_1.ADDRESS_ZERO;
175
+ }
176
+ const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactOutput', [
177
+ {
178
+ exactCurrency,
179
+ path: pathKeys,
180
+ exactAmount: amountBN,
181
+ },
182
+ ]);
183
+ callEntries.push({
184
+ routeIdx: rIdx,
185
+ amountIdx: aIdx,
186
+ functionName: 'quoteExactOutput',
187
+ callData,
188
+ });
119
189
  }
120
- const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInput', [
121
- {
122
- exactCurrency,
123
- path: pathKeys,
124
- exactAmount: amountBN,
125
- },
126
- ]);
127
- callEntries.push({
128
- routeIdx: rIdx,
129
- amountIdx: aIdx,
130
- functionName: 'quoteExactInput',
131
- callData,
132
- });
133
190
  }
134
191
  }
135
192
  }
@@ -222,4 +279,4 @@ class PV4BINQuoter {
222
279
  }
223
280
  }
224
281
  exports.PV4BINQuoter = PV4BINQuoter;
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0YmluLXF1b3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9xdW90ZXJzL3B2NGJpbi1xdW90ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFvRDtBQUVwRCxnREFBOEQ7QUFFOUQsd0NBS3VCO0FBQ3ZCLHFFQUt3QztBQUN4QyxtRUFBNkQ7QUFHN0QsNkZBQXNGO0FBQ3RGLHdFQUF5RTtBQUl6RSxNQUFNLGtCQUFrQixHQUFHLDRDQUE0QyxDQUFDO0FBQ3hFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLDJKQUEySjtDQUM1SixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQWEsWUFBWTtJQUNiLFFBQVEsQ0FBZTtJQUN2QixPQUFPLENBQVU7SUFFM0IsWUFDRSxRQUFzQixFQUN0QixPQUFnQjtRQUVoQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUM5QixPQUFjLEVBQ2QsUUFBZSxFQUNmLE1BQXNCLEVBQ3RCLE9BQXlCLEVBQ3pCLFFBQWtCLEVBQ2xCLFVBQWlCLEVBQ2pCLEtBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLGFBQWdDLEVBQ2hDLFFBQStDLEVBQy9DLFlBQXdCO1FBRXhCLElBQUksU0FBUyxLQUFLLG9CQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEMsVUFBRyxDQUFDLElBQUksQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2xFLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLHFCQUFxQixF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
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0YmluLXF1b3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9xdW90ZXJzL3B2NGJpbi1xdW90ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFvRDtBQUVwRCxnREFBOEQ7QUFFOUQsd0NBS3VCO0FBQ3ZCLHFFQUt3QztBQUN4QyxtRUFBNkQ7QUFHN0QsNkZBQXNGO0FBQ3RGLHdFQUF5RTtBQUl6RSxNQUFNLGtCQUFrQixHQUFHLDRDQUE0QyxDQUFDO0FBQ3hFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLDJKQUEySjtDQUM1SixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQWEsWUFBWTtJQUNiLFFBQVEsQ0FBZTtJQUN2QixPQUFPLENBQVU7SUFFM0IsWUFDRSxRQUFzQixFQUN0QixPQUFnQjtRQUVoQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUM5QixPQUFjLEVBQ2QsUUFBZSxFQUNmLE1BQXNCLEVBQ3RCLE9BQXlCLEVBQ3pCLFFBQWtCLEVBQ2xCLFVBQWlCLEVBQ2pCLEtBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLGFBQWdDLEVBQ2hDLFFBQStDLEVBQy9DLFlBQXdCO1FBRXhCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYiwyRUFBMkUsQ0FDNUUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJ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