@paraswap/dex-lib 4.2.3-2 → 4.2.3-21

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.
Files changed (71) hide show
  1. package/build/abi/miro-migrator/MiroMigrator.abi.json +540 -0
  2. package/build/constants.d.ts +2 -0
  3. package/build/constants.js +4 -1
  4. package/build/constants.js.map +1 -1
  5. package/build/dex/curve-v1-factory/constants.d.ts +1 -1
  6. package/build/dex/curve-v1-factory/constants.js +1 -1
  7. package/build/dex/curve-v1-factory/constants.js.map +1 -1
  8. package/build/dex/gmx/gmx.d.ts +1 -0
  9. package/build/dex/gmx/gmx.js +28 -21
  10. package/build/dex/gmx/gmx.js.map +1 -1
  11. package/build/dex/maverick-v1/maverick-v1.d.ts +1 -0
  12. package/build/dex/maverick-v1/maverick-v1.js +79 -4
  13. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  14. package/build/dex/miro-migrator/config.d.ts +3 -0
  15. package/build/dex/miro-migrator/config.js +14 -0
  16. package/build/dex/miro-migrator/config.js.map +1 -0
  17. package/build/dex/miro-migrator/constants.d.ts +2 -0
  18. package/build/dex/miro-migrator/constants.js +6 -0
  19. package/build/dex/miro-migrator/constants.js.map +1 -0
  20. package/build/dex/miro-migrator/miro-migrator-pool.d.ts +27 -0
  21. package/build/dex/miro-migrator/miro-migrator-pool.js +89 -0
  22. package/build/dex/miro-migrator/miro-migrator-pool.js.map +1 -0
  23. package/build/dex/miro-migrator/miro-migrator.d.ts +42 -0
  24. package/build/dex/miro-migrator/miro-migrator.js +174 -0
  25. package/build/dex/miro-migrator/miro-migrator.js.map +1 -0
  26. package/build/dex/miro-migrator/types.d.ts +13 -0
  27. package/build/dex/miro-migrator/types.js +8 -0
  28. package/build/dex/miro-migrator/types.js.map +1 -0
  29. package/build/dex/nerve/nerve.d.ts +4 -2
  30. package/build/dex/nerve/nerve.js +31 -8
  31. package/build/dex/nerve/nerve.js.map +1 -1
  32. package/build/dex/solidly/config.js +4 -3
  33. package/build/dex/solidly/config.js.map +1 -1
  34. package/build/dex/solidly/forks-override/equalizer.d.ts +5 -2
  35. package/build/dex/solidly/forks-override/equalizer.js +31 -2
  36. package/build/dex/solidly/forks-override/equalizer.js.map +1 -1
  37. package/build/dex/solidly/forks-override/pharaohV1.d.ts +5 -2
  38. package/build/dex/solidly/forks-override/pharaohV1.js +35 -2
  39. package/build/dex/solidly/forks-override/pharaohV1.js.map +1 -1
  40. package/build/dex/solidly/forks-override/velocimeter.d.ts +5 -2
  41. package/build/dex/solidly/forks-override/velocimeter.js +31 -2
  42. package/build/dex/solidly/forks-override/velocimeter.js.map +1 -1
  43. package/build/dex/solidly/forks-override/velodromeV2.d.ts +15 -2
  44. package/build/dex/solidly/forks-override/velodromeV2.js +32 -2
  45. package/build/dex/solidly/forks-override/velodromeV2.js.map +1 -1
  46. package/build/dex/solidly/rpc-pool-tracker.d.ts +26 -0
  47. package/build/dex/solidly/rpc-pool-tracker.js +228 -0
  48. package/build/dex/solidly/rpc-pool-tracker.js.map +1 -0
  49. package/build/dex/solidly/solidly.js +2 -2
  50. package/build/dex/solidly/solidly.js.map +1 -1
  51. package/build/dex/stader/stader.js +4 -4
  52. package/build/dex/stader/stader.js.map +1 -1
  53. package/build/dex/uniswap-v2/uniswap-v2.js +2 -2
  54. package/build/dex/uniswap-v3/config.js +2 -1
  55. package/build/dex/uniswap-v3/config.js.map +1 -1
  56. package/build/dex/uniswap-v3/uniswap-v3.js +33 -32
  57. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  58. package/build/dex/uniswap-v4/optimizer.d.ts +2 -0
  59. package/build/dex/uniswap-v4/optimizer.js +47 -0
  60. package/build/dex/uniswap-v4/optimizer.js.map +1 -0
  61. package/build/dex/uniswap-v4/utils.d.ts +1 -1
  62. package/build/dex/usual/usual.js +12 -4
  63. package/build/dex/usual/usual.js.map +1 -1
  64. package/build/dex-helper/dummy-dex-helper.d.ts +1 -0
  65. package/build/dex-helper/dummy-dex-helper.js +8 -0
  66. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  67. package/build/dex-helper/idex-helper.d.ts +2 -0
  68. package/build/pools-helper.js +1 -1
  69. package/build/pools-helper.js.map +1 -1
  70. package/build/types.d.ts +3 -2
  71. package/package.json +1 -1
