@pendle/core-v2 5.1.1-beta-2 → 5.1.2-beta-2

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 (280) hide show
  1. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +67 -23
  3. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +19 -6
  5. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseWithoutPermitUpg.dbg.json +4 -0
  6. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/{SYBaseUpg.json → SYBaseWithoutPermitUpg.json} +1 -1
  7. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.dbg.json +4 -0
  8. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.json +1160 -0
  9. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
  10. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +2 -2
  11. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
  12. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +2 -2
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol/PendleEBTCSY.dbg.json +1 -1
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol/PendleEBTCSY.json +2 -2
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol/PendleEEigenSYUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol/PendleEEigenSYUpg.json +2 -2
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +2 -2
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +2 -2
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.json +1049 -0
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.json +1222 -0
  29. package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.dbg.json +4 -0
  30. package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.json +116 -0
  31. package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.dbg.json +4 -0
  32. package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.json +39 -0
  33. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  34. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +196 -0
  35. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  37. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +66 -0
  38. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  39. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +196 -78
  40. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  41. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +196 -0
  42. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  43. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +196 -0
  44. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  45. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +196 -0
  46. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.dbg.json +4 -0
  47. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.json +2638 -0
  48. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  49. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +196 -0
  50. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  51. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +196 -0
  52. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  53. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +1220 -48
  54. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  55. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  56. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  57. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.dbg.json +4 -0
  58. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.json +207 -0
  59. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +196 -0
  63. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +262 -0
  65. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  66. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  67. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  68. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +27 -2
  69. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  70. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  71. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  72. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  73. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  74. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  75. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  76. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +68 -2
  77. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  78. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  79. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  80. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +198 -2
  81. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  82. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  83. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  84. package/build/artifacts/contracts/oracles/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  85. package/build/artifacts/contracts/oracles/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  86. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  87. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  88. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  89. package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  90. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  91. package/build/artifacts/contracts/oracles/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  92. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  93. package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  94. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  95. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  96. package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  97. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  98. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +198 -2
  99. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  100. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +198 -80
  101. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  102. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +198 -2
  103. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  104. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +198 -2
  105. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.dbg.json +4 -0
  106. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.json +2638 -0
  107. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  108. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +198 -2
  109. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  110. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +198 -2
  111. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  112. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  113. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  114. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  115. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  116. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  117. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  118. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  119. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  120. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  121. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  122. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  123. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  124. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  125. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  126. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  127. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  128. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  129. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  130. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  131. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  132. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +27 -6
  133. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +3 -2
  134. package/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol +1 -1
  135. package/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol +130 -0
  136. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol +6 -2
  137. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +1 -2
  138. package/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol +82 -0
  139. package/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol +6 -1
  140. package/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol +154 -0
  141. package/contracts/interfaces/AaveV3/IAaveStkGHO.sol +17 -0
  142. package/contracts/interfaces/Angle/IAngleDistributor.sol +12 -0
  143. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +6 -6
  144. package/contracts/interfaces/IPActionMarketCoreStatic.sol +4 -0
  145. package/contracts/interfaces/IPActionMiscV3.sol +2 -8
  146. package/contracts/interfaces/IPActionSwapLimitV3.sol +42 -0
  147. package/contracts/interfaces/IPActionSwapPTV3.sol +4 -4
  148. package/contracts/interfaces/IPActionSwapYTV3.sol +4 -4
  149. package/contracts/interfaces/IPAllActionTypeV3.sol +4 -0
  150. package/contracts/interfaces/IPAllActionV3.sol +3 -1
  151. package/contracts/interfaces/IPAllEventsV3.sol +44 -1
  152. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +5 -0
  153. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +1 -1
  154. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +1 -1
  155. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +10 -4
  156. package/contracts/router/ActionAddRemoveLiqV3.sol +9 -9
  157. package/contracts/router/ActionMiscV3.sol +3 -17
  158. package/contracts/router/ActionSwapLimitV3.sol +126 -0
  159. package/contracts/router/ActionSwapPTV3.sol +4 -4
  160. package/contracts/router/ActionSwapYTV3.sol +4 -4
  161. package/contracts/router/base/ActionBase.sol +35 -12
  162. package/contracts/router/base/ActionDelegateBase.sol +1 -1
  163. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -1
  164. package/contracts/router/swap-aggregator/PendleSwap.sol +0 -43
  165. package/deployments/1-core.json +1 -1
  166. package/deployments/1-markets/RSETH-MAINNET-JUN2025.json +14 -0
  167. package/deployments/1-markets/STKGHO-MAINNET-APR2025.json +14 -0
  168. package/deployments/1-markets/WEETH-MAINNET-JUN2025.json +14 -0
  169. package/deployments/10-core.json +1 -1
  170. package/deployments/42161-core.json +1 -1
  171. package/deployments/42161-markets/DOLOMITE-USDC-ARBITRUM-JUN2025.json +14 -0
  172. package/deployments/42161-markets/DOLOMITE-WBTC-ARBITRUM-JUN2025.json +14 -0
  173. package/deployments/42161-markets/RSETH-ARBITRUM-JUN2025.json +14 -0
  174. package/deployments/42161-markets/SPSILO-ARBITRUM-MAR2025.json +14 -0
  175. package/deployments/42161-markets/WEETH-ARBITRUM-JUN2025.json +14 -0
  176. package/deployments/5000-core.json +1 -1
  177. package/deployments/5000-markets/CMETH-MANTLE-FEB2025.json +14 -0
  178. package/deployments/56-core.json +2 -2
  179. package/deployments/56-markets/VENUS-BNB-BSC-JUN2025.json +14 -0
  180. package/package.json +1 -1
  181. package/typechain-types/ActionAddRemoveLiqV3.ts +148 -0
  182. package/typechain-types/ActionMarketCoreStatic.ts +68 -0
  183. package/typechain-types/ActionMiscV3.ts +148 -44
  184. package/typechain-types/ActionSimple.ts +148 -0
  185. package/typechain-types/ActionStorageStatic.ts +148 -0
  186. package/typechain-types/ActionStorageV4.ts +148 -0
  187. package/typechain-types/ActionSwapLimitV3.ts +1667 -0
  188. package/typechain-types/ActionSwapPTV3.ts +148 -0
  189. package/typechain-types/ActionSwapYTV3.ts +148 -0
  190. package/typechain-types/IAaveStkGHO.ts +269 -0
  191. package/typechain-types/IAngleDistributor.ts +117 -0
  192. package/typechain-types/IPActionAddRemoveLiqV3.ts +148 -0
  193. package/typechain-types/IPActionMarketCoreStatic.ts +68 -0
  194. package/typechain-types/IPActionMiscV3.ts +148 -44
  195. package/typechain-types/IPActionSimple.ts +148 -0
  196. package/typechain-types/IPActionStorageStatic.ts +148 -0
  197. package/typechain-types/IPActionStorageV4.ts +148 -0
  198. package/typechain-types/IPActionSwapLimitV3.ts +1667 -0
  199. package/typechain-types/IPActionSwapLimitV3Events.ts +207 -0
  200. package/typechain-types/IPActionSwapPTV3.ts +148 -0
  201. package/typechain-types/IPActionSwapYTV3.ts +148 -0
  202. package/typechain-types/IPAllActionV3.ts +390 -20
  203. package/typechain-types/IPAllEventsV3.ts +148 -0
  204. package/typechain-types/IPChainlinkOracle.ts +221 -0
  205. package/typechain-types/IPChainlinkOracleFactory.ts +123 -0
  206. package/typechain-types/IPChainlinkOracleWithQuote.ts +404 -0
  207. package/typechain-types/IPRouterStatic.ts +182 -0
  208. package/typechain-types/PendleCMETHSY.ts +1349 -0
  209. package/typechain-types/PendleChainlinkOracle.ts +299 -0
  210. package/typechain-types/PendleChainlinkOracleBase.ts +299 -0
  211. package/typechain-types/PendleChainlinkOracleFactory.ts +389 -0
  212. package/typechain-types/PendleChainlinkOracleWithQuote.ts +335 -0
  213. package/typechain-types/PendleSiloWithIncentiveNonBorrowableSY.ts +1543 -0
  214. package/typechain-types/PendleStkGHOSY.ts +1522 -0
  215. package/typechain-types/PendleVotingControllerUpg.ts +135 -43
  216. package/typechain-types/SYBaseWithoutPermitUpg.ts +1101 -0
  217. package/typechain-types/VotingControllerStorageUpg.ts +34 -15
  218. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +197 -1
  219. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  220. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  221. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +67 -1
  222. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  223. package/typechain-types/factories/ActionMiscV3__factory.ts +197 -79
  224. package/typechain-types/factories/ActionSimple__factory.ts +197 -1
  225. package/typechain-types/factories/ActionStorageStatic__factory.ts +197 -1
  226. package/typechain-types/factories/ActionStorageV4__factory.ts +197 -1
  227. package/typechain-types/factories/ActionSwapLimitV3__factory.ts +2691 -0
  228. package/typechain-types/factories/ActionSwapPTV3__factory.ts +197 -1
  229. package/typechain-types/factories/ActionSwapYTV3__factory.ts +197 -1
  230. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  231. package/typechain-types/factories/IAaveStkGHO__factory.ts +128 -0
  232. package/typechain-types/factories/IAngleDistributor__factory.ts +54 -0
  233. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +196 -0
  234. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +66 -0
  235. package/typechain-types/factories/IPActionMiscV3__factory.ts +196 -78
  236. package/typechain-types/factories/IPActionSimple__factory.ts +196 -0
  237. package/typechain-types/factories/IPActionStorageStatic__factory.ts +196 -0
  238. package/typechain-types/factories/IPActionStorageV4__factory.ts +196 -0
  239. package/typechain-types/factories/IPActionSwapLimitV3Events__factory.ts +226 -0
  240. package/typechain-types/factories/IPActionSwapLimitV3__factory.ts +2653 -0
  241. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +196 -0
  242. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +196 -0
  243. package/typechain-types/factories/IPAllActionV3__factory.ts +1220 -48
  244. package/typechain-types/factories/IPAllEventsV3__factory.ts +196 -0
  245. package/typechain-types/factories/IPChainlinkOracleFactory__factory.ts +110 -0
  246. package/typechain-types/factories/IPChainlinkOracleWithQuote__factory.ts +281 -0
  247. package/typechain-types/factories/IPChainlinkOracle__factory.ts +137 -0
  248. package/typechain-types/factories/IPRouterStatic__factory.ts +262 -0
  249. package/typechain-types/factories/PendleCMETHSY__factory.ts +1099 -0
  250. package/typechain-types/factories/PendleChainlinkOracleBase__factory.ts +272 -0
  251. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +362 -0
  252. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +394 -0
  253. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +354 -0
  254. package/typechain-types/factories/PendleEBTCSY__factory.ts +1 -1
  255. package/typechain-types/factories/PendleEEigenSYUpg__factory.ts +1 -1
  256. package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
  257. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  258. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  259. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  260. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  261. package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +1 -1
  262. package/typechain-types/factories/PendleSiloWithIncentiveNonBorrowableSY__factory.ts +1317 -0
  263. package/typechain-types/factories/PendleStkGHOSY__factory.ts +1213 -0
  264. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  265. package/typechain-types/factories/PendleUSDEL2SY__factory.ts +1 -1
  266. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +66 -22
  267. package/typechain-types/factories/PendleWEEthkSY__factory.ts +1 -1
  268. package/typechain-types/factories/PendleWEEthsSY__factory.ts +1 -1
  269. package/typechain-types/factories/Reflector__factory.ts +1 -1
  270. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +26 -1
  271. package/typechain-types/factories/SYBaseWithoutPermitUpg__factory.ts +871 -0
  272. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +19 -6
  273. package/typechain-types/hardhat.d.ts +76 -13
  274. package/typechain-types/index.ts +18 -2
  275. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseUpg.dbg.json +0 -4
  276. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +0 -4
  277. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +0 -10
  278. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +0 -4
  279. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.json +0 -82
  280. package/contracts/offchain-helpers/MarketExchangeRateLib.sol +0 -32
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../SYBase.sol";
5
+ import "../../../../interfaces/IPExchangeRateOracle.sol";
6
+
7
+ contract PendleCMETHSY is SYBase {
8
+ using PMath for int256;
9
+
10
+ address public exchangeRateOracle = 0x1E2Ad9764cfAc60876486A7c714bc71f5b55f5C2;
11
+ address public constant CMETH = 0xE6829d9a7eE3040e1276Fa75293Bde931859e8fA;
12
+ address public constant WETH = 0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111;
13
+
14
+ constructor() SYBase("SY cmETH", "SY-cmETH", CMETH) {}
15
+
16
+ function setExchangeRateOracle(address newOracle) external onlyOwner {
17
+ exchangeRateOracle = newOracle;
18
+ }
19
+
20
+ /*///////////////////////////////////////////////////////////////
21
+ DEPOSIT/REDEEM USING BASE TOKENS
22
+ //////////////////////////////////////////////////////////////*/
23
+
24
+ function _deposit(address, uint256 amountDeposited) internal pure override returns (uint256 /*amountSharesOut*/) {
25
+ return amountDeposited;
26
+ }
27
+
28
+ function _redeem(
29
+ address receiver,
30
+ address tokenOut,
31
+ uint256 amountSharesToRedeem
32
+ ) internal override returns (uint256 /*amountTokenOut*/) {
33
+ _transferOut(tokenOut, receiver, amountSharesToRedeem);
34
+ return amountSharesToRedeem;
35
+ }
36
+
37
+ /*///////////////////////////////////////////////////////////////
38
+ EXCHANGE-RATE
39
+ //////////////////////////////////////////////////////////////*/
40
+
41
+ function exchangeRate() public view override returns (uint256) {
42
+ return IPExchangeRateOracle(exchangeRateOracle).getExchangeRate();
43
+ }
44
+
45
+ /*///////////////////////////////////////////////////////////////
46
+ MISC FUNCTIONS FOR METADATA
47
+ //////////////////////////////////////////////////////////////*/
48
+
49
+ function _previewDeposit(
50
+ address,
51
+ uint256 amountTokenToDeposit
52
+ ) internal pure override returns (uint256 /*amountSharesOut*/) {
53
+ return amountTokenToDeposit;
54
+ }
55
+
56
+ function _previewRedeem(
57
+ address,
58
+ uint256 amountSharesToRedeem
59
+ ) internal pure override returns (uint256 /*amountTokenOut*/) {
60
+ return amountSharesToRedeem;
61
+ }
62
+
63
+ function getTokensIn() public view override returns (address[] memory res) {
64
+ return ArrayLib.create(yieldToken);
65
+ }
66
+
67
+ function getTokensOut() public view override returns (address[] memory res) {
68
+ return ArrayLib.create(yieldToken);
69
+ }
70
+
71
+ function isValidTokenIn(address token) public view override returns (bool) {
72
+ return token == yieldToken;
73
+ }
74
+
75
+ function isValidTokenOut(address token) public view override returns (bool) {
76
+ return token == yieldToken;
77
+ }
78
+
79
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
80
+ return (AssetType.TOKEN, WETH, 18);
81
+ }
82
+ }
@@ -64,7 +64,12 @@ contract PendleERC20SYUpg is SYBaseUpg {
64
64
  return token == yieldToken;
65
65
  }
