@paraswap/dex-lib 4.6.21 → 4.6.22-yo-protocol.0

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.
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ { "internalType": "address", "name": "market", "type": "address" },
5
+ { "internalType": "uint256", "name": "exactPtIn", "type": "uint256" },
6
+ { "internalType": "address", "name": "tokenOut", "type": "address" }
7
+ ],
8
+ "name": "swapExactPtForTokenStatic",
9
+ "outputs": [
10
+ { "internalType": "uint256", "name": "netTokenOut", "type": "uint256" },
11
+ { "internalType": "uint256", "name": "netSyToRedeem", "type": "uint256" },
12
+ { "internalType": "uint256", "name": "netSyFee", "type": "uint256" },
13
+ { "internalType": "uint256", "name": "priceImpact", "type": "uint256" },
14
+ { "internalType": "uint256", "name": "exchangeRateAfter", "type": "uint256" }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ }
19
+ ]
@@ -13,7 +13,7 @@ export declare class AavePtToUnderlying extends SimpleExchange implements IDex<A
13
13
  readonly needWrapNative = false;
14
14
  readonly isFeeOnTransferSupported = false;
15
15
  private config;
16
- private oracleInterface;
16
+ private routerStaticInterface;
17
17
  private markets;
18
18
  logger: Logger;
19
19
  static dexKeysWithNetwork: {
@@ -30,8 +30,7 @@ export declare class AavePtToUnderlying extends SimpleExchange implements IDex<A
30
30
  getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
31
31
  private fetchActiveMarkets;
32
32
  private getMarketByPtToken;
33
- private getOracleRate;
34
- private calculatePriceFromOracle;
33
+ private calculatePricesFromRouterStatic;
35
34
  getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<ExchangePrices<AavePtToUnderlyingData> | null>;
36
35
  getCalldataGasCost(): number | number[];
37
36
  getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: AavePtToUnderlyingData, side: SwapSide): AdapterExchangeParam;
@@ -43,7 +43,7 @@ const utils_1 = require("../../utils");
43
43
  const simple_exchange_1 = require("../simple-exchange");
44
44
  const config_1 = require("./config");
45
45
  const abi_1 = require("@ethersproject/abi");
46
- const PendleOracle_json_1 = __importDefault(require("../../abi/PendleOracle.json"));
46
+ const PendleRouterStatic_json_1 = __importDefault(require("../../abi/PendleRouterStatic.json"));
47
47
  const constants_2 = require("./constants");