@@ -76,10 +76,14 @@ class GMX extends simple_exchange_1.SimpleExchange {
76
76
  // pricing service. It is intended to setup the integration
77
77
  // for pricing requests.
78
78
  async initializePricing(blockNumber) {
79
- const config = await pool_1.GMXEventPool.getConfig(this.params, blockNumber, this.dexHelper.multiContract);
79
+ const pool = await this.setupPool(blockNumber);
80
+ await pool.initialize(blockNumber);
81
+ }
82
+ async setupPool(blockNumber) {
83
+ const config = await pool_1.GMXEventPool.getConfig(this.params, blockNumber ?? 'latest', this.dexHelper.multiContract);
80
84
  config.tokenAddresses.forEach((token) => (this.supportedTokensMap[token] = true));
81
85
  this.pool = new pool_1.GMXEventPool(this.dexKey, this.network, this.dexHelper, this.logger, config);
82
- await this.pool.initialize(blockNumber);
86
+ return this.pool;
83
87
  }
84
88
  // Returns the list of contract adapters (name and index)
85
89
  // for a buy/sell. Return null if there are no adapters.
@@ -206,17 +210,9 @@ class GMX extends simple_exchange_1.SimpleExchange {
206
210
  decimals: tokenDecimals[i],
207
211
  }));
208
212
  }
209
- const erc20BalanceCalldata = GMX.erc20Interface.encodeFunctionData('balanceOf', [this.params.vault]);
210
- const tokenBalanceMultiCall = this.supportedTokens.map(t => ({
211
- target: t.address,
212
- callData: erc20BalanceCalldata,
213
- }));
214
- const res = (await this.dexHelper.multiContract.methods
215
- .aggregate(tokenBalanceMultiCall)
216
- .call()).returnData;
217
- const tokenBalances = res.map((r) => BigInt(GMX.erc20Interface.decodeFunctionResult('balanceOf', r)[0].toString()));
218
- const tokenBalancesUSD = await Promise.all(this.supportedTokens.map((t, i) => this.dexHelper.getTokenUSDPrice(t, tokenBalances[i])));
219
- this.vaultUSDBalance = tokenBalancesUSD.reduce((sum, curr) => sum + curr);
213
+ if (!this.pool) {
214
+ this.pool = await this.setupPool();
215
+ }
220
216
  }
221
217
  // Returns list of top pools based on liquidity. Max
222
218
  // limit number pools should be returned.