66
66
 
67
- function assetInfo() external virtual view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
67
+ function assetInfo()
68
+ external
69
+ view
70
+ virtual
71
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
72
+ {
68
73
  return (AssetType.TOKEN, yieldToken, IERC20Metadata(yieldToken).decimals());
69
74
  }
70
75
  }
@@ -0,0 +1,154 @@
1
+ // SPDX-License-Identifier: BUSL-1.1
2
+ pragma solidity ^0.8.17;
3
+
4
+ import "../../SYBaseWithRewards.sol";
5
+ import "../../../../interfaces/Silo/ISiloIncentiveController.sol";
6
+ import "../../../../interfaces/Silo/ISilo.sol";
7
+ import "../../../../interfaces/Silo/ISiloLens.sol";
8
+ import "../../../libraries/ArrayLib.sol";
9
+ import "../../../libraries/math/PMath.sol";
10
+
11
+ contract PendleSiloWithIncentiveNonBorrowableSY is SYBaseWithRewards {
12
+ using PMath for uint256;
13
+ using ArrayLib for address[];
14
+
15
+ event SetNewIncentiveController(address indexed newController);
16
+
17
+ address public immutable asset;
18
+ address public immutable collateralToken;
19
+ address public immutable silo;
20
+ address public immutable siloLens;
21
+
22
+ address public incentiveController;
23
+ address[] public additionalRewardTokens;
24
+ address public immutable defaultRewardToken;
25
+
26
+ constructor(
27
+ string memory _name,
28
+ string memory _symbol,
29
+ address _asset,
30
+ address _collateralToken,
31
+ address _silo,
32
+ address _siloLens,
33
+ address _incentiveController
34
+ ) SYBaseWithRewards(_name, _symbol, _collateralToken) {
35
+ asset = _asset;
36
+ collateralToken = _collateralToken;
37
+ silo = _silo;
38
+ siloLens = _siloLens;
39
+
40
+ incentiveController = _incentiveController;
41
+ defaultRewardToken = ISiloIncentiveController(incentiveController).REWARD_TOKEN();
42
+
43
+ _safeApproveInf(asset, silo);
44
+ }
45
+
46
+ function _deposit(
47
+ address tokenIn,
48
+ uint256 amountDeposited
49
+ ) internal virtual override returns (uint256 amountSharesOut) {
50
+ if (tokenIn == collateralToken) {
51
+ return amountDeposited;
52
+ } else {
53
+ (, amountSharesOut) = ISilo(silo).deposit(asset, amountDeposited, true);
54
+ }
55
+ }
56
+
57
+ function _redeem(
58
+ address receiver,
59
+ address tokenOut,
60
+ uint256 amountSharesToRedeem
61
+ ) internal virtual override returns (uint256 amountTokenOut) {
62
+ if (tokenOut == collateralToken) {
63
+ _transferOut(collateralToken, receiver, amountSharesToRedeem);
64
+ return amountSharesToRedeem;
65
+ } else {
66
+ // Silo withdrawing interface only accepts amount of asset as input
67
+ // Therefore we need to ensure that assetInput.toShareRoundUp() <= amountSharesToRedeem
68
+
69
+ amountTokenOut = amountSharesToRedeem;
70
+
71
+ // amountAssetToWithdraw should = withdrawnAmount as withdrawing does not
72
+ // bear any fees
73
+ ISilo(silo).withdraw(asset, amountTokenOut, true);
74
+ _transferOut(tokenOut, receiver, amountTokenOut);
75
+ }
76
+ }
77
+
78
+ /*///////////////////////////////////////////////////////////////
79
+ EXCHANGE-RATE
80
+ //////////////////////////////////////////////////////////////*/
81
+
82
+ function exchangeRate() public view virtual override returns (uint256) {
83
+ return PMath.ONE;
84
+ }
85
+
86
+ /*///////////////////////////////////////////////////////////////
87
+ REWARDS-RELATED
88
+ //////////////////////////////////////////////////////////////*/
89
+
90
+ function setIncentiveController(address newController) external onlyOwner {
91
+ // Claim all pending rewards from old contract
92
+ _redeemExternalReward();
93
+
94
+ address newRewardToken = ISiloIncentiveController(newController).REWARD_TOKEN();
95
+ if (newRewardToken != defaultRewardToken && !additionalRewardTokens.contains(newRewardToken)) {
96
+ additionalRewardTokens.push(newRewardToken);
97
+ }
98
+ incentiveController = newController;
99
+
100
+ emit SetNewIncentiveController(newController);
101
+ }
102
+
103
+ /**
104
+ * @dev See {IStandardizedYield-getRewardTokens}
105
+ */
106
+ function _getRewardTokens() internal view override returns (address[] memory) {
107
+ return additionalRewardTokens.appendHead(defaultRewardToken);
108
+ }
109
+
110
+ function _redeemExternalReward() internal override {
111
+ ISiloIncentiveController(incentiveController).claimRewardsToSelf(
112
+ ArrayLib.create(collateralToken),
113
+ type(uint256).max
114
+ );
115
+ }
116
+
117
+ /*///////////////////////////////////////////////////////////////
118
+ MISC FUNCTIONS FOR METADATA
119
+ //////////////////////////////////////////////////////////////*/
120
+
121
+ function _previewDeposit(
122
+ address tokenIn,
123
+ uint256 amountTokenToDeposit
124
+ ) internal view override returns (uint256 amountSharesOut) {
125
+ return amountTokenToDeposit;
126
+ }
127
+
128
+ function _previewRedeem(
129
+ address tokenOut,
130
+ uint256 amountSharesToRedeem
131
+ ) internal view override returns (uint256 amountTokenOut) {
132
+ return amountSharesToRedeem;
133
+ }
134
+
135
+ function getTokensIn() public view virtual override returns (address[] memory) {
136
+ return ArrayLib.create(asset, collateralToken);
137
+ }
138
+
139
+ function getTokensOut() public view virtual override returns (address[] memory) {
140
+ return ArrayLib.create(asset, collateralToken);
141
+ }
142
+
143
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
144
+ return token == asset || token == collateralToken;
145
+ }
146
+
147
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
148
+ return token == asset || token == collateralToken;
149
+ }
150
+
151
+ function assetInfo() external view returns (AssetType assetType, address assetAddress, uint8 assetDecimals) {
152
+ return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
153
+ }
154
+ }
@@ -0,0 +1,17 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity ^0.8.0;
4
+
5
+ interface IAaveStkGHO {
6
+ function stake(address to, uint256 amount) external;
7
+
8
+ function redeem(address to, uint256 amount) external;
9
+
10
+ function claimRewards(address to, uint256 amount) external;
11
+
12
+ function getExchangeRate() external view returns (uint216);
13
+
14
+ function previewStake(uint256 assets) external view returns (uint256);
15
+
16
+ function previewRedeem(uint256 shares) external view returns (uint256);
17
+ }
@@ -0,0 +1,12 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+
3
+ pragma solidity ^0.8.0;
4
+
5
+ interface IAngleDistributor {
6
+ function claim(
7
+ address[] calldata users,
8
+ address[] calldata tokens,
9
+ uint256[] calldata amounts,
10
+ bytes32[][] calldata proofs
11
+ ) external;
12
+ }
@@ -29,7 +29,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
29
29
  uint256 netPtIn,
