@paraswap/dex-lib 4.7.12-multi-wrapper-non-zero-sender.0 → 4.7.13-from-amount-pos.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.
Files changed (215) hide show
  1. package/build/abi/PendleRouterStatic.json +19 -0
  2. package/build/abi/{MStableAsset.json → apex-defi/ApexDefiFactory.abi.json} +992 -788
  3. package/build/abi/{BProtocol.json → apex-defi/ApexDefiRouter.abi.json} +539 -574
  4. package/build/abi/apex-defi/ApexDefiToken.abi.json +229 -0
  5. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +92 -0
  6. package/build/abi/{OneInchLp.json → apex-defi/ApexDefiWrapperFactory.abi.json} +577 -774
  7. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +796 -0
  8. package/build/abi/pendle/pendle-deployer.abi.json +520 -0
  9. package/build/abi/pendle/pendle-oracle.abi.json +413 -0
  10. package/build/abi/ring-v2/few-wrapped-token.json +587 -0
  11. package/build/abi/ring-v2/ring-v2-factory.json +125 -0
  12. package/build/abi/ring-v2/ring-v2-pool.json +461 -0
  13. package/build/abi/ring-v2/ring-v2-router.json +332 -0
  14. package/build/abi/stabull/stabull-curve.json +738 -0
  15. package/build/abi/stabull/stabull-router.json +76 -0
  16. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +26 -0
  17. package/build/abi/uniswap-v4/hooks/SpotHook.json +54 -0
  18. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +45 -0
  19. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +682 -0
  20. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +1335 -0
  21. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +29 -0
  22. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +153 -0
  23. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +1 -0
  24. package/build/dex/{usual-bond/usual-bond.d.ts → aave-pt-to-underlying/aave-pt-to-underlying.d.ts} +23 -18
  25. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +323 -0
  26. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +1 -0
  27. package/build/dex/aave-pt-to-underlying/config.d.ts +3 -0
  28. package/build/dex/aave-pt-to-underlying/config.js +24 -0
  29. package/build/dex/aave-pt-to-underlying/config.js.map +1 -0
  30. package/build/dex/aave-pt-to-underlying/constants.d.ts +2 -0
  31. package/build/dex/aave-pt-to-underlying/constants.js +6 -0
  32. package/build/dex/aave-pt-to-underlying/constants.js.map +1 -0
  33. package/build/dex/aave-pt-to-underlying/types.d.ts +24 -0
  34. package/build/dex/aave-pt-to-underlying/types.js.map +1 -0
  35. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +39 -0
  36. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +244 -0
  37. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +1 -0
  38. package/build/dex/aave-pt-to-usdc/config.d.ts +3 -0
  39. package/build/dex/aave-pt-to-usdc/config.js +47 -0
  40. package/build/dex/aave-pt-to-usdc/config.js.map +1 -0
  41. package/build/dex/aave-pt-to-usdc/constants.d.ts +2 -0
  42. package/build/dex/aave-pt-to-usdc/constants.js +6 -0
  43. package/build/dex/aave-pt-to-usdc/constants.js.map +1 -0
  44. package/build/dex/aave-pt-to-usdc/types.d.ts +22 -0
  45. package/build/dex/aave-pt-to-usdc/types.js.map +1 -0
  46. package/build/dex/apex-defi/apex-defi-factory.d.ts +26 -0
  47. package/build/dex/apex-defi/apex-defi-factory.js +53 -0
  48. package/build/dex/apex-defi/apex-defi-factory.js.map +1 -0
  49. package/build/dex/apex-defi/apex-defi-pool.d.ts +55 -0
  50. package/build/dex/apex-defi/apex-defi-pool.js +247 -0
  51. package/build/dex/apex-defi/apex-defi-pool.js.map +1 -0
  52. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +57 -0
  53. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +250 -0
  54. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +1 -0
  55. package/build/dex/apex-defi/apex-defi.d.ts +97 -0
  56. package/build/dex/apex-defi/apex-defi.js +1021 -0
  57. package/build/dex/apex-defi/apex-defi.js.map +1 -0
  58. package/build/dex/apex-defi/config.d.ts +4 -0
  59. package/build/dex/apex-defi/config.js +138 -0
  60. package/build/dex/apex-defi/config.js.map +1 -0
  61. package/build/dex/apex-defi/types.d.ts +32 -0
  62. package/build/dex/apex-defi/types.js +3 -0
  63. package/build/dex/{usual-bond → apex-defi}/types.js.map +1 -1
  64. package/build/dex/apex-defi/utils.d.ts +46 -0
  65. package/build/dex/apex-defi/utils.js +133 -0
  66. package/build/dex/apex-defi/utils.js.map +1 -0
  67. package/build/dex/maker-psm/maker-psm-event-pool.d.ts +43 -0
  68. package/build/dex/maker-psm/maker-psm-event-pool.js +132 -0
  69. package/build/dex/maker-psm/maker-psm-event-pool.js.map +1 -0
  70. package/build/dex/miro-migrator/miro-migrator-state.d.ts +27 -0
  71. package/build/dex/miro-migrator/miro-migrator-state.js +89 -0
  72. package/build/dex/miro-migrator/miro-migrator-state.js.map +1 -0
  73. package/build/dex/{usual-bond → stabull}/config.d.ts +1 -1
  74. package/build/dex/stabull/config.js +177 -0
  75. package/build/dex/stabull/config.js.map +1 -0
  76. package/build/dex/{se-vlr/se-vlr-pool.d.ts → stabull/stabull-pool.d.ts} +13 -6
  77. package/build/dex/stabull/stabull-pool.js +113 -0
  78. package/build/dex/stabull/stabull-pool.js.map +1 -0
  79. package/build/dex/stabull/stabull.d.ts +55 -0
  80. package/build/dex/stabull/stabull.js +286 -0
  81. package/build/dex/stabull/stabull.js.map +1 -0
  82. package/build/dex/stabull/types.d.ts +21 -0
  83. package/build/dex/stabull/types.js +3 -0
  84. package/build/dex/stabull/types.js.map +1 -0
  85. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +4 -0
  86. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +56 -0
  87. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +1 -0
  88. package/build/dex/uniswap-v4/contract-math/Position.d.ts +6 -0
  89. package/build/dex/uniswap-v4/contract-math/Position.js +29 -0
  90. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  91. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +7 -0
  92. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +28 -0
  93. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +1 -0
  94. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  95. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +2 -0
  96. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +1 -0
  97. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +7 -0
  98. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +28 -0
  99. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +1 -0
  100. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  101. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +2 -0
  102. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +1 -0
  103. package/build/dex/uniswap-v4/hooks/index.d.ts +1 -0
  104. package/build/dex/uniswap-v4/hooks/index.js +9 -0
  105. package/build/dex/uniswap-v4/hooks/index.js.map +1 -0
  106. package/build/dex/uniswap-v4/hooks/spot.d.ts +15 -0
  107. package/build/dex/uniswap-v4/hooks/spot.js +109 -0
  108. package/build/dex/uniswap-v4/hooks/spot.js.map +1 -0
  109. package/build/dex/uniswap-v4/hooks/template.d.ts +150 -0
  110. package/build/dex/uniswap-v4/hooks/template.js +104 -0
  111. package/build/dex/uniswap-v4/hooks/template.js.map +1 -0
  112. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +26 -0
  113. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +75 -0
  114. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +1 -0
  115. package/build/dex/usual/usual-usdc-usdc.d.ts +17 -0
  116. package/build/dex/usual/usual-usdc-usdc.js +59 -0
  117. package/build/dex/usual/usual-usdc-usdc.js.map +1 -0
  118. package/build/dex/{se-vlr → yo}/config.d.ts +1 -1
  119. package/build/dex/yo/config.js +21 -0
  120. package/build/dex/yo/config.js.map +1 -0
  121. package/build/dex/yo/types.d.ts +13 -0
  122. package/build/dex/yo/types.js +3 -0
  123. package/build/dex/{se-vlr → yo}/types.js.map +1 -1
  124. package/build/dex/yo/yo-pool.d.ts +13 -0
  125. package/build/dex/yo/yo-pool.js +26 -0
  126. package/build/dex/yo/yo-pool.js.map +1 -0
  127. package/build/dex/yo/yo.d.ts +39 -0
  128. package/build/dex/yo/yo.js +248 -0
  129. package/build/dex/yo/yo.js.map +1 -0
  130. package/build/executor/Executor01BytecodeBuilder.js +10 -4
  131. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  132. package/build/implementations/api-paraswap-sdk.d.ts +25 -0
  133. package/build/implementations/api-paraswap-sdk.js +102 -0
  134. package/build/implementations/api-paraswap-sdk.js.map +1 -0
  135. package/package.json +1 -1
  136. package/build/abi/Jarvis.json +0 -1172
  137. package/build/abi/Onebit.json +0 -736
  138. package/build/abi/Shell.json +0 -1294
  139. package/build/abi/TraderJoeV2Router.json +0 -50
  140. package/build/abi/wUSDM.json +0 -757
  141. package/build/abi/zrx.v2.json +0 -1967
  142. package/build/abi/zrx.v3.json +0 -3454
  143. package/build/abi/zrx.v4.json +0 -2193
  144. package/build/dex/OneInchLp.d.ts +0 -24
  145. package/build/dex/OneInchLp.js +0 -43
  146. package/build/dex/OneInchLp.js.map +0 -1
  147. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  148. package/build/dex/bProtocol/bProtocol.js +0 -56
  149. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  150. package/build/dex/bProtocol/types.d.ts +0 -11
  151. package/build/dex/bProtocol/types.js +0 -8
  152. package/build/dex/bProtocol/types.js.map +0 -1
  153. package/build/dex/jarvis.d.ts +0 -56
  154. package/build/dex/jarvis.js +0 -163
  155. package/build/dex/jarvis.js.map +0 -1
  156. package/build/dex/mStable.d.ts +0 -44
  157. package/build/dex/mStable.js +0 -75
  158. package/build/dex/mStable.js.map +0 -1
  159. package/build/dex/onebit/onebit.d.ts +0 -16
  160. package/build/dex/onebit/onebit.js +0 -61
  161. package/build/dex/onebit/onebit.js.map +0 -1
  162. package/build/dex/onebit/types.d.ts +0 -14
  163. package/build/dex/onebit/types.js +0 -8
  164. package/build/dex/onebit/types.js.map +0 -1
  165. package/build/dex/se-vlr/config.js +0 -24
  166. package/build/dex/se-vlr/config.js.map +0 -1
  167. package/build/dex/se-vlr/se-vlr-pool.js +0 -70
  168. package/build/dex/se-vlr/se-vlr-pool.js.map +0 -1
  169. package/build/dex/se-vlr/se-vlr.d.ts +0 -35
  170. package/build/dex/se-vlr/se-vlr.js +0 -131
  171. package/build/dex/se-vlr/se-vlr.js.map +0 -1
  172. package/build/dex/se-vlr/types.d.ts +0 -6
  173. package/build/dex/shell.d.ts +0 -25
  174. package/build/dex/shell.js +0 -41
  175. package/build/dex/shell.js.map +0 -1
  176. package/build/dex/trader-joe-v2.d.ts +0 -40
  177. package/build/dex/trader-joe-v2.js +0 -74
  178. package/build/dex/trader-joe-v2.js.map +0 -1
  179. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
  180. package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
  181. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
  182. package/build/dex/usual-bond/config.js +0 -13
  183. package/build/dex/usual-bond/config.js.map +0 -1
  184. package/build/dex/usual-bond/types.d.ts +0 -7
  185. package/build/dex/usual-bond/usual-bond.js +0 -176
  186. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  187. package/build/dex/wusdm/config.d.ts +0 -3
  188. package/build/dex/wusdm/config.js +0 -43
  189. package/build/dex/wusdm/config.js.map +0 -1
  190. package/build/dex/wusdm/constants.d.ts +0 -2
  191. package/build/dex/wusdm/constants.js +0 -6
  192. package/build/dex/wusdm/constants.js.map +0 -1
  193. package/build/dex/wusdm/types.d.ts +0 -18
  194. package/build/dex/wusdm/types.js +0 -11
  195. package/build/dex/wusdm/types.js.map +0 -1
  196. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  197. package/build/dex/wusdm/wusdm-pool.js +0 -74
  198. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  199. package/build/dex/wusdm/wusdm.d.ts +0 -46
  200. package/build/dex/wusdm/wusdm.js +0 -243
  201. package/build/dex/wusdm/wusdm.js.map +0 -1
  202. package/build/dex/zerox/config.d.ts +0 -2
  203. package/build/dex/zerox/config.js +0 -33
  204. package/build/dex/zerox/config.js.map +0 -1
  205. package/build/dex/zerox/index.d.ts +0 -22
  206. package/build/dex/zerox/index.js +0 -225
  207. package/build/dex/zerox/index.js.map +0 -1
  208. package/build/dex/zerox/order.d.ts +0 -88
  209. package/build/dex/zerox/order.js +0 -53
  210. package/build/dex/zerox/order.js.map +0 -1
  211. package/build/dex/zerox/types.d.ts +0 -73
  212. package/build/dex/zerox/types.js +0 -21
  213. package/build/dex/zerox/types.js.map +0 -1
  214. /package/build/dex/{se-vlr → aave-pt-to-underlying}/types.js +0 -0
  215. /package/build/dex/{usual-bond → aave-pt-to-usdc}/types.js +0 -0