@@ -224,14 +220,25 @@ class GMX extends simple_exchange_1.SimpleExchange {
224
220
  const tokenAddress = _tokenAddress.toLowerCase();
225
221
  if (!this.supportedTokens.some(t => t.address === tokenAddress))
226
222
  return [];
227
- return [
228
- {
229
- exchange: this.dexKey,
230
- address: this.params.vault,
231
- connectorTokens: this.supportedTokens.filter(t => t.address !== tokenAddress),
232
- liquidityUSD: this.vaultUSDBalance,
233
- },
234
- ];
223
+ const tokens = this.supportedTokens.filter(t => t.address !== tokenAddress);
224
+ const maxAmounts = {};
225
+ await Promise.all(tokens.map(async (token) => {
226
+ const maxAmountIn = await this.pool?.getMaxAmountIn(tokenAddress, token.address);
227
+ if (maxAmountIn) {
228
+ maxAmounts[token.address] = maxAmountIn;
229
+ }
230
+ }));
231
+ const usdMaxAmountIn = await this.dexHelper.getUsdTokenAmounts(
232
+ // maxAmounts are in the asked token, so replace token address
233
+ Object.entries(maxAmounts).map(([_, amount]) => [tokenAddress, amount]));
234
+ return Object.keys(maxAmounts).map((connectorToken, i) => ({
235
+ exchange: this.dexKey,
236
+ address: this.params.vault,
237
+ connectorTokens: [
238
+ this.supportedTokens.find(t => connectorToken === t.address),
239
+ ],
240
+ liquidityUSD: usdMaxAmountIn[i],
241
+ }));
235
242
  }
236
243
  }
237
244
  exports.GMX = GMX;