30
30
  uint256 minLpOut,
31
31
  ApproxParams calldata guessPtSwapToSy,
32
- LimitOrderData calldata limit
32
+ LimitOrderData memory limit
33
33
  ) external returns (uint256 netLpOut, uint256 netSyFee);
34
34
 
35
35
  function addLiquiditySingleToken(
@@ -38,7 +38,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
38
38
  uint256 minLpOut,
39
39
  ApproxParams calldata guessPtReceivedFromSy,
40
40
  TokenInput calldata input,
41
- LimitOrderData calldata limit
41
+ LimitOrderData memory limit
42
42
  ) external payable returns (uint256 netLpOut, uint256 netSyFee, uint256 netSyInterm);
43
43
 
44
44
  function addLiquiditySingleSy(
@@ -47,7 +47,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
47
47
  uint256 netSyIn,
48
48
  uint256 minLpOut,
49
49
  ApproxParams calldata guessPtReceivedFromSy,
50
- LimitOrderData calldata limit
50
+ LimitOrderData memory limit
51
51
  ) external returns (uint256 netLpOut, uint256 netSyFee);
52
52
 
53
53
  function addLiquiditySingleTokenKeepYt(
@@ -88,7 +88,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
88
88
  uint256 netLpToRemove,
89
89
  uint256 minPtOut,
90
90
  ApproxParams calldata guessPtReceivedFromSy,
91
- LimitOrderData calldata limit
91
+ LimitOrderData memory limit
92
92
  ) external returns (uint256 netPtOut, uint256 netSyFee);