@@ -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":"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"}
@@ -249,11 +249,17 @@ class Executor01BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
249
249
  }
250
250
  else {
251
251
  const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].srcAmount]);
252
- const fromAmountIndex = exchangeData
253
- .replace('0x', '')
254
- .indexOf(fromAmount.replace('0x', ''));
252
+ const cleanedCalldata = exchangeData.replace('0x', '');
253
+ const cleanedAmount = fromAmount.replace('0x', '');
254
+ const matches = [];
255
+ for (let idx = cleanedCalldata.indexOf(cleanedAmount); idx !== -1; idx = cleanedCalldata.indexOf(cleanedAmount, idx + 1)) {
256
+ matches.push(idx);
257
+ }
258
+ const fromAmountIndex = matches.find(idx => idx % 2 === 0) ??
259
+ (matches.length > 0 ? matches[0] : -1);
255
260
  fromAmountPos =
256
- (fromAmountIndex !== -1 ? fromAmountIndex : exchangeData.length) / 2;
261
+ (fromAmountIndex !== -1 ? fromAmountIndex : cleanedCalldata.length) /
262
+ 2;
257
263
  }
258
264
  }
259
265
  return this.buildCallData(exchangeParam.targetExchange, exchangeData, fromAmountPos, destTokenPos, specialDexFlag || types_1.SpecialDex.DEFAULT, flag, undefined, returnAmountPos);
