@pendle/core-v2 5.3.1 → 5.4.1

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 (256) hide show
  1. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +0 -37
  3. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +0 -115
  6. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +0 -37
  8. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  9. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -37
  10. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +0 -37
  12. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +0 -37
  14. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +0 -179
  16. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  18. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +0 -257
  19. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  20. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  21. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  22. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  23. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  24. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.json +0 -37
  25. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  26. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +0 -37
  27. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -37
  29. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  31. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  33. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -39
  43. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  45. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +4 -0
  46. package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.json → offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json} +4 -4
  47. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +4 -0
  48. package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.json → offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json} +4 -4
  49. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  50. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +4 -0
  51. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +35 -0
  52. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -39
  54. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  55. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -117
  56. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  57. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -39
  58. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  59. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -39
  60. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  61. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -39
  62. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  63. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -181
  64. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  65. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  66. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  67. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  68. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  69. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  71. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  73. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  75. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  77. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +4 -0
  78. package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtInLib.json → MarketApproxLibV2.sol/MarketApproxPtInLibV2.json} +4 -4
  79. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +4 -0
  80. package/build/artifacts/contracts/router/math/{MarketApproxLib.sol/MarketApproxPtOutLib.json → MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json} +4 -4
  81. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  82. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  83. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  84. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  85. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  86. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +1 -1
  87. package/contracts/interfaces/IPActionMarketAuxStatic.sol +2 -1
  88. package/contracts/interfaces/IPActionMiscV3.sol +1 -7
  89. package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
  90. package/contracts/interfaces/IPActionSwapPTV3.sol +1 -1
  91. package/contracts/interfaces/IPActionSwapYTV3.sol +1 -17
  92. package/contracts/interfaces/IPActionVePendleStatic.sol +1 -0
  93. package/contracts/interfaces/IPAllEventsV3.sol +0 -8
  94. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +2 -2
  95. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +8 -7
  96. package/contracts/{router/math/MarketApproxLib.sol → offchain-helpers/router-static/base/MarketApproxLibV1.sol} +13 -13
  97. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -1
  98. package/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol +10 -0
  99. package/contracts/router/ActionAddRemoveLiqV3.sol +4 -4
  100. package/contracts/router/ActionMiscV3.sol +0 -14
  101. package/contracts/router/ActionSwapYTV3.sol +2 -65
  102. package/contracts/router/base/ActionBase.sol +5 -6
  103. package/contracts/router/math/MarketApproxLibV2.sol +479 -0
  104. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +8 -1
  105. package/contracts/router/swap-aggregator/PendleSwap.sol +0 -2
  106. package/deployments/1-core.json +6 -5
  107. package/deployments/10-core.json +1 -0
  108. package/deployments/42161-core.json +1 -0
  109. package/deployments/5000-core.json +1 -0
  110. package/deployments/56-core.json +1 -0
  111. package/deployments/8453-core.json +1 -0
  112. package/package.json +1 -1
  113. package/typechain-types/ActionAddRemoveLiqV3.ts +2000 -0
  114. package/typechain-types/ActionInfoStatic.ts +310 -0
  115. package/typechain-types/ActionMarketAuxStatic.ts +903 -0
  116. package/typechain-types/ActionMarketCoreStatic.ts +1974 -0
  117. package/typechain-types/ActionMintRedeemStatic.ts +435 -0
  118. package/typechain-types/ActionMiscV3.ts +2213 -0
  119. package/typechain-types/ActionSimple.ts +1544 -0
  120. package/typechain-types/ActionStorageStatic.ts +1345 -0
  121. package/typechain-types/ActionStorageV4.ts +1270 -0
  122. package/typechain-types/ActionSwapPTV3.ts +1507 -0
  123. package/typechain-types/ActionSwapYTV3.ts +1507 -0
  124. package/typechain-types/ActionVePendleStatic.ts +113 -0
  125. package/typechain-types/IKyberScalingHelper.ts +108 -0
  126. package/typechain-types/IOdosRouterV2.ts +147 -0
  127. package/typechain-types/IPActionAddRemoveLiqV3.ts +2000 -0
  128. package/typechain-types/IPActionAddRemoveLiqV3Events.ts +499 -0
  129. package/typechain-types/IPActionMarketAuxStatic.ts +859 -0
  130. package/typechain-types/IPActionMiscV3.ts +2213 -0
  131. package/typechain-types/IPActionMiscV3Events.ts +463 -0
  132. package/typechain-types/IPActionSimple.ts +1544 -0
  133. package/typechain-types/IPActionStorageEvents.ts +97 -0
  134. package/typechain-types/IPActionStorageStatic.ts +1268 -0
  135. package/typechain-types/IPActionStorageV4.ts +1270 -0
  136. package/typechain-types/IPActionSwapPTV3.ts +1507 -0
  137. package/typechain-types/IPActionSwapPTV3Events.ts +125 -0
  138. package/typechain-types/IPActionSwapYTV3.ts +1507 -0
  139. package/typechain-types/IPActionSwapYTV3Events.ts +125 -0
  140. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  141. package/typechain-types/IPAllActionV3.ts +4210 -0
  142. package/typechain-types/IPAllEventsV3.ts +1080 -0
  143. package/typechain-types/IPRouterStatic.ts +4633 -0
  144. package/typechain-types/IPSwapAggregator.ts +187 -0
  145. package/typechain-types/PendlePoolDeployHelper.ts +342 -0
  146. package/typechain-types/PendleRouterStatic.ts +57 -0
  147. package/typechain-types/PendleRouterV4.ts +57 -0
  148. package/typechain-types/PendleSparkLinearDiscountOracleFactory.ts +108 -0
  149. package/typechain-types/PendleSwap.ts +208 -0
  150. package/typechain-types/Reflector.ts +95 -0
  151. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +3533 -0
  152. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  153. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +780 -0
  154. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1449 -0
  155. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +304 -0
  156. package/typechain-types/factories/ActionMiscV3__factory.ts +3056 -0
  157. package/typechain-types/factories/ActionSimple__factory.ts +1939 -0
  158. package/typechain-types/factories/ActionStorageStatic__factory.ts +1576 -0
  159. package/typechain-types/factories/ActionStorageV4__factory.ts +1504 -0
  160. package/typechain-types/factories/ActionSwapPTV3__factory.ts +2556 -0
  161. package/typechain-types/factories/ActionSwapYTV3__factory.ts +2556 -0
  162. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  163. package/typechain-types/factories/IKyberScalingHelper__factory.ts +55 -0
  164. package/typechain-types/factories/IOdosRouterV2__factory.ts +94 -0
  165. package/typechain-types/factories/IPActionAddRemoveLiqV3Events__factory.ts +582 -0
  166. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +3421 -0
  167. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +622 -0
  168. package/typechain-types/factories/IPActionMiscV3Events__factory.ts +608 -0
  169. package/typechain-types/factories/IPActionMiscV3__factory.ts +3005 -0
  170. package/typechain-types/factories/IPActionSimple__factory.ts +1840 -0
  171. package/typechain-types/factories/IPActionStorageEvents__factory.ts +68 -0
  172. package/typechain-types/factories/IPActionStorageStatic__factory.ts +1498 -0
  173. package/typechain-types/factories/IPActionStorageV4__factory.ts +1466 -0
  174. package/typechain-types/factories/IPActionSwapPTV3Events__factory.ts +116 -0
  175. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +2454 -0
  176. package/typechain-types/factories/IPActionSwapYTV3Events__factory.ts +116 -0
  177. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +2454 -0
  178. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  179. package/typechain-types/factories/IPAllActionV3__factory.ts +7860 -0
  180. package/typechain-types/factories/IPAllEventsV3__factory.ts +1363 -0
  181. package/typechain-types/factories/IPRouterStatic__factory.ts +3956 -0
  182. package/typechain-types/factories/IPSwapAggregator__factory.ts +136 -0
  183. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +345 -0
  184. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  185. package/typechain-types/factories/PendleRouterV4__factory.ts +96 -0
  186. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +100 -0
  187. package/typechain-types/factories/PendleSwap__factory.ts +188 -0
  188. package/typechain-types/factories/Reflector__factory.ts +84 -0
  189. package/typechain-types/hardhat.d.ts +9 -45
  190. package/typechain-types/index.ts +2 -10
  191. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +0 -4
  192. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +0 -4
  193. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  194. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +0 -65
  195. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.dbg.json +0 -4
  196. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.json +0 -194
  197. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +0 -4
  198. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.json +0 -1787
  199. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +0 -4
  200. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +0 -2873
  201. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.dbg.json +0 -4
  202. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol/IExecutorHelperL2Struct.json +0 -10
  203. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.dbg.json +0 -4
  204. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol/IExecutorHelperStruct.json +0 -10
  205. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  206. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +0 -215
  207. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.dbg.json +0 -4
  208. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol/IBebopV3.json +0 -10
  209. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.dbg.json +0 -4
  210. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol/IKyberDSLO.json +0 -10
  211. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.dbg.json +0 -4
  212. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol/IKyberLO.json +0 -10
  213. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +0 -4
  214. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +0 -10
  215. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +0 -4
  216. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.dbg.json +0 -4
  217. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +0 -4
  218. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +0 -10
  219. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +0 -4
  220. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +0 -10
  221. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +0 -4
  222. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json +0 -10
  223. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +0 -4
  224. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json +0 -10
  225. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +0 -4
  226. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +0 -10
  227. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +0 -4
  228. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +0 -10
  229. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +0 -4
  230. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +0 -10
  231. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.dbg.json +0 -4
  232. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol/BytesHelper.json +0 -10
  233. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.dbg.json +0 -4
  234. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol/RevertReasonParser.json +0 -10
  235. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -31
  236. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol +0 -63
  237. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +0 -164
  238. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +0 -483
  239. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2Struct.sol +0 -412
  240. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperStruct.sol +0 -459
  241. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +0 -47
  242. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IBebopV3.sol +0 -23
  243. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberDSLO.sol +0 -36
  244. package/contracts/router/swap-aggregator/kyberswap/interfaces/pools/IKyberLO.sol +0 -32
  245. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol +0 -354
  246. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol +0 -521
  247. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol +0 -93
  248. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +0 -404
  249. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol +0 -118
  250. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol +0 -41
  251. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +0 -684
  252. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol +0 -61
  253. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +0 -373
  254. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +0 -273
  255. package/contracts/router/swap-aggregator/kyberswap/libraries/BytesHelper.sol +0 -32
  256. package/contracts/router/swap-aggregator/kyberswap/libraries/RevertReasonParser.sol +0 -75