93
93
 
94
94
  function removeLiquiditySingleToken(
@@ -96,7 +96,7 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
96
96
  address market,
97
97
  uint256 netLpToRemove,
98
98
  TokenOutput calldata output,
99
- LimitOrderData calldata limit
99
+ LimitOrderData memory limit
100
100
  ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm);
101
101
 
102
102
  function removeLiquiditySingleSy(
@@ -104,6 +104,6 @@ interface IPActionAddRemoveLiqV3 is IPAllEventsV3 {
104
104
  address market,
105
105
  uint256 netLpToRemove,
106
106
  uint256 minSyOut,
107
- LimitOrderData calldata limit
107
+ LimitOrderData memory limit
108
108
  ) external returns (uint256 netSyOut, uint256 netSyFee);
109
109
  }
@@ -1,6 +1,8 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.0;
3
3
 
4
+ import "./IPMarket.sol";
5
+
4
6
  interface IPActionMarketCoreStatic {
5
7
  function addLiquidityDualSyAndPtStatic(
6
8
  address market,
@@ -288,4 +290,6 @@ interface IPActionMarketCoreStatic {
288
290
  address market,
289
291
  uint256 exactSyOut
290
292
  ) external view returns (uint256 netYtIn, uint256 netSyFee, uint256 priceImpact, uint256 exchangeRateAfter);
293
+
294
+ function readMarketState(address market) external view returns (MarketState memory);
291
295
  }
@@ -82,12 +82,6 @@ interface IPActionMiscV3 is IPAllEventsV3 {
82
82
  uint256[] calldata netSwaps
83
83
  ) external payable returns (uint256[] memory netOutFromSwaps);
84
84
 
85
- function swapTokenToToken(
86
- address receiver,
87
- uint256 minTokenOut,
88
- TokenInput calldata inp
89
- ) external payable returns (uint256 netTokenOut);
90
-
91
85
  function swapTokenToTokenViaSy(
92
86
  address receiver,
93
87
  address SY,
@@ -103,7 +97,7 @@ interface IPActionMiscV3 is IPAllEventsV3 {
103
97
  uint256 netYtIn,
104
98
  uint256 netLpIn,
105
99
  TokenOutput calldata output,
106
- LimitOrderData calldata limit
100
+ LimitOrderData memory limit
107
101
  ) external returns (uint256 netTokenOut, ExitPreExpReturnParams memory params);
108
102
 
109
103
  function exitPreExpToSy(
@@ -113,7 +107,7 @@ interface IPActionMiscV3 is IPAllEventsV3 {
113
107
  uint256 netYtIn,
114
108
  uint256 netLpIn,
115
109
  uint256 minSyOut,
116
- LimitOrderData calldata limit
110
+ LimitOrderData memory limit
117
111
  ) external returns (ExitPreExpReturnParams memory params);
118
112
 
119
113
  function exitPostExpToToken(
@@ -0,0 +1,42 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../router/math/MarketApproxLib.sol";
5
+ import "./IPAllActionTypeV3.sol";
6
+ import {IPAllEventsV3} from "./IPAllEventsV3.sol";
7
+
8
+ interface IPActionSwapLimitV3 is IPAllEventsV3 {
9
+ function swapMaxPtForTokenLimitOnly(
10
+ address receiver,
11
+ address market,
12
+ uint256 maxPtIn,
13
+ uint256 minTokenPtRate,
14
+ TokenOutput calldata output,
15
+ LimitOrderData memory limit
16
+ ) external returns (uint256 netTokenOut, uint256 netPtReturned, uint256 netSyFee, uint256 netSyInterm);
17
+
18
+ function swapMaxPtForSyLimitOnly(
19
+ address receiver,
20
+ address market,
21
+ uint256 maxPtIn,
22
+ uint256 minSyPtRate,
23
+ LimitOrderData memory limit
24
+ ) external returns (uint256 netSyOut, uint256 netPtReturned, uint256 netSyFee);
25
+
26
+ function swapMaxTokenForYtLimitOnly(
27
+ address receiver,
28
+ address market,
29
+ uint256 minSyInterm,
30
+ uint256 minYtSyRate,
31
+ TokenInput calldata input,
32
+ LimitOrderData memory limit
33
+ ) external payable returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee, uint256 netSyInterm);
34
+
35
+ function swapMaxSyForYtLimitOnly(
36
+ address receiver,
37
+ address market,
38
+ uint256 maxSyIn,
39
+ uint256 minYtSyRate,
40
+ LimitOrderData memory limit
41
+ ) external returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee);
42
+ }
@@ -13,7 +13,7 @@ interface IPActionSwapPTV3 is IPAllEventsV3 {
13
13
  uint256 minPtOut,
14
14
  ApproxParams calldata guessPtOut,
15
15
  TokenInput calldata input,
16
- LimitOrderData calldata limit
16
+ LimitOrderData memory limit
17
17
  ) external payable returns (uint256 netPtOut, uint256 netSyFee, uint256 netSyInterm);
18
18
 
19
19
  function swapExactSyForPt(
@@ -22,7 +22,7 @@ interface IPActionSwapPTV3 is IPAllEventsV3 {
22
22
  uint256 exactSyIn,
23
23
  uint256 minPtOut,
24
24
  ApproxParams calldata guessPtOut,
25
- LimitOrderData calldata limit
25
+ LimitOrderData memory limit
26
26
  ) external returns (uint256 netPtOut, uint256 netSyFee);
27
27
 
28
28
  function swapExactPtForToken(
@@ -30,7 +30,7 @@ interface IPActionSwapPTV3 is IPAllEventsV3 {
30
30
  address market,
31
31
  uint256 exactPtIn,
32
32
  TokenOutput calldata output,
33
- LimitOrderData calldata limit
33
+ LimitOrderData memory limit
34
34
  ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm);
35
35
 
36
36
  function swapExactPtForSy(
@@ -38,6 +38,6 @@ interface IPActionSwapPTV3 is IPAllEventsV3 {
38
38
  address market,
39
39
  uint256 exactPtIn,
40
40
  uint256 minSyOut,
41
- LimitOrderData calldata limit
41
+ LimitOrderData memory limit
42
42
  ) external returns (uint256 netSyOut, uint256 netSyFee);
43
43
  }
@@ -13,7 +13,7 @@ interface IPActionSwapYTV3 is IPAllEventsV3 {
13
13
  uint256 minYtOut,
14
14
  ApproxParams calldata guessYtOut,
15
15
  TokenInput calldata input,
16
- LimitOrderData calldata limit
16
+ LimitOrderData memory limit
17
17
  ) external payable returns (uint256 netYtOut, uint256 netSyFee, uint256 netSyInterm);
18
18
 
19
19
  function swapExactSyForYt(
@@ -22,7 +22,7 @@ interface IPActionSwapYTV3 is IPAllEventsV3 {
22
22
  uint256 exactSyIn,
23
23
  uint256 minYtOut,
24
24
  ApproxParams calldata guessYtOut,
25
- LimitOrderData calldata limit
25
+ LimitOrderData memory limit
26
26
  ) external returns (uint256 netYtOut, uint256 netSyFee);
27
27
 
28
28
  function swapExactYtForToken(
@@ -30,7 +30,7 @@ interface IPActionSwapYTV3 is IPAllEventsV3 {
30
30
  address market,
31
31
  uint256 exactYtIn,
32
32
  TokenOutput calldata output,
33
- LimitOrderData calldata limit
33
+ LimitOrderData memory limit
34
34
  ) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm);
35
35
 
36
36
  function swapExactYtForSy(
@@ -38,7 +38,7 @@ interface IPActionSwapYTV3 is IPAllEventsV3 {
38
38
  address market,
39
39
  uint256 exactYtIn,
40
40
  uint256 minSyOut,
41
- LimitOrderData calldata limit
41
+ LimitOrderData memory limit
42
42
  ) external returns (uint256 netSyOut, uint256 netSyFee);
43
43
 
44
44
  function swapExactPtForYt(
@@ -104,6 +104,10 @@ struct LimitOrderData {
104
104
  bytes optData;
105
105
  }
106
106
 
107
+ struct LimitOrder_OptData_V1 {
108
+ uint256 netOffchain;
109
+ }
110
+
107
111
  struct ApproxParams {
108
112
  uint256 guessMin;
109
113
  uint256 guessMax;
@@ -9,6 +9,7 @@ import "./IPActionMiscV3.sol";
9
9
  import "./IPActionCallbackV3.sol";
10
10
  import "./IPActionStorageV4.sol";
11
11
  import "./IPActionSimple.sol";
12
+ import "./IPActionSwapLimitV3.sol";
12
13
 
13
14
  interface IPAllActionV3 is
14
15
  IPActionAddRemoveLiqV3,
@@ -17,5 +18,6 @@ interface IPAllActionV3 is
17
18
  IPActionMiscV3,
18
19
  IPActionCallbackV3,
19
20
  IPActionStorageV4,
20
- IPActionSimple
21
+ IPActionSimple,
22
+ IPActionSwapLimitV3
21
23
  {}
@@ -265,10 +265,53 @@ interface IPActionStorageEvents {
265
265
  event SelectorToFacetSet(bytes4 indexed selector, address indexed facet);
266
266
  }
267
267
 
268
+ interface IPActionSwapLimitV3Events {
269
+ event SwapMaxPtForTokenLimitOnly(
270
+ address indexed caller,
271
+ address indexed market,
272
+ address indexed token,
273
+ address receiver,
274
+ uint256 maxPtIn,
275
+ uint256 netTokenOut,
276
+ uint256 netSyInterm,
277
+ uint256 netPtReturned
278
+ );
279
+
280
+ event SwapMaxPtForSyLimitOnly(
281
+ address indexed caller,
282
+ address indexed market,
283
+ address indexed receiver,
284
+ uint256 maxPtIn,
285
+ uint256 netSyOut,
286
+ uint256 netPtReturned
287
+ );
288
+
289
+ event SwapMaxTokenForYtLimitOnly(
290
+ address indexed caller,
291
+ address indexed market,
292
+ address indexed token,
293
+ address receiver,
294
+ uint256 maxTokenIn,
295
+ uint256 netYtOut,
296
+ uint256 netSyInterm,
297
+ uint256 netSyReturned
298
+ );
299
+
300
+ event SwapMaxSyForYtLimitOnly(
301
+ address indexed caller,
302
+ address indexed market,
303
+ address indexed receiver,
304
+ uint256 maxSyIn,
305
+ uint256 netYtOut,
306
+ uint256 netSyReturned
307
+ );
308
+ }
309
+
268
310
  interface IPAllEventsV3 is
269
311
  IPActionAddRemoveLiqV3Events,
270
312
  IPActionSwapPTV3Events,
271
313
  IPActionSwapYTV3Events,
272
314
  IPActionMiscV3Events,
273
- IPActionStorageEvents
315
+ IPActionStorageEvents,
316
+ IPActionSwapLimitV3Events
274
317
  {}
@@ -254,4 +254,9 @@ library SDKErrorsDirectory {
254
254
  error InvalidTimestamp();
255
255
  error InvalidWithdrawalFee();
256
256
  error InvalidTotalSupply();
257
+ error OperationNotAllowed();
258
+ error WOMBAT_COV_RATIO_LIMIT_EXCEEDED();
259
+ error NotEnoughLiquidity();
260
+ error InvalidAmountToDeposit();
261
+ error TellerWithMultiAssetSupport__AssetNotSupported();
257
262
  }
@@ -70,7 +70,7 @@ contract ActionInfoStatic is IPActionInfoStatic {
70
70
 
71
71
  function getUserMarketInfo(address market, address user) external returns (UserMarketInfo memory res) {
72
72
  IPMarket _market = IPMarket(market);
73
- MarketState memory state = _market.readState(address(this));
73
+ MarketState memory state = IPRouterStatic(address(this)).readMarketState(market);
74
74
 
75
75
  if (uint256(state.totalLp) == 0) return res; // market not initialized
76
76
 
@@ -342,7 +342,7 @@ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
342
342
  }
343
343
 
344
344
  function _readState(address market) internal view returns (MarketState memory) {
345
- return IPMarket(market).readState(address(this));
345
+ return IPRouterStatic(address(this)).readMarketState(market);
346
346
  }
347
347
 
348
348
  function _readTokens(
@@ -18,6 +18,8 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
18
18
 
19
19
  // ============ ADD REMOVE LIQUIDITY ============
20
20
 
21
+ address internal constant ROUTER_V4 = 0x888888888889758F76e7103c6CbF23ABbF58F946;
22
+
21
23
  function addLiquidityDualSyAndPtStatic(
22
24
  address market,
23
25
  uint256 netSyDesired,
@@ -625,6 +627,14 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
625
627
  exchangeRateAfter = _getTradeExchangeRateExcludeFee(market, state);
626
628
  }
627
629
 
630
+ function readMarketState(address market) public view returns (MarketState memory) {
631
+ return _readState(market);
632
+ }
633
+
634
+ function _readState(address market) internal view returns (MarketState memory) {
635
+ return IPMarket(market).readState(ROUTER_V4);
636
+ }
637
+
628
638
  function _calcPriceImpactPY(address market, int256 netPtOut) internal view returns (uint256) {
629
639
  return IPRouterStatic(address(this)).calcPriceImpactPY(market, netPtOut);
630
640
  }
@@ -657,10 +667,6 @@ contract ActionMarketCoreStatic is StorageLayout, IPActionMarketCoreStatic {
657
667
  return IPRouterStatic(address(this)).getTradeExchangeRateExcludeFee(market, state);
658
668
  }
659
669
 
660
- function _readState(address market) internal view returns (MarketState memory) {
661
- return IPMarket(market).readState(address(this));
662
- }
663
-
664
670
  function _pyIndex(address market) private view returns (PYIndex) {
665
671
  return PYIndex.wrap(IPRouterStatic(address(this)).pyIndexCurrentViewMarket(market));
666
672
  }