@@ -1 +1 @@
1
- {"version":3,"file":"gmx.js","sourceRoot":"","sources":["../../../src/dex/gmx/gmx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA+C;AAa/C,+CAAoD;AACpD,2EAA6D;AAC7D,uCAAkE;AAIlE,iCAAsC;AACtC,wDAAoD;AACpD,qCAA+C;AAC/C,mCAAgC;AAChC,sEAA4C;AAC5C,gDAAmE;AAEnE,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC;AAE9B,MAAa,GAAI,SAAQ,gCAAc;IAoBzB;IAEA;IACA;IACA;IAvBF,IAAI,GAAwB,IAAI,CAAC;IACjC,kBAAkB,GAAmC,EAAE,CAAC;IAClE,kDAAkD;IACxC,eAAe,GAAY,EAAE,CAAC;IAE/B,4BAA4B,GAAG,KAAK,CAAC;IACrC,cAAc,GAAG,IAAI,CAAC;IACtB,wBAAwB,GAAG,KAAK,CAAC;IAEnC,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,kBAAS,CAAC,CAAC;IAE5B,MAAM,CAAC,cAAc,GAAG,IAAI,eAAS,CAAC,oBAAQ,CAAC,CAAC;IAEvD,eAAe,GAAW,CAAC,CAAC;IAE5B,MAAM,CAAS;IAEf,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB,EACrB,WAAW,iBAAQ,CAAC,OAAO,CAAC,EAC5B,SAAoB,kBAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QAExD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QANf,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QACrB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAwC;QAGxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,oDAAoD;IACpD,2DAA2D;IAC3D,wBAAwB;IACxB,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,MAAM,GAAG,MAAM,mBAAY,CAAC,SAAS,CACzC,IAAI,CAAC,MAAM,EACX,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAC7B,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,OAAO,CAC3B,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAY,CAC1B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,yDAAyD;IACzD,wDAAwD;IACxD,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,oDAAoD;IACpD,mDAAmD;IACnD,gBAAgB;IAChB,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;aACrC,OAAO,CAAC,QAAQ,CAAC;aACjB,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;aACtC,OAAO,CAAC,SAAS,CAAC;aAClB,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,IACE,UAAU,KAAK,WAAW;YAC1B,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EACpC,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mCAAmC;IACnC,oDAAoD;IACpD,kDAAkD;IAClD,yBAAyB;IACzB,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;aACrC,OAAO,CAAC,QAAQ,CAAC;aACjB,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;aACtC,OAAO,CAAC,SAAS,CAAC;aAClB,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,IACE,UAAU,KAAK,WAAW;YAC1B,CAAC,CACC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CACrC;YAED,OAAO,IAAI,CAAC;QACd,MAAM,iBAAiB,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACzD,MAAM,kBAAkB,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;QACtD,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAExE,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CACzC,UAAU,EACV,WAAW,EACX,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,EACxB,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO;YACL;gBACE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,IAAI,EAAE,EAAE;gBACR,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aACnC;SACF,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,kBAAkB,CAAC,UAA+B;QAChD,OAAO,iBAAiB,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAa,EACb,IAAc;QAEd,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACjC,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAa,EACb,IAAc;QAEd,OAAO;YACL,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,QAAQ,EAAE;gBACR,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE;oBAChD,IAAI,CAAC,MAAM,CAAC,KAAK;oBACjB,SAAS;iBACV,CAAC;gBACF,aAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBACzC,QAAQ;oBACR,SAAS;oBACT,IAAI,CAAC,eAAe;iBACrB,CAAC;aACH;YACD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YAClB,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAa,EACb,IAAc;QAEd,MAAM,YAAY,GAAG,aAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAC9D,QAAQ;YACR,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QAEH,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YAC7C,qCAAqC,EAAE,IAAI;YAC3C,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACjC,eAAe,EACb,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAA,mCAA2B,EAAC,aAAK,CAAC,SAAS,EAAE,MAAM,CAAC;gBACtD,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,MAAM,mBAAY,CAAC,oBAAoB,CAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,aAAa,CAC7B,CAAC;YAEF,MAAM,gBAAgB,GACpB,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAC,CAAC;YACJ,MAAM,GAAG,GAAG,CACV,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO;iBACvC,SAAS,CAAC,qBAAqB,CAAC;iBAChC,IAAI,EAAE,CACV,CAAC,UAAU,CAAC;YAEb,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACvC,QAAQ,CACN,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACrE,CACF,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnD,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,MAAM,oBAAoB,GAAG,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAChE,WAAW,EACX,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,CAAC;QACF,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,QAAQ,EAAE,oBAAoB;SAC/B,CAAC,CAAC,CAAC;QACJ,MAAM,GAAG,GAAG,CACV,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO;aACvC,SAAS,CAAC,qBAAqB,CAAC;aAChC,IAAI,EAAE,CACV,CAAC,UAAU,CAAC;QACb,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACvC,MAAM,CACJ,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACtE,CACF,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CACrD,CACF,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAC1C,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,yCAAyC;IACzC,KAAK,CAAC,mBAAmB,CACvB,aAAsB,EACtB,KAAa;QAEb,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3E,OAAO;YACL;gBACE,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBAC1B,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAChC;gBACD,YAAY,EAAE,IAAI,CAAC,eAAe;aACnC;SACF,CAAC;IACJ,CAAC;;AAnSH,kBAoSC"}
1
+ {"version":3,"file":"gmx.js","sourceRoot":"","sources":["../../../src/dex/gmx/gmx.ts"],"names":[],"mappings":"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"}
@@ -44,4 +44,5 @@ export declare class MaverickV1 extends SimpleExchange implements IDex<MaverickV
44
44
  getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MaverickV1Data, side: SwapSide): Promise<SimpleExchangeParam>;
45
45
  private _querySubgraph;
46
46
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
47
+ private _getPoolBalances;
47
48
  }
@@ -50,6 +50,7 @@ const subgraph_queries_1 = require("./subgraph-queries");
50
50
  const constants_2 = require("../../constants");
51
51
  const router_json_1 = __importDefault(require("../../abi/maverick-v1/router.json"));
52
52
  const utils_2 = require("../../executor/utils");
53
+ const decoders_1 = require("../../lib/decoders");
53
54
  const MAX_POOL_CNT = 1000;
54
55
  const EFFICIENCY_FACTOR = 3;