48
48
  class AavePtToUnderlying extends simple_exchange_1.SimpleExchange {
49
49
  network;
@@ -53,7 +53,7 @@ class AavePtToUnderlying extends simple_exchange_1.SimpleExchange {
53
53
  needWrapNative = false;
54
54
  isFeeOnTransferSupported = false;
55
55
  config;
56
- oracleInterface;
56
+ routerStaticInterface;
57
57
  markets = new Map();
58
58
  logger;
59
59
  static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.AavePtToUnderlyingConfig);
@@ -64,7 +64,7 @@ class AavePtToUnderlying extends simple_exchange_1.SimpleExchange {
64
64
  this.dexHelper = dexHelper;
65
65
  this.config = config_1.AavePtToUnderlyingConfig[dexKey][network];
66
66
  this.logger = dexHelper.getLogger(dexKey);
67
- this.oracleInterface = new abi_1.Interface(PendleOracle_json_1.default);
67
+ this.routerStaticInterface = new abi_1.Interface(PendleRouterStatic_json_1.default);
68
68
  }
69
69
  async initializePricing(blockNumber) {
70
70
  await this.fetchActiveMarkets();
@@ -140,29 +140,52 @@ class AavePtToUnderlying extends simple_exchange_1.SimpleExchange {
140
140
  }
141
141
  return cachedMarket;
142
142
  }
143
- async getOracleRate(market) {
144
- try {
145
- const callData = this.oracleInterface.encodeFunctionData('getPtToAssetRate', [market.marketAddress, 0]);
146
- const rate = await this.dexHelper.provider.call({
147
- to: this.config.oracleAddress,
148
- data: callData,
149
- });
150
- return BigInt(rate);
143
+ async calculatePricesFromRouterStatic(market, amounts, side, blockNumber) {
144
+ if (side === constants_1.SwapSide.BUY) {
145
+ return null;
151
146
  }
152
- catch (error) {
153
- this.logger.error(`Failed to fetch oracle rate: ${error}`);
154
- return 0n;
147
+ const blockTag = blockNumber > 0 ? blockNumber : undefined;
148
+ const prices = new Array(amounts.length).fill(0n);
149
+ const calls = [];
150
+ const indices = [];
151
+ const decodeQuote = (raw) => {
152
+ const bytes = typeof raw === 'string'
153
+ ? raw
154
+ : typeof raw?.returnData === 'string'
155
+ ? raw.returnData
156
+ : raw;
157
+ const decoded = this.routerStaticInterface.decodeFunctionResult('swapExactPtForTokenStatic', bytes);
158
+ return BigInt(decoded[0].toString());
159
+ };
160
+ amounts.forEach((amount, idx) => {
161
+ if (amount === 0n) {
162
+ return;
163
+ }
164
+ calls.push({
165
+ target: this.config.routerStaticAddress,
166
+ callData: this.routerStaticInterface.encodeFunctionData('swapExactPtForTokenStatic', [market.marketAddress, amount.toString(), market.underlyingAddress]),
167
+ decodeFunction: decodeQuote,
168
+ });
169
+ indices.push(idx);
170
+ });
171
+ if (calls.length === 0) {
172
+ return prices;
155
173
  }
156
- }
157
- async calculatePriceFromOracle(market, amounts, side) {
158
- const rate = await this.getOracleRate(market);
159
- if (rate === 0n)
160
- return [];
161
- if (side === constants_1.SwapSide.SELL) {
162
- return amounts.map(amount => (amount * rate) / 10n ** 18n);
174
+ try {
175
+ const results = await this.dexHelper.multiWrapper.tryAggregate(true, calls, blockTag);
176
+ for (let i = 0; i < results.length; i += 1) {
177
+ const result = results[i];
178
+ if (!result.success) {
179
+ this.logger.error(`${this.dexKey}: router-static quote failed for ${amounts[indices[i]].toString()} PT on ${market.marketAddress}`);
180
+ return null;
181
+ }
182
+ prices[indices[i]] = result.returnData;
183
+ }
184
+ return prices;
163
185
  }
164
- else {
165
- return amounts.map(amount => (amount * 10n ** 18n + (rate - 1n)) / rate);
186
+ catch (error) {
187
+ this.logger.error(`${this.dexKey}: router-static multicall failed for market ${market.marketAddress}: ${error}`);
188
+ return null;
166
189
  }
167
190
  }
168
191
  async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
@@ -181,11 +204,15 @@ class AavePtToUnderlying extends simple_exchange_1.SimpleExchange {
181
204
  return null;
182
205
  }
183
206
  }
184
- const unit = (0, utils_1.getBigIntPow)(side === constants_1.SwapSide.SELL ? srcToken.decimals : destToken.decimals);
207
+ if (side === constants_1.SwapSide.BUY) {
208
+ return null;
209
+ }
210
+ const unit = (0, utils_1.getBigIntPow)(srcToken.decimals);
185
211
  const _amounts = [unit, ...amounts.slice(1)];
186
- const prices = await this.calculatePriceFromOracle(market, _amounts, side);
187
- if (prices.length === 0)
212
+ const prices = await this.calculatePricesFromRouterStatic(market, _amounts, side, blockNumber);
213
+ if (!prices || prices.length === 0) {
188
214
  return null;
215
+ }
189
216
  return [
190
217
  {
191
218
  exchange: this.dexKey,
@@ -1 +1 @@
1
- {"version":3,"file":"aave-pt-to-underlying.js","sourceRoot":"","sources":["../../../src/dex/aave-pt-to-underlying/aave-pt-to-underlying.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aave-pt-to-underlying.js","sourceRoot":"","sources":["../../../src/dex/aave-pt-to-underlying/aave-pt-to-underlying.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,+CAKyB;AACzB,2EAA6D;AAC7D,uCAAkE;AAUlE,wDAAoD;AACpD,qCAAoD;AACpD,4CAA+C;AAC/C,gGAAyE;AACzE,2CAA6E;AAG7E,MAAa,kBACX,SAAQ,gCAAc;IAiBX;IACA;IACA;IAhBF,4BAA4B,GAAG,KAAK,CAAC;IACrC,cAAc,GAAG,KAAK,CAAC;IACvB,wBAAwB,GAAG,KAAK,CAAC;IAElC,MAAM,CAAY;IAClB,qBAAqB,CAAY;IACjC,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEtD,MAAM,CAAS;IAER,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,iCAAwB,CAAC,CAAC;IAElD,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB;QAE9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAJhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QAG9B,IAAI,CAAC,MAAM,GAAG,iCAAwB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,eAAS,CAAC,iCAAwB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,aAAqB;QACrC,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1C,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAC/B,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,sCAAsC;QACtC,IACE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAC1E,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAErD,GAAG,0BAAc,OAAO,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAC;YAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAErB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAErE,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,SAAS;gBACX,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe;qBAC7C,WAAW,EAAE;qBACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjB,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExD,IAAI,iBAAiB,KAAK,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxD,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,GAAgB;oBAC9B,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;oBACzC,aAAa,EAAE,MAAM,CAAC,OAAO;oBAC7B,iBAAiB,EAAE,eAAe,EAAE,6CAA6C;iBAClF,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAIK,KAAK,CAAC,+BAA+B,CAC3C,MAAmB,EACnB,OAAiB,EACjB,IAAc,EACd,WAAmB;QAEnB,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,MAAM,GAAa,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5D,MAAM,KAAK,GAA8B,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAU,EAAE;YACvC,MAAM,KAAK,GACT,OAAO,GAAG,KAAK,QAAQ;gBACrB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,OAAO,GAAG,EAAE,UAAU,KAAK,QAAQ;oBACnC,CAAC,CAAC,GAAG,CAAC,UAAU;oBAChB,CAAC,CAAC,GAAG,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAC7D,2BAA2B,EAC3B,KAAK,CACN,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;gBACvC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CACrD,2BAA2B,EAC3B,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,CACpE;gBACD,cAAc,EAAE,WAAW;aAC5B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAC5D,IAAI,EACJ,KAAK,EACL,QAAQ,CACT,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,oCAAoC,OAAO,CACvD,OAAO,CAAC,CAAC,CAAC,CACX,CAAC,QAAQ,EAAE,UAAU,MAAM,CAAC,aAAa,EAAE,CAC7C,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;YACzC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,+CAA+C,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAC9F,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,eAAe,CAC1B,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1C,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAC/B,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAEpD,MAAM,YAAY,GAChB,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAEtE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,oBAAY,EACvB,QAAQ,CAAC,QAAQ,CAClB,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,+BAA+B,CACvD,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL;gBACE,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACf,OAAO,EAAE,0CAA8B;gBACvC,IAAI,EAAE;oBACJ,aAAa;iBACd;gBACD,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACxD,aAAa,EAAE,CAAC,aAAa,CAAC;aAC/B;SACF,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,iBAAiB,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAA4B,EAC5B,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAC/C,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAEzE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL;oBACE,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,aAAa;oBAC7B,eAAe,EAAE;wBACf;4BACE,OAAO,EAAE,MAAM,CAAC,iBAAiB;4BACjC,QAAQ,EAAE,EAAE;4BACZ,YAAY,EAAE,4BAAgB;yBAC/B;qBACF;oBACD,YAAY,EAAE,mCAAuB;iBACtC;aACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAA4B,EAC5B,IAAc,EACd,OAAgB,EAChB,eAAwB;QAExB,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,SAAS;YACnB,gBAAgB,EAAE,KAAK;SACxB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAE5E,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,8CACf,QAAQ,CAAC,KAAK,IAAI,8BACpB,EAAE,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QAEvB,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,uDAAuD,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG;YACb,cAAc,EAAE,EAAE,CAAC,EAAE;YACrB,YAAY,EAAE,EAAE,CAAC,IAAI;YACrB,cAAc,EAAE,KAAK;YACrB,mBAAmB,EAAE,IAAI;YACzB,eAAe,EAAE,CAAC;SACnB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,aAAqB,EACrB,MAAW;QAEX,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,0BAAc,WAAW,IAAI,CAAC,OAAO,YAAY,aAAa,iBAAiB,CACnF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CACnD,GAAG,CAAC,QAAQ,EAAE,EACd,KAAK,EACL;gBACE,MAAM,EAAE,kBAAkB;aAC3B,CACF,CAAC;YAEF,MAAM,YAAY,GAAG,QAAe,CAAC;YAErC,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,YAAY;gBACvC,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE;aAC7C,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,EAAE,EAAE,IAAI;aACT,CAAC;QACJ,CAAC;IACH,CAAC;;AAxaH,gDAyaC"}
@@ -4,12 +4,15 @@ exports.AavePtToUnderlyingConfig = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  // Pendle V4 Router https://etherscan.io/address/0x888888888889758f76e7103c6cbf23abbf58f946#code
6
6
  const PENDLE_ROUTER_ADDRESS = '0x888888888889758f76e7103c6cbf23abbf58f946';
7
+ // Pendle Router Static https://etherscan.io/address/0x263833d47ea3fa4a30f269323aba6a107f9eb14c
8
+ const PENDLE_ROUTER_STATIC_ADDRESS = '0x263833d47eA3fA4a30f269323aba6a107f9eB14C';
7
9
  // Pendle Oracle https://etherscan.io/address/0x9a9Fa8338dd5E5B2188006f1Cd2Ef26d921650C2
8
10
  const ORACLE_ADDRESS = '0x9a9Fa8338dd5E5B2188006f1Cd2Ef26d921650C2';
9
11
  exports.AavePtToUnderlyingConfig = {
10
12
  AavePtToUnderlying: {
11
13
  [constants_1.Network.MAINNET]: {
12
14
  pendleRouterAddress: PENDLE_ROUTER_ADDRESS,
15
+ routerStaticAddress: PENDLE_ROUTER_STATIC_ADDRESS,
13
16
  oracleAddress: ORACLE_ADDRESS,
14
17
  underlyingAddresses: {
15
18
  USDe: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/aave-pt-to-underlying/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE1C,gGAAgG;AAChG,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAC3E,wFAAwF;AACxF,MAAM,cAAc,GAAG,4CAA4C,CAAC;AAEvD,QAAA,wBAAwB,GAA4B;IAC/D,kBAAkB,EAAE;QAClB,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,mBAAmB,EAAE,qBAAqB;YAC1C,aAAa,EAAE,cAAc;YAC7B,mBAAmB,EAAE;gBACnB,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,4CAA4C;aACpD;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/aave-pt-to-underlying/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE1C,gGAAgG;AAChG,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAC3E,+FAA+F;AAC/F,MAAM,4BAA4B,GAAG,4CAA4C,CAAC;AAClF,wFAAwF;AACxF,MAAM,cAAc,GAAG,4CAA4C,CAAC;AAEvD,QAAA,wBAAwB,GAA4B;IAC/D,kBAAkB,EAAE;QAClB,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,mBAAmB,EAAE,qBAAqB;YAC1C,mBAAmB,EAAE,4BAA4B;YACjD,aAAa,EAAE,cAAc;YAC7B,mBAAmB,EAAE;gBACnB,IAAI,EAAE,4CAA4C;gBAClD,KAAK,EAAE,4CAA4C;aACpD;SACF;KACF;CACF,CAAC"}
@@ -11,6 +11,7 @@ export interface SupportedPt {
11
11
  }
12
12
  export interface DexParams {
13
13
  pendleRouterAddress: string;
14
+ routerStaticAddress: string;
14
15
  oracleAddress: string;
15
16
  underlyingAddresses: Record<string, Address>;
16
17
  }
@@ -45,5 +45,20 @@ exports.ERC4626Config = {
45
45
  cooldownEnabled: true,
46
46
  },
47
47
  },
48
+ yoETH: {
49
+ [constants_1.Network.BASE]: {
50
+ vault: '0x3a43aec53490cb9fa922847385d82fe25d0e9de7', // yoETH
51
+ asset: '0x4200000000000000000000000000000000000006', // WETH
52
+ depositRedeemOnly: true,
53
+ },
54
+ },
55
+ yoUSD: {
56
+ [constants_1.Network.BASE]: {
57
+ vault: '0x0000000f2eb9f69274678c76222b35eec7588a65', // yoUSD
58
+ asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
59
+ decimals: 6,
60
+ depositRedeemOnly: true,
61
+ },
62
+ },
48
63
  };
49
64
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/erc4626/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,aAAa,GAAgC;IACxD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;KACF;IACD,oCAAoC;IACpC,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,KAAK,EAAE,4CAA4C,EAAE,OAAO;YAC5D,KAAK,EAAE,4CAA4C,EAAE,QAAQ;SAC9D;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C,EAAE,QAAQ;YAC7D,KAAK,EAAE,4CAA4C,EAAE,OAAO;SAC7D;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C,EAAE,QAAQ;YAC7D,KAAK,EAAE,4CAA4C,EAAE,OAAO;YAC5D,eAAe,EAAE,IAAI;SACtB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/erc4626/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,aAAa,GAAgC;IACxD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;SACpD;KACF;IACD,oCAAoC;IACpC,IAAI,EAAE;QACJ,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,KAAK,EAAE,4CAA4C,EAAE,OAAO;YAC5D,KAAK,EAAE,4CAA4C,EAAE,QAAQ;SAC9D;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C,EAAE,QAAQ;YAC7D,KAAK,EAAE,4CAA4C,EAAE,OAAO;SAC7D;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C,EAAE,QAAQ;YAC7D,KAAK,EAAE,4CAA4C,EAAE,OAAO;YAC5D,eAAe,EAAE,IAAI;SACtB;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,KAAK,EAAE,4CAA4C,EAAE,QAAQ;YAC7D,KAAK,EAAE,4CAA4C,EAAE,OAAO;YAC5D,iBAAiB,EAAE,IAAI;SACxB;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,KAAK,EAAE,4CAA4C,EAAE,QAAQ;YAC7D,KAAK,EAAE,4CAA4C,EAAE,OAAO;YAC5D,QAAQ,EAAE,CAAC;YACX,iBAAiB,EAAE,IAAI;SACxB;KACF;CACF,CAAC"}
@@ -13,6 +13,8 @@ export declare class ERC4626 extends SimpleExchange implements IDex<ERC4626Data,
13
13
  readonly vault: string;
14
14
  readonly asset: string;
15
15
  readonly cooldownEnabled: boolean;
16
+ readonly decimals: number;
17
+ readonly depositRedeemOnly: boolean;
16
18
  readonly erc4626Interface: Interface;
17
19
  readonly hasConstantPriceLargeAmounts = true;
18
20
  readonly isFeeOnTransferSupported = false;
@@ -23,7 +25,7 @@ export declare class ERC4626 extends SimpleExchange implements IDex<ERC4626Data,
23
25
  }[];
24
26
  readonly eventPool: ERC4626EventPool;
25
27
  logger: Logger;
26
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, vault?: string, asset?: string, cooldownEnabled?: boolean, erc4626Interface?: Interface);
28
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, vault?: string, asset?: string, cooldownEnabled?: boolean, decimals?: number, depositRedeemOnly?: boolean, erc4626Interface?: Interface);
27
29
  getAdapters(side: SwapSide): {
28
30
  name: string;
29
31
  index: number;
@@ -56,6 +56,8 @@ class ERC4626 extends simple_exchange_1.SimpleExchange {
56
56
  vault;
57
57
  asset;
58
58
  cooldownEnabled;
59
+ decimals;
60
+ depositRedeemOnly;
59
61
  erc4626Interface;
60
62
  hasConstantPriceLargeAmounts = true;
61
63
  isFeeOnTransferSupported = false;
@@ -64,7 +66,8 @@ class ERC4626 extends simple_exchange_1.SimpleExchange {
64
66
  eventPool;
65
67
  logger;
66
68
  constructor(network, dexKey, dexHelper, vault = config_1.ERC4626Config[dexKey][network].vault, asset = config_1.ERC4626Config[dexKey][network].asset, cooldownEnabled = config_1.ERC4626Config[dexKey][network]
67
- .cooldownEnabled || false, erc4626Interface = new abi_1.Interface(ERC4626_json_1.default)) {
69
+ .cooldownEnabled || false, decimals = config_1.ERC4626Config[dexKey][network].decimals || 18, depositRedeemOnly = config_1.ERC4626Config[dexKey][network]
70
+ .depositRedeemOnly || false, erc4626Interface = new abi_1.Interface(ERC4626_json_1.default)) {
68
71
  super(dexHelper, dexKey);
69
72
  this.network = network;
70
73
  this.dexKey = dexKey;
@@ -72,6 +75,8 @@ class ERC4626 extends simple_exchange_1.SimpleExchange {
72
75
  this.vault = vault;
73
76
  this.asset = asset;
74
77
  this.cooldownEnabled = cooldownEnabled;
78
+ this.decimals = decimals;
79
+ this.depositRedeemOnly = depositRedeemOnly;
75
80
  this.erc4626Interface = erc4626Interface;
76
81
  this.logger = dexHelper.getLogger(dexKey);
77
82
  this.eventPool = new erc_4626_pool_1.ERC4626EventPool(this.dexKey, this.network, `${this.vault}_${this.asset}`, dexHelper, this.vault, this.asset, this.erc4626Interface, this.logger, constants_2.DEPOSIT_TOPIC, constants_2.WITHDRAW_TOPIC, constants_2.TRANSFER_TOPIC, cooldownEnabled);
@@ -144,7 +149,7 @@ class ERC4626 extends simple_exchange_1.SimpleExchange {
144
149
  }
145
150
  return [
146
151
  {
147
- unit: bigint_constants_1.BI_POWS[18],
152
+ unit: bigint_constants_1.BI_POWS[this.decimals],
148
153
  prices: amounts.map(amount => calcFunction(amount, state)),
149
154
  gasCost: isWrap ? 60000 : 70000,
150
155
  data: {
@@ -209,38 +214,70 @@ class ERC4626 extends simple_exchange_1.SimpleExchange {
209
214
  async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
210
215
  const isSell = side === constants_1.SwapSide.SELL;
211
216
  const { exchange } = data;
212
- let swapData;
213
- if (this.isAsset(srcToken)) {
214
- swapData = this.erc4626Interface.encodeFunctionData(isSell ? types_1.ERC4626Functions.deposit : types_1.ERC4626Functions.mint, [isSell ? srcAmount : destAmount, this.augustusAddress]);
217
+ const isAsset = this.isAsset(srcToken);
218
+ let func;
219
+ let args;
220
+ if (this.depositRedeemOnly) {
221
+ if (isAsset) {
222
+ func = types_1.ERC4626Functions.deposit;
223
+ args = [srcAmount, this.augustusAddress];
224
+ }
225
+ else {
226
+ func = types_1.ERC4626Functions.redeem;
227
+ args = [srcAmount, this.augustusAddress, this.augustusAddress];
228
+ }
215
229
  }
216
230
  else {
217
- swapData = this.erc4626Interface.encodeFunctionData(isSell ? types_1.ERC4626Functions.redeem : types_1.ERC4626Functions.withdraw, [
218
- isSell ? srcAmount : destAmount,
219
- this.augustusAddress,
220
- this.augustusAddress,
221
- ]);
231
+ if (isAsset) {
232
+ func = isSell ? types_1.ERC4626Functions.deposit : types_1.ERC4626Functions.mint;
233
+ args = [isSell ? srcAmount : destAmount, this.augustusAddress];
234
+ }
235
+ else {
236
+ func = isSell ? types_1.ERC4626Functions.redeem : types_1.ERC4626Functions.withdraw;
237
+ args = [
238
+ isSell ? srcAmount : destAmount,
239
+ this.augustusAddress,
240
+ this.augustusAddress,
241
+ ];
242
+ }
222
243
  }
244
+ const swapData = this.erc4626Interface.encodeFunctionData(func, args);
223
245
  return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange, undefined, undefined, undefined, isSell && this.isAsset(destToken));
224
246
  }
225
247
  getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
226
248
  const isSell = side === constants_1.SwapSide.SELL;
227
249
  const { exchange } = data;
228
- let swapData;
229
- if (this.isAsset(srcToken)) {
230
- swapData = this.erc4626Interface.encodeFunctionData(isSell ? types_1.ERC4626Functions.deposit : types_1.ERC4626Functions.mint, [isSell ? srcAmount : destAmount, recipient]);
250
+ const isAsset = this.isAsset(srcToken);
251
+ let func;
252
+ let args;
253
+ if (this.depositRedeemOnly) {
254
+ if (isAsset) {
255
+ func = types_1.ERC4626Functions.deposit;
256
+ args = [srcAmount, recipient];
257
+ }
258
+ else {
259
+ func = types_1.ERC4626Functions.redeem;
260
+ args = [srcAmount, recipient, executorAddress];
261
+ }
231
262
  }
232
263
  else {
233
- swapData = this.erc4626Interface.encodeFunctionData(isSell ? types_1.ERC4626Functions.redeem : types_1.ERC4626Functions.withdraw, [isSell ? srcAmount : destAmount, recipient, executorAddress]);
264
+ if (isAsset) {
265
+ func = isSell ? types_1.ERC4626Functions.deposit : types_1.ERC4626Functions.mint;
266
+ args = [isSell ? srcAmount : destAmount, recipient];
267
+ }
268
+ else {
269
+ func = isSell ? types_1.ERC4626Functions.redeem : types_1.ERC4626Functions.withdraw;
270
+ args = [isSell ? srcAmount : destAmount, recipient, executorAddress];
271
+ }
234
272
  }
273
+ const swapData = this.erc4626Interface.encodeFunctionData(func, args);
235
274
  return {
236
275
  needWrapNative: this.needWrapNative,
237
276
  dexFuncHasRecipient: true,
238
277
  exchangeData: swapData,
239
278
  targetExchange: exchange,
240
279
  returnAmountPos: isSell
241
- ? (0, utils_2.extractReturnAmountPosition)(this.erc4626Interface, this.isAsset(srcToken)
242
- ? types_1.ERC4626Functions.deposit
243
- : types_1.ERC4626Functions.redeem)
280
+ ? (0, utils_2.extractReturnAmountPosition)(this.erc4626Interface, isAsset ? types_1.ERC4626Functions.deposit : types_1.ERC4626Functions.redeem)
244
281
  : undefined,
245
282
  skipApproval: this.isAsset(destToken),
246
283
  };
@@ -1 +1 @@
1
- {"version":3,"file":"erc4626.js","sourceRoot":"","sources":["../../../src/dex/erc4626/erc4626.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erc4626.js","sourceRoot":"","sources":["../../../src/dex/erc4626/erc4626.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,6 @@ export type ERC4626Params = {
21
21
  vault: Address;
22
22
  asset: Address;
23
23
  cooldownEnabled?: boolean;
24
+ decimals?: number;
25
+ depositRedeemOnly?: boolean;
24
26
  };
@@ -0,0 +1,3 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const YoConfig: DexConfigMap<DexParams>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YoConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.YoConfig = {
6
+ yoETH: {
7
+ [constants_1.Network.BASE]: {
8
+ vault: '0x3a43aec53490cb9fa922847385d82fe25d0e9de7',
9
+ asset: '0x4200000000000000000000000000000000000006',
10
+ decimals: 18,
11
+ },
12
+ },
13
+ yoUSD: {
14
+ [constants_1.Network.BASE]: {
15
+ vault: '0x0000000f2eb9f69274678c76222b35eec7588a65',
16
+ asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
17
+ decimals: 6,
18
+ },
19
+ },
20
+ };
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/yo/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,QAAQ,GAA4B;IAC/C,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,QAAQ,EAAE,EAAE;SACb;KACF;IACD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,QAAQ,EAAE,CAAC;SACZ;KACF;CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Address } from '../../types';
2
+ export type YoData = {
3
+ exchange: Address;
4
+ state: {
5
+ totalShares: string;
6
+ totalAssets: string;
7
+ };
8
+ };
9
+ export type DexParams = {
10
+ vault: string;
11
+ asset: string;
12
+ decimals: number;
13
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/yo/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { Logger, Address } from '../../types';
3
+ import { IDexHelper } from '../../dex-helper/idex-helper';
4
+ import { ERC4626EventPool } from '../erc4626/erc-4626-pool';
5
+ import { Network } from '../../constants';
6
+ import { ERC4626PoolState } from '../erc4626/types';
7
+ export declare class YoEventPool extends ERC4626EventPool {
8
+ readonly parentName: string;
9
+ protected network: Network;
10
+ protected dexHelper: IDexHelper;
11
+ constructor(parentName: string, network: Network, dexHelper: IDexHelper, logger: Logger, vault: Address, asset: Address, cooldownEnabled?: boolean, yoIface?: Interface);
12
+ withdrawRedeemAllowed(state: ERC4626PoolState): boolean;
13
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.YoEventPool = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const erc_4626_pool_1 = require("../erc4626/erc-4626-pool");
9
+ const ERC4626_json_1 = __importDefault(require("../../abi/ERC4626.json"));
10
+ const constants_1 = require("../erc4626/constants");
11
+ class YoEventPool extends erc_4626_pool_1.ERC4626EventPool {
12
+ parentName;
13
+ network;
14
+ dexHelper;
15
+ constructor(parentName, network, dexHelper, logger, vault, asset, cooldownEnabled = false, yoIface = new abi_1.Interface(ERC4626_json_1.default)) {
16
+ super(parentName, network, `${vault}_${asset}`, dexHelper, vault, asset, yoIface, logger, constants_1.DEPOSIT_TOPIC, constants_1.WITHDRAW_TOPIC, constants_1.TRANSFER_TOPIC, cooldownEnabled);
17
+ this.parentName = parentName;
18
+ this.network = network;
19
+ this.dexHelper = dexHelper;
20
+ }
21
+ withdrawRedeemAllowed(state) {
22
+ return true;
23
+ }
24
+ }
25
+ exports.YoEventPool = YoEventPool;
26
+ //# sourceMappingURL=yo-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yo-pool.js","sourceRoot":"","sources":["../../../src/dex/yo/yo-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAG/C,4DAA4D;AAE5D,0EAAiD;AACjD,oDAI8B;AAG9B,MAAa,WAAY,SAAQ,gCAAgB;IAEpC;IACC;IACA;IAHZ,YACW,UAAkB,EACjB,OAAgB,EAChB,SAAqB,EAC/B,MAAc,EACd,KAAc,EACd,KAAc,EACd,kBAA2B,KAAK,EAChC,OAAO,GAAG,IAAI,eAAS,CAAC,sBAAW,CAAC;QAEpC,KAAK,CACH,UAAU,EACV,OAAO,EACP,GAAG,KAAK,IAAI,KAAK,EAAE,EACnB,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,yBAAa,EACb,0BAAc,EACd,0BAAc,EACd,eAAe,CAChB,CAAC;QAtBO,eAAU,GAAV,UAAU,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;QAChB,cAAS,GAAT,SAAS,CAAY;IAqBjC,CAAC;IAED,qBAAqB,CAAC,KAAuB;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9BD,kCA8BC"}
@@ -0,0 +1,39 @@
1
+ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam } from '../../types';
2
+ import { SwapSide, Network } from '../../constants';
3
+ import { IDex, Context } from '../idex';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { YoData } from './types';
6
+ import { YoEventPool } from './yo-pool';
7
+ import { ERC4626 } from '../erc4626/erc4626';
8
+ import { Interface } from '@ethersproject/abi';
9
+ export declare enum ERC4626Functions {
10
+ deposit = "deposit",
11
+ redeem = "redeem",
12
+ withdraw = "withdraw",
13
+ mint = "mint"
14
+ }
15
+ export declare class Yo extends ERC4626 implements IDex<YoData> {
16
+ readonly network: Network;
17
+ readonly dexKey: string;
18
+ readonly dexHelper: IDexHelper;
19
+ readonly vault: string;
20
+ readonly asset: string;
21
+ readonly decimals: number;
22
+ readonly erc4626Interface: Interface;
23
+ readonly needWrapNative = true;
24
+ readonly isFeeOnTransferSupported = false;
25
+ static dexKeysWithNetwork: {
26
+ key: string;
27
+ networks: Network[];
28
+ }[];
29
+ logger: Logger;
30
+ readonly eventPool: YoEventPool;
31
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, vault?: string, asset?: string, decimals?: number, erc4626Interface?: Interface);
32
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number): Promise<null | ExchangePrices<YoData>>;
33
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: YoData, side: SwapSide): Promise<SimpleExchangeParam>;
34
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: YoData, side: SwapSide, _: Context, executorAddress: Address): Promise<DexExchangeParam>;
35
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: YoData, side: SwapSide): AdapterExchangeParam;
36
+ getCalldataGasCost(_poolPrices: PoolPrices<YoData>): number | number[];
37
+ updatePoolState(): Promise<void>;
38
+ getTopPoolsForToken(tokenAddress: Address, _limit: number): Promise<PoolLiquidity[]>;
39
+ }
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Yo = exports.ERC4626Functions = void 0;
40
+ const constants_1 = require("../../constants");
41
+ const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
42
+ const utils_1 = require("../../utils");
43
+ const config_1 = require("./config");
44
+ const yo_pool_1 = require("./yo-pool");
45
+ const erc4626_1 = require("../erc4626/erc4626");
46
+ const abi_1 = require("@ethersproject/abi");
47
+ const ERC4626_json_1 = __importDefault(require("../../abi/ERC4626.json"));
48
+ const utils_2 = require("../../executor/utils");
49
+ const bigint_constants_1 = require("../../bigint-constants");
50
+ var ERC4626Functions;
51
+ (function (ERC4626Functions) {
52
+ ERC4626Functions["deposit"] = "deposit";
53
+ ERC4626Functions["redeem"] = "redeem";
54
+ ERC4626Functions["withdraw"] = "withdraw";
55
+ ERC4626Functions["mint"] = "mint";
56
+ })(ERC4626Functions || (exports.ERC4626Functions = ERC4626Functions = {}));
57
+ class Yo extends erc4626_1.ERC4626 {
58
+ network;
59
+ dexKey;
60
+ dexHelper;
61
+ vault;
62
+ asset;
63
+ decimals;
64
+ erc4626Interface;
65
+ needWrapNative = true;
66
+ isFeeOnTransferSupported = false;
67
+ static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.YoConfig);
68
+ logger;
69
+ eventPool;
70
+ constructor(network, dexKey, dexHelper, vault = config_1.YoConfig[dexKey][network].vault, asset = config_1.YoConfig[dexKey][network].asset, decimals = config_1.YoConfig[dexKey][network].decimals, erc4626Interface = new abi_1.Interface(ERC4626_json_1.default)) {
71
+ super(network, dexKey, dexHelper, vault, asset, false, erc4626Interface);
72
+ this.network = network;
73
+ this.dexKey = dexKey;
74
+ this.dexHelper = dexHelper;
75
+ this.vault = vault;
76
+ this.asset = asset;
77
+ this.decimals = decimals;
78
+ this.erc4626Interface = erc4626Interface;
79
+ this.logger = dexHelper.getLogger(dexKey);
80
+ this.eventPool = new yo_pool_1.YoEventPool(dexKey, network, dexHelper, this.logger, vault, asset);
81
+ }
82
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber) {
83
+ const _srcToken = this.dexHelper.config.wrapETH(srcToken);
84
+ const _destToken = this.dexHelper.config.wrapETH(destToken);
85
+ if (!this.isAppropriatePair(_srcToken, _destToken)) {
86
+ return null;
87
+ }
88
+ const state = await this.eventPool.getOrGenerateState(blockNumber);
89
+ if (!state) {
90
+ return null;
91
+ }
92
+ const isSrcAsset = this.isAsset(_srcToken.address);
93
+ let calcFunction;
94
+ if (side === constants_1.SwapSide.SELL) {
95
+ if (isSrcAsset) {
96
+ calcFunction = this.previewDeposit.bind(this);
97
+ }
98
+ else {
99
+ calcFunction = this.previewRedeem.bind(this);
100
+ }
101
+ }
102
+ else {
103
+ if (isSrcAsset) {
104
+ calcFunction = this.previewMint.bind(this);
105
+ }
106
+ else {
107
+ calcFunction = this.previewWithdraw.bind(this);
108
+ }
109
+ }
110
+ return [
111
+ {
112
+ unit: bigint_constants_1.BI_POWS[this.decimals],
113
+ prices: amounts.map(amount => calcFunction(amount, state)),
114
+ gasCost: 100_000,
115
+ data: {
116
+ exchange: `${this.vault}`,
117
+ state: {
118
+ totalShares: state.totalShares.toString(),
119
+ totalAssets: state.totalAssets.toString(),
120
+ },
121
+ },
122
+ poolAddresses: [this.vault],
123
+ exchange: this.dexKey,
124
+ },
125
+ ];
126
+ }
127
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
128
+ const isSell = side === constants_1.SwapSide.SELL;
129
+ const { exchange } = data;
130
+ let swapData;
131
+ if (this.isAsset(srcToken)) {
132
+ if (isSell) {
133
+ // SELL: User specifies assets, we call deposit(assets)
134
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [srcAmount, this.augustusAddress]);
135
+ }
136
+ else {
137
+ // BUY: User wants shares, we need to calculate required assets
138
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
139
+ const requiredAssets = this.previewMint(BigInt(destAmount), state);
140
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [requiredAssets.toString(), this.augustusAddress]);
141
+ }
142
+ }
143
+ else {
144
+ if (isSell) {
145
+ // SELL: User specifies shares, we call redeem(shares)
146
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [srcAmount, this.augustusAddress, this.augustusAddress]);
147
+ }
148
+ else {
149
+ // BUY: User wants assets, we need to calculate required shares
150
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
151
+ const requiredShares = this.previewWithdraw(BigInt(destAmount), state);
152
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [
153
+ requiredShares.toString(),
154
+ this.augustusAddress,
155
+ this.augustusAddress,
156
+ ]);
157
+ }
158
+ }
159
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange, undefined, undefined, undefined, isSell && this.isAsset(destToken));
160
+ }
161
+ async getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
162
+ const isSell = side === constants_1.SwapSide.SELL;
163
+ const { exchange } = data;
164
+ let swapData;
165
+ if (this.isAsset(srcToken)) {
166
+ if (isSell) {
167
+ // SELL: User specifies assets, we call deposit(assets)
168
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [srcAmount, recipient]);
169
+ }
170
+ else {
171
+ // BUY: User wants shares, we need to calculate required assets
172
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
173
+ const requiredAssets = this.previewMint(BigInt(destAmount), state);
174
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.deposit, [requiredAssets.toString(), recipient]);
175
+ }
176
+ }
177
+ else {
178
+ if (isSell) {
179
+ // SELL: User specifies shares, we call redeem(shares)
180
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [srcAmount, recipient, executorAddress]);
181
+ }
182
+ else {
183
+ // BUY: User wants assets, we need to calculate required shares
184
+ const state = await this.eventPool.getOrGenerateState(await this.dexHelper.provider.getBlockNumber());
185
+ const requiredShares = this.previewWithdraw(BigInt(destAmount), state);
186
+ swapData = this.erc4626Interface.encodeFunctionData(ERC4626Functions.redeem, [requiredShares.toString(), recipient, executorAddress]);
187
+ }
188
+ }
189
+ return {
190
+ needWrapNative: this.needWrapNative,
191
+ dexFuncHasRecipient: true,
192
+ exchangeData: swapData,
193
+ targetExchange: exchange,
194
+ returnAmountPos: isSell
195
+ ? (0, utils_2.extractReturnAmountPosition)(this.erc4626Interface, this.isAsset(srcToken)
196
+ ? ERC4626Functions.deposit
197
+ : ERC4626Functions.redeem)
198
+ : undefined,
199
+ skipApproval: this.isAsset(destToken),
200
+ };
201
+ }
202
+ // Override getAdapterParam to use YoData
203
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
204
+ const { exchange } = data;
205
+ const payload = this.abiCoder.encodeParameter({
206
+ ParentStruct: {
207
+ toStaked: 'bool',
208
+ },
209
+ }, {
210
+ toStaked: this.isAsset(srcToken),
211
+ });
212
+ return {
213
+ targetExchange: exchange,
214
+ payload,
215
+ networkFee: '0',
216
+ };
217
+ }
218
+ // Override getCalldataGasCost
219
+ getCalldataGasCost(_poolPrices) {
220
+ return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
221
+ }
222
+ // Override updatePoolState
223
+ async updatePoolState() {
224
+ await super.updatePoolState();
225
+ }
226
+ async getTopPoolsForToken(tokenAddress, _limit) {
227
+ if (!this.isAsset(tokenAddress) && !this.isVault(tokenAddress)) {
228
+ return [];
229
+ }
230
+ const vaultToAsset = this.isVault(tokenAddress);
231
+ return [
232
+ {
233
+ exchange: this.dexKey,
234
+ address: this.vault,
235
+ connectorTokens: [
236
+ {
237
+ decimals: this.decimals,
238
+ address: vaultToAsset ? this.asset : this.vault,
239
+ liquidityUSD: constants_1.UNLIMITED_USD_LIQUIDITY,
240
+ },
241
+ ],
242
+ liquidityUSD: constants_1.UNLIMITED_USD_LIQUIDITY,
243
+ },
244
+ ];
245
+ }
246
+ }
247
+ exports.Yo = Yo;
248
+ //# sourceMappingURL=yo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yo.js","sourceRoot":"","sources":["../../../src/dex/yo/yo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,+CAA6E;AAC7E,2EAA6D;AAC7D,uCAAoD;AAIpD,qCAAoC;AACpC,uCAAwC;AACxC,gDAA6C;AAC7C,4CAA+C;AAC/C,0EAAiD;AACjD,gDAAmE;AACnE,6DAAiD;AAEjD,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,iCAAa,CAAA;AACf,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED,MAAa,EAAG,SAAQ,iBAAO;IAWlB;IACA;IACA;IACA;IACA;IACA;IACA;IAhBF,cAAc,GAAG,IAAI,CAAC;IACtB,wBAAwB,GAAG,KAAK,CAAC;IAEnC,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,iBAAQ,CAAC,CAAC;IAElC,MAAM,CAAS;IACC,SAAS,CAAc;IAEvC,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB,EACrB,QAAgB,iBAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAC/C,QAAgB,iBAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAC/C,WAAmB,iBAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EACrD,mBAA8B,IAAI,eAAS,CAAC,sBAAW,CAAC;QAEjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QARhE,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QACrB,UAAK,GAAL,KAAK,CAA0C;QAC/C,UAAK,GAAL,KAAK,CAA0C;QAC/C,aAAQ,GAAR,QAAQ,CAA6C;QACrD,qBAAgB,GAAhB,gBAAgB,CAAwC;QAGjE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAW,CAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,CAAC,MAAM,EACX,KAAK,EACL,KAAK,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,YAAsB,CAAC;QAC3B,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,OAAO;YACL;gBACE,IAAI,EAAE,0BAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1D,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE;oBACJ,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;oBACzB,KAAK,EAAE;wBACL,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE;wBACzC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE;qBAC1C;iBACF;gBACD,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAY,EACZ,IAAc;QAEd,MAAM,MAAM,GAAG,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,uDAAuD;gBACvD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,OAAO,EACxB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAClC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACnD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAC/C,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,OAAO,EACxB,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAClD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,EAAE,CAAC;gBACX,sDAAsD;gBACtD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,MAAM,EACvB,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CACxD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACnD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAC/C,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,MAAM,EACvB;oBACE,cAAc,CAAC,QAAQ,EAAE;oBACzB,IAAI,CAAC,eAAe;oBACpB,IAAI,CAAC,eAAe;iBACrB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAY,EACZ,IAAc,EACd,CAAU,EACV,eAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,uDAAuD;gBACvD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,OAAO,EACxB,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACnD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAC/C,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,OAAO,EACxB,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CACvC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,EAAE,CAAC;gBACX,sDAAsD;gBACtD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,MAAM,EACvB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CACxC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACnD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAC/C,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACjD,gBAAgB,CAAC,MAAM,EACvB,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,MAAM;gBACrB,CAAC,CAAC,IAAA,mCAA2B,EACzB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACpB,CAAC,CAAC,gBAAgB,CAAC,OAAO;oBAC1B,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAC5B;gBACH,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SACtC,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAY,EACZ,IAAc;QAEd,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,QAAQ,EAAE,MAAM;aACjB;SACF,EACD;YACE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjC,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,QAAQ;YACxB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,kBAAkB,CAAC,WAA+B;QAChD,OAAO,iBAAiB,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,MAAc;QAEd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO;YACL;gBACE,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,eAAe,EAAE;oBACf;wBACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;wBAC/C,YAAY,EAAE,mCAAuB;qBACtC;iBACF;gBACD,YAAY,EAAE,mCAAuB;aACtC;SACF,CAAC;IACJ,CAAC;;AA7RH,gBA8RC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.6.21",
3
+ "version": "4.6.22-yo-protocol.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",