@@ -1 +1 @@
1
- {"version":3,"file":"Executor01BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor01BytecodeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor01BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor01BytecodeBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { SimpleFetchSDK, AddressOrSymbol } from '@paraswap/sdk';
2
+ import { IDexHelper } from '../dex-helper';
3
+ import { PricingHelper } from '../pricing-helper';
4
+ import { DexAdapterService } from '../dex';
5
+ import { GenericSwapTransactionBuilder } from '../generic-swap-transaction-builder';
6
+ import { Address, OptimalRate, Token, TransferFeeParams, TxObject } from '../types';
7
+ import { ContractMethod } from '../constants';
8
+ import { SwapSide } from '@paraswap/core/build/constants';
9
+ import { IParaSwapSDK } from './local-paraswap-sdk';
10
+ export declare class APIParaswapSDK implements IParaSwapSDK {
11
+ protected network: number;
12
+ paraSwap: SimpleFetchSDK;
13
+ dexKeys: string[];
14
+ dexHelper: IDexHelper;
15
+ pricingHelper: PricingHelper;
16
+ transactionBuilder: GenericSwapTransactionBuilder;
17
+ dexAdapterService: DexAdapterService;
18
+ constructor(network: number, dexKeys: string | string[], rpcUrl?: string);
19
+ initializePricing(): Promise<void>;
20
+ getPrices(from: Token, to: Token, amount: bigint, side: SwapSide, contractMethod: ContractMethod, _poolIdentifiers?: {
21
+ [key: string]: string[] | null;
22
+ } | null, transferFees?: TransferFeeParams, forceRoute?: AddressOrSymbol[]): Promise<OptimalRate>;
23
+ buildTransaction(priceRoute: OptimalRate, _minMaxAmount: BigInt, userAddress: Address): Promise<TxObject>;
24
+ releaseResources(): Promise<void>;
25
+ }
@@ -0,0 +1,102 @@
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.APIParaswapSDK = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const sdk_1 = require("@paraswap/sdk");
9
+ const core_1 = require("@paraswap/core");
10
+ const dex_helper_1 = require("../dex-helper");
11
+ const pricing_helper_1 = require("../pricing-helper");
12
+ const dex_1 = require("../dex");
13
+ const generic_swap_transaction_builder_1 = require("../generic-swap-transaction-builder");
14
+ const constants_1 = require("../constants");
15
+ const uuid_1 = require("uuid");
16
+ const testingEndpoint = process.env.E2E_TEST_ENDPOINT;
17
+ class APIParaswapSDK {
18
+ network;
19
+ paraSwap;
20
+ dexKeys;
21
+ dexHelper;
22
+ pricingHelper;
23
+ transactionBuilder;
24
+ dexAdapterService;
25
+ constructor(network, dexKeys, rpcUrl) {
26
+ this.network = network;
27
+ this.dexKeys = Array.isArray(dexKeys) ? dexKeys : [dexKeys];
28
+ this.paraSwap = (0, sdk_1.constructSimpleSDK)({
29
+ version: core_1.ParaSwapVersion.V6,
30
+ chainId: network,
31
+ axios: axios_1.default,
32
+ apiURL: testingEndpoint,
33
+ });
34
+ this.dexHelper = new dex_helper_1.DummyDexHelper(this.network, rpcUrl);
35
+ this.dexAdapterService = new dex_1.DexAdapterService(this.dexHelper, this.network);
36
+ this.transactionBuilder = new generic_swap_transaction_builder_1.GenericSwapTransactionBuilder(this.dexAdapterService);
37
+ this.pricingHelper = new pricing_helper_1.PricingHelper(this.dexAdapterService, this.dexHelper.getLogger);
38
+ }
39
+ async initializePricing() {
40
+ const blockNumber = await this.dexHelper.web3Provider.eth.getBlockNumber();
41
+ await this.pricingHelper.initialize(blockNumber, this.dexKeys);
42
+ }
43
+ async getPrices(from, to, amount, side, contractMethod, _poolIdentifiers, transferFees, forceRoute) {
44
+ if (_poolIdentifiers)
45
+ throw new Error('PoolIdentifiers is not supported by the API');
46
+ let priceRoute;
47
+ if (forceRoute && forceRoute.length > 0) {
48
+ const options = {
49
+ route: forceRoute,
50
+ amount: amount.toString(),
51
+ side,
52
+ srcDecimals: from.decimals,
53
+ destDecimals: to.decimals,
54
+ options: {
55
+ includeDEXS: this.dexKeys,
56
+ includeContractMethods: [contractMethod],
57
+ partner: 'any',
58
+ maxImpact: 100,
59
+ },
60
+ ...transferFees,
61
+ };
62
+ priceRoute = await this.paraSwap.swap.getRateByRoute(options);
63
+ }
64
+ else {
65
+ const options = {
66
+ srcToken: from.address,
67
+ destToken: to.address,
68
+ side,
69
+ amount: amount.toString(),
70
+ options: {
71
+ includeDEXS: this.dexKeys,
72
+ includeContractMethods: [contractMethod],
73
+ partner: 'any',
74
+ maxImpact: 100,
75
+ },
76
+ ...transferFees,
77
+ srcDecimals: from.decimals,
78
+ destDecimals: to.decimals,
79
+ };
80
+ priceRoute = await this.paraSwap.swap.getRate(options);
81
+ }
82
+ return priceRoute;
83
+ }
84
+ async buildTransaction(priceRoute, _minMaxAmount, userAddress) {
85
+ const minMaxAmount = _minMaxAmount.toString();
86
+ let deadline = Number((Math.floor(Date.now() / 1000) + 10 * 60).toFixed());
87
+ return (await this.transactionBuilder.build({
88
+ priceRoute,
89
+ minMaxAmount: minMaxAmount.toString(),
90
+ userAddress,
91
+ partnerAddress: constants_1.NULL_ADDRESS,
92
+ partnerFeePercent: '0',
93
+ deadline: deadline.toString(),
94
+ uuid: (0, uuid_1.v4)(),
95
+ }));
96
+ }
97
+ async releaseResources() {
98
+ await this.pricingHelper.releaseResources(this.dexKeys);
99
+ }
100
+ }
101
+ exports.APIParaswapSDK = APIParaswapSDK;
102
+ //# sourceMappingURL=api-paraswap-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-paraswap-sdk.js","sourceRoot":"","sources":["../../src/implementations/api-paraswap-sdk.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.7.12-multi-wrapper-non-zero-sender.0",
3
+ "version": "4.7.13-from-amount-pos.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",