55
56
  class MaverickV1 extends simple_exchange_1.SimpleExchange {
@@ -354,7 +355,7 @@ class MaverickV1 extends simple_exchange_1.SimpleExchange {
354
355
  decimals: parseInt(pool.tokenB.decimals),
355
356
  },
356
357
  ],
357
- liquidityUSD: parseFloat(pool.balanceUSD) * EFFICIENCY_FACTOR,
358
+ liquidityUSD: parseFloat(pool.balanceUSD),
358
359
  }));
359
360
  const pools1 = lodash_1.default.map(res.pools1, pool => ({
360
361
  exchange: this.dexKey,
@@ -365,10 +366,84 @@ class MaverickV1 extends simple_exchange_1.SimpleExchange {
365
366
  decimals: parseInt(pool.tokenA.decimals),
366
367
  },
367
368
  ],
368
- liquidityUSD: parseFloat(pool.balanceUSD) * EFFICIENCY_FACTOR,
369
+ liquidityUSD: parseFloat(pool.balanceUSD),
369
370
  }));
370
- const pools = lodash_1.default.slice(lodash_1.default.sortBy(lodash_1.default.concat(pools0, pools1), [pool => -1 * pool.liquidityUSD]), 0, limit);
371
- return pools;
371
+ const allPools = pools0.concat(pools1);
372
+ if (allPools.length === 0) {
373
+ return [];
374
+ }
375
+ const poolBalances = await this._getPoolBalances(allPools.map(p => [
376
+ p.address,
377
+ tokenAddress,
378
+ p.connectorTokens[0].address,
379
+ ]));
380
+ const tokensAmounts = allPools
381
+ .map((p, i) => {
382
+ return [
383
+ [tokenAddress, poolBalances[i][0]],
384
+ [p.connectorTokens[0].address, poolBalances[i][1]],
385
+ ];
386
+ })
387
+ .flat();
388
+ const poolUsdBalances = await this.dexHelper.getUsdTokenAmounts(tokensAmounts);
389
+ const pools = allPools.map((pool, i) => {
390
+ const tokenUsdBalance = poolUsdBalances[i * 2];
391
+ const connectorTokenUsdBalance = poolUsdBalances[i * 2 + 1];
392
+ let tokenUsdLiquidity = null;
393
+ if (tokenUsdBalance) {
394
+ tokenUsdLiquidity = tokenUsdBalance * EFFICIENCY_FACTOR;
395
+ }
396
+ let connectorTokenUsdLiquidity = null;
397
+ if (connectorTokenUsdBalance) {
398
+ connectorTokenUsdLiquidity =
399
+ connectorTokenUsdBalance * EFFICIENCY_FACTOR;
400
+ }
401
+ if (tokenUsdLiquidity) {
402
+ pool.connectorTokens[0] = {
403
+ ...pool.connectorTokens[0],
404
+ liquidityUSD: tokenUsdLiquidity,
405
+ };
406
+ }
407
+ const liquidityUSD = connectorTokenUsdLiquidity || tokenUsdLiquidity || 0;
408
+ return {
409
+ ...pool,
410
+ liquidityUSD,
411
+ };
412
+ });
413
+ return pools
414
+ .sort((a, b) => b.liquidityUSD - a.liquidityUSD)
415
+ .slice(0, limit);
416
+ }
417
+ async _getPoolBalances(pools) {
418
+ const callData = pools
419
+ .map(pool => [
420
+ {
421
+ target: pool[1],
422
+ callData: this.erc20Interface.encodeFunctionData('balanceOf', [
423
+ pool[0],
424
+ ]),
425
+ decodeFunction: decoders_1.uint256ToBigInt,
426
+ },
427
+ {
428
+ target: pool[2],
429
+ callData: this.erc20Interface.encodeFunctionData('balanceOf', [
430
+ pool[0],
431
+ ]),
432
+ decodeFunction: decoders_1.uint256ToBigInt,
433
+ },
434
+ ])
435
+ .flat();
436
+ const balanceOfCalls = await this.dexHelper.multiWrapper.tryAggregate(false, callData);
437
+ const balances = [];
438
+ for (let i = 0; i < balanceOfCalls.length; i += 2) {
439
+ const balanceToken0 = balanceOfCalls[i];
440
+ const balanceToken1 = balanceOfCalls[i + 1];
441
+ balances.push([
442
+ balanceToken0.success ? balanceToken0.returnData : null,
443
+ balanceToken1.success ? balanceToken1.returnData : null,
444
+ ]);
445
+ }
446
+ return balances;
372
447
  }