@@ -1,521 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.0;
3
-
4
- import {IExecutorHelperStruct} from "../interfaces/IExecutorHelperStruct.sol";
5
- import {IBebopV3} from "../interfaces/pools/IBebopV3.sol";
6
- import {BytesHelper} from "../libraries/BytesHelper.sol";
7
-
8
- library ScalingDataLib {
9
- using BytesHelper for bytes;
10
-
11
- function newUniSwap(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
12
- IExecutorHelperStruct.UniSwap memory uniSwap = abi.decode(data, (IExecutorHelperStruct.UniSwap));
13
- uniSwap.collectAmount = (uniSwap.collectAmount * newAmount) / oldAmount;
14
- return abi.encode(uniSwap);
15
- }
16
-
17
- function newStableSwap(
18
- bytes memory data,
19
- uint256 oldAmount,
20
- uint256 newAmount
21
- ) internal pure returns (bytes memory) {
22
- IExecutorHelperStruct.StableSwap memory stableSwap = abi.decode(data, (IExecutorHelperStruct.StableSwap));
23
- stableSwap.dx = (stableSwap.dx * newAmount) / oldAmount;
24
- return abi.encode(stableSwap);
25
- }
26
-
27
- function newCurveSwap(
28
- bytes memory data,
29
- uint256 oldAmount,
30
- uint256 newAmount
31
- ) internal pure returns (bytes memory) {
32
- IExecutorHelperStruct.CurveSwap memory curveSwap = abi.decode(data, (IExecutorHelperStruct.CurveSwap));
33
- curveSwap.dx = (curveSwap.dx * newAmount) / oldAmount;
34
- return abi.encode(curveSwap);
35
- }
36
-
37
- function newUniV3ProMM(
38
- bytes memory data,
39
- uint256 oldAmount,
40
- uint256 newAmount
41
- ) internal pure returns (bytes memory) {
42
- IExecutorHelperStruct.UniswapV3KSElastic memory uniSwapV3ProMM = abi.decode(
43
- data,
44
- (IExecutorHelperStruct.UniswapV3KSElastic)
45
- );
46
- uniSwapV3ProMM.swapAmount = (uniSwapV3ProMM.swapAmount * newAmount) / oldAmount;
47
-
48
- return abi.encode(uniSwapV3ProMM);
49
- }
50
-
51
- function newBalancerV2(
52
- bytes memory data,
53
- uint256 oldAmount,
54
- uint256 newAmount
55
- ) internal pure returns (bytes memory) {
56
- IExecutorHelperStruct.BalancerV2 memory balancerV2 = abi.decode(data, (IExecutorHelperStruct.BalancerV2));
57
- balancerV2.amount = (balancerV2.amount * newAmount) / oldAmount;
58
- return abi.encode(balancerV2);
59
- }
60
-
61
- function newDODO(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
62
- IExecutorHelperStruct.DODO memory dodo = abi.decode(data, (IExecutorHelperStruct.DODO));
63
- dodo.amount = (dodo.amount * newAmount) / oldAmount;
64
- return abi.encode(dodo);
65
- }
66
-
67
- function newGMX(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
68
- IExecutorHelperStruct.GMX memory gmx = abi.decode(data, (IExecutorHelperStruct.GMX));
69
- gmx.amount = (gmx.amount * newAmount) / oldAmount;
70
- return abi.encode(gmx);
71
- }
72
-
73
- function newSynthetix(
74
- bytes memory data,
75
- uint256 oldAmount,
76
- uint256 newAmount
77
- ) internal pure returns (bytes memory) {
78
- IExecutorHelperStruct.Synthetix memory synthetix = abi.decode(data, (IExecutorHelperStruct.Synthetix));
79
- synthetix.sourceAmount = (synthetix.sourceAmount * newAmount) / oldAmount;
80
- return abi.encode(synthetix);
81
- }
82
-
83
- function newCamelot(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
84
- IExecutorHelperStruct.UniSwap memory camelot = abi.decode(data, (IExecutorHelperStruct.UniSwap));
85
- camelot.collectAmount = (camelot.collectAmount * newAmount) / oldAmount;
86
- return abi.encode(camelot);
87
- }
88
-
89
- function newPlatypus(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
90
- IExecutorHelperStruct.Platypus memory platypus = abi.decode(data, (IExecutorHelperStruct.Platypus));
91
- platypus.collectAmount = (platypus.collectAmount * newAmount) / oldAmount;
92
- return abi.encode(platypus);
93
- }
94
-
95
- function newWrappedstETHSwap(
96
- bytes memory data,
97
- uint256 oldAmount,
98
- uint256 newAmount
99
- ) internal pure returns (bytes memory) {
100
- IExecutorHelperStruct.WSTETH memory wstEthData = abi.decode(data, (IExecutorHelperStruct.WSTETH));
101
- wstEthData.amount = (wstEthData.amount * newAmount) / oldAmount;
102
- return abi.encode(wstEthData);
103
- }
104
-
105
- function newPSM(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
106
- IExecutorHelperStruct.PSM memory psm = abi.decode(data, (IExecutorHelperStruct.PSM));
107
- psm.amountIn = (psm.amountIn * newAmount) / oldAmount;
108
- return abi.encode(psm);
109
- }
110
-
111
- function newStETHSwap(
112
- bytes memory data,
113
- uint256 oldAmount,
114
- uint256 newAmount
115
- ) internal pure returns (bytes memory) {
116
- uint256 amount = abi.decode(data, (uint256));
117
- amount = (amount * newAmount) / oldAmount;
118
- return abi.encode(amount);
119
- }
120
-
121
- function newMaverick(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
122
- IExecutorHelperStruct.Maverick memory maverick = abi.decode(data, (IExecutorHelperStruct.Maverick));
123
- maverick.swapAmount = (maverick.swapAmount * newAmount) / oldAmount;
124
- return abi.encode(maverick);
125
- }
126
-
127
- function newSyncSwap(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
128
- IExecutorHelperStruct.SyncSwap memory syncSwap = abi.decode(data, (IExecutorHelperStruct.SyncSwap));
129
- syncSwap.collectAmount = (syncSwap.collectAmount * newAmount) / oldAmount;
130
- return abi.encode(syncSwap);
131
- }
132
-
133
- function newAlgebraV1(
134
- bytes memory data,
135
- uint256 oldAmount,
136
- uint256 newAmount
137
- ) internal pure returns (bytes memory) {
138
- IExecutorHelperStruct.AlgebraV1 memory algebraV1Swap = abi.decode(data, (IExecutorHelperStruct.AlgebraV1));
139
- algebraV1Swap.swapAmount = (algebraV1Swap.swapAmount * newAmount) / oldAmount;
140
- return abi.encode(algebraV1Swap);
141
- }
142
-
143
- function newBalancerBatch(
144
- bytes memory data,
145
- uint256 oldAmount,
146
- uint256 newAmount
147
- ) internal pure returns (bytes memory) {
148
- IExecutorHelperStruct.BalancerBatch memory balancerBatch = abi.decode(
149
- data,
150
- (IExecutorHelperStruct.BalancerBatch)
151
- );
152
- balancerBatch.amountIn = (balancerBatch.amountIn * newAmount) / oldAmount;
153
- return abi.encode(balancerBatch);
154
- }
155
-
156
- function newMantis(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
157
- IExecutorHelperStruct.Mantis memory mantis = abi.decode(data, (IExecutorHelperStruct.Mantis));
158
- mantis.amount = (mantis.amount * newAmount) / oldAmount;
159
- return abi.encode(mantis);
160
- }
161
-
162
- function newIziSwap(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
163
- IExecutorHelperStruct.IziSwap memory iZi = abi.decode(data, (IExecutorHelperStruct.IziSwap));
164
- iZi.swapAmount = (iZi.swapAmount * newAmount) / oldAmount;
165
- return abi.encode(iZi);
166
- }
167
-
168
- function newTraderJoeV2(
169
- bytes memory data,
170
- uint256 oldAmount,
171
- uint256 newAmount
172
- ) internal pure returns (bytes memory) {
173
- IExecutorHelperStruct.TraderJoeV2 memory traderJoe = abi.decode(data, (IExecutorHelperStruct.TraderJoeV2));
174
-
175
- // traderJoe.collectAmount; // most significant 1 bit is to determine whether pool is v2.1, else v2.0
176
- traderJoe.collectAmount =
177
- (traderJoe.collectAmount & (1 << 255)) |
178
- ((uint256((traderJoe.collectAmount << 1) >> 1) * newAmount) / oldAmount);
179
- return abi.encode(traderJoe);
180
- }
181
-
182
- function newLevelFiV2(
183
- bytes memory data,
184
- uint256 oldAmount,
185
- uint256 newAmount
186
- ) internal pure returns (bytes memory) {
187
- IExecutorHelperStruct.LevelFiV2 memory levelFiV2 = abi.decode(data, (IExecutorHelperStruct.LevelFiV2));
188
- levelFiV2.amountIn = (levelFiV2.amountIn * newAmount) / oldAmount;
189
- return abi.encode(levelFiV2);
190
- }
191
-
192
- function newGMXGLP(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
193
- IExecutorHelperStruct.GMXGLP memory swapData = abi.decode(data, (IExecutorHelperStruct.GMXGLP));
194
- swapData.swapAmount = (swapData.swapAmount * newAmount) / oldAmount;
195
- return abi.encode(swapData);
196
- }
197
-
198
- function newVooi(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
199
- IExecutorHelperStruct.Vooi memory vooi = abi.decode(data, (IExecutorHelperStruct.Vooi));
200
- vooi.fromAmount = (vooi.fromAmount * newAmount) / oldAmount;
201
- return abi.encode(vooi);
202
- }
203
-
204
- function newVelocoreV2(
205
- bytes memory data,
206
- uint256 oldAmount,
207
- uint256 newAmount
208
- ) internal pure returns (bytes memory) {
209
- IExecutorHelperStruct.VelocoreV2 memory velocorev2 = abi.decode(data, (IExecutorHelperStruct.VelocoreV2));
210
- velocorev2.amount = (velocorev2.amount * newAmount) / oldAmount;
211
- return abi.encode(velocorev2);
212
- }
213
-
214
- function newMaticMigrate(
215
- bytes memory data,
216
- uint256 oldAmount,
217
- uint256 newAmount
218
- ) internal pure returns (bytes memory) {
219
- IExecutorHelperStruct.MaticMigrate memory maticMigrate = abi.decode(data, (IExecutorHelperStruct.MaticMigrate));
220
- maticMigrate.amount = (maticMigrate.amount * newAmount) / oldAmount;
221
- return abi.encode(maticMigrate);
222
- }
223
-
224
- function newKokonut(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
225
- IExecutorHelperStruct.Kokonut memory kokonut = abi.decode(data, (IExecutorHelperStruct.Kokonut));
226
- kokonut.dx = (kokonut.dx * newAmount) / oldAmount;
227
- return abi.encode(kokonut);
228
- }
229
-
230
- function newBalancerV1(
231
- bytes memory data,
232
- uint256 oldAmount,
233
- uint256 newAmount
234
- ) internal pure returns (bytes memory) {
235
- IExecutorHelperStruct.BalancerV1 memory balancerV1 = abi.decode(data, (IExecutorHelperStruct.BalancerV1));
236
- balancerV1.amount = (balancerV1.amount * newAmount) / oldAmount;
237
- return abi.encode(balancerV1);
238
- }
239
-
240
- function newArbswapStable(
241
- bytes memory data,
242
- uint256 oldAmount,
243
- uint256 newAmount
244
- ) internal pure returns (bytes memory) {
245
- IExecutorHelperStruct.ArbswapStable memory arbswapStable = abi.decode(
246
- data,
247
- (IExecutorHelperStruct.ArbswapStable)
248
- );
249
- arbswapStable.dx = (arbswapStable.dx * newAmount) / oldAmount;
250
- return abi.encode(arbswapStable);
251
- }
252
-
253
- function newBancorV2(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
254
- IExecutorHelperStruct.BancorV2 memory bancorV2 = abi.decode(data, (IExecutorHelperStruct.BancorV2));
255
- bancorV2.amount = (bancorV2.amount * newAmount) / oldAmount;
256
- return abi.encode(bancorV2);
257
- }
258
-
259
- function newAmbient(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
260
- IExecutorHelperStruct.Ambient memory ambient = abi.decode(data, (IExecutorHelperStruct.Ambient));
261
- ambient.qty = uint128((uint256(ambient.qty) * newAmount) / oldAmount);
262
- return abi.encode(ambient);
263
- }
264
-
265
- function newLighterV2(
266
- bytes memory data,
267
- uint256 oldAmount,
268
- uint256 newAmount
269
- ) internal pure returns (bytes memory) {
270
- IExecutorHelperStruct.LighterV2 memory structData = abi.decode(data, (IExecutorHelperStruct.LighterV2));
271
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
272
- return abi.encode(structData);
273
- }
274
-
275
- function newUniV1(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
276
- IExecutorHelperStruct.UniV1 memory structData = abi.decode(data, (IExecutorHelperStruct.UniV1));
277
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
278
- return abi.encode(structData);
279
- }
280
-
281
- function newEtherFiWeETH(
282
- bytes memory data,
283
- uint256 oldAmount,
284
- uint256 newAmount
285
- ) internal pure returns (bytes memory) {
286
- IExecutorHelperStruct.EtherFiWeETH memory structData = abi.decode(data, (IExecutorHelperStruct.EtherFiWeETH));
287
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
288
- return abi.encode(structData);
289
- }
290
-
291
- function newKelp(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
292
- IExecutorHelperStruct.Kelp memory structData = abi.decode(data, (IExecutorHelperStruct.Kelp));
293
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
294
- return abi.encode(structData);
295
- }
296
-
297
- function newEthenaSusde(
298
- bytes memory data,
299
- uint256 oldAmount,
300
- uint256 newAmount
301
- ) internal pure returns (bytes memory) {
302
- IExecutorHelperStruct.EthenaSusde memory structData = abi.decode(data, (IExecutorHelperStruct.EthenaSusde));
303
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
304
- return abi.encode(structData);
305
- }
306
-
307
- function newRocketPool(
308
- bytes memory data,
309
- uint256 oldAmount,
310
- uint256 newAmount
311
- ) internal pure returns (bytes memory) {
312
- IExecutorHelperStruct.RocketPool memory structData = abi.decode(data, (IExecutorHelperStruct.RocketPool));
313
-
314
- uint128 _amount = uint128((uint256(uint128(structData.isDepositAndAmount)) * newAmount) / oldAmount);
315
-
316
- bool _isDeposit = (structData.isDepositAndAmount >> 255) == 1;
317
-
318
- // reset and create new variable for isDeposit and amount
319
- structData.isDepositAndAmount = 0;
320
- structData.isDepositAndAmount |= uint256(uint128(_amount));
321
- structData.isDepositAndAmount |= uint256(_isDeposit ? 1 : 0) << 255;
322
-
323
- return abi.encode(structData);
324
- }
325
-
326
- function newMakersDAI(
327
- bytes memory data,
328
- uint256 oldAmount,
329
- uint256 newAmount
330
- ) internal pure returns (bytes memory) {
331
- IExecutorHelperStruct.MakersDAI memory structData = abi.decode(data, (IExecutorHelperStruct.MakersDAI));
332
- uint128 _amount = uint128((uint256(uint128(structData.isRedeemAndAmount)) * newAmount) / oldAmount);
333
-
334
- bool _isRedeem = (structData.isRedeemAndAmount >> 255) == 1;
335
-
336
- // reset and create new variable for isRedeem and amount
337
- structData.isRedeemAndAmount = 0;
338
- structData.isRedeemAndAmount |= uint256(uint128(_amount));
339
- structData.isRedeemAndAmount |= uint256(_isRedeem ? 1 : 0) << 255;
340
-
341
- return abi.encode(structData);
342
- }
343
-
344
- function newRenzo(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
345
- IExecutorHelperStruct.Renzo memory structData = abi.decode(data, (IExecutorHelperStruct.Renzo));
346
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
347
- return abi.encode(structData);
348
- }
349
-
350
- function newFrxETH(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
351
- IExecutorHelperStruct.FrxETH memory structData = abi.decode(data, (IExecutorHelperStruct.FrxETH));
352
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
353
- return abi.encode(structData);
354
- }
355
-
356
- function newSfrxETH(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
357
- IExecutorHelperStruct.SfrxETH memory structData = abi.decode(data, (IExecutorHelperStruct.SfrxETH));
358
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
359
- return abi.encode(structData);
360
- }
361
-
362
- function newSfrxETHConvertor(
363
- bytes memory data,
364
- uint256 oldAmount,
365
- uint256 newAmount
366
- ) internal pure returns (bytes memory) {
367
- IExecutorHelperStruct.SfrxETHConvertor memory structData = abi.decode(
368
- data,
369
- (IExecutorHelperStruct.SfrxETHConvertor)
370
- );
371
-
372
- uint128 _amount = uint128((uint256(uint128(structData.isDepositAndAmount)) * newAmount) / oldAmount);
373
-
374
- bool _isDeposit = (structData.isDepositAndAmount >> 255) == 1;
375
-
376
- // reset and create new variable for isDeposit and amount
377
- structData.isDepositAndAmount = 0;
378
- structData.isDepositAndAmount |= uint256(uint128(_amount));
379
- structData.isDepositAndAmount |= uint256(_isDeposit ? 1 : 0) << 255;
380
-
381
- return abi.encode(structData);
382
- }
383
-
384
- function newOriginETH(
385
- bytes memory data,
386
- uint256 oldAmount,
387
- uint256 newAmount
388
- ) internal pure returns (bytes memory) {
389
- IExecutorHelperStruct.OriginETH memory structData = abi.decode(data, (IExecutorHelperStruct.OriginETH));
390
- structData.amount = uint128((uint256(structData.amount) * newAmount) / oldAmount);
391
- return abi.encode(structData);
392
- }
393
-
394
- function newMantleUsd(
395
- bytes memory data,
396
- uint256 oldAmount,
397
- uint256 newAmount
398
- ) internal pure returns (bytes memory) {
399
- uint256 isWrapAndAmount = abi.decode(data, (uint256));
400
-
401
- uint128 _amount = uint128((uint256(uint128(isWrapAndAmount)) * newAmount) / oldAmount);
402
-
403
- bool _isWrap = (isWrapAndAmount >> 255) == 1;
404
-
405
- // reset and create new variable for isWrap and amount
406
- isWrapAndAmount = 0;
407
- isWrapAndAmount |= uint256(uint128(_amount));
408
- isWrapAndAmount |= uint256(_isWrap ? 1 : 0) << 255;
409
-
410
- return abi.encode(isWrapAndAmount);
411
- }
412
-
413
- function newPufferFinance(
414
- bytes memory data,
415
- uint256 oldAmount,
416
- uint256 newAmount
417
- ) internal pure returns (bytes memory) {
418
- IExecutorHelperStruct.PufferFinance memory structData = abi.decode(data, (IExecutorHelperStruct.PufferFinance));
419
- structData.permit.amount = uint128((uint256(structData.permit.amount) * newAmount) / oldAmount);
420
- return abi.encode(structData);
421
- }
422
-
423
- function newKyberRfq(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
424
- IExecutorHelperStruct.KyberRFQ memory structData = abi.decode(data, (IExecutorHelperStruct.KyberRFQ));
425
- structData.amount = (structData.amount * newAmount) / oldAmount;
426
- return abi.encode(structData);
427
- }
428
-
429
- function newKyberLimitOrder(
430
- bytes memory data,
431
- uint256 oldAmount,
432
- uint256 newAmount
433
- ) internal pure returns (bytes memory) {
434
- IExecutorHelperStruct.KyberLimitOrder memory structData = abi.decode(
435
- data,
436
- (IExecutorHelperStruct.KyberLimitOrder)
437
- );
438
- structData.params.takingAmount = (structData.params.takingAmount * newAmount) / oldAmount;
439
- structData.params.thresholdAmount = 1;
440
- return abi.encode(structData);
441
- }
442
-
443
- function newKyberDSLO(
444
- bytes memory data,
445
- uint256 oldAmount,
446
- uint256 newAmount
447
- ) internal pure returns (bytes memory) {
448
- IExecutorHelperStruct.KyberDSLO memory structData = abi.decode(data, (IExecutorHelperStruct.KyberDSLO));
449
- structData.params.takingAmount = (structData.params.takingAmount * newAmount) / oldAmount;
450
- structData.params.thresholdAmount = 1;
451
- return abi.encode(structData);
452
- }
453
-
454
- function newNative(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
455
- require(newAmount < oldAmount, "Native: not support scale up");
456
-
457
- IExecutorHelperStruct.Native memory structData = abi.decode(data, (IExecutorHelperStruct.Native));
458
-
459
- require(structData.multihopAndOffset >> 255 == 0, "Native: Multihop not supported");
460
-
461
- structData.amount = (structData.amount * newAmount) / oldAmount;
462
-
463
- uint256 amountInOffset = uint256(uint64(structData.multihopAndOffset >> 64));
464
- uint256 amountOutMinOffset = uint256(uint64(structData.multihopAndOffset));
465
- bytes memory newCallData = structData.data;
466
-
467
- newCallData = newCallData.update(structData.amount, amountInOffset);
468
-
469
- // update amount out min if needed
470
- if (amountOutMinOffset != 0) {
471
- newCallData = newCallData.update(1, amountOutMinOffset);
472
- }
473
-
474
- return abi.encode(structData);
475
- }
476
-
477
- function newHashflow(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
478
- IExecutorHelperStruct.Hashflow memory structData = abi.decode(data, (IExecutorHelperStruct.Hashflow));
479
- structData.quote.effectiveBaseTokenAmount = (structData.quote.effectiveBaseTokenAmount * newAmount) / oldAmount;
480
- return abi.encode(structData);
481
- }
482
-
483
- function newBebop(bytes memory data, uint256 oldAmount, uint256 newAmount) internal pure returns (bytes memory) {
484
- require(newAmount < oldAmount, "Bebop: not support scale up");
485
-
486
- IExecutorHelperStruct.Bebop memory structData = abi.decode(data, (IExecutorHelperStruct.Bebop));
487
-
488
- structData.amount = (structData.amount * newAmount) / oldAmount;
489
-
490
- // update calldata with new swap amount
491
- (bytes4 selector, bytes memory callData) = structData.data.splitCalldata();
492
-
493
- (IBebopV3.Single memory s, IBebopV3.MakerSignature memory m, ) = abi.decode(
494
- callData,
495
- (IBebopV3.Single, IBebopV3.MakerSignature, uint256)
496
- );
497
- structData.data = bytes.concat(bytes4(selector), abi.encode(s, m, structData.amount));
498
-
499
- return abi.encode(structData);
500
- }
501
-
502
- function newSymbioticLRT(
503
- bytes memory data,
504
- uint256 oldAmount,
505
- uint256 newAmount
506
- ) internal pure returns (bytes memory) {
507
- IExecutorHelperStruct.SymbioticLRT memory structData = abi.decode(data, (IExecutorHelperStruct.SymbioticLRT));
508
- structData.amount = (structData.amount * newAmount) / oldAmount;
509
- return abi.encode(structData);
510
- }
511
-
512
- function newMaverickV2(
513
- bytes memory data,
514
- uint256 oldAmount,
515
- uint256 newAmount
516
- ) internal pure returns (bytes memory) {
517
- IExecutorHelperStruct.MaverickV2 memory structData = abi.decode(data, (IExecutorHelperStruct.MaverickV2));
518
- structData.collectAmount = (structData.collectAmount * newAmount) / oldAmount;
519
- return abi.encode(structData);
520
- }
521
- }
@@ -1,93 +0,0 @@
1
- pragma solidity ^0.8.0;
2
-
3
- library BytesHelper {
4
- function splitCalldata(bytes memory data) internal pure returns (bytes4 selector, bytes memory functionCalldata) {
5
- require(data.length >= 4, "Calldata too short");
6
-
7
- // Extract the selector
8
- assembly {
9
- selector := mload(add(data, 32))
10
- }
11
- // Extract the function calldata
12
- functionCalldata = new bytes(data.length - 4);
13
- for (uint256 i = 0; i < data.length - 4; i++) {
14
- functionCalldata[i] = data[i + 4];
15
- }
16
- }
17
-
18
- function writeBytes(
19
- bytes memory originalCalldata,
20
- uint256 index,
21
- bytes memory value
22
- ) internal pure returns (bytes memory) {
23
- require(index + value.length <= originalCalldata.length, "Offset out of bounds");
24
-
25
- // Update the value length bytes at the specified offset with the new value
26
- for (uint256 i; i < value.length; ++i) {
27
- originalCalldata[index + i] = value[i];
28
- }
29
-
30
- return originalCalldata;
31
- }
32
-
33
- function write16Bytes(bytes memory original, uint256 index, bytes16 value) internal pure returns (bytes memory) {
34
- assembly {
35
- let offset := add(original, add(index, 32))
36
- let val := mload(offset) // read 32 bytes [index : index + 32]
37
- val := and(val, not(0xffffffffffffffffffffffffffffffff00000000000000000000000000000000)) // clear [index : index + 16]
38
- val := or(val, value) // set 16 bytes to val above
39
- mstore(offset, val) // store to [index : index + 32]
40
- }
41
- return original;
42
- }
43
-
44
- function write16Bytes(bytes memory original, uint256 index, uint128 value) internal pure returns (bytes memory) {
45
- return write16Bytes(original, index, bytes16(value));
46
- }
47
-
48
- function write16Bytes(
49
- bytes memory original,
50
- uint256 index,
51
- uint256 value,
52
- string memory errorMsg
53
- ) internal pure returns (bytes memory) {
54
- require(value <= type(uint128).max, string(abi.encodePacked(errorMsg, "/Exceed compressed type range")));
55
- return write16Bytes(original, index, uint128(value));
56
- }
57
-
58
- /**
59
- * @dev Writes a 32-byte value into the specified index of a bytes array.
60
- * @param original The original bytes array.
61
- * @param index The index in the bytes array where the 32-byte value should be written.
62
- * @param value The 32-byte value to write.
63
- * @return The modified bytes array.
64
- */
65
- function write32Bytes(bytes memory original, uint256 index, bytes32 value) internal pure returns (bytes memory) {
66
- assembly {
67
- let offset := add(add(original, 32), index)
68
- mstore(offset, value) // Store the 32-byte value directly at the specified offset
69
- }
70
- return original;
71
- }
72
-
73
- /**
74
- * @dev Overloaded function to write a uint256 value as a 32-byte value.
75
- * @param original The original bytes array.
76
- * @param index The index in the bytes array where the 32-byte value should be written.
77
- * @param value The uint256 value to write.
78
- * @return The modified bytes array.
79
- */
80
- function write32Bytes(bytes memory original, uint256 index, uint256 value) internal pure returns (bytes memory) {
81
- return write32Bytes(original, index, bytes32(value));
82
- }
83
-
84
- function write32Bytes(
85
- bytes memory original,
86
- uint256 index,
87
- uint256 value,
88
- string memory errorMsg
89
- ) internal pure returns (bytes memory) {
90
- require(value <= type(uint128).max, string(abi.encodePacked(errorMsg, "/Exceed compressed type range")));
91
- return write32Bytes(original, index, value);
92
- }
93
- }