373
448
  }
374
449
  exports.MaverickV1 = MaverickV1;
@@ -1 +1 @@
1
- {"version":3,"file":"maverick-v1.js","sourceRoot":"","sources":["../../../src/dex/maverick-v1/maverick-v1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maverick-v1.js","sourceRoot":"","sources":["../../../src/dex/maverick-v1/maverick-v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const MiroMigratorConfig: DexConfigMap<DexParams>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiroMigratorConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.MiroMigratorConfig = {
6
+ MiroMigrator: {
7
+ [constants_1.Network.OPTIMISM]: {
8
+ migratorAddress: '0x5032433fb65d7db8e8b90cb239d50fdfd941fb6b',
9
+ pspTokenAddress: '0x326aec8d7d99d1d6022c57c5f6194d2a7867227d',
10
+ xyzTokenAddress: '0xa2781111f824ca1cd98454b2c9722baefc898e99',
11
+ },
12
+ },
13
+ };
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/miro-migrator/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,kBAAkB,GAA4B;IACzD,YAAY,EAAE;QACZ,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,eAAe,EAAE,4CAA4C;YAC7D,eAAe,EAAE,4CAA4C;YAC7D,eAAe,EAAE,4CAA4C;SAC9D;KACF;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const MIRO_MIGRATION_GAS_COST = 95000;
2
+ export declare const TRANSFER_TOPIC = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRANSFER_TOPIC = exports.MIRO_MIGRATION_GAS_COST = void 0;
4
+ exports.MIRO_MIGRATION_GAS_COST = 95_000;
5
+ exports.TRANSFER_TOPIC = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/miro-migrator/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,MAAM,CAAC;AAEjC,QAAA,cAAc,GACzB,oEAAoE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { DeepReadonly } from 'ts-essentials';
3
+ import { Log, Logger } from '../../types';
4
+ import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
+ import { IDexHelper } from '../../dex-helper/idex-helper';
6
+ import { PoolState } from './types';
7
+ export declare class MiroMigratorEventPool extends StatefulEventSubscriber<PoolState> {
8
+ readonly parentName: string;
9
+ protected network: number;
10
+ protected dexHelper: IDexHelper;
11
+ protected migratorAddress: string;
12
+ protected xyzAddress: string;
13
+ protected transferTopic: string;
14
+ protected migratorInterface: Interface;
15
+ protected xyzInterface: Interface;
16
+ handlers: {
17
+ [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
18
+ };
19
+ logDecoder: (log: Log) => any;
20
+ addressesSubscribed: string[];
21
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, migratorAddress: string, xyzAddress: string, transferTopic: string, migratorInterface?: Interface, xyzInterface?: Interface);
22
+ protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): Promise<DeepReadonly<PoolState> | null>;
23
+ generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<PoolState>>;
24
+ getOrGenerateState(blockNumber: number): Promise<PoolState>;
25
+ handleTransferTo(event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>): Promise<DeepReadonly<PoolState>>;
26
+ handleTransferFrom(event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>): Promise<DeepReadonly<PoolState>>;
27
+ }
@@ -0,0 +1,89 @@
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.MiroMigratorEventPool = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const utils_1 = require("../../utils");
9
+ const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
+ const decoders_1 = require("../../lib/decoders");
11
+ const MiroMigrator_abi_json_1 = __importDefault(require("../../abi/miro-migrator/MiroMigrator.abi.json"));
12
+ const erc20_json_1 = __importDefault(require("../../abi/erc20.json"));
13
+ class MiroMigratorEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
14
+ parentName;
15
+ network;
16
+ dexHelper;
17
+ migratorAddress;
18
+ xyzAddress;
19
+ transferTopic;
20
+ migratorInterface;
21
+ xyzInterface;
22
+ handlers = {};
23
+ logDecoder;
24
+ addressesSubscribed;
25
+ constructor(parentName, network, dexHelper, logger, migratorAddress, xyzAddress, transferTopic, migratorInterface = new abi_1.Interface(MiroMigrator_abi_json_1.default), xyzInterface = new abi_1.Interface(erc20_json_1.default)) {
26
+ super(parentName, 'state', dexHelper, logger);
27
+ this.parentName = parentName;
28
+ this.network = network;
29
+ this.dexHelper = dexHelper;
30
+ this.migratorAddress = migratorAddress;
31
+ this.xyzAddress = xyzAddress;
32
+ this.transferTopic = transferTopic;
33
+ this.migratorInterface = migratorInterface;
34
+ this.xyzInterface = xyzInterface;
35
+ this.logDecoder = (log) => this.xyzInterface.parseLog(log);
36
+ this.addressesSubscribed = [xyzAddress];
37
+ }
38
+ async processLog(state, log) {
39
+ try {
40
+ const event = this.logDecoder(log);
41
+ if (log.topics[0] === this.transferTopic &&
42
+ event.args.dst.toLowerCase() === this.migratorAddress.toLowerCase()) {
43
+ return this.handleTransferTo(event, state, log);
44
+ }
45
+ if (log.topics[0] === this.transferTopic &&
46
+ event.args.src.toLowerCase() === this.migratorAddress.toLowerCase()) {
47
+ return this.handleTransferFrom(event, state, log);
48
+ }
49
+ return null;
50
+ }
51
+ catch (e) {
52
+ (0, utils_1.catchParseLogError)(e, this.logger);
53
+ return null;
54
+ }
55
+ }
56
+ async generateState(blockNumber = 'latest') {
57
+ const calls = [
58
+ {
59
+ target: this.xyzAddress,
60
+ callData: this.xyzInterface.encodeFunctionData('balanceOf', [
61
+ this.migratorAddress,
62
+ ]),
63
+ decodeFunction: decoders_1.uint256ToBigInt,
64
+ },
65
+ ];
66
+ const [balance] = await this.dexHelper.multiWrapper.tryAggregate(true, calls, blockNumber);
67
+ return { balance: balance.returnData };
68
+ }
69
+ async getOrGenerateState(blockNumber) {
70
+ let state = this.getState(blockNumber);
71
+ if (!state) {
72
+ state = await this.generateState(blockNumber);
73
+ this.setState(state, blockNumber);
74
+ }
75
+ return state;
76
+ }
77
+ async handleTransferTo(event, state, log) {
78
+ return {
79
+ balance: state.balance + BigInt(event.args.wad),
80
+ };
81
+ }
82
+ async handleTransferFrom(event, state, log) {
83
+ return {
84
+ balance: state.balance - BigInt(event.args.wad),
85
+ };
86
+ }
87
+ }
88
+ exports.MiroMigratorEventPool = MiroMigratorEventPool;
89
+ //# sourceMappingURL=miro-migrator-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miro-migrator-pool.js","sourceRoot":"","sources":["../../../src/dex/miro-migrator/miro-migrator-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAG/C,uCAAiD;AACjD,+EAA0E;AAG1E,iDAAqD;AACrD,0GAA4E;AAC5E,sEAA4C;AAE5C,MAAa,qBAAsB,SAAQ,mDAAkC;IAchE;IACC;IACA;IAEA;IACA;IACA;IACA;IACA;IArBZ,QAAQ,GAMJ,EAAE,CAAC;IAEP,UAAU,CAAoB;IAE9B,mBAAmB,CAAW;IAE9B,YACW,UAAkB,EACjB,OAAe,EACf,SAAqB,EAC/B,MAAc,EACJ,eAAuB,EACvB,UAAkB,EAClB,aAAqB,EACrB,oBAA+B,IAAI,eAAS,CAAC,+BAAe,CAAC,EAC7D,eAA0B,IAAI,eAAS,CAAC,oBAAQ,CAAC;QAE3D,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAVrC,eAAU,GAAV,UAAU,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAErB,oBAAe,GAAf,eAAe,CAAQ;QACvB,eAAU,GAAV,UAAU,CAAQ;QAClB,kBAAa,GAAb,aAAa,CAAQ;QACrB,sBAAiB,GAAjB,iBAAiB,CAA4C;QAC7D,iBAAY,GAAZ,YAAY,CAAqC;QAG3D,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,KAA8B,EAC9B,GAAkB;QAElB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEnC,IACE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa;gBACpC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EACnE,CAAC;gBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;YAED,IACE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa;gBACpC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EACnE,CAAC;gBACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,0BAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,cAAiC,QAAQ;QAEzC,MAAM,KAAK,GAAG;YACZ;gBACE,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,EAAE;oBAC1D,IAAI,CAAC,eAAe;iBACrB,CAAC;gBACF,cAAc,EAAE,0BAAe;aAChC;SACF,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAC9D,IAAI,EACJ,KAAK,EACL,WAAW,CACZ,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAU,EACV,KAA8B,EAC9B,GAAkB;QAElB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAAU,EACV,KAA8B,EAC9B,GAAkB;QAElB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SAChD,CAAC;IACJ,CAAC;CACF;AA3GD,sDA2GC"}
@@ -0,0 +1,42 @@
1
+ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam } from '../../types';
2
+ import { SwapSide, Network } from '../../constants';
3
+ import { IDex } from '../../dex/idex';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { MiroMigratorData } from './types';
6
+ import { SimpleExchange } from '../simple-exchange';
7
+ import { Interface } from '@ethersproject/abi';
8
+ import { MiroMigratorEventPool } from './miro-migrator-pool';
9
+ export declare class MiroMigrator extends SimpleExchange implements IDex<MiroMigratorData> {
10
+ readonly network: Network;
11
+ readonly dexKey: string;
12
+ readonly dexHelper: IDexHelper;
13
+ readonly migratorAddress: string;
14
+ readonly pspTokenAddress: string;
15
+ readonly xyzTokenAddress: string;
16
+ protected unitPrice: bigint;
17
+ protected migratorInterface: Interface;
18
+ readonly hasConstantPriceLargeAmounts = true;
19
+ readonly isFeeOnTransferSupported = false;
20
+ static dexKeysWithNetwork: {
21
+ key: string;
22
+ networks: Network[];
23
+ }[];
24
+ readonly eventPool: MiroMigratorEventPool;
25
+ logger: Logger;
26
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, migratorAddress?: string, pspTokenAddress?: string, xyzTokenAddress?: string, unitPrice?: bigint, migratorInterface?: Interface);
27
+ isPSP(tokenAddress: Address): boolean;
28
+ isXYZ(tokenAddress: Address): boolean;
29
+ isAppropriatePair(srcToken: Token, destToken: Token): boolean;
30
+ getAdapters(side: SwapSide): {
31
+ name: string;
32
+ index: number;
33
+ }[] | null;
34
+ initializePricing(blockNumber: number): Promise<void>;
35
+ getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
36
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<MiroMigratorData>>;
37
+ getCalldataGasCost(poolPrices: PoolPrices<MiroMigratorData>): number | number[];
38
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MiroMigratorData, side: SwapSide): AdapterExchangeParam;
39
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MiroMigratorData, side: SwapSide): Promise<SimpleExchangeParam>;
40
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: MiroMigratorData, side: SwapSide): DexExchangeParam;
41
+ getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
42
+ }